gASVeu8AAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwwbW9kdWxlLWV0aGVyZXVtLnRhbmdlcmluZV93aGlzdGxlLnZtLmludGVycHJldGVylGGMB2NsYXNzZXOUXZSMBW5hbWVzlF2UjAhkdXBuYW1lc5RdlIwIYmFja3JlZnOUXZSMBWlzbW9klIh1jAd0YWduYW1llGgJjAZzb3VyY2WUjHEvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdJSMBGxpbmWUSwGMBnBhcmVudJRoA4wJX2RvY3VtZW50lGgDdWKMD3NwaGlueC5hZGRub2Rlc5SMBWluZGV4lJOUKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UKIwEcGFpcpSMMW1vZHVsZTsgZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXKUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpRoB12UaACMBFRleHSUk5SMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpSFlIGUfZQoaAVoBmggaDpoIWgDaB2MXC9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS8gPT4gZG9jL2RpZmZzlGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LBGggaDVo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aBddlGgZXZSMCGNvbHdpZHRolEtadWgcaroCAABoHU5oH05oIGq3AgAAdWJoAIwFdGJvZHmUk5QpgZR9lChoBWgGaAddlGgAjANyb3eUk5QpgZR9lChoBWgGaAddlChoAIwFZW50cnmUk5QpgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMVzpvYmo6YE1lc3NhZ2VDYWxsT3V0cHV0IDxldGhlcmV1bS50YW5nZXJpbmVfd2hpc3RsZS52bS5pbnRlcnByZXRlci5NZXNzYWdlQ2FsbE91dHB1dD5gXJRoB12UKGhuKYGUfZQoaAVoBmgHXZRoAIwHbGl0ZXJhbJSTlCmBlH2UKGgFjFY6b2JqOmBNZXNzYWdlQ2FsbE91dHB1dCA8ZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXIuTWVzc2FnZUNhbGxPdXRwdXQ+YJRoB12UaD+MEU1lc3NhZ2VDYWxsT3V0cHV0lIWUgZR9lChoBWgGaCBq6AIAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQojAR4cmVmlIwCcHmUjAZweS1vYmqUZWgVXZRoF12UaBldlHVoHGrmAgAAaB1OaB9OaCBq4wIAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGludGVybmFslIiMBXJlZmlklIw7ZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXIuTWVzc2FnZUNhbGxPdXRwdXSUjAhyZWZ0aXRsZZSMO2V0aGVyZXVtLnRhbmdlcmluZV93aGlzdGxlLnZtLmludGVycHJldGVyLk1lc3NhZ2VDYWxsT3V0cHV0lHVoHGhtaB1OaB9OaCBq3wIAAHViaD9oBoWUgZR9lChoBWgGaCBq3wIAAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjIIvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDoyOTo8YXV0b3N1bW1hcnk+lGgfSwFoIGrcAgAAdWJh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eGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vdGFuZ2VyaW5lX3doaXN0bGUvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQyOjxhdXRvc3VtbWFyeT6UaB9LAWggasQDAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcatoCAABoHU5oH05oIGqQAwAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGrVAgAAaB1OaB9OaCBqjQMAAHViatYCAAApgZR9lChoBWgGaAddlChq2wIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxgOm9iajpgcHJvY2Vzc19jcmVhdGVfbWVzc2FnZSA8ZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19jcmVhdGVfbWVzc2FnZT5glGgHXZRobimBlH2UKGgFaAZoB12UaucCAAApgZR9lChoBWr+AwAAaAddlGg/jBZwcm9jZXNzX2NyZWF0ZV9tZXNzYWdllIWUgZR9lChoBWgGaCBqAwQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoavMCAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxq5gIAAGgdTmgfTmggagAEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMQGV0aGVyZXVtLnRhbmdlcmluZV93aGlzdGxlLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUjAhyZWZ0aXRsZZSMQGV0aGVyZXVtLnRhbmdlcmluZV93aGlzdGxlLnZtLmludGVycHJldGVyLnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUdWgcaG1oHU5oH05oIGr8AwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mgi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vdGFuZ2VyaW5lX3doaXN0bGUvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQyOjxhdXRvc3VtbWFyeT6UaB9LAWggavkDAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcatoCAABoHU5oH05oIGr2AwAAdWJq2wIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwrRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LpRoB12UaD+MK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UhZSBlH2UKGgFaAZoIGotBAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2Mgi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vdGFuZ2VyaW5lX3doaXN0bGUvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQyOjxhdXRvc3VtbWFyeT6UaB9LAWggaioEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcatoCAABoHU5oH05oIGr2AwAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGrVAgAAaB1OaB9OaCBqjQMAAHViatYCAAApgZR9lChoBWgGaAddlChq2wIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYxSOm9iajpgcHJvY2Vzc19tZXNzYWdlIDxldGhlcmV1bS50YW5nZXJpbmVfd2hpc3RsZS52bS5pbnRlcnByZXRlci5wcm9jZXNzX21lc3NhZ2U+YJRoB12UaG4pgZR9lChoBWgGaAddlGrnAgAAKYGUfZQoaAVqUAQAAGgHXZRoP4wPcHJvY2Vzc19tZXNzYWdllIWUgZR9lChoBWgGaCBqVQQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoavMCAACMAnB5lIwGcHktb2JqlGVoFV2UaBddlGgZXZR1aBxq5gIAAGgdTmgfTmggalIEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAVyZWZpZJSMOWV0aGVyZXVtLnRhbmdlcmluZV93aGlzdGxlLnZtLmludGVycHJldGVyLnByb2Nlc3NfbWVzc2FnZZSMCHJlZnRpdGxllIw5ZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19tZXNzYWdllHVoHGhtaB1OaB9OaCBqTgQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjIIvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0Mjo8YXV0b3N1bW1hcnk+lGgfSwFoIGpLBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGraAgAAaB1OaB9OaCBqSAQAAHViatsCAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UaAddlGg/jCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulIWUgZR9lChoBWgGaCBqfwQAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdjIIvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdDo0Mjo8YXV0b3N1bW1hcnk+lGgfSwFoIGp8BAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGraAgAAaB1OaB9OaCBqSAQAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxq1QIAAGgdTmgfTmggao0DAAB1YmrWAgAAKYGUfZQoaAVoBmgHXZQoatsCAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMTDpvYmo6YGV4ZWN1dGVfY29kZSA8ZXRoZXJldW0udGFuZ2VyaW5lX3doaXN0bGUudm0uaW50ZXJwcmV0ZXIuZXhlY3V0ZV9jb2RlPmCUaAddlGhuKYGUfZQo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KSwgdHVwbGUoKSwgc2V0KCksIFRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZXZtID0gcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlLCBlbnYpCiAgICBlbHNlOgogICAgICAgIGV2bSA9IHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlLCBlbnYpCgogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICBsb2dzOiBUdXBsZVtMb2csIC4uLl0gPSAoKQogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IHNldCgpCiAgICAgICAgcmVmdW5kX2NvdW50ZXIgPSBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIGxvZ3MgPSBldm0ubG9ncwogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IGV2bS5hY2NvdW50c190b19kZWxldGUKICAgICAgICByZWZ1bmRfY291bnRlciA9IGV2bS5yZWZ1bmRfY291bnRlciArIFJFRlVORF9TRUxGX0RFU1RSVUNUICogbGVuKAogICAgICAgICAgICBldm0uYWNjb3VudHNfdG9fZGVsZXRlCiAgICAgICAgKQoKICAgIHJldHVybiBNZXNzYWdlQ2FsbE91dHB1dCgKICAgICAgICBnYXNfbGVmdD1ldm0uZ2FzX2xlZnQsCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9cmVmdW5kX2NvdW50ZXIsCiAgICAgICAgbG9ncz1sb2dzLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1hY2NvdW50c190b19kZWxldGUsCiAgICAgICAgaGFzX2VycmVkPWV2bS5oYXNfZXJyZWQsCiAgICApCpRoB12UKGg/WBUBAABkZWYgcHJvY2Vzc19tZXNzYWdlX2NhbGwoCiAgICBtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50CikgLT4gTWVzc2FnZUNhbGxPdXRwdXQ6CiAgICBpZiBtZXNzYWdlLnRhcmdldCA9PSBCeXRlczAoYiIiKToKICAgICAgICBpc19jb2xsaXNpb24gPSBhY2NvdW50X2hhc19jb2RlX29yX25vbmNlKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1l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dCBldm0uaGFzX2VycmVkOgogICAgICAgIGNvbnRyYWN0X2NvZGUgPSBldm0ub3V0cHV0CiAgICAgICAgY29udHJhY3RfY29kZV9nYXMgPSBsZW4oY29udHJhY3RfY29kZSkgKiBHQVNfQ09ERV9ERVBPU0lUCiAgICAgICAgdHJ5OgogICAgICAgICAgICBjaGFyZ2VfZ2FzKGV2bSwgY29udHJhY3RfY29kZV9nYXMpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2V0X2NvZGUoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBjb250cmFjdF9jb2RlKQogICAgICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpRoB12UKGg/jKhkZWYgcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICAjIHRha2Ugc25hcHNob3Qgb2Ygc3RhdGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIG1lc3NhZ2UKICAgIGJlZ2luX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKCiAgICCUhZSBlH2UKGgFaAZoIGodDwAAaCFoA2gdaERoH0sAdWJqfQkAACmBlH2UKGgFaAZoB12UaD+MN2luY3JlbWVudF9ub25jZShlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQpCiAgICCUhZSBlH2UKGgFaAZoIGolDwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwMY2hhbmdlLWFkZGVklGFoFV2UaBddlGgZXZR1aBxqfAkAAGggah0PAABoIWgDaB1o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c3RhdGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIG1lc3NhZ2UKICAgIGJlZ2luX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKCiAgICB0b3VjaF9hY2NvdW50KGVudi5zdGF0ZSwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCkKCiAgICBpZiBtZXNzYWdlLnNob3VsZF90cmFuc2Zlcl92YWx1ZSBhbmQgbWVzc2FnZS52YWx1ZSAhPSAwOgogICAgICAgIG1vdmVfZXRoZXIoCiAgICAgICAgICAgIGVudi5zdGF0ZSwgbWVzc2FnZS5jYWxsZXIsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQsIG1lc3NhZ2UudmFsdWUKICAgICAgICApCgogICAgZXZtID0gZXhlY3V0ZV9jb2RlKG1lc3NhZ2UsIGVudikKICAgIGlmIGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgIyByZXZlcnQgc3RhdGUgdG8gdGhlIGxhc3Qgc2F2ZWQgY2hlY2twb2ludAogICAgICAgICMgc2luY2UgdGhlIG1lc3NhZ2UgY2FsbCByZXN1bHRlZCBpbiBhbiBlcnJvcgogICAgICAgIHJvbGxiYWNrX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIGVsc2U6CiAgICAgICAgY29tbWl0X3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKICAgIHJldHVybiBldm0KlGgHXZRoP1jzAgAAZGVmIHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBpZiBtZXNzYWdlLmRlcHRoID4gU1RBQ0tfREVQVEhfTElNSVQ6CiAgICAgICAgcmFpc2UgU3RhY2tEZXB0aExpbWl0RXJyb3IoIlN0YWNrIGRlcHRoIGxpbWl0IHJlYWNoZWQiKQoKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgIHRvdWNoX2FjY291bnQoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGlmIG1lc3NhZ2Uuc2hvdWxkX3RyYW5zZmVyX3ZhbHVlIGFuZCBtZXNzYWdlLnZhbHVlICE9IDA6CiAgICAgICAgbW92ZV9ldGhlcigKICAgICAgICAgICAgZW52LnN0YXRlLCBtZXNzYWdlLmNhbGxlciwgbWVzc2FnZS5jdXJyZW50X3RhcmdldCwgbWVzc2FnZS52YWx1ZQogICAgICAgICkKCiAgICBldm0gPSBleGVjdXRlX2NvZGUobWVzc2FnZSwgZW52KQogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICAjIHJldmVydCBzdGF0ZSB0byB0aGUgbGFzdCBzYXZlZCBjaGVja3BvaW50CiAgICAgICAgIyBzaW5jZSB0aGUgbWVzc2FnZSBjYWxsIHJlc3VsdGVkIGluIGFuIGVycm9yCiAgICAgICAgcm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICBjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgcmV0dXJuIGV2bQqUhZSBlH2UKGgFaAZoIGr/EAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxiL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vdGFuZ2VyaW5lX3doaXN0bGUvdm0vaW50ZXJwcmV0ZXIucHmUjAl4bWw6c3BhY2WUanECAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqsgYAAEsBc4wHbGluZW5vc5SJdWgcapoGAABoHWgeaB9LuWggal8PAAB1YmVoDn2UKGgQXZRq+wEAAGFoE12UaBVdlIwPcHJvY2Vzc19tZXNzYWdllGFoF12UaBldlHVoHGgzaB1oHmgfS6hoIGolBgAAaCFoA3ViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjAxleGVjdXRlX2NvZGWUaAddlGg/jAxleGVjdXRlX2NvZGWUhZSBlH2UKGgFaAZoIGogEQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12U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YWdlLmNvZGVfYWRkcmVzcykKICAgICAgICAgICAgUFJFX0NPTVBJTEVEX0NPTlRSQUNUU1tldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3NdKGV2bSkKICAgICAgICAgICAgcmV0dXJuIGV2bQoKICAgICAgICB3aGlsZSBldm0ucnVubmluZyBhbmQgZXZtLnBjIDwgbGVuKGV2bS5jb2RlKToKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgb3AgPSBPcHMoZXZtLmNvZGVbZXZtLnBjXSkKICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICByYWlzZSBJbnZhbGlkT3Bjb2RlKGV2bS5jb2RlW2V2bS5wY10pCgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBvcCkKICAgICAgICAgICAgb3BfaW1wbGVtZW50YXRpb25bb3BdKGV2bSkKCiAgICBleGNlcHQgRXhjZXB0aW9uYWxIYWx0OgogICAgICAgIGV2bS5nYXNfbGVmdCA9IFUyNTYoMCkKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgcmV0dXJuIGV2bQqUaAddlChoP1j/AQAAZGVmIGV4ZWN1dGVfY29kZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBjb2RlID0gbWVzc2FnZS5jb2RlCiAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyA9IGdldF92YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyhjb2RlKQogICAgZXZtID0gRXZtKAogICAgICAgIHBjPVVpbnQoMCksCiAgICAgICAgc3RhY2s9W10sCiAgICAgICAgbWVtb3J5PWJ5dGVhcnJheSgpLAogICAgICAgIGNvZGU9Y29kZSwKICAgICAgICBnYXNfbGVmdD1tZXNzYWdlLmdhcywKICAgICAgICBlbnY9ZW52LAogICAgICAgIHZhbGlkX2p1bXBfZGVzdGluYXRpb25zPXZhbGlkX2p1bXBfZGVzdGluYXRpb25zLAogICAgICAgIGxvZ3M9KCksCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9VTI1NigwKSwKICAgICAgICBydW5uaW5nPVRydWUsCiAgICAgICAgbWVzc2FnZT1tZXNzYWdlLAogICAgICAgIG91dHB1dD1iIiIsCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlPXNldCgpLAogICAgICAgIJSFlIGUfZQoaAVoBmggar8SAABoIWgDaB1oRGgfSwB1Ymp9CQAAKYGUfZQoaAVoBmgHXZRoP4wgdG91Y2hlZF9hY2NvdW50cz1zZXQoKSwKICAgICAgICCUhZSBlH2UKGgFaAZoIGrHEgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwMY2hhbmdlLWFkZGVklGFoFV2UaBddlGgZXZR1aBxqfAkAAGggar8SAABoIWgDaB1oRGgfSwB1Ymg/WGUCAABoYXNfZXJyZWQ9RmFsc2UsCiAgICApCiAgICB0cnk6CgogICAgICAgIGlmIGV2bS5tZXNzYWdlLmNvZGVfYWRkcmVzcyBpbiBQUkVfQ09NUElMRURfQ09OVFJBQ1RTOgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MpCiAgICAgICAgICAgIFBSRV9DT01QSUxFRF9DT05UUkFDVFNbZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzXShldm0pCiAgICAgICAgICAgIHJldHVybiBldm0KCiAgICAgICAgd2hpbGUgZXZtLnJ1bm5pbmcgYW5kIGV2bS5wYyA8IGxlbihldm0uY29kZSk6CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIG9wID0gT3BzKGV2bS5jb2RlW2V2bS5wY10pCiAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZE9wY29kZShldm0uY29kZVtldm0ucGNdKQoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgb3ApCiAgICAgICAgICAgIG9wX2ltcGxlbWVudGF0aW9uW29wXShldm0pCgogICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgZXZtLmhhc19lcnJlZCA9IFRydWUKICAgIHJldHVybiBldm0KlIWUgZR9lChoBWgGaCBqvxIAAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMYi9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL3RhbmdlcmluZV93aGlzdGxlL3ZtL2ludGVycHJldGVyLnB5lIwJeG1sOnNwYWNllGpxAgAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UarIGAABLAXOMB2xpbmVub3OUiXVoHGqaBgAAaB1oHmgfS89oIGodEQAAaCFoA3ViZWgOfZQoaBBdlGodAgAAYWgTXZRoFV2UjAxleGVjdXRlX2NvZGWUYWgXXZRoGV2UdWgcaDNoHWgeaB9LvmggaiUGAABoIWgDdWJlaA59lChoEF2UajEBAABhaBNdlGgVXZSMDm1vZHVsZSBkZXRhaWxzlGFoF12UaBldlHVoHGgzaB1oHmgfSzRoIGg1aCFoA3ViZWgOfZQoaBBdlIwoZXRoZXJldW0tdmlydHVhbC1tYWNoaW5lLWV2bS1pbnRlcnByZXRlcpRhaBNdlGgVXZSMKmV0aGVyZXVtIHZpcnR1YWwgbWFjaGluZSAoZXZtKSBpbnRlcnByZXRlcpRhaBddlGgZXZR1aBxoM2gdaB5oH0sEaCBoA2ghaAN1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUaER1aBxoAYwOY3VycmVudF9zb3VyY2WUaESMDGN1cnJlbnRfbGluZZRLAIwIc2V0dGluZ3OUjBFkb2N1dGlscy5mcm9udGVuZJSMBlZhbHVlc5STlCmBlH2UKIwMcmVwb3J0X2xldmVslEsCjApoYWx0X2xldmVslEsEjBFleGl0X3N0YXR1c19sZXZlbJRLBYwFZGVidWeUTowOd2FybmluZ19zdHJlYW2UTowJdHJhY2ViYWNrlE6MD291dHB1dF9lbmNvZGluZ5SMBXV0Zi04lIwdb3V0cHV0X2VuY29kaW5nX2Vycm9yX2hhbmRsZXKUjBF4bWxjaGFycmVmcmVwbGFjZZSMDmVycm9yX2VuY29kaW5nlIwFdXRmLTiUjBxlcnJvcl9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwQYmFja3NsYXNocmVwbGFjZZSME3JlY29yZF9kZXBlbmRlbmNpZXOUjA5kb2N1dGlscy51dGlsc5SMDkRlcGVuZGVuY3lMaXN0lJOUKYGUfZQojARsaXN0lF2UjARmaWxllE51YowGY29uZmlnlE6MDWR1bXBfc2V0dGluZ3OUTowOZHVtcF9pbnRlcm5hbHOUTowPZHVtcF90cmFuc2Zvcm1zlE6MD2R1bXBfcHNldWRvX3htbJROjBBleHBvc2VfaW50ZXJuYWxzlE6MDnN0cmljdF92aXNpdG9ylE6MD19kaXNhYmxlX2NvbmZpZ5ROjAdfc291cmNllE6MDF9kZXN0aW5hdGlvbpSMSWRvYy9kaWZmcy90YW5nZXJpbmVfd2hpc3RsZV9zcHVyaW91c19kcmFnb24vdm0vaW50ZXJwcmV0ZXIvaW5kZXgucGlja2xlNjSUjA1fY29uZmlnX2ZpbGVzlF2UjBFsaW5lX2xlbmd0aF9saW1pdJRNECeMCXRhYl93aWR0aJRLCIwQc3ludGF4X2hpZ2hsaWdodJSMBGxvbmeUjAxzbWFydF9xdW90ZXOUiYwTc21hcnRxdW90ZXNfbG9jYWxlc5ROjB1jaGFyYWN0ZXJfbGV2ZWxfaW5saW5lX21hcmt1cJSJjAZ3cml0ZXKUjAN4bWyUjBljb21wYXJlX3NlY3Rpb25zX2J5X25hbWVzlEsBjAxkdW1wX3JzdGRpZmaUTowFX2JvdGiUfZQoaDhOjAlnZW5lcmF0b3KUTowJZGF0ZXN0YW1wlE6MC3NvdXJjZV9saW5rlE6MCnNvdXJjZV91cmyUTowNdG9jX2JhY2tsaW5rc5Rq2gIAAIwSZm9vdG5vdGVfYmFja2xpbmtzlEsBjA1zZWN0bnVtX3hmb3JtlEsBjA5kb2N0aXRsZV94Zm9ybZRLAYwNZG9jaW5mb194Zm9ybZRLAYwSc2VjdHN1YnRpdGxlX3hmb3JtlEsAjA5zdHJpcF9jb21tZW50c5ROjA5pbnB1dF9lbmNvZGluZ5ROjBxpbnB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwGc3RyaWN0lIwNbGFuZ3VhZ2VfY29kZZSMAmVulIwOcGVwX3JlZmVyZW5jZXOUTowMcGVwX2Jhc2VfdXJslIwfaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL5SMFXBlcF9maWxlX3VybF90ZW1wbGF0ZZSMCHBlcC0lMDRklIwOcmZjX3JlZmVyZW5jZXOUTowMcmZjX2Jhc2VfdXJslIwbaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvlIwddHJpbV9mb290bm90ZV9yZWZlcmVuY2Vfc3BhY2WUTowWZmlsZV9pbnNlcnRpb25fZW5hYmxlZJRLAYwLcmF3X2VuYWJsZWSUSwGMDmF1dG9faWRfcHJlZml4lIwCaWSUjAlpZF9wcmVmaXiUaAaMG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc5ROjA1zdHJpcF9jbGFzc2VzlE51jARib3RolH2UjApfb3B0aW9uc1RvlIwFX2JvdGiUjAtfb2xkX3NvdXJjZZSMTy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS+UjAtfbmV3X3NvdXJjZZSMCWRvYy9kaWZmc5RqTBMAAGpNEwAAjBZpZ25vcmVfaW5fc2VjdGlvbl9uYW1llF2UKIwJdGFuZ2VyaW5llIwHd2hpc3RsZZSMCHNwdXJpb3VzlIwGZHJhZ29ulGV1YowIcmVwb3J0ZXKUTowQaW5kaXJlY3RfdGFyZ2V0c5RdlIwRc3Vic3RpdHV0aW9uX2RlZnOUfZSMEnN1YnN0aXR1dGlvbl9uYW1lc5R9lIwIcmVmbmFtZXOUfZSMBnJlZmlkc5R9lIwHbmFtZWlkc5R9lIwJbmFtZXR5cGVzlH2UaBB9lIwNZm9vdG5vdGVfcmVmc5R9lIwNY2l0YXRpb25fcmVmc5R9lIwNYXV0b2Zvb3Rub3Rlc5RdlIwRYXV0b2Zvb3Rub3RlX3JlZnOUXZSMEHN5bWJvbF9mb290bm90ZXOUXZSMFHN5bWJvbF9mb290bm90ZV9yZWZzlF2UjAlmb290bm90ZXOUXZSMCWNpdGF0aW9uc5RdlIwSYXV0b2Zvb3Rub3RlX3N0YXJ0lEsBjBVzeW1ib2xfZm9vdG5vdGVfc3RhcnSUSwCMCmlkX2NvdW50ZXKUjAtjb2xsZWN0aW9uc5SMB0NvdW50ZXKUk5R9lIWUUpSMDnBhcnNlX21lc3NhZ2VzlF2UjBJ0cmFuc2Zvcm1fbWVzc2FnZXOUXZSMC3RyYW5zZm9ybWVylE6MC2luY2x1ZGVfbG9nlF2UjApkZWNvcmF0aW9ulE5oIWgDdWIu