REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 126.90 KB
Close
//opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/engine/__pycache__/base.cpython-312.pyc
Text
Base64
yw0NCgAAAAD5ke9nFeABAOMAAAAAAAAAAAAAAAAIAAAAAAAAAfO+BAAAlwBVAGQAWgBkAWQCbAFtAloCAQBkAWQDbANaA2QBZANsBFoEZAFkA2wFWgVkAWQEbAVtBloGAQBkAWQFbAVtB1oHAQBkAWQGbAVtCFoIAQBkAWQHbAVtCVoJAQBkAWQIbAVtCloKAQBkAWQJbAVtC1oLAQBkAWQKbAVtDFoMAQBkAWQLbAVtDVoNAQBkAWQMbAVtDloOAQBkAWQNbAVtD1oPAQBkAWQObAVtEFoQAQBkAWQPbAVtEVoRAQBkAWQQbAVtEloSAQBkAWQRbAVtE1oTAQBkEmQTbBRtFVoVAQBkEmQUbBRtFloWAQBkEmQVbBRtF1oXAQBkEmQWbBRtGFoYAQBkEmQXbBRtGVoZAQBkEmQYbBRtGloaAQBkEmQZbBRtG1obAQBkEmQabBxtHVodAQBkEmQbbBxtHloeAQBkEmQcbBxtH1ofAQBkHWQebCBtIVohAQBkHWQfbCBtIloiAQBkHWQgbCBtI1ojAQBkHWQhbCBtHFocAQBkHWQibCRtJVolAQBkHWQhbCRtHFomAQBlBWpOAAAAAAAAAAAAAAAAAAAAAAAAcsBkEmQjbCBtKFooAQBkEmQkbCBtKVopAQBkEmQlbBRtKloqAQBkEmQmbBRtK1orAQBkEmQnbBRtLFosAQBkEmQobBRtLVotAQBkEmQpbBRtLlouAQBkEmQqbBRtL1ovAQBkEmQrbBRtMFowAQBkEmQsbBRtMVoxAQBkEmQtbBRtMloyAQBkEmQubBRtM1ozAQBkEmQvbBRtNFo0AQBkEmQwbBRtNVo1AQBkEmQxbDZtN1o3AQBkEmQybDhtOVo5AQBkHWQzbDptO1o7AQBkHWQ0bCNtPFo8AQBkHWQ1bD1tPlo+AQBkHWQ2bD1tP1o/AQBkHWQ3bD1tQFpAAQBkHWQ4bCRtQVpBAQBkHWQ5bEJtQ1pDAQBkHWQ6bERtRVpFAQBkHWQ7bEZtR1pHAQBkHWQ8bEZtSFpIAQBkHWQ9bEZtSVpJAQBkHWQ+bEptS1pLAQBkHWQ/bExtTVpNAQBkHWRAbExtTlpOAQBkHWRBbExtT1pPAQBkHWRCbFBtUVpRAQACAGUSZENlBqxEqwIAAAAAAABaUmUcaqYAAAAAAAAAAAAAAAAAAAAAAABaVGRFZVVkRjwAAABlHGqmAAAAAAAAAAAAAAAAAAAAAAAAWlZkR2VVZEg8AAAAAgBHAGRJhABkSmUWZSJqrgAAAAAAAAAAAAAAAAAAAAAAAGRLGQAAAKsEAAAAAAAAWlgCAEcAZEyEAGRNZRirAwAAAAAAAFpZAgBHAGROhABkT2UfqwMAAAAAAABaWgIARwBkUIQAZFFlWqsDAAAAAAAAWlsCAEcAZFKEAGRTZVqrAwAAAAAAAFpcAgBHAGRUhABkVWVbqwMAAAAAAABaXQIARwBkVoQAZFdlFmUjarwAAAAAAAAAAAAAAAAAAAAAAABlImquAAAAAAAAAAAAAAAAAAAAAAAAZEsZAAAAqwUAAAAAAABaXwIARwBkWIQAZFllI2q8AAAAAAAAAAAAAAAAAAAAAAAAqwMAAAAAAABaYAIARwBkWoQAZFtlYGVfqwQAAAAAAABaYWVhZV9fYgAAAAAAAAAAeQMpXHpCRGVmaW5lcyA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgYW5kIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgLgoK6QAAAAApAdoLYW5ub3RhdGlvbnNOKQHaA0FueSkB2ghDYWxsYWJsZSkB2gRjYXN0KQHaCEl0ZXJhYmxlKQHaCEl0ZXJhdG9yKQHaBExpc3QpAdoHTWFwcGluZykB2ghOb1JldHVybikB2ghPcHRpb25hbCkB2ghvdmVybG9hZCkB2gVUdXBsZSkB2gRUeXBlKQHaB1R5cGVWYXIpAdoFVW5pb27pAQAAACkB2gpCaW5kVHlwaW5nKQHaFkNvbm5lY3Rpb25FdmVudHNUYXJnZXQpAdoLREJBUElDdXJzb3IpAdoQRXhjZXB0aW9uQ29udGV4dCkB2gxFeGVjdXRlU3R5bGUpAdoQRXhlY3V0aW9uQ29udGV4dCkB2g5Jc29sYXRpb25MZXZlbCkB2hJfZGlzdGlsbF9wYXJhbXNfMjApAdoTX2Rpc3RpbGxfcmF3X3BhcmFtcykB2hRUcmFuc2FjdGlvbmFsQ29udGV4dOkCAAAAKQHaA2V4YykB2gppbnNwZWN0aW9uKQHaA2xvZykB2gR1dGlsKQHaCGNvbXBpbGVyKQHaDEN1cnNvclJlc3VsdCkB2gxTY2FsYXJSZXN1bHQpAdoRX0FueUV4ZWN1dGVQYXJhbXMpAdoWX0FueU11bHRpRXhlY3V0ZVBhcmFtcykB2hVfQ29yZUFueUV4ZWN1dGVQYXJhbXMpAdoXX0NvcmVNdWx0aUV4ZWN1dGVQYXJhbXMpAdoYX0NvcmVTaW5nbGVFeGVjdXRlUGFyYW1zKQHaFl9EQkFQSUFueUV4ZWN1dGVQYXJhbXMpAdoZX0RCQVBJU2luZ2xlRXhlY3V0ZVBhcmFtcykB2g9fRXhlY3V0ZU9wdGlvbnMpAdoRQ29tcGlsZWRDYWNoZVR5cGUpAdobQ29yZUV4ZWN1dGVPcHRpb25zUGFyYW1ldGVyKQHaB0RpYWxlY3QpAdoWU2NoZW1hVHJhbnNsYXRlTWFwVHlwZSkB2glJbnNwZWN0b3IpAdoDVVJMKQHaCmRpc3BhdGNoZXIpAdoNX0VjaG9GbGFnVHlwZSkB2hBfQ29ubmVjdGlvbkZhaXJ5KQHaBFBvb2wpAdoVUG9vbFByb3hpZWRDb25uZWN0aW9uKQHaCkV4ZWN1dGFibGUpAdoJX0luZm9UeXBlKQHaCENvbXBpbGVkKQHaFEV4ZWN1dGFibGVERExFbGVtZW50KQHaDVNjaGVtYURyb3BwZXIpAdoPU2NoZW1hR2VuZXJhdG9yKQHaD0Z1bmN0aW9uRWxlbWVudCkB2hBEZWZhdWx0R2VuZXJhdG9yKQHaDUhhc1NjaGVtYUF0dHIpAdoKU2NoZW1hSXRlbSkB2hBUeXBlZFJldHVybnNSb3dz2gJfVCkB2gVib3VuZHIsAAAA2hVfRU1QVFlfRVhFQ1VUSU9OX09QVFN6EU1hcHBpbmdbc3RyLCBBbnld2gpOT19PUFRJT05TYwAAAAAAAAAAAAAAAAwAAAAAAAAB88QFAACXAGUAWgFkAFoCVQBkAVoDZAJlBGQDPAAAAGQEZQRkBTwAAABkBloFZAdaBmQIZQRkCTwAAABkCloHZAtlBGQMPAAAAGQNZQRkDjwAAABkD2UEZBA8AAAAZBFlBGQSPAAAAAkACQAJAAkAZGEJAAkACQAJAAkACQAJAAkACQBkYmQThAVaCGQHWglkFGUEZBU8AAAAZGNkFoQEWgpkY2QXhARaC2UMZGRkGIQEqwAAAAAAAABaDWRlZBmEBFoOZGZkGoQEWg9kZ2QbhARaEGURZBxkHGQcZApkCmQcZBxkHGQcZApkHZwKCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAGRoZB6EBqsAAAAAAAAAWhJlEWRpZB+EBKsAAAAAAAAAWhJkaWQghARaEmRqZCGEBFoTZQxka2QihASrAAAAAAAAAFoUZQxka2QjhASrAAAAAAAAAFoVZQxka2QkhASrAAAAAAAAAFoWZQxkbGQlhASrAAAAAAAAAFoXZG1kJoQEWhhlDGRuZCeEBKsAAAAAAAAAWhlkb2QohARaGmRsZCmEBFobZQxkcGQqhASrAAAAAAAAAFocZHFkcmQrhAVaHWRzZCyEBFoeZHNkLYQEWh9kdGQuhARaIGR1ZC+EBFohZHFkdmQwhAVaImRzZDGEBFojZHNkMoQEWiRkd2QzhARaJWR4ZHlkNIQFWiZkeGR5ZDWEBVonZGtkNoQEWihka2Q3hARaKWRrZDiEBFoqZHRkOYQEWitkdWQ6hARaLGR6ZDuEBFotZHtkPIQEWi5kfGQ9hARaL2RzZD6EBFowZHNkP4QEWjFkcWR9ZECEBVoyZH5kQYQEWjNkfmRChARaNGR/ZEOEBFo1ZIBkRIQEWjZkgWRFhARaN2SBZEaEBFo4ZHNkR4QEWjllEQkAZHFkB2RInAEJAAkACQAJAAkACQAJAGSCZEmEB6sAAAAAAAAAWjplEQkAZHFkB2RInAEJAAkACQAJAAkACQAJAGSDZEqEB6sAAAAAAAAAWjoJAGRxZAdkSJwBCQAJAAkACQAJAAkACQBkg2RLhAdaOmURCQBkcWQHZEicAQkACQAJAAkACQAJAAkAZIRkTIQHqwAAAAAAAABaO2URCQBkcWQHZEicAQkACQAJAAkACQAJAAkAZIVkTYQHqwAAAAAAAABaOwkAZHFkB2RInAEJAAkACQAJAAkACQAJAGSFZE6EB1o7ZREJAGRxZAdkSJwBCQAJAAkACQAJAAkACQBkhmRPhAerAAAAAAAAAFo8ZREJAGRxZAdkSJwBCQAJAAkACQAJAAkACQBkh2RQhAerAAAAAAAAAFo8CQBkcWQHZEicAQkACQAJAAkACQAJAAkAZIdkUYQHWjwJAAkACQAJAAkACQAJAAkAZIhkUoQEWj0JAAkACQAJAAkACQAJAAkAZIlkU4QEWj4JAAkACQAJAAkACQAJAAkAZIpkVIQEWj8JAAkACQAJAAkACQAJAAkAZItkVYQEWkAJAAkACQAJAAkACQAJAAkAZIxkVoQEWkFlQmYBCQAJAAkACQAJAAkACQBkjWRXhAVaQwkACQBkjgkACQAJAAkACQAJAAkAZI9kWIQFWkQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAGSQZFmEBFpFCQAJAAkACQAJAAkACQAJAAkACQBkkWRahARaRgkACQAJAAkACQAJAGSSZFuEBFpHCQBkcQkACQAJAAkACQAJAAkACQAJAGSTZFyEBVpIZJRkXYQEWklkClpKZApaSwkAZHgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAGSVZF6EBVpMZU0JAAkACQAJAGSWCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQBkl2RfhAWrAAAAAAAAAFpOCQAJAAkACQAJAAkACQAJAGSYZGCEBFpPeQcpmdoKQ29ubmVjdGlvbmE6BAAAUHJvdmlkZXMgaGlnaC1sZXZlbCBmdW5jdGlvbmFsaXR5IGZvciBhIHdyYXBwZWQgREItQVBJIGNvbm5lY3Rpb24uCgogICAgVGhlIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBvYmplY3QgaXMgcHJvY3VyZWQgYnkgY2FsbGluZyB0aGUKICAgIDptZXRoOmBfZW5naW5lLkVuZ2luZS5jb25uZWN0YCBtZXRob2Qgb2YgdGhlIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgCiAgICBvYmplY3QsIGFuZCBwcm92aWRlcyBzZXJ2aWNlcyBmb3IgZXhlY3V0aW9uIG9mIFNRTCBzdGF0ZW1lbnRzIGFzIHdlbGwKICAgIGFzIHRyYW5zYWN0aW9uIGNvbnRyb2wuCgogICAgVGhlIENvbm5lY3Rpb24gb2JqZWN0IGlzICoqbm90KiogdGhyZWFkLXNhZmUuIFdoaWxlIGEgQ29ubmVjdGlvbiBjYW4gYmUKICAgIHNoYXJlZCBhbW9uZyB0aHJlYWRzIHVzaW5nIHByb3Blcmx5IHN5bmNocm9uaXplZCBhY2Nlc3MsIGl0IGlzIHN0aWxsCiAgICBwb3NzaWJsZSB0aGF0IHRoZSB1bmRlcmx5aW5nIERCQVBJIGNvbm5lY3Rpb24gbWF5IG5vdCBzdXBwb3J0IHNoYXJlZAogICAgYWNjZXNzIGJldHdlZW4gdGhyZWFkcy4gQ2hlY2sgdGhlIERCQVBJIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCgogICAgVGhlIENvbm5lY3Rpb24gb2JqZWN0IHJlcHJlc2VudHMgYSBzaW5nbGUgREJBUEkgY29ubmVjdGlvbiBjaGVja2VkIG91dAogICAgZnJvbSB0aGUgY29ubmVjdGlvbiBwb29sLiBJbiB0aGlzIHN0YXRlLCB0aGUgY29ubmVjdGlvbiBwb29sIGhhcyBubwogICAgYWZmZWN0IHVwb24gdGhlIGNvbm5lY3Rpb24sIGluY2x1ZGluZyBpdHMgZXhwaXJhdGlvbiBvciB0aW1lb3V0IHN0YXRlLgogICAgRm9yIHRoZSBjb25uZWN0aW9uIHBvb2wgdG8gcHJvcGVybHkgbWFuYWdlIGNvbm5lY3Rpb25zLCBjb25uZWN0aW9ucwogICAgc2hvdWxkIGJlIHJldHVybmVkIHRvIHRoZSBjb25uZWN0aW9uIHBvb2wgKGkuZS4gYGBjb25uZWN0aW9uLmNsb3NlKClgYCkKICAgIHdoZW5ldmVyIHRoZSBjb25uZWN0aW9uIGlzIG5vdCBpbiB1c2UuCgogICAgLi4gaW5kZXg6OgogICAgICBzaW5nbGU6IHRocmVhZCBzYWZldHk7IENvbm5lY3Rpb24KCiAgICByLwAAANoHZGlhbGVjdPoiZGlzcGF0Y2hlcltDb25uZWN0aW9uRXZlbnRzVGFyZ2V0XdoIZGlzcGF0Y2h6HHNxbGFsY2hlbXkuZW5naW5lLkNvbm5lY3Rpb25Oeh5PcHRpb25hbFtUcmFuc2FjdGlvbmFsQ29udGV4dF3aFl90cmFuc19jb250ZXh0X21hbmFnZXJG+h9PcHRpb25hbFtQb29sUHJveGllZENvbm5lY3Rpb25d2hFfZGJhcGlfY29ubmVjdGlvbnIsAAAA2hJfZXhlY3V0aW9uX29wdGlvbnP6GU9wdGlvbmFsW1Jvb3RUcmFuc2FjdGlvbl3aDF90cmFuc2FjdGlvbvobT3B0aW9uYWxbTmVzdGVkVHJhbnNhY3Rpb25d2hNfbmVzdGVkX3RyYW5zYWN0aW9uYwYAAAAAAAAAAAAAAAYAAAADAAAB86gCAACXAHwBfABfAAAAAAAAAAAAfAFqAgAA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Y3QKICAgICAgICB1cG9uIHdoaWNoIHRoZSBtZXRob2QgaXMgY2FsbGVkLiAgIE5vdGUgdGhhdCB0aGlzIGlzIGluIGNvbnRyYXN0CiAgICAgICAgdG8gdGhlIGJlaGF2aW9yIG9mIHRoZSBgYGV4ZWN1dGlvbl9vcHRpb25zYGAgbWV0aG9kcyBvbiBvdGhlcgogICAgICAgIG9iamVjdHMgc3VjaCBhcyA6bWV0aDpgX2VuZ2luZS5FbmdpbmUuZXhlY3V0aW9uX29wdGlvbnNgIGFuZAogICAgICAgIDptZXRoOmBfc3FsLkV4ZWN1dGFibGUuZXhlY3V0aW9uX29wdGlvbnNgLiAgVGhlIHJhdGlvbmFsZSBpcyB0aGF0IG1hbnkKICAgICAgICBzdWNoIGV4ZWN1dGlvbiBvcHRpb25zIG5lY2Vzc2FyaWx5IG1vZGlmeSB0aGUgc3RhdGUgb2YgdGhlIGJhc2UKICAgICAgICBEQkFQSSBjb25uZWN0aW9uIGluIGFueSBjYXNlIHNvIHRoZXJlIGlzIG5vIGZlYXNpYmxlIG1lYW5zIG9mCiAgICAgICAga2VlcGluZyB0aGUgZWZmZWN0IG9mIHN1Y2ggYW4gb3B0aW9uIGxvY2FsaXplZCB0byBhICJzdWIiIGNvbm5lY3Rpb24uCgogICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMi4wICBUaGUgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9uc2AKICAgICAgICAgICBtZXRob2QsIGluIGNvbnRyYXN0IHRvIG90aGVyIG9iamVjdHMgd2l0aCB0aGlzIG1ldGhvZCwgbW9kaWZpZXMKICAgICAgICAgICB0aGUgY29ubmVjdGlvbiBpbi1wbGFjZSB3aXRob3V0IGNyZWF0aW5nIGNvcHkgb2YgaXQuCgogICAgICAgIEFzIGRpc2N1c3NlZCBlbHNld2hlcmUsIHRoZSA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zYAogICAgICAgIG1ldGhvZCBhY2NlcHRzIGFueSBhcmJpdHJhcnkgcGFyYW1ldGVycyBpbmNsdWRpbmcgdXNlciBkZWZpbmVkIG5hbWVzLgogICAgICAgIEFsbCBwYXJhbWV0ZXJzIGdpdmVuIGFyZSBjb25zdW1hYmxlIGluIGEgbnVtYmVyIG9mIHdheXMgaW5jbHVkaW5nCiAgICAgICAgYnkgdXNpbmcgdGhlIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uZ2V0X2V4ZWN1dGlvbl9vcHRpb25zYCBtZXRob2QuCiAgICAgICAgU2VlIHRoZSBleGFtcGxlcyBhdCA6bWV0aDpgX3NxbC5FeGVjdXRhYmxlLmV4ZWN1dGlvbl9vcHRpb25zYAogICAgICAgIGFuZCA6bWV0aDpgX2VuZ2luZS5FbmdpbmUuZXhlY3V0aW9uX29wdGlvbnNgLgoKICAgICAgICBUaGUga2V5d29yZHMgdGhhdCBhcmUgY3VycmVudGx5IHJlY29nbml6ZWQgYnkgU1FMQWxjaGVteSBpdHNlbGYKICAgICAgICBpbmNsdWRlIGFsbCB0aG9zZSBsaXN0ZWQgdW5kZXIgOm1ldGg6YC5FeGVjdXRhYmxlLmV4ZWN1dGlvbl9vcHRpb25zYCwKICAgICAgICBhcyB3ZWxsIGFzIG90aGVycyB0aGF0IGFyZSBzcGVjaWZpYyB0byA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAuCgogICAgICAgIDpwYXJhbSBjb21waWxlZF9jYWNoZTogQXZhaWxhYmxlIG9uOiA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAsCiAgICAgICAgICA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYC4KCiAgICAgICAgICBBIGRpY3Rpb25hcnkgd2hlcmUgOmNsYXNzOmAuQ29tcGlsZWRgIG9iamVjdHMKICAgICAgICAgIHdpbGwgYmUgY2FjaGVkIHdoZW4gdGhlIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYAogICAgICAgICAgY29tcGlsZXMgYSBjbGF1c2UKICAgICAgICAgIGV4cHJlc3Npb24gaW50byBhIDpjbGFzczpgLkNvbXBpbGVkYCBvYmplY3QuICBUaGlzIGRpY3Rpb25hcnkgd2lsbAogICAgICAgICAgc3VwZXJzZWRlIHRoZSBzdGF0ZW1lbnQgY2FjaGUgdGhhdCBtYXkgYmUgY29uZmlndXJlZCBvbiB0aGUKICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgIGl0c2VsZi4gICBJZiBzZXQgdG8gTm9uZSwgY2FjaGluZwogICAgICAgICAgaXMgZGlzYWJsZWQsIGV2ZW4gaWYgdGhlIGVuZ2luZSBoYXMgYSBjb25maWd1cmVkIGNhY2hlIHNpemUuCgogICAgICAgICAgTm90ZSB0aGF0IHRoZSBPUk0gbWFrZXMgdXNlIG9mIGl0cyBvd24gImNvbXBpbGVkIiBjYWNoZXMgZm9yCiAgICAgICAgICBzb21lIG9wZXJhdGlvbnMsIGluY2x1ZGluZyBmbHVzaCBvcGVyYXRpb25zLiAgVGhlIGNhY2hpbmcKICAgICAgICAgIHVzZWQgYnkgdGhlIE9STSBpbnRlcm5hbGx5IHN1cGVyc2VkZXMgYSBjYWNoZSBkaWN0aW9uYXJ5CiAgICAgICAgICBzcGVjaWZpZWQgaGVyZS4KCiAgICAgICAgOnBhcmFtIGxvZ2dpbmdfdG9rZW46IEF2YWlsYWJsZSBvbjogOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLAogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAsIDpjbGFzczpgX3NxbC5FeGVjdXRhYmxlYC4KCiAgICAgICAgICBBZGRzIHRoZSBzcGVjaWZpZWQgc3RyaW5nIHRva2VuIHN1cnJvdW5kZWQgYnkgYnJhY2tldHMgaW4gbG9nCiAgICAgICAgICBtZXNzYWdlcyBsb2dnZWQgYnkgdGhlIGNvbm5lY3Rpb24sIGkuZS4gdGhlIGxvZ2dpbmcgdGhhdCdzIGVuYWJsZWQKICAgICAgICAgIGVpdGhlciB2aWEgdGhlIDpwYXJhbXJlZjpgX3NhLmNyZWF0ZV9lbmdpbmUuZWNob2AgZmxhZyBvciB2aWEgdGhlCiAgICAgICAgICBgYGxvZ2dpbmcuZ2V0TG9nZ2VyKCJzcWxhbGNoZW15LmVuZ2luZSIpYGAgbG9nZ2VyLiBUaGlzIGFsbG93cyBhCiAgICAgICAgICBwZXItY29ubmVjdGlvbiBvciBwZXItc3ViLWVuZ2luZSB0b2tlbiB0byBiZSBhdmFpbGFibGUgd2hpY2ggaXMKICAgICAgICAgIHVzZWZ1bCBmb3IgZGVidWdnaW5nIGNvbmN1cnJlbnQgY29ubmVjdGlvbiBzY2VuYXJpb3MuCgogICAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS40LjBiMgoKICAgICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgOnJlZjpgZGJlbmdpbmVfbG9nZ2luZ190b2tlbnNgIC0gdXNhZ2UgZXhhbXBsZQoKICAgICAgICAgICAgOnBhcmFtcmVmOmBfc2EuY3JlYXRlX2VuZ2luZS5sb2dnaW5nX25hbWVgIC0gYWRkcyBhIG5hbWUgdG8gdGhlCiAgICAgICAgICAgIG5hbWUgdXNlZCBieSB0aGUgUHl0aG9uIGxvZ2dlciBvYmplY3QgaXRzZWxmLgoKICAgICAgICA6cGFyYW0gaXNvbGF0aW9uX2xldmVsOiBBdmFpbGFibGUgb246IDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCwKICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgLgoKICAgICAgICAgIFNldCB0aGUgdHJhbnNhY3Rpb24gaXNvbGF0aW9uIGxldmVsIGZvciB0aGUgbGlmZXNwYW4gb2YgdGhpcwogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIG9iamVjdC4KICAgICAgICAgIFZhbGlkIHZhbHVlcyBpbmNsdWRlIHRob3NlIHN0cmluZwogICAgICAgICAgdmFsdWVzIGFjY2VwdGVkIGJ5IHRoZSA6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLmlzb2xhdGlvbl9sZXZlbGAKICAgICAgICAgIHBhcmFtZXRlciBwYXNzZWQgdG8gOmZ1bmM6YF9zYS5jcmVhdGVfZW5naW5lYC4gIFRoZXNlIGxldmVscyBhcmUKICAgICAgICAgIHNlbWktZGF0YWJhc2Ugc3BlY2lmaWM7IHNlZSBpbmRpdmlkdWFsIGRpYWxlY3QgZG9jdW1lbnRhdGlvbiBmb3IKICAgICAgICAgIHZhbGlkIGxldmVscy4KCiAgICAgICAgICBUaGUgaXNvbGF0aW9uIGxldmVsIG9wdGlvbiBhcHBsaWVzIHRoZSBpc29sYXRpb24gbGV2ZWwgYnkgZW1pdHRpbmcKICAgICAgICAgIHN0YXRlbWVudHMgb24gdGhlIERCQVBJIGNvbm5lY3Rpb24sIGFuZCAqKm5lY2Vzc2FyaWx5IGFmZmVjdHMgdGhlCiAgICAgICAgICBvcmlnaW5hbCBDb25uZWN0aW9uIG9iamVjdCBvdmVyYWxsKiouIFRoZSBpc29sYXRpb24gbGV2ZWwgd2lsbCByZW1haW4KICAgICAgICAgIGF0IHRoZSBnaXZlbiBzZXR0aW5nIHVudGlsIGV4cGxpY2l0bHkgY2hhbmdlZCwgb3Igd2hlbiB0aGUgREJBUEkKICAgICAgICAgIGNvbm5lY3Rpb24gaXRzZWxmIGlzIDp0ZXJtOmByZWxlYXNlZGAgdG8gdGhlIGNvbm5lY3Rpb24gcG9vbCwgaS5lLiB0aGUKICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uY2xvc2VgIG1ldGhvZCBpcyBjYWxsZWQsIGF0IHdoaWNoIHRpbWUgYW4KICAgICAgICAgIGV2ZW50IGhhbmRsZXIgd2lsbCBlbWl0IGFkZGl0aW9uYWwgc3RhdGVtZW50cyBvbiB0aGUgREJBUEkgY29ubmVjdGlvbgogICAgICAgICAgaW4gb3JkZXIgdG8gcmV2ZXJ0IHRoZSBpc29sYXRpb24gbGV2ZWwgY2hhbmdlLgoKICAgICAgICAgIC4uIG5vdGU6OiBUaGUgYGBpc29sYXRpb25fbGV2ZWxgYCBleGVjdXRpb24gb3B0aW9uIG1heSBvbmx5IGJlCiAgICAgICAgICAgICBlc3RhYmxpc2hlZCBiZWZvcmUgdGhlIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gIG1ldGhvZCBpcwogICAgICAgICAgICAgY2FsbGVkLCBhcyB3ZWxsIGFzIGJlZm9yZSBhbnkgU1FMIHN0YXRlbWVudHMgYXJlIGVtaXR0ZWQgd2hpY2gKICAgICAgICAgICAgIHdvdWxkIG90aGVyd2lzZSB0cmlnZ2VyICJhdXRvYmVnaW4iLCBvciBkaXJlY3RseSBhZnRlciBhIGNhbGwgdG8KICAgICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uY29tbWl0YCBvcgogICAgICAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5yb2xsYmFja2AuIEEgZGF0YWJhc2UgY2Fubm90IGNoYW5nZSB0aGUKICAgICAgICAgICAgIGlzb2xhdGlvbiBsZXZlbCBvbiBhIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLgoKICAgICAgICAgIC4uIG5vdGU6OiBUaGUgYGBpc29sYXRpb25fbGV2ZWxgYCBleGVjdXRpb24gb3B0aW9uIGlzIGltcGxpY2l0bHkKICAgICAgICAgICAgIHJlc2V0IGlmIHRoZSA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgaXMgaW52YWxpZGF0ZWQsIGUuZy4gdmlhCiAgICAgICAgICAgICB0aGUgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5pbnZhbGlkYXRlYCBtZXRob2QsIG9yIGlmIGEKICAgICAgICAgICAgIGRpc2Nvbm5lY3Rpb24gZXJyb3Igb2NjdXJzLiBUaGUgbmV3IGNvbm5lY3Rpb24gcHJvZHVjZWQgYWZ0ZXIgdGhlCiAgICAgICAgICAgICBpbnZhbGlkYXRpb24gd2lsbCAqKm5vdCoqIGhhdmUgdGhlIHNlbGVjdGVkIGlzb2xhdGlvbiBsZXZlbAogICAgICAgICAgICAgcmUtYXBwbGllZCB0byBpdCBhdXRvbWF0aWNhbGx5LgoKICAgICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgICAgIDpyZWY6YGRiYXBpX2F1dG9jb21taXRgCgogICAgICAgICAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5nZXRfaXNvbGF0aW9uX2xldmVsYAogICAgICAgICAgICAgICAgLSB2aWV3IGN1cnJlbnQgYWN0dWFsIGxldmVsCgogICAgICAgIDpwYXJhbSBub19wYXJhbWV0ZXJzOiBBdmFpbGFibGUgb246IDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCwKICAgICAgICAgIDpjbGFzczpgX3NxbC5FeGVjdXRhYmxlYC4KCiAgICAgICAgICBXaGVuIGBgVHJ1ZWBgLCBpZiB0aGUgZmluYWwgcGFyYW1ldGVyCiAgICAgICAgICBsaXN0IG9yIGRpY3Rpb25hcnkgaXMgdG90YWxseSBlbXB0eSwgd2lsbCBpbnZva2UgdGhlCiAgICAgICAgICBzdGF0ZW1lbnQgb24gdGhlIGN1cnNvciBhcyBgYGN1cnNvci5leGVjdXRlKHN0YXRlbWVudClgYCwKICAgICAgICAgIG5vdCBwYXNzaW5nIHRoZSBwYXJhbWV0ZXIgY29sbGVjdGlvbiBhdCBhbGwuCiAgICAgICAgICBTb21lIERCQVBJcyBzdWNoIGFzIHBzeWNvcGcyIGFuZCBteXNxbC1weXRob24gY29uc2lkZXIKICAgICAgICAgIHBlcmNlbnQgc2lnbnMgYXMgc2lnbmlmaWNhbnQgb25seSB3aGVuIHBhcmFtZXRlcnMgYXJlCiAgICAgICAgICBwcmVzZW50OyB0aGlzIG9wdGlvbiBhbGxvd3MgY29kZSB0byBnZW5lcmF0ZSBTUUwKICAgICAgICAgIGNvbnRhaW5pbmcgcGVyY2VudCBzaWducyAoYW5kIHBvc3NpYmx5IG90aGVyIGNoYXJhY3RlcnMpCiAgICAgICAgICB0aGF0IGlzIG5ldXRyYWwgcmVnYXJkaW5nIHdoZXRoZXIgaXQncyBleGVjdXRlZCBieSB0aGUgREJBUEkKICAgICAgICAgIG9yIHBpcGVkIGludG8gYSBzY3JpcHQgdGhhdCdzIGxhdGVyIGludm9rZWQgYnkKICAgICAgICAgIGNvbW1hbmQgbGluZSB0b29scy4KCiAgICAgICAgOnBhcmFtIHN0cmVhbV9yZXN1bHRzOiBBdmFpbGFibGUgb246IDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCwKICAgICAgICAgIDpjbGFzczpgX3NxbC5FeGVjdXRhYmxlYC4KCiAgICAgICAgICBJbmRpY2F0ZSB0byB0aGUgZGlhbGVjdCB0aGF0IHJlc3VsdHMgc2hvdWxkIGJlICJzdHJlYW1lZCIgYW5kIG5vdAogICAgICAgICAgcHJlLWJ1ZmZlcmVkLCBpZiBwb3NzaWJsZS4gIEZvciBiYWNrZW5kcyBzdWNoIGFzIFBvc3RncmVTUUwsIE15U1FMCiAgICAgICAgICBhbmQgTWFyaWFEQiwgdGhpcyBpbmRpY2F0ZXMgdGhlIHVzZSBvZiBhICJzZXJ2ZXIgc2lkZSBjdXJzb3IiIGFzCiAgICAgICAgICBvcHBvc2VkIHRvIGEgY2xpZW50IHNpZGUgY3Vyc29yLiAgT3RoZXIgYmFja2VuZHMgc3VjaCBhcyB0aGF0IG9mCiAgICAgICAgICBPcmFjbGUgRGF0YWJhc2UgbWF5IGFscmVhZHkgdXNlIHNlcnZlciBzaWRlIGN1cnNvcnMgYnkgZGVmYXVsdC4KCiAgICAgICAgICBUaGUgdXNhZ2Ugb2YKICAgICAgICAgIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYCBpcwogICAgICAgICAgdXN1YWxseSBjb21iaW5lZCB3aXRoIHNldHRpbmcgYSBmaXhlZCBudW1iZXIgb2Ygcm93cyB0byB0byBiZSBmZXRjaGVkCiAgICAgICAgICBpbiBiYXRjaGVzLCB0byBhbGxvdyBmb3IgZWZmaWNpZW50IGl0ZXJhdGlvbiBvZiBkYXRhYmFzZSByb3dzIHdoaWxlCiAgICAgICAgICBhdCB0aGUgc2FtZSB0aW1lIG5vdCBsb2FkaW5nIGFsbCByZXN1bHQgcm93cyBpbnRvIG1lbW9yeSBhdCBvbmNlOwogICAgICAgICAgdGhpcyBjYW4gYmUgY29uZmlndXJlZCBvbiBhIDpjbGFzczpgX2VuZ2luZS5SZXN1bHRgIG9iamVjdCB1c2luZyB0aGUKICAgICAgICAgIDptZXRoOmBfZW5naW5lLlJlc3VsdC55aWVsZF9wZXJgIG1ldGhvZCwgYWZ0ZXIgZXhlY3V0aW9uIGhhcwogICAgICAgICAgcmV0dXJuZWQgYSBuZXcgOmNsYXNzOmBfZW5naW5lLlJlc3VsdGAuICAgSWYKICAgICAgICAgIDptZXRoOmBfZW5naW5lLlJlc3VsdC55aWVsZF9wZXJgIGlzIG5vdCB1c2VkLAogICAgICAgICAgdGhlIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYAogICAgICAgICAgbW9kZSBvZiBvcGVyYXRpb24gd2lsbCBpbnN0ZWFkIHVzZSBhIGR5bmFtaWNhbGx5IHNpemVkIGJ1ZmZlcgogICAgICAgICAgd2hpY2ggYnVmZmVycyBzZXRzIG9mIHJvd3MgYXQgYSB0aW1lLCBncm93aW5nIG9uIGVhY2ggYmF0Y2gKICAgICAgICAgIGJhc2VkIG9uIGEgZml4ZWQgZ3Jvd3RoIHNpemUgdXAgdW50aWwgYSBsaW1pdCB3aGljaCBtYXkKICAgICAgICAgIGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlCiAgICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5tYXhfcm93X2J1ZmZlcmAKICAgICAgICAgIHBhcmFtZXRlci4KCiAgICAgICAgICBXaGVuIHVzaW5nIHRoZSBPUk0gdG8gZmV0Y2ggT1JNIG1hcHBlZCBvYmplY3RzIGZyb20gYSByZXN1bHQsCiAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5SZXN1bHQueWllbGRfcGVyYCBzaG91bGQgYWx3YXlzIGJlIHVzZWQgd2l0aAogICAgICAgICAgOnBhcmFtcmVmOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnMuc3RyZWFtX3Jlc3VsdHNgLAogICAgICAgICAgc28gdGhhdCB0aGUgT1JNIGRvZXMgbm90IGZldGNoIGFsbCByb3dzIGludG8gbmV3IE9STSBvYmplY3RzIGF0IG9uY2UuCgogICAgICAgICAgRm9yIHR5cGljYWwgdXNlLCB0aGUKICAgICAgICAgIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnlpZWxkX3BlcmAgZXhlY3V0aW9uCiAgICAgICAgICBvcHRpb24gc2hvdWxkIGJlIHByZWZlcnJlZCwgd2hpY2ggc2V0cyB1cCBib3RoCiAgICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5zdHJlYW1fcmVzdWx0c2AgYW5kCiAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5SZXN1bHQueWllbGRfcGVyYCBhdCBvbmNlLiBUaGlzIG9wdGlvbiBpcyBzdXBwb3J0ZWQKICAgICAgICAgIGJvdGggYXQgYSBjb3JlIGxldmVsIGJ5IDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBhcyB3ZWxsIGFzIGJ5IHRoZQogICAgICAgICAgT1JNIDpjbGFzczpgX2VuZ2luZS5TZXNzaW9uYDsgdGhlIGxhdHRlciBpcyBkZXNjcmliZWQgYXQKICAgICAgICAgIDpyZWY6YG9ybV9xdWVyeWd1aWRlX3lpZWxkX3BlcmAuCgogICAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6cmVmOmBlbmdpbmVfc3RyZWFtX3Jlc3VsdHNgIC0gYmFja2dyb3VuZCBvbgogICAgICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5zdHJlYW1fcmVzdWx0c2AKCiAgICAgICAgICAgIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLm1heF9yb3dfYnVmZmVyYAoKICAgICAgICAgICAgOnBhcmFtcmVmOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnMueWllbGRfcGVyYAoKICAgICAgICAgICAgOnJlZjpgb3JtX3F1ZXJ5Z3VpZGVfeWllbGRfcGVyYCAtIGluIHRoZSA6cmVmOmBxdWVyeWd1aWRlX3RvcGxldmVsYAogICAgICAgICAgICBkZXNjcmliaW5nIHRoZSBPUk0gdmVyc2lvbiBvZiBgYHlpZWxkX3BlcmBgCgogICAgICAgIDpwYXJhbSBtYXhfcm93X2J1ZmZlcjogQXZhaWxhYmxlIG9uOiA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAsCiAgICAgICAgICA6Y2xhc3M6YF9zcWwuRXhlY3V0YWJsZWAuICBTZXRzIGEgbWF4aW11bQogICAgICAgICAgYnVmZmVyIHNpemUgdG8gdXNlIHdoZW4gdGhlCiAgICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5zdHJlYW1fcmVzdWx0c2AKICAgICAgICAgIGV4ZWN1dGlvbiBvcHRpb24gaXMgdXNlZCBvbiBhIGJhY2tlbmQgdGhhdCBzdXBwb3J0cyBzZXJ2ZXIgc2lkZQogICAgICAgICAgY3Vyc29ycy4gIFRoZSBkZWZhdWx0IHZhbHVlIGlmIG5vdCBzcGVjaWZpZWQgaXMgMTAwMC4KCiAgICAgICAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgICAgIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYAoKICAgICAgICAgICAgOnJlZjpgZW5naW5lX3N0cmVhbV9yZXN1bHRzYAoKCiAgICAgICAgOnBhcmFtIHlpZWxkX3BlcjogQXZhaWxhYmxlIG9uOiA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAsCiAgICAgICAgICA6Y2xhc3M6YF9zcWwuRXhlY3V0YWJsZWAuICBJbnRlZ2VyIHZhbHVlIGFwcGxpZWQgd2hpY2ggd2lsbAogICAgICAgICAgc2V0IHRoZSA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5zdHJlYW1fcmVzdWx0c2AKICAgICAgICAgIGV4ZWN1dGlvbiBvcHRpb24gYW5kIGludm9rZSA6bWV0aDpgX2VuZ2luZS5SZXN1bHQueWllbGRfcGVyYAogICAgICAgICAgYXV0b21hdGljYWxseSBhdCBvbmNlLiAgQWxsb3dzIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSBhcwogICAgICAgICAgaXMgcHJlc2VudCB3aGVuIHVzaW5nIHRoaXMgcGFyYW1ldGVyIHdpdGggdGhlIE9STS4KCiAgICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjQuNDAKCiAgICAgICAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgICAgIDpyZWY6YGVuZ2luZV9zdHJlYW1fcmVzdWx0c2AgLSBiYWNrZ3JvdW5kIGFuZCBleGFtcGxlcwogICAgICAgICAgICBvbiB1c2luZyBzZXJ2ZXIgc2lkZSBjdXJzb3JzIHdpdGggQ29yZS4KCiAgICAgICAgICAgIDpyZWY6YG9ybV9xdWVyeWd1aWRlX3lpZWxkX3BlcmAgLSBpbiB0aGUgOnJlZjpgcXVlcnlndWlkZV90b3BsZXZlbGAKICAgICAgICAgICAgZGVzY3JpYmluZyB0aGUgT1JNIHZlcnNpb24gb2YgYGB5aWVsZF9wZXJgYAoKICAgICAgICA6cGFyYW0gaW5zZXJ0bWFueXZhbHVlc19wYWdlX3NpemU6IEF2YWlsYWJsZSBvbjogOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLAogICAgICAgICAgICA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYC4gTnVtYmVyIG9mIHJvd3MgdG8gZm9ybWF0IGludG8gYW4KICAgICAgICAgICAgSU5TRVJUIHN0YXRlbWVudCB3aGVuIHRoZSBzdGF0ZW1lbnQgdXNlcyAiaW5zZXJ0bWFueXZhbHVlcyIgbW9kZSwKICAgICAgICAgICAgd2hpY2ggaXMgYSBwYWdlZCBmb3JtIG9mIGJ1bGsgaW5zZXJ0IHRoYXQgaXMgdXNlZCBmb3IgbWFueSBiYWNrZW5kcwogICAgICAgICAgICB3aGVuIHVzaW5nIDp0ZXJtOmBleGVjdXRlbWFueWAgZXhlY3V0aW9uIHR5cGljYWxseSBpbiBjb25qdW5jdGlvbgogICAgICAgICAgICB3aXRoIFJFVFVSTklORy4gRGVmYXVsdHMgdG8gMTAwMC4gTWF5IGFsc28gYmUgbW9kaWZpZWQgb24gYQogICAgICAgICAgICBwZXItZW5naW5lIGJhc2lzIHVzaW5nIHRoZQogICAgICAgICAgICA6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLmluc2VydG1hbnl2YWx1ZXNfcGFnZV9zaXplYCBwYXJhbWV0ZXIuCgogICAgICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjAKCiAgICAgICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgICAgIDpyZWY6YGVuZ2luZV9pbnNlcnRtYW55dmFsdWVzYAoKICAgICAgICA6cGFyYW0gc2NoZW1hX3RyYW5zbGF0ZV9tYXA6IEF2YWlsYWJsZSBvbjogOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLAogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAsIDpjbGFzczpgX3NxbC5FeGVjdXRhYmxlYC4KCiAgICAgICAgICBBIGRpY3Rpb25hcnkgbWFwcGluZyBzY2hlbWEgbmFtZXMgdG8gc2NoZW1hIG5hbWVzLCB0aGF0IHdpbGwgYmUKICAgICAgICAgIGFwcGxpZWQgdG8gdGhlIDpwYXJhbXJlZjpgX3NjaGVtYS5UYWJsZS5zY2hlbWFgIGVsZW1lbnQgb2YgZWFjaAogICAgICAgICAgOmNsYXNzOmBfc2NoZW1hLlRhYmxlYAogICAgICAgICAgZW5jb3VudGVyZWQgd2hlbiBTUUwgb3IgRERMIGV4cHJlc3Npb24gZWxlbWVudHMKICAgICAgICAgIGFyZSBjb21waWxlZCBpbnRvIHN0cmluZ3M7IHRoZSByZXN1bHRpbmcgc2NoZW1hIG5hbWUgd2lsbCBiZQogICAgICAgICAgY29udmVydGVkIGJhc2VkIG9uIHByZXNlbmNlIGluIHRoZSBtYXAgb2YgdGhlIG9yaWdpbmFsIG5hbWUuCgogICAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6cmVmOmBzY2hlbWFfdHJhbnNsYXRpbmdgCgogICAgICAgIDpwYXJhbSBwcmVzZXJ2ZV9yb3djb3VudDogQm9vbGVhbjsgd2hlbiBUcnVlLCB0aGUgYGBjdXJzb3Iucm93Y291bnRgYAogICAgICAgICAgYXR0cmlidXRlIHdpbGwgYmUgdW5jb25kaXRpb25hbGx5IG1lbW9pemVkIHdpdGhpbiB0aGUgcmVzdWx0IGFuZAogICAgICAgICAgbWFkZSBhdmFpbGFibGUgdmlhIHRoZSA6YXR0cjpgLkN1cnNvclJlc3VsdC5yb3djb3VudGAgYXR0cmlidXRlLgogICAgICAgICAgTm9ybWFsbHksIHRoaXMgYXR0cmlidXRlIGlzIG9ubHkgcHJlc2VydmVkIGZvciBVUERBVEUgYW5kIERFTEVURQogICAgICAgICAgc3RhdGVtZW50cy4gIFVzaW5nIHRoaXMgb3B0aW9uLCB0aGUgREJBUElzIHJvd2NvdW50IHZhbHVlIGNhbgogICAgICAgICAgYmUgYWNjZXNzZWQgZm9yIG90aGVyIGtpbmRzIG9mIHN0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IHRoaXMgc3RhdGUgd2FzIHNldC4gVGhpcyB3aWxsIGJlIG9uZSBvZiB0aGUgZm91ciBhY3R1YWwgaXNvbGF0aW9uCiAgICAgICAgbW9kZXMgYGBSRUFEIFVOQ09NTUlUVEVEYGAsIGBgUkVBRCBDT01NSVRURURgYCwgYGBSRVBFQVRBQkxFIFJFQURgYCwKICAgICAgICBgYFNFUklBTElaQUJMRWBgLiBJdCB3aWxsICoqbm90KiogaW5jbHVkZSB0aGUgYGBBVVRPQ09NTUlUYGAgaXNvbGF0aW9uCiAgICAgICAgbGV2ZWwgc2V0dGluZy4gVGhpcmQgcGFydHkgZGlhbGVjdHMgbWF5IGFsc28gZmVhdHVyZSBhZGRpdGlvbmFsCiAgICAgICAgaXNvbGF0aW9uIGxldmVsIHNldHRpbmdzLgoKICAgICAgICAuLiBub3RlOjogIFRoaXMgbWV0aG9kICoqd2lsbCBub3QgcmVwb3J0Kiogb24gdGhlIGBgQVVUT0NPTU1JVGBgCiAgICAgICAgICBpc29sYXRpb24gbGV2ZWwsIHdoaWNoIGlzIGEgc2VwYXJhdGUgOnRlcm06YGRiYXBpYCBzZXR0aW5nIHRoYXQncwogICAgICAgICAgaW5kZXBlbmRlbnQgb2YgKiphY3R1YWwqKiBpc29sYXRpb24gbGV2ZWwuICBXaGVuIGBgQVVUT0NPTU1JVGBgIGlzCiAgICAgICAgICBpbiB1c2UsIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHN0aWxsIGhhcyBhICJ0cmFkaXRpb25hbCIgaXNvbGF0aW9uCiAgICAgICAgICBtb2RlIGluIGVmZmVjdCwgdGhhdCBpcyB0eXBpY2FsbHkgb25lIG9mIHRoZSBmb3VyIHZhbHVlcwogICAgICAgICAgYGBSRUFEIFVOQ09NTUlUVEVEYGAsIGBgUkVBRCBDT01NSVRURURgYCwgYGBSRVBFQVRBQkxFIFJFQURgYCwKICAgICAgICAgIGBgU0VSSUFMSVpBQkxFYGAuCgogICAgICAgIENvbXBhcmUgdG8gdGhlIDphdHRyOmBfZW5naW5lLkNvbm5lY3Rpb24uZGVmYXVsdF9pc29sYXRpb25fbGV2ZWxgCiAgICAgICAgYWNjZXNzb3Igd2hpY2ggcmV0dXJucyB0aGUgaXNvbGF0aW9uIGxldmVsIHRoYXQgaXMgcHJlc2VudCBvbiB0aGUKICAgICAgICBkYXRhYmFzZSBhdCBpbml0aWFsIGNvbm5lY3Rpb24gdGltZS4KCiAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6YXR0cjpgX2VuZ2luZS5Db25uZWN0aW9uLmRlZmF1bHRfaXNvbGF0aW9uX2xldmVsYAogICAgICAgICAgICAtIHZpZXcgZGVmYXVsdCBsZXZlbAoKICAgICAgICAgICAgOnBhcmFtcmVmOmBfc2EuY3JlYXRlX2VuZ2luZS5pc29sYXRpb25fbGV2ZWxgCiAgICAgICAgICAgIC0gc2V0IHBlciA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCBpc29sYXRpb24gbGV2ZWwKCiAgICAgICAgICAgIDpwYXJhbXJlZjpgLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnMuaXNvbGF0aW9uX2xldmVsYAogICAgICAgICAgICAtIHNldCBwZXIgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIGlzb2xhdGlvbiBsZXZlbAoKICAgICAgICBOKQZyZAAAANoQZGJhcGlfY29ubmVjdGlvbnJJAAAA2hNnZXRfaXNvbGF0aW9uX2xldmVscrMAAABytAAAACkDcmMAAAByuAAAAHK2AAAAcwMAAAAgICByZwAAAHK5AAAAeh5Db25uZWN0aW9uLmdldF9pc29sYXRpb25fbGV2ZWxQAgAAc2gAAACAAPBKAQAcIJ8/mT/XGzvRGzvQCBjYDx/QDyvQCCvQDyvwAgMJRAHYExeXPJE81xMz0RMz0DRE0xNF0AxF+NwPHPIAAQlEAdgMENcMKNEMKKgRqESwJLgEuGTXDEPRDEP78AMBCUQB+nMVAAAAnBo3ALcJQR8DwQAVQRoDwRoFQR8DYwEAAAAAAAAAAAAAAAEAAAADAAAB8y4AAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAABqAgAAAAAAAAAAAAAAAAAAAAAAAFMAKQFh9gMAAFRoZSBpbml0aWFsLWNvbm5lY3Rpb24gdGltZSBpc29sYXRpb24gbGV2ZWwgYXNzb2NpYXRlZCB3aXRoIHRoZQogICAgICAgIDpjbGFzczpgX2VuZ2luZS5EaWFsZWN0YCBpbiB1c2UuCgogICAgICAgIFRoaXMgdmFsdWUgaXMgaW5kZXBlbmRlbnQgb2YgdGhlCiAgICAgICAgOnBhcmFtcmVmOmAuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5pc29sYXRpb25fbGV2ZWxgIGFuZAogICAgICAgIDpwYXJhbXJlZjpgLkVuZ2luZS5leGVjdXRpb25fb3B0aW9ucy5pc29sYXRpb25fbGV2ZWxgIGV4ZWN1dGlvbgogICAgICAgIG9wdGlvbnMsIGFuZCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSA6Y2xhc3M6YF9lbmdpbmUuRGlhbGVjdGAgd2hlbiB0aGUKICAgICAgICBmaXJzdCBjb25uZWN0aW9uIGlzIGNyZWF0ZWQsIGJ5IHBlcmZvcm1pbmcgYSBTUUwgcXVlcnkgYWdhaW5zdCB0aGUKICAgICAgICBkYXRhYmFzZSBmb3IgdGhlIGN1cnJlbnQgaXNvbGF0aW9uIGxldmVsIGJlZm9yZSBhbnkgYWRkaXRpb25hbCBjb21tYW5kcwogICAgICAgIGhhdmUgYmVlbiBlbWl0dGVkLgoKICAgICAgICBDYWxsaW5nIHRoaXMgYWNjZXNzb3IgZG9lcyBub3QgaW52b2tlIGFueSBuZXcgU1FMIHF1ZXJpZXMuCgogICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5nZXRfaXNvbGF0aW9uX2xldmVsYAogICAgICAgICAgICAtIHZpZXcgY3VycmVudCBhY3R1YWwgaXNvbGF0aW9uIGxldmVsCgogICAgICAgICAgICA6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLmlzb2xhdGlvbl9sZXZlbGAKICAgICAgICAgICAgLSBzZXQgcGVyIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgIGlzb2xhdGlvbiBsZXZlbAoKICAgICAgICAgICAgOnBhcmFtcmVmOmAuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5pc29sYXRpb25fbGV2ZWxgCiAgICAgICAgICAgIC0gc2V0IHBlciA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgaXNvbGF0aW9uIGxldmVsCgogICAgICAgICkCckkAAADaF2RlZmF1bHRfaXNvbGF0aW9uX2xldmVscogAAABzAQAAACByZwAAAHK7AAAAeiJDb25uZWN0aW9uLmRlZmF1bHRfaXNvbGF0aW9uX2xldmVsfAIAAHMUAAAAgADwNgAQFI98iXzXDzPRDzPQCDNydwAAAGMBAAAAAAAAAAAAAAAEAAAAAwAAAfNSAAAAlwB0AQAAAAAAAAAAagIAAAAAAAAAAAAAAAAAAAAAAABkAXwAagQAAAAAAAAAAAAAAAAAAAAAAACBAmQCbgFkA3oGAABkBKwFqwIAAAAAAACCASkGTnpmQ2FuJ3QgcmVjb25uZWN0IHVudGlsIGludmFsaWQgJXN0cmFuc2FjdGlvbiBpcyByb2xsZWQgYmFjay4gIFBsZWFzZSByb2xsYmFjaygpIGZ1bGx5IGJlZm9yZSBwcm9jZWVkaW5negpzYXZlcG9pbnQg2gDaBDhzMmIpAdoEY29kZSkDch4AAABysQAAAHJTAAAAcogAAABzAQAAACByZwAAANoUX2ludmFsaWRfdHJhbnNhY3Rpb256H0Nvbm5lY3Rpb24uX2ludmFsaWRfdHJhbnNhY3Rpb26ZAgAAczUAAACAANwOEdcOJtEOJvACAQ0/4B8j1x830R830B9DiXzIEvEFAg1NAfAGABIY9AkFDwrwAAUJCnJ3AAAAYwEAAAAAAAAAAAAAAAMAAAADAAAB8+oAAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAAByU3wAagIAAAAAAAAAAAAAAAAAAAAAAAByR3wAagQAAAAAAAAAAAAAAAAAAAAAAACBEHwAagcAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAEAfABqCAAAAAAAAAAAAAAAAAAAAAAAAGoLAAAAAAAAAAAAAAAAAAAAAAAAqwAAAAAAAAB8AF8GAAAAAAAAAAB8AGoMAAAAAAAAAAAAAAAAAAAAAAAAUwB0DwAAAAAAAAAAahAAAAAAAAAAAAAAAAAAAAAAAABkAasBAAAAAAAAggEpAk76GVRoaXMgQ29ubmVjdGlvbiBpcyBjbG9zZWQpCXJcAAAAcq4AAAByUQAAAHLAAAAAclUAAAByVgAAAHJOAAAAch4AAABysgAAAHKIAAAAcwEAAAAgcmcAAABysAAAAHohQ29ubmVjdGlvbi5fcmV2YWxpZGF0ZV9jb25uZWN0aW9uoQIAAHNeAAAAgADYCw/XCx/SCx+gRNckNNIkNNgPE9cPINEPINAPLNgQFNcQKdEQKdQQK9glKadboVvXJT/RJT/TJUGIRNQMItgTF9cTKdETKdAMKdwOEdcOJdEOJdAmQdMOQtAIQnJ3AAAAYwEAAAAAAAAAAAAAAAEAAAADAAAB8y4AAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAABqAgAAAAAAAAAAAAAAAAAAAAAAAFMAKQFhmwEAAEluZm8gZGljdGlvbmFyeSBhc3NvY2lhdGVkIHdpdGggdGhlIHVuZGVybHlpbmcgREJBUEkgY29ubmVjdGlvbgogICAgICAgIHJlZmVycmVkIHRvIGJ5IHRoaXMgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLCBhbGxvd2luZyB1c2VyLWRlZmluZWQKICAgICAgICBkYXRhIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29ubmVjdGlvbi4KCiAgICAgICAgVGhlIGRhdGEgaGVyZSB3aWxsIGZvbGxvdyBhbG9uZyB3aXRoIHRoZSBEQkFQSSBjb25uZWN0aW9uIGluY2x1ZGluZwogICAgICAgIGFmdGVyIGl0IGlzIHJldHVybmVkIHRvIHRoZSBjb25uZWN0aW9uIHBvb2wgYW5kIHVzZWQgYWdhaW4KICAgICAgICBpbiBzdWJzZXF1ZW50IGluc3RhbmNlcyBvZiA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAuCgogICAgICAgICkCcmQAAABycAAAAHKIAAAAcwEAAAAgcmcAAABycAAAAHoPQ29ubmVjdGlvbi5pbmZvqQIAAHMUAAAAgADwGAAQFI9/iX/XDyPRDyPQCCNydwAAAGMCAAAAAAAAAAAAAAADAAAAAwAAAfPIAAAAlwB8AGoAAAAAAAAAAAAAAAAAAAAAAAAAcgF5AXwAagIAAAAAAAAAAAAAAAAAAAAAAAByFXQFAAAAAAAAAABqBgAAAAAAAAAAAAAAAAAAAAAAAGQCqwEAAAAAAACCAXwAaggAAAAAAAAAAAAAAAAAAAAAAAByIXwAagoAAAAAAAAAAAAAAAAAAAAAAAB9AnwCgAJKAIIBfAJqDQAAAAAAAAAAAAAAAAAAAAAAAHwBqwEAAAAAAAABAGQBfABfBQAAAAAAAAAAeQEpA2HlBwAASW52YWxpZGF0ZSB0aGUgdW5kZXJseWluZyBEQkFQSSBjb25uZWN0aW9uIGFzc29jaWF0ZWQgd2l0aAogICAgICAgIHRoaXMgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLgoKICAgICAgICBBbiBhdHRlbXB0IHdpbGwgYmUgbWFkZSB0byBjbG9zZSB0aGUgdW5kZXJseWluZyBEQkFQSSBjb25uZWN0aW9uCiAgICAgICAgaW1tZWRpYXRlbHk7IGhvd2V2ZXIgaWYgdGhpcyBvcGVyYXRpb24gZmFpbHMsIHRoZSBlcnJvciBpcyBsb2dnZWQKICAgICAgICBidXQgbm90IHJhaXNlZC4gIFRoZSBjb25uZWN0aW9uIGlzIHRoZW4gZGlzY2FyZGVkIHdoZXRoZXIgb3Igbm90CiAgICAgICAgY2xvc2UoKSBzdWNjZWVkZWQuCgogICAgICAgIFVwb24gdGhlIG5leHQgdXNlICh3aGVyZSAidXNlIiB0eXBpY2FsbHkgbWVhbnMgdXNpbmcgdGhlCiAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRlYCBtZXRob2Qgb3Igc2ltaWxhciksCiAgICAgICAgdGhpcyA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgd2lsbCBhdHRlbXB0IHRvCiAgICAgICAgcHJvY3VyZSBhIG5ldyBEQkFQSSBjb25uZWN0aW9uIHVzaW5nIHRoZSBzZXJ2aWNlcyBvZiB0aGUKICAgICAgICA6Y2xhc3M6YF9wb29sLlBvb2xgIGFzIGEgc291cmNlIG9mIGNvbm5lY3Rpdml0eSAoZS5nLgogICAgICAgIGEgInJlY29ubmVjdGlvbiIpLgoKICAgICAgICBJZiBhIHRyYW5zYWN0aW9uIHdhcyBpbiBwcm9ncmVzcyAoZS5nLiB0aGUKICAgICAgICA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmJlZ2luYCBtZXRob2QgaGFzIGJlZW4gY2FsbGVkKSB3aGVuCiAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5pbnZhbGlkYXRlYCBtZXRob2QgaXMgY2FsbGVkLCBhdCB0aGUgREJBUEkKICAgICAgICBsZXZlbCBhbGwgc3RhdGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdHJhbnNhY3Rpb24gaXMgbG9zdCwgYXMKICAgICAgICB0aGUgREJBUEkgY29ubmVjdGlvbiBpcyBjbG9zZWQuICBUaGUgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gCiAgICAgICAgd2lsbCBub3QgYWxsb3cgYSByZWNvbm5lY3Rpb24gdG8gcHJvY2VlZCB1bnRpbCB0aGUKICAgICAgICA6Y2xhc3M6YC5UcmFuc2FjdGlvbmAgb2JqZWN0IGlzIGVuZGVkLCBieSBjYWxsaW5nIHRoZQogICAgICAgIDptZXRoOmAuVHJhbnNhY3Rpb24ucm9sbGJhY2tgIG1ldGhvZDsgdW50aWwgdGhhdCBwb2ludCwgYW55IGF0dGVtcHQgYXQKICAgICAgICBjb250aW51aW5nIHRvIHVzZSB0aGUgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIHdpbGwgcmFpc2UgYW4KICAgICAgICA6Y2xhc3M6YH5zcWxhbGNoZW15LmV4Yy5JbnZhbGlkUmVxdWVzdEVycm9yYC4KICAgICAgICBUaGlzIGlzIHRvIHByZXZlbnQgYXBwbGljYXRpb25zIGZyb20gYWNjaWRlbnRhbGx5CiAgICAgICAgY29udGludWluZyBhbiBvbmdvaW5nIHRyYW5zYWN0aW9uYWwgb3BlcmF0aW9ucyBkZXNwaXRlIHRoZQogICAgICAgIGZhY3QgdGhhdCB0aGUgdHJhbnNhY3Rpb24gaGFzIGJlZW4gbG9zdCBkdWUgdG8gYW4KICAgICAgICBpbnZhbGlkYXRpb24uCgogICAgICAgIFRoZSA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmludmFsaWRhdGVgIG1ldGhvZCwKICAgICAgICBqdXN0IGxpa2UgYXV0by1pbnZhbGlkYXRpb24sCiAgICAgICAgd2lsbCBhdCB0aGUgY29ubmVjdGlvbiBwb29sIGxldmVsIGludm9rZSB0aGUKICAgICAgICA6bWV0aDpgX2V2ZW50cy5Qb29sRXZlbnRzLmludmFsaWRhdGVgIGV2ZW50LgoKICAgICAgICA6cGFyYW0gZXhjZXB0aW9uOiBhbiBvcHRpb25hbCBgYEV4Y2VwdGlvbmBgIGluc3RhbmNlIHRoYXQncyB0aGUKICAgICAgICAgcmVhc29uIGZvciB0aGUgaW52YWxpZGF0aW9uLiAgaXMgcGFzc2VkIGFsb25nIHRvIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgIGFuZCBsb2dnaW5nIGZ1bmN0aW9ucy4KCiAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6cmVmOmBwb29sX2Nvbm5lY3Rpb25faW52YWxpZGF0aW9uYAoKICAgICAgICBOcsIAAAApB3KuAAAAcqwAAAByHgAAAHKyAAAAcqkAAAByTgAAANoKaW52YWxpZGF0ZSkDcmMAAADaCWV4Y2VwdGlvbnKoAAAAcwMAAAAgICByZwAAAHLFAAAAehVDb25uZWN0aW9uLmludmFsaWRhdGW3AgAAc2EAAACAAPBcAQAMENcLG9ILG9gMEuALD487ijvcEhXXEinREinQKkXTEkbQDEbgCw/XCznSCznYJirXJjzRJjzQDCPYEyrQEzbQDDbQEzbYDCPXDC7RDC6oedQMOeAhJYgE1QgecncAAABjAQAAAAAAAAAAAAAAAwAAAAMAAAHzrAAAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAHIVdAMAAAAAAAAAAGoEAAAAAAAAAAAAAAAAAAAAAAAAZAGrAQAAAAAAAIIBfABqBgAAAAAAAAAAAAAAAAAAAAAAAH0BfAGAFXQDAAAAAAAAAABqCAAAAAAAAAAAAAAAAAAAAAAAAGQDqwEAAAAAAACCAXwBagsAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAEAeQIpBGEyAwAARGV0YWNoIHRoZSB1bmRlcmx5aW5nIERCLUFQSSBjb25uZWN0aW9uIGZyb20gaXRzIGNvbm5lY3Rpb24gcG9vbC4KCiAgICAgICAgRS5nLjo6CgogICAgICAgICAgICB3aXRoIGVuZ2luZS5jb25uZWN0KCkgYXMgY29ubjoKICAgICAgICAgICAgICAgIGNvbm4uZGV0YWNoKCkKICAgICAgICAgICAgICAgIGNvbm4uZXhlY3V0ZSh0ZXh0KCJTRVQgc2VhcmNoX3BhdGggVE8gc2NoZW1hMSwgc2NoZW1hMiIpKQoKICAgICAgICAgICAgICAgICMgd29yayB3aXRoIGNvbm5lY3Rpb24KCiAgICAgICAgICAgICMgY29ubmVjdGlvbiBpcyBmdWxseSBjbG9zZWQgKHNpbmNlIHdlIHVzZWQgIndpdGg6IiwgY2FuCiAgICAgICAgICAgICMgYWxzbyBjYWxsIC5jbG9zZSgpKQoKICAgICAgICBUaGlzIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBpbnN0YW5jZSB3aWxsIHJlbWFpbiB1c2FibGUuCiAgICAgICAgV2hlbiBjbG9zZWQKICAgICAgICAob3IgZXhpdGVkIGZyb20gYSBjb250ZXh0IG1hbmFnZXIgY29udGV4dCBhcyBhYm92ZSksCiAgICAgICAgdGhlIERCLUFQSSBjb25uZWN0aW9uIHdpbGwgYmUgbGl0ZXJhbGx5IGNsb3NlZCBhbmQgbm90CiAgICAgICAgcmV0dXJuZWQgdG8gaXRzIG9yaWdpbmF0aW5nIHBvb2wuCgogICAgICAgIFRoaXMgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGluc3VsYXRlIHRoZSByZXN0IG9mIGFuIGFwcGxpY2F0aW9uCiAgICAgICAgZnJvbSBhIG1vZGlmaWVkIHN0YXRlIG9uIGEgY29ubmVjdGlvbiAoc3VjaCBhcyBhIHRyYW5zYWN0aW9uCiAgICAgICAgaXNvbGF0aW9uIGxldmVsIG9yIHNpbWlsYXIpLgoKICAgICAgICBywgAAAE56JkNhbid0IGRldGFjaCBhbiBpbnZhbGlkYXRlZCBDb25uZWN0aW9uKQZyrAAAAHIeAAAAcrIAAAByTgAAANoTSW52YWxpZFJlcXVlc3RFcnJvctoGZGV0YWNocqcAAABzAgAAACAgcmcAAAByyQAAAHoRQ29ubmVjdGlvbi5kZXRhY2jyAgAAc1MAAACAAPA0AAwQjzuKO9wSFdcSKdESKdAqRdMSRtAMRuAiJtciONEiONAIH9gLItALKtwSFdcSKdESKdgQOPMDAhMO8AACDQ7wBgAJINcIJtEIJtUIKHJ3AAAAYwEAAAAAAAAAAAAAAAIAAAADAAAB81gAAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAAByHnwAagIAAAAAAAAAAAAAAAAAAAAAAABzEXwAagUAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAEAeQB5AHkAcoYAAAApA3JdAAAAclsAAADaBWJlZ2lucogAAABzAQAAACByZwAAANoKX2F1dG9iZWdpbnoVQ29ubmVjdGlvbi5fYXV0b2JlZ2luFgMAAHMiAAAAgADYCw/XCyDSCyCoFK8fqh/YDBCPSolKjUzwAwAqOdALIHJ3AAAAYwEAAAAAAAAAAAAAAAMAAAADAAAB83wAAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAACAHHQDAAAAAAAAAAB8AKsBAAAAAAAAfABfAAAAAAAAAAAAfABqAAAAAAAAAAAAAAAAAAAAAAAAAFMAdAUAAAAAAAAAAGoGAAAAAAAAAAAAAAAAAAAAAAAAZAGrAQAAAAAAAIIBKQJhmQkAAEJlZ2luIGEgdHJhbnNhY3Rpb24gcHJpb3IgdG8gYXV0b2JlZ2luIG9jY3VycmluZy4KCiAgICAgICAgRS5nLjo6CgogICAgICAgICAgICB3aXRoIGVuZ2luZS5jb25uZWN0KCkgYXMgY29ubjoKICAgICAgICAgICAgICAgIHdpdGggY29ubi5iZWdpbigpIGFzIHRyYW5zOgogICAgICAgICAgICAgICAgICAgIGNvbm4uZXhlY3V0ZSh0YWJsZS5pbnNlcnQoKSwgeyJ1c2VybmFtZSI6ICJzYW5keSJ9KQoKICAgICAgICBUaGUgcmV0dXJuZWQgb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgX2VuZ2luZS5Sb290VHJhbnNhY3Rpb25gLgogICAgICAgIFRoaXMgb2JqZWN0IHJlcHJlc2VudHMgdGhlICJzY29wZSIgb2YgdGhlIHRyYW5zYWN0aW9uLAogICAgICAgIHdoaWNoIGNvbXBsZXRlcyB3aGVuIGVpdGhlciB0aGUgOm1ldGg6YF9lbmdpbmUuVHJhbnNhY3Rpb24ucm9sbGJhY2tgCiAgICAgICAgb3IgOm1ldGg6YF9lbmdpbmUuVHJhbnNhY3Rpb24uY29tbWl0YCBtZXRob2QgaXMgY2FsbGVkOyB0aGUgb2JqZWN0CiAgICAgICAgYWxzbyB3b3JrcyBhcyBhIGNvbnRleHQgbWFuYWdlciBhcyBpbGx1c3RyYXRlZCBhYm92ZS4KCiAgICAgICAgVGhlIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gIG1ldGhvZCBiZWdpbnMgYQogICAgICAgIHRyYW5zYWN0aW9uIHRoYXQgbm9ybWFsbHkgd2lsbCBiZSBiZWd1biBpbiBhbnkgY2FzZSB3aGVuIHRoZSBjb25uZWN0aW9uCiAgICAgICAgaXMgZmlyc3QgdXNlZCB0byBleGVjdXRlIGEgc3RhdGVtZW50LiAgVGhlIHJlYXNvbiB0aGlzIG1ldGhvZCBtaWdodCBiZQogICAgICAgIHVzZWQgd291bGQgYmUgdG8gaW52b2tlIHRoZSA6bWV0aDpgX2V2ZW50cy5Db25uZWN0aW9uRXZlbnRzLmJlZ2luYAogICAgICAgIGV2ZW50IGF0IGEgc3BlY2lmaWMgdGltZSwgb3IgdG8gb3JnYW5pemUgY29kZSB3aXRoaW4gdGhlIHNjb3BlIG9mIGEKICAgICAgICBjb25uZWN0aW9uIGNoZWNrb3V0IGluIHRlcm1zIG9mIGNvbnRleHQgbWFuYWdlZCBibG9ja3MsIHN1Y2ggYXM6OgoKICAgICAgICAgICAgd2l0aCBlbmdpbmUuY29ubmVjdCgpIGFzIGNvbm46CiAgICAgICAgICAgICAgICB3aXRoIGNvbm4uYmVnaW4oKToKICAgICAgICAgICAgICAgICAgICBjb25uLmV4ZWN1dGUoLi4uKQogICAgICAgICAgICAgICAgICAgIGNvbm4uZXhlY3V0ZSguLi4pCgogICAgICAgICAgICAgICAgd2l0aCBjb25uLmJlZ2luKCk6CiAgICAgICAgICAgICAgICAgICAgY29ubi5leGVjdXRlKC4uLikKICAgICAgICAgICAgICAgICAgICBjb25uLmV4ZWN1dGUoLi4uKQoKICAgICAgICBUaGUgYWJvdmUgY29kZSBpcyBub3QgIGZ1bmRhbWVudGFsbHkgYW55IGRpZmZlcmVudCBpbiBpdHMgYmVoYXZpb3IgdGhhbgogICAgICAgIHRoZSBmb2xsb3dpbmcgY29kZSAgd2hpY2ggZG9lcyBub3QgdXNlCiAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5iZWdpbmA7IHRoZSBiZWxvdyBzdHlsZSBpcyBrbm93bgogICAgICAgIGFzICJjb21taXQgYXMgeW91IGdvIiBzdHlsZTo6CgogICAgICAgICAgICB3aXRoIGVuZ2luZS5jb25uZWN0KCkgYXMgY29ubjoKICAgICAgICAgICAgICAgIGNvbm4uZXhlY3V0ZSguLi4pCiAgICAgICAgICAgICAgICBjb25uLmV4ZWN1dGUoLi4uKQogICAgICAgICAgICAgICAgY29ubi5jb21taXQoKQoKICAgICAgICAgICAgICAgIGNvbm4uZXhlY3V0ZSguLi4pCiAgICAgICAgICAgICAgICBjb25uLmV4ZWN1dGUoLi4uKQogICAgICAgICAgICAgICAgY29ubi5jb21taXQoKQoKICAgICAgICBGcm9tIGEgZGF0YWJhc2UgcG9pbnQgb2YgdmlldywgdGhlIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gCiAgICAgICAgbWV0aG9kIGRvZXMgbm90IGVtaXQgYW55IFNRTCBvciBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB1bmRlcmx5aW5nCiAgICAgICAgREJBUEkgY29ubmVjdGlvbiBpbiBhbnkgd2F5OyB0aGUgUHl0aG9uIERCQVBJIGRvZXMgbm90IGhhdmUgYW55CiAgICAgICAgY29uY2VwdCBvZiBleHBsaWNpdCB0cmFuc2FjdGlvbiBiZWdpbi4KCiAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6cmVmOmB0dXRvcmlhbF93b3JraW5nX3dpdGhfdHJhbnNhY3Rpb25zYCAtIGluIHRoZQogICAgICAgICAgICA6cmVmOmB1bmlmaWVkX3R1dG9yaWFsYAoKICAgICAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5iZWdpbl9uZXN0ZWRgIC0gdXNlIGEgU0FWRVBPSU5UCgogICAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmJlZ2luX3R3b3BoYXNlYCAtCiAgICAgICAgICAgIHVzZSBhIHR3byBwaGFzZSAvWElEIHRyYW5zYWN0aW9uCgogICAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5FbmdpbmUuYmVnaW5gIC0gY29udGV4dCBtYW5hZ2VyIGF2YWlsYWJsZSBmcm9tCiAgICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgCgogICAgICAgIHqqVGhpcyBjb25uZWN0aW9uIGhhcyBhbHJlYWR5IGluaXRpYWxpemVkIGEgU1FMQWxjaGVteSBUcmFuc2FjdGlvbigpIG9iamVjdCB2aWEgYmVnaW4oKSBvciBhdXRvYmVnaW47IGNhbid0IGNhbGwgYmVnaW4oKSBoZXJlIHVubGVzcyByb2xsYmFjaygpIG9yIGNvbW1pdCgpIGlzIGNhbGxlZCBmaXJzdC4pBHJRAAAA2g9Sb290VHJhbnNhY3Rpb25yHgAAAHLIAAAAcogAAABzAQAAACByZwAAAHLLAAAAehBDb25uZWN0aW9uLmJlZ2luGgMAAHNCAAAAgADwQAIADBDXCxzRCxzQCyTcIC+wBNMgNYhE1Awd2BMX1xMk0RMk0Awk5BIV1xIp0RIp8AIDESPzAwUTDvAABQ0OcncAAABjAQAAAAAAAAAAAAAAAwAAAAMAAAHzUAAAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAIAQfABqAwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAAQB0BQAAAAAAAAAAfACrAQAAAAAAAFMAKQFh3wsAAEJlZ2luIGEgbmVzdGVkIHRyYW5zYWN0aW9uIChpLmUuIFNBVkVQT0lOVCkgYW5kIHJldHVybiBhIHRyYW5zYWN0aW9uCiAgICAgICAgaGFuZGxlIHRoYXQgY29udHJvbHMgdGhlIHNjb3BlIG9mIHRoZSBTQVZFUE9JTlQuCgogICAgICAgIEUuZy46OgoKICAgICAgICAgICAgd2l0aCBlbmdpbmUuYmVnaW4oKSBhcyBjb25uZWN0aW9uOgogICAgICAgICAgICAgICAgd2l0aCBjb25uZWN0aW9uLmJlZ2luX25lc3RlZCgpOgogICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uZXhlY3V0ZSh0YWJsZS5pbnNlcnQoKSwgeyJ1c2VybmFtZSI6ICJzYW5keSJ9KQoKICAgICAgICBUaGUgcmV0dXJuZWQgb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mCiAgICAgICAgOmNsYXNzOmBfZW5naW5lLk5lc3RlZFRyYW5zYWN0aW9uYCwgd2hpY2ggaW5jbHVkZXMgdHJhbnNhY3Rpb25hbAogICAgICAgIG1ldGhvZHMgOm1ldGg6YF9lbmdpbmUuTmVzdGVkVHJhbnNhY3Rpb24uY29tbWl0YCBhbmQKICAgICAgICA6bWV0aDpgX2VuZ2luZS5OZXN0ZWRUcmFuc2FjdGlvbi5yb2xsYmFja2A7IGZvciBhIG5lc3RlZCB0cmFuc2FjdGlvbiwKICAgICAgICB0aGVzZSBtZXRob2RzIGNvcnJlc3BvbmQgdG8gdGhlIG9wZXJhdGlvbnMgIlJFTEVBU0UgU0FWRVBPSU5UIDxuYW1lPiIKICAgICAgICBhbmQgIlJPTExCQUNLIFRPIFNBVkVQT0lOVCA8bmFtZT4iLiBUaGUgbmFtZSBvZiB0aGUgc2F2ZXBvaW50IGlzIGxvY2FsCiAgICAgICAgdG8gdGhlIDpjbGFzczpgX2VuZ2luZS5OZXN0ZWRUcmFuc2FjdGlvbmAgb2JqZWN0IGFuZCBpcyBnZW5lcmF0ZWQKICAgICAgICBhdXRvbWF0aWNhbGx5LiBMaWtlIGFueSBvdGhlciA6Y2xhc3M6YF9lbmdpbmUuVHJhbnNhY3Rpb25gLCB0aGUKICAgICAgICA6Y2xhc3M6YF9lbmdpbmUuTmVzdGVkVHJhbnNhY3Rpb25gIG1heSBiZSB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyIGFzCiAgICAgICAgaWxsdXN0cmF0ZWQgYWJvdmUgd2hpY2ggd2lsbCAicmVsZWFzZSIgb3IgInJvbGxiYWNrIiBjb3JyZXNwb25kaW5nIHRvCiAgICAgICAgaWYgdGhlIG9wZXJhdGlvbiB3aXRoaW4gdGhlIGJsb2NrIHdlcmUgc3VjY2Vzc2Z1bCBvciByYWlzZWQgYW4KICAgICAgICBleGNlcHRpb24uCgogICAgICAgIE5lc3RlZCB0cmFuc2FjdGlvbnMgcmVxdWlyZSBTQVZFUE9JTlQgc3VwcG9ydCBpbiB0aGUgdW5kZXJseWluZwogICAgICAgIGRhdGFiYXNlLCBlbHNlIHRoZSBiZWhhdmlvciBpcyB1bmRlZmluZWQuIFNBVkVQT0lOVCBpcyBjb21tb25seSB1c2VkIHRvCiAgICAgICAgcnVuIG9wZXJhdGlvbnMgd2l0aGluIGEgdHJhbnNhY3Rpb24gdGhhdCBtYXkgZmFpbCwgd2hpbGUgY29udGludWluZyB0aGUKICAgICAgICBvdXRlciB0cmFuc2FjdGlvbi4gRS5nLjo6CgogICAgICAgICAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGV4YwoKICAgICAgICAgICAgd2l0aCBlbmdpbmUuYmVnaW4oKSBhcyBjb25uZWN0aW9uOgogICAgICAgICAgICAgICAgdHJhbnMgPSBjb25uZWN0aW9uLmJlZ2luX25lc3RlZCgpCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5leGVjdXRlKHRhYmxlLmluc2VydCgpLCB7InVzZXJuYW1lIjogInNhbmR5In0pCiAgICAgICAgICAgICAgICAgICAgdHJhbnMuY29tbWl0KCkKICAgICAgICAgICAgICAgIGV4Y2VwdCBleGMuSW50ZWdyaXR5RXJyb3I6ICAjIGNhdGNoIGZvciBkdXBsaWNhdGUgdXNlcm5hbWUKICAgICAgICAgICAgICAgICAgICB0cmFucy5yb2xsYmFjaygpICAjIHJvbGxiYWNrIHRvIHNhdmVwb2ludAoKICAgICAgICAgICAgICAgICMgb3V0ZXIgdHJhbnNhY3Rpb24gY29udGludWVzCiAgICAgICAgICAgICAgICBjb25uZWN0aW9uLmV4ZWN1dGUoLi4uKQoKICAgICAgICBJZiA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmJlZ2luX25lc3RlZGAgaXMgY2FsbGVkIHdpdGhvdXQgZmlyc3QKICAgICAgICBjYWxsaW5nIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gIG9yCiAgICAgICAgOm1ldGg6YF9lbmdpbmUuRW5naW5lLmJlZ2luYCwgdGhlIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBvYmplY3QKICAgICAgICB3aWxsICJhdXRvYmVnaW4iIHRoZSBvdXRlciB0cmFuc2FjdGlvbiBmaXJzdC4gVGhpcyBvdXRlciB0cmFuc2FjdGlvbgogICAgICAgIG1heSBiZSBjb21taXR0ZWQgdXNpbmcgImNvbW1pdC1hcy15b3UtZ28iIHN0eWxlLCBlLmcuOjoKCiAgICAgICAgICAgIHdpdGggZW5naW5lLmNvbm5lY3QoKSBhcyBjb25uZWN0aW9uOiAgIyBiZWdpbigpIHdhc24ndCBjYWxsZWQKCiAgICAgICAgICAgICAgICB3aXRoIGNvbm5lY3Rpb24uYmVnaW5fbmVzdGVkKCk6ICAjIHdpbGwgYXV0by0iYmVnaW4oKSIgZmlyc3QKICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLmV4ZWN1dGUoLi4uKQogICAgICAgICAgICAgICAgIyBzYXZlcG9pbnQgaXMgcmVsZWFzZWQKCiAgICAgICAgICAgICAgICBjb25uZWN0aW9uLmV4ZWN1dGUoLi4uKQoKICAgICAgICAgICAgICAgICMgZXhwbGljaXRseSBjb21taXQgb3V0ZXIgdHJhbnNhY3Rpb24KICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKCiAgICAgICAgICAgICAgICAjIGNhbiBjb250aW51ZSB3b3JraW5nIHdpdGggY29ubmVjdGlvbiBoZXJlCgogICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMi4wCgogICAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmJlZ2luX25lc3RlZGAgd2lsbCBub3cgcGFydGljaXBhdGUKICAgICAgICAgICAgaW4gdGhlIGNvbm5lY3Rpb24gImF1dG9iZWdpbiIgYmVoYXZpb3IgdGhhdCBpcyBuZXcgYXMgb2YKICAgICAgICAgICAgMi4wIC8gImZ1dHVyZSIgc3R5bGUgY29ubmVjdGlvbnMgaW4gMS40LgoKICAgICAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gCgogICAgICAgICAgICA6cmVmOmBzZXNzaW9uX2JlZ2luX25lc3RlZGAgLSBPUk0gc3VwcG9ydCBmb3IgU0FWRVBPSU5UCgogICAg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aDpgX2VuZ2luZS5Db25uZWN0aW9uLmNvbW1pdGAgbWV0aG9kIG9ubHkgYWN0cyB1cG9uCiAgICAgICAgICB0aGUgcHJpbWFyeSBkYXRhYmFzZSB0cmFuc2FjdGlvbiB0aGF0IGlzIGxpbmtlZCB0byB0aGUKICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBvYmplY3QuICBJdCBkb2VzIG5vdCBvcGVyYXRlIHVwb24gYQogICAgICAgICAgU0FWRVBPSU5UIHRoYXQgd291bGQgaGF2ZSBiZWVuIGludm9rZWQgZnJvbSB0aGUKICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5fbmVzdGVkYCBtZXRob2Q7IGZvciBjb250cm9sIG9mIGEKICAgICAgICAgIFNBVkVQT0lOVCwgY2FsbCA6bWV0aDpgX2VuZ2luZS5OZXN0ZWRUcmFuc2FjdGlvbi5jb21taXRgIG9uIHRoZQogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLk5lc3RlZFRyYW5zYWN0aW9uYCB0aGF0IGlzIHJldHVybmVkIGJ5IHRoZQogICAgICAgICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5iZWdpbl9uZXN0ZWRgIG1ldGhvZCBpdHNlbGYuCgoKICAgICAgICBOKQJyUQAAANoGY29tbWl0cogAAABzAQAAACByZwAAAHLYAAAAehFDb25uZWN0aW9uLmNvbW1pdNADAABzJAAAAIAA8CwADBDXCxzSCxzYDBDXDB3RDB3XDCTRDCTVDCbwAwAMHXJ3AAAAYwEAAAAAAAAAAAAAAAIAAAADAAAB81IAAACXAHwAagAAAAAAAAAAAAAAAAAAAAAAAAByG3wAagAAAAAAAAAAAAAAAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAAQB5AXkBKQJhWQQAAFJvbGwgYmFjayB0aGUgdHJhbnNhY3Rpb24gdGhhdCBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCgogICAgICAgIFRoaXMgbWV0aG9kIHJvbGxzIGJhY2sgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gaWYgb25lIGhhcyBiZWVuIHN0YXJ0ZWQuCiAgICAgICAgSWYgbm8gdHJhbnNhY3Rpb24gd2FzIHN0YXJ0ZWQsIHRoZSBtZXRob2QgaGFzIG5vIGVmZmVjdC4gIElmIGEKICAgICAgICB0cmFuc2FjdGlvbiB3YXMgc3RhcnRlZCBhbmQgdGhlIGNvbm5lY3Rpb24gaXMgaW4gYW4gaW52YWxpZGF0ZWQgc3RhdGUsCiAgICAgICAgdGhlIHRyYW5zYWN0aW9uIGlzIGNsZWFyZWQgdXNpbmcgdGhpcyBtZXRob2QuCgogICAgICAgIEEgdHJhbnNhY3Rpb24gaXMgYmVndW4gb24gYSA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgYXV0b21hdGljYWxseQogICAgICAgIHdoZW5ldmVyIGEgc3RhdGVtZW50IGlzIGZpcnN0IGV4ZWN1dGVkLCBvciB3aGVuIHRoZQogICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gIG1ldGhvZCBpcyBjYWxsZWQuCgogICAgICAgIC4uIG5vdGU6OiBUaGUgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5yb2xsYmFja2AgbWV0aG9kIG9ubHkgYWN0cwogICAgICAgICAgdXBvbiB0aGUgcHJpbWFyeSBkYXRhYmFzZSB0cmFuc2FjdGlvbiB0aGF0IGlzIGxpbmtlZCB0byB0aGUKICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBvYmplY3QuICBJdCBkb2VzIG5vdCBvcGVyYXRlIHVwb24gYQogICAgICAgICAgU0FWRVBPSU5UIHRoYXQgd291bGQgaGF2ZSBiZWVuIGludm9rZWQgZnJvbSB0aGUKICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5fbmVzdGVkYCBtZXRob2Q7IGZvciBjb250cm9sIG9mIGEKICAgICAgICAgIFNBVkVQT0lOVCwgY2FsbCA6bWV0aDpgX2VuZ2luZS5OZXN0ZWRUcmFuc2FjdGlvbi5yb2xsYmFja2Agb24gdGhlCiAgICAgICAgICA6Y2xhc3M6YF9lbmdpbmUuTmVzdGVkVHJhbnNhY3Rpb25gIHRoYXQgaXMgcmV0dXJuZWQgYnkgdGhl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HXQHAAAAAAAAAABkBHwCqwIAAAAAAABqCQAAAAAAAAAAAAAAAAAAAAAAAGQBrAWrAQAAAAAAAAEAbhB8AmoDAAAAAAAAAAAAAAAAAAAAAAAAqwAAAAAAAAABAGQDfABfAgAAAAAAAAAAZAJ8AF8FAAAAAAAAAAB5AykGYd8DAABDbG9zZSB0aGlzIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYC4KCiAgICAgICAgVGhpcyByZXN1bHRzIGluIGEgcmVsZWFzZSBvZiB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQogICAgICAgIHJlc291cmNlcywgdGhhdCBpcywgdGhlIERCQVBJIGNvbm5lY3Rpb24gcmVmZXJlbmNlZAogICAgICAgIGludGVybmFsbHkuIFRoZSBEQkFQSSBjb25uZWN0aW9uIGlzIHR5cGljYWxseSByZXN0b3JlZAogICAgICAgIGJhY2sgdG8gdGhlIGNvbm5lY3Rpb24taG9sZGluZyA6Y2xhc3M6YF9wb29sLlBvb2xgIHJlZmVyZW5jZWQKICAgICAgICBieSB0aGUgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAgdGhhdCBwcm9kdWNlZCB0aGlzCiAgICAgICAgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gLiBBbnkgdHJhbnNhY3Rpb25hbCBzdGF0ZSBwcmVzZW50IG9uCiAgICAgICAgdGhlIERCQVBJIGNvbm5lY3Rpb24gaXMgYWxzbyB1bmNvbmRpdGlvbmFsbHkgcmVsZWFzZWQgdmlhCiAgICAgICAgdGhlIERCQVBJIGNvbm5lY3Rpb24ncyBgYHJvbGxiYWNrKClgYCBtZXRob2QsIHJlZ2FyZGxlc3MKICAgICAgICBvZiBhbnkgOmNsYXNzOmAuVHJhbnNhY3Rpb25gIG9iamVjdCB0aGF0IG1heSBiZQogICAgICAgIG91dHN0YW5kaW5nIHdpdGggcmVnYXJkcyB0byB0aGlzIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYC4KCiAgICAgICAgVGhpcyBoYXMgdGhlIGVmZmVjdCBvZiBhbHNvIGNhbGxpbmcgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5yb2xsYmFja2AKICAgICAgICBp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cGFyYW1ldGVycyB3aGljaCB3aWxsIGJlIGJvdW5kIGludG8gdGhlIHN0YXRlbWVudC4KICAgICAgICAgVGhpcyBtYXkgYmUgZWl0aGVyIGEgZGljdGlvbmFyeSBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gdmFsdWVzLAogICAgICAgICBvciBhIG11dGFibGUgc2VxdWVuY2UgKGUuZy4gYSBsaXN0KSBvZiBkaWN0aW9uYXJpZXMuICBXaGVuIGEKICAgICAgICAgbGlzdCBvZiBkaWN0aW9uYXJpZXMgaXMgcGFzc2VkLCB0aGUgdW5kZXJseWluZyBzdGF0ZW1lbnQgZXhlY3V0aW9uCiAgICAgICAgIHdpbGwgbWFrZSB1c2Ugb2YgdGhlIERCQVBJIGBgY3Vyc29yLmV4ZWN1dGVtYW55KClgYCBtZXRob2QuCiAgICAgICAgIFdoZW4gYSBzaW5nbGUgZGljdGlvbmFyeSBpcyBwYXNzZWQsIHRoZSBEQkFQSSBgYGN1cnNvci5leGVjdXRlKClgYAogICAgICAgICBtZXRob2Qgd2lsbCBiZSB1c2VkLgoKICAgICAgICA6cGFyYW0gZXhlY3V0aW9uX29wdGlvbnM6IG9wdGlvbmFsIGRpY3Rpb25hcnkgb2YgZXhlY3V0aW9uIG9wdGlvbnMsCiAgICAgICAgIHdoaWNoIHdpbGwgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQgZXhlY3V0aW9uLiAgVGhpcwogICAgICAgICBkaWN0aW9uYXJ5IGNhbiBwcm92aWRlIGEgc3Vic2V0IG9mIHRoZSBvcHRpb25zIHRoYXQgYXJlIGFjY2VwdGVkCiAgICAgICAgIGJ5IDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnNgLgoKICAgICAgICA6cmV0dXJuOiBhIDpjbGFzczpgX2VuZ2luZS5SZXN1bHRgIG9iamVjdC4KCiAgICAgICAgTikGchoAAADaFl9leGVjdXRlX29uX2Nvbm5lY3Rpb25yRgAAAHI1AQAAch4AAAByNgEAAHI3AQAAcwcAAAAgICAgICAgcmcAAAByQQEAAHoSQ29ubmVjdGlvbi5leGVjdXRlXAUAAHNkAAAAgAD0TAEAIDKw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dXJuOiBhIDpjbGFzczpgX2VuZ2luZS5DdXJzb3JSZXN1bHRgLgoKICAgICAgICAgRS5nLiBtdWx0aXBsZSBkaWN0aW9uYXJpZXM6OgoKCiAgICAgICAgICAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgKICAgICAgICAgICAgICAgICAiSU5TRVJUIElOVE8gdGFibGUgKGlkLCB2YWx1ZSkgVkFMVUVTICglKGlkKXMsICUodmFsdWUpcykiLAogICAgICAgICAgICAgICAgIFt7ImlkIjogMSwgInZhbHVlIjogInYxIn0sIHsiaWQiOiAyLCAidmFsdWUiOiAidjIifV0sCiAgICAgICAgICAgICApCgogICAgICAgICBTaW5nbGUgZGljdGlvbmFyeTo6CgogICAgICAgICAgICAgY29ubi5leGVjX2RyaXZlcl9zcWwoCiAgICAgICAgICAgICAgICAgIklOU0VSVCBJTlRPIHRhYmxlIChpZCwgdmFsdWUpIFZBTFVFUyAoJShpZClzLCAlKHZhbHVlKXMpIiwKICAgICAgICAgICAgICAgICBkaWN0KGlkPTEsIHZhbHVlPSJ2MSIpLAogICAgICAgICAgICAgKQoKICAgICAgICAgU2luZ2xlIHR1cGxlOjoKCiAgICAgICAgICAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgKICAgICAgICAgICAgICAgICAiSU5TRVJUIElOVE8gdGFibGUgKGlkLCB2YWx1ZSkgVkFMVUVTICg/LCA/KSIsICgxLCAidjEiKQogICAgICAgICAgICAgKQoKICAgICAgICAgLi4gbm90ZTo6IFRoZSA6bWV0aDpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWNfZHJpdmVyX3NxbGAgbWV0aG9kIGRvZXMKICAgICAgICAgICAgIG5vdCBwYXJ0aWNpcGF0ZSBpbiB0aGUKICAgICAgICAgICAgIDptZXRoOmBfZXZlbnRzLkNvbm5lY3Rpb25FdmVudHMuYmVmb3JlX2V4ZWN1dGVgIGFuZAogICAgICAgICAgICAgOm1ldGg6YF9ldmVudHMuQ29ubmVjdGlvbkV2ZW50cy5hZnRlcl9leGVjdXRlYCBldmVudHMuICAgVG8KICAgICAgICAgICAgIGludGVyY2Vw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bWV0aG9kcyBpbiBvcmRlciB0byBjb250cm9sIHRyYW5zYWN0aW9uIGJvdW5kYXJpZXMuICBJdAogICAgYWxzbyBpbXBsZW1lbnRzIGEgY29udGV4dCBtYW5hZ2VyIGludGVyZmFjZSBzbyB0aGF0CiAgICB0aGUgUHl0aG9uIGBgd2l0aGBgIHN0YXRlbWVudCBjYW4gYmUgdXNlZCB3aXRoIHRoZQogICAgOm1ldGg6YF9lbmdpbmUuQ29ubmVjdGlvbi5iZWdpbmAgbWV0aG9kOjoKCiAgICAgICAgd2l0aCBjb25uZWN0aW9uLmJlZ2luKCk6CiAgICAgICAgICAgIGNvbm5lY3Rpb24uZXhlY3V0ZSh0ZXh0KCJpbnNlcnQgaW50byB4IChhLCBiKSB2YWx1ZXMgKDEsIDIpIikpCgogICAgVGhlIFRyYW5zYWN0aW9uIG9iamVjdCBpcyAqKm5vdCoqIHRocmVhZHNhZmUuCgogICAgLi4gc2VlYWxzbzo6CgogICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5gCgogICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5fdHdvcGhhc2VgCgogICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uYmVnaW5fbmVzdGVkYAoKICAgIC4uIGluZGV4OjoKICAgICAgc2luZ2xlOiB0aHJlYWQgc2FmZXR5OyBUcmFuc2FjdGlvbgogICAgcocAAABGcu8AAADaCF9pc19yb290cukAAABySAAAAHJkAAAAYwIAAAAAAAAAAAAAAAIAAAADAAAB8xYAAACXAHQBAAAAAAAAAACrAAAAAAAAAIIBcoYAAACpAdoTTm90SW1wbGVtZW50ZWRFcnJvcqkCcmMAAAByZAAAAHMCAAAAICByZwAAAHJoAAAAehRUcmFuc2FjdGlvbi5fX2luaXRfX/YJAADzCwAAAIAA3A4h0w4j0AgjcncAAABjAQAAAAAAAAAAAAAAAgAAAAMAAAHzFgAAAJcAdAEAAAAAAAAAAKsAAAAAAAAAggEpAXqDVHJ1ZSBpZiB0aGlzIHRyYW5zYWN0aW9uIGlzIHRvdGFsbHkgZGVhY3RpdmF0ZWQgZnJvbSB0aGUgY29ubmVjdGlv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cnQgb2YgdGhlIHN0YXRlCiAgICAgIG9mIHRoaXMgb2JqZWN0LgoKICAgICogVGhlIDptZXRoOmAuTmVzdGVkVHJhbnNhY3Rpb24uY29tbWl0YCBtZXRob2QgY29ycmVzcG9uZHMgdG8gYQogICAgICAiUkVMRUFTRSBTQVZFUE9JTlQiIG9wZXJhdGlvbiwgdXNpbmcgdGhlIHNhdmVwb2ludCBpZGVudGlmaWVyIGFzc29jaWF0ZWQKICAgICAgd2l0aCB0aGlzIDpjbGFzczpgLk5lc3RlZFRyYW5zYWN0aW9uYC4KCiAgICAqIFRoZSA6bWV0aDpgLk5lc3RlZFRyYW5zYWN0aW9uLnJvbGxiYWNrYCBtZXRob2QgY29ycmVzcG9uZHMgdG8gYQogICAgICAiUk9MTEJBQ0sgVE8gU0FWRVBPSU5UIiBvcGVyYXRpb24sIHVzaW5nIHRoZSBzYXZlcG9pbnQgaWRlbnRpZmllcgogICAgICBhc3NvY2lhdGVkIHdpdGggdGhpcyA6Y2xhc3M6YC5OZXN0ZWRUcmFuc2FjdGlvbmAuCgogICAgVGhlIHJhdGlvbmFsZSBmb3IgbWltaWNraW5nIHRoZSBzZW1hbnRpY3Mgb2YgYW4gb3V0ZXIgdHJhbnNhY3Rpb24gaW4KICAgIHRlcm1zIG9mIHNhdmVwb2ludHMgc28gdGhhdCBjb2RlIG1heSBkZWFsIHdpdGggYSAic2F2ZXBvaW50IiB0cmFuc2FjdGlvbgogICAgYW5kIGFuICJvdXRlciIgdHJhbnNhY3Rpb24gaW4gYW4gYWdub3N0aWMgd2F5LgoKICAgIC4uIHNlZWFsc286OgoKICAgICAgICA6cmVmOmBzZXNzaW9uX2JlZ2luX25lc3RlZGAgLSBPUk0gdmVyc2lvbiBvZiB0aGUgU0FWRVBPSU5UIEFQSS4KCiAgICApBHJkAAAAcukAAADaCl9zYXZlcG9pbnTaEF9wcmV2aW91c19uZXN0ZWRyfAEAAHJGAgAAYwIAAAAAAAAAAAAAAAMAAAADAAAB8+wAAACXAHwBagAAAAAAAAAAAAAAAAAAAAAAAACAAkoAggF8AWoCAAAAAAAAAAAAAAAAAAAAAAAAchV0BQAAAAAAAAAAagYAAAAAAAAAAAAAAAAAAAAAAAB8AasBAAAAAAAA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AQAAAAAAAAAAAAAAAAAAAAAAAHwAfAGrAgAAAAAAAFMAKQFhFw4AAFJldHVybiBhIG5ldyA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCB0aGF0IHdpbGwgcHJvdmlkZQogICAgICAgIDpjbGFzczpgX2VuZ2luZS5Db25uZWN0aW9uYCBvYmplY3RzIHdpdGggdGhlIGdpdmVuIGV4ZWN1dGlvbiBvcHRpb25zLgoKICAgICAgICBUaGUgcmV0dXJuZWQgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAgcmVtYWlucyByZWxhdGVkIHRvIHRoZSBvcmlnaW5hbAogICAgICAgIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgIGluIHRoYXQgaXQgc2hhcmVzIHRoZSBzYW1lIGNvbm5lY3Rpb24gcG9vbCBhbmQKICAgICAgICBvdGhlciBzdGF0ZToKCiAgICAgICAgKiBUaGUgOmNsYXNzOmBfcG9vbC5Qb29sYCB1c2VkIGJ5IHRoZSBuZXcgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAKICAgICAgICAgIGlzIHRoZQogICAgICAgICAgc2FtZSBpbnN0YW5jZS4gIFRoZSA6bWV0aDpgX2VuZ2luZS5FbmdpbmUuZGlzcG9zZWAKICAgICAgICAgIG1ldGhvZCB3aWxsIHJlcGxhY2UKICAgICAgICAgIHRoZSBjb25uZWN0aW9uIHBvb2wgaW5zdGFuY2UgZm9yIHRoZSBwYXJlbnQgZW5naW5lIGFzIHdlbGwKICAgICAgICAgIGFzIHRoaXMgb25lLgogICAgICAgICogRXZlbnQgbGlzdGVuZXJzIGFyZSAiY2FzY2FkZWQiIC0gbWVhbmluZywgdGhlIG5ldwogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAKICAgICAgICAgIGluaGVyaXRzIHRoZSBldmVudHMgb2YgdGhlIHBhcmVudCwgYW5kIG5ldyBldmVudHMgY2FuIGJlIGFzc29jaWF0ZWQKICAgICAgICAgIHdpdGggdGhlIG5ldyA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCBpbmRpdmlkdWFsbHkuCiAgICAgICAgKiBUaGUgbG9nZ2luZyBjb25maWd1cmF0aW9uIGFuZCBsb2dnaW5nX25hbWUgaXMgY29waWVkIGZyb20gdGhlIHBhcmVudAogICAgICAgICAgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAuCgogICAgICAgIFRoZSBpbnRlbnQgb2YgdGhlIDptZXRoOmBfZW5naW5lLkVuZ2luZS5leGVjdXRpb25fb3B0aW9uc2AgbWV0aG9kIGlzCiAgICAgICAgdG8gaW1wbGVtZW50IHNjaGVtZXMgd2hlcmUgbXVsdGlwbGUgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAKICAgICAgICBvYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIGNvbm5lY3Rpb24gcG9vbCwgYnV0IGFyZSBkaWZmZXJlbnRpYXRlZAogICAgICAgIGJ5IG9wdGlvbnMgdGhhdCBhZmZlY3Qgc29tZSBleGVjdXRpb24tbGV2ZWwgYmVoYXZpb3IgZm9yIGVhY2gKICAgICAgICBlbmdpbmUuICAgIE9uZSBzdWNoIGV4YW1wbGUgaXMgYnJlYWtpbmcgaW50byBzZXBhcmF0ZSAicmVhZGVyIiBhbmQKICAgICAgICAid3JpdGVyIiA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCBpbnN0YW5jZXMsIHdoZXJlIG9uZQogICAgICAgIDpjbGFzczpgX2VuZ2luZS5FbmdpbmVgCiAgICAgICAgaGFzIGEgbG93ZXIgOnRlcm06YGlzb2xhdGlvbiBsZXZlbGAgc2V0dGluZyBjb25maWd1cmVkIG9yIGlzIGV2ZW4KICAgICAgICB0cmFuc2FjdGlvbi1kaXNhYmxlZCB1c2luZyAiYXV0b2NvbW1pdCIuICBBbiBleGFtcGxlIG9mIHRoaXMKICAgICAgICBjb25maWd1cmF0aW9uIGlzIGF0IDpyZWY6YGRiYXBpX2F1dG9jb21taXRfbXVsdGlwbGVgLgoKICAgICAgICBBbm90aGVyIGV4YW1wbGUgaXMgb25lIHRoYXQKICAgICAgICB1c2VzIGEgY3VzdG9tIG9wdGlvbiBgYHNoYXJkX2lkYGAgd2hpY2ggaXMgY29uc3VtZWQgYnkgYW4gZXZlbnQKICAgICAgICB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgc2NoZW1hIG9uIGEgZGF0YWJhc2UgY29ubmVjdGlvbjo6CgogICAgICAgICAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGV2ZW50CiAgICAgICAgICAgIGZyb20gc3FsYWxjaGVteS5lbmdpbmUgaW1wb3J0IEVuZ2luZQoKICAgICAgICAgICAgcHJpbWFyeV9lbmdpbmUgPSBjcmVhdGVfZW5naW5lKCJteXNxbCtteXNxbGRiOi8vIikKICAgICAgICAgICAgc2hhcmQxID0gcHJpbWFyeV9lbmdpbmUuZXhlY3V0aW9uX29wdGlvbnMoc2hhcmRfaWQ9InNoYXJkMSIpCiAgICAgICAgICAgIHNoYXJkMiA9IHByaW1hcnlfZW5naW5lLmV4ZWN1dGlvbl9vcHRpb25zKHNoYXJkX2lkPSJzaGFyZDIiKQoKICAgICAgICAgICAgc2hhcmRzID0geyJkZWZhdWx0IjogImJhc2UiLCAic2hhcmRfMSI6ICJkYjEiLCAic2hhcmRfMiI6ICJkYjIifQoKCiAgICAgICAgICAgIEBldmVudC5saXN0ZW5zX2ZvcihFbmdpbmUsICJiZWZvcmVfY3Vyc29yX2V4ZWN1dGUiKQogICAgICAgICAgICBkZWYgX3N3aXRjaF9zaGFyZChjb25uLCBjdXJzb3IsIHN0bXQsIHBhcmFtcywgY29udGV4dCwgZXhlY3V0ZW1hbnkpOgogICAgICAgICAgICAgICAgc2hhcmRfaWQgPSBjb25uLmdldF9leGVjdXRpb25fb3B0aW9ucygpLmdldCgic2hhcmRfaWQiLCAiZGVmYXVsdCIpCiAgICAgICAgICAgICAgICBjdXJyZW50X3NoYXJkID0gY29ubi5pbmZvLmdldCgiY3VycmVudF9zaGFyZCIsIE5vbmUpCgogICAgICAgICAgICAgICAgaWYgY3VycmVudF9zaGFyZCAhPSBzaGFyZF9pZDoKICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgidXNlICVzIiAlIHNoYXJkc1tzaGFyZF9pZF0pCiAgICAgICAgICAgICAgICAgICAgY29ubi5pbmZvWyJjdXJyZW50X3NoYXJkIl0gPSBzaGFyZF9pZAoKICAgICAgICBUaGUgYWJvdmUgcmVjaXBlIGlsbHVzdHJhdGVzIHR3byA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCBvYmplY3RzIHRoYXQKICAgICAgICB3aWxsIGVhY2ggc2VydmUgYXMgZmFjdG9yaWVzIGZvciA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgb2JqZWN0cwogICAgICAgIHRoYXQgaGF2ZSBwcmUtZXN0YWJsaXNoZWQgInNoYXJkX2lkIiBleGVjdXRpb24gb3B0aW9ucyBwcmVzZW50LiBBCiAgICAgICAgOm1ldGg6YF9ldmVudHMuQ29ubmVjdGlvbkV2ZW50cy5iZWZvcmVfY3Vyc29yX2V4ZWN1dGVgIGV2ZW50IGhhbmRsZXIKICAgICAgICB0aGVuIGludGVycHJldHMgdGhpcyBleGVjdXRpb24gb3B0aW9uIHRvIGVtaXQgYSBNeVNRTCBgYHVzZWBgIHN0YXRlbWVudAogICAgICAgIHRvIHN3aXRjaCBkYXRhYmFzZXMgYmVmb3JlIGEgc3RhdGVtZW50IGV4ZWN1dGlvbiwgd2hpbGUgYXQgdGhlIHNhbWUKICAgICAgICB0aW1lIGtlZXBpbmcgdHJhY2sgb2Ygd2hpY2ggZGF0YWJhc2Ugd2UndmUgZXN0YWJsaXNoZWQgdXNpbmcgdGhlCiAgICAgICAgOmF0dHI6YF9lbmdpbmUuQ29ubmVjdGlvbi5pbmZvYCBkaWN0aW9uYXJ5LgoKICAgICAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgICAgIDptZXRoOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnNgCiAgICAgICAgICAgIC0gdXBkYXRlIGV4ZWN1dGlvbiBvcHRpb25zCiAgICAgICAgICAgIG9uIGEgOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIG9iamVjdC4KCiAgICAgICAgICAgIDptZXRoOmBfZW5naW5lLkVuZ2luZS51cGRhdGVfZXhlY3V0aW9uX29wdGlvbnNgCiAgICAgICAgICAgIC0gdXBkYXRlIHRoZSBleGVjdXRpb24KICAgICAgICAgICAgb3B0aW9ucyBmb3IgYSBnaXZlbiA6Y2xhc3M6YF9lbmdpbmUuRW5naW5lYCBpbiBwbGFjZS4KCiAgICAgICAgICAgIDptZXRoOmBf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aWF0ZSBmb3IgYW4gaW5pdGlhbGl6ZXIKICAgICAgICBpbiBhIGZvcmtlZCBQeXRob24gcHJvY2Vzcy4KCiAgICAgICAgOnBhcmFtIGNsb3NlOiBpZiBsZWZ0IGF0IGl0cyBkZWZhdWx0IG9mIGBgVHJ1ZWBgLCBoYXMgdGhlCiAgICAgICAgIGVmZmVjdCBvZiBmdWxseSBjbG9zaW5nIGFsbCAqKmN1cnJlbnRseSBjaGVja2VkIGluKioKICAgICAgICAgZGF0YWJhc2UgY29ubmVjdGlvbnMuICBDb25uZWN0aW9ucyB0aGF0IGFyZSBzdGlsbCBjaGVja2VkIG91dAogICAgICAgICB3aWxsICoqbm90KiogYmUgY2xvc2VkLCBob3dldmVyIHRoZXkgd2lsbCBubyBsb25nZXIgYmUgYXNzb2NpYXRlZAogICAgICAgICB3aXRoIHRoaXMgOmNsYXNzOmBfZW5naW5lLkVuZ2luZWAsCiAgICAgICAgIHNvIHdoZW4gdGhleSBhcmUgY2xvc2VkIGluZGl2aWR1YWxseSwgZXZlbnR1YWxseSB0aGUKICAgICAgICAgOmNsYXNzOmBfcG9vbC5Qb29sYCB3aGljaCB0aGV5IGFyZSBhc3NvY2lhdGVkIHdpdGggd2lsbAogICAgICAgICBiZSBnYXJiYWdlIGNvbGxlY3RlZCBhbmQgdGhleSB3aWxsIGJlIGNsb3NlZCBvdXQgZnVsbHksIGlmCiAgICAgICAgIG5vdCBhbHJlYWR5IGNsb3NlZCBvbiBjaGVja2luLgoKICAgICAgICAgSWYgc2V0IHRvIGBgRmFsc2VgYCwgdGhlIHByZXZpb3VzIGNvbm5lY3Rpb24gcG9vbCBpcyBkZS1yZWZlcmVuY2VkLAogICAgICAgICBhbmQgb3RoZXJ3aXNlIG5vdCB0b3VjaGVkIGluIGFueSB3YXkuCgogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuNC4zMyAgQWRkZWQgdGhlIDpwYXJhbXJlZjpgLkVuZ2luZS5kaXNwb3NlLmNsb3NlYAogICAgICAgICAgICBwYXJhbWV0ZXIgdG8gYWxsb3cgdGhlIHJlcGxhY2VtZW50IG9mIGEgY29ubmVjdGlvbiBwb29sIGluIGEgY2hpbGQKICAg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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 19
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
base.cpython-312.pyc
126.90 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
characteristics.cpython-312.pyc
6.66 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
create.cpython-312.pyc
33.50 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
cursor.cpython-312.pyc
77.50 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
default.cpython-312.pyc
86.01 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
events.cpython-312.pyc
38.97 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
interfaces.cpython-312.pyc
97.25 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
mock.cpython-312.pyc
5.54 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
processors.cpython-312.pyc
1.24 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
reflection.cpython-312.pyc
78.40 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
result.cpython-312.pyc
89.07 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
row.cpython-312.pyc
17.01 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
strategies.cpython-312.pyc
539 B
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
url.cpython-312.pyc
33.58 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
util.cpython-312.pyc
6.46 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
_py_processors.cpython-312.pyc
4.37 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
_py_row.cpython-312.pyc
5.61 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
_py_util.cpython-312.pyc
2.11 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
2.20 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
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).