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bGJhY2tfdHJhbnNhY3Rpb24KClJvbGxiYWNrIGEgc3RhdGUgdHJhbnNhY3Rpb24sIHJlc2V0dGluZyB0aGUgc3RhdGUgdG8gdGhlIHBvaW50IHdoZW4gdGhlCgpnZXRfYWNjb3VudAoKR2V0IHRoZSBBY2NvdW50IG9iamVjdCBhdCBhbiBhZGRyZXNzLiBSZXR1cm5zIEVNUFRZX0FDQ09VTlQgaWYgdGhlcmUKCmdldF9hY2NvdW50X29wdGlvbmFsCgpHZXQgdGhlIEFjY291bnQgb2JqZWN0IGF0IGFuIGFkZHJlc3MuIFJldHVybnMgTm9uZSAocmF0aGVyIHRoYW4KCnNldF9hY2NvdW50CgpTZXQgdGhlIEFjY291bnQgb2JqZWN0IGF0IGFuIGFkZHJlc3MuIFNldHRpbmcgdG8gTm9uZSBkZWxldGVzCgpkZXN0cm95X2FjY291bnQKCkNvbXBsZXRlbHkgcmVtb3ZlIHRoZSBhY2NvdW50IGF0IGFkZHJlc3MgYW5kIGFsbCBvZiBpdHMgc3RvcmFnZS4KCmRlc3Ryb3lfc3RvcmFnZQoKQ29tcGxldGVseSByZW1vdmUgdGhlIHN0b3JhZ2UgYXQgYWRkcmVzcy4KCmdldF9zdG9yYWdlCgpHZXQgYSB2YWx1ZSBhdCBhIHN0b3JhZ2Uga2V5IG9uIGFuIGFjY291bnQuIFJldHVybnMgVTI1NigwKSBpZiB0aGUKCnNldF9zdG9yYWdlCgpTZXQgYSB2YWx1ZSBhdCBhIHN0b3JhZ2Uga2V5IG9uIGFuIGFjY291bnQuIFNldHRpbmcgdG8gVTI1NigwKSBkZWxldGVzCgpzdG9yYWdlX3Jvb3QKCkNhbGN1bGF0ZSB0aGUgc3RvcmFnZSByb290IG9mIGFuIGFjY291bnQuCgpzdGF0ZV9yb290CgpDYWxjdWxhdGUgdGhlIHN0YXRlIHJvb3QuCgphY2NvdW50X2V4aXN0cwoKQ2hlY2tzIGlmIGFuIGFjY291bnQgZXhpc3RzIGluIHRoZSBzdGF0ZSB0cmllCgphY2NvdW50X2hhc19jb2RlX29yX25vbmNlCgpDaGVja3MgaWYgYW4gYWNjb3VudCBoYXMgbm9uIHplcm8gbm9uY2Ugb3Igbm9uIGVtcHR5IGNvZGUKCmlzX2FjY291bnRfZW1wdHkKCkNoZWNrcyBpZiBhbiBhY2NvdW50IGhhcyB6ZXJvIG5vbmNlLCBlbXB0eSBjb2RlIGFuZCB6ZXJvIGJhbGFuY2UuCgphY2NvdW50X2V4aXN0c19hbmRfaXNfZW1wdHkKCkNoZWNrcyBpZiBhbiBhY2NvdW50IGV4aXN0cyBhbmQgaGFzIHplcm8gbm9uY2UsIGVtcHR5IGNvZGUgYW5kIHplcm8KCmlzX2FjY291bnRfYWxpdmUKCkNoZWNrIHdoZXRoZXIgaXMgYW4gYWNjb3VudCBpcyBib3RoIGluIHRoZSBzdGF0ZSBhbmQgbm9uIGVtcHR5LgoKbW9kaWZ5X3N0YXRlCgpNb2RpZnkgYW4gQWNjb3VudCBpbiB0aGUgU3RhdGUuCgptb3ZlX2V0aGVyCgpNb3ZlIGZ1bmRzIGJldHdlZW4gYWNjb3VudHMuCgpzZXRfYWNjb3VudF9iYWxhbmNlCgpTZXRzIHRoZSBiYWxhbmNlIG9mIGFuIGFjY291bnQuCgp0b3VjaF9hY2NvdW50CgpJbml0aWFsaXplcyBhbiBhY2NvdW50IHRvIHN0YXRlLgoKaW5jcmVtZW50X25vbmNlCgpJbmNyZW1lbnRzIHRoZSBub25jZSBvZiBhbiBhY2NvdW50LgoKc2V0X2NvZGUKClNldHMgQWNjb3VudCBjb2RlLgoKY3JlYXRlX2V0aGVyCgpBZGQgbmV3bHkgY3JlYXRlZCBldGhlciB0byBhbiBhY2NvdW50LgoKZ2V0X3N0b3JhZ2Vfb3JpZ2luYWwKCkdldCB0aGUgb3JpZ2luYWwgdmFsdWUgaW4gYSBzdG9yYWdlIHNsb3QgaS5lLiB0aGUgdmFsdWUgYmVmb3JlIHRoZSBjdXJyZW50lGgHXZRqigUAACmBlH2UKGgFaAZoB12Uao8FAAApgZR9lChoBWgGaAddlChqlAUAACmBlH2UKGgFaAZoB12UaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIY29sd2lkdGiUSwp1aBxqkwUAAGgdaERoH0sAaCBqTwYAAGghaAN1YmqUBQAAKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhjb2x3aWR0aJRLWnVoHGqTBQAAaB1oRGgfSwBoIGpPBgAAaCFoA3Vi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X3R5cGVzLkJ5dGVzLCBldGhlcmV1bS5iYXNlX3R5cGVzLlUyNTZdXV1dlGgHXZQoaD+MASCUhZSBlH2UKGgFaAZoIGqXEQAAaCFoA2gdaERoH0sAdWJqwBAAACmBlH2UKGgFaAZoB12UaD+MzjpMaXN0W1R1cGxlW2V0aGVyZXVtLnBhcmlzLnRyaWUuVHJpZVtldGhlcmV1bS5wYXJpcy5ldGhfdHlwZXMuQWRkcmVzcywgT3B0aW9uYWxbZXRoZXJldW0ucGFyaXMuZXRoX3R5cGVzLkFjY291bnRdXSwgRGljdFtldGhlcmV1bS5wYXJpcy5ldGhfdHlwZXMuQWRkcmVzcywgZXRoZXJldW0ucGFyaXMudHJpZS5UcmllW2V0aGVyZXVtLmJhc2VfdHlwZXMuQnl0ZXMslIWUgZR9lChoBWgGaCBqnxEAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMD2NoYW5nZS1yZXBsYWNlZJRhaBVdlGgXXZRoGV2UdWgcar8QAABoIGqXEQAAaCFoA2gdaERoH0sAdWJqwBAAACmBlH2UKGgFaAZoB12UaD+M3TpMaXN0W1R1cGxlW2V0aGVyZXVtLnNoYW5naGFpLnRyaWUuVHJpZVtldGhlcmV1bS5zaGFuZ2hhaS5ldGhfdHlwZXMuQWRkcmVzcywgT3B0aW9uYWxbZXRoZXJldW0uc2hhbmdoYWkuZXRoX3R5cGVzLkFjY291bnRdXSwgRGljdFtldGhlcmV1bS5zaGFuZ2hhaS5ldGhfdHlwZXMuQWRkcmVzcywgZXRoZXJldW0uc2hhbmdoYWkudHJpZS5UcmllW2V0aGVyZXVtLmJhc2VfdHlwZXMuQnl0ZXMslIWUgZR9lChoBWgGaCBqrREAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMEmNoYW5nZS1yZXBsYWNlbWVudJRhaBVdlGgXXZRoGV2UdWgcar8QAABoIGqXEQAAaCFoA2gdaERoH0sAdWJoP4wdIGV0aGVyZXVtLmJhc2VfdHlwZXMuVTI1Nl1dXV2UhZSBlH2UKGgFaAZoIGqXEQAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGpKBQAAdWgcalsQAABoHWgeaB9L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lGgXXZRoGV2UdWgcao8QAABoHWgeaB9OaCBqLB8AAHViZWgOfZQoaBBdlGgTXZQoapkfAACMCGZ1bmN0aW9ulGVoFV2UaBddlGgZXZSMBmRvbWFpbpRqmR8AAIwHb2JqdHlwZZRqICEAAIwIZGVzY3R5cGWUaiAhAACMB25vaW5kZXiUiXVoHGpQEAAAaB1OaB9OaCBqEB8AAHViaoUSAAApgZR9lChoBYz0ZGVmIGdldF9zdG9yYWdlKHN0YXRlOiBTdGF0ZSwgYWRkcmVzczogQWRkcmVzcywga2V5OiBCeXRlcykgLT4gVTI1NjoKICAgIHRyaWUgPSBzdGF0ZS5fc3RvcmFnZV90cmllcy5nZXQoYWRkcmVzcykKICAgIGlmIHRyaWUgaXMgTm9uZToKICAgICAgICByZXR1cm4gVTI1NigwKQoKICAgIHZhbHVlID0gdHJpZV9nZXQodHJpZSwga2V5KQoKICAgIGFzc2VydCBpc2luc3RhbmNlKHZhbHVlLCBVMjU2KQogICAgcmV0dXJuIHZhbHVlCpRoB12UaD+M9GRlZiBnZXRfc3RvcmFnZShzdGF0ZTogU3RhdGUsIGFkZHJlc3M6IEFkZHJlc3MsIGtleTogQnl0ZXMpIC0+IFUyNTY6CiAgICB0cmllID0gc3RhdGUuX3N0b3JhZ2VfdHJpZXMuZ2V0KGFkZHJlc3MpCiAgICBpZiB0cmllIGlzIE5vbmU6CiAgICAgICAgcmV0dXJuIFUyNTYoMCkKCiAgICB2YWx1ZSA9IHRyaWVfZ2V0KHRyaWUsIGtleSkKCiAgICBhc3NlcnQgaXNpbnN0YW5jZSh2YWx1ZSwgVTI1NikKICAgIHJldHVybiB2YWx1ZQqUhZSBlH2UKGgFaAZoIGooIQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxNL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vcGFyaXMvc3RhdGUucHmUjAl4bWw6c3BhY2WUakoFAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqnBIAAEsBc4wHbGluZW5vc5SJ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YmqFEgAAKYGUfZQoaAVY+wEAAGRlZiBtb3ZlX2V0aGVyKAogICAgc3RhdGU6IFN0YXRlLAogICAgc2VuZGVyX2FkZHJlc3M6IEFkZHJlc3MsCiAgICByZWNpcGllbnRfYWRkcmVzczogQWRkcmVzcywKICAgIGFtb3VudDogVTI1NiwKKSAtPiBOb25lOgoKICAgIGRlZiByZWR1Y2Vfc2VuZGVyX2JhbGFuY2Uoc2VuZGVyOiBBY2NvdW50KSAtPiBOb25lOgogICAgICAgIGVuc3VyZShzZW5kZXIuYmFsYW5jZSA+PSBhbW91bnQsIEFzc2VydGlvbkVycm9yKQogICAgICAgIHNlbmRlci5iYWxhbmNlIC09IGFtb3VudAoKICAgIGRlZiBpbmNyZWFzZV9yZWNpcGllbnRfYmFsYW5jZShyZWNpcGllbnQ6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgcmVjaXBpZW50LmJhbGFuY2UgKz0gYW1vdW50CgogICAgbW9kaWZ5X3N0YXRlKHN0YXRlLCBzZW5kZXJfYWRkcmVzcywgcmVkdWNlX3NlbmRlcl9iYWxhbmNlKQogICAgbW9kaWZ5X3N0YXRlKHN0YXRlLCByZWNpcGllbnRfYWRkcmVzcywgaW5jcmVhc2VfcmVjaXBpZW50X2JhbGFuY2UpCpRoB12UaD9Y+wEAAGRlZiBtb3ZlX2V0aGVyKAogICAgc3RhdGU6IFN0YXRlLAogICAgc2VuZGVyX2FkZHJlc3M6IEFkZHJlc3MsCiAgICByZWNpcGllbnRfYWRkcmVzczogQWRkcmVzcywKICAgIGFtb3VudDogVTI1NiwKKSAtPiBOb25lOgoKICAgIGRlZiByZWR1Y2Vfc2VuZGVyX2JhbGFuY2Uoc2VuZGVyOiBBY2NvdW50KSAtPiBOb25lOgogICAgICAgIGVuc3VyZShzZW5kZXIuYmFsYW5jZSA+PSBhbW91bnQsIEFzc2VydGlvbkVycm9yKQogICAgICAgIHNlbmRlci5iYWxhbmNlIC09IGFtb3VudAoKICAgIGRlZiBpbmNyZWFzZV9yZWNpcGllbnRfYmFsYW5jZShyZWNpcGllbnQ6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgcmVjaXBpZW50LmJhbGFuY2Ug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TmggavYxAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcao8QAABoHWgeaB9OaCBqgjEAAHViZWgOfZQoaBBdlGgTXZQoau8xAACMCGZ1bmN0aW9ulGVoFV2UaBddlGgZXZSMBmRvbWFpbpRq7zEAAIwHb2JqdHlwZZRqujIAAIwIZGVzY3R5cGWUaroyAACMB25vaW5kZXiUiXVoHGpQEAAAaB1OaB9OaCBqZjEAAHViaoUSAAApgZR9lChoBYzPZGVmIHNldF9hY2NvdW50X2JhbGFuY2Uoc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzLCBhbW91bnQ6IFUyNTYpIC0+IE5vbmU6CgogICAgZGVmIHNldF9iYWxhbmNlKGFjY291bnQ6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgYWNjb3VudC5iYWxhbmNlID0gYW1vdW50CgogICAgbW9kaWZ5X3N0YXRlKHN0YXRlLCBhZGRyZXNzLCBzZXRfYmFsYW5jZSkKlGgHXZRoP4zPZGVmIHNldF9hY2NvdW50X2JhbGFuY2Uoc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzLCBhbW91bnQ6IFUyNTYpIC0+IE5vbmU6CgogICAgZGVmIHNldF9iYWxhbmNlKGFjY291bnQ6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgYWNjb3VudC5iYWxhbmNlID0gYW1vdW50CgogICAgbW9kaWZ5X3N0YXRlKHN0YXRlLCBhZGRyZXNzLCBzZXRfYmFsYW5jZSkKlIWUgZR9lChoBWgGaCBqwjIAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMTS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL3BhcmlzL3N0YXRlLnB5lIwJeG1sOnNwYWNllGpKBQAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UapwSAABLAXOMB2xpbmVub3OUiXVoHGqEEgAAaB1oHmgfTTQCaCBqZjEAAHViZWgOfZQoaBBdlGobBAAAYWgTXZRo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CgogICAgZGVmIGluY3JlYXNlX2JhbGFuY2UoYWNjb3VudDogQWNjb3VudCkgLT4gTm9uZToKICAgICAgICBhY2NvdW50LmJhbGFuY2UgKz0gYW1vdW50CgogICAgbW9kaWZ5X3N0YXRlKHN0YXRlLCBhZGRyZXNzLCBpbmNyZWFzZV9iYWxhbmNlKQqUaAddlGg/jNNkZWYgY3JlYXRlX2V0aGVyKHN0YXRlOiBTdGF0ZSwgYWRkcmVzczogQWRkcmVzcywgYW1vdW50OiBVMjU2KSAtPiBOb25lOgoKICAgIGRlZiBpbmNyZWFzZV9iYWxhbmNlKGFjY291bnQ6IEFjY291bnQpIC0+IE5vbmU6CiAgICAgICAgYWNjb3VudC5iYWxhbmNlICs9IGFtb3VudAoKICAgIG1vZGlmeV9zdGF0ZShzdGF0ZSwgYWRkcmVzcywgaW5jcmVhc2VfYmFsYW5jZSkKlIWUgZR9lChoBWgGaCBqKjgAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMBnNvdXJjZZSMTS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3Mvc3JjL2V0aGVyZXVtL3BhcmlzL3N0YXRlLnB5lIwJeG1sOnNwYWNllGpKBQAAjAVmb3JjZZSJjAhsYW5ndWFnZZSMBnB5dGhvbpSMDmhpZ2hsaWdodF9hcmdzlH2UapwSAABLAXOMB2xpbmVub3OUiXVoHGqEEgAAaB1oHmgfTYICaCBqzjYAAHViZWgOfZQoaBBdlGqjBAAAYWgTXZSMDmNoYW5nZS1yZW1vdmVklGFoFV2UjAxjcmVhdGVfZXRoZXKUYWgXXZRoGV2UdWgcaDNoHWgeaB9NcwJoIGoREAAAaCFoA3ViaDQpgZR9lChoBWgGaAddlChoOSmBlH2UKGgFjBRnZXRfc3RvcmFnZV9vcmlnaW5hbJRoB12UaD+MFGdldF9zdG9yYWdlX29yaWdpbmFslIWUgZR9lChoBWgGaCBqTDgAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoOGgdaB5oH02HAmggakk4AAB1YmgkKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12U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Y2NvdW50X3RyaWUgPSBvcmlnaW5hbF90cmllLmdldChhZGRyZXNzKQoKICAgIGlmIG9yaWdpbmFsX2FjY291bnRfdHJpZSBpcyBOb25lOgogICAgICAgIG9yaWdpbmFsX3ZhbHVlID0gVTI1NigwKQogICAgZWxzZToKICAgICAgICBvcmlnaW5hbF92YWx1ZSA9IHRyaWVfZ2V0KG9yaWdpbmFsX2FjY291bnRfdHJpZSwga2V5KQoKICAgIGFzc2VydCBpc2luc3RhbmNlKG9yaWdpbmFsX3ZhbHVlLCBVMjU2KQoKICAgIHJldHVybiBvcmlnaW5hbF92YWx1ZQqUaAddlGg/WIgBAABkZWYgZ2V0X3N0b3JhZ2Vfb3JpZ2luYWwoc3RhdGU6IFN0YXRlLCBhZGRyZXNzOiBBZGRyZXNzLCBrZXk6IEJ5dGVzKSAtPiBVMjU2OgogICAgXywgb3JpZ2luYWxfdHJpZSA9IHN0YXRlLl9zbmFwc2hvdHNbMF0KICAgIG9yaWdpbmFsX2FjY291bnRfdHJpZSA9IG9yaWdpbmFsX3RyaWUuZ2V0KGFkZHJlc3MpCgogICAgaWYgb3JpZ2luYWxfYWNjb3VudF90cmllIGlzIE5vbmU6CiAgICAgICAgb3JpZ2luYWxfdmFsdWUgPSBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIG9yaWdpbmFsX3ZhbHVlID0gdHJpZV9nZXQob3JpZ2luYWxfYWNjb3VudF90cmllLCBrZXkpCgogICAgYXNzZXJ0IGlzaW5zdGFuY2Uob3JpZ2luYWxfdmFsdWUsIFUyNTYpCgogICAgcmV0dXJuIG9yaWdpbmFsX3ZhbHVlCpSFlIGUfZQoaAVoBmggaqU5AABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjE0vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9wYXJpcy9zdGF0ZS5weZSMCXhtbDpzcGFjZZRqSgUAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGqcEgAASwFzjAdsaW5lbm9zlIl1aBxqhBIAAGgdaB5oH02YAmggakk4AAB1YmVoDn2UKGgQXZRqxgQAAGFoE12UaBVdlIwUZ2V0X3N0b3JhZ2Vfb3JpZ2luYWyUYWgXXZRoGV2UdWgcaDNoHWgeaB9NhwJoIGoREAAAaCFoA3ViZWgOfZQoaBBdlGoPAQAAYWgTXZRoFV2UjA5tb2R1bGUgZGV0YWlsc5RhaBddlGgZXZR1aBxoM2gdaB5oH0tHaCBoNWghaAN1YmVoDn2UKGgQXZSMBXN0YXRllGFoE12UaBVdlGgXXZRq+xEAAGFoGV2UdWgcaDNoHWgeaB9LBGggaANoIWgDdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllGhEdWgcaAGMDmN1cnJlbnRfc291cmNllGhEjAxjdXJyZW50X2xpbmWUSwCMCHNldHRpbmdzlIwRZG9jdXRpbHMuZnJvbnRlbmSUjAZWYWx1ZXOUk5QpgZR9lCiMDHJlcG9ydF9sZXZlbJRLAowKaGFsdF9sZXZlbJRLBIwRZXhpdF9zdGF0dXNfbGV2ZWyUSwWMBWRlYnVnlE6MDndhcm5pbmdfc3RyZWFtlE6MCXRyYWNlYmFja5ROjA9vdXRwdXRfZW5jb2RpbmeUjAV1dGYtOJSMHW91dHB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwReG1sY2hhcnJlZnJlcGxhY2WUjA5lcnJvcl9lbmNvZGluZ5SMBXV0Zi04lIwcZXJyb3JfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEGJhY2tzbGFzaHJlcGxhY2WUjBNyZWNvcmRfZGVwZW5kZW5jaWVzlIwOZG9jdXRpbHMudXRpbHOUjA5EZXBlbmRlbmN5TGlzdJSTlCmBlH2UKIwEbGlzdJRdlIwEZmlsZZROdWKMBmNvbmZpZ5ROjA1kdW1wX3NldHRpbmdzlE6MDmR1bXBfaW50ZXJuYWxzlE6MD2R1bXBfdHJhbnNmb3Jtc5ROjA9kdW1wX3BzZXVkb194bWyUTowQZXhwb3NlX2ludGVybmFsc5ROjA5zdHJpY3RfdmlzaXRvcpROjA9fZGlzYWJsZV9jb25maWeUTowHX3NvdXJjZZROjAxfZGVzdGluYXRpb26UjC1kb2MvZGlmZnMvcGFyaXNfc2hhbmdoYWkvc3RhdGUvaW5kZXgucGlja2xlNjSUjA1fY29uZmlnX2ZpbGVzlF2UjBFsaW5lX2xlbmd0aF9saW1pdJRNECeMCXRhYl93aWR0aJRLCIwQc3ludGF4X2hpZ2hsaWdodJSMBGxvbmeUjAxzbWFydF9xdW90ZXOUiYwTc21hcnRxdW90ZXNfbG9jYWxlc5ROjB1jaGFyYWN0ZXJfbGV2ZWxfaW5saW5lX21hcmt1cJSJjAZ3cml0ZXKUjAN4bWyUjBljb21wYXJlX3NlY3Rpb25zX2J5X25hbWVzlEsBjAxkdW1wX3JzdGRpZmaUTowFX2JvdGiUfZQoaDhOjAlnZW5lcmF0b3KUTowJZGF0ZXN0YW1wlE6MC3NvdXJjZV9saW5rlE6MCnNvdXJjZV91cmyUTowNdG9jX2JhY2tsaW5rc5RqswUAAIwSZm9vdG5vdGVfYmFja2xpbmtzlEsBjA1zZWN0bnVtX3hmb3JtlEsBjA5kb2N0aXRsZV94Zm9ybZRLAYwNZG9jaW5mb194Zm9ybZRLAYwSc2VjdHN1YnRpdGxlX3hmb3JtlEsAjA5zdHJpcF9jb21tZW50c5ROjA5pbnB1dF9lbmNvZGluZ5ROjBxpbnB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwGc3RyaWN0lIwNbGFuZ3VhZ2VfY29kZZSMAmVulIwOcGVwX3JlZmVyZW5jZXOUTowMcGVwX2Jhc2VfdXJslIwfaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL5SMFXBlcF9maWxlX3VybF90ZW1wbGF0ZZSMCHBlcC0lMDRklIwOcmZjX3JlZmVyZW5jZXOUTowMcmZjX2Jhc2VfdXJslIwbaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvlIwddHJpbV9mb290bm90ZV9yZWZlcmVuY2Vfc3BhY2WUTowWZmlsZV9pbnNlcnRpb25fZW5hYmxlZJRLAYwLcmF3X2VuYWJsZWSUSwGMDmF1dG9faWRfcHJlZml4lIwCaWSUjAlpZF9wcmVmaXiUaAaMG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc5ROjA1zdHJpcF9jbGFzc2VzlE51jARib3RolH2UjApfb3B0aW9uc1RvlIwFX2JvdGiUjAtfb2xkX3NvdXJjZZSMTy9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS+UjAtfbmV3X3NvdXJjZZSMCWRvYy9kaWZmc5RqHzoAAGogOgAAjBZpZ25vcmVfaW5fc2VjdGlvbl9uYW1llF2UKIwFcGFyaXOUjAhzaGFuZ2hhaZRldWKMCHJlcG9ydGVylE6MEGluZGlyZWN0X3RhcmdldHOUXZSMEXN1YnN0aXR1dGlvbl9kZWZzlH2UjBJzdWJzdGl0dXRpb25fbmFtZXOUfZSMCHJlZm5hbWVzlH2UjAZyZWZpZHOUfZSMB25hbWVpZHOUfZSMCW5hbWV0eXBlc5R9lGgQfZSMDWZvb3Rub3RlX3JlZnOUfZSMDWNpdGF0aW9uX3JlZnOUfZSMDWF1dG9mb290bm90ZXOUXZSMEWF1dG9mb290bm90ZV9yZWZzlF2UjBBzeW1ib2xfZm9vdG5vdGVzlF2UjBRzeW1ib2xfZm9vdG5vdGVfcmVmc5RdlIwJZm9vdG5vdGVzlF2UjAljaXRhdGlvbnOUXZSMEmF1dG9mb290bm90ZV9zdGFydJRLAYwVc3ltYm9sX2Zvb3Rub3RlX3N0YXJ0lEsAjAppZF9jb3VudGVylIwLY29sbGVjdGlvbnOUjAdDb3VudGVylJOUfZSFlFKUjA5wYXJzZV9tZXNzYWdlc5RdlIwSdHJhbnNmb3JtX21lc3NhZ2VzlF2UjAt0cmFuc2Zvcm1lcpROjAtpbmNsdWRlX2xvZ5RdlIwKZGVjb3JhdGlvbpROaCFoA3ViLg==