REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 99.27 KB
Close
/opt/hc_python/lib/python3.12/site-packages/sqlalchemy/dialects/sqlite/__pycache__/base.cpython-312.pyc
Text
Base64
yw0NCgAAAAD5ke9nVIABAOMAAAAAAAAAAAAAAAAMAAAAAAAAAfNyBgAAlwBkAFoAZAFkAmwBbQJaAgEAZAFkA2wDWgNkAWQDbARaBGQBZANsBVoFZAFkBGwGbQdaBwEAZAVkBmwIbQlaCQEAZAVkB2wIbQpaCgEAZAVkCGwIbQtaCwEAZAlkCmwMbQ1aDQEAZAlkC2wMbQ5aDwEAZAlkDGwMbRBaEAEAZAlkDWwMbRFaEQEAZAlkDmwMbRJaEwEAZAlkD2wMbRRaFAEAZAlkEGwVbRZaFgEAZAlkEWwVbRdaFwEAZAlkEmwVbRhaGAEAZAlkE2wZbRpaGgEAZAlkFGwQbRtaGwEAZAlkFWwQbRxaHAEAZAlkFmwQbR1aHQEAZAlkF2wQbR5aHgEAZAlkGGwQbR9aHwEAZAlkC2wQbQ5aDgEAZAlkGWwSbSBaIAEAZAlkGmwSbSFaIQEAZAlkG2wSbSJaIgEAZAlkHGwSbSNaIwEAZAlkHWwSbSRaJAEAZAlkHmwSbSVaJQEAZAlkH2wSbSZaJgEAZAlkIGwSbSdaJwEAZAlkIWwSbShaKAEAZAlkImwSbSlaKQEAZAlkI2wSbSpaKgEAZAlkJGwSbStaKwEAAgBHAGQlhABkJmUJqwMAAAAAAABaLAIARwBkJ4QAZCirAgAAAAAAAFotAgBHAGQphABkKmUtZRNqXAAAAAAAAAAAAAAAAAAAAAAAAKsEAAAAAAAAWi8CAEcAZCuEAGQsZS1lE2pgAAAAAAAAAAAAAAAAAAAAAAAAqwQAAAAAAABaMQIARwBkLYQAZC5lLWUTamQAAAAAAAAAAAAAAAAAAAAAAACrBAAAAAAAAFozZRNqYAAAAAAAAAAAAAAAAAAAAAAAAGUxZRNqXAAAAAAAAAAAAAAAAAAAAAAAAGUvZRNqEgAAAAAAAAAAAAAAAAAAAAAAAGUsZRNqEgAAAAAAAAAAAAAAAAAAAAAAAGoUAAAAAAAAAAAAAAAAAAAAAAAAZQplE2oSAAAAAAAAAAAAAAAAAAAAAAAAahYAAAAAAAAAAAAAAAAAAAAAAABlC2UTamQAAAAAAAAAAAAAAAAAAAAAAABlM2kGWjRpAGQvZRNqagAAAAAAAAAAAAAAAAAAAAAAAJMBZDBlE2pAAAAAAAAAAAAAAAAAAAAAAAAAkwFkMWUTakIAAAAAAAAAAAAAAAAAAAAAAACTAWQyZRNqQgAAAAAAAAAAAAAAAAAAAAAAAJMBZDNlE2pEAAAAAAAAAAAAAAAAAAAAAAAAkwFkLGUTamIAAAAAAAAAAAAAAAAAAAAAAACTAWQ0ZRNqYgAAAAAAAAAAAAAAAAAAAAAAAJMBZCplE2peAAAAAAAAAAAAAAAAAAAAAAAAkwFkNWUTal4AAAAAAAAAAAAAAAAAAAAAAACTAWQ2ZRNqbAAAAAAAAAAAAAAAAAAAAAAAAJMBZDdlE2pGAAAAAAAAAAAAAAAAAAAAAAAAkwFkOGUTakgAAAAAAAAAAAAAAAAAAAAAAACTAWQ5ZRNqSgAAAAAAAAAAAAAAAAAAAAAAAJMBZDplE2pKAAAAAAAAAAAAAAAAAAAAAAAAkwFkO2UJkwFkPGUTakwAAAAAAAAAAAAAAAAAAAAAAACTAWQ9ZRNqTgAAAAAAAAAAAAAAAAAAAAAAAJMBZRNqUAAAAAAAAAAAAAAAAAAAAAAAAGUTalIAAAAAAAAAAAAAAAAAAAAAAABlE2pmAAAAAAAAAAAAAAAAAAAAAAAAZRNqZgAAAAAAAAAAAAAAAAAAAAAAAGUTalQAAAAAAAAAAAAAAAAAAAAAAABlE2pWAAAAAAAAAAAAAAAAAAAAAAAAZRNqbgAAAAAAAAAAAAAAAAAAAAAAAGUTanAAAAAAAAAAAAAAAAAAAAAAAABkPpwIpQFaOQIARwBkP4QAZEBlHWp0AAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaOwIARwBkQYQAZEJlHWp4AAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaPQIARwBkQ4QAZERlHWp8AAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaPwIARwBkRYQAZEZlHWqAAAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaQQIARwBkR4QAZEhlFmqEAAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaQwIARwBkSYQAZEplFmqIAAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaRXkDKUth1HwAAAouLiBkaWFsZWN0Ojogc3FsaXRlCiAgICA6bmFtZTogU1FMaXRlCiAgICA6bm9ybWFsX3N1cHBvcnQ6IDMuMTIrCiAgICA6YmVzdF9lZmZvcnQ6IDMuNy4xNisKCi4uIF9zcWxpdGVfZGF0ZXRpbWU6CgpEYXRlIGFuZCBUaW1lIFR5cGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0KClNRTGl0ZSBkb2VzIG5vdCBoYXZlIGJ1aWx0LWluIERBVEUsIFRJTUUsIG9yIERBVEVUSU1FIHR5cGVzLCBhbmQgcHlzcWxpdGUgZG9lcwpub3QgcHJvdmlkZSBvdXQgb2YgdGhlIGJveCBmdW5jdGlvbmFsaXR5IGZvciB0cmFuc2xhdGluZyB2YWx1ZXMgYmV0d2VlbiBQeXRob24KYGRhdGV0aW1lYCBvYmplY3RzIGFuZCBhIFNRTGl0ZS1zdXBwb3J0ZWQgZm9ybWF0LiBTUUxBbGNoZW15J3Mgb3duCjpjbGFzczpgfnNxbGFsY2hlbXkudHlwZXMuRGF0ZVRpbWVgIGFuZCByZWxhdGVkIHR5cGVzIHByb3ZpZGUgZGF0ZSBmb3JtYXR0aW5nCmFuZCBwYXJzaW5nIGZ1bmN0aW9uYWxpdHkgd2hlbiBTUUxpdGUgaXMgdXNlZC4gVGhlIGltcGxlbWVudGF0aW9uIGNsYXNzZXMgYXJlCjpjbGFzczpgX3NxbGl0ZS5EQVRFVElNRWAsIDpjbGFzczpgX3NxbGl0ZS5EQVRFYCBhbmQgOmNsYXNzOmBfc3FsaXRlLlRJTUVgLgpUaGVzZSB0eXBlcyByZXByZXNlbnQgZGF0ZXMgYW5kIHRpbWVzIGFzIElTTyBmb3JtYXR0ZWQgc3RyaW5ncywgd2hpY2ggYWxzbwpuaWNlbHkgc3VwcG9ydCBvcmRlcmluZy4gVGhlcmUncyBubyByZWxpYW5jZSBvbiB0eXBpY2FsICJsaWJjIiBpbnRlcm5hbHMgZm9yCnRoZXNlIGZ1bmN0aW9ucyBzbyBoaXN0b3JpY2FsIGRhdGVzIGFyZSBmdWxseSBzdXBwb3J0ZWQuCgpFbnN1cmluZyBUZXh0IGFmZmluaXR5Cl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KClRoZSBEREwgcmVuZGVyZWQgZm9yIHRoZXNlIHR5cGVzIGlzIHRoZSBzdGFuZGFyZCBgYERBVEVgYCwgYGBUSU1FYGAKYW5kIGBgREFURVRJTUVgYCBpbmRpY2F0b3JzLiAgICBIb3dldmVyLCBjdXN0b20gc3RvcmFnZSBmb3JtYXRzIGNhbiBhbHNvIGJlCmFwcGxpZWQgdG8gdGhlc2UgdHlwZXMuICAgV2hlbiB0aGUKc3RvcmFnZSBmb3JtYXQgaXMgZGV0ZWN0ZWQgYXMgY29udGFpbmluZyBubyBhbHBoYSBjaGFyYWN0ZXJzLCB0aGUgRERMIGZvcgp0aGVzZSB0eXBlcyBpcyByZW5kZXJlZCBhcyBgYERBVEVfQ0hBUmBgLCBgYFRJTUVfQ0hBUmBgLCBhbmQgYGBEQVRFVElNRV9DSEFSYGAsCnNvIHRoYXQgdGhlIGNvbHVtbiBjb250aW51ZXMgdG8gaGF2ZSB0ZXh0dWFsIGFmZmluaXR5LgoKLi4gc2VlYWxzbzo6CgogICAgYFR5cGUgQWZmaW5pdHkgPGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvZGF0YXR5cGUzLmh0bWwjYWZmaW5pdHk+YF8gLQogICAgaW4gdGhlIFNRTGl0ZSBkb2N1bWVudGF0aW9uCgouLiBfc3FsaXRlX2F1dG9pbmNyZW1lbnQ6CgpTUUxpdGUgQXV0byBJbmNyZW1lbnRpbmcgQmVoYXZpb3IKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQmFja2dyb3VuZCBvbiBTUUxpdGUncyBhdXRvaW5jcmVtZW50IGlzIGF0OiBodHRwczovL3NxbGl0ZS5vcmcvYXV0b2luYy5odG1sCgpLZXkgY29uY2VwdHM6CgoqIFNRTGl0ZSBoYXMgYW4gaW1wbGljaXQgImF1dG8gaW5jcmVtZW50IiBmZWF0dXJlIHRoYXQgdGFrZXMgcGxhY2UgZm9yIGFueQogIG5vbi1jb21wb3NpdGUgcHJpbWFyeS1rZXkgY29sdW1uIHRoYXQgaXMgc3BlY2lmaWNhbGx5IGNyZWF0ZWQgdXNpbmcKICAiSU5URUdFUiBQUklNQVJZIEtFWSIgZm9yIHRoZSB0eXBlICsgcHJpbWFyeSBrZXkuCgoqIFNRTGl0ZSBhbHNvIGhhcyBhbiBleHBsaWNpdCAiQVVUT0lOQ1JFTUVOVCIga2V5d29yZCwgdGhhdCBpcyAqKm5vdCoqCiAgZXF1aXZhbGVudCB0byB0aGUgaW1wbGljaXQgYXV0b2luY3JlbWVudCBmZWF0dXJlOyB0aGlzIGtleXdvcmQgaXMgbm90CiAgcmVjb21tZW5kZWQgZm9yIGdlbmVyYWwgdXNlLiAgU1FMQWxjaGVteSBkb2VzIG5vdCByZW5kZXIgdGhpcyBrZXl3b3JkCiAgdW5sZXNzIGEgc3BlY2lhbCBTUUxpdGUtc3BlY2lmaWMgZGlyZWN0aXZlIGlzIHVzZWQgKHNlZSBiZWxvdykuICBIb3dldmVyLAogIGl0IHN0aWxsIHJlcXVpcmVzIHRoYXQgdGhlIGNvbHVtbidzIHR5cGUgaXMgbmFtZWQgIklOVEVHRVIiLgoKVXNpbmcgdGhlIEFVVE9JTkNSRU1FTlQgS2V5d29yZApeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKVG8gc3BlY2lmaWNhbGx5IHJlbmRlciB0aGUgQVVUT0lOQ1JFTUVOVCBrZXl3b3JkIG9uIHRoZSBwcmltYXJ5IGtleSBjb2x1bW4Kd2hlbiByZW5kZXJpbmcgRERMLCBhZGQgdGhlIGZsYWcgYGBzcWxpdGVfYXV0b2luY3JlbWVudD1UcnVlYGAgdG8gdGhlIFRhYmxlCmNvbnN0cnVjdDo6CgogICAgVGFibGUoCiAgICAgICAgInNvbWV0YWJsZSIsCiAgICAgICAgbWV0YWRhdGEsCiAgICAgICAgQ29sdW1uKCJpZCIsIEludGVnZXIsIHByaW1hcnlfa2V5PVRydWUpLAogICAgICAgIHNxbGl0ZV9hdXRvaW5jcmVtZW50PVRydWUsCiAgICApCgpBbGxvd2luZyBhdXRvaW5jcmVtZW50IGJlaGF2aW9yIFNRTEFsY2hlbXkgdHlwZXMgb3RoZXIgdGhhbiBJbnRlZ2VyL0lOVEVHRVIKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpTUUxpdGUncyB0eXBpbmcgbW9kZWwgaXMgYmFzZWQgb24gbmFtaW5nIGNvbnZlbnRpb25zLiAgQW1vbmcgb3RoZXIgdGhpbmdzLCB0aGlzCm1lYW5zIHRoYXQgYW55IHR5cGUgbmFtZSB3aGljaCBjb250YWlucyB0aGUgc3Vic3RyaW5nIGBgIklOVCJgYCB3aWxsIGJlCmRldGVybWluZWQgdG8gYmUgb2YgImludGVnZXIgYWZmaW5pdHkiLiAgQSB0eXBlIG5hbWVkIGBgIkJJR0lOVCJgYCwKYGAiU1BFQ0lBTF9JTlQiYGAgb3IgZXZlbiBgYCJYWVpJTlRRUFIiYGAsIHdpbGwgYmUgY29uc2lkZXJlZCBieSBTUUxpdGUgdG8gYmUKb2YgImludGVnZXIiIGFmZmluaXR5LiAgSG93ZXZlciwgKip0aGUgU1FMaXRlIGF1dG9pbmNyZW1lbnQgZmVhdHVyZSwgd2hldGhlcgppbXBsaWNpdGx5IG9yIGV4cGxpY2l0bHkgZW5hYmxlZCwgcmVxdWlyZXMgdGhhdCB0aGUgbmFtZSBvZiB0aGUgY29sdW1uJ3MgdHlwZQppcyBleGFjdGx5IHRoZSBzdHJpbmcgIklOVEVHRVIiKiouICBUaGVyZWZvcmUsIGlmIGFuIGFwcGxpY2F0aW9uIHVzZXMgYSB0eXBlCmxpa2UgOmNsYXNzOmAuQmlnSW50ZWdlcmAgZm9yIGEgcHJpbWFyeSBrZXksIG9uIFNRTGl0ZSB0aGlzIHR5cGUgd2lsbCBuZWVkIHRvCmJlIHJlbmRlcmVkIGFzIHRoZSBuYW1lIGBgIklOVEVHRVIiYGAgd2hlbiBlbWl0dGluZyB0aGUgaW5pdGlhbCBgYENSRUFURQpUQUJMRWBgIHN0YXRlbWVudCBpbiBvcmRlciBmb3IgdGhlIGF1dG9pbmNyZW1lbnQgYmVoYXZpb3IgdG8gYmUgYXZhaWxhYmxlLgoKT25lIGFwcHJvYWNoIHRvIGFjaGlldmUgdGhpcyBpcyB0byB1c2UgOmNsYXNzOmAuSW50ZWdlcmAgb24gU1FMaXRlCm9ubHkgdXNpbmcgOm1ldGg6YC5UeXBlRW5naW5lLndpdGhfdmFyaWFudGA6OgoKICAgIHRhYmxlID0gVGFibGUoCiAgICAgICAgIm15X3RhYmxlIiwKICAgICAgICBtZXRhZGF0YSwKICAgICAgICBDb2x1bW4oCiAgICAgICAgICAgICJpZCIsCiAgICAgICAgICAgIEJpZ0ludGVnZXIoKS53aXRoX3ZhcmlhbnQoSW50ZWdlciwgInNxbGl0ZSIpLAogICAgICAgICAgICBwcmltYXJ5X2tleT1UcnVlLAogICAgICAgICksCiAgICApCgpBbm90aGVyIGlzIHRvIHVzZSBhIHN1YmNsYXNzIG9mIDpjbGFzczpgLkJpZ0ludGVnZXJgIHRoYXQgb3ZlcnJpZGVzIGl0cyBEREwKbmFtZSB0byBiZSBgYElOVEVHRVJgYCB3aGVuIGNvbXBpbGVkIGFnYWluc3QgU1FMaXRlOjoKCiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IEJpZ0ludGVnZXIKICAgIGZyb20gc3FsYWxjaGVteS5leHQuY29tcGlsZXIgaW1wb3J0IGNvbXBpbGVzCgoKICAgIGNsYXNzIFNMQmlnSW50ZWdlcihCaWdJbnRlZ2VyKToKICAgICAgICBwYXNzCgoKICAgIEBjb21waWxlcyhTTEJpZ0ludGVnZXIsICJzcWxpdGUiKQogICAgZGVmIGJpX2MoZWxlbWVudCwgY29tcGlsZXIsICoqa3cpOgogICAgICAgIHJldHVybiAiSU5URUdFUiIKCgogICAgQGNvbXBpbGVzKFNMQmlnSW50ZWdlcikKICAgIGRlZiBiaV9jKGVsZW1lbnQsIGNvbXBpbGVyLCAqKmt3KToKICAgICAgICByZXR1cm4gY29tcGlsZXIudmlzaXRfQklHSU5UKGVsZW1lbnQsICoqa3cpCgoKICAgIHRhYmxlID0gVGFibGUoCiAgICAgICAgIm15X3RhYmxlIiwgbWV0YWRhdGEsIENvbHVtbigiaWQiLCBTTEJpZ0ludGVnZXIoKSwgcHJpbWFyeV9rZXk9VHJ1ZSkKICAgICkKCi4uIHNlZWFsc286OgoKICAgIDptZXRoOmAuVHlwZUVuZ2luZS53aXRoX3ZhcmlhbnRgCgogICAgOnJlZjpgc3FsYWxjaGVteS5leHQuY29tcGlsZXJfdG9wbGV2ZWxgCgogICAgYERhdGF0eXBlcyBJbiBTUUxpdGUgVmVyc2lvbiAzIDxodHRwczovL3NxbGl0ZS5vcmcvZGF0YXR5cGUzLmh0bWw+YF8KCi4uIF9zcWxpdGVfY29uY3VycmVuY3k6CgpEYXRhYmFzZSBMb2NraW5nIEJlaGF2aW9yIC8gQ29uY3VycmVuY3kKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpTUUxpdGUgaXMgbm90IGRlc2lnbmVkIGZvciBhIGhpZ2ggbGV2ZWwgb2Ygd3JpdGUgY29uY3VycmVuY3kuIFRoZSBkYXRhYmFzZQppdHNlbGYsIGJlaW5nIGEgZmlsZSwgaXMgbG9ja2VkIGNvbXBsZXRlbHkgZHVyaW5nIHdyaXRlIG9wZXJhdGlvbnMgd2l0aGluCnRyYW5zYWN0aW9ucywgbWVhbmluZyBleGFjdGx5IG9uZSAiY29ubmVjdGlvbiIgKGluIHJlYWxpdHkgYSBmaWxlIGhhbmRsZSkKaGFzIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdGhlIGRhdGFiYXNlIGR1cmluZyB0aGlzIHBlcmlvZCAtIGFsbCBvdGhlcgoiY29ubmVjdGlvbnMiIHdpbGwgYmUgYmxvY2tlZCBkdXJpbmcgdGhpcyB0aW1lLgoKVGhlIFB5dGhvbiBEQkFQSSBzcGVjaWZpY2F0aW9uIGFsc28gY2FsbHMgZm9yIGEgY29ubmVjdGlvbiBtb2RlbCB0aGF0IGlzCmFsd2F5cyBpbiBhIHRyYW5zYWN0aW9uOyB0aGVyZSBpcyBubyBgYGNvbm5lY3Rpb24uYmVnaW4oKWBgIG1ldGhvZCwKb25seSBgYGNvbm5lY3Rpb24uY29tbWl0KClgYCBhbmQgYGBjb25uZWN0aW9uLnJvbGxiYWNrKClgYCwgdXBvbiB3aGljaCBhCm5ldyB0cmFuc2FjdGlvbiBpcyB0byBiZSBiZWd1biBpbW1lZGlhdGVseS4gIFRoaXMgbWF5IHNlZW0gdG8gaW1wbHkKdGhhdCB0aGUgU1FMaXRlIGRyaXZlciB3b3VsZCBpbiB0aGVvcnkgYWxsb3cgb25seSBhIHNpbmdsZSBmaWxlaGFuZGxlIG9uIGEKcGFydGljdWxhciBkYXRhYmFzZSBmaWxlIGF0IGFueSB0aW1lOyBob3dldmVyLCB0aGVyZSBhcmUgc2V2ZXJhbApmYWN0b3JzIGJvdGggd2l0aGluIFNRTGl0ZSBpdHNlbGYgYXMgd2VsbCBhcyB3aXRoaW4gdGhlIHB5c3FsaXRlIGRyaXZlcgp3aGljaCBsb29zZW4gdGhpcyByZXN0cmljdGlvbiBzaWduaWZpY2FudGx5LgoKSG93ZXZlciwgbm8gbWF0dGVyIHdoYXQgbG9ja2luZyBtb2RlcyBhcmUgdXNlZCwgU1FMaXRlIHdpbGwgc3RpbGwgYWx3YXlzCmxvY2sgdGhlIGRhdGFiYXNlIGZpbGUgb25jZSBhIHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgYW5kIERNTCAoZS5nLiBJTlNFUlQsClVQREFURSwgREVMRVRFKSBoYXMgYXQgbGVhc3QgYmVlbiBlbWl0dGVkLCBhbmQgdGhpcyB3aWxsIGJsb2NrCm90aGVyIHRyYW5zYWN0aW9ucyBhdCBsZWFzdCBhdCB0aGUgcG9pbnQgdGhhdCB0aGV5IGFsc28gYXR0ZW1wdCB0byBlbWl0IERNTC4KQnkgZGVmYXVsdCwgdGhlIGxlbmd0aCBvZiB0aW1lIG9uIHRoaXMgYmxvY2sgaXMgdmVyeSBzaG9ydCBiZWZvcmUgaXQgdGltZXMgb3V0CndpdGggYW4gZXJyb3IuCgpUaGlzIGJlaGF2aW9yIGJlY29tZXMgbW9yZSBjcml0aWNhbCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUKU1FMQWxjaGVteSBPUk0uICBTUUxBbGNoZW15J3MgOmNsYXNzOmAuU2Vzc2lvbmAgb2JqZWN0IGJ5IGRlZmF1bHQgcnVucwp3aXRoaW4gYSB0cmFuc2FjdGlvbiwgYW5kIHdpdGggaXRzIGF1dG9mbHVzaCBtb2RlbCwgbWF5IGVtaXQgRE1MIHByZWNlZGluZwphbnkgU0VMRUNUIHN0YXRlbWVudC4gICBUaGlzIG1heSBsZWFkIHRvIGEgU1FMaXRlIGRhdGFiYXNlIHRoYXQgbG9ja3MKbW9yZSBxdWlja2x5IHRoYW4gaXMgZXhwZWN0ZWQuICAgVGhlIGxvY2tpbmcgbW9kZSBvZiBTUUxpdGUgYW5kIHRoZSBweXNxbGl0ZQpkcml2ZXIgY2FuIGJlIG1hbmlwdWxhdGVkIHRvIHNvbWUgZGVncmVlLCBob3dldmVyIGl0IHNob3VsZCBiZSBub3RlZCB0aGF0CmFjaGlldmluZyBhIGhpZ2ggZGVncmVlIG9mIHdyaXRlLWNvbmN1cnJlbmN5IHdpdGggU1FMaXRlIGlzIGEgbG9zaW5nIGJhdHRsZS4KCkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIFNRTGl0ZSdzIGxhY2sgb2Ygd3JpdGUgY29uY3VycmVuY3kgYnkgZGVzaWduLCBwbGVhc2UKc2VlCmBTaXR1YXRpb25zIFdoZXJlIEFub3RoZXIgUkRCTVMgTWF5IFdvcmsgQmV0dGVyIC0gSGlnaCBDb25jdXJyZW5jeQo8aHR0cHM6Ly93d3cuc3FsaXRlLm9yZy93aGVudG91c2UuaHRtbD5gXyBuZWFyIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UuCgpUaGUgZm9sbG93aW5nIHN1YnNlY3Rpb25zIGludHJvZHVjZSBhcmVhcyB0aGF0IGFyZSBpbXBhY3RlZCBieSBTUUxpdGUncwpmaWxlLWJhc2VkIGFyY2hpdGVjdHVyZSBhbmQgYWRkaXRpb25hbGx5IHdpbGwgdXN1YWxseSByZXF1aXJlIHdvcmthcm91bmRzIHRvCndvcmsgd2hlbiB1c2luZyB0aGUgcHlzcWxpdGUgZHJpdmVyLgoKLi4gX3NxbGl0ZV9pc29sYXRpb25fbGV2ZWw6CgpUcmFuc2FjdGlvbiBJc29sYXRpb24gTGV2ZWwgLyBBdXRvY29tbWl0Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClNRTGl0ZSBzdXBwb3J0cyAidHJhbnNhY3Rpb24gaXNvbGF0aW9uIiBpbiBhIG5vbi1zdGFuZGFyZCB3YXksIGFsb25nIHR3bwpheGVzLiAgT25lIGlzIHRoYXQgb2YgdGhlCmBQUkFHTUEgcmVhZF91bmNvbW1pdHRlZCA8aHR0cHM6Ly93d3cuc3FsaXRlLm9yZy9wcmFnbWEuaHRtbCNwcmFnbWFfcmVhZF91bmNvbW1pdHRlZD5gXwppbnN0cnVjdGlvbi4gICBUaGlzIHNldHRpbmcgY2FuIGVzc2VudGlhbGx5IHN3aXRjaCBTUUxpdGUgYmV0d2VlbiBpdHMKZGVmYXVsdCBtb2RlIG9mIGBgU0VSSUFMSVpBQkxFYGAgaXNvbGF0aW9uLCBhbmQgYSAiZGlydHkgcmVhZCIgaXNvbGF0aW9uCm1vZGUgbm9ybWFsbHkgcmVmZXJyZWQgdG8gYXMgYGBSRUFEIFVOQ09NTUlUVEVEYGAuCgpTUUxBbGNoZW15IHRpZXMgaW50byB0aGlzIFBSQUdNQSBzdGF0ZW1lbnQgdXNpbmcgdGhlCjpwYXJhbXJlZjpgX3NhLmNyZWF0ZV9lbmdpbmUuaXNvbGF0aW9uX2xldmVsYCBwYXJhbWV0ZXIgb2YKOmZ1bmM6YF9zYS5jcmVhdGVfZW5naW5lYC4KVmFsaWQgdmFsdWVzIGZvciB0aGlzIHBhcmFtZXRlciB3aGVuIHVzZWQgd2l0aCBTUUxpdGUgYXJlIGBgIlNFUklBTElaQUJMRSJgYAphbmQgYGAiUkVBRCBVTkNPTU1JVFRFRCJgYCBjb3JyZXNwb25kaW5nIHRvIGEgdmFsdWUgb2YgMCBhbmQgMSwgcmVzcGVjdGl2ZWx5LgpTUUxpdGUgZGVmYXVsdHMgdG8gYGBTRVJJQUxJWkFCTEVgYCwgaG93ZXZlciBpdHMgYmVoYXZpb3IgaXMgaW1wYWN0ZWQgYnkKdGhlIHB5c3FsaXRlIGRyaXZlcidzIGRlZmF1bHQgYmVoYXZpb3IuCgpXaGVuIHVzaW5nIHRoZSBweXNxbGl0ZSBkcml2ZXIsIHRoZSBgYCJBVVRPQ09NTUlUImBgIGlzb2xhdGlvbiBsZXZlbCBpcyBhbHNvCmF2YWlsYWJsZSwgd2hpY2ggd2lsbCBhbHRlciB0aGUgcHlzcWxpdGUgY29ubmVjdGlvbiB1c2luZyB0aGUgYGAuaXNvbGF0aW9uX2xldmVsYGAKYXR0cmlidXRlIG9uIHRoZSBEQkFQSSBjb25uZWN0aW9uIGFuZCBzZXQgaXQgdG8gTm9uZSBmb3IgdGhlIGR1cmF0aW9uCm9mIHRoZSBzZXR0aW5nLgoKLi4gdmVyc2lvbmFkZGVkOjogMS4zLjE2IGFkZGVkIHN1cHBvcnQgZm9yIFNRTGl0ZSBBVVRPQ09NTUlUIGlzb2xhdGlvbiBsZXZlbAogICB3aGVuIHVzaW5nIHRoZSBweXNxbGl0ZSAvIHNxbGl0ZTMgU1FMaXRlIGRyaXZlci4KCgpUaGUgb3RoZXIgYXhpcyBhbG9uZyB3aGljaCBTUUxpdGUncyB0cmFuc2FjdGlvbmFsIGxvY2tpbmcgaXMgaW1wYWN0ZWQgaXMKdmlhIHRoZSBuYXR1cmUgb2YgdGhlIGBgQkVHSU5gYCBzdGF0ZW1lbnQgdXNlZC4gICBUaGUgdGhyZWUgdmFyaWV0aWVzCmFyZSAiZGVmZXJyZWQiLCAiaW1tZWRpYXRlIiwgYW5kICJleGNsdXNpdmUiLCBhcyBkZXNjcmliZWQgYXQKYEJFR0lOIFRSQU5TQUNUSU9OIDxodHRwczovL3NxbGl0ZS5vcmcvbGFuZ190cmFuc2FjdGlvbi5odG1sPmBfLiAgIEEgc3RyYWlnaHQKYGBCRUdJTmBgIHN0YXRlbWVudCB1c2VzIHRoZSAiZGVmZXJyZWQiIG1vZGUsIHdoZXJlIHRoZSBkYXRhYmFzZSBmaWxlIGlzCm5vdCBsb2NrZWQgdW50aWwgdGhlIGZpcnN0IHJlYWQgb3Igd3JpdGUgb3BlcmF0aW9uLCBhbmQgcmVhZCBhY2Nlc3MgcmVtYWlucwpvcGVuIHRvIG90aGVyIHRyYW5zYWN0aW9ucyB1bnRpbCB0aGUgZmlyc3Qgd3JpdGUgb3BlcmF0aW9uLiAgQnV0IGFnYWluLAppdCBpcyBjcml0aWNhbCB0byBub3RlIHRoYXQgdGhlIHB5c3FsaXRlIGRyaXZlciBpbnRlcmZlcmVzIHdpdGggdGhpcyBiZWhhdmlvcgpieSAqbm90IGV2ZW4gZW1pdHRpbmcgQkVHSU4qIHVudGlsIHRoZSBmaXJzdCB3cml0ZSBvcGVyYXRpb24uCgouLiB3YXJuaW5nOjoKCiAgICBTUUxpdGUncyB0cmFuc2FjdGlvbmFsIHNjb3BlIGlzIGltcGFjdGVkIGJ5IHVucmVzb2x2ZWQKICAgIGlzc3VlcyBpbiB0aGUgcHlzcWxpdGUgZHJpdmVyLCB3aGljaCBkZWZlcnMgQkVHSU4gc3RhdGVtZW50cyB0byBhIGdyZWF0ZXIKICAgIGRlZ3JlZSB0aGFuIGlzIG9mdGVuIGZlYXNpYmxlLiBTZWUgdGhlIHNlY3Rpb24gOnJlZjpgcHlzcWxpdGVfc2VyaWFsaXphYmxlYAogICAgb3IgOnJlZjpgYWlvc3FsaXRlX3NlcmlhbGl6YWJsZWAgZm9yIHRlY2huaXF1ZXMgdG8gd29yayBhcm91bmQgdGhpcyBiZWhhdmlvci4KCi4uIHNlZWFsc286OgoKICAgIDpyZWY6YGRiYXBpX2F1dG9jb21taXRgCgpJTlNFUlQvVVBEQVRFL0RFTEVURS4uLlJFVFVSTklORwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBTUUxpdGUgZGlhbGVjdCBzdXBwb3J0cyBTUUxpdGUgMy4zNSdzICBgYElOU0VSVHxVUERBVEV8REVMRVRFLi5SRVRVUk5JTkdgYApzeW50YXguICAgYGBJTlNFUlQuLlJFVFVSTklOR2BgIG1heSBiZSB1c2VkCmF1dG9tYXRpY2FsbHkgaW4gc29tZSBjYXNlcyBpbiBvcmRlciB0byBmZXRjaCBuZXdseSBnZW5lcmF0ZWQgaWRlbnRpZmllcnMgaW4KcGxhY2Ugb2YgdGhlIHRyYWRpdGlvbmFsIGFwcHJvYWNoIG9mIHVzaW5nIGBgY3Vyc29yLmxhc3Ryb3dpZGBgLCBob3dldmVyCmBgY3Vyc29yLmxhc3Ryb3dpZGBgIGlzIGN1cnJlbnRseSBzdGlsbCBwcmVmZXJyZWQgZm9yIHNpbXBsZSBzaW5nbGUtc3RhdGVtZW50CmNhc2VzIGZvciBpdHMgYmV0dGVyIHBlcmZvcm1hbmNlLgoKVG8gc3BlY2lmeSBhbiBleHBsaWNpdCBgYFJFVFVSTklOR2BgIGNsYXVzZSwgdXNlIHRoZQo6bWV0aDpgLl9VcGRhdGVCYXNlLnJldHVybmluZ2AgbWV0aG9kIG9uIGEgcGVyLXN0YXRlbWVudCBiYXNpczo6CgogICAgIyBJTlNFUlQuLlJFVFVSTklORwogICAgcmVzdWx0ID0gY29ubmVjdGlvbi5leGVjdXRlKAogICAgICAgIHRhYmxlLmluc2VydCgpLnZhbHVlcyhuYW1lPSJmb28iKS5yZXR1cm5pbmcodGFibGUuYy5jb2wxLCB0YWJsZS5jLmNvbDIpCiAgICApCiAgICBwcmludChyZXN1bHQuYWxsKCkpCgogICAgIyBVUERBVEUuLlJFVFVSTklORwogICAgcmVzdWx0ID0gY29ubmVjdGlvbi5leGVjdXRlKAogICAgICAgIHRhYmxlLnVwZGF0ZSgpCiAgICAgICAgLndoZXJlKHRhYmxlLmMubmFtZSA9PSAiZm9vIikKICAgICAgICAudmFsdWVzKG5hbWU9ImJhciIpCiAgICAgICAgLnJldHVybmluZyh0YWJsZS5jLmNvbDEsIHRhYmxlLmMuY29sMikKICAgICkKICAgIHByaW50KHJlc3VsdC5hbGwoKSkKCiAgICAjIERFTEVURS4uUkVUVVJOSU5HCiAgICByZXN1bHQgPSBjb25uZWN0aW9uLmV4ZWN1dGUoCiAgICAgICAgdGFibGUuZGVsZXRlKCkKICAgICAgICAud2hlcmUodGFibGUuYy5uYW1lID09ICJmb28iKQogICAgICAgIC5yZXR1cm5pbmcodGFibGUuYy5jb2wxLCB0YWJsZS5jLmNvbDIpCiAgICApCiAgICBwcmludChyZXN1bHQuYWxsKCkpCgouLiB2ZXJzaW9uYWRkZWQ6OiAyLjAgIEFkZGVkIHN1cHBvcnQgZm9yIFNRTGl0ZSBSRVRVUk5JTkcKClNBVkVQT0lOVCBTdXBwb3J0Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClNRTGl0ZSBzdXBwb3J0cyBTQVZFUE9JTlRzLCB3aGljaCBvbmx5IGZ1bmN0aW9uIG9uY2UgYSB0cmFuc2FjdGlvbiBpcwpiZWd1bi4gICBTUUxBbGNoZW15J3MgU0FWRVBPSU5UIHN1cHBvcnQgaXMgYXZhaWxhYmxlIHVzaW5nIHRoZQo6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmJlZ2luX25lc3RlZGAgbWV0aG9kIGF0IHRoZSBDb3JlIGxldmVsLCBhbmQKOm1ldGg6YC5TZXNzaW9uLmJlZ2luX25lc3RlZGAgYXQgdGhlIE9STSBsZXZlbC4gICBIb3dldmVyLCBTQVZFUE9JTlRzCndvbid0IHdvcmsgYXQgYWxsIHdpdGggcHlzcWxpdGUgdW5sZXNzIHdvcmthcm91bmRzIGFyZSB0YWtlbi4KCi4uIHdhcm5pbmc6OgoKICAgIFNRTGl0ZSdzIFNBVkVQT0lOVCBmZWF0dXJlIGlzIGltcGFjdGVkIGJ5IHVucmVzb2x2ZWQKICAgIGlzc3VlcyBpbiB0aGUgcHlzcWxpdGUgYW5kIGFpb3NxbGl0ZSBkcml2ZXJzLCB3aGljaCBkZWZlciBCRUdJTiBzdGF0ZW1lbnRzCiAgICB0byBhIGdyZWF0ZXIgZGVncmVlIHRoYW4gaXMgb2Z0ZW4gZmVhc2libGUuIFNlZSB0aGUgc2VjdGlvbnMKICAgIDpyZWY6YHB5c3FsaXRlX3NlcmlhbGl6YWJsZWAgYW5kIDpyZWY6YGFpb3NxbGl0ZV9zZXJpYWxpemFibGVgCiAgICBmb3IgdGVjaG5pcXVlcyB0byB3b3JrIGFyb3VuZCB0aGlzIGJlaGF2aW9yLgoKVHJhbnNhY3Rpb25hbCBEREwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIFNRTGl0ZSBkYXRhYmFzZSBzdXBwb3J0cyB0cmFuc2FjdGlvbmFsIDp0ZXJtOmBERExgIGFzIHdlbGwuCkluIHRoaXMgY2FzZSwgdGhlIHB5c3FsaXRlIGRyaXZlciBpcyBub3Qgb25seSBmYWlsaW5nIHRvIHN0YXJ0IHRyYW5zYWN0aW9ucywKaXQgYWxzbyBpcyBlbmRpbmcgYW55IGV4aXN0aW5nIHRyYW5zYWN0aW9uIHdoZW4gRERMIGlzIGRldGVjdGVkLCBzbyBhZ2FpbiwKd29ya2Fyb3VuZHMgYXJlIHJlcXVpcmVkLgoKLi4gd2FybmluZzo6CgogICAgU1FMaXRlJ3MgdHJhbnNhY3Rpb25hbCBEREwgaXMgaW1wYWN0ZWQgYnkgdW5yZXNvbHZlZCBpc3N1ZXMKICAgIGluIHRoZSBweXNxbGl0ZSBkcml2ZXIsIHdoaWNoIGZhaWxzIHRvIGVtaXQgQkVHSU4gYW5kIGFkZGl0aW9uYWxseQogICAgZm9yY2VzIGEgQ09NTUlUIHRvIGNhbmNlbCBhbnkgdHJhbnNhY3Rpb24gd2hlbiBEREwgaXMgZW5jb3VudGVyZWQuCiAgICBTZWUgdGhlIHNlY3Rpb24gOnJlZjpgcHlzcWxpdGVfc2VyaWFsaXphYmxlYAogICAgZm9yIHRlY2huaXF1ZXMgdG8gd29yayBhcm91bmQgdGhpcyBiZWhhdmlvci4KCi4uIF9zcWxpdGVfZm9yZWlnbl9rZXlzOgoKRm9yZWlnbiBLZXkgU3VwcG9ydAotLS0tLS0tLS0tLS0tLS0tLS0tCgpTUUxpdGUgc3VwcG9ydHMgRk9SRUlHTiBLRVkgc3ludGF4IHdoZW4gZW1pdHRpbmcgQ1JFQVRFIHN0YXRlbWVudHMgZm9yIHRhYmxlcywKaG93ZXZlciBieSBkZWZhdWx0IHRoZXNlIGNvbnN0cmFpbnRzIGhhdmUgbm8gZWZmZWN0IG9uIHRoZSBvcGVyYXRpb24gb2YgdGhlCnRhYmxlLgoKQ29uc3RyYWludCBjaGVja2luZyBvbiBTUUxpdGUgaGFzIHRocmVlIHByZXJlcXVpc2l0ZXM6CgoqIEF0IGxlYXN0IHZlcnNpb24gMy42LjE5IG9mIFNRTGl0ZSBtdXN0IGJlIGluIHVzZQoqIFRoZSBTUUxpdGUgbGlicmFyeSBtdXN0IGJlIGNvbXBpbGVkICp3aXRob3V0KiB0aGUgU1FMSVRFX09NSVRfRk9SRUlHTl9LRVkKICBvciBTUUxJVEVfT01JVF9UUklHR0VSIHN5bWJvbHMgZW5hYmxlZC4KKiBUaGUgYGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gYCBzdGF0ZW1lbnQgbXVzdCBiZSBlbWl0dGVkIG9uIGFsbAogIGNvbm5lY3Rpb25zIGJlZm9yZSB1c2UgLS0gaW5jbHVkaW5nIHRoZSBpbml0aWFsIGNhbGwgdG8KICA6bWV0aDpgc3FsYWxjaGVteS5zY2hlbWEuTWV0YURhdGEuY3JlYXRlX2FsbGAuCgpTUUxBbGNoZW15IGFsbG93cyBmb3IgdGhlIGBgUFJBR01BYGAgc3RhdGVtZW50IHRvIGJlIGVtaXR0ZWQgYXV0b21hdGljYWxseSBmb3IKbmV3IGNvbm5lY3Rpb25zIHRocm91Z2ggdGhlIHVzYWdlIG9mIGV2ZW50czo6CgogICAgZnJvbSBzcWxhbGNoZW15LmVuZ2luZSBpbXBvcnQgRW5naW5lCiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGV2ZW50CgoKICAgIEBldmVudC5saXN0ZW5zX2ZvcihFbmdpbmUsICJjb25uZWN0IikKICAgIGRlZiBzZXRfc3FsaXRlX3ByYWdtYShkYmFwaV9jb25uZWN0aW9uLCBjb25uZWN0aW9uX3JlY29yZCk6CiAgICAgICAgY3Vyc29yID0gZGJhcGlfY29ubmVjdGlvbi5jdXJzb3IoKQogICAgICAgIGN1cnNvci5leGVjdXRlKCJQUkFHTUEgZm9yZWlnbl9rZXlzPU9OIikKICAgICAgICBjdXJzb3IuY2xvc2UoKQoKLi4gd2FybmluZzo6CgogICAgV2hlbiBTUUxpdGUgZm9yZWlnbiBrZXlzIGFyZSBlbmFibGVkLCBpdCBpcyAqKm5vdCBwb3NzaWJsZSoqCiAgICB0byBlbWl0IENSRUFURSBvciBEUk9QIHN0YXRlbWVudHMgZm9yIHRhYmxlcyB0aGF0IGNvbnRhaW4KICAgIG11dHVhbGx5LWRlcGVuZGVudCBmb3JlaWduIGtleSBjb25zdHJhaW50czsKICAgIHRvIGVtaXQgdGhlIERETCBmb3IgdGhlc2UgdGFibGVzIHJlcXVpcmVzIHRoYXQgQUxURVIgVEFCTEUgYmUgdXNlZCB0bwogICAgY3JlYXRlIG9yIGRyb3AgdGhlc2UgY29uc3RyYWludHMgc2VwYXJhdGVseSwgZm9yIHdoaWNoIFNRTGl0ZSBoYXMKICAgIG5vIHN1cHBvcnQuCgouLiBzZWVhbHNvOjoKCiAgICBgU1FMaXRlIEZvcmVpZ24gS2V5IFN1cHBvcnQgPGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvZm9yZWlnbmtleXMuaHRtbD5gXwogICAgLSBvbiB0aGUgU1FMaXRlIHdlYiBzaXRlLgoKICAgIDpyZWY6YGV2ZW50X3RvcGxldmVsYCAtIFNRTEFsY2hlbXkgZXZlbnQgQVBJLgoKICAgIDpyZWY6YHVzZV9hbHRlcmAgLSBtb3JlIGluZm9ybWF0aW9uIG9uIFNRTEFsY2hlbXkncyBmYWNpbGl0aWVzIGZvciBoYW5kbGluZwogICAgIG11dHVhbGx5LWRlcGVuZGVudCBmb3JlaWduIGtleSBjb25zdHJhaW50cy4KCi4uIF9zcWxpdGVfb25fY29uZmxpY3RfZGRsOgoKT04gQ09ORkxJQ1Qgc3VwcG9ydCBmb3IgY29uc3RyYWludHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi4uIHNlZWFsc286OiBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSA6dGVybTpgRERMYCB2ZXJzaW9uIG9mICJPTiBDT05GTElDVCIgZm9yCiAgIFNRTGl0ZSwgd2hpY2ggb2NjdXJzIHdpdGhpbiBhIENSRUFURSBUQUJMRSBzdGF0ZW1lbnQuICBGb3IgIk9OIENPTkZMSUNUIiBhcwogICBhcHBsaWVkIHRvIGFuIElOU0VSVCBzdGF0ZW1lbnQsIHNlZSA6cmVmOmBzcWxpdGVfb25fY29uZmxpY3RfaW5zZXJ0YC4KClNRTGl0ZSBzdXBwb3J0cyBhIG5vbi1zdGFuZGFyZCBEREwgY2xhdXNlIGtub3duIGFzIE9OIENPTkZMSUNUIHdoaWNoIGNhbiBiZSBhcHBsaWVkCnRvIHByaW1hcnkga2V5LCB1bmlxdWUsIGNoZWNrLCBhbmQgbm90IG51bGwgY29uc3RyYWludHMuICAgSW4gRERMLCBpdCBpcwpyZW5kZXJlZCBlaXRoZXIgd2l0aGluIHRoZSAiQ09OU1RSQUlOVCIgY2xhdXNlIG9yIHdpdGhpbiB0aGUgY29sdW1uIGRlZmluaXRpb24KaXRzZWxmIGRlcGVuZGluZyBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIHRhcmdldCBjb25zdHJhaW50LiAgICBUbyByZW5kZXIgdGhpcwpjbGF1c2Ugd2l0aGluIERETCwgdGhlIGV4dGVuc2lvbiBwYXJhbWV0ZXIgYGBzcWxpdGVfb25fY29uZmxpY3RgYCBjYW4gYmUKc3BlY2lmaWVkIHdpdGggYSBzdHJpbmcgY29uZmxpY3QgcmVzb2x1dGlvbiBhbGdvcml0aG0gd2l0aGluIHRoZQo6Y2xhc3M6YC5QcmltYXJ5S2V5Q29uc3RyYWludGAsIDpjbGFzczpgLlVuaXF1ZUNvbnN0cmFpbnRgLAo6Y2xhc3M6YC5DaGVja0NvbnN0cmFpbnRgIG9iamVjdHMuICBXaXRoaW4gdGhlIDpjbGFzczpgX3NjaGVtYS5Db2x1bW5gIG9iamVjdCwKdGhlcmUKYXJlIGluZGl2aWR1YWwgcGFyYW1ldGVycyBgYHNxbGl0ZV9vbl9jb25mbGljdF9ub3RfbnVsbGBgLApgYHNxbGl0ZV9vbl9jb25mbGljdF9wcmltYXJ5X2tleWBgLCBgYHNxbGl0ZV9vbl9jb25mbGljdF91bmlxdWVgYCB3aGljaCBlYWNoCmNvcnJlc3BvbmQgdG8gdGhlIHRocmVlIHR5cGVzIG9mIHJlbGV2YW50IGNvbnN0cmFpbnQgdHlwZXMgdGhhdCBjYW4gYmUKaW5kaWNhdGVkIGZyb20gYSA6Y2xhc3M6YF9zY2hlbWEuQ29sdW1uYCBvYmplY3QuCgouLiBzZWVhbHNvOjoKCiAgICBgT04gQ09ORkxJQ1QgPGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvbGFuZ19jb25mbGljdC5odG1sPmBfIC0gaW4gdGhlIFNRTGl0ZQogICAgZG9jdW1lbnRhdGlvbgoKLi4gdmVyc2lvbmFkZGVkOjogMS4zCgoKVGhlIGBgc3FsaXRlX29uX2NvbmZsaWN0YGAgcGFyYW1ldGVycyBhY2NlcHQgYSAgc3RyaW5nIGFyZ3VtZW50IHdoaWNoIGlzIGp1c3QKdGhlIHJlc29sdXRpb24gbmFtZSB0byBiZSBjaG9zZW4sIHdoaWNoIG9uIFNRTGl0ZSBjYW4gYmUgb25lIG9mIFJPTExCQUNLLApBQk9SVCwgRkFJTCwgSUdOT1JFLCBhbmQgUkVQTEFDRS4gICBGb3IgZXhhbXBsZSwgdG8gYWRkIGEgVU5JUVVFIGNvbnN0cmFpbnQKdGhhdCBzcGVjaWZpZXMgdGhlIElHTk9SRSBhbGdvcml0aG06OgoKICAgIHNvbWVfdGFibGUgPSBUYWJsZSgKICAgICAgICAic29tZV90YWJsZSIsCiAgICAgICAgbWV0YWRhdGEsCiAgICAgICAgQ29sdW1uKCJpZCIsIEludGVnZXIsIHByaW1hcnlfa2V5PVRydWUpLAogICAgICAgIENvbHVtbigiZGF0YSIsIEludGVnZXIpLAogICAgICAgIFVuaXF1ZUNvbnN0cmFpbnQoImlkIiwgImRhdGEiLCBzcWxpdGVfb25fY29uZmxpY3Q9IklHTk9SRSIpLAogICAgKQoKVGhlIGFib3ZlIHJlbmRlcnMgQ1JFQVRFIFRBQkxFIERETCBhczoKCi4uIHNvdXJjZWNvZGU6OiBzcWwKCiAgICBDUkVBVEUgVEFCTEUgc29tZV90YWJsZSAoCiAgICAgICAgaWQgSU5URUdFUiBOT1QgTlVMTCwKICAgICAgICBkYXRhIElOVEVHRVIsCiAgICAgICAgUFJJTUFSWSBLRVkgKGlkKSwKICAgICAgICBVTklRVUUgKGlkLCBkYXRhKSBPTiBDT05GTElDVCBJR05PUkUKICAgICkKCgpXaGVuIHVzaW5nIHRoZSA6cGFyYW1yZWY6YF9zY2hlbWEuQ29sdW1uLnVuaXF1ZWAKZmxhZyB0byBhZGQgYSBVTklRVUUgY29uc3RyYWludAp0byBhIHNpbmdsZSBjb2x1bW4sIHRoZSBgYHNxbGl0ZV9vbl9jb25mbGljdF91bmlxdWVgYCBwYXJhbWV0ZXIgY2FuCmJlIGFkZGVkIHRvIHRoZSA6Y2xhc3M6YF9zY2hlbWEuQ29sdW1uYCBhcyB3ZWxsLCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZQpVTklRVUUgY29uc3RyYWludCBpbiB0aGUgRERMOjoKCiAgICBzb21lX3RhYmxlID0gVGFibGUoCiAgICAgICAgInNvbWVfdGFibGUiLAogICAgICAgIG1ldGFkYXRhLAogICAgICAgIENvbHVtbigiaWQiLCBJbnRlZ2VyLCBwcmltYXJ5X2tleT1UcnVlKSwKICAgICAgICBDb2x1bW4oCiAgICAgICAgICAgICJkYXRhIiwgSW50ZWdlciwgdW5pcXVlPVRydWUsIHNxbGl0ZV9vbl9jb25mbGljdF91bmlxdWU9IklHTk9SRSIKICAgICAgICApLAogICAgKQoKcmVuZGVyaW5nOgoKLi4gc291cmNlY29kZTo6IHNxbAoKICAgIENSRUFURSBUQUJMRSBzb21lX3RhYmxlICgKICAgICAgICBpZCBJTlRFR0VSIE5PVCBOVUxMLAogICAgICAgIGRhdGEgSU5URUdFUiwKICAgICAgICBQUklNQVJZIEtFWSAoaWQpLAogICAgICAgIFVOSVFVRSAoZGF0YSkgT04gQ09ORkxJQ1QgSUdOT1JFCiAgICApCgpUbyBhcHBseSB0aGUgRkFJTCBhbGdvcml0aG0gZm9yIGEgTk9UIE5VTEwgY29uc3RyYWludCwKYGBzcWxpdGVfb25fY29uZmxpY3Rfbm90X251bGxgYCBpcyB1c2VkOjoKCiAgICBzb21lX3RhYmxlID0gVGFibGUoCiAgICAgICAgInNvbWVfdGFibGUiLAogICAgICAgIG1ldGFkYXRhLAogICAgICAgIENvbHVtbigiaWQiLCBJbnRlZ2VyLCBwcmltYXJ5X2tleT1UcnVlKSwKICAgICAgICBDb2x1bW4oCiAgICAgICAgICAgICJkYXRhIiwgSW50ZWdlciwgbnVsbGFibGU9RmFsc2UsIHNxbGl0ZV9vbl9jb25mbGljdF9ub3RfbnVsbD0iRkFJTCIKICAgICAgICApLAogICAgKQoKdGhpcyByZW5kZXJzIHRoZSBjb2x1bW4gaW5saW5lIE9OIENPTkZMSUNUIHBocmFzZToKCi4uIHNvdXJjZWNvZGU6OiBzcWwKCiAgICBDUkVBVEUgVEFCTEUgc29tZV90YWJsZSAoCiAgICAgICAgaWQgSU5URUdFUiBOT1QgTlVMTCwKICAgICAgICBkYXRhIElOVEVHRVIgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwKICAgICAgICBQUklNQVJZIEtFWSAoaWQpCiAgICApCgoKU2ltaWxhcmx5LCBmb3IgYW4gaW5saW5lIHByaW1hcnkga2V5LCB1c2UgYGBzcWxpdGVfb25fY29uZmxpY3RfcHJpbWFyeV9rZXlgYDo6CgogICAgc29tZV90YWJsZSA9IFRhYmxlKAogICAgICAgICJzb21lX3RhYmxlIiwKICAgICAgICBtZXRhZGF0YSwKICAgICAgICBDb2x1bW4oCiAgICAgICAgICAgICJpZCIsCiAgICAgICAgICAgIEludGVnZXIsCiAgICAgICAgICAgIHByaW1hcnlfa2V5PVRydWUsCiAgICAgICAgICAgIHNxbGl0ZV9vbl9jb25mbGljdF9wcmltYXJ5X2tleT0iRkFJTCIsCiAgICAgICAgKSwKICAgICkKClNRTEFsY2hlbXkgcmVuZGVycyB0aGUgUFJJTUFSWSBLRVkgY29uc3RyYWludCBzZXBhcmF0ZWx5LCBzbyB0aGUgY29uZmxpY3QKcmVzb2x1dGlvbiBhbGdvcml0aG0gaXMgYXBwbGllZCB0byB0aGUgY29uc3RyYWludCBpdHNlbGY6CgouLiBzb3VyY2Vjb2RlOjogc3FsCgogICAgQ1JFQVRFIFRBQkxFIHNvbWVfdGFibGUgKAogICAgICAgIGlkIElOVEVHRVIgTk9UIE5VTEwsCiAgICAgICAgUFJJTUFSWSBLRVkgKGlkKSBPTiBDT05GTElDVCBGQUlMCiAgICApCgouLiBfc3FsaXRlX29uX2NvbmZsaWN0X2luc2VydDoKCklOU0VSVC4uLk9OIENPTkZMSUNUIChVcHNlcnQpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgouLiBzZWVhbHNvOjogVGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgOnRlcm06YERNTGAgdmVyc2lvbiBvZiAiT04gQ09ORkxJQ1QiIGZvcgogICBTUUxpdGUsIHdoaWNoIG9jY3VycyB3aXRoaW4gYW4gSU5TRVJUIHN0YXRlbWVudC4gIEZvciAiT04gQ09ORkxJQ1QiIGFzCiAgIGFwcGxpZWQgdG8gYSBDUkVBVEUgVEFCTEUgc3RhdGVtZW50LCBzZWUgOnJlZjpgc3FsaXRlX29uX2NvbmZsaWN0X2RkbGAuCgpGcm9tIHZlcnNpb24gMy4yNC4wIG9ud2FyZHMsIFNRTGl0ZSBzdXBwb3J0cyAidXBzZXJ0cyIgKHVwZGF0ZSBvciBpbnNlcnQpCm9mIHJvd3MgaW50byBhIHRhYmxlIHZpYSB0aGUgYGBPTiBDT05GTElDVGBgIGNsYXVzZSBvZiB0aGUgYGBJTlNFUlRgYApzdGF0ZW1lbnQuIEEgY2FuZGlkYXRlIHJvdyB3aWxsIG9ubHkgYmUgaW5zZXJ0ZWQgaWYgdGhhdCByb3cgZG9lcyBub3QgdmlvbGF0ZQphbnkgdW5pcXVlIG9yIHByaW1hcnkga2V5IGNvbnN0cmFpbnRzLiBJbiB0aGUgY2FzZSBvZiBhIHVuaXF1ZSBjb25zdHJhaW50IHZpb2xhdGlvbiwgYQpzZWNvbmRhcnkgYWN0aW9uIGNhbiBvY2N1ciB3aGljaCBjYW4gYmUgZWl0aGVyICJETyBVUERBVEUiLCBpbmRpY2F0aW5nIHRoYXQKdGhlIGRhdGEgaW4gdGhlIHRhcmdldCByb3cgc2hvdWxkIGJlIHVwZGF0ZWQsIG9yICJETyBOT1RISU5HIiwgd2hpY2ggaW5kaWNhdGVzCnRvIHNpbGVudGx5IHNraXAgdGhpcyByb3cuCgpDb25mbGljdHMgYXJlIGRldGVybWluZWQgdXNpbmcgY29sdW1ucyB0aGF0IGFyZSBwYXJ0IG9mIGV4aXN0aW5nIHVuaXF1ZQpjb25zdHJhaW50cyBhbmQgaW5kZXhlcy4gIFRoZXNlIGNvbnN0cmFpbnRzIGFyZSBpZGVudGlmaWVkIGJ5IHN0YXRpbmcgdGhlCmNvbHVtbnMgYW5kIGNvbmRpdGlvbnMgdGhhdCBjb21wcmlzZSB0aGUgaW5kZXhlcy4KClNRTEFsY2hlbXkgcHJvdmlkZXMgYGBPTiBDT05GTElDVGBgIHN1cHBvcnQgdmlhIHRoZSBTUUxpdGUtc3BlY2lmaWMKOmZ1bmM6YF9zcWxpdGUuaW5zZXJ0KClgIGZ1bmN0aW9uLCB3aGljaCBwcm92aWRlcwp0aGUgZ2VuZXJhdGl2ZSBtZXRob2RzIDptZXRoOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb191cGRhdGVgCmFuZCA6bWV0aDpgX3NxbGl0ZS5JbnNlcnQub25fY29uZmxpY3RfZG9fbm90aGluZ2A6CgouLiBzb3VyY2Vjb2RlOjogcHljb24rc3FsCgogICAgPj4+IGZyb20gc3FsYWxjaGVteS5kaWFsZWN0cy5zcWxpdGUgaW1wb3J0IGluc2VydAoKICAgID4+PiBpbnNlcnRfc3RtdCA9IGluc2VydChteV90YWJsZSkudmFsdWVzKAogICAgLi4uICAgICBpZD0ic29tZV9leGlzdGluZ19pZCIsIGRhdGE9Imluc2VydGVkIHZhbHVlIgogICAgLi4uICkKCiAgICA+Pj4gZG9fdXBkYXRlX3N0bXQgPSBpbnNlcnRfc3RtdC5vbl9jb25mbGljdF9kb191cGRhdGUoCiAgICAuLi4gICAgIGluZGV4X2VsZW1lbnRzPVsiaWQiXSwgc2V0Xz1kaWN0KGRhdGE9InVwZGF0ZWQgdmFsdWUiKQogICAgLi4uICkKCiAgICA+Pj4gcHJpbnQoZG9fdXBkYXRlX3N0bXQpCiAgICB7cHJpbnRzcWx9SU5TRVJUIElOVE8gbXlfdGFibGUgKGlkLCBkYXRhKSBWQUxVRVMgKD8sID8pCiAgICBPTiBDT05GTElDVCAoaWQpIERPIFVQREFURSBTRVQgZGF0YSA9ID97c3RvcH0KCiAgICA+Pj4gZG9fbm90aGluZ19zdG10ID0gaW5zZXJ0X3N0bXQub25fY29uZmxpY3RfZG9fbm90aGluZyhpbmRleF9lbGVtZW50cz1bImlkIl0pCgogICAgPj4+IHByaW50KGRvX25vdGhpbmdfc3RtdCkKICAgIHtwcmludHNxbH1JTlNFUlQgSU5UTyBteV90YWJsZSAoaWQsIGRhdGEpIFZBTFVFUyAoPywgPykKICAgIE9OIENPTkZMSUNUIChpZCkgRE8gTk9USElORwoKLi4gdmVyc2lvbmFkZGVkOjogMS40CgouLiBzZWVhbHNvOjoKCiAgICBgVXBzZXJ0CiAgICA8aHR0cHM6Ly9zcWxpdGUub3JnL2xhbmdfVVBTRVJULmh0bWw+YF8KICAgIC0gaW4gdGhlIFNRTGl0ZSBkb2N1bWVudGF0aW9uLgoKClNwZWNpZnlpbmcgdGhlIFRhcmdldApeXl5eXl5eXl5eXl5eXl5eXl5eXl4KCkJvdGggbWV0aG9kcyBzdXBwbHkgdGhlICJ0YXJnZXQiIG9mIHRoZSBjb25mbGljdCB1c2luZyBjb2x1bW4gaW5mZXJlbmNlOgoKKiBUaGUgOnBhcmFtcmVmOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb191cGRhdGUuaW5kZXhfZWxlbWVudHNgIGFyZ3VtZW50CiAgc3BlY2lmaWVzIGEgc2VxdWVuY2UgY29udGFpbmluZyBzdHJpbmcgY29sdW1uIG5hbWVzLCA6Y2xhc3M6YF9zY2hlbWEuQ29sdW1uYAogIG9iamVjdHMsIGFuZC9vciBTUUwgZXhwcmVzc2lvbiBlbGVtZW50cywgd2hpY2ggd291bGQgaWRlbnRpZnkgYSB1bmlxdWUgaW5kZXgKICBvciB1bmlxdWUgY29uc3RyYWludC4KCiogV2hlbiB1c2luZyA6cGFyYW1yZWY6YF9zcWxpdGUuSW5zZXJ0Lm9uX2NvbmZsaWN0X2RvX3VwZGF0ZS5pbmRleF9lbGVtZW50c2AKICB0byBpbmZlciBhbiBpbmRleCwgYSBwYXJ0aWFsIGluZGV4IGNhbiBiZSBpbmZlcnJlZCBieSBhbHNvIHNwZWNpZnlpbmcgdGhlCiAgOnBhcmFtcmVmOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb191cGRhdGUuaW5kZXhfd2hlcmVgIHBhcmFtZXRlcjoKCiAgLi4gc291cmNlY29kZTo6IHB5Y29uK3NxbAoKICAgICAgICA+Pj4gc3RtdCA9IGluc2VydChteV90YWJsZSkudmFsdWVzKHVzZXJfZW1haWw9ImFAYi5jb20iLCBkYXRhPSJpbnNlcnRlZCBkYXRhIikKCiAgICAgICAgPj4+IGRvX3VwZGF0ZV9zdG10ID0gc3RtdC5vbl9jb25mbGljdF9kb191cGRhdGUoCiAgICAgICAgLi4uICAgICBpbmRleF9lbGVtZW50cz1bbXlfdGFibGUuYy51c2VyX2VtYWlsXSwKICAgICAgICAuLi4gICAgIGluZGV4X3doZXJlPW15X3RhYmxlLmMudXNlcl9lbWFpbC5saWtlKCIlQGdtYWlsLmNvbSIpLAogICAgICAgIC4uLiAgICAgc2V0Xz1kaWN0KGRhdGE9c3RtdC5leGNsdWRlZC5kYXRhKSwKICAgICAgICAuLi4gKQoKICAgICAgICA+Pj4gcHJpbnQoZG9fdXBkYXRlX3N0bXQpCiAgICAgICAge3ByaW50c3FsfUlOU0VSVCBJTlRPIG15X3RhYmxlIChkYXRhLCB1c2VyX2VtYWlsKSBWQUxVRVMgKD8sID8pCiAgICAgICAgT04gQ09ORkxJQ1QgKHVzZXJfZW1haWwpCiAgICAgICAgV0hFUkUgdXNlcl9lbWFpbCBMSUtFICclQGdtYWlsLmNvbScKICAgICAgICBETyBVUERBVEUgU0VUIGRhdGEgPSBleGNsdWRlZC5kYXRhCgpUaGUgU0VUIENsYXVzZQpeXl5eXl5eXl5eXl5eXl4KCmBgT04gQ09ORkxJQ1QuLi5ETyBVUERBVEVgYCBpcyB1c2VkIHRvIHBlcmZvcm0gYW4gdXBkYXRlIG9mIHRoZSBhbHJlYWR5CmV4aXN0aW5nIHJvdywgdXNpbmcgYW55IGNvbWJpbmF0aW9uIG9mIG5ldyB2YWx1ZXMgYXMgd2VsbCBhcyB2YWx1ZXMKZnJvbSB0aGUgcHJvcG9zZWQgaW5zZXJ0aW9uLiBUaGVzZSB2YWx1ZXMgYXJlIHNwZWNpZmllZCB1c2luZyB0aGUKOnBhcmFtcmVmOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb191cGRhdGUuc2V0X2AgcGFyYW1ldGVyLiAgVGhpcwpwYXJhbWV0ZXIgYWNjZXB0cyBhIGRpY3Rpb25hcnkgd2hpY2ggY29uc2lzdHMgb2YgZGlyZWN0IHZhbHVlcwpmb3IgVVBEQVRFOgoKLi4gc291cmNlY29kZTo6IHB5Y29uK3NxbAoKICAgID4+PiBzdG10ID0gaW5zZXJ0KG15X3RhYmxlKS52YWx1ZXMoaWQ9InNvbWVfaWQiLCBkYXRhPSJpbnNlcnRlZCB2YWx1ZSIpCgogICAgPj4+IGRvX3VwZGF0ZV9zdG10ID0gc3RtdC5vbl9jb25mbGljdF9kb191cGRhdGUoCiAgICAuLi4gICAgIGluZGV4X2VsZW1lbnRzPVsiaWQiXSwgc2V0Xz1kaWN0KGRhdGE9InVwZGF0ZWQgdmFsdWUiKQogICAgLi4uICkKCiAgICA+Pj4gcHJpbnQoZG9fdXBkYXRlX3N0bXQpCiAgICB7cHJpbnRzcWx9SU5TRVJUIElOVE8gbXlfdGFibGUgKGlkLCBkYXRhKSBWQUxVRVMgKD8sID8pCiAgICBPTiBDT05GTElDVCAoaWQpIERPIFVQREFURSBTRVQgZGF0YSA9ID8KCi4uIHdhcm5pbmc6OgoKICAgIFRoZSA6bWV0aDpgX3NxbGl0ZS5JbnNlcnQub25fY29uZmxpY3RfZG9fdXBkYXRlYCBtZXRob2QgZG9lcyAqKm5vdCoqIHRha2UKICAgIGludG8gYWNjb3VudCBQeXRob24tc2lkZSBkZWZhdWx0IFVQREFURSB2YWx1ZXMgb3IgZ2VuZXJhdGlvbiBmdW5jdGlvbnMsCiAgICBlLmcuIHRob3NlIHNwZWNpZmllZCB1c2luZyA6cGFyYW1yZWY6YF9zY2hlbWEuQ29sdW1uLm9udXBkYXRlYC4gVGhlc2UKICAgIHZhbHVlcyB3aWxsIG5vdCBiZSBleGVyY2lzZWQgZm9yIGFuIE9OIENPTkZMSUNUIHN0eWxlIG9mIFVQREFURSwgdW5sZXNzCiAgICB0aGV5IGFyZSBtYW51YWxseSBzcGVjaWZpZWQgaW4gdGhlCiAgICA6cGFyYW1yZWY6YF9zcWxpdGUuSW5zZXJ0Lm9uX2NvbmZsaWN0X2RvX3VwZGF0ZS5zZXRfYCBkaWN0aW9uYXJ5LgoKVXBkYXRpbmcgdXNpbmcgdGhlIEV4Y2x1ZGVkIElOU0VSVCBWYWx1ZXMKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KCkluIG9yZGVyIHRvIHJlZmVyIHRvIHRoZSBwcm9wb3NlZCBpbnNlcnRpb24gcm93LCB0aGUgc3BlY2lhbCBhbGlhcwo6YXR0cjpgfi5zcWxpdGUuSW5zZXJ0LmV4Y2x1ZGVkYCBpcyBhdmFpbGFibGUgYXMgYW4gYXR0cmlidXRlIG9uCnRoZSA6Y2xhc3M6YF9zcWxpdGUuSW5zZXJ0YCBvYmplY3Q7IHRoaXMgb2JqZWN0IGNyZWF0ZXMgYW4gImV4Y2x1ZGVkLiIgcHJlZml4Cm9uIGEgY29sdW1uLCB0aGF0IGluZm9ybXMgdGhlIERPIFVQREFURSB0byB1cGRhdGUgdGhlIHJvdyB3aXRoIHRoZSB2YWx1ZSB0aGF0CndvdWxkIGhhdmUgYmVlbiBpbnNlcnRlZCBoYWQgdGhlIGNvbnN0cmFpbnQgbm90IGZhaWxlZDoKCi4uIHNvdXJjZWNvZGU6OiBweWNvbitzcWwKCiAgICA+Pj4gc3RtdCA9IGluc2VydChteV90YWJsZSkudmFsdWVzKAogICAgLi4uICAgICBpZD0ic29tZV9pZCIsIGRhdGE9Imluc2VydGVkIHZhbHVlIiwgYXV0aG9yPSJqbGgiCiAgICAuLi4gKQoKICAgID4+PiBkb191cGRhdGVfc3RtdCA9IHN0bXQub25fY29uZmxpY3RfZG9fdXBkYXRlKAogICAgLi4uICAgICBpbmRleF9lbGVtZW50cz1bImlkIl0sCiAgICAuLi4gICAgIHNldF89ZGljdChkYXRhPSJ1cGRhdGVkIHZhbHVlIiwgYXV0aG9yPXN0bXQuZXhjbHVkZWQuYXV0aG9yKSwKICAgIC4uLiApCgogICAgPj4+IHByaW50KGRvX3VwZGF0ZV9zdG10KQogICAge3ByaW50c3FsfUlOU0VSVCBJTlRPIG15X3RhYmxlIChpZCwgZGF0YSwgYXV0aG9yKSBWQUxVRVMgKD8sID8sID8pCiAgICBPTiBDT05GTElDVCAoaWQpIERPIFVQREFURSBTRVQgZGF0YSA9ID8sIGF1dGhvciA9IGV4Y2x1ZGVkLmF1dGhvcgoKQWRkaXRpb25hbCBXSEVSRSBDcml0ZXJpYQpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpUaGUgOm1ldGg6YF9zcWxpdGUuSW5zZXJ0Lm9uX2NvbmZsaWN0X2RvX3VwZGF0ZWAgbWV0aG9kIGFsc28gYWNjZXB0cwphIFdIRVJFIGNsYXVzZSB1c2luZyB0aGUgOnBhcmFtcmVmOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb191cGRhdGUud2hlcmVgCnBhcmFtZXRlciwgd2hpY2ggd2lsbCBsaW1pdCB0aG9zZSByb3dzIHdoaWNoIHJlY2VpdmUgYW4gVVBEQVRFOgoKLi4gc291cmNlY29kZTo6IHB5Y29uK3NxbAoKICAgID4+PiBzdG10ID0gaW5zZXJ0KG15X3RhYmxlKS52YWx1ZXMoCiAgICAuLi4gICAgIGlkPSJzb21lX2lkIiwgZGF0YT0iaW5zZXJ0ZWQgdmFsdWUiLCBhdXRob3I9ImpsaCIKICAgIC4uLiApCgogICAgPj4+IG9uX3VwZGF0ZV9zdG10ID0gc3RtdC5vbl9jb25mbGljdF9kb191cGRhdGUoCiAgICAuLi4gICAgIGluZGV4X2VsZW1lbnRzPVsiaWQiXSwKICAgIC4uLiAgICAgc2V0Xz1kaWN0KGRhdGE9InVwZGF0ZWQgdmFsdWUiLCBhdXRob3I9c3RtdC5leGNsdWRlZC5hdXRob3IpLAogICAgLi4uICAgICB3aGVyZT0obXlfdGFibGUuYy5zdGF0dXMgPT0gMiksCiAgICAuLi4gKQogICAgPj4+IHByaW50KG9uX3VwZGF0ZV9zdG10KQogICAge3ByaW50c3FsfUlOU0VSVCBJTlRPIG15X3RhYmxlIChpZCwgZGF0YSwgYXV0aG9yKSBWQUxVRVMgKD8sID8sID8pCiAgICBPTiBDT05GTElDVCAoaWQpIERPIFVQREFURSBTRVQgZGF0YSA9ID8sIGF1dGhvciA9IGV4Y2x1ZGVkLmF1dGhvcgogICAgV0hFUkUgbXlfdGFibGUuc3RhdHVzID0gPwoKClNraXBwaW5nIFJvd3Mgd2l0aCBETyBOT1RISU5HCl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpgYE9OIENPTkZMSUNUYGAgbWF5IGJlIHVzZWQgdG8gc2tpcCBpbnNlcnRpbmcgYSByb3cgZW50aXJlbHkKaWYgYW55IGNvbmZsaWN0IHdpdGggYSB1bmlxdWUgY29uc3RyYWludCBvY2N1cnM7IGJlbG93IHRoaXMgaXMgaWxsdXN0cmF0ZWQKdXNpbmcgdGhlIDptZXRoOmBfc3FsaXRlLkluc2VydC5vbl9jb25mbGljdF9kb19ub3RoaW5nYCBtZXRob2Q6CgouLiBzb3VyY2Vjb2RlOjogcHljb24rc3FsCgogICAgPj4+IHN0bXQgPSBpbnNlcnQobXlfdGFibGUpLnZhbHVlcyhpZD0ic29tZV9pZCIsIGRhdGE9Imluc2VydGVkIHZhbHVlIikKICAgID4+PiBzdG10ID0gc3RtdC5vbl9jb25mbGljdF9kb19ub3RoaW5nKGluZGV4X2VsZW1lbnRzPVsiaWQiXSkKICAgID4+PiBwcmludChzdG10KQogICAge3ByaW50c3FsfUlOU0VSVCBJTlRPIG15X3RhYmxlIChpZCwgZGF0YSkgVkFMVUVTICg/LCA/KSBPTiBDT05GTElDVCAoaWQpIERPIE5PVEhJTkcKCgpJZiBgYERPIE5PVEhJTkdgYCBpcyB1c2VkIHdpdGhvdXQgc3BlY2lmeWluZyBhbnkgY29sdW1ucyBvciBjb25zdHJhaW50LAppdCBoYXMgdGhlIGVmZmVjdCBvZiBza2lwcGluZyB0aGUgSU5TRVJUIGZvciBhbnkgdW5pcXVlIHZpb2xhdGlvbiB3aGljaApvY2N1cnM6CgouLiBzb3VyY2Vjb2RlOjogcHljb24rc3FsCgogICAgPj4+IHN0bXQgPSBpbnNlcnQobXlfdGFibGUpLnZhbHVlcyhpZD0ic29tZV9pZCIsIGRhdGE9Imluc2VydGVkIHZhbHVlIikKICAgID4+PiBzdG10ID0gc3RtdC5vbl9jb25mbGljdF9kb19ub3RoaW5nKCkKICAgID4+PiBwcmludChzdG10KQogICAge3ByaW50c3FsfUlOU0VSVCBJTlRPIG15X3RhYmxlIChpZCwgZGF0YSkgVkFMVUVTICg/LCA/KSBPTiBDT05GTElDVCBETyBOT1RISU5HCgouLiBfc3FsaXRlX3R5cGVfcmVmbGVjdGlvbjoKClR5cGUgUmVmbGVjdGlvbgotLS0tLS0tLS0tLS0tLS0KClNRTGl0ZSB0eXBlcyBhcmUgdW5saWtlIHRob3NlIG9mIG1vc3Qgb3RoZXIgZGF0YWJhc2UgYmFja2VuZHMsIGluIHRoYXQKdGhlIHN0cmluZyBuYW1lIG9mIHRoZSB0eXBlIHVzdWFsbHkgZG9lcyBub3QgY29ycmVzcG9uZCB0byBhICJ0eXBlIiBpbiBhCm9uZS10by1vbmUgZmFzaGlvbi4gIEluc3RlYWQsIFNRTGl0ZSBsaW5rcyBwZXItY29sdW1uIHR5cGluZyBiZWhhdmlvcgp0byBvbmUgb2YgZml2ZSBzby1jYWxsZWQgInR5cGUgYWZmaW5pdGllcyIgYmFzZWQgb24gYSBzdHJpbmcgbWF0Y2hpbmcKcGF0dGVybiBmb3IgdGhlIHR5cGUuCgpTUUxBbGNoZW15J3MgcmVmbGVjdGlvbiBwcm9jZXNzLCB3aGVuIGluc3BlY3RpbmcgdHlwZXMsIHVzZXMgYSBzaW1wbGUKbG9va3VwIHRhYmxlIHRvIGxpbmsgdGhlIGtleXdvcmRzIHJldHVybmVkIHRvIHByb3ZpZGVkIFNRTEFsY2hlbXkgdHlwZXMuClRoaXMgbG9va3VwIHRhYmxlIGlzIHByZXNlbnQgd2l0aGluIHRoZSBTUUxpdGUgZGlhbGVjdCBhcyBpdCBpcyBmb3IgYWxsCm90aGVyIGRpYWxlY3RzLiAgSG93ZXZlciwgdGhlIFNRTGl0ZSBkaWFsZWN0IGhhcyBhIGRpZmZlcmVudCAiZmFsbGJhY2siCnJvdXRpbmUgZm9yIHdoZW4gYSBwYXJ0aWN1bGFyIHR5cGUgbmFtZSBpcyBub3QgbG9jYXRlZCBpbiB0aGUgbG9va3VwIG1hcDsKaXQgaW5zdGVhZCBpbXBsZW1lbnRzIHRoZSBTUUxpdGUgInR5cGUgYWZmaW5pdHkiIHNjaGVtZSBsb2NhdGVkIGF0Cmh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvZGF0YXR5cGUzLmh0bWwgc2VjdGlvbiAyLjEuCgpUaGUgcHJvdmlkZWQgdHlwZW1hcCB3aWxsIG1ha2UgZGlyZWN0IGFzc29jaWF0aW9ucyBmcm9tIGFuIGV4YWN0IHN0cmluZwpuYW1lIG1hdGNoIGZvciB0aGUgZm9sbG93aW5nIHR5cGVzOgoKOmNsYXNzOmBfdHlwZXMuQklHSU5UYCwgOmNsYXNzOmBfdHlwZXMuQkxPQmAsCjpjbGFzczpgX3R5cGVzLkJPT0xFQU5gLCA6Y2xhc3M6YF90eXBlcy5CT09MRUFOYCwKOmNsYXNzOmBfdHlwZXMuQ0hBUmAsIDpjbGFzczpgX3R5cGVzLkRBVEVgLAo6Y2xhc3M6YF90eXBlcy5EQVRFVElNRWAsIDpjbGFzczpgX3R5cGVzLkZMT0FUYCwKOmNsYXNzOmBfdHlwZXMuREVDSU1BTGAsIDpjbGFzczpgX3R5cGVzLkZMT0FUYCwKOmNsYXNzOmBfdHlwZXMuSU5URUdFUmAsIDpjbGFzczpgX3R5cGVzLklOVEVHRVJgLAo6Y2xhc3M6YF90eXBlcy5OVU1FUklDYCwgOmNsYXNzOmBfdHlwZXMuUkVBTGAsCjpjbGFzczpgX3R5cGVzLlNNQUxMSU5UYCwgOmNsYXNzOmBfdHlwZXMuVEVYVGAsCjpjbGFzczpgX3R5cGVzLlRJTUVgLCA6Y2xhc3M6YF90eXBlcy5USU1FU1RBTVBgLAo6Y2xhc3M6YF90eXBlcy5WQVJDSEFSYCwgOmNsYXNzOmBfdHlwZXMuTlZBUkNIQVJgLAo6Y2xhc3M6YF90eXBlcy5OQ0hBUmAKCldoZW4gYSB0eXBlIG5hbWUgZG9lcyBub3QgbWF0Y2ggb25lIG9mIHRoZSBhYm92ZSB0eXBlcywgdGhlICJ0eXBlIGFmZmluaXR5Igpsb29rdXAgaXMgdXNlZCBpbnN0ZWFkOgoKKiA6Y2xhc3M6YF90eXBlcy5JTlRFR0VSYCBpcyByZXR1cm5lZCBpZiB0aGUgdHlwZSBuYW1lIGluY2x1ZGVzIHRoZQogIHN0cmluZyBgYElOVGBgCiogOmNsYXNzOmBfdHlwZXMuVEVYVGAgaXMgcmV0dXJuZWQgaWYgdGhlIHR5cGUgbmFtZSBpbmNsdWRlcyB0aGUKICBzdHJpbmcgYGBDSEFSYGAsIGBgQ0xPQmBgIG9yIGBgVEVYVGBgCiogOmNsYXNzOmBfdHlwZXMuTnVsbFR5cGVgIGlzIHJldHVybmVkIGlmIHRoZSB0eXBlIG5hbWUgaW5jbHVkZXMgdGhlCiAgc3RyaW5nIGBgQkxPQmBgCiogOmNsYXNzOmBfdHlwZXMuUkVBTGAgaXMgcmV0dXJuZWQgaWYgdGhlIHR5cGUgbmFtZSBpbmNsdWRlcyB0aGUgc3RyaW5nCiAgYGBSRUFMYGAsIGBgRkxPQWBgIG9yIGBgRE9VQmBgLgoqIE90aGVyd2lzZSwgdGhlIDpjbGFzczpgX3R5cGVzLk5VTUVSSUNgIHR5cGUgaXMgdXNlZC4KCi4uIF9zcWxpdGVfcGFydGlhbF9pbmRleDoKClBhcnRpYWwgSW5kZXhlcwotLS0tLS0tLS0tLS0tLS0KCkEgcGFydGlhbCBpbmRleCwgZS5nLiBvbmUgd2hpY2ggdXNlcyBhIFdIRVJFIGNsYXVzZSwgY2FuIGJlIHNwZWNpZmllZAp3aXRoIHRoZSBEREwgc3lzdGVtIHVzaW5nIHRoZSBhcmd1bWVudCBgYHNxbGl0ZV93aGVyZWBgOjoKCiAgICB0YmwgPSBUYWJsZSgidGVzdHRibCIsIG0sIENvbHVtbigiZGF0YSIsIEludGVnZXIpKQogICAgaWR4ID0gSW5kZXgoCiAgICAgICAgInRlc3RfaWR4MSIsCiAgICAgICAgdGJsLmMuZGF0YSwKICAgICAgICBzcWxpdGVfd2hlcmU9YW5kXyh0YmwuYy5kYXRhID4gNSwgdGJsLmMuZGF0YSA8IDEwKSwKICAgICkKClRoZSBpbmRleCB3aWxsIGJlIHJlbmRlcmVkIGF0IGNyZWF0ZSB0aW1lIGFzOgoKLi4gc291cmNlY29kZTo6IHNxbAoKICAgIENSRUFURSBJTkRFWCB0ZXN0X2lkeDEgT04gdGVzdHRibCAoZGF0YSkKICAgIFdIRVJFIGRhdGEgPiA1IEFORCBkYXRhIDwgMTAKCi4uIF9zcWxpdGVfZG90dGVkX2NvbHVtbl9uYW1lczoKCkRvdHRlZCBDb2x1bW4gTmFtZXMKLS0tLS0tLS0tLS0tLS0tLS0tLQoKVXNpbmcgdGFibGUgb3IgY29sdW1uIG5hbWVzIHRoYXQgZXhwbGljaXRseSBoYXZlIHBlcmlvZHMgaW4gdGhlbSBpcwoqKm5vdCByZWNvbW1lbmRlZCoqLiAgIFdoaWxlIHRoaXMgaXMgZ2VuZXJhbGx5IGEgYmFkIGlkZWEgZm9yIHJlbGF0aW9uYWwKZGF0YWJhc2VzIGluIGdlbmVyYWwsIGFzIHRoZSBkb3QgaXMgYSBzeW50YWN0aWNhbGx5IHNpZ25pZmljYW50IGNoYXJhY3RlciwKdGhlIFNRTGl0ZSBkcml2ZXIgdXAgdW50aWwgdmVyc2lvbiAqKjMuMTAuMCoqIG9mIFNRTGl0ZSBoYXMgYSBidWcgd2hpY2gKcmVxdWlyZXMgdGhhdCBTUUxBbGNoZW15IGZpbHRlciBvdXQgdGhlc2UgZG90cyBpbiByZXN1bHQgc2V0cy4KClRoZSBidWcsIGVudGlyZWx5IG91dHNpZGUgb2YgU1FMQWxjaGVteSwgY2FuIGJlIGlsbHVzdHJhdGVkIHRodXNseTo6CgogICAgaW1wb3J0IHNxbGl0ZTMKCiAgICBhc3NlcnQgc3FsaXRlMy5zcWxpdGVfdmVyc2lvbl9pbmZvIDwgKAogICAgICAgIDMsCiAgICAgICAgMTAsCiAgICAgICAgMCwKICAgICksICJidWcgaXMgZml4ZWQgaW4gdGhpcyB2ZXJzaW9uIgoKICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoIjptZW1vcnk6IikKICAgIGN1cnNvciA9IGNvbm4uY3Vyc29yKCkKCiAgICBjdXJzb3IuZXhlY3V0ZSgiY3JlYXRlIHRhYmxlIHggKGEgaW50ZWdlciwgYiBpbnRlZ2VyKSIpCiAgICBjdXJzb3IuZXhlY3V0ZSgiaW5zZXJ0IGludG8geCAoYSwgYikgdmFsdWVzICgxLCAxKSIpCiAgICBjdXJzb3IuZXhlY3V0ZSgiaW5zZXJ0IGludG8geCAoYSwgYikgdmFsdWVzICgyLCAyKSIpCgogICAgY3Vyc29yLmV4ZWN1dGUoInNlbGVjdCB4LmEsIHguYiBmcm9tIHgiKQogICAgYXNzZXJ0IFtjWzBdIGZvciBjIGluIGN1cnNvci5kZXNjcmlwdGlvbl0gPT0gWyJhIiwgImIiXQoKICAgIGN1cnNvci5leGVjdXRlKAogICAgICAgICIiIgogICAgICAgIHNlbGVjdCB4LmEsIHguYiBmcm9tIHggd2hlcmUgYT0xCiAgICAgICAgdW5pb24KICAgICAgICBzZWxlY3QgeC5hLCB4LmIgZnJvbSB4IHdoZXJlIGE9MgogICAgICAgICIiIgogICAgKQogICAgYXNzZXJ0IFtjWzBdIGZvciBjIGluIGN1cnNvci5kZXNjcmlwdGlvbl0gPT0gWyJhIiwgImIiXSwgWwogICAgICAgIGNbMF0gZm9yIGMgaW4gY3Vyc29yLmRlc2NyaXB0aW9uCiAgICBdCgpUaGUgc2Vjb25kIGFzc2VydGlvbiBmYWlsczoKCi4uIHNvdXJjZWNvZGU6OiB0ZXh0CgogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICBGaWxlICJ0ZXN0LnB5IiwgbGluZSAxOSwgaW4gPG1vZHVsZT4KICAgICAgICBbY1swXSBmb3IgYyBpbiBjdXJzb3IuZGVzY3JpcHRpb25dCiAgICBBc3NlcnRpb25FcnJvcjogWyd4LmEnLCAneC5iJ10KCldoZXJlIGFib3ZlLCB0aGUgZHJpdmVyIGluY29ycmVjdGx5IHJlcG9ydHMgdGhlIG5hbWVzIG9mIHRoZSBjb2x1bW5zCmluY2x1ZGluZyB0aGUgbmFtZSBvZiB0aGUgdGFibGUsIHdoaWNoIGlzIGVudGlyZWx5IGluY29uc2lzdGVudCB2cy4Kd2hlbiB0aGUgVU5JT04gaXMgbm90IHByZXNlbnQuCgpTUUxBbGNoZW15IHJlbGllcyB1cG9uIGNvbHVtbiBuYW1lcyBiZWluZyBwcmVkaWN0YWJsZSBpbiBob3cgdGhleSBtYXRjaAp0byB0aGUgb3JpZ2luYWwgc3RhdGVtZW50LCBzbyB0aGUgU1FMQWxjaGVteSBkaWFsZWN0IGhhcyBubyBjaG9pY2UgYnV0CnRvIGZpbHRlciB0aGVzZSBvdXQ6OgoKCiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGNyZWF0ZV9lbmdpbmUKCiAgICBlbmcgPSBjcmVhdGVfZW5naW5lKCJzcWxpdGU6Ly8iKQogICAgY29ubiA9IGVuZy5jb25uZWN0KCkKCiAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgiY3JlYXRlIHRhYmxlIHggKGEgaW50ZWdlciwgYiBpbnRlZ2VyKSIpCiAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgiaW5zZXJ0IGludG8geCAoYSwgYikgdmFsdWVzICgxLCAxKSIpCiAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgiaW5zZXJ0IGludG8geCAoYSwgYikgdmFsdWVzICgyLCAyKSIpCgogICAgcmVzdWx0ID0gY29ubi5leGVjX2RyaXZlcl9zcWwoInNlbGVjdCB4LmEsIHguYiBmcm9tIHgiKQogICAgYXNzZXJ0IHJlc3VsdC5rZXlzKCkgPT0gWyJhIiwgImIiXQoKICAgIHJlc3VsdCA9IGNvbm4uZXhlY19kcml2ZXJfc3FsKAogICAgICAgICIiIgogICAgICAgIHNlbGVjdCB4LmEsIHguYiBmcm9tIHggd2hlcmUgYT0xCiAgICAgICAgdW5pb24KICAgICAgICBzZWxlY3QgeC5hLCB4LmIgZnJvbSB4IHdoZXJlIGE9MgogICAgICAgICIiIgogICAgKQogICAgYXNzZXJ0IHJlc3VsdC5rZXlzKCkgPT0gWyJhIiwgImIiXQoKTm90ZSB0aGF0IGFib3ZlLCBldmVuIHRob3VnaCBTUUxBbGNoZW15IGZpbHRlcnMgb3V0IHRoZSBkb3RzLCAqYm90aApuYW1lcyBhcmUgc3RpbGwgYWRkcmVzc2FibGUqOjoKCiAgICA+Pj4gcm93ID0gcmVzdWx0LmZpcnN0KCkKICAgID4+PiByb3dbImEiXQogICAgMQogICAgPj4+IHJvd1sieC5hIl0KICAgIDEKICAgID4+PiByb3dbImIiXQogICAgMQogICAgPj4+IHJvd1sieC5iIl0KICAgIDEKClRoZXJlZm9yZSwgdGhlIHdvcmthcm91bmQgYXBwbGllZCBieSBTUUxBbGNoZW15IG9ubHkgaW1wYWN0cwo6bWV0aDpgX2VuZ2luZS5DdXJzb3JSZXN1bHQua2V5c2AgYW5kIDptZXRoOmAuUm93LmtleXMoKWAgaW4gdGhlIHB1YmxpYyBBUEkuIEluCnRoZSB2ZXJ5IHNwZWNpZmljIGNhc2Ugd2hlcmUgYW4gYXBwbGljYXRpb24gaXMgZm9yY2VkIHRvIHVzZSBjb2x1bW4gbmFtZXMgdGhhdApjb250YWluIGRvdHMsIGFuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiA6bWV0aDpgX2VuZ2luZS5DdXJzb3JSZXN1bHQua2V5c2AgYW5kCjptZXRoOmAuUm93LmtleXMoKWAgaXMgcmVxdWlyZWQgdG8gcmV0dXJuIHRoZXNlIGRvdHRlZCBuYW1lcyB1bm1vZGlmaWVkLAp0aGUgYGBzcWxpdGVfcmF3X2NvbG5hbWVzYGAgZXhlY3V0aW9uIG9wdGlvbiBtYXkgYmUgcHJvdmlkZWQsIGVpdGhlciBvbiBhCnBlci06Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgYmFzaXM6OgoKICAgIHJlc3VsdCA9IGNvbm4uZXhlY3V0aW9uX29wdGlvbnMoc3FsaXRlX3Jhd19jb2xuYW1lcz1UcnVlKS5leGVjX2RyaXZlcl9zcWwoCiAgICAgICAgIiIiCiAgICAgICAgc2VsZWN0IHguYSwgeC5iIGZyb20geCB3aGVyZSBhPTEKICAgICAgICB1bmlvbgogICAgICAgIHNlbGVjdCB4LmEsIHguYiBmcm9tIHggd2hlcmUgYT0yCiAgICAgICAgIiIiCiAgICApCiAgICBhc3NlcnQgcmVzdWx0LmtleXMoKSA9PSBbInguYSIsICJ4LmIiXQoKb3Igb24gYSBwZXItOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAgYmFzaXM6OgoKICAgIGVuZ2luZSA9IGNyZWF0ZV9lbmdpbmUoCiAgICAgICAgInNxbGl0ZTovLyIsIGV4ZWN1dGlvbl9vcHRpb25zPXsic3FsaXRlX3Jhd19jb2xuYW1lcyI6IFRydWV9CiAgICApCgpXaGVuIHVzaW5nIHRoZSBwZXItOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAgZXhlY3V0aW9uIG9wdGlvbiwgbm90ZSB0aGF0CioqQ29yZSBhbmQgT1JNIHF1ZXJpZXMgdGhhdCB1c2UgVU5JT04gbWF5IG5vdCBmdW5jdGlvbiBwcm9wZXJseSoqLgoKU1FMaXRlLXNwZWNpZmljIHRhYmxlIG9wdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk9uZSBvcHRpb24gZm9yIENSRUFURSBUQUJMRSBpcyBzdXBwb3J0ZWQgZGlyZWN0bHkgYnkgdGhlIFNRTGl0ZQpkaWFsZWN0IGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIDpjbGFzczpgX3NjaGVtYS5UYWJsZWAgY29uc3RydWN0OgoKKiBgYFdJVEhPVVQgUk9XSURgYDo6CgogICAgVGFibGUoInNvbWVfdGFibGUiLCBtZXRhZGF0YSwgLi4uLCBzcWxpdGVfd2l0aF9yb3dpZD1GYWxzZSkKCioKICBgYFNUUklDVGBgOjoKCiAgICBUYWJsZSgic29tZV90YWJsZSIsIG1ldGFkYXRhLCAuLi4sIHNxbGl0ZV9zdHJpY3Q9VHJ1ZSkKCiAgLi4gdmVyc2lvbmFkZGVkOjogMi4wLjM3CgouLiBzZWVhbHNvOjoKCiAgICBgU1FMaXRlIENSRUFURSBUQUJMRSBvcHRpb25zCiAgICA8aHR0cHM6Ly93d3cuc3FsaXRlLm9yZy9sYW5nX2NyZWF0ZXRhYmxlLmh0bWw+YF8KCi4uIF9zcWxpdGVfaW5jbHVkZV9pbnRlcm5hbDoKClJlZmxlY3RpbmcgaW50ZXJuYWwgc2NoZW1hIHRhYmxlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpSZWZsZWN0aW9uIG1ldGhvZHMgdGhhdCByZXR1cm4gbGlzdHMgb2YgdGFibGVzIHdpbGwgb21pdCBzby1jYWxsZWQKIlNRTGl0ZSBpbnRlcm5hbCBzY2hlbWEgb2JqZWN0IiBuYW1lcywgd2hpY2ggYXJlIGNvbnNpZGVyZWQgYnkgU1FMaXRlCmFzIGFueSBvYmplY3QgbmFtZSB0aGF0IGlzIHByZWZpeGVkIHdpdGggYGBzcWxpdGVfYGAuICBBbiBleGFtcGxlIG9mCnN1Y2ggYW4gb2JqZWN0IGlzIHRoZSBgYHNxbGl0ZV9zZXF1ZW5jZWBgIHRhYmxlIHRoYXQncyBnZW5lcmF0ZWQgd2hlbgp0aGUgYGBBVVRPSU5DUkVNRU5UYGAgY29sdW1uIHBhcmFtZXRlciBpcyB1c2VkLiAgIEluIG9yZGVyIHRvIHJldHVybgp0aGVzZSBvYmplY3RzLCB0aGUgcGFyYW1ldGVyIGBgc3FsaXRlX2luY2x1ZGVfaW50ZXJuYWw9VHJ1ZWBgIG1heSBiZQpwYXNzZWQgdG8gbWV0aG9kcyBzdWNoIGFzIDptZXRoOmBfc2NoZW1hLk1ldGFEYXRhLnJlZmxlY3RgIG9yCjptZXRoOmAuSW5zcGVjdG9yLmdldF90YWJsZV9uYW1lc2AuCgouLiB2ZXJzaW9uYWRkZWQ6OiAyLjAgIEFkZGVkIHRoZSBgYHNxbGl0ZV9pbmNsdWRlX2ludGVybmFsPVRydWVgYCBwYXJhbWV0ZXIuCiAgIFByZXZpb3VzbHksIHRoZXNlIHRhYmxlcyB3ZXJlIG5vdCBpZ25vcmVkIGJ5IFNRTEFsY2hlbXkgcmVmbGVjdGlvbgogICBtZXRob2RzLgoKLi4gbm90ZTo6CgogICAgVGhlIGBgc3FsaXRlX2luY2x1ZGVfaW50ZXJuYWxgYCBwYXJhbWV0ZXIgZG9lcyBub3QgcmVmZXIgdG8gdGhlCiAgICAic3lzdGVtIiB0YWJsZXMgdGhhdCBhcmUgcHJlc2VudCBpbiBzY2hlbWFzIHN1Y2ggYXMgYGBzcWxpdGVfbWFzdGVyYGAuCgouLiBzZWVhbHNvOjoKCiAgICBgU1FMaXRlIEludGVybmFsIFNjaGVtYSBPYmplY3RzIDxodHRwczovL3d3dy5zcWxpdGUub3JnL2ZpbGVmb3JtYXQyLmh0bWwjaW50c2NoZW1hPmBfIC0gaW4gdGhlIFNRTGl0ZQogICAgZG9jdW1lbnRhdGlvbi4KCukAAAAAKQHaC2Fubm90YXRpb25zTikB2ghPcHRpb25hbOkBAAAAKQHaBEpTT04pAdoNSlNPTkluZGV4VHlwZSkB2gxKU09OUGF0aFR5cGXpAwAAACkB2gNleGOpAdoGc2NoZW1hKQHaA3NxbCkB2gR0ZXh0KQHaBXR5cGVzKQHaBHV0aWwpAdoHZGVmYXVsdCkB2gpwcm9jZXNzb3JzKQHaCnJlZmxlY3Rpb24pAdoSUmVmbGVjdGlvbkRlZmF1bHRzKQHaCWNvZXJjaW9ucykB2g1Db2x1bW5FbGVtZW50KQHaCGNvbXBpbGVyKQHaCGVsZW1lbnRzKQHaBXJvbGVzKQHaBEJMT0IpAdoHQk9PTEVBTikB2gRDSEFSKQHaB0RFQ0lNQUwpAdoFRkxPQVQpAdoHSU5URUdFUikB2gdOVU1FUklDKQHaBFJFQUwpAdoIU01BTExJTlQpAdoEVEVYVCkB2glUSU1FU1RBTVApAdoHVkFSQ0hBUmMAAAAAAAAAAAAAAAACAAAAAAAAAfMeAAAAhwCXAGUAWgFkAFoCiABmAWQBhAhaA4gAeAFaBFMAKQLaC19TUWxpdGVKc29uYwMAAAAAAAAAAAAAAAQAAAADAAAB8zQAAACVAYcElwB0AAAAAAAAAAAAiQV8AI0FAAB8AXwCqwIAAAAAAACKBIgEZgFkAYQIfQN8A1MAKQJOYwEAAAAAAAAAAAAAAAUA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dGVycywgc3VjaCBhczo6CgogICAgICAgIGltcG9ydCByZQogICAgICAgIGZyb20gc3FsYWxjaGVteS5kaWFsZWN0cy5zcWxpdGUgaW1wb3J0IERBVEVUSU1FCgogICAgICAgIGR0ID0gREFURVRJTUUoCiAgICAgICAgICAgIHN0b3JhZ2VfZm9ybWF0PSgKICAgICAgICAgICAgICAgICIlKHllYXIpMDRkLyUobW9udGgpMDJkLyUoZGF5KTAyZCAlKGhvdXIpMDJkOiUobWludXRlKTAyZDolKHNlY29uZCkwMmQiCiAgICAgICAgICAgICksCiAgICAgICAgICAgIHJlZ2V4cD1yIihcZCspLyhcZCspLyhcZCspIChcZCspLShcZCspLShcZCspIiwKICAgICAgICApCgogICAgOnBhcmFtIHN0b3JhZ2VfZm9ybWF0OiBmb3JtYXQgc3RyaW5nIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgZGljdAogICAgIHdpdGgga2V5cyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgYW5kIG1pY3Jvc2Vjb25kLgoKICAgIDpwYXJhbSByZWdleHA6IHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCB3aWxsIGJlIGFwcGxpZWQgdG8gaW5jb21pbmcgcmVzdWx0CiAgICAgcm93cywgcmVwbGFjaW5nIHRoZSB1c2Ugb2YgYGBkYXRldGltZS5mcm9taXNvZm9ybWF0KClgYCB0byBwYXJzZSBpbmNvbWluZwogICAgIHN0cmluZ3MuIElmIHRoZSByZWdleHAgY29udGFpbnMgbmFtZWQgZ3JvdXBzLCB0aGUgcmVzdWx0aW5nIG1hdGNoIGRpY3QgaXMKICAgICBhcHBsaWVkIHRvIHRoZSBQeXRob24gZGF0ZXRpbWUoKSBjb25zdHJ1Y3RvciBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KICAgICBPdGhlcndpc2UsIGlmIHBvc2l0aW9uYWwgZ3JvdXBzIGFyZSB1c2VkLCB0aGUgZGF0ZXRpbWUoKSBjb25zdHJ1Y3RvcgogICAgIGlzIGNhbGxlZCB3aXRoIHBvc2l0aW9uYWwgYXJndW1lbnRzIHZpYQogICAgIGBg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aGUKICAgIFB5dGhvbiBgYGRhdGUuZnJvbWlzb2Zvcm1hdCgpYGAgZnVuY3Rpb24uCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAyLjAgIGBgZGF0ZS5mcm9taXNvZm9ybWF0KClgYCBpcyB1c2VkIGZvciBkZWZhdWx0CiAgICAgICBkYXRlIHN0cmluZyBwYXJzaW5nLgoKCiAgICBUaGUgc3RvcmFnZSBmb3JtYXQgY2FuIGJlIGN1c3RvbWl6ZWQgdG8gc29tZSBkZWdyZWUgdXNpbmcgdGhlCiAgICBgYHN0b3JhZ2VfZm9ybWF0YGAgYW5kIGBgcmVnZXhwYGAgcGFyYW1ldGVycywgc3VjaCBhczo6CgogICAgICAgIGltcG9ydCByZQogICAgICAgIGZyb20gc3FsYWxjaGVteS5kaWFsZWN0cy5zcWxpdGUgaW1wb3J0IERBVEUKCiAgICAgICAgZCA9IERBVEUoCiAgICAgICAgICAgIHN0b3JhZ2VfZm9ybWF0PSIlKG1vbnRoKTAyZC8lKGRheSkwMmQvJSh5ZWFyKTA0ZCIsCiAgICAgICAgICAgIHJlZ2V4cD1yZS5jb21waWxlKCIoP1A8bW9udGg+XGQrKS8oP1A8ZGF5PlxkKykvKD9QPHllYXI+XGQrKSIpLAogICAgICAgICkKCiAgICA6cGFyYW0gc3RvcmFnZV9mb3JtYXQ6IGZvcm1hdCBzdHJpbmcgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZQogICAgIGRpY3Qgd2l0aCBrZXlzIHllYXIsIG1vbnRoLCBhbmQgZGF5LgoKICAgIDpwYXJhbSByZWdleHA6IHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCB3aWxsIGJlIGFwcGxpZWQgdG8KICAgICBpbmNvbWluZyByZXN1bHQgcm93cywgcmVwbGFjaW5nIHRoZSB1c2Ugb2YgYGBkYXRlLmZyb21pc29mb3JtYXQoKWBgIHRvCiAgICAgcGFyc2UgaW5jb21pbmcgc3RyaW5ncy4gSWYgdGhlIHJlZ2V4cCBjb250YWlucyBuYW1lZCBncm91cHMsIHRoZSByZXN1bHRpbmcKICAgICBtYXRjaCBkaWN0IGlzIGFwcGxpZWQgdG8gdGhlIFB5dGhvbiBkYXRlKCkg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ZnJvbWlzb2Zvcm1hdCgpYGAgaXMgdXNlZCBmb3IgZGVmYXVsdAogICAgICAgdGltZSBzdHJpbmcgcGFyc2luZy4KCiAgICBUaGUgc3RvcmFnZSBmb3JtYXQgY2FuIGJlIGN1c3RvbWl6ZWQgdG8gc29tZSBkZWdyZWUgdXNpbmcgdGhlCiAgICBgYHN0b3JhZ2VfZm9ybWF0YGAgYW5kIGBgcmVnZXhwYGAgcGFyYW1ldGVycywgc3VjaCBhczo6CgogICAgICAgIGltcG9ydCByZQogICAgICAgIGZyb20gc3FsYWxjaGVteS5kaWFsZWN0cy5zcWxpdGUgaW1wb3J0IFRJTUUKCiAgICAgICAgdCA9IFRJTUUoCiAgICAgICAgICAgIHN0b3JhZ2VfZm9ybWF0PSIlKGhvdXIpMDJkLSUobWludXRlKTAyZC0lKHNlY29uZCkwMmQtJShtaWNyb3NlY29uZCkwNmQiLAogICAgICAgICAgICByZWdleHA9cmUuY29tcGlsZSgiKFxkKyktKFxkKyktKFxkKyktKD86LShcZCspKT8iKSwKICAgICAgICApCgogICAgOnBhcmFtIHN0b3JhZ2VfZm9ybWF0OiBmb3JtYXQgc3RyaW5nIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgZGljdAogICAgIHdpdGgga2V5cyBob3VyLCBtaW51dGUsIHNlY29uZCwgYW5kIG1pY3Jvc2Vjb25kLgoKICAgIDpwYXJhbSByZWdleHA6IHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCB3aWxsIGJlIGFwcGxpZWQgdG8gaW5jb21pbmcgcmVzdWx0CiAgICAgcm93cywgcmVwbGFjaW5nIHRoZSB1c2Ugb2YgYGBkYXRldGltZS5mcm9taXNvZm9ybWF0KClgYCB0byBwYXJzZSBpbmNvbWluZwogICAgIHN0cmluZ3MuIElmIHRoZSByZWdleHAgY29udGFpbnMgbmFtZWQgZ3JvdXBzLCB0aGUgcmVzdWx0aW5nIG1hdGNoIGRpY3QgaXMKICAgICBhcHBsaWVkIHRvIHRoZSBQeXRob24gdGltZSgpIGNvbnN0cnVjdG9yIGFzIGtleXdvcmQgYXJndW1lbnRzLiBPdGhlcndpc2UsCiAgICAgaWYgcG9zaXRpb25hbCBncm91cHMgYXJlIHVzZWQsIHRoZSB0aW1lKCkgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGgKICAgICBwb3NpdGlvbmFsIGFyZ3VtZW50cyB2aWEgYGAqbWFwKGludCwgbWF0Y2hfb2JqLmdyb3VwcygwKSlgYC4KCiAgICB6NiUoaG91cikwMmQ6JShtaW51dGUpMDJkOiUoc2Vjb25kKTAyZC4lKG1pY3Jvc2Vjb25kKTA2ZGMBAAAAAAAAAAAAAAAFAAAADwAAAfOIAAAAlQGXAHwCagEAAAAAAAAAAAAAAAAAAAAAAABkAWQCqwIAAAAAAAB9A3QDAAAAAAAAAACJBHwAjQgAAHwBaQB8AqQBjgEBAHwDch5kA3wCdgFzB0oAZASrAAAAAAAAAIIBZAV8AnYBcwdKAGQGqwAAAAAAAACCAWQHfABfAwAAAAAAAAAAeQB5ACkITnJmAAAARnJIAAAAcmcAAABySQAAAHJoAAAAeiQlKGhvdXIpMDJkOiUobWludXRlKTAyZDolKHNlY29uZCkwMmRyaQAAAHJrAAAAcwUAAAAgICAggHIxAAAAckMAAAB6DVRJTUUuX19pbml0X1/kBAAAc3EAAAD4gADYICanCqEK0CtCwEXTIErQCB3cCA2JB9EIGJgk0AgpoCbSCCnZCyDYEyOoNtETMfAAAw0O8AIBEUIB8wMDDQ7QEzHwCAAUHKA20RMp8AADDQ7wAgERM/MDAw0O0BMp8AgAJEoBiETVDCDwEwAMIXI5AAAAYwIAAAAAAAAAAAAAAAIAAAADAAAB804AAACHA4cElwB0AAAAAAAAAAAAagIAAAAAAAAAAAAAAAAAAAAAAACKA3wAagQAAAAAAAAAAAAAAAAAAAAAAACKBIgDiARmAmQBhAh9AnwCUwApAk5jAQAAAAAAAAAAAAAABgAAABMAAAHznAAAAJUClwB8AIABeQB0AQAAAAAAAAAAfACJAasCAAAAAAAAcjKJAnwAagIAAAAAAAAAAAAAAAAAAAAAAAB8AGoEAAAAAAAAAAAAAAAAAAAAAAAAfABqBgAAAAAAAAAAAAAAAAAAAAAAAHwAaggAAAAAAAAAAAAAAAAAAAAAAABkAZwEegYAAFMAdAsAAAAAAAAAAGQCqwEAAAAAAACCASkDTikEclAAAAByUQAAAHJSAAAAclMAAAB6O1NRTGl0ZSBUaW1lIHR5cGUgb25seSBhY2NlcHRzIFB5dGhvbiB0aW1lIG9iamVjdHMgYXMgaW5wdXQuKQZyLAAAAHJQAAAAclEAAAByUgAAAHJTAAAAcisAAAApA3IvAAAA2g1kYXRldGltZV90aW1lcnIAAABzAwAAACCAgHIxAAAAcjIAAAB6JFRJTUUuYmluZF9wcm9jZXNzb3IuPGxvY2Fscz4ucHJvY2Vzc/YEAABzWQAAAPiAANgPFIh92Bcb3BEbmEWgPdQRMdgXHtgcIZ9KmUrYHiOfbJls2B4jn2yZbNgjKNcjNNEjNPEJBSIS8QAFGBLwAAUREvQOABcg8AIBFS3zAwMXEvAAAxEScjkAAAApA3J0AAAA2gR0aW1lckcAAAApBXI1AAAAcjYAAAByMgAAAHKIAAAAcnIAAABzBQAAACAgIEBAcjEAAAByYAAAAHoTVElNRS5iaW5kX3Byb2Nlc3NvcvIEAABzIwAAAPmAANwYIJ8NmQ2IDdgSFtcSJtESJogH9QQOCRLwIAAQF4gOcjkAAABjAwAAAAAAAAAAAAAABAAAAAMAAAHzlgAAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHIudAMAAAAAAAAAAGoEAAAAAAAAAAAAAAAAAAAAAAAAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHQGAAAAAAAAAABqCAAAAAAAAAAAAAAAAAAAAAAAAKsCAAAAAAAAUwB0AgAAAAAAAAAAagoAAAAAAAAAAAAAAAAAAAAAAABTAHIqAAAAKQZyRgAAAHISAAAAcncAAABydAAAAHKJAAAA2gtzdHJfdG9fdGltZXJ5AAAAcwMAAAAgICByMQAAAHI0AAAAehVUSU1FLnJlc3VsdF9wcm9jZXNzb3IIBQAAcoIAAAByOQAAAHJ6AAAAcj4AAABzAQAAAEByMQAAAHKEAAAAcoQAAAC4BAAAcyEAAAD4hADxAicFCPBSAQAXTwGAT/QEDAVKAfIcFAUX9iwGBSpyOQAAAHKEAAAA2gZCSUdJTlRyGgAAANoEQk9PTHIbAAAAchwAAADaCURBVEVfQ0hBUtoNREFURVRJTUVfQ0hBUtoGRE9VQkxFch0AAAByHgAAANoDSU5Uch8AAAByBgAAAHIgAAAAciEAAAApCHIiAAAAciMAAAByhAAAANoJVElNRV9DSEFSciQAAAByJQAAANoITlZBUkNIQVLaBU5DSEFSYwAAAAAAAAAAAAAAAA4AAAAAAAAB8xYBAACHAJcAZQBaAWQAWgICAGUDaggAAAAAAAAAAAAAAAAAAAAAAABlBWoMAAAAAAAAAAAAAAAAAAAAAAAAag4AAAAAAAAAAAAAAAAAAAAAAABkAWQCZANkBGQFZAZkB2QIZAlkCmQLnAqrAgAAAAAAAFoHZAyEAFoIZA2EAFoJZA6EAFoKZA+EAFoLZBCEAFoMZBGEAFoNZBKEAFoOiABmAWQThAhaD2QUhABaEIgAZgFkFYQIWhFkFoQAWhJkF4QAWhNkGIQAWhRkGYQAWhVkGoQAWhZkG4QAWhdkHIQAWhhkHYQAWhlkHoQAWhpkH4QAWhtkIIQAWhxkIYQAWh1kIoQAWh5kI4QAWh9kJIQAWiCIAHgBWiFTACkl2g5TUUxpdGVDb21waWxlcnoCJW16AiVkegIlWXoCJVN6AiVIegIlanoCJU16AiVzegIld3oCJVcpCnJOAAAAck8AAAByTQAAAHJSAAAAclAAAADaA2RveXJRAAAA2gVlcG9jaNoDZG932gR3ZWVrYwMAAAAAAAAAAAAAAAcAAAALAAAB84QAAACXAAIAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHwBagIAAAAAAAAAAAAAAAAAAAAAAABmAWkAfAOkAY4BZAF6AAAAZAICAHwAagAAAAAAAAAAAAAAAAAAAAAAAAB8AWoEAAAAAAAAAAAAAAAAAAAAAAAAZgFpAHwDpAGOAXoGAAB6AAAAUwApA056AyAvIHoKKCVzICsgMC4wKakDcjIAAADaBGxlZnTaBXJpZ2h0qQRyNQAAANoGYmluYXJ52ghvcGVyYXRvcnJKAAAAcwQAAAAgICAgcjEAAADaFHZpc2l0X3RydWVkaXZfYmluYXJ5eiNTUUxpdGVDb21waWxlci52aXNpdF90cnVlZGl2X2JpbmFyeUgFAABzRwAAAIAA4AwYiESPTIlMmBafG5kb0QwrqALRDCvYDhPxAwENFOAOGphcmFSfXJlcqCavLKks0R09uCLRHT3RDj3xBQINPvADBAkKcjkAAABjAgAAAAAAAAAAAAAAAAAAAAsAAAHzBAAAAJcAeQEpAk7aEUNVUlJFTlRfVElNRVNUQU1QckIAAACpA3I1AAAA2gJmbnJKAAAAcwMAAAAgICByMQAAANoOdmlzaXRfbm93X2Z1bmN6HVNRTGl0ZUNvbXBpbGVyLnZpc2l0X25vd19mdW5jTwUAAHMFAAAAgADYDyJyOQAAAGMCAAAAAAAAAAAAAAAAAAAACwAAAfMEAAAAlwB5ASkCTnooREFURVRJTUUoQ1VSUkVOVF9USU1FU1RBTVAsICJsb2NhbHRpbWUiKXJCAAAAKQNyNQAAANoEZnVuY3JKAAAAcwMAAAAgICByMQAAANoZdmlzaXRfbG9jYWx0aW1lc3RhbXBfZnVuY3ooU1FMaXRlQ29tcGlsZXIudmlzaXRfbG9jYWx0aW1lc3RhbXBfZnVuY1IFAABzBQAAAIAA2A85cjkAAABjAgAAAAAAAAAAAAAAAAAAAAsAAAHzBAAAAJcAeQEpAk7aATFyQgAAAKkDcjUAAADaBGV4cHJySgAAAHMDAAAAICAgcjEAAADaCnZpc2l0X3RydWV6GVNRTGl0ZUNvbXBpbGVyLnZpc2l0X3RydWVVBQAA8wUAAACAANgPEnI5AAAAYwIAAAAAAAAAAAAAAAAAAAALAAAB8wQAAACXAHkBKQJO2gEwckIAAAByrQAAAHMDAAAAICAgcjEAAADaC3Zpc2l0X2ZhbHNlehpTUUxpdGVDb21waWxlci52aXNpdF9mYWxzZVgFAABysAAAAHI5AAAAYwIAAAAAAAAAAAAAAAQAAAALAAAB8yoAAACXAGQBfABqAQAAAAAAAAAAAAAAAAAAAAAAAHwBqwEAAAAAAAB6BgAAUwApAk56CGxlbmd0aCVzqQHaEGZ1bmN0aW9uX2FyZ3NwZWNypQAAAHMDAAAAICAgcjEAAADaFnZpc2l0X2NoYXJfbGVuZ3RoX2Z1bmN6JVNRTGl0ZUNvbXBpbGVyLnZpc2l0X2NoYXJfbGVuZ3RoX2Z1bmNbBQAAcxgAAACAANgPGZhE1xwx0RwxsCLTHDXRDzXQCDVyOQAAAGMCAAAAAAAAAAAAAAAEAAAACwAAAfMqAAAAlwBkAXwAagEAAAAAAAAAAAAAAAAAAAAAAAB8AasBAAAAAAAAegYAAFMAKQJOeg5ncm91cF9jb25jYXQlc3K1AAAAcqUAAABzAwAAACAgIHIxAAAA2hx2aXNpdF9hZ2dyZWdhdGVfc3RyaW5nc19mdW5jeitTUUxpdGVDb21waWxlci52aXNpdF9hZ2dyZWdhdGVfc3RyaW5nc19mdW5jXgUAAHMYAAAAgADYDx+gJNciN9EiN7gC0yI70Q870Ag7cjkAAABjAgAAAAAAAAAAAAAABQAAAAsAAAHzigAAAJUBlwB8AGoAAAAAAAAAAAAAAAAAAAAAAAAAagIAAAAAAAAAAAAAAAAAAAAAAAByEHQFAAAAAAAAAACJA3wAjQwAAHwBZgFpAHwCpAGOAVMAAgB8AGoIAAAAAAAAAAAAAAAAAAAAAAAAfAFqCgAAAAAAAAAAAAAAAAAAAAAAAGYBaQB8AqQBjgFTAHIqAAAAKQZyNgAAANoNc3VwcG9ydHNfY2FzdHIzAAAA2gp2aXNpdF9jYXN0cjIAAADaBmNsYXVzZSkEcjUAAADaBGNhc3RybQAAAHI4AAAAcwQAAAAgICCAcjEAAAByvAAAAHoZU1FMaXRlQ29tcGlsZXIudmlzaXRfY2FzdGEFAABzPwAAAPiAANgLD488iTzXCyXSCyXcExiRN9ETJaBk0RM1qGbREzXQDDXgEx+QNJc8kTygBKcLoQvREzaodtETNtAMNnI5AAAAYwIAAAAAAAAAAAAAAAgAAAALAAAB8+AAAACXAGQBfABqAAAAAAAAAAAAAAAAAAAAAAAAAHwBagIAAAAAAAAAAAAAAAAAAAAAAAAZAAAAmwFkAgIAfABqBAAAAAAAAAAAAAAAAAAAAAAAAHwBagYAAAAAAAAAAAAAAAAAAAAAAABmAWkAfAKkAY4BmwFkA50FUwAjAHQIAAAAAAAAAAAkAHIofQN0CwAAAAAAAAAAagwAAAAAAAAAAAAAAAAAAAAAAABkBHwBagIAAAAAAAAAAAAAAAAAAAAAAAB6BgAAqwEAAAAAAAB8A4ICZAB9A34DdwF3AHgDWQB3ASkFTnoPQ0FTVChTVFJGVElNRSgnegMnLCB6DSkgQVMgSU5URUdFUil6IyVzIGlzIG5vdCBhIHZhbGlkIGV4dHJhY3QgYXJndW1lbnQuKQfaC2V4dHJhY3RfbWFw2gVmaWVsZHIyAAAAcq4AAADaCEtleUVycm9ycgoAAADaDENvbXBpbGVFcnJvcikEcjUAAADaB2V4dHJhY3RySgAAANoDZXJycwQAAAAgICAgcjEAAADaDXZpc2l0X2V4dHJhY3R6HFNRTGl0ZUNvbXBpbGVyLnZpc2l0X2V4dHJhY3RnBQAAc24AAACAAPACCAkX4BAU1xAg0RAgoBenHaEd0xAv2BAckASXDJEMmFefXJlc0RAwqFLTEDDwBQMUDvAAAw0O+PQIABAY8gADCRfcEhXXEiLREiLYEDW4B78NuQ3REEXzAwITDuATFvAFAg0X+/ADAwkX+nMVAAAAgTo8ALwJQS0DwQUjQSgDwSgFQS0DYwMAAAAAAAAAAQAAAAUAAAALAAAB8zQAAACVAZcAZAF8BGQCPAAAAHQBAAAAAAAAAACJBXwAjQQAAHwBfAJmAmQDfANpAXwEpAGOAVMAKQRORtoNaW5jbHVkZV90YWJsZdoTcG9wdWxhdGVfcmVzdWx0X21hcCkCcjMAAADaEHJldHVybmluZ19jbGF1c2UpBnI1AAAA2gRzdG102g5yZXR1cm5pbmdfY29sc3LJAAAAckoAAAByOAAAAHMGAAAAICAgICCAcjEAAAByygAAAHofU1FMaXRlQ29tcGlsZXIucmV0dXJuaW5nX2NsYXVzZXIFAABzNgAAAPiAAPAQAB8kiAKIP9EIG9wPFIl30Q8n2AwQkC7xAwIQCtg2SfADAhAK2E1P8QMCEArwAAIJCnI5AAAAYwIAAAAAAAAAAAAAAAcAAAALAAAB844BAACXAGQBfQN8AWoAAAAAAAAAAAAAAAAAAAAAAAAAgSN8A2QCAgB8AGoCAAAAAAAAAAAAAAAAAAAAAAAAfAFqAAAAAAAAAAAAAAAAAAAAAAAAAGYBaQB8AqQBjgF6AAAAeg0AAH0DfAFqBAAAAAAAAAAAAAAAAAAAAAAAAIFbfAFqAAAAAAAAAAAAAAAAAAAAAAAAAIAqfANkAnwAagMAAAAAAAAAAAAAAAAAAAAAAAB0BwAAAAAAAAAAaggAAAAAAAAAAAAAAAAAAAAAAABkA6sBAAAAAAAAqwEAAAAAAAB6AAAAeg0AAH0DfANkBAIAfABqAgAAAAAAAAAAAAAAAAAAAAAAAHwBagQAAAAAAAAAAAAAAAAAAAAAAABmAWkAfAKkAY4BegAAAHoNAAB9A3wDUwB8A2QEAgB8AGoCAAAAAAAAAAAAAAAAAAAAAAAAdAcAAAAAAAAAAGoIAAAAAAAAAAAAAAAAAAAAAAAAZAWrAQAAAAAAAGYBaQB8AqQBjgF6AAAAeg0AAH0DfANTACkGTtoAeggKIExJTUlUIOn/////egggT0ZGU0VUIHICAAAAKQXaDV9saW1pdF9jbGF1c2VyMgAAANoOX29mZnNldF9jbGF1c2VyDQAAANoHbGl0ZXJhbCkEcjUAAADaBnNlbGVjdHJKAAAAcg4AAABzBAAAACAgICByMQAAANoMbGltaXRfY2xhdXNlehtTUUxpdGVDb21waWxlci5saW1pdF9jbGF1c2V/BQAAc8oAAACAANgPEYgE2AsR1wsf0Qsf0Asr2AwQkEugLKAkpyyhLKh21y9D0S9D0SJKwHLRIkrRFErRDEqIRNgLEdcLINELINALLNgPFdcPI9EPI9APK9gQFJgLoGSnbKFstDO3O7E7uHKzP9MmQ9EYQ9EQQ5AE2AwQkEqgHKAUpxyhHKhm1y5D0S5D0SFKwHLRIUrRFErRDEqIRPAGABAUiAvwAwANEZBKoBygFKccoRysY69rqWu4Iatu0SFDwALRIUPRFEPRDEOIRNgPE4gLcjkAAABjAgAAAAAAAAAAAAAAAAAAAAsAAAHzBAAAAJcAeQEpAk5yzgAAAHJCAAAAKQNyNQAAAHLTAAAAckoAAABzAwAAACAgIHIxAAAA2hFmb3JfdXBkYXRlX2NsYXVzZXogU1FMaXRlQ29tcGlsZXIuZm9yX3VwZGF0ZV9jbGF1c2WLBQAAcwUAAACAAOAPEXI5AAAAYwUAAAAAAAAAAAAAAAYAAAALAAAB81AAAACHAIcEhwWXAGQBiQVkAjwAAABkA2QEagEAAAAAAAAAAAAAAAAAAAAAAACIBIgFiABmA2QFhAh8A0QAqwAAAAAAAACrAQAAAAAAAHoAAABTACkGTlTaBmFzZnJvbXoFRlJPTSD6AiwgYwEAAAAAAAAAAAAAAAYAAAAzAAAB80gAAACVA0sAAQCXAHwAXRkAAH0BAgB8AWoAAAAAAAAAAAAAAAAAAAAAAAAAiQRmAWQAiQJpAYkDpAGOAZYBlwEBAIwbBAB5Aa0DdwEpAtoJZnJvbWhpbnRzTikB2hJfY29tcGlsZXJfZGlzcGF0Y2gpBdoCLjDaAXTaCmZyb21faGludHNySgAAAHI1AAAAcwUAAAAgIICAgHIxAAAA2gk8Z2VuZXhwcj56NFNRTGl0ZUNvbXBpbGVyLnVwZGF0ZV9mcm9tX2NsYXVzZS48bG9jYWxzPi48Z2VuZXhwcj6TBQAAczAAAAD46AD4gADwAAMjCuEVIJAB8AMADSGIQdcMINEMIKAU0QxCsBrQDEK4ctUMQtkVIPlzBAAAAIMfIgEpAdoEam9pbikGcjUAAADaC3VwZGF0ZV9zdG102gpmcm9tX3RhYmxl2gtleHRyYV9mcm9tc3LfAAAAckoAAABzBgAAAGAgICBgYHIxAAAA2hJ1cGRhdGVfZnJvbV9jbGF1c2V6IVNRTGl0ZUNvbXBpbGVyLnVwZGF0ZV9mcm9tX2NsYXVzZY8FAABzMwAAAPqAAPAGABgciAKIOIkM2A8WmBSfGZkZ9QADIwrhFSDzBQMjCvMAAxoK8QADEArwAAMJCnI5AAAAYwMAAAAAAAAAAAAAAAUAAAALAAAB83QAAACXAHwAagEAAAAAAAAAAAAAAAAAAAAAAAB8AWoCAAAAAAAAAAAAAAAAAAAAAAAAqwEAAAAAAACbAWQBfABqAQAAAAAAAAAAAAAAAAAAAAAAAHwBagQAAAAAAAAAAAAAAAAAAAAAAACrAQAAAAAAAJsBnQNTACkCTnoIIElTIE5PVCBynAAAAHKfAAAAcwQAAAAgICAgcjEAAADaHXZpc2l0X2lzX2Rpc3RpbmN0X2Zyb21fYmluYXJ5eixTUUxpdGVDb21waWxlci52aXNpdF9pc19kaXN0aW5jdF9mcm9tX2JpbmFyeZgFAADzLAAAAIAA4AwQj0yJTJgWnxuZG9UMJdgMEI9MiUyYFp8cmRzUDCbwBQMQCvAAAwkKcjkAAABjAwAAAAAAAAAAAAAABQAAAAsAAAHzdAAAAJcAfABqAQAAAAAAAAAAAAAAAAAAAAAAAHwBagIAAAAAAAAAAAAAAAAAAAAAAACrAQAAAAAAAJsBZAF8AGoBAAAAAAAAAAAAAAAAAAAAAAAAfAFqBAAAAAAAAAAAAAAAAAAAAAAAAKsBAAAAAAAAmwGdA1MAKQJOegQgSVMgcpwAAABynwAAAHMEAAAAICAgIHIxAAAA2iF2aXNpdF9pc19ub3RfZGlzdGluY3RfZnJvbV9iaW5hcnl6MFNRTGl0ZUNvbXBpbGVyLnZpc2l0X2lzX25vdF9kaXN0aW5jdF9mcm9tX2JpbmFyeZ4FAABy6AAAAHI5AAAAYwMAAAAAAAAAAAAAAAcAAAALAAAB89IAAACXAHwBagAAAAAAAAAAAAAAAAAAAAAAAABqAgAAAAAAAAAAAAAAAAAAAAAAAHQEAAAAAAAAAABqBgAAAAAAAAAAAAAAAAAAAAAAAHUAcgNkAX0EbgJkAn0EfAQCAHwAaggAAAAAAAAAAAAAAAAAAAAAAAB8AWoKAAAAAAAAAAAAAAAAAAAAAAAAZgFpAHwDpAGOAQIAfABqCAAAAAAAAAAAAAAAAAAAAAAAAHwBagwAAAAAAAAAAAAAAAAAAAAAAABmAWkAfAOkAY4BZgJ6BgAAUwCpA056IEpTT05fUVVPVEUoSlNPTl9FWFRSQUNUKCVzLCAlcykpehRKU09OX0VYVFJBQ1QoJXMsICVzKakH2gR0eXBl2g5fdHlwZV9hZmZpbml0edoIc3FsdHlwZXNyBgAAAHIyAAAAcp0AAAByngAAAKkFcjUAAAByoAAAAHKhAAAAckoAAAByrgAAAHMFAAAAICAgICByMQAAANocdmlzaXRfanNvbl9nZXRpdGVtX29wX2JpbmFyeXorU1FMaXRlQ29tcGlsZXIudmlzaXRfanNvbl9nZXRpdGVtX29wX2JpbmFyeaQFAADzYgAAAIAA2AsRjzuJO9cLJdELJawYrx2pHdELNtgTNYlE4BMpiETgDxPYDBiIRI9MiUyYFp8bmRvRDCuoAtEMK9gMGIhEj0yJTJgWnxyZHNEMLKgS0Qws8AUDFwrxAAMQCvAAAwkKcjkAAABjAwAAAAAAAAAAAAAABwAAAAsAAAHz0gAAAJcAfAFqAAAAAAAAAAAAAAAAAAAAAAAAAGoCAAAAAAAAAAAAAAAAAAAAAAAAdAQAAAAAAAAAAGoGAAAAAAAAAAAAAAAAAAAAAAAAdQByA2QBfQRuAmQCfQR8BAIAfABqCAAAAAAAAAAAAAAAAAAAAAAAAHwBagoAAAAAAAAAAAAAAAAAAAAAAABmAWkAfAOkAY4BAgB8AGoIAAAAAAAAAAAAAAAAAAAAAAAAfAFqDAAAAAAAAAAAAAAAAAAAAAAAAGYBaQB8A6QBjgFmAnoGAABTAHLsAAAAcu0AAABy8QAAAHMFAAAAICAgICByMQAAANohdmlzaXRfanNvbl9wYXRoX2dldGl0ZW1fb3BfYmluYXJ5ejBTUUxpdGVDb21waWxlci52aXNpdF9qc29uX3BhdGhfZ2V0aXRlbV9vcF9iaW5hcnmvBQAAcvMAAAByOQAAAGMDAAAAAAAAAAAAAAADAAAACwAAAfMkAAAAlwB8AGoBAAAAAAAAAAAAAAAAAAAAAAAAfAGrAQAAAAAAAFMAcioAAAApAdoUdmlzaXRfZW1wdHlfc2V0X2V4cHIpBHI1AAAA2gV0eXBlX9oJZXhwYW5kX29wckoAAABzBAAAACAgICByMQAAANoXdmlzaXRfZW1wdHlfc2V0X29wX2V4cHJ6JlNRTGl0ZUNvbXBpbGVyLnZpc2l0X2VtcHR5X3NldF9vcF9leHByugUAAHMVAAAAgADwBgAQFNcPKNEPKKgV0w8v0AgvcjkAAABjAgAAAAAAAAAAAAAACAAAAAsAAAHzoAAAAJcAZAFkAmoBAAAAAAAAAAAAAAAAAAAAAAAAZAOEAHwBeAFzCwEAdAMAAAAAAAAAAKsAAAAAAAAAZwFEAKsAAAAAAAAAqwEAAAAAAACbAWQEZAJqAQAAAAAAAAAAAAAAAAAAAAAAAGQFhAB8AXgBcwsBAHQDAAAAAAAAAACrAAAAAAAAAGcBRACrAAAAAAAAAKsBAAAAAAAAmwFkBp0FUwApB056B1NFTEVDVCBy2QAAAGMBAAAAAAAAAAAAAAACAAAAMwAAAfMgAAAASwABAJcAfABdBgAAfQFkAJYBlwEBAIwIBAB5Aa0DdwGpAnKsAAAATnJCAAAAqQJy3QAAAHL4AAAAcwIAAAAgIHIxAAAAcuAAAAB6NlNRTGl0ZUNvbXBpbGVyLnZpc2l0X2VtcHR5X3NldF9leHByLjxsb2NhbHM+LjxnZW5leHByPsEFAADzEwAAAOgA+IAA0BVE0SdDmGWUY9EnQ/nzBAAAAIIMDgF6DiBGUk9NIChTRUxFQ1QgYwEAAAAAAAAAAAAAAAIAAAAzAAAB8yAAAABLAAEAlwB8AF0GAAB9AWQAlgGXAQEAjAgEAHkBrQN3AXL9AAAAckIAAABy/gAAAHMCAAAAICByMQAAAHLgAAAAejZTUUxpdGVDb21waWxlci52aXNpdF9lbXB0eV9zZXRfZXhwci48bG9jYWxzPi48Z2VuZXhwcj7CBQAAcv8AAAByAAEAAHoMKSBXSEVSRSAxIT0xKQJy4QAAAHIfAAAAKQNyNQAAANoNZWxlbWVudF90eXBlc3JKAAAAcwMAAAAgICByMQAAAHL3AAAAeiNTUUxpdGVDb21waWxlci52aXNpdF9lbXB0eV9zZXRfZXhwcr8FAABzSAAAAIEA4AwQj0mJSdEVRKB90idDvBe7GbgL0CdD0xVE1QxE2AwQj0mJSdEVRKB90idDvBe7GbgL0CdD0xVE1QxE8AUDEArwAAMJCnI5AAAAYwMAAAAAAAAAAAAAAAUAAAALAAAB8yoAAACXAAIAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHwBZAFmAmkAfAOkAY4BUwApAk56CCBSRUdFWFAgqQHaGF9nZW5lcmF0ZV9nZW5lcmljX2JpbmFyeXKfAAAAcwQAAAAgICAgcjEAAADaHHZpc2l0X3JlZ2V4cF9tYXRjaF9vcF9iaW5hcnl6K1NRTGl0ZUNvbXBpbGVyLnZpc2l0X3JlZ2V4cF9tYXRjaF9vcF9iaW5hcnnFBQAAcxwAAACAANgPLIh01w8s0Q8sqFawWtEPRsAy0Q9G0AhGcjkAAABjAwAAAAAAAAAAAAAABQAAAAsAAAHzKgAAAJcAAgB8AGoAAAAAAAAAAAAAAAAAAAAAAAAAfAFkAWYCaQB8A6QBjgFTACkCTnoMIE5PVCBSRUdFWFAgcgQBAABynwAAAHMEAAAAICAgIHIxAAAA2iB2aXNpdF9ub3RfcmVnZXhwX21hdGNoX29wX2JpbmFyeXovU1FMaXRlQ29tcGlsZXIudmlzaXRfbm90X3JlZ2V4cF9tYXRjaF9vcF9iaW5hcnnIBQAAcxwAAACAANgPLIh01w8s0Q8sqFawXtEPSsBy0Q9K0AhKcjkAAABjAgAAAAAAAAAAAAAACAAAAAsAAAHz2AAAAIcAlwB8AWoAAAAAAAAAAAAAAAAAAAAAAAAAgVpkAWQCagMAAAAAAAAAAAAAAAAAAAAAAACIAGYBZAOECHwBagAAAAAAAAAAAAAAAAAAAAAAAABEAKsAAAAAAAAAqwEAAAAAAAB6BgAAfQN8AWoEAAAAAAAAAAAAAAAAAAAAAAAAgSV8A2QEiQBqBwAAAAAAAAAAAAAAAAAAAAAAAHwBagQAAAAAAAAAAAAAAAAAAAAAAABkBWQFZAasB6sEAAAAAAAAegYAAHoNAAB9A3wDUwBkCH0DfANTACkJTnoEKCVzKXLZAAAAYwEAAAAAAAAAAAAAAAYAAAAzAAAB85wAAACVAUsAAQCXAHwAXUMAAH0BdAEAAAAAAAAAAHwBdAIAAAAAAAAAAKsCAAAAAAAAchuJAmoEAAAAAAAAAAAAAAAAAAAAAAAAagcAAAAAAAAAAAAAAAAAAAAAAAB8AasBAAAAAAAAbhOJAmoJAAAAAAAAAAAAAAAAAAAAAAAAfAFkAGQArAGrAwAAAAAAAJYBlwEBAIxFBAB5Aq0DdwEpA0apAnLIAAAA2gp1c2Vfc2NoZW1hTikFciwAAADaA3N0ctoIcHJlcGFyZXLaBXF1b3RlcjIAAAApA3LdAAAA2gFjcjUAAABzAwAAACAggHIxAAAAcuAAAAB6NVNRTGl0ZUNvbXBpbGVyLl9vbl9jb25mbGljdF90YXJnZXQuPGxvY2Fscz4uPGdlbmV4cHI+zQUAAHNQAAAA+OgA+IAA8AAHLQ7xDAAaOZBB9AcAGCKgIaRT1Bcp8AMAFRmXTZFN1xQn0RQnqAHUFCrgGR2fHJkcoGGwdcgVmBzTGU/zBQIVUAHxCAAaOflzBgAAAINBCUEMAfoJIFdIRVJFICVzRlQpA3LIAAAAcgwBAADaD2xpdGVyYWxfZXhlY3V0ZXLOAAAAKQTaGGluZmVycmVkX3RhcmdldF9lbGVtZW50c3LhAAAA2htpbmZlcnJlZF90YXJnZXRfd2hlcmVjbGF1c2VyMgAAACkEcjUAAAByvQAAAHJKAAAA2gt0YXJnZXRfdGV4dHMEAAAAYCAgIHIxAAAA2hNfb25fY29uZmxpY3RfdGFyZ2V0eiJTUUxpdGVDb21waWxlci5fb25fY29uZmxpY3RfdGFyZ2V0ywUAAHOPAAAA+IAA2AsR1wsq0Qsq0As22BogoDSnOaE58wAHLQ7wDAAaINcZONIZOPMNBy0O8wAHJA7xAAcbDohL8BAAEBbXDzHRDzHQDz3YEBuYe6hUr1ypXNgUGtcUNtEUNtgiJ9gfJNgkKPAJAC468wAFLhLxAAUgEvEABRESkAvwFAAQG9AIGvAFABsdiEvgDxrQCBpyOQAAAGMCAAAAAAAAAAAAAAAFAAAACwAAAfM4AAAAlwACAHwAagAAAAAAAAAAAAAAAAAAAAAAAAB8AWYBaQB8AqQBjgF9A3wDcgVkAXwDegYAAFMAeQIpA056GU9OIENPTkZMSUNUICVzIERPIE5PVEhJTkd6Fk9OIENPTkZMSUNUIERPIE5PVEhJTkcpAXIWAQAAKQRyNQAAANoLb25fY29uZmxpY3RySgAAAHIVAQAAcwQAAAAgICAgcjEAAADaHHZpc2l0X29uX2NvbmZsaWN0X2RvX25vdGhpbmd6K1NRTGl0ZUNvbXBpbGVyLnZpc2l0X29uX2NvbmZsaWN0X2RvX25vdGhpbmfiBQAAcyoAAACAANgWLpBk1xYu0RYuqHvRFkG4YtEWQYgL4QsW2BMusBvREzzQDDzgEytyOQAAAGMCAAAAAAAAAAAAAAAJAAAACwAAAfNuBQAAlwB8AX0DAgB8AGoAAAAAAAAAAAAAAAAAAAAAAAAAfAFmAWkAfAKkAY4BfQRnAH0FdAMAAAAAAAAAAHwDagQAAAAAAAAAAAAAAAAAAAAAAACrAQAAAAAAAH0GfABqBgAAAAAAAAAAAAAAAAAAAAAAAGQBGQAAAGQCGQAAAH0HfAdqCAAAAAAAAAAAAAAAAAAAAAAAAGoKAAAAAAAAAAAAAAAAAAAAAAAAfQh8CEQAkAFdIQAAfQl8CWoMAAAAAAAAAAAAAAAAAAAAAAAAfQp8CnwGdgByEnwGag8AAAAAAAAAAAAAAAAAAAAAAAB8CqsBAAAAAAAAfQtuF3wJfAZ2AHISfAZqDwAAAAAAAAAAAAAAAAAAAAAAAHwJqwEAAAAAAAB9C24BjD10EQAAAAAAAAAAahIAAAAAAAAAAAAAAAAAAAAAAAB8C6sBAAAAAAAAciN0FQAAAAAAAAAAahYAAAAAAAAAAAAAAAAAAAAAAABkAHwLfAlqGAAAAAAAAAAAAAAAAAAAAAAAAKwDqwMAAAAAAAB9C25RdBsAAAAAAAAAAHwLdBQAAAAAAAAAAGoWAAAAAAAAAAAAAAAAAAAAAAAAqwIAAAAAAAByN3wLahgAAAAAAAAAAAAAAAAAAAAAAABqHAAAAAAAAAAAAAAAAAAAAAAAAHIhfAtqHwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAfQt8CWoYAAAAAAAAAAAAAAAAAAAAAAAAfAtfDAAAAAAAAAAAfABqIQAAAAAAAAAAAAAAAAAAAAAAAHwLaiMAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAGQErAWrAgAAAAAAAH0MfABqJAAAAAAAAAAAAAAAAAAAAAAAAGonAAAAAAAAAAAAAAAAAAAAAAAAfAlqKAAAAAAAAAAAAAAAAAAAAAAAAKsBAAAAAAAAfQ18BWorAAAAAAAAAAAAAAAAAAAAAAAAfA2bAWQGfAybAZ0DqwEAAAAAAAABAJABjCQEAHwGcvB0LQAAAAAAAAAAai4AAAAAAAAAAAAAAAAAAAAAAABkB3wAajAAAAAAAAAAAAAAAAAAAAAAAABqCAAAAAAAAAAAAAAAAAAAAAAAAGooAAAAAAAAAAAAAAAAAAAAAAAAmwFkCGQJajMAAAAAAAAAAAAAAAAAAAAAAABkCoQAfAZEAKsAAAAAAAAAqwEAAAAAAACbAZ0EqwEAAAAAAAABAHwGajUAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAEQAXY4AAFwCAAB9Dn0PdBsAAAAAAAAAAHwOdDYAAAAAAAAAAKsCAAAAAAAAcht8AGokAAAAAAAAAAAAAAAAAAAAAAAAaicAAAAAAAAAAAAAAAAAAAAAAAB8DqsBAAAAAAAAbhJ8AGohAAAAAAAAAAAAAAAAAAAAAAAAfA5kBKwFqwIAAAAAAAB9DXwAaiEAAAAAAAAAAAAAAAAAAAAAAAB0EQAAAAAAAAAAajgAAAAAAAAAAAAAAAAAAAAAAAB0OgAAAAAAAAAAajwAAAAAAAAAAAAAAAAAAAAAAAB8D6sCAAAAAAAAZASsBasCAAAAAAAAfQx8BWorAAAAAAAAAAAAAAAAAAAAAAAAfA2bAWQGfAybAZ0DqwEAAAAAAAABAIyQBABkCWozAAAAAAAAAAAAAAAAAAAAAAAAfAWrAQAAAAAAAH0QfANqPgAAAAAAAAAAAAAAAAAAAAAAAIEkfBBkC3wAaiEAAAAAAAAAAAAAAAAAAAAAAAB8A2o+AAAAAAAAAAAAAAAAAAAAAAAAZAxkBKwNqwMAAAAAAAB6BgAAeg0AAH0QZA58BJsBZA98EJsBnQRTACkQTnLPAAAA2gpzZWxlY3RhYmxlKQFy+AAAAEapAXIMAQAAegMgPSB6P0FkZGl0aW9uYWwgY29sdW1uIG5hbWVzIG5vdCBtYXRjaGluZyBhbnkgY29sdW1uIGtleXMgaW4gdGFibGUgJ3oDJzogctkAAABjAQAAAAAAAAAAAAAAAwAAADMAAAHzJgAAAEsAAQCXAHwAXQkAAH0BZAB8AXoGAACWAZcBAQCMCwQAeQGtA3cBKQJyXgAAAE5yQgAAACkCct0AAAByEAEAAHMCAAAAICByMQAAAHLgAAAAej1TUUxpdGVDb21waWxlci52aXNpdF9vbl9jb25mbGljdF9kb191cGRhdGUuPGxvY2Fscz4uPGdlbmV4cHI+FgYAAHMVAAAA6AD4gADQHkKxPqhhmHaoAZ16sT75cwQAAACCDxEBchEBAABUcgsBAAB6DE9OIENPTkZMSUNUIHoPIERPIFVQREFURSBTRVQgKSByFgEAANoEZGljdNoUdXBkYXRlX3ZhbHVlc190b19zZXTaBXN0YWNr2gV0YWJsZXIQAQAA2gNrZXlyagAAAHIVAAAA2gtfaXNfbGl0ZXJhbHIYAAAA2g1CaW5kUGFyYW1ldGVycu4AAAByLAAAANoHX2lzbnVsbNoGX2Nsb25lcjIAAADaCnNlbGZfZ3JvdXByDgEAAHIPAQAA2gRuYW1l2gZhcHBlbmRyEAAAANoEd2FybtoSY3VycmVudF9leGVjdXRhYmxlcuEAAADaBWl0ZW1zcg0BAADaBmV4cGVjdHIZAAAA2hVFeHByZXNzaW9uRWxlbWVudFJvbGXaEnVwZGF0ZV93aGVyZWNsYXVzZSkRcjUAAAByGAEAAHJKAAAAcr0AAAByFQEAANoOYWN0aW9uX3NldF9vcHPaDnNldF9wYXJhbWV0ZXJz2hBpbnNlcnRfc3RhdGVtZW502gRjb2xzchABAADaB2NvbF9rZXlyLwAAANoKdmFsdWVfdGV4dNoIa2V5X3RleHTaAWvaAXbaC2FjdGlvbl90ZXh0cxEAAAAgICAgICAgICAgICAgICAgIHIxAAAA2ht2aXNpdF9vbl9jb25mbGljdF9kb191cGRhdGV6KlNRTGl0ZUNvbXBpbGVyLnZpc2l0X29uX2NvbmZsaWN0X2RvX3VwZGF0ZeoFAABzaQIAAIAA2BEciAbgFi6QZNcWLtEWLqh70RZBuGLRFkGIC+AZG4gO5BkdmGbXHjnRHjnTGTqIDvAGABwgnzqZOqBimT6oLNEbN9AIGNgPH9cPJdEPJdcPJ9EPJ4gE3BEViEHYFheXZZFliEfgDxaYLtEPKNgYJtcYKtEYKqg30xgzkQXYERKQbtERJNgYJtcYKtEYKqgx0xgtkQXgEBjkDxjXDyTRDySgVdQPK9wYINcYLtEYLqh0sFXAIccmwSbUGEmRBfQIABUfmHWkaNcmPNEmPNQUPdgYHZ8KmQrXGCrSGCrgHCGfTJlMm06QRdghIqcWoRaQRZRK2BkdnxyZHKBl1yY20SY20yY4wFWYHNMZS4hK4Bcbl32RfdcXKtEXKqgxrzapNtMXMohI2Awa1wwh0Qwhqni5GtAiRNYMRfAvABIW8TQADBrcDBCPSYpJ8AgAFRnXFCvRFCvXFDHRFDHXFDbTFDbYFRmXWZFZ0R5CsT7THkLUFULwCQUREvQDBw0O8BAAGSfXGCzRGCzWGC6RBJABkDH0BgAYIqAhpFPUFynwAwAVGZdNkU3XFCfRFCeoAdQUKuAZHZ8cmRygYbBFmBzTGTrwBwARGfAKAB4in1yZXNwUHdcUJNEUJKRV1yVA0SVAwCHTFETYHyTwBQAeKvMAAx4SkArwCAARH9cQJdEQJbI4uVrQJkjVEEnwFQAZL/AYABcbl2mRaaAO0xYviAvYCxHXCyTRCyTQCzDYDBeYO6gUrxypHNgQFtcQKdEQKbgUyCXwAwAqNvMAAioO8QACHA7xAAINDohL+PIIADVAAcEb0A9N0AhNcjkAAABjAwAAAAAAAAAAAAAABQAAAAsAAAHzbgAAAJcAZAF8A2QCPAAAAAIAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHwBZANmAmkAfAOkAY4BfQQCAHwAagAAAAAAAAAAAAAAAAAAAAAAAAB8AWQEZgJpAHwDpAGOAX0FZAV8BJsAZAZ8BZsAZAedBVMAKQhOVNoOZWFnZXJfZ3JvdXBpbmd6AyB8IHoDICYg2gEoegMgLSDaASlyBAEAACkGcjUAAAByoAAAAHKhAAAAckoAAADaA29yX9oEYW5kX3MGAAAAICAgICAgcjEAAADaG3Zpc2l0X2JpdHdpc2VfeG9yX29wX2JpbmFyeXoqU1FMaXRlQ29tcGlsZXIudmlzaXRfYml0d2lzZV94b3Jfb3BfYmluYXJ5LQYAAHNUAAAAgADgHyOIAtALG9EIHNgOK4hk1w4r0Q4rqEawRdEOQLhS0Q5AiAPYDyyIdNcPLNEPLKhWsFXRD0G4YtEPQYgE2BESkDOQJZBzmDSYJqAB0A8i0AgicjkAAAApInI6AAAAcjsAAAByPAAAAHIQAAAA2gt1cGRhdGVfY29weXIXAAAA2gtTUUxDb21waWxlcnLAAAAAcqIAAABypwAAAHKqAAAAcq8AAAByswAAAHK3AAAAcrkAAAByvAAAAHLGAAAAcsoAAABy1AAAAHLWAAAAcuUAAABy5wAAAHLqAAAAcvIAAABy9QAAAHL6AAAAcvcAAAByBgEAAHIIAQAAchYBAAByGQEAAHI6AQAAckEBAAByPQAAAHI+AAAAcwEAAABAcjEAAABylgAAAHKWAAAANwUAAHPJAAAA+IQA2BIikCTXEiLREiLYCBDXCBzRCBzXCCjRCCjgFRnYExfYFBjYFhrYFBjYExfYFhrYFRnYExfYFBjxFQsJCvMFDhMGgEvyIAUFCvIOAQUj8gYBBTryBgEFE/IGAQUT8gYBBTbyBgEFPPQGBAU38gwJBRf0FgsFCvIaCgUU8hgCBRLyCAcFCvISBAUK8gwEBQryDAkFCvIWCQUK8hYDBTDyCgQFCvIMAQVHAfIGAQVLAfIGFQUb8i4GBSzyEEEBBU4B9kYCBQUjcjkAAABylgAAAGMAAAAAAAAAAAAAAAACAAAAAAAAAfNiAAAAhwCXAGUAWgFkAFoCZAGEAFoDiABmAWQChAhaBIgAZgFkA4QIWgWIAGYBZASECFoGiABmAWQFhAhaB4gAZgFkBoQIWghkB4QAWgkJAGQKZAiEAVoKZAmEAFoLiAB4AVoMUwApC9oRU1FMaXRlRERMQ29tcGlsZXJjAgAAAAAAAAAAAAAABQAAAAsAAAHz8gMAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAGoCAAAAAAAAAAAAAAAAAAAAAAAAagUAAAAAAAAAAAAAAAAAAAAAAAB8AWoGAAAAAAAAAAAAAAAAAAAAAAAAfAGsAasCAAAAAAAAfQN8AGoIAAAAAAAAAAAAAAAAAAAAAAAAagsAAAAAAAAAAAAAAAAAAAAAAAB8AasBAAAAAAAAZAJ6AAAAfAN6AAAAfQR8AGoNAAAAAAAAAAAAAAAAAAAAAAAAfAGrAQAAAAAAAH0FfAWBNHQPAAAAAAAAAAB8AWoQAAAAAAAAAAAAAAAAAAAAAAAAahIAAAAAAAAAAAAAAAAAAAAAAAB0FAAAAAAAAAAAqwIAAAAAAAByCGQDfAV6AAAAZAR6AAAAfQV8BGQFfAV6AAAAeg0AAH0EfAFqFgAAAAAAAAAAAAAAAAAAAAAAAHMhfARkBnoNAAB9BHwBahgAAAAAAAAAAAAAAAAAAAAAAABkBxkAAABkCBkAAAB9BnwGgQh8BGQJfAZ6AAAAeg0AAH0EfAFqGgAAAAAAAAAAAAAAAAAAAAAAAHL3fAFqHAAAAAAAAAAAAAAAAAAAAAAAAGQKdQByQXQfAAAAAAAAAAB8AWogAAAAAAAAAAAAAAAAAAAAAAAAahoAAAAAAAAAAAAAAAAAAAAAAABqIgAAAAAAAAAAAAAAAAAAAAAAAKsBAAAAAAAAZAtrNwAAchV0JQAAAAAAAAAAaiYAAAAAAAAAAAAAAAAAAAAAAABkDKsBAAAAAAAAggF8AWogAAAAAAAAAAAAAAAAAAAAAAAAahgAAAAAAAAAAAAAAAAAAAAAAABkBxkAAABkDRkAAAByjHQfAAAAAAAAAAB8AWogAAAAAAAAAAAAAAAAAAAAAAAAahoAAAAAAAAAAAAAAAAAAAAAAABqIgAAAAAAAAAAAAAAAAAAAAAAAKsBAAAAAAAAZAtrKAAAcmB0KQAAAAAAAAAAfAFqBgAAAAAAAAAAAAAAAAAAAAAAAGoqAAAAAAAAAAAAAAAAAAAAAAAAdCwAAAAAAAAAAGouAAAAAAAAAAAAAAAAAAAAAAAAqwIAAAAAAAByMnwBajAAAAAAAAAAAAAAAAAAAAAAAABzJnwEZA56DQAAfQR8AWoYAAAAAAAAAAAAAAAAAAAAAAAAZAcZAAAAZA8ZAAAAfQZ8BoEIfARkCXwGegAAAHoNAAB9BHwEZBB6DQAAfQR8AWoyAAAAAAAAAAAAAAAAAAAAAAAAgSF8BGQCfABqBQAAAAAAAAAAAAAAAAAAAAAAAHwBajIAAAAAAAAAAAAAAAAAAAAAAACrAQAAAAAAAHoAAAB6DQAAfQR8BFMAKRFOKQHaD3R5cGVfZXhwcmVzc2lvbtoBIHI9AQAAcj4BAAB6CSBERUZBVUxUIHoJIE5PVCBOVUxM2gZzcWxpdGXaFG9uX2NvbmZsaWN0X25vdF9udWxs+g0gT04gQ09ORkxJQ1QgVHIFAAAAekBTUUxpdGUgZG9lcyBub3Qgc3VwcG9ydCBhdXRvaW5jcmVtZW50IGZvciBjb21wb3NpdGUgcHJpbWFyeSBrZXlz2g1hdXRvaW5jcmVtZW50egwgUFJJTUFSWSBLRVnaF29uX2NvbmZsaWN0X3ByaW1hcnlfa2V5eg4gQVVUT0lOQ1JFTUVOVCkacjYAAADaFnR5cGVfY29tcGlsZXJfaW5zdGFuY2VyMgAAAHLuAAAAcg4BAADaDWZvcm1hdF9jb2x1bW7aGWdldF9jb2x1bW5fZGVmYXVsdF9zdHJpbmdyLAAAANoOc2VydmVyX2RlZmF1bHTaA2FyZ3IWAAAA2ghudWxsYWJsZdoPZGlhbGVjdF9vcHRpb25z2gtwcmltYXJ5X2tleXJMAQAA2gNsZW5yIQEAANoHY29sdW1uc3IKAAAAcsMAAAByWQAAAHLvAAAAcvAAAADaB0ludGVnZXLaDGZvcmVpZ25fa2V5c9oIY29tcHV0ZWQpB3I1AAAA2gZjb2x1bW5ybQAAAHI3AAAA2gdjb2xzcGVjchEAAADaEm9uX2NvbmZsaWN0X2NsYXVzZXMHAAAAICAgICAgIHIxAAAA2hhnZXRfY29sdW1uX3NwZWNpZmljYXRpb256KlNRTGl0ZURETENvbXBpbGVyLmdldF9jb2x1bW5fc3BlY2lmaWNhdGlvbjYGAABz6wEAAIAA2BIWlyyRLNcSNdESNdcSPdESPdgMEo9LiUuoFvADABM+8wACEwqIB/AGABMXly2RLdcSLdESLahm0xI1uAPREju4Z9ESRYgH2BIW1xIw0RIwsBbTEjiIB9gLEtALHtwPGZgm1xov0Rov1xoz0RoztF3UD0PYGh2gB5ktqCPRGi2QB9gME5B7oFfRFyzRDCyIR+APFY9/in/YDBOQe9EMIohH4CEn1yE30SE3uAjRIUHYECbxAwIiDtAMHvAGABAi0A8t2BAXmD/QLT/RGz/RED+QB+ALEdcLHdILHeAQFtcQJNEQJKgE0RAs3BQXmAafDJkM1xgw0Rgw1xg40Rg40xQ5uFHSFD7kFhnXFibRFibwAgEVLfMDAxcS8AADERLwDAARF5cMkQzXECzRECyoWNEQNrB/0hBH3BQXmAafDJkM1xgw0Rgw1xg40Rg40xQ5uFHSFD7cFB6Ydp97mXvXHznRHzm8ONc7S9E7S9QUTNgYHtcYK9IYK+AQF5g+0RApkAfgJSvXJTvRJTu4SNElRdgULfEDAiYS0BAi8AYAFCbQEzHYFBuYf9AxQ9EfQ9EUQ5BH4BAX0Bsr0RArkAfgCxGPP4k/0Asm2AwTkHOYVJ9cmVyoJq8vqS/THTrRFzrRDDqIR+APFogOcjkAAABjAgAAAAAAAAAAAAAABAAAAAsAAAHz4AEAAJUBlwB0AQAAAAAAAAAAfAFqAgAAAAAAAAAAAAAAAAAAAAAAAKsBAAAAAAAAZAFrKAAAcnF0BQAAAAAAAAAAfAGrAQAAAAAAAGQCGQAAAH0DfANqBgAAAAAAAAAAAAAAAAAAAAAAAHJXfANqCAAAAAAAAAAAAAAAAAAAAAAAAGoKAAAAAAAAAAAAAAAAAAAAAAAAZAMZAAAAZAQZAAAAcjt0DQAAAAAAAAAAfANqDgAAAAAAAAAAAAAAAAAAAAAAAGoQAAAAAAAAAAAAAAAAAAAAAAAAdBIAAAAAAAAAAGoUAAAAAAAAAAAAAAAAAAAAAAAAqwIAAAAAAAByDXwDahYAAAAAAAAAAAAAAAAAAAAAAABzAXkAdBgAAAAAAAAAAIkGfACNNQAAfAGrAQAAAAAAAH0EfAFqCgAAAAAAAAAAAAAAAAAAAAAAAGQDGQAAAGQFGQAAAH0FfAWANnQBAAAAAAAAAAB8AWoCAAAAAAAAAAAAAAAAAAAAAAAAqwEAAAAAAABkAWsoAAByHnQFAAAAAAAAAAB8AasBAAAAAAAAZAIZAAAAagoAAAAAAAAAAAAAAAAAAAAAAABkAxkAAABkBhkAAAB9BXwFgQh8BGQHfAV6AAAAeg0AAH0EfARTACkITnIFAAAAcgIAAABySQEAAHJMAQAAchgBAAByTQEAAHJLAQAAKQ5yVgEAAHJXAQAA2gRsaXN0clUBAAByIQEAAHJUAQAAclkAAABy7gAAAHLvAAAAcvAAAAByWAEAAHJZAQAAcjMAAADaHHZpc2l0X3ByaW1hcnlfa2V5X2NvbnN0cmFpbnQpB3I1AAAA2gpjb25zdHJhaW50ckoAAAByEAEAAHIOAAAAcl0BAAByOAAAAHMHAAAAICAgICAggHIxAAAAcmEBAAB6LlNRTGl0ZURETENvbXBpbGVyLnZpc2l0X3ByaW1hcnlfa2V5X2NvbnN0cmFpbnRpBgAAc+sAAAD4gAD0CAAMD4h61w8h0Q8h0wsioGHSCyfcEBSQWtMQIKAR0RAjiEHgEBGXDZIN2BQVl0eRR9cUK9EUK6hI0RQ1sG/SFEbcFB6YcZ92mXbXHzTRHzS0aNc2RtE2RtQUR9gYGZ8Omg7gFxvkDxSJd9EPM7BK0w8/iATgHSfXHTfRHTe4CNEdQdgMGfEDAh4K0Aga8AYADB7QCyWsI6hq1y5A0S5A0ypBwFHSKkbcISWgatMhMbAh0SE01yFE0SFEwFjRIU7YECnxAwIiDtAMHvAIAAwe0Asp2AwQkE/QJjjRFDjRDDiIROAPE4gLcjkAAABjAgAAAAAAAAAAAAAABAAAAAsAAAHzHgEAAJUBlwB0AAAAAAAAAAAAiQZ8AI0FAAB8AasBAAAAAAAAfQN8AWoEAAAAAAAAAAAAAAAAAAAAAAAAZAEZAAAAZAIZAAAAfQR8BIBedAcAAAAAAAAAAHwBaggAAAAAAAAAAAAAAAAAAAAAAACrAQAAAAAAAGQDaygAAHJGdAsAAAAAAAAAAHwBqwEAAAAAAABkBBkAAAB9BXQNAAAAAAAAAAB8BXQOAAAAAAAAAABqEAAAAAAAAAAAAAAAAAAAAAAAAKsCAAAAAAAAch50CwAAAAAAAAAAfAGrAQAAAAAAAGQEGQAAAGoEAAAAAAAAAAAAAAAAAAAAAAAAZAEZAAAAZAUZAAAAfQR8BIEIfANkBnwEegAAAHoNAAB9A3wDUwApB05ySQEAAHIYAQAAcgUAAAByAgAAANoSb25fY29uZmxpY3RfdW5pcXVlcksBAAApCXIzAAAA2hd2aXNpdF91bmlxdWVfY29uc3RyYWludHJUAQAAclYBAAByVwEAAHJgAQAAciwAAAByDAAAANoKU2NoZW1hSXRlbSkHcjUAAAByYgEAAHJKAAAAcg4AAAByXQEAANoEY29sMXI4AAAAcwcAAAAgICAgICCAcjEAAAByZQEAAHopU1FMaXRlRERMQ29tcGlsZXIudmlzaXRfdW5pcXVlX2NvbnN0cmFpbnSGBgAAc6cAAAD4gADcDxSJd9EPLqh60w86iATgHSfXHTfRHTe4CNEdQdgMGfEDAh4K0Aga8AYADB7QCyWsI6hq1y5A0S5A0ypBwFHSKkbcExeYCtMTI6BB0RMmiETcDxmYJKQG1yAx0SAx1A8y3CUpqCrTJTWwYdElONclSNElSNgUHPEDAiYS4BIm8QUCJijQECLwCAAMHtALKdgMEJBP0CY40RQ40Qw4iETgDxOIC3I5AAAAYwIAAAAAAAAAAAAAAAMAAAALAAAB814AAACVAZcAdAAAAAAAAAAAAIkFfACNBQAAfAGrAQAAAAAAAH0DfAFqBAAAAAAAAAAAAAAAAAAAAAAAAGQBGQAAAGQCGQAAAH0EfASBCHwDZAN8BHoAAAB6DQAAfQN8A1MAKQROckkBAAByGAEAAHJLAQAAKQNyMwAAANoWdmlzaXRfY2hlY2tfY29uc3RyYWludHJUAQAAKQZyNQAAAHJiAQAAckoAAAByDgAAAHJdAQAAcjgAAABzBgAAACAgICAggHIxAAAAcmkBAAB6KFNRTGl0ZURETENvbXBpbGVyLnZpc2l0X2NoZWNrX2NvbnN0cmFpbnSYBgAAc0gAAAD4gADcDxSJd9EPLahq0w85iATgHSfXHTfRHTe4CNEdQdgMGfEDAh4K0Aga8AgADB7QCynYDBCQT9AmONEUONEMOIhE4A8TiAtyOQAAAGMCAAAAAAAAAAAAAAADAAAACwAAAfN0AAAAlQGXAHQAAAAAAAAAAACJBHwAjQUAAHwBqwEAAAAAAAB9A3wBagQAAAAAAAAAAAAAAAAAAAAAAABkARkAAABkAhkAAACBFXQHAAAAAAAAAABqCAAAAAAAAAAAAAAAAAAAAAAAAGQDqwEAAAAAAACCAXwDUwApBE5ySQEAAHIYAQAAekZTUUxpdGUgZG9lcyBub3Qgc3VwcG9ydCBvbiBjb25mbGljdCBjbGF1c2UgZm9yIGNvbHVtbiBjaGVjayBjb25zdHJhaW50KQVyMwAAANoddmlzaXRfY29sdW1uX2NoZWNrX2NvbnN0cmFpbnRyVAEAAHIKAAAAcsMAAAApBXI1AAAAcmIBAABySgAAAHIOAAAAcjgAAABzBQAAACAgICCAcjEAAAByawEAAHovU1FMaXRlRERMQ29tcGlsZXIudmlzaXRfY29sdW1uX2NoZWNrX2NvbnN0cmFpbnSkBgAAc0cAAAD4gADcDxSJd9EPNLBa0w9AiATgCxXXCyXRCyWgaNELL7AN0Qs+0AtK3BIV1xIi0RIi8AIBESrzAwMTDvAAAw0O8AoAEBSIC3I5AAAAYwIAAAAAAAAAAAAAAAMAAAALAAAB8+IAAACVAZcAfAFqAAAAAAAAAAAAAAAAAAAAAAAAAGQBGQAAAGoCAAAAAAAAAAAAAAAAAAAAAAAAagQAAAAAAAAAAAAAAAAAAAAAAAB9A3wBagAAAAAAAAAAAAAAAAAAAAAAAABkARkAAABqBgAAAAAAAAAAAAAAAAAAAAAAAGoEAAAAAAAAAAAAAAAAAAAAAAAAfQR8A2oIAAAAAAAAAAAAAAAAAAAAAAAAfARqCAAAAAAAAAAAAAAAAAAAAAAAAGs3AAByAXkAdAoAAAAAAAAAAIkFfACNGQAAfAGrAQAAAAAAAFMAKQJOcgIAAAApB3IYAAAA2gZwYXJlbnRyIQEAAHJbAQAAcgwAAAByMwAAANocdmlzaXRfZm9yZWlnbl9rZXlfY29uc3RyYWludCkGcjUAAAByYgEAAHJKAAAA2gtsb2NhbF90YWJsZdoMcmVtb3RlX3RhYmxlcjgAAABzBgAAACAgICAggHIxAAAAcm4BAAB6LlNRTGl0ZURETENvbXBpbGVyLnZpc2l0X2ZvcmVpZ25fa2V5X2NvbnN0cmFpbnSvBgAAc2IAAAD4gADYFiDXFinRFimoIdEWLNcWM9EWM9cWOdEWOYgL2Bch1xcq0RcqqDHRFy3XFzTRFzTXFzrRFzqIDOALFtcLHdELHaAc1yE00SE00gs02BMX5BMYkTfREze4CtMTQ9AMQ3I5AAAAYwQAAAAAAAAAAAAAAAQAAAADAAAB8ygAAACXAHwDagEAAAAAAAAAAAAAAAAAAAAAAAB8AmQBrAKrAgAAAAAAAFMAKQN6PUZvcm1hdCB0aGUgcmVtb3RlIHRhYmxlIGNsYXVzZSBvZiBhIENSRUFURSBDT05TVFJBSU5UIGNsYXVzZS5GchwBAAApAdoMZm9ybWF0X3RhYmxlKQRyNQAAAHJiAQAAciEBAAByDgEAAHMEAAAAICAgIHIxAAAA2h5kZWZpbmVfY29uc3RyYWludF9yZW1vdGVfdGFibGV6MFNRTGl0ZURETENvbXBpbGVyLmRlZmluZV9jb25zdHJhaW50X3JlbW90ZV90YWJsZbgGAABzGgAAAIAA8AYAEBjXDyTRDySgVbB10A8k0w890Ag9cjkAAABjBAAAAAAAAAAAAAAACQAAAAsAAAHz2AEAAIcAlwB8AWoAAAAAAAAAAAAAAAAAAAAAAAAAfQWJAGoDAAAAAAAAAAAAAAAAAAAAAAAAfAWrAQAAAAAAAAEAiQBqBAAAAAAAAAAAAAAAAAAAAAAAAH0GZAF9B3wFagYAAAAAAAAAAAAAAAAAAAAAAAByBXwHZAJ6DQAAfQd8B2QDeg0AAH0HfAFqCAAAAAAAAAAAAAAAAAAAAAAAAHIFfAdkBHoNAAB9B3wHiQBqCwAAAAAAAAAAAAAAAAAAAAAAAHwFZAWsBqsCAAAAAAAAmwFkB3wGag0AAAAAAAAAAAAAAAAAAAAAAAB8BWoOAAAAAAAAAAAAAAAAAAAAAAAAZAisCasCAAAAAAAAmwFkCmQLahEAAAAAAAAAAAAAAAAAAAAAAACIAGYBZAyECHwFahIAAAAAAAAAAAAAAAAAAAAAAABEAKsAAAAAAAAAqwEAAAAAAACbAWQNnQZ6DQAAfQd8BWoUAAAAAAAAAAAAAAAAAAAAAAAAZA4ZAAAAZA8ZAAAAfQh8CIEmiQBqFgAAAAAAAAAAAAAAAAAAAAAAAGoZAAAAAAAAAAAAAAAAAAAAAAAAfAhkCGQFrBCrAwAAAAAAAH0JfAdkEXwJegAAAHoNAAB9B3wHUwApEk56B0NSRUFURSB6B1VOSVFVRSB6BklOREVYIHoOSUYgTk9UIEVYSVNUUyBUKQHaDmluY2x1ZGVfc2NoZW1hegQgT04gRnIcAQAAegIgKHLZAAAAYwEAAAAAAAAAAAAAAAYAAAAzAAAB81oAAACVAUsAAQCXAHwAXSIAAH0BiQJqAAAAAAAAAAAAAAAAAAAAAAAAAGoDAAAAAAAAAAAAAAAAAAAAAAAAfAFkAGQBrAKrAwAAAAAAAJYBlwEBAIwkBAB5A60DdwEpBEZUqQJyyAAAANoNbGl0ZXJhbF9iaW5kc04pAtoMc3FsX2NvbXBpbGVycjIAAAApA3LdAAAAcq4AAAByNQAAAHMDAAAAICCAcjEAAABy4AAAAHo3U1FMaXRlRERMQ29tcGlsZXIudmlzaXRfY3JlYXRlX2luZGV4Ljxsb2NhbHM+LjxnZW5leHByPs8GAABzOgAAAPjoAPiAAPAABRYO8QgAHS6QRPAHABEV1xAh0RAh1xAp0RAp2BQYqAW4VPADABEq9wACERLxBgAdLvlzBAAAAIMoKwFyPgEAAHJJAQAA2gV3aGVyZXJ3AQAAegcgV0hFUkUgKQ3aB2VsZW1lbnTaE192ZXJpZnlfaW5kZXhfdGFibGVyDgEAANoGdW5pcXVl2g1pZl9ub3RfZXhpc3Rz2hRfcHJlcGFyZWRfaW5kZXhfbmFtZXJyAQAAciEBAABy4QAAANoLZXhwcmVzc2lvbnNyVAEAAHJ5AQAAcjIAAAApCnI1AAAA2gZjcmVhdGVydQEAANoUaW5jbHVkZV90YWJsZV9zY2hlbWFySgAAANoFaW5kZXhyDgEAAHIOAAAA2gt3aGVyZWNsYXVzZdoOd2hlcmVfY29tcGlsZWRzCgAAAGAgICAgICAgICByMQAAANoSdmlzaXRfY3JlYXRlX2luZGV4eiRTUUxpdGVERExDb21waWxlci52aXNpdF9jcmVhdGVfaW5kZXi9BgAAcwgBAAD4gADwBgARF5cOkQ6IBdgIDNcIINEIIKAV1Agn2BMXlz2RPYgI2A8YiATYCxCPPIo82AwQkEnRDB2IROAIDJAI0QgYiATgCxHXCx/SCx/YDBDQFCTRDCSIROAIDNgMENcMJdEMJaBluETQDCXVDEHYDBTXDCHRDCGgJacroSu4JdAMIdUMQNgMEI9JiUnzAAUWDvAIAB0i1xwt0hwt8wkFFg71AAUNDvAHCREK8QAJCQqIBPAWABcc1xYr0RYrqEjRFjWwZ9EWPogL2AsW0Asi2B0h1x0u0R0u1x020R022BAbqDXABPADAB438wACHg6ITvAGAA0RkEmgDtEULtEMLohE4A8TiAtyOQAAAGMCAAAAAAAAAAAAAAAEAAAAAwAAAfPAAAAAlwBnAH0CfAFqAAAAAAAAAAAAAAAAAAAAAAAAAGQBGQAAAGQCGQAAAHMRfAJqAwAAAAAAAAAAAAAAAAAAAAAAAGQDqwEAAAAAAAABAHwBagAAAAAAAAAAAAAAAAAAAAAAAABkARkAAABkBBkAAAByEXwCagMAAAAAAAAAAAAAAAAAAAAAAABkBasBAAAAAAAAAQB8AnIUZAZkB2oFAAAAAAAAAAAAAAAAAAAAAAAAfAKrAQAAAAAAAHoAAABTAHkIKQlOckkBAADaCndpdGhfcm93aWR6DVdJVEhPVVQgUk9XSUTaBnN0cmljdNoGU1RSSUNUegIKIHoDLAogcs4AAAApA3JUAQAAcikBAABy4QAAACkDcjUAAAByIQEAANoNdGFibGVfb3B0aW9uc3MDAAAAICAgcjEAAADaEXBvc3RfY3JlYXRlX3RhYmxleiNTUUxpdGVERExDb21waWxlci5wb3N0X2NyZWF0ZV90YWJsZeAGAABzYwAAAIAA2BgaiA3gDxTXDyTRDySgWNEPLqh80g882AwZ1wwg0QwgoB/UDDHgCxDXCyDRCyCgGNELKqg40gs02AwZ1wwg0QwgoBjUDCrhCxjYExiYNp87mTugfdMbNdETNdAMNeATFXI5AAAAKQJGVCkNcjoAAAByOwAAAHI8AAAAcl4BAAByYQEAAHJlAQAAcmkBAAByawEAAHJuAQAAcnMBAAByhgEAAHKMAQAAcj0AAAByPgAAAHMBAAAAQHIxAAAAckUBAAByRQEAADUGAABzOgAAAPiEAPICMQUX9GYBGwUU9DoQBRT0JAoFFPQYCQUU9BYHBUQB8hIDBT7wDABCAUYB8wMhBRT2RgEMBRZyOQAAAHJFAQAAYwAAAAAAAAAAAAAAAAIAAAAAAAAB8z4AAACHAJcAZQBaAWQAWgJkAYQAWgOIAGYBZAKECFoEiABmAWQDhAhaBYgAZgFkBIQIWgZkBYQAWgeIAHgBWghTACkG2hJTUUxpdGVUeXBlQ29tcGlsZXJjAgAAAAAAAAAAAAAAAwAAAAsAAAHzJAAAAJcAfABqAQAAAAAAAAAAAAAAAAAAAAAAAHwBqwEAAAAAAABTAHIqAAAAKQHaCnZpc2l0X0JMT0KpA3I1AAAAcvgAAABySgAAAHMDAAAAICAgcjEAAADaEnZpc2l0X2xhcmdlX2JpbmFyeXolU1FMaXRlVHlwZUNvbXBpbGVyLnZpc2l0X2xhcmdlX2JpbmFyefAGAABzEQAAAIAA2A8Tj3+Jf5h10w8l0AglcjkAAABjAgAAAAAAAAAAAAAABAAAAAsAAAHzXAAAAJUBlwB0AQAAAAAAAAAAfAF0AgAAAAAAAAAAqwIAAAAAAAByDHwBagQAAAAAAAAAAAAAAAAAAAAAAAByD3QGAAAAAAAAAACJA3wAjREAAHwBqwEAAAAAAABTAHkBKQJOco8AAAApBXIsAAAAckAAAAByVwAAAHIzAAAA2g52aXNpdF9EQVRFVElNRakEcjUAAABy+AAAAHJKAAAAcjgAAABzBAAAACAgIIByMQAAAHKUAQAAeiFTUUxpdGVUeXBlQ29tcGlsZXIudmlzaXRfREFURVRJTUXzBgAAcykAAAD4gADkEBqYNaQu1BAx2A8U1w8s0g8s5BMYkTfREymoJdMTMNAMMOATInI5AAAAYwIAAAAAAAAAAAAAAAQAAAALAAAB81wAAACVAZcAdAEAAAAAAAAAAHwBdAIAAAAAAAAAAKsCAAAAAAAAcgx8AWoEAAAAAAAAAAAAAAAAAAAAAAAAcg90BgAAAAAAAAAAiQN8AI0RAAB8AasBAAAAAAAAUwB5ASkCTnKOAAAAKQVyLAAAAHJAAAAAclcAAAByMwAAANoKdmlzaXRfREFURXKVAQAAcwQAAAAgICCAcjEAAABylwEAAHodU1FMaXRlVHlwZUNvbXBpbGVyLnZpc2l0X0RBVEX8BgAA8ykAAAD4gADkEBqYNaQu1BAx2A8U1w8s0g8s5BMYkTfREyWgZdMTLNAMLOATHnI5AAAAYwIAAAAAAAAAAAAAAAQAAAALAAAB81wAAACVAZcAdAEAAAAAAAAAAHwBdAIAAAAAAAAAAKsCAAAAAAAAcgx8AWoEAAAAAAAAAAAAAAAAAAAAAAAAcg90BgAAAAAAAAAAiQN8AI0RAAB8AasBAAAAAAAAUwB5ASkCTnKSAAAAKQVyLAAAAHJAAAAAclcAAAByMwAAANoKdmlzaXRfVElNRXKVAQAAcwQAAAAgICCAcjEAAABymgEAAHodU1FMaXRlVHlwZUNvbXBpbGVyLnZpc2l0X1RJTUUFBwAAcpgBAAByOQAAAGMCAAAAAAAAAAAAAAAAAAAACwAAAfMEAAAAlwB5ASkCTnIGAAAAckIAAABykQEAAHMDAAAAICAgcjEAAADaCnZpc2l0X0pTT056HVNRTGl0ZVR5cGVDb21waWxlci52aXNpdF9KU09ODgcAAHMHAAAAgADwCAAQFnI5AAAAKQlyOgAAAHI7AAAAcjwAAABykgEAAHKUAQAAcpcBAABymgEAAHKcAQAAcj0AAAByPgAAAHMBAAAAQHIxAAAAco4BAAByjgEAAO8GAABzHAAAAPiEAPICAQUm9AYHBSP0EgcFH/QSBwUf9hIEBRZyOQAAAHKOAQAAYwAAAAAAAAAAAAAAAAIAAAAAAAAB8xQAAACXAGUAWgFkAFoCaABkAaMBWgN5AikD2hhTUUxpdGVJZGVudGlmaWVyUHJlcGFyZXI+dQAAANoCYXPaAmJ52gJpZtoCaW7aAmlz2gJvZtoCb27aAm9y2gJ0b9oDYWRk2gNhbGzaA2FuZNoDYXNj2gNlbmTaA2ZvcnIiAQAA2gNub3TaA3Jvd9oDc2V02gRjYXNlcr4AAADaBGRlc2PaBGRyb3DaBGVhY2jaBGVsc2XaBGZhaWzaBGZyb23aBGZ1bGzaBGdsb2LaBGludG9y4QAAAHKdAAAA2gRsaWtl2gRudWxs2gRwbGFu2gR0ZW1w2gR0aGVu2gR0cnVl2gR2aWV32gR3aGVu2gVhZnRlctoFYWx0ZXLaBWJlZ2lu2gVjaGVja9oFY3Jvc3PaBWZhbHNl2gVncm91cHKDAQAA2gVpbm5lctoFbGltaXTaBW1hdGNo2gVvcmRlctoFb3V0ZXLaBXF1ZXJ52gVyYWlzZXKeAAAAciEBAADaBXVuaW9u2gV1c2luZ3J6AQAA2gZhdHRhY2jaBmJlZm9yZXJbAQAA2gZjb21taXRygQEAANoGZGVsZXRl2gZkZXRhY2jaBmVzY2FwZdoGZXhjZXB02gZleGlzdHPaBmhhdmluZ9oGaWdub3Jl2gZpbnNlcnTaBmlzbnVsbNoGb2Zmc2V02gZwcmFnbWHaBnJlbmFtZXLTAAAAcn0BAADaBnVwZGF0ZdoGdmFjdXVt2gZ2YWx1ZXPaB2FuYWx5emXaB2JldHdlZW7aB2Nhc2NhZGXaB2NvbGxhdGVyEQAAANoHZXhwbGFpbtoHZm9yZWlnbtoHaW5kZXhlZNoHaW5zdGVhZNoHbmF0dXJhbNoHbm90bnVsbNoHcHJpbWFyedoHcmVpbmRleNoHcmVwbGFjZdoHdHJpZ2dlctoHdmlydHVhbNoIY29uZmxpY3TaCGRhdGFiYXNl2ghkZWZlcnJlZNoIZGlzdGluY3TaCHJlc3RyaWN02ghyb2xsYmFja9oJZXhjbHVzaXZl2glpbW1lZGlhdGXaCWluaXRpYWxsedoJaW50ZXJzZWN02gl0ZW1wb3JhcnlyYgEAANoKZGVmZXJyYWJsZdoKcmVmZXJlbmNlc9oLdHJhbnNhY3Rpb27aDGN1cnJlbnRfZGF0ZdoMY3VycmVudF90aW1lckwBAADaEWN1cnJlbnRfdGltZXN0YW1wTikEcjoAAAByOwAAAHI8AAAA2g5yZXNlcnZlZF93b3Jkc3JCAAAAcjkAAAByMQAAAHKeAQAAcp4BAAAVBwAAcwoAAACEAPICdgEWBoFOcjkAAAByngEAAGMAAAAAAAAAAAAAAAACAAAAAAAAAfM2AAAAlwBlAFoBZABaAmUDaggAAAAAAAAAAAAAAAAAAAAAAABkAYQAqwAAAAAAAABaBWQChABaBnkDKQTaFlNRTGl0ZUV4ZWN1dGlvbkNvbnRleHRjAQAAAAAAAAAAAAAABAAAAAMAAAHzbAAAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAGoCAAAAAAAAAAAAAAAAAAAAAAAADAB4AXMcAQB8AGoEAAAA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dGhhdCBTUUxpdGUgdW5kZXJzdGFuZHMgLSBvciBpbmRlZWQsIG15IG5vdCBiZSBkZWZpbmVkICphdCBhbGwqLgogICAgICAgIEludGVybmFsbHksIFNRTGl0ZSBoYW5kbGVzIHRoaXMgd2l0aCBhICdkYXRhIHR5cGUgYWZmaW5pdHknIGZvciBlYWNoCiAgICAgICAgY29sdW1uIGRlZmluaXRpb24sIG1hcHBpbmcgdG8gb25lIG9mICdURVhUJywgJ05VTUVSSUMnLCAnSU5URUdFUicsCiAgICAgICAgJ1JFQUwnLCBvciAnTk9ORScgKHJhdyBiaXRzKS4gVGhlIGFsZ29yaXRobSB0aGF0IGRldGVybWluZXMgdGhpcyBpcwogICAgICAgIGxpc3RlZCBpbiBodHRwczovL3d3dy5zcWxpdGUub3JnL2RhdGF0eXBlMy5odG1sIHNlY3Rpb24gMi4xLgoKICAgICAgICBUaGlzIG1ldGhvZCBhbGxvd3MgU1FMQWxjaGVteSB0byBzdXBwb3J0IHRoYXQgYWxnb3JpdGhtLCB3aGlsZSBzdGlsbAogICAgICAgIHByb3ZpZGluZyBhY2Nlc3MgdG8gc21hcnRlciByZWZsZWN0aW9uIHV0aWxpdGllcyBieSByZWNvZ25pemluZwogICAgICAgIGNvbHVtbiBkZWZpbml0aW9ucyB0aGF0IFNRTGl0ZSBvbmx5IHN1cHBvcnRzIHRocm91Z2ggYWZmaW5pdHkgKGxpa2UKICAgICAgICBEQVRFIGFuZCBET1VCTEUpLgoKICAgICAgICB6EihbXHcgXSspKFwoLio/XCkpP3IFAAAAciACAAByzgAAAHKRAAAAchwAAADaBENMT0JyIwAAAHIaAAAAciEAAADaBEZMT0HaBERPVUJ6BShcZCspehtDb3VsZCBub3QgaW5zdGFudGlhdGUgdHlwZSB6GiB3aXRoIHJlZmxlY3RlZCBhcmd1bWVudHMgehU7IHVzaW5nIG5vIGFyZ3VtZW50cy4pD3JEAAAAcswBAAByyQEAANoNaXNjaGVtYV9uYW1lc3LwAAAAch8AAAByIwAAANoITnVsbFR5cGVyIQAAAHIgAAAA2gdmaW5kYWxs2gNpbnRyKwAAAHIQAAAAcioBAAApBnI1AAAAcvgAAAByzAEA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
aiosqlite.cpython-312.pyc
18.31 KB
lrw-r--r--
2025-04-04 08:02:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
base.cpython-312.pyc
99.27 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
dml.cpython-312.pyc
9.80 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
json.cpython-312.pyc
3.67 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
provision.cpython-312.pyc
7.09 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pysqlcipher.cpython-312.pyc
6.05 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pysqlite.cpython-312.pyc
30.69 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
1.02 KB
lrw-r--r--
2025-04-04 08:02:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).