sonamu 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/code-converters.js +2 -2
- package/dist/api/config.js +2 -2
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +2 -2
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +3 -4
- package/dist/bin/cli.js +1 -17
- package/dist/database/base-model.types.d.ts +1 -0
- package/dist/database/base-model.types.d.ts.map +1 -1
- package/dist/database/base-model.types.js +2 -2
- package/dist/database/puri-wrapper.js +7 -3
- package/dist/database/upsert-builder.d.ts +7 -3
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +63 -25
- package/dist/entity/entity-manager.d.ts +1 -1
- package/dist/entity/entity.js +3 -3
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +8 -7
- package/dist/migration/migration-set.d.ts.map +1 -1
- package/dist/migration/migration-set.js +2 -25
- package/dist/migration/migrator.js +2 -2
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +2 -1
- package/dist/syncer/file-patterns.js +2 -2
- package/dist/syncer/syncer.js +2 -2
- package/dist/template/implementations/service.template.d.ts.map +1 -1
- package/dist/template/implementations/service.template.js +3 -2
- package/dist/types/types.d.ts +4 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +2 -2
- package/dist/utils/model.d.ts +9 -2
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +1 -1
- package/dist/utils/path-utils.d.ts +1 -1
- package/dist/utils/path-utils.d.ts.map +1 -1
- package/dist/utils/path-utils.js +1 -1
- package/package.json +9 -10
- package/src/api/code-converters.ts +2 -2
- package/src/api/config.ts +1 -1
- package/src/api/decorators.ts +1 -1
- package/src/api/sonamu.ts +2 -5
- package/src/bin/cli.ts +0 -17
- package/src/database/base-model.types.ts +2 -0
- package/src/database/puri-wrapper.ts +2 -2
- package/src/database/upsert-builder.ts +88 -29
- package/src/entity/entity.ts +2 -2
- package/src/migration/code-generation.ts +8 -6
- package/src/migration/migration-set.ts +0 -20
- package/src/migration/migrator.ts +1 -1
- package/src/migration/postgresql-schema-reader.ts +1 -0
- package/src/shared/web.shared.ts.txt +6 -4
- package/src/syncer/file-patterns.ts +1 -1
- package/src/syncer/syncer.ts +1 -1
- package/src/template/implementations/service.template.ts +2 -1
- package/src/types/types.ts +3 -2
- package/src/utils/model.ts +10 -4
- package/src/utils/path-utils.ts +5 -2
|
@@ -57,9 +57,10 @@ export class Template__service extends Template {
|
|
|
57
57
|
// 컨텍스트 제외된 파라미터 리스트
|
|
58
58
|
const paramsWithoutContext = api.parameters.filter((param)=>!ApiParamType.isContext(param.type) && !ApiParamType.isRefKnex(param.type) && !(param.optional === true && param.name.startsWith("_")));
|
|
59
59
|
// 파라미터 타입 정의
|
|
60
|
-
const
|
|
60
|
+
const typeParametersAsTsType = api.typeParameters.map((typeParam)=>{
|
|
61
61
|
return apiParamTypeToTsType(typeParam, importKeys);
|
|
62
62
|
}).join(", ");
|
|
63
|
+
const typeParamsDef = typeParametersAsTsType ? `<${typeParametersAsTsType}>` : "";
|
|
63
64
|
typeParamNames = typeParamNames.concat(api.typeParameters.map((typeParam)=>typeParam.id));
|
|
64
65
|
// 파라미터 정의
|
|
65
66
|
const paramsDef = apiParamToTsCode(paramsWithoutContext, importKeys);
|
|
@@ -198,4 +199,4 @@ export async function ${api.methodName}${typeParamsDef}(${paramsDef}): Promise<R
|
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvc2VydmljZS50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyBkaWZmLCBncm91cCwgc29ydCwgdW5pcXVlIH0gZnJvbSBcInJhZGFzaGlcIjtcbmltcG9ydCB7XG4gIGFwaVBhcmFtVG9Uc0NvZGUsXG4gIGFwaVBhcmFtVG9Uc0NvZGVBc09iamVjdCxcbiAgYXBpUGFyYW1UeXBlVG9Uc1R5cGUsXG4gIHVud3JhcFByb21pc2VPbmNlLFxufSBmcm9tIFwiLi4vLi4vYXBpL2NvZGUtY29udmVydGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBFeHRlbmRlZEFwaSB9IGZyb20gXCIuLi8uLi9hcGkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB0eXBlIHsgRW50aXR5TmFtZXNSZWNvcmQgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBOYWl0ZSB9IGZyb20gXCIuLi8uLi9uYWl0ZS9uYWl0ZVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgQXBpUGFyYW0sIEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IHpvZFR5cGVUb1RzVHlwZURlZiB9IGZyb20gXCIuLi96b2QtY29udmVydGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fc2VydmljZSBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJzZXJ2aWNlXCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIjp0YXJnZXQvc3JjL3NlcnZpY2VzXCIsXG4gICAgICBwYXRoOiBgJHtuYW1lcy5mc30vJHtuYW1lcy5mc30uc2VydmljZS50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IG5hbWVzUmVjb3JkIH06IFRlbXBsYXRlT3B0aW9uc1tcInNlcnZpY2VcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgbmFtZXNSZWNvcmQgfSk7XG5cbiAgICBjb25zdCB7XG4gICAgICBzeW5jZXI6IHsgYXBpcyB9LFxuICAgIH0gPSBTb25hbXU7XG5cbiAgICBjb25zdCBhcGlzRm9yVGhpc01vZGVsID0gYXBpcy5maWx0ZXIoKGFwaSkgPT4gYXBpLm1vZGVsTmFtZSA9PT0gYCR7bmFtZXNSZWNvcmQuY2FwaXRhbH1Nb2RlbGApO1xuXG4gICAgLy8g7ISc67mE7IqkIFR5cGVTb3VyY2VcbiAgICBjb25zdCB7IGxpbmVzLCBpbXBvcnRLZXlzIH0gPSB0aGlzLmdldFR5cGVTb3VyY2UoYXBpc0ZvclRoaXNNb2RlbCk7XG5cbiAgICAvLyBBeGlvc1Byb2dyZXNzRXZlbnQg7J6I64qU7KeAIO2ZleyduFxuICAgIGNvbnN0IGhhc0F4aW9zUHJvZ3Jlc3NFdmVudCA9IGFwaXMuZmluZCgoYXBpKSA9PlxuICAgICAgKGFwaS5vcHRpb25zLmNsaWVudHMgPz8gW10pLmluY2x1ZGVzKFwiYXhpb3MtbXVsdGlwYXJ0XCIpLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzUmVjb3JkKSxcbiAgICAgIGJvZHk6IGxpbmVzLmpvaW4oXCJcXG5cIiksXG4gICAgICBpbXBvcnRLZXlzOiBpbXBvcnRLZXlzLmZpbHRlcigoa2V5KSA9PiBbXCJMaXN0UmVzdWx0XCJdLmluY2x1ZGVzKGtleSkgPT09IGZhbHNlKSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgYGltcG9ydCB7IHogfSBmcm9tICd6b2QnO2AsXG4gICAgICAgIGBpbXBvcnQgcXMgZnJvbSBcInFzXCI7YCxcbiAgICAgICAgYGltcG9ydCB1c2VTV1IsIHsgdHlwZSBTV1JSZXNwb25zZSB9IGZyb20gXCJzd3JcIjtgLFxuICAgICAgICBgaW1wb3J0IHsgZmV0Y2gsIExpc3RSZXN1bHQsIFNXUkVycm9yLCBTd3JPcHRpb25zLCBoYW5kbGVDb25kaXRpb25hbCwgc3dyUG9zdEZldGNoZXIsIEV2ZW50SGFuZGxlcnMsIFNTRVN0cmVhbU9wdGlvbnMsIHVzZVNTRVN0cmVhbSB9IGZyb20gJy4uL3NvbmFtdS5zaGFyZWQnO2AsXG4gICAgICAgIC4uLihoYXNBeGlvc1Byb2dyZXNzRXZlbnQgPyBbYGltcG9ydCB7IHR5cGUgQXhpb3NQcm9ncmVzc0V2ZW50IH0gZnJvbSAnYXhpb3MnO2BdIDogW10pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VHlwZVNvdXJjZShhcGlzOiBFeHRlbmRlZEFwaVtdKToge1xuICAgIGxpbmVzOiBzdHJpbmdbXTtcbiAgICBpbXBvcnRLZXlzOiBzdHJpbmdbXTtcbiAgfSB7XG4gICAgY29uc3QgaW1wb3J0S2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIOygnOuEpOumreyXkOyEnCDshKDslrjtlZwg7YOA7J6FLCBpbXBvcnRLZXlz7JeQ7IScIOygnOyZuCDtlYTsmpRcbiAgICBsZXQgdHlwZVBhcmFtTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdCBncm91cHMgPSBncm91cChhcGlzLCAoYXBpKSA9PiBhcGkubW9kZWxOYW1lKTtcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmtleXMoZ3JvdXBzKVxuICAgICAgLm1hcCgobW9kZWxOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGhvZHMgPSBncm91cHNbbW9kZWxOYW1lXTtcbiAgICAgICAgYXNzZXJ0KG1ldGhvZHMpO1xuICAgICAgICBjb25zdCBtZXRob2RDb2RlcyA9IG1ldGhvZHNcbiAgICAgICAgICAubWFwKChhcGkpID0+IHtcbiAgICAgICAgICAgIC8vIOy7qO2FjeyKpO2KuCDsoJzsmbjrkJwg7YyM652866+47YSwIOumrOyKpO2KuFxuICAgICAgICAgICAgY29uc3QgcGFyYW1zV2l0aG91dENvbnRleHQgPSBhcGkucGFyYW1ldGVycy5maWx0ZXIoXG4gICAgICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzQ29udGV4dChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNSZWZLbmV4KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSwgLy8gX+uhnCDsi5zsnpHtlZjripQg7YyM652866+47YSw64qUIOygnOyZuFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7YyM652866+47YSwIO2DgOyehSDsoJXsnZhcbiAgICAgICAgICAgIGNvbnN0IHR5cGVQYXJhbXNEZWYgPSBhcGkudHlwZVBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgLm1hcCgodHlwZVBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaVBhcmFtVHlwZVRvVHNUeXBlKHR5cGVQYXJhbSwgaW1wb3J0S2V5cyk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICB0eXBlUGFyYW1OYW1lcyA9IHR5cGVQYXJhbU5hbWVzLmNvbmNhdChcbiAgICAgICAgICAgICAgYXBpLnR5cGVQYXJhbWV0ZXJzLm1hcCgodHlwZVBhcmFtKSA9PiB0eXBlUGFyYW0uaWQpLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7YyM652866+47YSwIOygleydmFxuICAgICAgICAgICAgY29uc3QgcGFyYW1zRGVmID0gYXBpUGFyYW1Ub1RzQ29kZShwYXJhbXNXaXRob3V0Q29udGV4dCwgaW1wb3J0S2V5cyk7XG5cbiAgICAgICAgICAgIC8vIO2MjOudvOuvuO2EsCDsoJXsnZggKOqwneyytCDtmJXtg5wpXG4gICAgICAgICAgICBjb25zdCBwYXJhbXNEZWZBc09iamVjdCA9IGFwaVBhcmFtVG9Uc0NvZGVBc09iamVjdChwYXJhbXNXaXRob3V0Q29udGV4dCwgaW1wb3J0S2V5cyk7XG5cbiAgICAgICAgICAgIC8vIOumrO2EtCDtg4DsnoUg7KCV7J2YXG4gICAgICAgICAgICBjb25zdCByZXR1cm5UeXBlRGVmID0gYXBpUGFyYW1UeXBlVG9Uc1R5cGUoXG4gICAgICAgICAgICAgIGFzc2VydERlZmluZWQodW53cmFwUHJvbWlzZU9uY2UoYXBpLnJldHVyblR5cGUpKSxcbiAgICAgICAgICAgICAgaW1wb3J0S2V5cyxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIO2OmOydtOuhnOuTnCDrjbDsnbTthLAg7KCV7J2YXG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkRGVmID0gYHsgJHtwYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoKHBhcmFtKSA9PiBwYXJhbS5uYW1lKS5qb2luKFwiLCBcIil9IH1gO1xuXG4gICAgICAgICAgICAvLyDquLDrs7ggVVJMXG4gICAgICAgICAgICBjb25zdCBhcGlCYXNlVXJsID0gYCR7U29uYW11LmNvbmZpZy5hcGkucm91dGUucHJlZml4fSR7YXBpLnBhdGh9YDtcblxuICAgICAgICAgICAgY29uc3QgY2xpZW50cyA9IGFwaS5vcHRpb25zLmNsaWVudHMgPz8gW107XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAvLyDtgbTrnbzsnbTslrjtirjrs4TroZwg7IOd7ISxXG4gICAgICAgICAgICAgIC4uLnNvcnQoY2xpZW50cywgKGNsaWVudCkgPT4gKGNsaWVudCA9PT0gXCJzd3JcIiA/IDAgOiAxKSkubWFwKChjbGllbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGNsaWVudCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSBcImF4aW9zXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlckF4aW9zKFxuICAgICAgICAgICAgICAgICAgICAgIGFwaSxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlCYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGVQYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHJldHVyblR5cGVEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZERlZixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJheGlvcy1tdWx0aXBhcnRcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQXhpb3NNdWx0aXBhcnQoXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVHlwZURlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNXaXRob3V0Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJzd3JcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyU3dyKFxuICAgICAgICAgICAgICAgICAgICAgIGFwaSxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlCYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGVQYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHJldHVyblR5cGVEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZERlZixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJ3aW5kb3ctZmV0Y2hcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyV2luZG93RmV0Y2goXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZERlZixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgLy8gTm90IHN1cHBvcnRlZCAke2luZmxlY3Rpb24uY2FtZWxpemUoY2xpZW50LCB0cnVlKX0geWV0LmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgLy8g7Iqk7Yq466as67CN7J24IOqyveyasFxuICAgICAgICAgICAgICAuLi4oYXBpLnN0cmVhbU9wdGlvbnMgPyBbdGhpcy5yZW5kZXJTdHJlYW0oYXBpLCBhcGlCYXNlVXJsLCBwYXJhbXNEZWZBc09iamVjdCldIDogW10pLFxuICAgICAgICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oXCJcXG5cXG5cIik7XG5cbiAgICAgICAgcmV0dXJuIGBleHBvcnQgbmFtZXNwYWNlICR7bW9kZWxOYW1lLnJlcGxhY2UoL01vZGVsJC8sIFwiU2VydmljZVwiKS5yZXBsYWNlKC9GcmFtZSQvLCBcIlNlcnZpY2VcIil9IHtcbiR7bWV0aG9kQ29kZXN9XG59YDtcbiAgICAgIH0pXG4gICAgICAuam9pbihcIlxcblxcblwiKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lczogW2JvZHldLFxuICAgICAgaW1wb3J0S2V5czogZGlmZih1bmlxdWUoaW1wb3J0S2V5cyksIHR5cGVQYXJhbU5hbWVzKSxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyQXhpb3MoXG4gICAgYXBpOiBFeHRlbmRlZEFwaSxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4gICAgdHlwZVBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHJldHVyblR5cGVEZWY6IHN0cmluZyxcbiAgICBwYXlsb2FkRGVmOiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IG1ldGhvZE5hbWVBeGlvcyA9IGFwaS5vcHRpb25zLnJlc291cmNlTmFtZVxuICAgICAgPyBgZ2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSl9YFxuICAgICAgOiBhcGkubWV0aG9kTmFtZTtcblxuICAgIGlmIChhcGkub3B0aW9ucy5odHRwTWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICByZXR1cm4gYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7bWV0aG9kTmFtZUF4aW9zfSR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9KTogUHJvbWlzZTwke3JldHVyblR5cGVEZWZ9PiB7XG4gICAgcmV0dXJuIGZldGNoKHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHVybDogXFxgJHthcGlCYXNlVXJsfT9cXCR7cXMuc3RyaW5naWZ5KCR7cGF5bG9hZERlZn0pfVxcYCxcbiAgICAgICR7YXBpLm9wdGlvbnMudGltZW91dCA/IGBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSksYCA6IFwiXCJ9XG4gICAgfSk7XG59XG4gICAgYC50cmltKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHttZXRob2ROYW1lQXhpb3N9JHt0eXBlUGFyYW1zRGVmfSgke3BhcmFtc0RlZn0pOiBQcm9taXNlPCR7cmV0dXJuVHlwZURlZn0+IHtcbiAgICByZXR1cm4gZmV0Y2goe1xuICAgICAgbWV0aG9kOiAnJHthcGkub3B0aW9ucy5odHRwTWV0aG9kfScsXG4gICAgICB1cmw6IFxcYCR7YXBpQmFzZVVybH1cXGAsXG4gICAgICBkYXRhOiAke3BheWxvYWREZWZ9LFxuICAgICAgJHthcGkub3B0aW9ucy50aW1lb3V0ID8gYHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgke2FwaS5vcHRpb25zLnRpbWVvdXR9KSxgIDogXCJcIn1cbiAgICB9KTtcbn1cbiAgICAgIGAudHJpbSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlckF4aW9zTXVsdGlwYXJ0KFxuICAgIGFwaTogRXh0ZW5kZWRBcGksXG4gICAgYXBpQmFzZVVybDogc3RyaW5nLFxuICAgIHR5cGVQYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXJhbXNEZWY6IHN0cmluZyxcbiAgICByZXR1cm5UeXBlRGVmOiBzdHJpbmcsXG4gICAgcGFyYW1zV2l0aG91dENvbnRleHQ6IEFwaVBhcmFtW10sXG4gICkge1xuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBhcGkudXBsb2FkT3B0aW9ucz8ubW9kZSA9PT0gXCJtdWx0aXBsZVwiO1xuICAgIGNvbnN0IGZpbGVQYXJhbU5hbWUgPSBpc011bHRpcGxlID8gXCJmaWxlc1wiIDogXCJmaWxlXCI7XG4gICAgY29uc3QgZmlsZVBhcmFtVHlwZSA9IGlzTXVsdGlwbGUgPyBcIkZpbGVbXVwiIDogXCJGaWxlXCI7XG5cbiAgICBjb25zdCBmb3JtRGF0YURlZiA9IGlzTXVsdGlwbGVcbiAgICAgID8gW1xuICAgICAgICAgIGAke2ZpbGVQYXJhbU5hbWV9LmZvckVhY2goZiA9PiB7IGZvcm1EYXRhLmFwcGVuZChcIiR7ZmlsZVBhcmFtTmFtZX1cIiwgZikgfSApOyBgLFxuICAgICAgICAgIC4uLnBhcmFtc1dpdGhvdXRDb250ZXh0Lm1hcChcbiAgICAgICAgICAgIChwYXJhbSkgPT4gYGZvcm1EYXRhLmFwcGVuZCgnJHtwYXJhbS5uYW1lfScsIFN0cmluZygke3BhcmFtLm5hbWV9KSk7YCxcbiAgICAgICAgICApLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIilcbiAgICAgIDogW1xuICAgICAgICAgIGBmb3JtRGF0YS5hcHBlbmQoXCIke2ZpbGVQYXJhbU5hbWV9XCIsICR7ZmlsZVBhcmFtTmFtZX0pO2AsXG4gICAgICAgICAgLi4ucGFyYW1zV2l0aG91dENvbnRleHQubWFwKFxuICAgICAgICAgICAgKHBhcmFtKSA9PiBgZm9ybURhdGEuYXBwZW5kKCcke3BhcmFtLm5hbWV9JywgU3RyaW5nKCR7cGFyYW0ubmFtZX0pKTtgLFxuICAgICAgICAgICksXG4gICAgICAgIF0uam9pbihcIlxcblwiKTtcblxuICAgIGNvbnN0IHBhcmFtc0RlZkNvbW1hID0gcGFyYW1zRGVmICE9PSBcIlwiID8gXCIsIFwiIDogXCJcIjtcbiAgICByZXR1cm4gYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7YXBpLm1ldGhvZE5hbWV9JHt0eXBlUGFyYW1zRGVmfShcbiAgJHtwYXJhbXNEZWZ9JHtwYXJhbXNEZWZDb21tYX1cbiAgJHtmaWxlUGFyYW1OYW1lfTogJHtmaWxlUGFyYW1UeXBlfSxcbiAgb25VcGxvYWRQcm9ncmVzcz86IChwZTpBeGlvc1Byb2dyZXNzRXZlbnQpID0+IHZvaWRcbiAgKTogUHJvbWlzZTwke3JldHVyblR5cGVEZWZ9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAke2Zvcm1EYXRhRGVmfVxuICAgIHJldHVybiBmZXRjaCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogXFxgJHthcGlCYXNlVXJsfVxcYCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXG4gICAgICB9LFxuICAgICAgb25VcGxvYWRQcm9ncmVzcyxcbiAgICAgIGRhdGE6IGZvcm1EYXRhLFxuICAgICAgJHthcGkub3B0aW9ucy50aW1lb3V0ID8gYHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgke2FwaS5vcHRpb25zLnRpbWVvdXR9KSxgIDogXCJcIn1cbiAgICB9KTtcbiAgfVxuICBgLnRyaW0oKTtcbiAgfVxuXG4gIHJlbmRlclN3cihcbiAgICBhcGk6IEV4dGVuZGVkQXBpLFxuICAgIGFwaUJhc2VVcmw6IHN0cmluZyxcbiAgICB0eXBlUGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcmV0dXJuVHlwZURlZjogc3RyaW5nLFxuICAgIHBheWxvYWREZWY6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZVN3ciA9IGFwaS5vcHRpb25zLnJlc291cmNlTmFtZVxuICAgICAgPyBgdXNlJHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSl9YFxuICAgICAgOiBgdXNlJHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5tZXRob2ROYW1lKX1gO1xuICAgIHJldHVybiBgICBleHBvcnQgZnVuY3Rpb24gJHtpbmZsZWN0aW9uLmNhbWVsaXplKG1ldGhvZE5hbWVTd3IsIHRydWUpfSR7dHlwZVBhcmFtc0RlZn0oJHtbXG4gICAgICBwYXJhbXNEZWYsXG4gICAgICBcInN3ck9wdGlvbnM/OiBTd3JPcHRpb25zXCIsXG4gICAgXVxuICAgICAgLmZpbHRlcigocCkgPT4gcCAhPT0gXCJcIilcbiAgICAgIC5qb2luKFwiLFwiKX0sICk6IFNXUlJlc3BvbnNlPCR7cmV0dXJuVHlwZURlZn0sIFNXUkVycm9yPiB7XG4gICAgcmV0dXJuIHVzZVNXUihoYW5kbGVDb25kaXRpb25hbChbXG4gICAgICBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgICAgJHtwYXlsb2FkRGVmfSxcbiAgICBdLCBzd3JPcHRpb25zPy5jb25kaXRpb25hbCkke2FwaS5vcHRpb25zLmh0dHBNZXRob2QgPT09IFwiUE9TVFwiID8gXCIsIHN3clBvc3RGZXRjaGVyXCIgOiBcIlwifSR7XG4gICAgICBhcGkub3B0aW9ucy50aW1lb3V0ID8gYCwgeyBsb2FkaW5nVGltZW91dDogJHthcGkub3B0aW9ucy50aW1lb3V0fSB9YCA6IFwiXCJcbiAgICB9KTtcbiAgfWA7XG4gIH1cblxuICByZW5kZXJXaW5kb3dGZXRjaChcbiAgICBhcGk6IEV4dGVuZGVkQXBpLFxuICAgIGFwaUJhc2VVcmw6IHN0cmluZyxcbiAgICB0eXBlUGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcGF5bG9hZERlZjogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7YXBpLm1ldGhvZE5hbWV9JHt0eXBlUGFyYW1zRGVmfSgke3BhcmFtc0RlZn0pOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHdpbmRvdy5mZXRjaChcXGAke2FwaUJhc2VVcmx9P1xcJHtxcy5zdHJpbmdpZnkoJHtwYXlsb2FkRGVmfSl9XFxgJHtcbiAgICAgIGFwaS5vcHRpb25zLnRpbWVvdXQgPyBgLCB7IHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgke2FwaS5vcHRpb25zLnRpbWVvdXR9KSB9YCA6IFwiXCJcbiAgICB9KTtcbn1cbiAgICBgLnRyaW0oKTtcbiAgfVxuXG4gIHJlbmRlclN0cmVhbShhcGk6IEV4dGVuZGVkQXBpLCBhcGlCYXNlVXJsOiBzdHJpbmcsIHBhcmFtc0RlZkFzT2JqZWN0OiBzdHJpbmcpIHtcbiAgICBpZiAoIWFwaS5zdHJlYW1PcHRpb25zKSB7XG4gICAgICByZXR1cm4gXCIvLyBzdHJlYW1PcHRpb25zIG5vdCBmb3VuZFwiO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGhvZE5hbWVTdHJlYW0gPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgID8gYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUpfWBcbiAgICAgIDogYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSl9YDtcbiAgICBjb25zdCBtZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtZXRob2ROYW1lU3RyZWFtLCB0cnVlKTtcblxuICAgIGNvbnN0IGV2ZW50c1R5cGVEZWYgPSB6b2RUeXBlVG9Uc1R5cGVEZWYoYXBpLnN0cmVhbU9wdGlvbnMuZXZlbnRzKTtcblxuICAgIHJldHVybiBgICBleHBvcnQgZnVuY3Rpb24gJHttZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkfShcbiAgcGFyYW1zOiAke3BhcmFtc0RlZkFzT2JqZWN0fSxcbiAgaGFuZGxlcnM6IEV2ZW50SGFuZGxlcnM8JHtldmVudHNUeXBlRGVmfSAmIHsgZW5kPzogKCkgPT4gdm9pZCB9PixcbiAgb3B0aW9uczogU1NFU3RyZWFtT3B0aW9ucykge1xuICAgIHJldHVybiB1c2VTU0VTdHJlYW08JHtldmVudHNUeXBlRGVmfT4oXFxgJHthcGlCYXNlVXJsfVxcYCwgcGFyYW1zLCBoYW5kbGVycywgb3B0aW9ucyk7XG4gIH1gO1xuICB9XG59XG4iXSwibmFtZXMiOlsiYXNzZXJ0IiwiaW5mbGVjdGlvbiIsImRpZmYiLCJncm91cCIsInNvcnQiLCJ1bmlxdWUiLCJhcGlQYXJhbVRvVHNDb2RlIiwiYXBpUGFyYW1Ub1RzQ29kZUFzT2JqZWN0IiwiYXBpUGFyYW1UeXBlVG9Uc1R5cGUiLCJ1bndyYXBQcm9taXNlT25jZSIsIlNvbmFtdSIsIk5haXRlIiwiQXBpUGFyYW1UeXBlIiwiYXNzZXJ0RGVmaW5lZCIsIlRlbXBsYXRlIiwiem9kVHlwZVRvVHNUeXBlRGVmIiwiVGVtcGxhdGVfX3NlcnZpY2UiLCJnZXRUYXJnZXRBbmRQYXRoIiwibmFtZXMiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJuYW1lc1JlY29yZCIsInQiLCJzeW5jZXIiLCJhcGlzIiwiYXBpc0ZvclRoaXNNb2RlbCIsImZpbHRlciIsImFwaSIsIm1vZGVsTmFtZSIsImNhcGl0YWwiLCJsaW5lcyIsImltcG9ydEtleXMiLCJnZXRUeXBlU291cmNlIiwiaGFzQXhpb3NQcm9ncmVzc0V2ZW50IiwiZmluZCIsIm9wdGlvbnMiLCJjbGllbnRzIiwiaW5jbHVkZXMiLCJib2R5Iiwiam9pbiIsImtleSIsImN1c3RvbUhlYWRlcnMiLCJ0eXBlUGFyYW1OYW1lcyIsImdyb3VwcyIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJtZXRob2RzIiwibWV0aG9kQ29kZXMiLCJwYXJhbXNXaXRob3V0Q29udGV4dCIsInBhcmFtZXRlcnMiLCJwYXJhbSIsImlzQ29udGV4dCIsInR5cGUiLCJpc1JlZktuZXgiLCJvcHRpb25hbCIsIm5hbWUiLCJzdGFydHNXaXRoIiwidHlwZVBhcmFtc0RlZiIsInR5cGVQYXJhbWV0ZXJzIiwidHlwZVBhcmFtIiwiY29uY2F0IiwiaWQiLCJwYXJhbXNEZWYiLCJwYXJhbXNEZWZBc09iamVjdCIsInJldHVyblR5cGVEZWYiLCJyZXR1cm5UeXBlIiwicGF5bG9hZERlZiIsImFwaUJhc2VVcmwiLCJjb25maWciLCJyb3V0ZSIsInByZWZpeCIsImNsaWVudCIsInJlbmRlckF4aW9zIiwicmVuZGVyQXhpb3NNdWx0aXBhcnQiLCJyZW5kZXJTd3IiLCJyZW5kZXJXaW5kb3dGZXRjaCIsImNhbWVsaXplIiwic3RyZWFtT3B0aW9ucyIsInJlbmRlclN0cmVhbSIsInJlcGxhY2UiLCJtZXRob2ROYW1lQXhpb3MiLCJyZXNvdXJjZU5hbWUiLCJtZXRob2ROYW1lIiwiaHR0cE1ldGhvZCIsInRpbWVvdXQiLCJ0cmltIiwiaXNNdWx0aXBsZSIsInVwbG9hZE9wdGlvbnMiLCJtb2RlIiwiZmlsZVBhcmFtTmFtZSIsImZpbGVQYXJhbVR5cGUiLCJmb3JtRGF0YURlZiIsInBhcmFtc0RlZkNvbW1hIiwibWV0aG9kTmFtZVN3ciIsInAiLCJtZXRob2ROYW1lU3RyZWFtIiwibWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZCIsImV2ZW50c1R5cGVEZWYiLCJldmVudHMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUztBQUM1QixPQUFPQyxnQkFBZ0IsYUFBYTtBQUNwQyxTQUFTQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxNQUFNLFFBQVEsVUFBVTtBQUNwRCxTQUNFQyxnQkFBZ0IsRUFDaEJDLHdCQUF3QixFQUN4QkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsUUFDWiwrQkFBNEI7QUFFbkMsU0FBU0MsTUFBTSxRQUFRLHNCQUFtQjtBQUUxQyxTQUFTQyxLQUFLLFFBQVEsdUJBQW9CO0FBRTFDLFNBQXdCQyxZQUFZLFFBQVEsdUJBQW9CO0FBQ2hFLFNBQVNDLGFBQWEsUUFBUSx1QkFBb0I7QUFDbEQsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFtQjtBQUV0RCxPQUFPLE1BQU1DLDBCQUEwQkY7SUFDckMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFHLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxHQUFHRixNQUFNRyxFQUFFLENBQUMsQ0FBQyxFQUFFSCxNQUFNRyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQzVDO0lBQ0Y7SUFFQUMsT0FBTyxFQUFFQyxXQUFXLEVBQThCLEVBQUU7UUFDbERaLE1BQU1hLENBQUMsQ0FBQyxVQUFVO1lBQUVEO1FBQVk7UUFFaEMsTUFBTSxFQUNKRSxRQUFRLEVBQUVDLElBQUksRUFBRSxFQUNqQixHQUFHaEI7UUFFSixNQUFNaUIsbUJBQW1CRCxLQUFLRSxNQUFNLENBQUMsQ0FBQ0MsTUFBUUEsSUFBSUMsU0FBUyxLQUFLLEdBQUdQLFlBQVlRLE9BQU8sQ0FBQyxLQUFLLENBQUM7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
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvc2VydmljZS50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyBkaWZmLCBncm91cCwgc29ydCwgdW5pcXVlIH0gZnJvbSBcInJhZGFzaGlcIjtcbmltcG9ydCB7XG4gIGFwaVBhcmFtVG9Uc0NvZGUsXG4gIGFwaVBhcmFtVG9Uc0NvZGVBc09iamVjdCxcbiAgYXBpUGFyYW1UeXBlVG9Uc1R5cGUsXG4gIHVud3JhcFByb21pc2VPbmNlLFxufSBmcm9tIFwiLi4vLi4vYXBpL2NvZGUtY29udmVydGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBFeHRlbmRlZEFwaSB9IGZyb20gXCIuLi8uLi9hcGkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB0eXBlIHsgRW50aXR5TmFtZXNSZWNvcmQgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBOYWl0ZSB9IGZyb20gXCIuLi8uLi9uYWl0ZS9uYWl0ZVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgQXBpUGFyYW0sIEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IHpvZFR5cGVUb1RzVHlwZURlZiB9IGZyb20gXCIuLi96b2QtY29udmVydGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fc2VydmljZSBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJzZXJ2aWNlXCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIjp0YXJnZXQvc3JjL3NlcnZpY2VzXCIsXG4gICAgICBwYXRoOiBgJHtuYW1lcy5mc30vJHtuYW1lcy5mc30uc2VydmljZS50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IG5hbWVzUmVjb3JkIH06IFRlbXBsYXRlT3B0aW9uc1tcInNlcnZpY2VcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgbmFtZXNSZWNvcmQgfSk7XG5cbiAgICBjb25zdCB7XG4gICAgICBzeW5jZXI6IHsgYXBpcyB9LFxuICAgIH0gPSBTb25hbXU7XG5cbiAgICBjb25zdCBhcGlzRm9yVGhpc01vZGVsID0gYXBpcy5maWx0ZXIoKGFwaSkgPT4gYXBpLm1vZGVsTmFtZSA9PT0gYCR7bmFtZXNSZWNvcmQuY2FwaXRhbH1Nb2RlbGApO1xuXG4gICAgLy8g7ISc67mE7IqkIFR5cGVTb3VyY2VcbiAgICBjb25zdCB7IGxpbmVzLCBpbXBvcnRLZXlzIH0gPSB0aGlzLmdldFR5cGVTb3VyY2UoYXBpc0ZvclRoaXNNb2RlbCk7XG5cbiAgICAvLyBBeGlvc1Byb2dyZXNzRXZlbnQg7J6I64qU7KeAIO2ZleyduFxuICAgIGNvbnN0IGhhc0F4aW9zUHJvZ3Jlc3NFdmVudCA9IGFwaXMuZmluZCgoYXBpKSA9PlxuICAgICAgKGFwaS5vcHRpb25zLmNsaWVudHMgPz8gW10pLmluY2x1ZGVzKFwiYXhpb3MtbXVsdGlwYXJ0XCIpLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzUmVjb3JkKSxcbiAgICAgIGJvZHk6IGxpbmVzLmpvaW4oXCJcXG5cIiksXG4gICAgICBpbXBvcnRLZXlzOiBpbXBvcnRLZXlzLmZpbHRlcigoa2V5KSA9PiBbXCJMaXN0UmVzdWx0XCJdLmluY2x1ZGVzKGtleSkgPT09IGZhbHNlKSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgYGltcG9ydCB7IHogfSBmcm9tICd6b2QnO2AsXG4gICAgICAgIGBpbXBvcnQgcXMgZnJvbSBcInFzXCI7YCxcbiAgICAgICAgYGltcG9ydCB1c2VTV1IsIHsgdHlwZSBTV1JSZXNwb25zZSB9IGZyb20gXCJzd3JcIjtgLFxuICAgICAgICBgaW1wb3J0IHsgZmV0Y2gsIExpc3RSZXN1bHQsIFNXUkVycm9yLCBTd3JPcHRpb25zLCBoYW5kbGVDb25kaXRpb25hbCwgc3dyUG9zdEZldGNoZXIsIEV2ZW50SGFuZGxlcnMsIFNTRVN0cmVhbU9wdGlvbnMsIHVzZVNTRVN0cmVhbSB9IGZyb20gJy4uL3NvbmFtdS5zaGFyZWQnO2AsXG4gICAgICAgIC4uLihoYXNBeGlvc1Byb2dyZXNzRXZlbnQgPyBbYGltcG9ydCB7IHR5cGUgQXhpb3NQcm9ncmVzc0V2ZW50IH0gZnJvbSAnYXhpb3MnO2BdIDogW10pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VHlwZVNvdXJjZShhcGlzOiBFeHRlbmRlZEFwaVtdKToge1xuICAgIGxpbmVzOiBzdHJpbmdbXTtcbiAgICBpbXBvcnRLZXlzOiBzdHJpbmdbXTtcbiAgfSB7XG4gICAgY29uc3QgaW1wb3J0S2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIOygnOuEpOumreyXkOyEnCDshKDslrjtlZwg7YOA7J6FLCBpbXBvcnRLZXlz7JeQ7IScIOygnOyZuCDtlYTsmpRcbiAgICBsZXQgdHlwZVBhcmFtTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdCBncm91cHMgPSBncm91cChhcGlzLCAoYXBpKSA9PiBhcGkubW9kZWxOYW1lKTtcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmtleXMoZ3JvdXBzKVxuICAgICAgLm1hcCgobW9kZWxOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGhvZHMgPSBncm91cHNbbW9kZWxOYW1lXTtcbiAgICAgICAgYXNzZXJ0KG1ldGhvZHMpO1xuICAgICAgICBjb25zdCBtZXRob2RDb2RlcyA9IG1ldGhvZHNcbiAgICAgICAgICAubWFwKChhcGkpID0+IHtcbiAgICAgICAgICAgIC8vIOy7qO2FjeyKpO2KuCDsoJzsmbjrkJwg7YyM652866+47YSwIOumrOyKpO2KuFxuICAgICAgICAgICAgY29uc3QgcGFyYW1zV2l0aG91dENvbnRleHQgPSBhcGkucGFyYW1ldGVycy5maWx0ZXIoXG4gICAgICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzQ29udGV4dChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNSZWZLbmV4KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSwgLy8gX+uhnCDsi5zsnpHtlZjripQg7YyM652866+47YSw64qUIOygnOyZuFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7YyM652866+47YSwIO2DgOyehSDsoJXsnZhcbiAgICAgICAgICAgIGNvbnN0IHR5cGVQYXJhbWV0ZXJzQXNUc1R5cGUgPSBhcGkudHlwZVBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgLm1hcCgodHlwZVBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaVBhcmFtVHlwZVRvVHNUeXBlKHR5cGVQYXJhbSwgaW1wb3J0S2V5cyk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICBjb25zdCB0eXBlUGFyYW1zRGVmID0gdHlwZVBhcmFtZXRlcnNBc1RzVHlwZSA/IGA8JHt0eXBlUGFyYW1ldGVyc0FzVHNUeXBlfT5gIDogXCJcIjtcbiAgICAgICAgICAgIHR5cGVQYXJhbU5hbWVzID0gdHlwZVBhcmFtTmFtZXMuY29uY2F0KFxuICAgICAgICAgICAgICBhcGkudHlwZVBhcmFtZXRlcnMubWFwKCh0eXBlUGFyYW0pID0+IHR5cGVQYXJhbS5pZCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyDtjIzrnbzrr7jthLAg7KCV7J2YXG4gICAgICAgICAgICBjb25zdCBwYXJhbXNEZWYgPSBhcGlQYXJhbVRvVHNDb2RlKHBhcmFtc1dpdGhvdXRDb250ZXh0LCBpbXBvcnRLZXlzKTtcblxuICAgICAgICAgICAgLy8g7YyM652866+47YSwIOygleydmCAo6rCd7LK0IO2Yle2DnClcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc0RlZkFzT2JqZWN0ID0gYXBpUGFyYW1Ub1RzQ29kZUFzT2JqZWN0KHBhcmFtc1dpdGhvdXRDb250ZXh0LCBpbXBvcnRLZXlzKTtcblxuICAgICAgICAgICAgLy8g66as7YS0IO2DgOyehSDsoJXsnZhcbiAgICAgICAgICAgIGNvbnN0IHJldHVyblR5cGVEZWYgPSBhcGlQYXJhbVR5cGVUb1RzVHlwZShcbiAgICAgICAgICAgICAgYXNzZXJ0RGVmaW5lZCh1bndyYXBQcm9taXNlT25jZShhcGkucmV0dXJuVHlwZSkpLFxuICAgICAgICAgICAgICBpbXBvcnRLZXlzLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7Y6Y7J2066Gc65OcIOuNsOydtO2EsCDsoJXsnZhcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWREZWYgPSBgeyAke3BhcmFtc1dpdGhvdXRDb250ZXh0Lm1hcCgocGFyYW0pID0+IHBhcmFtLm5hbWUpLmpvaW4oXCIsIFwiKX0gfWA7XG5cbiAgICAgICAgICAgIC8vIOq4sOuzuCBVUkxcbiAgICAgICAgICAgIGNvbnN0IGFwaUJhc2VVcmwgPSBgJHtTb25hbXUuY29uZmlnLmFwaS5yb3V0ZS5wcmVmaXh9JHthcGkucGF0aH1gO1xuXG4gICAgICAgICAgICBjb25zdCBjbGllbnRzID0gYXBpLm9wdGlvbnMuY2xpZW50cyA/PyBbXTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIC8vIO2BtOudvOydtOyWuO2KuOuzhOuhnCDsg53shLFcbiAgICAgICAgICAgICAgLi4uc29ydChjbGllbnRzLCAoY2xpZW50KSA9PiAoY2xpZW50ID09PSBcInN3clwiID8gMCA6IDEpKS5tYXAoKGNsaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoY2xpZW50KSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIFwiYXhpb3NcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQXhpb3MoXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVHlwZURlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkRGVmLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY2FzZSBcImF4aW9zLW11bHRpcGFydFwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJBeGlvc011bHRpcGFydChcbiAgICAgICAgICAgICAgICAgICAgICBhcGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpQmFzZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlUGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm5UeXBlRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1dpdGhvdXRDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY2FzZSBcInN3clwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJTd3IoXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVHlwZURlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkRGVmLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY2FzZSBcIndpbmRvdy1mZXRjaFwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJXaW5kb3dGZXRjaChcbiAgICAgICAgICAgICAgICAgICAgICBhcGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpQmFzZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlUGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkRGVmLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAvLyBOb3Qgc3VwcG9ydGVkICR7aW5mbGVjdGlvbi5jYW1lbGl6ZShjbGllbnQsIHRydWUpfSB5ZXQuYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAvLyDsiqTtirjrpqzrsI3snbgg6rK97JqwXG4gICAgICAgICAgICAgIC4uLihhcGkuc3RyZWFtT3B0aW9ucyA/IFt0aGlzLnJlbmRlclN0cmVhbShhcGksIGFwaUJhc2VVcmwsIHBhcmFtc0RlZkFzT2JqZWN0KV0gOiBbXSksXG4gICAgICAgICAgICBdLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbihcIlxcblxcblwiKTtcblxuICAgICAgICByZXR1cm4gYGV4cG9ydCBuYW1lc3BhY2UgJHttb2RlbE5hbWUucmVwbGFjZSgvTW9kZWwkLywgXCJTZXJ2aWNlXCIpLnJlcGxhY2UoL0ZyYW1lJC8sIFwiU2VydmljZVwiKX0ge1xuJHttZXRob2RDb2Rlc31cbn1gO1xuICAgICAgfSlcbiAgICAgIC5qb2luKFwiXFxuXFxuXCIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVzOiBbYm9keV0sXG4gICAgICBpbXBvcnRLZXlzOiBkaWZmKHVuaXF1ZShpbXBvcnRLZXlzKSwgdHlwZVBhcmFtTmFtZXMpLFxuICAgIH07XG4gIH1cblxuICByZW5kZXJBeGlvcyhcbiAgICBhcGk6IEV4dGVuZGVkQXBpLFxuICAgIGFwaUJhc2VVcmw6IHN0cmluZyxcbiAgICB0eXBlUGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcmV0dXJuVHlwZURlZjogc3RyaW5nLFxuICAgIHBheWxvYWREZWY6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZUF4aW9zID0gYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lXG4gICAgICA/IGBnZXQke2luZmxlY3Rpb24uY2FtZWxpemUoYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lKX1gXG4gICAgICA6IGFwaS5tZXRob2ROYW1lO1xuXG4gICAgaWYgKGFwaS5vcHRpb25zLmh0dHBNZXRob2QgPT09IFwiR0VUXCIpIHtcbiAgICAgIHJldHVybiBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHttZXRob2ROYW1lQXhpb3N9JHt0eXBlUGFyYW1zRGVmfSgke3BhcmFtc0RlZn0pOiBQcm9taXNlPCR7cmV0dXJuVHlwZURlZn0+IHtcbiAgICByZXR1cm4gZmV0Y2goe1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgdXJsOiBcXGAke2FwaUJhc2VVcmx9P1xcJHtxcy5zdHJpbmdpZnkoJHtwYXlsb2FkRGVmfSl9XFxgLFxuICAgICAgJHthcGkub3B0aW9ucy50aW1lb3V0ID8gYHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgke2FwaS5vcHRpb25zLnRpbWVvdXR9KSxgIDogXCJcIn1cbiAgICB9KTtcbn1cbiAgICBgLnRyaW0oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke21ldGhvZE5hbWVBeGlvc30ke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFByb21pc2U8JHtyZXR1cm5UeXBlRGVmfT4ge1xuICAgIHJldHVybiBmZXRjaCh7XG4gICAgICBtZXRob2Q6ICcke2FwaS5vcHRpb25zLmh0dHBNZXRob2R9JyxcbiAgICAgIHVybDogXFxgJHthcGlCYXNlVXJsfVxcYCxcbiAgICAgIGRhdGE6ICR7cGF5bG9hZERlZn0sXG4gICAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICAgIH0pO1xufVxuICAgICAgYC50cmltKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyQXhpb3NNdWx0aXBhcnQoXG4gICAgYXBpOiBFeHRlbmRlZEFwaSxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4gICAgdHlwZVBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHJldHVyblR5cGVEZWY6IHN0cmluZyxcbiAgICBwYXJhbXNXaXRob3V0Q29udGV4dDogQXBpUGFyYW1bXSxcbiAgKSB7XG4gICAgY29uc3QgaXNNdWx0aXBsZSA9IGFwaS51cGxvYWRPcHRpb25zPy5tb2RlID09PSBcIm11bHRpcGxlXCI7XG4gICAgY29uc3QgZmlsZVBhcmFtTmFtZSA9IGlzTXVsdGlwbGUgPyBcImZpbGVzXCIgOiBcImZpbGVcIjtcbiAgICBjb25zdCBmaWxlUGFyYW1UeXBlID0gaXNNdWx0aXBsZSA/IFwiRmlsZVtdXCIgOiBcIkZpbGVcIjtcblxuICAgIGNvbnN0IGZvcm1EYXRhRGVmID0gaXNNdWx0aXBsZVxuICAgICAgPyBbXG4gICAgICAgICAgYCR7ZmlsZVBhcmFtTmFtZX0uZm9yRWFjaChmID0+IHsgZm9ybURhdGEuYXBwZW5kKFwiJHtmaWxlUGFyYW1OYW1lfVwiLCBmKSB9ICk7IGAsXG4gICAgICAgICAgLi4ucGFyYW1zV2l0aG91dENvbnRleHQubWFwKFxuICAgICAgICAgICAgKHBhcmFtKSA9PiBgZm9ybURhdGEuYXBwZW5kKCcke3BhcmFtLm5hbWV9JywgU3RyaW5nKCR7cGFyYW0ubmFtZX0pKTtgLFxuICAgICAgICAgICksXG4gICAgICAgIF0uam9pbihcIlxcblwiKVxuICAgICAgOiBbXG4gICAgICAgICAgYGZvcm1EYXRhLmFwcGVuZChcIiR7ZmlsZVBhcmFtTmFtZX1cIiwgJHtmaWxlUGFyYW1OYW1lfSk7YCxcbiAgICAgICAgICAuLi5wYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoXG4gICAgICAgICAgICAocGFyYW0pID0+IGBmb3JtRGF0YS5hcHBlbmQoJyR7cGFyYW0ubmFtZX0nLCBTdHJpbmcoJHtwYXJhbS5uYW1lfSkpO2AsXG4gICAgICAgICAgKSxcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpO1xuXG4gICAgY29uc3QgcGFyYW1zRGVmQ29tbWEgPSBwYXJhbXNEZWYgIT09IFwiXCIgPyBcIiwgXCIgOiBcIlwiO1xuICAgIHJldHVybiBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHthcGkubWV0aG9kTmFtZX0ke3R5cGVQYXJhbXNEZWZ9KFxuICAke3BhcmFtc0RlZn0ke3BhcmFtc0RlZkNvbW1hfVxuICAke2ZpbGVQYXJhbU5hbWV9OiAke2ZpbGVQYXJhbVR5cGV9LFxuICBvblVwbG9hZFByb2dyZXNzPzogKHBlOkF4aW9zUHJvZ3Jlc3NFdmVudCkgPT4gdm9pZFxuICApOiBQcm9taXNlPCR7cmV0dXJuVHlwZURlZn0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICR7Zm9ybURhdGFEZWZ9XG4gICAgcmV0dXJuIGZldGNoKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcIm11bHRpcGFydC9mb3JtLWRhdGFcIixcbiAgICAgIH0sXG4gICAgICBvblVwbG9hZFByb2dyZXNzLFxuICAgICAgZGF0YTogZm9ybURhdGEsXG4gICAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICAgIH0pO1xuICB9XG4gIGAudHJpbSgpO1xuICB9XG5cbiAgcmVuZGVyU3dyKFxuICAgIGFwaTogRXh0ZW5kZWRBcGksXG4gICAgYXBpQmFzZVVybDogc3RyaW5nLFxuICAgIHR5cGVQYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXJhbXNEZWY6IHN0cmluZyxcbiAgICByZXR1cm5UeXBlRGVmOiBzdHJpbmcsXG4gICAgcGF5bG9hZERlZjogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCBtZXRob2ROYW1lU3dyID0gYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lXG4gICAgICA/IGB1c2Uke2luZmxlY3Rpb24uY2FtZWxpemUoYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lKX1gXG4gICAgICA6IGB1c2Uke2luZmxlY3Rpb24uY2FtZWxpemUoYXBpLm1ldGhvZE5hbWUpfWA7XG4gICAgcmV0dXJuIGAgIGV4cG9ydCBmdW5jdGlvbiAke2luZmxlY3Rpb24uY2FtZWxpemUobWV0aG9kTmFtZVN3ciwgdHJ1ZSl9JHt0eXBlUGFyYW1zRGVmfSgke1tcbiAgICAgIHBhcmFtc0RlZixcbiAgICAgIFwic3dyT3B0aW9ucz86IFN3ck9wdGlvbnNcIixcbiAgICBdXG4gICAgICAuZmlsdGVyKChwKSA9PiBwICE9PSBcIlwiKVxuICAgICAgLmpvaW4oXCIsXCIpfSwgKTogU1dSUmVzcG9uc2U8JHtyZXR1cm5UeXBlRGVmfSwgU1dSRXJyb3I+IHtcbiAgICByZXR1cm4gdXNlU1dSKGhhbmRsZUNvbmRpdGlvbmFsKFtcbiAgICAgIFxcYCR7YXBpQmFzZVVybH1cXGAsXG4gICAgICAke3BheWxvYWREZWZ9LFxuICAgIF0sIHN3ck9wdGlvbnM/LmNvbmRpdGlvbmFsKSR7YXBpLm9wdGlvbnMuaHR0cE1ldGhvZCA9PT0gXCJQT1NUXCIgPyBcIiwgc3dyUG9zdEZldGNoZXJcIiA6IFwiXCJ9JHtcbiAgICAgIGFwaS5vcHRpb25zLnRpbWVvdXQgPyBgLCB7IGxvYWRpbmdUaW1lb3V0OiAke2FwaS5vcHRpb25zLnRpbWVvdXR9IH1gIDogXCJcIlxuICAgIH0pO1xuICB9YDtcbiAgfVxuXG4gIHJlbmRlcldpbmRvd0ZldGNoKFxuICAgIGFwaTogRXh0ZW5kZWRBcGksXG4gICAgYXBpQmFzZVVybDogc3RyaW5nLFxuICAgIHR5cGVQYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXlsb2FkRGVmOiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHthcGkubWV0aG9kTmFtZX0ke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gd2luZG93LmZldGNoKFxcYCR7YXBpQmFzZVVybH0/XFwke3FzLnN0cmluZ2lmeSgke3BheWxvYWREZWZ9KX1cXGAke1xuICAgICAgYXBpLm9wdGlvbnMudGltZW91dCA/IGAsIHsgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pIH1gIDogXCJcIlxuICAgIH0pO1xufVxuICAgIGAudHJpbSgpO1xuICB9XG5cbiAgcmVuZGVyU3RyZWFtKGFwaTogRXh0ZW5kZWRBcGksIGFwaUJhc2VVcmw6IHN0cmluZywgcGFyYW1zRGVmQXNPYmplY3Q6IHN0cmluZykge1xuICAgIGlmICghYXBpLnN0cmVhbU9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBcIi8vIHN0cmVhbU9wdGlvbnMgbm90IGZvdW5kXCI7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0aG9kTmFtZVN0cmVhbSA9IGFwaS5vcHRpb25zLnJlc291cmNlTmFtZVxuICAgICAgPyBgdXNlJHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSl9YFxuICAgICAgOiBgdXNlJHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5tZXRob2ROYW1lKX1gO1xuICAgIGNvbnN0IG1ldGhvZE5hbWVTdHJlYW1DYW1lbGl6ZWQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1ldGhvZE5hbWVTdHJlYW0sIHRydWUpO1xuXG4gICAgY29uc3QgZXZlbnRzVHlwZURlZiA9IHpvZFR5cGVUb1RzVHlwZURlZihhcGkuc3RyZWFtT3B0aW9ucy5ldmVudHMpO1xuXG4gICAgcmV0dXJuIGAgIGV4cG9ydCBmdW5jdGlvbiAke21ldGhvZE5hbWVTdHJlYW1DYW1lbGl6ZWR9KFxuICBwYXJhbXM6ICR7cGFyYW1zRGVmQXNPYmplY3R9LFxuICBoYW5kbGVyczogRXZlbnRIYW5kbGVyczwke2V2ZW50c1R5cGVEZWZ9ICYgeyBlbmQ/OiAoKSA9PiB2b2lkIH0+LFxuICBvcHRpb25zOiBTU0VTdHJlYW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHVzZVNTRVN0cmVhbTwke2V2ZW50c1R5cGVEZWZ9PihcXGAke2FwaUJhc2VVcmx9XFxgLCBwYXJhbXMsIGhhbmRsZXJzLCBvcHRpb25zKTtcbiAgfWA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhc3NlcnQiLCJpbmZsZWN0aW9uIiwiZGlmZiIsImdyb3VwIiwic29ydCIsInVuaXF1ZSIsImFwaVBhcmFtVG9Uc0NvZGUiLCJhcGlQYXJhbVRvVHNDb2RlQXNPYmplY3QiLCJhcGlQYXJhbVR5cGVUb1RzVHlwZSIsInVud3JhcFByb21pc2VPbmNlIiwiU29uYW11IiwiTmFpdGUiLCJBcGlQYXJhbVR5cGUiLCJhc3NlcnREZWZpbmVkIiwiVGVtcGxhdGUiLCJ6b2RUeXBlVG9Uc1R5cGVEZWYiLCJUZW1wbGF0ZV9fc2VydmljZSIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsIm5hbWVzUmVjb3JkIiwidCIsInN5bmNlciIsImFwaXMiLCJhcGlzRm9yVGhpc01vZGVsIiwiZmlsdGVyIiwiYXBpIiwibW9kZWxOYW1lIiwiY2FwaXRhbCIsImxpbmVzIiwiaW1wb3J0S2V5cyIsImdldFR5cGVTb3VyY2UiLCJoYXNBeGlvc1Byb2dyZXNzRXZlbnQiLCJmaW5kIiwib3B0aW9ucyIsImNsaWVudHMiLCJpbmNsdWRlcyIsImJvZHkiLCJqb2luIiwia2V5IiwiY3VzdG9tSGVhZGVycyIsInR5cGVQYXJhbU5hbWVzIiwiZ3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsIm1ldGhvZHMiLCJtZXRob2RDb2RlcyIsInBhcmFtc1dpdGhvdXRDb250ZXh0IiwicGFyYW1ldGVycyIsInBhcmFtIiwiaXNDb250ZXh0IiwidHlwZSIsImlzUmVmS25leCIsIm9wdGlvbmFsIiwibmFtZSIsInN0YXJ0c1dpdGgiLCJ0eXBlUGFyYW1ldGVyc0FzVHNUeXBlIiwidHlwZVBhcmFtZXRlcnMiLCJ0eXBlUGFyYW0iLCJ0eXBlUGFyYW1zRGVmIiwiY29uY2F0IiwiaWQiLCJwYXJhbXNEZWYiLCJwYXJhbXNEZWZBc09iamVjdCIsInJldHVyblR5cGVEZWYiLCJyZXR1cm5UeXBlIiwicGF5bG9hZERlZiIsImFwaUJhc2VVcmwiLCJjb25maWciLCJyb3V0ZSIsInByZWZpeCIsImNsaWVudCIsInJlbmRlckF4aW9zIiwicmVuZGVyQXhpb3NNdWx0aXBhcnQiLCJyZW5kZXJTd3IiLCJyZW5kZXJXaW5kb3dGZXRjaCIsImNhbWVsaXplIiwic3RyZWFtT3B0aW9ucyIsInJlbmRlclN0cmVhbSIsInJlcGxhY2UiLCJtZXRob2ROYW1lQXhpb3MiLCJyZXNvdXJjZU5hbWUiLCJtZXRob2ROYW1lIiwiaHR0cE1ldGhvZCIsInRpbWVvdXQiLCJ0cmltIiwiaXNNdWx0aXBsZSIsInVwbG9hZE9wdGlvbnMiLCJtb2RlIiwiZmlsZVBhcmFtTmFtZSIsImZpbGVQYXJhbVR5cGUiLCJmb3JtRGF0YURlZiIsInBhcmFtc0RlZkNvbW1hIiwibWV0aG9kTmFtZVN3ciIsInAiLCJtZXRob2ROYW1lU3RyZWFtIiwibWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZCIsImV2ZW50c1R5cGVEZWYiLCJldmVudHMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksU0FBUztBQUM1QixPQUFPQyxnQkFBZ0IsYUFBYTtBQUNwQyxTQUFTQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxNQUFNLFFBQVEsVUFBVTtBQUNwRCxTQUNFQyxnQkFBZ0IsRUFDaEJDLHdCQUF3QixFQUN4QkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsUUFDWiwrQkFBNEI7QUFFbkMsU0FBU0MsTUFBTSxRQUFRLHNCQUFtQjtBQUUxQyxTQUFTQyxLQUFLLFFBQVEsdUJBQW9CO0FBRTFDLFNBQXdCQyxZQUFZLFFBQVEsdUJBQW9CO0FBQ2hFLFNBQVNDLGFBQWEsUUFBUSx1QkFBb0I7QUFDbEQsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFtQjtBQUV0RCxPQUFPLE1BQU1DLDBCQUEwQkY7SUFDckMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFHLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxHQUFHRixNQUFNRyxFQUFFLENBQUMsQ0FBQyxFQUFFSCxNQUFNRyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQzVDO0lBQ0Y7SUFFQUMsT0FBTyxFQUFFQyxXQUFXLEVBQThCLEVBQUU7UUFDbERaLE1BQU1hLENBQUMsQ0FBQyxVQUFVO1lBQUVEO1FBQVk7UUFFaEMsTUFBTSxFQUNK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
|
package/dist/types/types.d.ts
CHANGED
|
@@ -132,7 +132,7 @@ export type EntityProp = IntegerProp | IntegerArrayProp | BigIntegerProp | BigIn
|
|
|
132
132
|
export type EntityIndex = {
|
|
133
133
|
type: "index" | "unique" | "fulltext";
|
|
134
134
|
columns: string[];
|
|
135
|
-
name
|
|
135
|
+
name: string;
|
|
136
136
|
parser?: "built-in" | "ngram";
|
|
137
137
|
};
|
|
138
138
|
export type EntityJson = {
|
|
@@ -289,6 +289,7 @@ export type MigrationColumn = {
|
|
|
289
289
|
scale?: number;
|
|
290
290
|
};
|
|
291
291
|
export type MigrationIndex = {
|
|
292
|
+
name: string;
|
|
292
293
|
columns: string[];
|
|
293
294
|
type: "unique" | "index" | "fulltext";
|
|
294
295
|
parser?: "built-in" | "ngram";
|
|
@@ -831,7 +832,7 @@ export declare const EntityJsonSchema: z.ZodObject<{
|
|
|
831
832
|
fulltext: "fulltext";
|
|
832
833
|
}>;
|
|
833
834
|
columns: z.ZodArray<z.ZodString>;
|
|
834
|
-
name: z.
|
|
835
|
+
name: z.ZodString;
|
|
835
836
|
parser: z.ZodOptional<z.ZodEnum<{
|
|
836
837
|
"built-in": "built-in";
|
|
837
838
|
ngram: "ngram";
|
|
@@ -1040,7 +1041,7 @@ export declare const TemplateOptions: z.ZodObject<{
|
|
|
1040
1041
|
fulltext: "fulltext";
|
|
1041
1042
|
}>;
|
|
1042
1043
|
columns: z.ZodArray<z.ZodString>;
|
|
1043
|
-
name: z.
|
|
1044
|
+
name: z.ZodString;
|
|
1044
1045
|
parser: z.ZodOptional<z.ZodEnum<{
|
|
1045
1046
|
"built-in": "built-in";
|
|
1046
1047
|
ngram: "ngram";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAE3F;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAK1F,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAC7C,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAC3F,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,YAAY,EAAE,UAAU,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,CACE;IACE,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,GACD;IACE,aAAa,EAAE,KAAK,CAAC;CACtB,CACJ,CAAC;AACJ,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,YAAY,EAAE,cAAc,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,YAAY,EAAE,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,QAAQ,GACR,aAAa,GACb,UAAU,GACV,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE;QACL,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAMjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IACE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAKN,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAEtE;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,GAAG,mBAAmB,CAEtF;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE9D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,eAAe,CAE1E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE9D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,eAAe,CAE1E;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAEpD;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAE1D;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AACD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,oBAAoB,CAE5E;AACD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,wBAAwB,CAEpF;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AACD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,CAEhF;AAED,KAAK,UAAU,GACX;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACN,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAEtE;AAED,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE;YACR,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,UAAU,CAAC,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,CAAC;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,UAAU,CAAC,EAAE,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;EAAoC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAEtD;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,MAAM,GACN,WAAW,GACX,YAAY,GACZ,UAAU,GACV,SAAS,GACT,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,CAAC;AACf,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,MAAM,CAAC;AACX,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG;IACpD,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,yBAAiB,YAAY,CAAC;IAC5B,KAAY,MAAM,GAAG;QACnB,CAAC,EAAE,QAAQ,CAAC;QACZ,KAAK,EAAE,QAAQ,EAAE,CAAC;KACnB,CAAC;IACF,KAAY,KAAK,GAAG;QAClB,CAAC,EAAE,OAAO,CAAC;QACX,KAAK,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,YAAY,GAAG;QACzB,CAAC,EAAE,cAAc,CAAC;QAClB,KAAK,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,aAAa,GAAG;QAC1B,CAAC,EAAE,gBAAgB,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,cAAc,GAAG;QAC3B,CAAC,EAAE,iBAAiB,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,KAAK,GAAG;QAClB,CAAC,EAAE,OAAO,CAAC;QACX,YAAY,EAAE,YAAY,CAAC;KAC5B,CAAC;IACF,KAAY,GAAG,GAAG;QAChB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,aAAa,GAAG;QAC1B,CAAC,EAAE,gBAAgB,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC;QACrB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;IACF,KAAY,SAAS,GAAG;QACtB,CAAC,EAAE,YAAY,CAAC;QAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;KAC1B,CAAC;IACF,KAAY,IAAI,GAAG,GAAG,GAAG;QACvB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAY,IAAI,GAAG,GAAG,GAAG;QACvB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,SAAS,GAAG;QACtB,CAAC,EAAE,YAAY,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,YAAY,CAAC;KAC3B,CAAC;IAEF,SAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAE7D;IACD,SAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAE3D;IACD,SAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,YAAY,CAEzE;IACD,SAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,aAAa,CAE3E;IACD,SAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,cAAc,CAE7E;IACD,SAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAE3D;IACD,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAEvD;IACD,SAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,aAAa,CAE3E;IACD,SAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,CAEnE;IACD,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAOzD;IACD,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAOzD;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAO3D;IACD,SAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,CAEnE;CACF;AACD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,WAAW,GACX,MAAM,GACN,KAAK,GACL,SAAS,GACT,MAAM,GACN,OAAO,GACP,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,MAAM,GACnB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,YAAY,GACzB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,GAAG,GAChB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,SAAS,GACtB,YAAY,CAAC,SAAS,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EACN,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,cAAc,GACd,SAAS,GACT,OAAO,GACP,OAAO,GACP,cAAc,GACd,QAAQ,GACR,aAAa,GACb,QAAQ,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAwKF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAY9B,CAAC;AAwBF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAmB5B,CAAC;AAkBF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoF1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;EAmBtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW;;;iBAGtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;SACpC,CAAC;KACH,CAAC;IACF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAGF,MAAM,WAAW,oBAAoB;CAAG;AACxC,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI;IACnF,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG;KACD,CAAC,IAAI,GAAG,SAAS,KAAK,GAAG,MAAM;CACjC,GAAG;KACD,CAAC,IAAI,GAAG,OAAO,KAAK,GAAG,MAAM;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,CACf,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,GACzF,WAAW,EACb,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,CACZ,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QACH,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;QACzC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACvB,UAAU,EAAE,YAAY,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,mBAAmB,CAAC;KAC9B,KACE,IAAI,CAAC;IACV,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC9C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,KAEC;YACE,KAAK,EAAE,KAAK,CAAC;SACd,GACD;YACE,KAAK,EAAE,IAAI,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACP,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAE3F;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAK1F,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAC7C,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAC3F,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,YAAY,EAAE,UAAU,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,CACE;IACE,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,GACD;IACE,aAAa,EAAE,KAAK,CAAC;CACtB,CACJ,CAAC;AACJ,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,YAAY,EAAE,cAAc,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,YAAY,EAAE,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,QAAQ,GACR,aAAa,GACb,UAAU,GACV,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE;QACL,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAMjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IACE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAKN,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAEtE;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,GAAG,mBAAmB,CAEtF;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE9D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,eAAe,CAE1E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE9D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,eAAe,CAE1E;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAEhE;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAEpE;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAE7E;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAE1D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,CAEpE;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAEpD;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAE1D;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AACD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,oBAAoB,CAE5E;AACD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,wBAAwB,CAEpF;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AACD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,CAEhF;AAED,KAAK,UAAU,GACX;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACN,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAEtE;AAED,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE;YACR,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,UAAU,CAAC,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,CAAC;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,UAAU,CAAC,EAAE,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;EAAoC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAEtD;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,MAAM,GACN,WAAW,GACX,YAAY,GACZ,UAAU,GACV,SAAS,GACT,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,CAAC;AACf,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,MAAM,CAAC;AACX,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG;IACpD,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,yBAAiB,YAAY,CAAC;IAC5B,KAAY,MAAM,GAAG;QACnB,CAAC,EAAE,QAAQ,CAAC;QACZ,KAAK,EAAE,QAAQ,EAAE,CAAC;KACnB,CAAC;IACF,KAAY,KAAK,GAAG;QAClB,CAAC,EAAE,OAAO,CAAC;QACX,KAAK,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,YAAY,GAAG;QACzB,CAAC,EAAE,cAAc,CAAC;QAClB,KAAK,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,aAAa,GAAG;QAC1B,CAAC,EAAE,gBAAgB,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,cAAc,GAAG;QAC3B,CAAC,EAAE,iBAAiB,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAY,KAAK,GAAG;QAClB,CAAC,EAAE,OAAO,CAAC;QACX,YAAY,EAAE,YAAY,CAAC;KAC5B,CAAC;IACF,KAAY,GAAG,GAAG;QAChB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,KAAY,aAAa,GAAG;QAC1B,CAAC,EAAE,gBAAgB,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC;QACrB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;IACF,KAAY,SAAS,GAAG;QACtB,CAAC,EAAE,YAAY,CAAC;QAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;KAC1B,CAAC;IACF,KAAY,IAAI,GAAG,GAAG,GAAG;QACvB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAY,IAAI,GAAG,GAAG,GAAG;QACvB,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,OAAO,GAAG,GAAG,GAAG;QAC1B,CAAC,EAAE,KAAK,CAAC;QACT,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAY,SAAS,GAAG;QACtB,CAAC,EAAE,YAAY,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,YAAY,CAAC;KAC3B,CAAC;IAEF,SAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAE7D;IACD,SAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAE3D;IACD,SAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,YAAY,CAEzE;IACD,SAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,aAAa,CAE3E;IACD,SAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,cAAc,CAE7E;IACD,SAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAE3D;IACD,SAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAEvD;IACD,SAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,aAAa,CAE3E;IACD,SAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,CAEnE;IACD,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAOzD;IACD,SAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAOzD;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAO/D;IACD,SAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAO3D;IACD,SAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,CAEnE;CACF;AACD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,WAAW,GACX,MAAM,GACN,KAAK,GACL,SAAS,GACT,MAAM,GACN,OAAO,GACP,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,MAAM,GACnB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,YAAY,GACzB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,GAAG,GAChB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,SAAS,GACtB,YAAY,CAAC,SAAS,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EACN,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,cAAc,GACd,SAAS,GACT,OAAO,GACP,OAAO,GACP,cAAc,GACd,QAAQ,GACR,aAAa,GACb,QAAQ,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAwKF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAY9B,CAAC;AAwBF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAmB5B,CAAC;AAkBF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoF1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;EAmBtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW;;;iBAGtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;SACpC,CAAC;KACH,CAAC;IACF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAGF,MAAM,WAAW,oBAAoB;CAAG;AACxC,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI;IACnF,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG;KACD,CAAC,IAAI,GAAG,SAAS,KAAK,GAAG,MAAM;CACjC,GAAG;KACD,CAAC,IAAI,GAAG,OAAO,KAAK,GAAG,MAAM;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,CACf,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC,GACzF,WAAW,EACb,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,CACZ,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QACH,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;QACzC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACvB,UAAU,EAAE,YAAY,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,mBAAmB,CAAC;KAC9B,KACE,IAAI,CAAC;IACV,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC9C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,KAEC;YACE,KAAK,EAAE,KAAK,CAAC;SACd,GACD;YACE,KAAK,EAAE,IAAI,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACP,CAAC;CACH,CAAC"}
|
package/dist/types/types.js
CHANGED
|
@@ -415,7 +415,7 @@ const EntityIndexSchema = z.object({
|
|
|
415
415
|
"fulltext"
|
|
416
416
|
]),
|
|
417
417
|
columns: z.array(z.string()),
|
|
418
|
-
name: z.string().
|
|
418
|
+
name: z.string().min(1).max(63),
|
|
419
419
|
parser: z.enum([
|
|
420
420
|
"built-in",
|
|
421
421
|
"ngram"
|
|
@@ -543,4 +543,4 @@ export const PathAndCode = z.object({
|
|
|
543
543
|
});
|
|
544
544
|
export var ApiParamType;
|
|
545
545
|
|
|
546
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QgfSBmcm9tIFwiZmFzdGlmeVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB0eXBlIHsgQXBpRGVjb3JhdG9yT3B0aW9ucywgQXV0aENvbnRleHQsIENvbnRleHQgfSBmcm9tIFwiLi4vYXBpXCI7XG5pbXBvcnQgdHlwZSB7IEd1YXJkS2V5IH0gZnJvbSBcIi4vLi4vYXBpL2RlY29yYXRvcnNcIjtcblxuLypcbiAgVXRpbGl0eSBUeXBlc1xuKi9cbmV4cG9ydCBmdW5jdGlvbiB6QXJyYXlhYmxlPFQgZXh0ZW5kcyB6LlpvZFR5cGVBbnk+KHNoYXBlOiBUKTogei5ab2RVbmlvbjxbVCwgei5ab2RBcnJheTxUPl0+IHtcbiAgcmV0dXJuIHoudW5pb24oW3NoYXBlLCBzaGFwZS5hcnJheSgpXSk7XG59XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IGFueSBpcyB1c2VkIHRvIG1ha2UgdGhlIHR5cGUgZGlzdHJpYnV0aXZlXG5leHBvcnQgdHlwZSBEaXN0cmlidXRpdmVPbWl0PFQsIEsgZXh0ZW5kcyBrZXlvZiBhbnk+ID0gVCBleHRlbmRzIGFueSA/IE9taXQ8VCwgSz4gOiBuZXZlcjtcblxuLypcbiAgTW9kZWwtRGVmaW50aW9uXG4qL1xuZXhwb3J0IHR5cGUgQ29tbW9uUHJvcCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG4gIHRvRmlsdGVyPzogdHJ1ZTtcbiAgZGVzYz86IHN0cmluZztcbiAgZGJEZWZhdWx0Pzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEludGVnZXJQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJpbnRlZ2VyXCI7XG59OyAvLyBQRzogaW50ZWdlciAvIFRTOiBudW1iZXIgLyBKU09OOiBudW1iZXJcbmV4cG9ydCB0eXBlIEludGVnZXJBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImludGVnZXJbXVwiO1xufTsgLy8gUEc6IGludGVnZXJbXSAvIFRTOiBudW1iZXJbXSAvIEpTT046IG51bWJlcltdXG5leHBvcnQgdHlwZSBCaWdJbnRlZ2VyUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiYmlnSW50ZWdlclwiO1xufTsgLy8gUEc6IGJpZ2ludCAvIFRTOiBiaWdpbnQgLyBKU09OOiBiaWdpbnRcbmV4cG9ydCB0eXBlIEJpZ0ludGVnZXJBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImJpZ0ludGVnZXJbXVwiO1xufTsgLy8gUEc6IGJpZ2ludFtdIC8gVFM6IGJpZ2ludFtdIC8gSlNPTjogYmlnaW50W11cbmV4cG9ydCB0eXBlIFN0cmluZ1Byb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInN0cmluZ1wiO1xuICBsZW5ndGg/OiBudW1iZXI7IC8vIFBHOiB2YXJjaGFyKG4pLCB0ZXh0IC8gVFM6IHN0cmluZyAvIEpTT046IHN0cmluZ1xufTsgLy8gUEc6IHRleHQgLyBUUzogc3RyaW5nIC8gSlNPTjogc3RyaW5nXG5leHBvcnQgdHlwZSBTdHJpbmdBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInN0cmluZ1tdXCI7XG4gIGxlbmd0aD86IG51bWJlcjsgLy8gUEc6IHZhcmNoYXIobilbXSwgdGV4dFtdIC8gVFM6IHN0cmluZ1tdIC8gSlNPTjogc3RyaW5nW11cbn07IC8vIFBHOiB2YXJjaGFyKG4pW10sIHRleHRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBFbnVtUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZW51bVwiO1xuICBpZDogc3RyaW5nO1xuICBsZW5ndGg/OiBudW1iZXI7XG59OyAvLyBQRzogdGV4dCAvIFRTOiBzdHJpbmcgLyBKU09OOiBzdHJpbmdcbmV4cG9ydCB0eXBlIEVudW1BcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImVudW1bXVwiO1xuICBpZDogc3RyaW5nO1xufTsgLy8gUEc6IHRleHRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBOdW1iZXJQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJudW1iZXJcIjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyOyAvLyBQRzogbnVtZXJpYyhwLCBzKSAvIFRTOiBudW1iZXIgLyBKU09OOiBudW1iZXJcbiAgc2NhbGU/OiBudW1iZXI7IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IG51bWJlciAvIEpTT046IG51bWJlclxuICBudW1iZXJUeXBlPzogXCJyZWFsXCIgfCBcImRvdWJsZSBwcmVjaXNpb25cIiB8IFwibnVtZXJpY1wiOyAvLyDquLDrs7jqsJI6IG51bWVyaWNcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IG51bWJlciAvIEpTT046IG51bWJlclxuZXhwb3J0IHR5cGUgTnVtYmVyQXJyYXlQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJudW1iZXJbXVwiO1xuICBwcmVjaXNpb24/OiBudW1iZXI7XG4gIHNjYWxlPzogbnVtYmVyO1xuICBudW1iZXJUeXBlPzogXCJyZWFsXCIgfCBcImRvdWJsZSBwcmVjaXNpb25cIiB8IFwibnVtZXJpY1wiOyAvLyDquLDrs7jqsJI6IG51bWVyaWNcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpW10gLyBUUzogbnVtYmVyW10gLyBKU09OOiBudW1iZXJbXVxuZXhwb3J0IHR5cGUgTnVtZXJpY1Byb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcIm51bWVyaWNcIjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBzY2FsZT86IG51bWJlcjtcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IHN0cmluZyAvIEpTT046IHN0cmluZ1xuZXhwb3J0IHR5cGUgTnVtZXJpY0FycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwibnVtZXJpY1tdXCI7XG4gIHByZWNpc2lvbj86IG51bWJlcjtcbiAgc2NhbGU/OiBudW1iZXI7XG59OyAvLyBQRzogbnVtZXJpYyhwLCBzKVtdIC8gVFM6IHN0cmluZ1tdIC8gSlNPTjogc3RyaW5nW11cbmV4cG9ydCB0eXBlIEJvb2xlYW5Qcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJib29sZWFuXCI7XG59OyAvLyBQRzogYm9vbGVhbiAvIFRTOiBib29sZWFuIC8gSlNPTjogYm9vbGVhblxuZXhwb3J0IHR5cGUgQm9vbGVhbkFycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiYm9vbGVhbltdXCI7XG59OyAvLyBQRzogYm9vbGVhbltdIC8gVFM6IGJvb2xlYW5bXSAvIEpTT046IGJvb2xlYW5bXVxuZXhwb3J0IHR5cGUgRGF0ZVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImRhdGVcIjtcbn07IC8vIFBHOiB0aW1lc3RhbXB6IC8gVFM6IERhdGUgLyBKU09OOiBzdHJpbmcoSVNPU3RyaW5nKVxuZXhwb3J0IHR5cGUgRGF0ZUFycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZGF0ZVtdXCI7XG59OyAvLyBQRzogdGltZXN0YW1wdHpbXSAvIFRTOiBEYXRlW10gLyBKU09OOiBzdHJpbmdbXVxuZXhwb3J0IHR5cGUgSnNvblByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImpzb25cIjtcbiAgaWQ6IHN0cmluZztcbn07IC8vIFBHOiBqc29uIC8gVFM6IGFueShpZCkgLyBKU09OOiBhbnlcbmV4cG9ydCB0eXBlIFV1aWRQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJ1dWlkXCI7XG59OyAvLyBQRzogdXVpZCAvIFRTOiBzdHJpbmcgLyBKU09OOiBzdHJpbmdcbmV4cG9ydCB0eXBlIFV1aWRBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInV1aWRbXVwiO1xufTsgLy8gUEc6IHV1aWRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBWaXJ0dWFsUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwidmlydHVhbFwiO1xuICBpZDogc3RyaW5nO1xufTsgLy8gUEc6IG5vbmUgLyBUUzogYW55KGlkKSAvIEpTT046IGFueVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvblR5cGUgPSBcIkhhc01hbnlcIiB8IFwiQmVsb25nc1RvT25lXCIgfCBcIk1hbnlUb01hbnlcIiB8IFwiT25lVG9PbmVcIjtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uT24gPSBcIkNBU0NBREVcIiB8IFwiU0VUIE5VTExcIiB8IFwiTk8gQUNUSU9OXCIgfCBcIlNFVCBERUZBVUxUXCIgfCBcIlJFU1RSSUNUXCI7XG50eXBlIF9SZWxhdGlvblByb3AgPSB7XG4gIHR5cGU6IFwicmVsYXRpb25cIjtcbiAgbmFtZTogc3RyaW5nO1xuICB3aXRoOiBzdHJpbmc7XG4gIG51bGxhYmxlPzogYm9vbGVhbjsgLy8gREVGQVVMVDogZmFsc2VcbiAgdG9GaWx0ZXI/OiB0cnVlOyAvLyBERUZBVUxUOiBmYWxzZVxuICBkZXNjPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIE9uZVRvT25lUmVsYXRpb25Qcm9wID0gX1JlbGF0aW9uUHJvcCAmIHtcbiAgcmVsYXRpb25UeXBlOiBcIk9uZVRvT25lXCI7XG4gIGN1c3RvbUpvaW5DbGF1c2U/OiBzdHJpbmc7XG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNKb2luQ29sdW1uOiB0cnVlO1xuICAgICAgICB1c2VDb25zdHJhaW50PzogYm9vbGVhbjsgLy8gREVGQVVMVDogdHJ1ZVxuICAgICAgICBvblVwZGF0ZT86IFJlbGF0aW9uT247IC8vIERFRkFVTFQ6IFJFU1RSSUNUXG4gICAgICAgIG9uRGVsZXRlPzogUmVsYXRpb25PbjsgLy8gREVGQVVMVDogUkVTVFJJQ1RcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgaGFzSm9pbkNvbHVtbjogZmFsc2U7XG4gICAgICB9XG4gICk7XG5leHBvcnQgdHlwZSBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AgPSBfUmVsYXRpb25Qcm9wICYge1xuICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCI7XG4gIGN1c3RvbUpvaW5DbGF1c2U/OiBzdHJpbmc7XG4gIHVzZUNvbnN0cmFpbnQ/OiBib29sZWFuOyAvLyBERUZBVUxUOiB0cnVlXG4gIG9uVXBkYXRlPzogUmVsYXRpb25PbjsgLy8gREVGQVVMVDogUkVTVFJJQ1RcbiAgb25EZWxldGU/OiBSZWxhdGlvbk9uOyAvLyBERUZBVUxUOiBSRVNUUklDVFxufTtcbmV4cG9ydCB0eXBlIEhhc01hbnlSZWxhdGlvblByb3AgPSBfUmVsYXRpb25Qcm9wICYge1xuICByZWxhdGlvblR5cGU6IFwiSGFzTWFueVwiO1xuICBqb2luQ29sdW1uOiBzdHJpbmc7XG4gIGZyb21Db2x1bW4/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgTWFueVRvTWFueVJlbGF0aW9uUHJvcCA9IF9SZWxhdGlvblByb3AgJiB7XG4gIHJlbGF0aW9uVHlwZTogXCJNYW55VG9NYW55XCI7XG4gIGpvaW5UYWJsZTogYCR7c3RyaW5nfV9fJHtzdHJpbmd9YDtcbiAgb25VcGRhdGU6IFJlbGF0aW9uT247XG4gIG9uRGVsZXRlOiBSZWxhdGlvbk9uO1xufTtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uUHJvcCA9XG4gIHwgT25lVG9PbmVSZWxhdGlvblByb3BcbiAgfCBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3BcbiAgfCBIYXNNYW55UmVsYXRpb25Qcm9wXG4gIHwgTWFueVRvTWFueVJlbGF0aW9uUHJvcDtcblxuZXhwb3J0IHR5cGUgRW50aXR5UHJvcCA9XG4gIHwgSW50ZWdlclByb3BcbiAgfCBJbnRlZ2VyQXJyYXlQcm9wXG4gIHwgQmlnSW50ZWdlclByb3BcbiAgfCBCaWdJbnRlZ2VyQXJyYXlQcm9wXG4gIHwgU3RyaW5nUHJvcFxuICB8IFN0cmluZ0FycmF5UHJvcFxuICB8IEVudW1Qcm9wXG4gIHwgRW51bUFycmF5UHJvcFxuICB8IE51bWJlclByb3BcbiAgfCBOdW1iZXJBcnJheVByb3BcbiAgfCBOdW1lcmljUHJvcFxuICB8IE51bWVyaWNBcnJheVByb3BcbiAgfCBOdW1lcmljUHJvcFxuICB8IEJvb2xlYW5Qcm9wXG4gIHwgQm9vbGVhbkFycmF5UHJvcFxuICB8IERhdGVQcm9wXG4gIHwgRGF0ZUFycmF5UHJvcFxuICB8IFV1aWRQcm9wXG4gIHwgVXVpZEFycmF5UHJvcFxuICB8IEpzb25Qcm9wXG4gIHwgVmlydHVhbFByb3BcbiAgfCBSZWxhdGlvblByb3A7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUluZGV4ID0ge1xuICB0eXBlOiBcImluZGV4XCIgfCBcInVuaXF1ZVwiIHwgXCJmdWxsdGV4dFwiO1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgbmFtZT86IHN0cmluZztcbiAgcGFyc2VyPzogXCJidWlsdC1pblwiIHwgXCJuZ3JhbVwiO1xufTtcbmV4cG9ydCB0eXBlIEVudGl0eUpzb24gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICB0YWJsZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgcHJvcHM6IEVudGl0eVByb3BbXTtcbiAgaW5kZXhlczogRW50aXR5SW5kZXhbXTtcbiAgc3Vic2V0czoge1xuICAgIFtzdWJzZXQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICB9O1xuICBlbnVtczoge1xuICAgIFtlbnVtSWQ6IHN0cmluZ106IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICB9O1xufTtcbmV4cG9ydCB0eXBlIEVudGl0eVN1YnNldFJvdyA9IHtcbiAgZmllbGQ6IHN0cmluZztcbiAgaGFzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfTtcbiAgY2hpbGRyZW46IEVudGl0eVN1YnNldFJvd1tdO1xuICBwcmVmaXhlczogc3RyaW5nW107XG4gIHJlbGF0aW9uRW50aXR5Pzogc3RyaW5nO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIEZsYXR0ZW5TdWJzZXRSb3cgPSBPbWl0PEVudGl0eVN1YnNldFJvdywgXCJjaGlsZHJlblwiPjtcblxuLypcbiAgUHJvcE5vZGVcbiovXG5cbi8qKlxuICog7JeU7Yuw7Yuw7J2YIO2VhOuTnCDqtazsobDrpbwg7Yq466asIO2Yle2DnOuhnCDtkZztmITtlZjripQg7KSR6rCEIOuFuOuTnOyeheuLiOuLpC5cbiAqXG4gKiAqKuuqqeyggSoqOiBFbnRpdHnsnZggc3Vic2V0IO2VhOuTnCDtkZztmITsi50o7JiIOiBcImlkXCIsIFwidXNlci5uYW1lXCIsIFwidGFnc1tdXCIp7J2EXG4gKiDsnqzqt4DsoIHsnbgg7Yq466asIOq1rOyhsOuhnCDtjIzsi7HtlZjsl6wgWm9kIOyKpO2CpOuniCDsg53shLHsnZgg7KSR6rCEIOuLqOqzhOuhnCDsgqzsmqntlanri4jri6QuXG4gKlxuICogKirrs4DtmZgg7Z2Q66aEKio6XG4gKiBFbnRpdHkgc3Vic2V0IOKGkiBFbnRpdHlQcm9wTm9kZSAo7Yq466asIOq1rOyhsCkg4oaSIFpvZCDsiqTtgqTrp4gg4oaSIFJlbmRlcmluZ05vZGUgKFVJ7JqpKVxuICpcbiAqICoqbm9kZVR5cGUqKjpcbiAqIC0gXCJwbGFpblwiOiDri6jsnbwg7ZWE65OcICjsmIg6IFwiaWRcIiwgXCJuYW1lXCIpXG4gKiAtIFwib2JqZWN0XCI6IOykkeyyqSDqsJ3ssrQgKOyYiDogXCJ1c2VyLm5hbWVcIiDihpIgdXNlciDqsJ3ssrQpXG4gKiAtIFwiYXJyYXlcIjog67Cw7Je0ICjsmIg6IFwidGFnc1tdXCIg4oaSIHRhZ3Mg67Cw7Je0KVxuICpcbiAqICoq7IKs7JqpIOychOy5mCoqOiBlbnRpdHktY29udmVydGVyLnRz7J2YIHByb3BOb2RlVG9ab2RUeXBlKClcbiAqL1xuZXhwb3J0IHR5cGUgRW50aXR5UHJvcE5vZGUgPVxuICB8IHtcbiAgICAgIG5vZGVUeXBlOiBcInBsYWluXCI7XG4gICAgICBwcm9wOiBFbnRpdHlQcm9wO1xuICAgIH1cbiAgfCB7XG4gICAgICBub2RlVHlwZTogXCJvYmplY3RcIiB8IFwiYXJyYXlcIjtcbiAgICAgIHByb3A/OiBFbnRpdHlQcm9wO1xuICAgICAgY2hpbGRyZW46IEVudGl0eVByb3BOb2RlW107XG4gICAgfTtcblxuLypcbiAgUHJvcCBUeXBlIEd1YXJkc1xuKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXJTaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIEludGVnZXJQcm9wIHtcbiAgcmV0dXJuIChwIGFzIEludGVnZXJQcm9wKT8udHlwZSA9PT0gXCJpbnRlZ2VyXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNJbnRlZ2VyQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIEludGVnZXJBcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgSW50ZWdlckFycmF5UHJvcCk/LnR5cGUgPT09IFwiaW50ZWdlcltdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNJbnRlZ2VyUHJvcChwOiB1bmtub3duKTogcCBpcyBJbnRlZ2VyUHJvcCB8IEludGVnZXJBcnJheVByb3Age1xuICByZXR1cm4gaXNJbnRlZ2VyU2luZ2xlUHJvcChwKSB8fCBpc0ludGVnZXJBcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCaWdJbnRlZ2VyU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBCaWdJbnRlZ2VyUHJvcCB7XG4gIHJldHVybiAocCBhcyBCaWdJbnRlZ2VyUHJvcCk/LnR5cGUgPT09IFwiYmlnSW50ZWdlclwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQmlnSW50ZWdlckFycmF5UHJvcChwOiB1bmtub3duKTogcCBpcyBCaWdJbnRlZ2VyQXJyYXlQcm9wIHtcbiAgcmV0dXJuIChwIGFzIEJpZ0ludGVnZXJBcnJheVByb3ApPy50eXBlID09PSBcImJpZ0ludGVnZXJbXVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQmlnSW50ZWdlclByb3AocDogdW5rbm93bik6IHAgaXMgQmlnSW50ZWdlclByb3AgfCBCaWdJbnRlZ2VyQXJyYXlQcm9wIHtcbiAgcmV0dXJuIGlzQmlnSW50ZWdlclNpbmdsZVByb3AocCkgfHwgaXNCaWdJbnRlZ2VyQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBTdHJpbmdQcm9wIHtcbiAgcmV0dXJuIChwIGFzIFN0cmluZ1Byb3ApPy50eXBlID09PSBcInN0cmluZ1wiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIFN0cmluZ0FycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBTdHJpbmdBcnJheVByb3ApPy50eXBlID09PSBcInN0cmluZ1tdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdQcm9wKHA6IHVua25vd24pOiBwIGlzIFN0cmluZ1Byb3AgfCBTdHJpbmdBcnJheVByb3Age1xuICByZXR1cm4gaXNTdHJpbmdTaW5nbGVQcm9wKHApIHx8IGlzU3RyaW5nQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRW51bVNpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgRW51bVByb3Age1xuICByZXR1cm4gKHAgYXMgRW51bVByb3ApPy50eXBlID09PSBcImVudW1cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0VudW1BcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgRW51bUFycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBFbnVtQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJlbnVtW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0VudW1Qcm9wKHA6IHVua25vd24pOiBwIGlzIEVudW1Qcm9wIHwgRW51bUFycmF5UHJvcCB7XG4gIHJldHVybiBpc0VudW1TaW5nbGVQcm9wKHApIHx8IGlzRW51bUFycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlclNpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgTnVtYmVyUHJvcCB7XG4gIHJldHVybiAocCBhcyBOdW1iZXJQcm9wKT8udHlwZSA9PT0gXCJudW1iZXJcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlckFycmF5UHJvcChwOiB1bmtub3duKTogcCBpcyBOdW1iZXJBcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgTnVtYmVyQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJudW1iZXJbXVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyUHJvcChwOiB1bmtub3duKTogcCBpcyBOdW1iZXJQcm9wIHwgTnVtYmVyQXJyYXlQcm9wIHtcbiAgcmV0dXJuIGlzTnVtYmVyU2luZ2xlUHJvcChwKSB8fCBpc051bWJlckFycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNTaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIE51bWVyaWNQcm9wIHtcbiAgcmV0dXJuIChwIGFzIE51bWVyaWNQcm9wKT8udHlwZSA9PT0gXCJudW1lcmljXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdW1lcmljQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIE51bWVyaWNBcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgTnVtZXJpY0FycmF5UHJvcCk/LnR5cGUgPT09IFwibnVtZXJpY1tdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdW1lcmljUHJvcChwOiB1bmtub3duKTogcCBpcyBOdW1lcmljUHJvcCB8IE51bWVyaWNBcnJheVByb3Age1xuICByZXR1cm4gaXNOdW1lcmljU2luZ2xlUHJvcChwKSB8fCBpc051bWVyaWNBcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBCb29sZWFuUHJvcCB7XG4gIHJldHVybiAocCBhcyBCb29sZWFuUHJvcCk/LnR5cGUgPT09IFwiYm9vbGVhblwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbkFycmF5UHJvcChwOiB1bmtub3duKTogcCBpcyBCb29sZWFuQXJyYXlQcm9wIHtcbiAgcmV0dXJuIChwIGFzIEJvb2xlYW5BcnJheVByb3ApPy50eXBlID09PSBcImJvb2xlYW5bXVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhblByb3AocDogdW5rbm93bik6IHAgaXMgQm9vbGVhblByb3AgfCBCb29sZWFuQXJyYXlQcm9wIHtcbiAgcmV0dXJuIGlzQm9vbGVhblNpbmdsZVByb3AocCkgfHwgaXNCb29sZWFuQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZVNpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgRGF0ZVByb3Age1xuICByZXR1cm4gKHAgYXMgRGF0ZVByb3ApPy50eXBlID09PSBcImRhdGVcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVBcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgRGF0ZUFycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBEYXRlQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJkYXRlW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVQcm9wKHA6IHVua25vd24pOiBwIGlzIERhdGVQcm9wIHwgRGF0ZUFycmF5UHJvcCB7XG4gIHJldHVybiBpc0RhdGVTaW5nbGVQcm9wKHApIHx8IGlzRGF0ZUFycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1V1aWRTaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIFV1aWRQcm9wIHtcbiAgcmV0dXJuIChwIGFzIFV1aWRQcm9wKT8udHlwZSA9PT0gXCJ1dWlkXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNVdWlkQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIFV1aWRBcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgVXVpZEFycmF5UHJvcCk/LnR5cGUgPT09IFwidXVpZFtdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNVdWlkUHJvcChwOiB1bmtub3duKTogcCBpcyBVdWlkUHJvcCB8IFV1aWRBcnJheVByb3Age1xuICByZXR1cm4gaXNVdWlkU2luZ2xlUHJvcChwKSB8fCBpc1V1aWRBcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNKc29uUHJvcChwOiB1bmtub3duKTogcCBpcyBKc29uUHJvcCB7XG4gIHJldHVybiAocCBhcyBKc29uUHJvcCk/LnR5cGUgPT09IFwianNvblwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmlydHVhbFByb3AocDogdW5rbm93bik6IHAgaXMgVmlydHVhbFByb3Age1xuICByZXR1cm4gKHAgYXMgVmlydHVhbFByb3ApPy50eXBlID09PSBcInZpcnR1YWxcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbGF0aW9uUHJvcChwOiB1bmtub3duKTogcCBpcyBSZWxhdGlvblByb3Age1xuICByZXR1cm4gKHAgYXMgUmVsYXRpb25Qcm9wKT8udHlwZSA9PT0gXCJyZWxhdGlvblwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzT25lVG9PbmVSZWxhdGlvblByb3AocDogdW5rbm93bik6IHAgaXMgT25lVG9PbmVSZWxhdGlvblByb3Age1xuICByZXR1cm4gKHAgYXMgT25lVG9PbmVSZWxhdGlvblByb3ApPy5yZWxhdGlvblR5cGUgPT09IFwiT25lVG9PbmVcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcChwOiB1bmtub3duKTogcCBpcyBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3Age1xuICByZXR1cm4gKHAgYXMgQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wKT8ucmVsYXRpb25UeXBlID09PSBcIkJlbG9uZ3NUb09uZVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSGFzTWFueVJlbGF0aW9uUHJvcChwOiB1bmtub3duKTogcCBpcyBIYXNNYW55UmVsYXRpb25Qcm9wIHtcbiAgcmV0dXJuIChwIGFzIEhhc01hbnlSZWxhdGlvblByb3ApPy5yZWxhdGlvblR5cGUgPT09IFwiSGFzTWFueVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcChwOiB1bmtub3duKTogcCBpcyBNYW55VG9NYW55UmVsYXRpb25Qcm9wIHtcbiAgcmV0dXJuIChwIGFzIE1hbnlUb01hbnlSZWxhdGlvblByb3ApPy5yZWxhdGlvblR5cGUgPT09IFwiTWFueVRvTWFueVwiO1xufVxuXG50eXBlIEpvaW5DbGF1c2UgPVxuICB8IHtcbiAgICAgIGZyb206IHN0cmluZztcbiAgICAgIHRvOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGN1c3RvbTogc3RyaW5nO1xuICAgIH07XG5leHBvcnQgZnVuY3Rpb24gaXNDdXN0b21Kb2luQ2xhdXNlKHA6IHVua25vd24pOiBwIGlzIHsgY3VzdG9tOiBzdHJpbmcgfSB7XG4gIHJldHVybiAhIShwIGFzIHsgY3VzdG9tOiBzdHJpbmcgfSk/LmN1c3RvbTtcbn1cblxudHlwZSBTdWJzZXRMb2FkZXIgPSB7XG4gIGFzOiBzdHJpbmc7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIG1hbnlKb2luOiB7XG4gICAgZnJvbVRhYmxlOiBzdHJpbmc7XG4gICAgZnJvbUNvbDogc3RyaW5nO1xuICAgIGlkRmllbGQ6IHN0cmluZztcbiAgICB0b1RhYmxlOiBzdHJpbmc7XG4gICAgdG9Db2w6IHN0cmluZztcbiAgICB0aHJvdWdoPzoge1xuICAgICAgdGFibGU6IHN0cmluZztcbiAgICAgIGZyb21Db2w6IHN0cmluZztcbiAgICAgIHRvQ29sOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgb25lSm9pbnM6ICh7XG4gICAgYXM6IHN0cmluZztcbiAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4gICAgdGFibGU6IHN0cmluZztcbiAgfSAmIEpvaW5DbGF1c2UpW107XG4gIHNlbGVjdDogc3RyaW5nW107XG4gIGxvYWRlcnM/OiBTdWJzZXRMb2FkZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFN1YnNldFF1ZXJ5ID0ge1xuICBzZWxlY3Q6IHN0cmluZ1tdO1xuICB2aXJ0dWFsOiBzdHJpbmdbXTtcbiAgam9pbnM6ICh7XG4gICAgYXM6IHN0cmluZztcbiAgICBqb2luOiBcImlubmVyXCIgfCBcIm91dGVyXCI7XG4gICAgdGFibGU6IHN0cmluZztcbiAgfSAmIEpvaW5DbGF1c2UpW107XG4gIGxvYWRlcnM6IFN1YnNldExvYWRlcltdO1xufTtcblxuLyogQmFzZU1vZGVsICovXG5leHBvcnQgY29uc3QgU29uYW11UXVlcnlNb2RlID0gei5lbnVtKFtcImJvdGhcIiwgXCJsaXN0XCIsIFwiY291bnRcIl0pO1xuZXhwb3J0IHR5cGUgU29uYW11UXVlcnlNb2RlID0gei5pbmZlcjx0eXBlb2YgU29uYW11UXVlcnlNb2RlPjtcblxuLyogS25leCBNaWdyYXRpb24gKi9cbmV4cG9ydCB0eXBlIEtuZXhFcnJvciA9IHtcbiAgY29kZTogc3RyaW5nO1xuICBlcnJubzogbnVtYmVyO1xuICBzcWw6IHN0cmluZztcbiAgc3FsTWVzc2FnZTogc3RyaW5nO1xuICBzcWxTdGF0ZTogc3RyaW5nO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBpc0tuZXhFcnJvcihlOiB1bmtub3duKTogZSBpcyBLbmV4RXJyb3Ige1xuICByZXR1cm4gISEoZSBhcyBLbmV4RXJyb3IpPy5jb2RlICYmICEhKGUgYXMgS25leEVycm9yKT8uc3FsTWVzc2FnZSAmJiAhIShlIGFzIEtuZXhFcnJvcik/LnNxbFN0YXRlO1xufVxuXG5leHBvcnQgdHlwZSBLbmV4Q29sdW1uVHlwZSA9XG4gIHwgXCJzdHJpbmdcIlxuICB8IFwidGV4dFwiXG4gIHwgXCJzbWFsbHRleHRcIlxuICB8IFwibWVkaXVtdGV4dFwiXG4gIHwgXCJsb25ndGV4dFwiXG4gIHwgXCJpbnRlZ2VyXCJcbiAgfCBcImJpZ0ludGVnZXJcIlxuICB8IFwiZGVjaW1hbFwiXG4gIHwgXCJ0aW1lc3RhbXBcIlxuICB8IFwiYm9vbGVhblwiXG4gIHwgXCJmb3JlaWduXCJcbiAgfCBcInV1aWRcIlxuICB8IFwianNvblwiXG4gIHwgXCJmbG9hdFwiXG4gIHwgXCJkYXRlXCJcbiAgfCBcInRpbWVcIlxuICB8IFwiZGF0ZXRpbWVcIjtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkNvbHVtblR5cGUgPVxuICB8IFwic3RyaW5nXCJcbiAgfCBcInN0cmluZ1tdXCJcbiAgfCBcImludGVnZXJcIlxuICB8IFwiaW50ZWdlcltdXCJcbiAgfCBcImJpZ0ludGVnZXJcIlxuICB8IFwiYmlnSW50ZWdlcltdXCJcbiAgfCBcIm51bWJlck9yTnVtZXJpY1wiXG4gIHwgXCJudW1iZXJPck51bWVyaWNbXVwiXG4gIHwgXCJib29sZWFuXCJcbiAgfCBcImJvb2xlYW5bXVwiXG4gIHwgXCJkYXRlXCJcbiAgfCBcImRhdGVbXVwiXG4gIHwgXCJ1dWlkXCJcbiAgfCBcInV1aWRbXVwiXG4gIHwgXCJqc29uXCI7XG5leHBvcnQgdHlwZSBNaWdyYXRpb25Db2x1bW4gPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogTWlncmF0aW9uQ29sdW1uVHlwZTtcbiAgbnVsbGFibGU6IGJvb2xlYW47XG4gIG51bWJlclR5cGU/OiBcInJlYWxcIiB8IFwiZG91YmxlIHByZWNpc2lvblwiIHwgXCJudW1lcmljXCI7XG4gIGxlbmd0aD86IG51bWJlcjtcbiAgZGVmYXVsdFRvPzogc3RyaW5nO1xuICBwcmVjaXNpb24/OiBudW1iZXI7XG4gIHNjYWxlPzogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkluZGV4ID0ge1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgdHlwZTogXCJ1bmlxdWVcIiB8IFwiaW5kZXhcIiB8IFwiZnVsbHRleHRcIjtcbiAgcGFyc2VyPzogXCJidWlsdC1pblwiIHwgXCJuZ3JhbVwiO1xufTtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkZvcmVpZ24gPSB7XG4gIGNvbHVtbnM6IHN0cmluZ1tdO1xuICB0bzogc3RyaW5nO1xuICBvblVwZGF0ZTogUmVsYXRpb25PbjtcbiAgb25EZWxldGU6IFJlbGF0aW9uT247XG59O1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uSm9pblRhYmxlID0ge1xuICB0YWJsZTogc3RyaW5nO1xuICBpbmRleGVzOiBNaWdyYXRpb25JbmRleFtdO1xuICBjb2x1bW5zOiBNaWdyYXRpb25Db2x1bW5bXTtcbiAgZm9yZWlnbnM6IE1pZ3JhdGlvbkZvcmVpZ25bXTtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25TZXQgPSB7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIGNvbHVtbnM6IE1pZ3JhdGlvbkNvbHVtbltdO1xuICBpbmRleGVzOiBNaWdyYXRpb25JbmRleFtdO1xuICBmb3JlaWduczogTWlncmF0aW9uRm9yZWlnbltdO1xufTtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvblNldEFuZEpvaW5UYWJsZSA9IE1pZ3JhdGlvblNldCAmIHtcbiAgam9pblRhYmxlczogTWlncmF0aW9uSm9pblRhYmxlW107XG59O1xuZXhwb3J0IHR5cGUgR2VuTWlncmF0aW9uQ29kZSA9IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgdGFibGU6IHN0cmluZztcbiAgdHlwZTogXCJub3JtYWxcIiB8IFwiZm9yZWlnblwiO1xuICBmb3JtYXR0ZWQ6IHN0cmluZyB8IG51bGw7XG59O1xuXG4vKiBBcGkgKi9cbmV4cG9ydCB0eXBlIEFwaVBhcmFtID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEFwaVBhcmFtVHlwZTtcbiAgb3B0aW9uYWw6IGJvb2xlYW47XG4gIGRlZmF1bHREZWY/OiBzdHJpbmc7XG59O1xuZXhwb3J0IG5hbWVzcGFjZSBBcGlQYXJhbVR5cGUge1xuICBleHBvcnQgdHlwZSBPYmplY3QgPSB7XG4gICAgdDogXCJvYmplY3RcIjtcbiAgICBwcm9wczogQXBpUGFyYW1bXTtcbiAgfTtcbiAgZXhwb3J0IHR5cGUgVW5pb24gPSB7XG4gICAgdDogXCJ1bmlvblwiO1xuICAgIHR5cGVzOiBBcGlQYXJhbVR5cGVbXTtcbiAgfTtcbiAgZXhwb3J0IHR5cGUgSW50ZXJzZWN0aW9uID0ge1xuICAgIHQ6IFwiaW50ZXJzZWN0aW9uXCI7XG4gICAgdHlwZXM6IEFwaVBhcmFtVHlwZVtdO1xuICB9O1xuICBleHBvcnQgdHlwZSBTdHJpbmdMaXRlcmFsID0ge1xuICAgIHQ6IFwic3RyaW5nLWxpdGVyYWxcIjtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9O1xuICBleHBvcnQgdHlwZSBOdW1lcmljTGl0ZXJhbCA9IHtcbiAgICB0OiBcIm51bWVyaWMtbGl0ZXJhbFwiO1xuICAgIHZhbHVlOiBudW1iZXI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIEFycmF5ID0ge1xuICAgIHQ6IFwiYXJyYXlcIjtcbiAgICBlbGVtZW50c1R5cGU6IEFwaVBhcmFtVHlwZTtcbiAgfTtcbiAgZXhwb3J0IHR5cGUgUmVmID0ge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhcmdzPzogQXBpUGFyYW1UeXBlW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIEluZGV4ZWRBY2Nlc3MgPSB7XG4gICAgdDogXCJpbmRleGVkLWFjY2Vzc1wiO1xuICAgIG9iamVjdDogQXBpUGFyYW1UeXBlO1xuICAgIGluZGV4OiBBcGlQYXJhbVR5cGU7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFR1cGxlVHlwZSA9IHtcbiAgICB0OiBcInR1cGxlLXR5cGVcIjtcbiAgICBlbGVtZW50czogQXBpUGFyYW1UeXBlW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIFBpY2sgPSBSZWYgJiB7XG4gICAgdDogXCJyZWZcIjtcbiAgICBpZDogXCJQaWNrXCI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIE9taXQgPSBSZWYgJiB7XG4gICAgdDogXCJyZWZcIjtcbiAgICBpZDogXCJPbWl0XCI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFBhcnRpYWwgPSBSZWYgJiB7XG4gICAgdDogXCJyZWZcIjtcbiAgICBpZDogXCJQYXJ0aWFsXCI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFByb21pc2UgPSBSZWYgJiB7XG4gICAgdDogXCJyZWZcIjtcbiAgICBpZDogXCJQcm9taXNlXCI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIENvbnRleHQgPSBSZWYgJiB7XG4gICAgdDogXCJyZWZcIjtcbiAgICBpZDogXCJDb250ZXh0XCI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFR5cGVQYXJhbSA9IHtcbiAgICB0OiBcInR5cGUtcGFyYW1cIjtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnN0cmFpbnQ/OiBBcGlQYXJhbVR5cGU7XG4gIH07XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5PYmplY3Qge1xuICAgIHJldHVybiAodiBhcyBBcGlQYXJhbVR5cGUuT2JqZWN0KT8udCA9PT0gXCJvYmplY3RcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNVbmlvbih2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuVW5pb24ge1xuICAgIHJldHVybiAodiBhcyBBcGlQYXJhbVR5cGUuVW5pb24pPy50ID09PSBcInVuaW9uXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZXJzZWN0aW9uKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5JbnRlcnNlY3Rpb24ge1xuICAgIHJldHVybiAodiBhcyBBcGlQYXJhbVR5cGUuSW50ZXJzZWN0aW9uKT8udCA9PT0gXCJpbnRlcnNlY3Rpb25cIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdMaXRlcmFsKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5TdHJpbmdMaXRlcmFsIHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLlN0cmluZ0xpdGVyYWwpPy50ID09PSBcInN0cmluZy1saXRlcmFsXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzTnVtZXJpY0xpdGVyYWwodjogdW5rbm93bik6IHYgaXMgQXBpUGFyYW1UeXBlLk51bWVyaWNMaXRlcmFsIHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLk51bWVyaWNMaXRlcmFsKT8udCA9PT0gXCJudW1lcmljLWxpdGVyYWxcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNBcnJheSh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuQXJyYXkge1xuICAgIHJldHVybiAodiBhcyBBcGlQYXJhbVR5cGUuQXJyYXkpPy50ID09PSBcImFycmF5XCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUmVmKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5SZWYge1xuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJiB2ICE9PSBudWxsICYmICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNJbmRleGVkQWNjZXNzKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5JbmRleGVkQWNjZXNzIHtcbiAgICByZXR1cm4gdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiYgdiAhPT0gbnVsbCAmJiAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwiaW5kZXhlZC1hY2Nlc3NcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNUdXBsZVR5cGUodjogdW5rbm93bik6IHYgaXMgQXBpUGFyYW1UeXBlLlR1cGxlVHlwZSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYgIT09IG51bGwgJiYgKHYgYXMgeyB0PzogdW5rbm93biB9KS50ID09PSBcInR1cGxlLXR5cGVcIjtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNQaWNrKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5QaWNrIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiUGlja1wiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNPbWl0KHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5PbWl0IHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiT21pdFwiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNQYXJ0aWFsKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5QYXJ0aWFsIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiUGFydGlhbFwiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNQcm9taXNlKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5Qcm9taXNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiUHJvbWlzZVwiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNDb250ZXh0KHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5Db250ZXh0IHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiQ29udGV4dFwiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNSZWZLbmV4KHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5SZWYge1xuICAgIHJldHVybiAoXG4gICAgICB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgdiAhPT0gbnVsbCAmJlxuICAgICAgKHYgYXMgeyB0PzogdW5rbm93biB9KS50ID09PSBcInJlZlwiICYmXG4gICAgICAodiBhcyB7IGlkPzogdW5rbm93biB9KS5pZCA9PT0gXCJLbmV4XCJcbiAgICApO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1R5cGVQYXJhbSh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuVHlwZVBhcmFtIHtcbiAgICByZXR1cm4gdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiYgdiAhPT0gbnVsbCAmJiAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwidHlwZS1wYXJhbVwiO1xuICB9XG59XG5leHBvcnQgdHlwZSBBcGlQYXJhbVR5cGUgPVxuICB8IFwic3RyaW5nXCJcbiAgfCBcIm51bWJlclwiXG4gIHwgXCJib29sZWFuXCJcbiAgfCBcIm51bGxcIlxuICB8IFwidW5kZWZpbmVkXCJcbiAgfCBcInZvaWRcIlxuICB8IFwiYW55XCJcbiAgfCBcInVua25vd25cIlxuICB8IFwidHJ1ZVwiXG4gIHwgXCJmYWxzZVwiXG4gIHwgQXBpUGFyYW1UeXBlLlN0cmluZ0xpdGVyYWxcbiAgfCBBcGlQYXJhbVR5cGUuTnVtZXJpY0xpdGVyYWxcbiAgfCBBcGlQYXJhbVR5cGUuT2JqZWN0XG4gIHwgQXBpUGFyYW1UeXBlLlVuaW9uXG4gIHwgQXBpUGFyYW1UeXBlLkludGVyc2VjdGlvblxuICB8IEFwaVBhcmFtVHlwZS5BcnJheVxuICB8IEFwaVBhcmFtVHlwZS5SZWZcbiAgfCBBcGlQYXJhbVR5cGUuSW5kZXhlZEFjY2Vzc1xuICB8IEFwaVBhcmFtVHlwZS5UeXBlUGFyYW1cbiAgfCBBcGlQYXJhbVR5cGUuVHVwbGVUeXBlO1xuXG4vKiBUZW1wbGF0ZSAqL1xuLyoqXG4gKiBVSSDsu7Ttj6zrhIztirgg66CM642U66eB7J2EIOychO2VnCDrqZTtg4DrjbDsnbTthLAg64W465Oc7J6F64uI64ukLlxuICpcbiAqICoq66qp7KCBKio6IFpvZCDsiqTtgqTrp4jroZzrtoDthLAg7ZSE66Gg7Yq47JeU65OcIFVJIOy7tO2PrOuEjO2KuOulvCDsnpDrj5kg7IOd7ISx7ZWY6riwIOychO2VnFxuICog66CM642U66eBIOygleuztOulvCDri7TsnYAg7Yq466asIOq1rOyhsOyeheuLiOuLpC4g6rCBIO2VhOuTnOqwgCDslrTrlqQgVUkg7Lu07Y+s64SM7Yq466GcXG4gKiDtkZztmITrkJjslrTslbwg7ZWY64qU7KeAKO2FjeyKpO2KuCwg7J2066+47KeALCDrgqDsp5wsIEVudW0g7ISg7YOdIOuTsSnrpbwg66qF7Iuc7ZWp64uI64ukLlxuICpcbiAqICoq67OA7ZmYIO2dkOumhCoqOlxuICogRW50aXR5IHN1YnNldCDihpIgRW50aXR5UHJvcE5vZGUg4oaSIFpvZCDsiqTtgqTrp4gg4oaSIFJlbmRlcmluZ05vZGUgKFVJ7JqpKSDihpIgUmVhY3Qg7Lu07Y+s64SM7Yq4IOy9lOuTnCDsg53shLFcbiAqXG4gKiAqKuyjvOyalCDtlYTrk5wqKjpcbiAqIC0gYHJlbmRlclR5cGVgOiBVSSDsu7Ttj6zrhIztirgg7Jyg7ZiVIChzdHJpbmctcGxhaW4sIG51bWJlci1ma19pZCwgZW51bXMsIGFycmF5IOuTsSlcbiAqIC0gYHpvZFR5cGVgOiDsm5Drs7ggWm9kIOyKpO2CpOuniCAodmFsaWRhdGlvbiDsmqkpXG4gKiAtIGBjaGlsZHJlbmA6IOykkeyyqeuQnCDqsJ3ssrQg7ZWE65Oc65OkIChvYmplY3Tsnbwg65WMKVxuICogLSBgZWxlbWVudGA6IOuwsOyXtCDsmpTshowg7YOA7J6FIChhcnJheeydvCDrlYwpXG4gKlxuICogKirsgqzsmqkg7JyE7LmYKio6XG4gKiAtIHpvZC1jb252ZXJ0ZXIudHPsnZggem9kVHlwZVRvUmVuZGVyaW5nTm9kZSgp7JeQ7IScIOyDneyEsVxuICogLSB2aWV3X2Zvcm0udGVtcGxhdGUudHMsIHZpZXdfbGlzdC50ZW1wbGF0ZS50cyDrk7Hsl5DshJwgUmVhY3Qg7Lu07Y+s64SM7Yq4IOy9lOuTnCDsg53shLHsl5Ag7IKs7JqpXG4gKi9cbi8vIOyFgO2UhCDssLjsobAg7YOA7J6F7J2066+A66GcIFpvZCDsg53rnrXtlZjqs6Ag7KeB7KCRIOygleydmFxuZXhwb3J0IGNvbnN0IFJlbmRlcmluZ05vZGUgPSB6LmFueSgpO1xuZXhwb3J0IHR5cGUgUmVuZGVyaW5nTm9kZSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICByZW5kZXJUeXBlOlxuICAgIHwgXCJzdHJpbmctcGxhaW5cIlxuICAgIHwgXCJzdHJpbmctaW1hZ2VcIlxuICAgIHwgXCJzdHJpbmctZGF0ZXRpbWVcIlxuICAgIHwgXCJzdHJpbmctZGF0ZVwiXG4gICAgfCBcImRhdGV0aW1lXCJcbiAgICB8IFwibnVtYmVyLXBsYWluXCJcbiAgICB8IFwibnVtYmVyLWlkXCJcbiAgICB8IFwibnVtYmVyLWZrX2lkXCJcbiAgICB8IFwiYm9vbGVhblwiXG4gICAgfCBcImVudW1zXCJcbiAgICB8IFwiYXJyYXlcIlxuICAgIHwgXCJhcnJheS1pbWFnZXNcIlxuICAgIHwgXCJvYmplY3RcIlxuICAgIHwgXCJvYmplY3QtcGlja1wiXG4gICAgfCBcInJlY29yZFwiO1xuICB6b2RUeXBlOiB6LlpvZFR5cGVBbnk7XG4gIGVsZW1lbnQ/OiBSZW5kZXJpbmdOb2RlO1xuICBjaGlsZHJlbj86IFJlbmRlcmluZ05vZGVbXTtcbiAgY29uZmlnPzoge1xuICAgIHBpY2tlZDogc3RyaW5nO1xuICB9O1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIG51bGxhYmxlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEJhc2VQcm9wRmllbGRzID0ge1xuICBuYW1lOiB6LnN0cmluZygpLFxuICBkZXNjOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG51bGxhYmxlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB0b0ZpbHRlcjogei5saXRlcmFsKHRydWUpLm9wdGlvbmFsKCksXG4gIGRiRGVmYXVsdDogei51bmlvbihbei5zdHJpbmcoKSwgei5udW1iZXIoKSwgei5ib29sZWFuKCldKS5vcHRpb25hbCgpLFxufTtcblxuLy8g67aA6rCAIO2VhOuTnOqwgCDtlYTsmpTsl4bripQgcHJvcFxuY29uc3QgQmFzZVByb3BGaWVsZHNXaXRob3V0QWRkaXRpb25hbCA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei51bmlvbihbXG4gICAgICB6LmxpdGVyYWwoXCJpbnRlZ2VyXCIpLFxuICAgICAgei5saXRlcmFsKFwiaW50ZWdlcltdXCIpLFxuICAgICAgei5saXRlcmFsKFwiYmlnSW50ZWdlclwiKSxcbiAgICAgIHoubGl0ZXJhbChcImJpZ0ludGVnZXJbXVwiKSxcbiAgICAgIHoubGl0ZXJhbChcImJvb2xlYW5cIiksXG4gICAgICB6LmxpdGVyYWwoXCJib29sZWFuW11cIiksXG4gICAgICB6LmxpdGVyYWwoXCJkYXRlXCIpLFxuICAgICAgei5saXRlcmFsKFwiZGF0ZVtdXCIpLFxuICAgICAgei5saXRlcmFsKFwidXVpZFwiKSxcbiAgICAgIHoubGl0ZXJhbChcInV1aWRbXVwiKSxcbiAgICBdKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG4vLyBwcmVjaXNpb24vc2NhbGUg7ZWE65OcXG5jb25zdCBQcmVjaXNpb25TY2FsZUZpZWxkcyA9IHtcbiAgcHJlY2lzaW9uOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHNjYWxlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59O1xuXG4vLyDqsIEg7YOA7J6F67OEIOyKpO2CpOuniCDsoJXsnZhcblxuY29uc3QgU3RyaW5nUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwic3RyaW5nXCIpLFxuICAgIGxlbmd0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5jb25zdCBTdHJpbmdBcnJheVByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcInN0cmluZ1tdXCIpLFxuICAgIGxlbmd0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IEVudW1Qcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJlbnVtXCIpLFxuICAgIGlkOiB6LnN0cmluZygpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5jb25zdCBFbnVtQXJyYXlQcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJlbnVtW11cIiksXG4gICAgaWQ6IHouc3RyaW5nKCksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuY29uc3QgTnVtYmVyUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwibnVtYmVyXCIpLFxuICAgIC4uLlByZWNpc2lvblNjYWxlRmllbGRzLFxuICAgIG51bWJlclR5cGU6IHouZW51bShbXCJyZWFsXCIsIFwiZG91YmxlIHByZWNpc2lvblwiLCBcIm51bWVyaWNcIl0pLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5zdHJpY3QoKTtcbmNvbnN0IE51bWJlckFycmF5UHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwibnVtYmVyW11cIiksXG4gICAgLi4uUHJlY2lzaW9uU2NhbGVGaWVsZHMsXG4gICAgbnVtYmVyVHlwZTogei5lbnVtKFtcInJlYWxcIiwgXCJkb3VibGUgcHJlY2lzaW9uXCIsIFwibnVtZXJpY1wiXSkub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBOdW1lcmljUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwibnVtZXJpY1wiKSxcbiAgICAuLi5QcmVjaXNpb25TY2FsZUZpZWxkcyxcbiAgfSlcbiAgLnN0cmljdCgpO1xuY29uc3QgTnVtZXJpY0FycmF5UHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwibnVtZXJpY1tdXCIpLFxuICAgIC4uLlByZWNpc2lvblNjYWxlRmllbGRzLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IEpzb25Qcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJqc29uXCIpLFxuICAgIGlkOiB6LnN0cmluZygpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IFZpcnR1YWxQcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJ2aXJ0dWFsXCIpLFxuICAgIGlkOiB6LnN0cmluZygpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbi8vIFJlbGF0aW9uIO2DgOyeheydgCByZWxhdGlvblR5cGXsl5Ag65Sw6528IOyEuOu2hO2ZlFxuY29uc3QgQmFzZVJlbGF0aW9uRmllbGRzID0ge1xuICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgdHlwZTogei5saXRlcmFsKFwicmVsYXRpb25cIiksXG4gIHdpdGg6IHouc3RyaW5nKCksXG59O1xuXG4vLyBSZWxhdGlvbk9uIO2DgOyehVxuY29uc3QgUmVsYXRpb25PblNjaGVtYSA9IHouZW51bShbXCJDQVNDQURFXCIsIFwiU0VUIE5VTExcIiwgXCJOTyBBQ1RJT05cIiwgXCJTRVQgREVGQVVMVFwiLCBcIlJFU1RSSUNUXCJdKTtcblxuY29uc3QgQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUmVsYXRpb25GaWVsZHMsXG4gICAgcmVsYXRpb25UeXBlOiB6LmxpdGVyYWwoXCJCZWxvbmdzVG9PbmVcIiksXG4gICAgY3VzdG9tSm9pbkNsYXVzZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHVzZUNvbnN0cmFpbnQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gICAgb25VcGRhdGU6IFJlbGF0aW9uT25TY2hlbWEub3B0aW9uYWwoKSxcbiAgICBvbkRlbGV0ZTogUmVsYXRpb25PblNjaGVtYS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IEhhc01hbnlSZWxhdGlvblByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VSZWxhdGlvbkZpZWxkcyxcbiAgICByZWxhdGlvblR5cGU6IHoubGl0ZXJhbChcIkhhc01hbnlcIiksXG4gICAgam9pbkNvbHVtbjogei5zdHJpbmcoKSxcbiAgICBmcm9tQ29sdW1uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuY29uc3QgTWFueVRvTWFueVJlbGF0aW9uUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVJlbGF0aW9uRmllbGRzLFxuICAgIHJlbGF0aW9uVHlwZTogei5saXRlcmFsKFwiTWFueVRvTWFueVwiKSxcbiAgICBqb2luVGFibGU6IHouc3RyaW5nKCksXG4gICAgb25VcGRhdGU6IFJlbGF0aW9uT25TY2hlbWEsXG4gICAgb25EZWxldGU6IFJlbGF0aW9uT25TY2hlbWEsXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuY29uc3QgT25lVG9PbmVSZWxhdGlvblByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VSZWxhdGlvbkZpZWxkcyxcbiAgICByZWxhdGlvblR5cGU6IHoubGl0ZXJhbChcIk9uZVRvT25lXCIpLFxuICAgIGN1c3RvbUpvaW5DbGF1c2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBoYXNKb2luQ29sdW1uOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAgIHVzZUNvbnN0cmFpbnQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gICAgb25VcGRhdGU6IFJlbGF0aW9uT25TY2hlbWEub3B0aW9uYWwoKSxcbiAgICBvbkRlbGV0ZTogUmVsYXRpb25PblNjaGVtYS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IFJlbGF0aW9uVHlwZXMgPSBbXCJCZWxvbmdzVG9PbmVcIiwgXCJIYXNNYW55XCIsIFwiTWFueVRvTWFueVwiLCBcIk9uZVRvT25lXCJdIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFJlbGF0aW9uUHJvcFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFxuICBcInJlbGF0aW9uVHlwZVwiLFxuICBbXG4gICAgQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wU2NoZW1hLFxuICAgIEhhc01hbnlSZWxhdGlvblByb3BTY2hlbWEsXG4gICAgTWFueVRvTWFueVJlbGF0aW9uUHJvcFNjaGVtYSxcbiAgICBPbmVUb09uZVJlbGF0aW9uUHJvcFNjaGVtYSxcbiAgXSxcbiAge1xuICAgIGVycm9yOiAoaXNzKSA9PlxuICAgICAgYHJlbGF0aW9uVHlwZeydgCAke1JlbGF0aW9uVHlwZXMubWFwKCh0KSA9PiBgJyR7dH0nYCkuam9pbihcIiwgXCIpfSDspJEg7ZWY64KY7Jes7JW8IO2VqeuLiOuLpC4g7J6F66Cl6rCSOiBcIiR7KGlzcy5pbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LnJlbGF0aW9uVHlwZX1cImAsXG4gIH0sXG4pO1xuXG5jb25zdCBOb3JtYWxQcm9wVHlwZXMgPSBbXG4gIFwiaW50ZWdlclwiLFxuICBcImludGVnZXJbXVwiLFxuICBcImJpZ0ludGVnZXJcIixcbiAgXCJiaWdJbnRlZ2VyW11cIixcbiAgXCJzdHJpbmdcIixcbiAgXCJzdHJpbmdbXVwiLFxuICBcImVudW1cIixcbiAgXCJlbnVtW11cIixcbiAgXCJudW1iZXJcIixcbiAgXCJudW1iZXJbXVwiLFxuICBcIm51bWVyaWNcIixcbiAgXCJudW1lcmljW11cIixcbiAgXCJib29sZWFuXCIsXG4gIFwiYm9vbGVhbltdXCIsXG4gIFwiZGF0ZVwiLFxuICBcImRhdGVbXVwiLFxuICBcInV1aWRcIixcbiAgXCJ1dWlkW11cIixcbiAgXCJqc29uXCIsXG4gIFwidmlydHVhbFwiLFxuXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBOb3JtYWxQcm9wU2NoZW1hID0gei5kaXNjcmltaW5hdGVkVW5pb24oXG4gIFwidHlwZVwiLFxuICBbXG4gICAgQmFzZVByb3BGaWVsZHNXaXRob3V0QWRkaXRpb25hbCxcbiAgICBTdHJpbmdQcm9wU2NoZW1hLFxuICAgIFN0cmluZ0FycmF5UHJvcFNjaGVtYSxcbiAgICBFbnVtUHJvcFNjaGVtYSxcbiAgICBFbnVtQXJyYXlQcm9wU2NoZW1hLFxuICAgIE51bWJlclByb3BTY2hlbWEsXG4gICAgTnVtYmVyQXJyYXlQcm9wU2NoZW1hLFxuICAgIE51bWVyaWNQcm9wU2NoZW1hLFxuICAgIE51bWVyaWNBcnJheVByb3BTY2hlbWEsXG4gICAgSnNvblByb3BTY2hlbWEsXG4gICAgVmlydHVhbFByb3BTY2hlbWEsXG4gIF0sXG4gIHtcbiAgICBlcnJvcjogKGlzcykgPT5cbiAgICAgIGB0eXBl7J2AICR7Tm9ybWFsUHJvcFR5cGVzLm1hcCgodCkgPT4gYCcke3R9J2ApLmpvaW4oXCIsIFwiKX0g7KSRIO2VmOuCmOyXrOyVvCDtlanri4jri6QuIOyeheugpeqwkjogXCIkeyhpc3MuaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy50eXBlfVwiYCxcbiAgfSxcbik7XG5cbmNvbnN0IEFsbFByb3BUeXBlcyA9IFsuLi5Ob3JtYWxQcm9wVHlwZXMsIFwicmVsYXRpb25cIl0gYXMgY29uc3Q7XG5jb25zdCBFbnRpdHlQcm9wU2NoZW1hID0gei5kaXNjcmltaW5hdGVkVW5pb24oXCJ0eXBlXCIsIFtOb3JtYWxQcm9wU2NoZW1hLCBSZWxhdGlvblByb3BTY2hlbWFdLCB7XG4gIGVycm9yOiAoaXNzKSA9PlxuICAgIGB0eXBl7J2AICR7QWxsUHJvcFR5cGVzLm1hcCgodCkgPT4gYCcke3R9J2ApLmpvaW4oXCIsIFwiKX0g7KSRIO2VmOuCmOyXrOyVvCDtlanri4jri6QuIOyeheugpeqwkjogXCIkeyhpc3MuaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy50eXBlfVwiYCxcbn0pO1xuXG4vLyBFbnRpdHlJbmRleCDsiqTtgqTrp4gg7KCV7J2YXG5jb25zdCBFbnRpdHlJbmRleFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgdHlwZTogei5lbnVtKFtcImluZGV4XCIsIFwidW5pcXVlXCIsIFwiZnVsbHRleHRcIl0pLFxuICAgIGNvbHVtbnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHBhcnNlcjogei5lbnVtKFtcImJ1aWx0LWluXCIsIFwibmdyYW1cIl0pLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuZXhwb3J0IGNvbnN0IEVudGl0eUpzb25TY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLmRlc2NyaWJlKFwiUGFzY2FsQ2FzZeuhnCDrkJwgRW50aXR5IElEXCIpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLmRlc2NyaWJlKFwiRW50aXR5IOydtOumhFwiKSxcbiAgICB0YWJsZTogei5zdHJpbmcoKS5kZXNjcmliZShcInNuYWtlX2Nhc2XroZwg65CcIO2FjOydtOu4lOuqhVwiKSxcbiAgICBwYXJlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwi67aA66qoIEVudGl0eSBJRFwiKSxcbiAgICBwcm9wczogei5hcnJheShFbnRpdHlQcm9wU2NoZW1hKSxcbiAgICBpbmRleGVzOiB6LmFycmF5KEVudGl0eUluZGV4U2NoZW1hKSxcbiAgICBzdWJzZXRzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LmFycmF5KHouc3RyaW5nKCkpKSxcbiAgICBlbnVtczogei5yZWNvcmQoei5zdHJpbmcoKSwgei5yZWNvcmQoei5zdHJpbmcoKSwgei5zdHJpbmcoKSkpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmV4cG9ydCBjb25zdCBUZW1wbGF0ZU9wdGlvbnMgPSB6Lm9iamVjdCh7XG4gIGVudGl0eTogRW50aXR5SnNvblNjaGVtYS5vbWl0KHsgaWQ6IHRydWUgfSlcbiAgICAuZXh0ZW5kKHtcbiAgICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIH0pXG4gICAgLnBhcnRpYWwoe1xuICAgICAgdGFibGU6IHRydWUsXG4gICAgICBwcm9wczogdHJ1ZSxcbiAgICAgIGluZGV4ZXM6IHRydWUsXG4gICAgICBzdWJzZXRzOiB0cnVlLFxuICAgICAgZW51bXM6IHRydWUsXG4gICAgfSksXG4gIGluaXRfdHlwZXM6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIGdlbmVyYXRlZDogei5vYmplY3Qoe30pLFxuICBnZW5lcmF0ZWRfc3NvOiB6Lm9iamVjdCh7fSksXG4gIGdlbmVyYXRlZF9odHRwOiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICBtb2RlbDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGRlZmF1bHRTZWFyY2hGaWVsZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlZmF1bHRPcmRlckJ5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxuICBtb2RlbF90ZXN0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICBicmlkZ2U6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHNlcnZpY2U6IHoub2JqZWN0KHtcbiAgICBuYW1lc1JlY29yZDogei5vYmplY3Qoe1xuICAgICAgZnM6IHouc3RyaW5nKCksXG4gICAgICBmc1BsdXJhbDogei5zdHJpbmcoKSxcbiAgICAgIGNhbWVsOiB6LnN0cmluZygpLFxuICAgICAgY2FtZWxQbHVyYWw6IHouc3RyaW5nKCksXG4gICAgICBjYXBpdGFsOiB6LnN0cmluZygpLFxuICAgICAgY2FwaXRhbFBsdXJhbDogei5zdHJpbmcoKSxcbiAgICAgIHVwcGVyOiB6LnN0cmluZygpLFxuICAgICAgY29uc3RhbnQ6IHouc3RyaW5nKCksXG4gICAgfSksXG4gICAgbW9kZWxUc1BhdGg6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2xpc3Q6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgICBleHRyYTogei51bmtub3duKCksXG4gIH0pLFxuICB2aWV3X2xpc3RfY29sdW1uczogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGNvbHVtbnM6IHpcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgICAgICBsYWJlbDogei5zdHJpbmcoKSxcbiAgICAgICAgdGM6IHouc3RyaW5nKCksXG4gICAgICB9KVxuICAgICAgLmFycmF5KCksXG4gICAgY29sdW1uSW1wb3J0czogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfc2VhcmNoX2lucHV0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2Zvcm06IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfaWRfYWxsX3NlbGVjdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19pZF9hc3luY19zZWxlY3Q6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgICB0ZXh0RmllbGQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2VudW1zX3NlbGVjdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGVudW1JZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZW51bXNfZHJvcGRvd246IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgICBlbnVtSWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2VudW1zX2J1dHRvbnNldDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGVudW1JZDogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcbmV4cG9ydCB0eXBlIFRlbXBsYXRlT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIFRlbXBsYXRlT3B0aW9ucz47XG5cbmV4cG9ydCBjb25zdCBUZW1wbGF0ZUtleSA9IHouZW51bShbXG4gIFwiZW50aXR5XCIsXG4gIFwiaW5pdF90eXBlc1wiLFxuICBcImdlbmVyYXRlZFwiLFxuICBcImdlbmVyYXRlZF9zc29cIixcbiAgXCJnZW5lcmF0ZWRfaHR0cFwiLFxuICBcIm1vZGVsXCIsXG4gIFwibW9kZWxfdGVzdFwiLFxuICBcImJyaWRnZVwiLFxuICBcInNlcnZpY2VcIixcbiAgXCJ2aWV3X2xpc3RcIixcbiAgXCJ2aWV3X2xpc3RfY29sdW1uc1wiLFxuICBcInZpZXdfc2VhcmNoX2lucHV0XCIsXG4gIFwidmlld19mb3JtXCIsXG4gIFwidmlld19pZF9hbGxfc2VsZWN0XCIsXG4gIFwidmlld19pZF9hc3luY19zZWxlY3RcIixcbiAgXCJ2aWV3X2VudW1zX3NlbGVjdFwiLFxuICBcInZpZXdfZW51bXNfZHJvcGRvd25cIixcbiAgXCJ2aWV3X2VudW1zX2J1dHRvbnNldFwiLFxuXSk7XG5leHBvcnQgdHlwZSBUZW1wbGF0ZUtleSA9IHouaW5mZXI8dHlwZW9mIFRlbXBsYXRlS2V5PjtcblxuZXhwb3J0IGNvbnN0IEdlbmVyYXRlT3B0aW9ucyA9IHoub2JqZWN0KHtcbiAgb3ZlcndyaXRlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBHZW5lcmF0ZU9wdGlvbnMgPSB6LmluZmVyPHR5cGVvZiBHZW5lcmF0ZU9wdGlvbnM+O1xuXG5leHBvcnQgY29uc3QgUGF0aEFuZENvZGUgPSB6Lm9iamVjdCh7XG4gIHBhdGg6IHouc3RyaW5nKCksXG4gIGNvZGU6IHouc3RyaW5nKCksXG59KTtcbmV4cG9ydCB0eXBlIFBhdGhBbmRDb2RlID0gei5pbmZlcjx0eXBlb2YgUGF0aEFuZENvZGU+O1xuXG5leHBvcnQgdHlwZSBGaXh0dXJlU2VhcmNoT3B0aW9ucyA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZmllbGQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VhcmNoVHlwZTogXCJlcXVhbHNcIiB8IFwibGlrZVwiO1xufTtcblxudHlwZSBDb2x1bW5WYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEZpeHR1cmVSZWNvcmQgPSB7XG4gIGZpeHR1cmVJZDogc3RyaW5nO1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBpZDogbnVtYmVyO1xuICBjb2x1bW5zOiB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgcHJvcDogRW50aXR5UHJvcDtcbiAgICAgIHZhbHVlOiBDb2x1bW5WYWx1ZSB8IENvbHVtblZhbHVlW107XG4gICAgfTtcbiAgfTtcbiAgZmV0Y2hlZFJlY29yZHM6IHN0cmluZ1tdO1xuICBiZWxvbmdzUmVjb3Jkczogc3RyaW5nW107XG4gIHRhcmdldD86IEZpeHR1cmVSZWNvcmQ7IC8vIEltcG9ydCDrjIDsg4EgREIg66CI7L2U65OcKGlk6rCAIOqwmeydgClcbiAgdW5pcXVlPzogRml4dHVyZVJlY29yZDsgLy8gSW1wb3J0IOuMgOyDgSBEQiDroIjsvZTrk5wodW5pcXVlIGtleeqwgCDqsJnsnYApXG4gIG92ZXJyaWRlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpeHR1cmVJbXBvcnRSZXN1bHQgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGRhdGE6IHtcbiAgICBba2V5OiBzdHJpbmddOiBDb2x1bW5WYWx1ZTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTm9kZSA9IHtcbiAgZml4dHVyZUlkOiBzdHJpbmc7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIHJlbGF0ZWQ6IFNldDxzdHJpbmc+O1xufTtcblxuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0VtcHR5SW50ZXJmYWNlOiBzb25hbXUuZ2VuZXJhdGVkLnNzbyDsl5DshJwg7ZmV7J6l7J2EIOychO2VtCDspIDruYTrkJwg67mIIOyduO2EsO2OmOydtOyKpFxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVNjaGVtYUV4dGVuZCB7fVxuZXhwb3J0IHR5cGUgTWFueVRvTWFueUJhc2VTY2hlbWE8RnJvbUlkS2V5IGV4dGVuZHMgc3RyaW5nLCBUb0lkS2V5IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgaWQ6IG51bWJlcjtcbn0gJiB7XG4gIFtLIGluIGAke0Zyb21JZEtleX1faWRgXTogbnVtYmVyO1xufSAmIHtcbiAgW0sgaW4gYCR7VG9JZEtleX1faWRgXTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgU29uYW11RmFzdGlmeUNvbmZpZyA9IHtcbiAgY29udGV4dFByb3ZpZGVyOiAoXG4gICAgZGVmYXVsdENvbnRleHQ6IFBpY2s8Q29udGV4dCwgXCJyZXF1ZXN0XCIgfCBcInJlcGx5XCIgfCBcImhlYWRlcnNcIiB8IFwiY3JlYXRlU1NFXCIgfCBcIm5haXRlU3RvcmVcIj4gJlxuICAgICAgQXV0aENvbnRleHQsXG4gICAgcmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsXG4gICAgcmVwbHk6IEZhc3RpZnlSZXBseSxcbiAgKSA9PiBDb250ZXh0IHwgUHJvbWlzZTxDb250ZXh0PjtcbiAgZ3VhcmRIYW5kbGVyOiAoXG4gICAgZ3VhcmQ6IEd1YXJkS2V5LFxuICAgIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LFxuICAgIGFwaToge1xuICAgICAgdHlwZVBhcmFtZXRlcnM6IEFwaVBhcmFtVHlwZS5UeXBlUGFyYW1bXTtcbiAgICAgIHBhcmFtZXRlcnM6IEFwaVBhcmFtW107XG4gICAgICByZXR1cm5UeXBlOiBBcGlQYXJhbVR5cGU7XG4gICAgICBtb2RlbE5hbWU6IHN0cmluZztcbiAgICAgIG1ldGhvZE5hbWU6IHN0cmluZztcbiAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgIG9wdGlvbnM6IEFwaURlY29yYXRvck9wdGlvbnM7XG4gICAgfSxcbiAgKSA9PiB2b2lkO1xuICBjYWNoZT86IHtcbiAgICBnZXQ6IChrZXk6IHN0cmluZykgPT4gUHJvbWlzZTx1bmtub3duIHwgbnVsbD47XG4gICAgcHV0OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duLCB0dGw/OiBudW1iZXIpID0+IFByb21pc2U8dm9pZD47XG4gICAgcmVzb2x2ZUtleTogKFxuICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgcmVxQm9keToge1xuICAgICAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICAgICAgfSxcbiAgICApID0+XG4gICAgICB8IHtcbiAgICAgICAgICBjYWNoZTogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIHwge1xuICAgICAgICAgIGNhY2hlOiB0cnVlO1xuICAgICAgICAgIGtleTogc3RyaW5nO1xuICAgICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgICAgfTtcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsieiIsInpBcnJheWFibGUiLCJzaGFwZSIsInVuaW9uIiwiYXJyYXkiLCJpc0ludGVnZXJTaW5nbGVQcm9wIiwicCIsInR5cGUiLCJpc0ludGVnZXJBcnJheVByb3AiLCJpc0ludGVnZXJQcm9wIiwiaXNCaWdJbnRlZ2VyU2luZ2xlUHJvcCIsImlzQmlnSW50ZWdlckFycmF5UHJvcCIsImlzQmlnSW50ZWdlclByb3AiLCJpc1N0cmluZ1NpbmdsZVByb3AiLCJpc1N0cmluZ0FycmF5UHJvcCIsImlzU3RyaW5nUHJvcCIsImlzRW51bVNpbmdsZVByb3AiLCJpc0VudW1BcnJheVByb3AiLCJpc0VudW1Qcm9wIiwiaXNOdW1iZXJTaW5nbGVQcm9wIiwiaXNOdW1iZXJBcnJheVByb3AiLCJpc051bWJlclByb3AiLCJpc051bWVyaWNTaW5nbGVQcm9wIiwiaXNOdW1lcmljQXJyYXlQcm9wIiwiaXNOdW1lcmljUHJvcCIsImlzQm9vbGVhblNpbmdsZVByb3AiLCJpc0Jvb2xlYW5BcnJheVByb3AiLCJpc0Jvb2xlYW5Qcm9wIiwiaXNEYXRlU2luZ2xlUHJvcCIsImlzRGF0ZUFycmF5UHJvcCIsImlzRGF0ZVByb3AiLCJpc1V1aWRTaW5nbGVQcm9wIiwiaXNVdWlkQXJyYXlQcm9wIiwiaXNVdWlkUHJvcCIsImlzSnNvblByb3AiLCJpc1ZpcnR1YWxQcm9wIiwiaXNSZWxhdGlvblByb3AiLCJpc09uZVRvT25lUmVsYXRpb25Qcm9wIiwicmVsYXRpb25UeXBlIiwiaXNCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AiLCJpc0hhc01hbnlSZWxhdGlvblByb3AiLCJpc01hbnlUb01hbnlSZWxhdGlvblByb3AiLCJpc0N1c3RvbUpvaW5DbGF1c2UiLCJjdXN0b20iLCJTb25hbXVRdWVyeU1vZGUiLCJlbnVtIiwiaXNLbmV4RXJyb3IiLCJlIiwiY29kZSIsInNxbE1lc3NhZ2UiLCJzcWxTdGF0ZSIsIkFwaVBhcmFtVHlwZSIsImlzT2JqZWN0IiwidiIsInQiLCJpc1VuaW9uIiwiaXNJbnRlcnNlY3Rpb24iLCJpc1N0cmluZ0xpdGVyYWwiLCJpc051bWVyaWNMaXRlcmFsIiwiaXNBcnJheSIsImlzUmVmIiwiaXNJbmRleGVkQWNjZXNzIiwiaXNUdXBsZVR5cGUiLCJpc1BpY2siLCJpZCIsImlzT21pdCIsImlzUGFydGlhbCIsImlzUHJvbWlzZSIsImlzQ29udGV4dCIsImlzUmVmS25leCIsImlzVHlwZVBhcmFtIiwiUmVuZGVyaW5nTm9kZSIsImFueSIsIkJhc2VQcm9wRmllbGRzIiwibmFtZSIsInN0cmluZyIsImRlc2MiLCJvcHRpb25hbCIsIm51bGxhYmxlIiwiYm9vbGVhbiIsInRvRmlsdGVyIiwibGl0ZXJhbCIsImRiRGVmYXVsdCIsIm51bWJlciIsIkJhc2VQcm9wRmllbGRzV2l0aG91dEFkZGl0aW9uYWwiLCJvYmplY3QiLCJzdHJpY3QiLCJQcmVjaXNpb25TY2FsZUZpZWxkcyIsInByZWNpc2lvbiIsInNjYWxlIiwiU3RyaW5nUHJvcFNjaGVtYSIsImxlbmd0aCIsIlN0cmluZ0FycmF5UHJvcFNjaGVtYSIsIkVudW1Qcm9wU2NoZW1hIiwiRW51bUFycmF5UHJvcFNjaGVtYSIsIk51bWJlclByb3BTY2hlbWEiLCJudW1iZXJUeXBlIiwiTnVtYmVyQXJyYXlQcm9wU2NoZW1hIiwiTnVtZXJpY1Byb3BTY2hlbWEiLCJOdW1lcmljQXJyYXlQcm9wU2NoZW1hIiwiSnNvblByb3BTY2hlbWEiLCJWaXJ0dWFsUHJvcFNjaGVtYSIsIkJhc2VSZWxhdGlvbkZpZWxkcyIsIndpdGgiLCJSZWxhdGlvbk9uU2NoZW1hIiwiQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wU2NoZW1hIiwiY3VzdG9tSm9pbkNsYXVzZSIsInVzZUNvbnN0cmFpbnQiLCJvblVwZGF0ZSIsIm9uRGVsZXRlIiwiSGFzTWFueVJlbGF0aW9uUHJvcFNjaGVtYSIsImpvaW5Db2x1bW4iLCJmcm9tQ29sdW1uIiwiTWFueVRvTWFueVJlbGF0aW9uUHJvcFNjaGVtYSIsImpvaW5UYWJsZSIsIk9uZVRvT25lUmVsYXRpb25Qcm9wU2NoZW1hIiwiaGFzSm9pbkNvbHVtbiIsIlJlbGF0aW9uVHlwZXMiLCJSZWxhdGlvblByb3BTY2hlbWEiLCJkaXNjcmltaW5hdGVkVW5pb24iLCJlcnJvciIsImlzcyIsIm1hcCIsImpvaW4iLCJpbnB1dCIsIk5vcm1hbFByb3BUeXBlcyIsIk5vcm1hbFByb3BTY2hlbWEiLCJBbGxQcm9wVHlwZXMiLCJFbnRpdHlQcm9wU2NoZW1hIiwiRW50aXR5SW5kZXhTY2hlbWEiLCJjb2x1bW5zIiwicGFyc2VyIiwiRW50aXR5SnNvblNjaGVtYSIsImRlc2NyaWJlIiwidGl0bGUiLCJ0YWJsZSIsInBhcmVudElkIiwicHJvcHMiLCJpbmRleGVzIiwic3Vic2V0cyIsInJlY29yZCIsImVudW1zIiwiVGVtcGxhdGVPcHRpb25zIiwiZW50aXR5Iiwib21pdCIsImV4dGVuZCIsImVudGl0eUlkIiwicGFydGlhbCIsImluaXRfdHlwZXMiLCJnZW5lcmF0ZWQiLCJnZW5lcmF0ZWRfc3NvIiwiZ2VuZXJhdGVkX2h0dHAiLCJtb2RlbCIsImRlZmF1bHRTZWFyY2hGaWVsZCIsImRlZmF1bHRPcmRlckJ5IiwibW9kZWxfdGVzdCIsImJyaWRnZSIsInNlcnZpY2UiLCJuYW1lc1JlY29yZCIsImZzIiwiZnNQbHVyYWwiLCJjYW1lbCIsImNhbWVsUGx1cmFsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJ1cHBlciIsImNvbnN0YW50IiwibW9kZWxUc1BhdGgiLCJ2aWV3X2xpc3QiLCJleHRyYSIsInVua25vd24iLCJ2aWV3X2xpc3RfY29sdW1ucyIsImxhYmVsIiwidGMiLCJjb2x1bW5JbXBvcnRzIiwidmlld19zZWFyY2hfaW5wdXQiLCJ2aWV3X2Zvcm0iLCJ2aWV3X2lkX2FsbF9zZWxlY3QiLCJ2aWV3X2lkX2FzeW5jX3NlbGVjdCIsInRleHRGaWVsZCIsInZpZXdfZW51bXNfc2VsZWN0IiwiZW51bUlkIiwidmlld19lbnVtc19kcm9wZG93biIsInZpZXdfZW51bXNfYnV0dG9uc2V0IiwiVGVtcGxhdGVLZXkiLCJHZW5lcmF0ZU9wdGlvbnMiLCJvdmVyd3JpdGUiLCJQ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
|
|
546
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QgfSBmcm9tIFwiZmFzdGlmeVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB0eXBlIHsgQXBpRGVjb3JhdG9yT3B0aW9ucywgQXV0aENvbnRleHQsIENvbnRleHQgfSBmcm9tIFwiLi4vYXBpXCI7XG5pbXBvcnQgdHlwZSB7IEd1YXJkS2V5IH0gZnJvbSBcIi4vLi4vYXBpL2RlY29yYXRvcnNcIjtcblxuLypcbiAgVXRpbGl0eSBUeXBlc1xuKi9cbmV4cG9ydCBmdW5jdGlvbiB6QXJyYXlhYmxlPFQgZXh0ZW5kcyB6LlpvZFR5cGVBbnk+KHNoYXBlOiBUKTogei5ab2RVbmlvbjxbVCwgei5ab2RBcnJheTxUPl0+IHtcbiAgcmV0dXJuIHoudW5pb24oW3NoYXBlLCBzaGFwZS5hcnJheSgpXSk7XG59XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IGFueSBpcyB1c2VkIHRvIG1ha2UgdGhlIHR5cGUgZGlzdHJpYnV0aXZlXG5leHBvcnQgdHlwZSBEaXN0cmlidXRpdmVPbWl0PFQsIEsgZXh0ZW5kcyBrZXlvZiBhbnk+ID0gVCBleHRlbmRzIGFueSA/IE9taXQ8VCwgSz4gOiBuZXZlcjtcblxuLypcbiAgTW9kZWwtRGVmaW50aW9uXG4qL1xuZXhwb3J0IHR5cGUgQ29tbW9uUHJvcCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG4gIHRvRmlsdGVyPzogdHJ1ZTtcbiAgZGVzYz86IHN0cmluZztcbiAgZGJEZWZhdWx0Pzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEludGVnZXJQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJpbnRlZ2VyXCI7XG59OyAvLyBQRzogaW50ZWdlciAvIFRTOiBudW1iZXIgLyBKU09OOiBudW1iZXJcbmV4cG9ydCB0eXBlIEludGVnZXJBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImludGVnZXJbXVwiO1xufTsgLy8gUEc6IGludGVnZXJbXSAvIFRTOiBudW1iZXJbXSAvIEpTT046IG51bWJlcltdXG5leHBvcnQgdHlwZSBCaWdJbnRlZ2VyUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiYmlnSW50ZWdlclwiO1xufTsgLy8gUEc6IGJpZ2ludCAvIFRTOiBiaWdpbnQgLyBKU09OOiBiaWdpbnRcbmV4cG9ydCB0eXBlIEJpZ0ludGVnZXJBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImJpZ0ludGVnZXJbXVwiO1xufTsgLy8gUEc6IGJpZ2ludFtdIC8gVFM6IGJpZ2ludFtdIC8gSlNPTjogYmlnaW50W11cbmV4cG9ydCB0eXBlIFN0cmluZ1Byb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInN0cmluZ1wiO1xuICBsZW5ndGg/OiBudW1iZXI7IC8vIFBHOiB2YXJjaGFyKG4pLCB0ZXh0IC8gVFM6IHN0cmluZyAvIEpTT046IHN0cmluZ1xufTsgLy8gUEc6IHRleHQgLyBUUzogc3RyaW5nIC8gSlNPTjogc3RyaW5nXG5leHBvcnQgdHlwZSBTdHJpbmdBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInN0cmluZ1tdXCI7XG4gIGxlbmd0aD86IG51bWJlcjsgLy8gUEc6IHZhcmNoYXIobilbXSwgdGV4dFtdIC8gVFM6IHN0cmluZ1tdIC8gSlNPTjogc3RyaW5nW11cbn07IC8vIFBHOiB2YXJjaGFyKG4pW10sIHRleHRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBFbnVtUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZW51bVwiO1xuICBpZDogc3RyaW5nO1xuICBsZW5ndGg/OiBudW1iZXI7XG59OyAvLyBQRzogdGV4dCAvIFRTOiBzdHJpbmcgLyBKU09OOiBzdHJpbmdcbmV4cG9ydCB0eXBlIEVudW1BcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImVudW1bXVwiO1xuICBpZDogc3RyaW5nO1xufTsgLy8gUEc6IHRleHRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBOdW1iZXJQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJudW1iZXJcIjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyOyAvLyBQRzogbnVtZXJpYyhwLCBzKSAvIFRTOiBudW1iZXIgLyBKU09OOiBudW1iZXJcbiAgc2NhbGU/OiBudW1iZXI7IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IG51bWJlciAvIEpTT046IG51bWJlclxuICBudW1iZXJUeXBlPzogXCJyZWFsXCIgfCBcImRvdWJsZSBwcmVjaXNpb25cIiB8IFwibnVtZXJpY1wiOyAvLyDquLDrs7jqsJI6IG51bWVyaWNcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IG51bWJlciAvIEpTT046IG51bWJlclxuZXhwb3J0IHR5cGUgTnVtYmVyQXJyYXlQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJudW1iZXJbXVwiO1xuICBwcmVjaXNpb24/OiBudW1iZXI7XG4gIHNjYWxlPzogbnVtYmVyO1xuICBudW1iZXJUeXBlPzogXCJyZWFsXCIgfCBcImRvdWJsZSBwcmVjaXNpb25cIiB8IFwibnVtZXJpY1wiOyAvLyDquLDrs7jqsJI6IG51bWVyaWNcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpW10gLyBUUzogbnVtYmVyW10gLyBKU09OOiBudW1iZXJbXVxuZXhwb3J0IHR5cGUgTnVtZXJpY1Byb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcIm51bWVyaWNcIjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBzY2FsZT86IG51bWJlcjtcbn07IC8vIFBHOiBudW1lcmljKHAsIHMpIC8gVFM6IHN0cmluZyAvIEpTT046IHN0cmluZ1xuZXhwb3J0IHR5cGUgTnVtZXJpY0FycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwibnVtZXJpY1tdXCI7XG4gIHByZWNpc2lvbj86IG51bWJlcjtcbiAgc2NhbGU/OiBudW1iZXI7XG59OyAvLyBQRzogbnVtZXJpYyhwLCBzKVtdIC8gVFM6IHN0cmluZ1tdIC8gSlNPTjogc3RyaW5nW11cbmV4cG9ydCB0eXBlIEJvb2xlYW5Qcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJib29sZWFuXCI7XG59OyAvLyBQRzogYm9vbGVhbiAvIFRTOiBib29sZWFuIC8gSlNPTjogYm9vbGVhblxuZXhwb3J0IHR5cGUgQm9vbGVhbkFycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiYm9vbGVhbltdXCI7XG59OyAvLyBQRzogYm9vbGVhbltdIC8gVFM6IGJvb2xlYW5bXSAvIEpTT046IGJvb2xlYW5bXVxuZXhwb3J0IHR5cGUgRGF0ZVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImRhdGVcIjtcbn07IC8vIFBHOiB0aW1lc3RhbXB6IC8gVFM6IERhdGUgLyBKU09OOiBzdHJpbmcoSVNPU3RyaW5nKVxuZXhwb3J0IHR5cGUgRGF0ZUFycmF5UHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwiZGF0ZVtdXCI7XG59OyAvLyBQRzogdGltZXN0YW1wdHpbXSAvIFRTOiBEYXRlW10gLyBKU09OOiBzdHJpbmdbXVxuZXhwb3J0IHR5cGUgSnNvblByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcImpzb25cIjtcbiAgaWQ6IHN0cmluZztcbn07IC8vIFBHOiBqc29uIC8gVFM6IGFueShpZCkgLyBKU09OOiBhbnlcbmV4cG9ydCB0eXBlIFV1aWRQcm9wID0gQ29tbW9uUHJvcCAmIHtcbiAgdHlwZTogXCJ1dWlkXCI7XG59OyAvLyBQRzogdXVpZCAvIFRTOiBzdHJpbmcgLyBKU09OOiBzdHJpbmdcbmV4cG9ydCB0eXBlIFV1aWRBcnJheVByb3AgPSBDb21tb25Qcm9wICYge1xuICB0eXBlOiBcInV1aWRbXVwiO1xufTsgLy8gUEc6IHV1aWRbXSAvIFRTOiBzdHJpbmdbXSAvIEpTT046IHN0cmluZ1tdXG5leHBvcnQgdHlwZSBWaXJ0dWFsUHJvcCA9IENvbW1vblByb3AgJiB7XG4gIHR5cGU6IFwidmlydHVhbFwiO1xuICBpZDogc3RyaW5nO1xufTsgLy8gUEc6IG5vbmUgLyBUUzogYW55KGlkKSAvIEpTT046IGFueVxuXG5leHBvcnQgdHlwZSBSZWxhdGlvblR5cGUgPSBcIkhhc01hbnlcIiB8IFwiQmVsb25nc1RvT25lXCIgfCBcIk1hbnlUb01hbnlcIiB8IFwiT25lVG9PbmVcIjtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uT24gPSBcIkNBU0NBREVcIiB8IFwiU0VUIE5VTExcIiB8IFwiTk8gQUNUSU9OXCIgfCBcIlNFVCBERUZBVUxUXCIgfCBcIlJFU1RSSUNUXCI7XG50eXBlIF9SZWxhdGlvblByb3AgPSB7XG4gIHR5cGU6IFwicmVsYXRpb25cIjtcbiAgbmFtZTogc3RyaW5nO1xuICB3aXRoOiBzdHJpbmc7XG4gIG51bGxhYmxlPzogYm9vbGVhbjsgLy8gREVGQVVMVDogZmFsc2VcbiAgdG9GaWx0ZXI/OiB0cnVlOyAvLyBERUZBVUxUOiBmYWxzZVxuICBkZXNjPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIE9uZVRvT25lUmVsYXRpb25Qcm9wID0gX1JlbGF0aW9uUHJvcCAmIHtcbiAgcmVsYXRpb25UeXBlOiBcIk9uZVRvT25lXCI7XG4gIGN1c3RvbUpvaW5DbGF1c2U/OiBzdHJpbmc7XG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNKb2luQ29sdW1uOiB0cnVlO1xuICAgICAgICB1c2VDb25zdHJhaW50PzogYm9vbGVhbjsgLy8gREVGQVVMVDogdHJ1ZVxuICAgICAgICBvblVwZGF0ZT86IFJlbGF0aW9uT247IC8vIERFRkFVTFQ6IFJFU1RSSUNUXG4gICAgICAgIG9uRGVsZXRlPzogUmVsYXRpb25PbjsgLy8gREVGQVVMVDogUkVTVFJJQ1RcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgaGFzSm9pbkNvbHVtbjogZmFsc2U7XG4gICAgICB9XG4gICk7XG5leHBvcnQgdHlwZSBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AgPSBfUmVsYXRpb25Qcm9wICYge1xuICByZWxhdGlvblR5cGU6IFwiQmVsb25nc1RvT25lXCI7XG4gIGN1c3RvbUpvaW5DbGF1c2U/OiBzdHJpbmc7XG4gIHVzZUNvbnN0cmFpbnQ/OiBib29sZWFuOyAvLyBERUZBVUxUOiB0cnVlXG4gIG9uVXBkYXRlPzogUmVsYXRpb25PbjsgLy8gREVGQVVMVDogUkVTVFJJQ1RcbiAgb25EZWxldGU/OiBSZWxhdGlvbk9uOyAvLyBERUZBVUxUOiBSRVNUUklDVFxufTtcbmV4cG9ydCB0eXBlIEhhc01hbnlSZWxhdGlvblByb3AgPSBfUmVsYXRpb25Qcm9wICYge1xuICByZWxhdGlvblR5cGU6IFwiSGFzTWFueVwiO1xuICBqb2luQ29sdW1uOiBzdHJpbmc7XG4gIGZyb21Db2x1bW4/OiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgTWFueVRvTWFueVJlbGF0aW9uUHJvcCA9IF9SZWxhdGlvblByb3AgJiB7XG4gIHJlbGF0aW9uVHlwZTogXCJNYW55VG9NYW55XCI7XG4gIGpvaW5UYWJsZTogYCR7c3RyaW5nfV9fJHtzdHJpbmd9YDtcbiAgb25VcGRhdGU6IFJlbGF0aW9uT247XG4gIG9uRGVsZXRlOiBSZWxhdGlvbk9uO1xufTtcbmV4cG9ydCB0eXBlIFJlbGF0aW9uUHJvcCA9XG4gIHwgT25lVG9PbmVSZWxhdGlvblByb3BcbiAgfCBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3BcbiAgfCBIYXNNYW55UmVsYXRpb25Qcm9wXG4gIHwgTWFueVRvTWFueVJlbGF0aW9uUHJvcDtcblxuZXhwb3J0IHR5cGUgRW50aXR5UHJvcCA9XG4gIHwgSW50ZWdlclByb3BcbiAgfCBJbnRlZ2VyQXJyYXlQcm9wXG4gIHwgQmlnSW50ZWdlclByb3BcbiAgfCBCaWdJbnRlZ2VyQXJyYXlQcm9wXG4gIHwgU3RyaW5nUHJvcFxuICB8IFN0cmluZ0FycmF5UHJvcFxuICB8IEVudW1Qcm9wXG4gIHwgRW51bUFycmF5UHJvcFxuICB8IE51bWJlclByb3BcbiAgfCBOdW1iZXJBcnJheVByb3BcbiAgfCBOdW1lcmljUHJvcFxuICB8IE51bWVyaWNBcnJheVByb3BcbiAgfCBOdW1lcmljUHJvcFxuICB8IEJvb2xlYW5Qcm9wXG4gIHwgQm9vbGVhbkFycmF5UHJvcFxuICB8IERhdGVQcm9wXG4gIHwgRGF0ZUFycmF5UHJvcFxuICB8IFV1aWRQcm9wXG4gIHwgVXVpZEFycmF5UHJvcFxuICB8IEpzb25Qcm9wXG4gIHwgVmlydHVhbFByb3BcbiAgfCBSZWxhdGlvblByb3A7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUluZGV4ID0ge1xuICB0eXBlOiBcImluZGV4XCIgfCBcInVuaXF1ZVwiIHwgXCJmdWxsdGV4dFwiO1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXJzZXI/OiBcImJ1aWx0LWluXCIgfCBcIm5ncmFtXCI7XG59O1xuZXhwb3J0IHR5cGUgRW50aXR5SnNvbiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBwcm9wczogRW50aXR5UHJvcFtdO1xuICBpbmRleGVzOiBFbnRpdHlJbmRleFtdO1xuICBzdWJzZXRzOiB7XG4gICAgW3N1YnNldDogc3RyaW5nXTogc3RyaW5nW107XG4gIH07XG4gIGVudW1zOiB7XG4gICAgW2VudW1JZDogc3RyaW5nXToge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG4gIH07XG59O1xuZXhwb3J0IHR5cGUgRW50aXR5U3Vic2V0Um93ID0ge1xuICBmaWVsZDogc3RyaW5nO1xuICBoYXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xuICBjaGlsZHJlbjogRW50aXR5U3Vic2V0Um93W107XG4gIHByZWZpeGVzOiBzdHJpbmdbXTtcbiAgcmVsYXRpb25FbnRpdHk/OiBzdHJpbmc7XG4gIGlzT3Blbj86IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgRmxhdHRlblN1YnNldFJvdyA9IE9taXQ8RW50aXR5U3Vic2V0Um93LCBcImNoaWxkcmVuXCI+O1xuXG4vKlxuICBQcm9wTm9kZVxuKi9cblxuLyoqXG4gKiDsl5Tti7Dti7DsnZgg7ZWE65OcIOq1rOyhsOulvCDtirjrpqwg7ZiV7YOc66GcIO2RnO2YhO2VmOuKlCDspJHqsIQg64W465Oc7J6F64uI64ukLlxuICpcbiAqICoq66qp7KCBKio6IEVudGl0eeydmCBzdWJzZXQg7ZWE65OcIO2RnO2YhOyLnSjsmIg6IFwiaWRcIiwgXCJ1c2VyLm5hbWVcIiwgXCJ0YWdzW11cIinsnYRcbiAqIOyerOq3gOyggeyduCDtirjrpqwg6rWs7KGw66GcIO2MjOyLse2VmOyXrCBab2Qg7Iqk7YKk66eIIOyDneyEseydmCDspJHqsIQg64uo6rOE66GcIOyCrOyaqe2VqeuLiOuLpC5cbiAqXG4gKiAqKuuzgO2ZmCDtnZDrpoQqKjpcbiAqIEVudGl0eSBzdWJzZXQg4oaSIEVudGl0eVByb3BOb2RlICjtirjrpqwg6rWs7KGwKSDihpIgWm9kIOyKpO2CpOuniCDihpIgUmVuZGVyaW5nTm9kZSAoVUnsmqkpXG4gKlxuICogKipub2RlVHlwZSoqOlxuICogLSBcInBsYWluXCI6IOuLqOydvCDtlYTrk5wgKOyYiDogXCJpZFwiLCBcIm5hbWVcIilcbiAqIC0gXCJvYmplY3RcIjog7KSR7LKpIOqwneyytCAo7JiIOiBcInVzZXIubmFtZVwiIOKGkiB1c2VyIOqwneyytClcbiAqIC0gXCJhcnJheVwiOiDrsLDsl7QgKOyYiDogXCJ0YWdzW11cIiDihpIgdGFncyDrsLDsl7QpXG4gKlxuICogKirsgqzsmqkg7JyE7LmYKio6IGVudGl0eS1jb252ZXJ0ZXIudHPsnZggcHJvcE5vZGVUb1pvZFR5cGUoKVxuICovXG5leHBvcnQgdHlwZSBFbnRpdHlQcm9wTm9kZSA9XG4gIHwge1xuICAgICAgbm9kZVR5cGU6IFwicGxhaW5cIjtcbiAgICAgIHByb3A6IEVudGl0eVByb3A7XG4gICAgfVxuICB8IHtcbiAgICAgIG5vZGVUeXBlOiBcIm9iamVjdFwiIHwgXCJhcnJheVwiO1xuICAgICAgcHJvcD86IEVudGl0eVByb3A7XG4gICAgICBjaGlsZHJlbjogRW50aXR5UHJvcE5vZGVbXTtcbiAgICB9O1xuXG4vKlxuICBQcm9wIFR5cGUgR3VhcmRzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW50ZWdlclNpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgSW50ZWdlclByb3Age1xuICByZXR1cm4gKHAgYXMgSW50ZWdlclByb3ApPy50eXBlID09PSBcImludGVnZXJcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXJBcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgSW50ZWdlckFycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBJbnRlZ2VyQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJpbnRlZ2VyW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXJQcm9wKHA6IHVua25vd24pOiBwIGlzIEludGVnZXJQcm9wIHwgSW50ZWdlckFycmF5UHJvcCB7XG4gIHJldHVybiBpc0ludGVnZXJTaW5nbGVQcm9wKHApIHx8IGlzSW50ZWdlckFycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpZ0ludGVnZXJTaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIEJpZ0ludGVnZXJQcm9wIHtcbiAgcmV0dXJuIChwIGFzIEJpZ0ludGVnZXJQcm9wKT8udHlwZSA9PT0gXCJiaWdJbnRlZ2VyXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCaWdJbnRlZ2VyQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIEJpZ0ludGVnZXJBcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgQmlnSW50ZWdlckFycmF5UHJvcCk/LnR5cGUgPT09IFwiYmlnSW50ZWdlcltdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCaWdJbnRlZ2VyUHJvcChwOiB1bmtub3duKTogcCBpcyBCaWdJbnRlZ2VyUHJvcCB8IEJpZ0ludGVnZXJBcnJheVByb3Age1xuICByZXR1cm4gaXNCaWdJbnRlZ2VyU2luZ2xlUHJvcChwKSB8fCBpc0JpZ0ludGVnZXJBcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdTaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIFN0cmluZ1Byb3Age1xuICByZXR1cm4gKHAgYXMgU3RyaW5nUHJvcCk/LnR5cGUgPT09IFwic3RyaW5nXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdBcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgU3RyaW5nQXJyYXlQcm9wIHtcbiAgcmV0dXJuIChwIGFzIFN0cmluZ0FycmF5UHJvcCk/LnR5cGUgPT09IFwic3RyaW5nW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ1Byb3AocDogdW5rbm93bik6IHAgaXMgU3RyaW5nUHJvcCB8IFN0cmluZ0FycmF5UHJvcCB7XG4gIHJldHVybiBpc1N0cmluZ1NpbmdsZVByb3AocCkgfHwgaXNTdHJpbmdBcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNFbnVtU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBFbnVtUHJvcCB7XG4gIHJldHVybiAocCBhcyBFbnVtUHJvcCk/LnR5cGUgPT09IFwiZW51bVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRW51bUFycmF5UHJvcChwOiB1bmtub3duKTogcCBpcyBFbnVtQXJyYXlQcm9wIHtcbiAgcmV0dXJuIChwIGFzIEVudW1BcnJheVByb3ApPy50eXBlID09PSBcImVudW1bXVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRW51bVByb3AocDogdW5rbm93bik6IHAgaXMgRW51bVByb3AgfCBFbnVtQXJyYXlQcm9wIHtcbiAgcmV0dXJuIGlzRW51bVNpbmdsZVByb3AocCkgfHwgaXNFbnVtQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBOdW1iZXJQcm9wIHtcbiAgcmV0dXJuIChwIGFzIE51bWJlclByb3ApPy50eXBlID09PSBcIm51bWJlclwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIE51bWJlckFycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBOdW1iZXJBcnJheVByb3ApPy50eXBlID09PSBcIm51bWJlcltdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXJQcm9wKHA6IHVua25vd24pOiBwIGlzIE51bWJlclByb3AgfCBOdW1iZXJBcnJheVByb3Age1xuICByZXR1cm4gaXNOdW1iZXJTaW5nbGVQcm9wKHApIHx8IGlzTnVtYmVyQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtZXJpY1NpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgTnVtZXJpY1Byb3Age1xuICByZXR1cm4gKHAgYXMgTnVtZXJpY1Byb3ApPy50eXBlID09PSBcIm51bWVyaWNcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNBcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgTnVtZXJpY0FycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBOdW1lcmljQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJudW1lcmljW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNQcm9wKHA6IHVua25vd24pOiBwIGlzIE51bWVyaWNQcm9wIHwgTnVtZXJpY0FycmF5UHJvcCB7XG4gIHJldHVybiBpc051bWVyaWNTaW5nbGVQcm9wKHApIHx8IGlzTnVtZXJpY0FycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0Jvb2xlYW5TaW5nbGVQcm9wKHA6IHVua25vd24pOiBwIGlzIEJvb2xlYW5Qcm9wIHtcbiAgcmV0dXJuIChwIGFzIEJvb2xlYW5Qcm9wKT8udHlwZSA9PT0gXCJib29sZWFuXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuQXJyYXlQcm9wKHA6IHVua25vd24pOiBwIGlzIEJvb2xlYW5BcnJheVByb3Age1xuICByZXR1cm4gKHAgYXMgQm9vbGVhbkFycmF5UHJvcCk/LnR5cGUgPT09IFwiYm9vbGVhbltdXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuUHJvcChwOiB1bmtub3duKTogcCBpcyBCb29sZWFuUHJvcCB8IEJvb2xlYW5BcnJheVByb3Age1xuICByZXR1cm4gaXNCb29sZWFuU2luZ2xlUHJvcChwKSB8fCBpc0Jvb2xlYW5BcnJheVByb3AocCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlU2luZ2xlUHJvcChwOiB1bmtub3duKTogcCBpcyBEYXRlUHJvcCB7XG4gIHJldHVybiAocCBhcyBEYXRlUHJvcCk/LnR5cGUgPT09IFwiZGF0ZVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUFycmF5UHJvcChwOiB1bmtub3duKTogcCBpcyBEYXRlQXJyYXlQcm9wIHtcbiAgcmV0dXJuIChwIGFzIERhdGVBcnJheVByb3ApPy50eXBlID09PSBcImRhdGVbXVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZVByb3AocDogdW5rbm93bik6IHAgaXMgRGF0ZVByb3AgfCBEYXRlQXJyYXlQcm9wIHtcbiAgcmV0dXJuIGlzRGF0ZVNpbmdsZVByb3AocCkgfHwgaXNEYXRlQXJyYXlQcm9wKHApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVXVpZFNpbmdsZVByb3AocDogdW5rbm93bik6IHAgaXMgVXVpZFByb3Age1xuICByZXR1cm4gKHAgYXMgVXVpZFByb3ApPy50eXBlID09PSBcInV1aWRcIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1V1aWRBcnJheVByb3AocDogdW5rbm93bik6IHAgaXMgVXVpZEFycmF5UHJvcCB7XG4gIHJldHVybiAocCBhcyBVdWlkQXJyYXlQcm9wKT8udHlwZSA9PT0gXCJ1dWlkW11cIjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1V1aWRQcm9wKHA6IHVua25vd24pOiBwIGlzIFV1aWRQcm9wIHwgVXVpZEFycmF5UHJvcCB7XG4gIHJldHVybiBpc1V1aWRTaW5nbGVQcm9wKHApIHx8IGlzVXVpZEFycmF5UHJvcChwKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25Qcm9wKHA6IHVua25vd24pOiBwIGlzIEpzb25Qcm9wIHtcbiAgcmV0dXJuIChwIGFzIEpzb25Qcm9wKT8udHlwZSA9PT0gXCJqc29uXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNWaXJ0dWFsUHJvcChwOiB1bmtub3duKTogcCBpcyBWaXJ0dWFsUHJvcCB7XG4gIHJldHVybiAocCBhcyBWaXJ0dWFsUHJvcCk/LnR5cGUgPT09IFwidmlydHVhbFwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVsYXRpb25Qcm9wKHA6IHVua25vd24pOiBwIGlzIFJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiAocCBhcyBSZWxhdGlvblByb3ApPy50eXBlID09PSBcInJlbGF0aW9uXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNPbmVUb09uZVJlbGF0aW9uUHJvcChwOiB1bmtub3duKTogcCBpcyBPbmVUb09uZVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiAocCBhcyBPbmVUb09uZVJlbGF0aW9uUHJvcCk/LnJlbGF0aW9uVHlwZSA9PT0gXCJPbmVUb09uZVwiO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wKHA6IHVua25vd24pOiBwIGlzIEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiAocCBhcyBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3ApPy5yZWxhdGlvblR5cGUgPT09IFwiQmVsb25nc1RvT25lXCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNIYXNNYW55UmVsYXRpb25Qcm9wKHA6IHVua25vd24pOiBwIGlzIEhhc01hbnlSZWxhdGlvblByb3Age1xuICByZXR1cm4gKHAgYXMgSGFzTWFueVJlbGF0aW9uUHJvcCk/LnJlbGF0aW9uVHlwZSA9PT0gXCJIYXNNYW55XCI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNNYW55VG9NYW55UmVsYXRpb25Qcm9wKHA6IHVua25vd24pOiBwIGlzIE1hbnlUb01hbnlSZWxhdGlvblByb3Age1xuICByZXR1cm4gKHAgYXMgTWFueVRvTWFueVJlbGF0aW9uUHJvcCk/LnJlbGF0aW9uVHlwZSA9PT0gXCJNYW55VG9NYW55XCI7XG59XG5cbnR5cGUgSm9pbkNsYXVzZSA9XG4gIHwge1xuICAgICAgZnJvbTogc3RyaW5nO1xuICAgICAgdG86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgY3VzdG9tOiBzdHJpbmc7XG4gICAgfTtcbmV4cG9ydCBmdW5jdGlvbiBpc0N1c3RvbUpvaW5DbGF1c2UocDogdW5rbm93bik6IHAgaXMgeyBjdXN0b206IHN0cmluZyB9IHtcbiAgcmV0dXJuICEhKHAgYXMgeyBjdXN0b206IHN0cmluZyB9KT8uY3VzdG9tO1xufVxuXG50eXBlIFN1YnNldExvYWRlciA9IHtcbiAgYXM6IHN0cmluZztcbiAgdGFibGU6IHN0cmluZztcbiAgbWFueUpvaW46IHtcbiAgICBmcm9tVGFibGU6IHN0cmluZztcbiAgICBmcm9tQ29sOiBzdHJpbmc7XG4gICAgaWRGaWVsZDogc3RyaW5nO1xuICAgIHRvVGFibGU6IHN0cmluZztcbiAgICB0b0NvbDogc3RyaW5nO1xuICAgIHRocm91Z2g/OiB7XG4gICAgICB0YWJsZTogc3RyaW5nO1xuICAgICAgZnJvbUNvbDogc3RyaW5nO1xuICAgICAgdG9Db2w6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBvbmVKb2luczogKHtcbiAgICBhczogc3RyaW5nO1xuICAgIGpvaW46IFwiaW5uZXJcIiB8IFwib3V0ZXJcIjtcbiAgICB0YWJsZTogc3RyaW5nO1xuICB9ICYgSm9pbkNsYXVzZSlbXTtcbiAgc2VsZWN0OiBzdHJpbmdbXTtcbiAgbG9hZGVycz86IFN1YnNldExvYWRlcltdO1xufTtcblxuZXhwb3J0IHR5cGUgU3Vic2V0UXVlcnkgPSB7XG4gIHNlbGVjdDogc3RyaW5nW107XG4gIHZpcnR1YWw6IHN0cmluZ1tdO1xuICBqb2luczogKHtcbiAgICBhczogc3RyaW5nO1xuICAgIGpvaW46IFwiaW5uZXJcIiB8IFwib3V0ZXJcIjtcbiAgICB0YWJsZTogc3RyaW5nO1xuICB9ICYgSm9pbkNsYXVzZSlbXTtcbiAgbG9hZGVyczogU3Vic2V0TG9hZGVyW107XG59O1xuXG4vKiBCYXNlTW9kZWwgKi9cbmV4cG9ydCBjb25zdCBTb25hbXVRdWVyeU1vZGUgPSB6LmVudW0oW1wiYm90aFwiLCBcImxpc3RcIiwgXCJjb3VudFwiXSk7XG5leHBvcnQgdHlwZSBTb25hbXVRdWVyeU1vZGUgPSB6LmluZmVyPHR5cGVvZiBTb25hbXVRdWVyeU1vZGU+O1xuXG4vKiBLbmV4IE1pZ3JhdGlvbiAqL1xuZXhwb3J0IHR5cGUgS25leEVycm9yID0ge1xuICBjb2RlOiBzdHJpbmc7XG4gIGVycm5vOiBudW1iZXI7XG4gIHNxbDogc3RyaW5nO1xuICBzcWxNZXNzYWdlOiBzdHJpbmc7XG4gIHNxbFN0YXRlOiBzdHJpbmc7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGlzS25leEVycm9yKGU6IHVua25vd24pOiBlIGlzIEtuZXhFcnJvciB7XG4gIHJldHVybiAhIShlIGFzIEtuZXhFcnJvcik/LmNvZGUgJiYgISEoZSBhcyBLbmV4RXJyb3IpPy5zcWxNZXNzYWdlICYmICEhKGUgYXMgS25leEVycm9yKT8uc3FsU3RhdGU7XG59XG5cbmV4cG9ydCB0eXBlIEtuZXhDb2x1bW5UeXBlID1cbiAgfCBcInN0cmluZ1wiXG4gIHwgXCJ0ZXh0XCJcbiAgfCBcInNtYWxsdGV4dFwiXG4gIHwgXCJtZWRpdW10ZXh0XCJcbiAgfCBcImxvbmd0ZXh0XCJcbiAgfCBcImludGVnZXJcIlxuICB8IFwiYmlnSW50ZWdlclwiXG4gIHwgXCJkZWNpbWFsXCJcbiAgfCBcInRpbWVzdGFtcFwiXG4gIHwgXCJib29sZWFuXCJcbiAgfCBcImZvcmVpZ25cIlxuICB8IFwidXVpZFwiXG4gIHwgXCJqc29uXCJcbiAgfCBcImZsb2F0XCJcbiAgfCBcImRhdGVcIlxuICB8IFwidGltZVwiXG4gIHwgXCJkYXRldGltZVwiO1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uQ29sdW1uVHlwZSA9XG4gIHwgXCJzdHJpbmdcIlxuICB8IFwic3RyaW5nW11cIlxuICB8IFwiaW50ZWdlclwiXG4gIHwgXCJpbnRlZ2VyW11cIlxuICB8IFwiYmlnSW50ZWdlclwiXG4gIHwgXCJiaWdJbnRlZ2VyW11cIlxuICB8IFwibnVtYmVyT3JOdW1lcmljXCJcbiAgfCBcIm51bWJlck9yTnVtZXJpY1tdXCJcbiAgfCBcImJvb2xlYW5cIlxuICB8IFwiYm9vbGVhbltdXCJcbiAgfCBcImRhdGVcIlxuICB8IFwiZGF0ZVtdXCJcbiAgfCBcInV1aWRcIlxuICB8IFwidXVpZFtdXCJcbiAgfCBcImpzb25cIjtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkNvbHVtbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBNaWdyYXRpb25Db2x1bW5UeXBlO1xuICBudWxsYWJsZTogYm9vbGVhbjtcbiAgbnVtYmVyVHlwZT86IFwicmVhbFwiIHwgXCJkb3VibGUgcHJlY2lzaW9uXCIgfCBcIm51bWVyaWNcIjtcbiAgbGVuZ3RoPzogbnVtYmVyO1xuICBkZWZhdWx0VG8/OiBzdHJpbmc7XG4gIHByZWNpc2lvbj86IG51bWJlcjtcbiAgc2NhbGU/OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uSW5kZXggPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29sdW1uczogc3RyaW5nW107XG4gIHR5cGU6IFwidW5pcXVlXCIgfCBcImluZGV4XCIgfCBcImZ1bGx0ZXh0XCI7XG4gIHBhcnNlcj86IFwiYnVpbHQtaW5cIiB8IFwibmdyYW1cIjtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25Gb3JlaWduID0ge1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgdG86IHN0cmluZztcbiAgb25VcGRhdGU6IFJlbGF0aW9uT247XG4gIG9uRGVsZXRlOiBSZWxhdGlvbk9uO1xufTtcbmV4cG9ydCB0eXBlIE1pZ3JhdGlvbkpvaW5UYWJsZSA9IHtcbiAgdGFibGU6IHN0cmluZztcbiAgaW5kZXhlczogTWlncmF0aW9uSW5kZXhbXTtcbiAgY29sdW1uczogTWlncmF0aW9uQ29sdW1uW107XG4gIGZvcmVpZ25zOiBNaWdyYXRpb25Gb3JlaWduW107XG59O1xuZXhwb3J0IHR5cGUgTWlncmF0aW9uU2V0ID0ge1xuICB0YWJsZTogc3RyaW5nO1xuICBjb2x1bW5zOiBNaWdyYXRpb25Db2x1bW5bXTtcbiAgaW5kZXhlczogTWlncmF0aW9uSW5kZXhbXTtcbiAgZm9yZWlnbnM6IE1pZ3JhdGlvbkZvcmVpZ25bXTtcbn07XG5leHBvcnQgdHlwZSBNaWdyYXRpb25TZXRBbmRKb2luVGFibGUgPSBNaWdyYXRpb25TZXQgJiB7XG4gIGpvaW5UYWJsZXM6IE1pZ3JhdGlvbkpvaW5UYWJsZVtdO1xufTtcbmV4cG9ydCB0eXBlIEdlbk1pZ3JhdGlvbkNvZGUgPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIHR5cGU6IFwibm9ybWFsXCIgfCBcImZvcmVpZ25cIjtcbiAgZm9ybWF0dGVkOiBzdHJpbmcgfCBudWxsO1xufTtcblxuLyogQXBpICovXG5leHBvcnQgdHlwZSBBcGlQYXJhbSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBBcGlQYXJhbVR5cGU7XG4gIG9wdGlvbmFsOiBib29sZWFuO1xuICBkZWZhdWx0RGVmPzogc3RyaW5nO1xufTtcbmV4cG9ydCBuYW1lc3BhY2UgQXBpUGFyYW1UeXBlIHtcbiAgZXhwb3J0IHR5cGUgT2JqZWN0ID0ge1xuICAgIHQ6IFwib2JqZWN0XCI7XG4gICAgcHJvcHM6IEFwaVBhcmFtW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIFVuaW9uID0ge1xuICAgIHQ6IFwidW5pb25cIjtcbiAgICB0eXBlczogQXBpUGFyYW1UeXBlW107XG4gIH07XG4gIGV4cG9ydCB0eXBlIEludGVyc2VjdGlvbiA9IHtcbiAgICB0OiBcImludGVyc2VjdGlvblwiO1xuICAgIHR5cGVzOiBBcGlQYXJhbVR5cGVbXTtcbiAgfTtcbiAgZXhwb3J0IHR5cGUgU3RyaW5nTGl0ZXJhbCA9IHtcbiAgICB0OiBcInN0cmluZy1saXRlcmFsXCI7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgZXhwb3J0IHR5cGUgTnVtZXJpY0xpdGVyYWwgPSB7XG4gICAgdDogXCJudW1lcmljLWxpdGVyYWxcIjtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9O1xuICBleHBvcnQgdHlwZSBBcnJheSA9IHtcbiAgICB0OiBcImFycmF5XCI7XG4gICAgZWxlbWVudHNUeXBlOiBBcGlQYXJhbVR5cGU7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFJlZiA9IHtcbiAgICB0OiBcInJlZlwiO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgYXJncz86IEFwaVBhcmFtVHlwZVtdO1xuICB9O1xuICBleHBvcnQgdHlwZSBJbmRleGVkQWNjZXNzID0ge1xuICAgIHQ6IFwiaW5kZXhlZC1hY2Nlc3NcIjtcbiAgICBvYmplY3Q6IEFwaVBhcmFtVHlwZTtcbiAgICBpbmRleDogQXBpUGFyYW1UeXBlO1xuICB9O1xuICBleHBvcnQgdHlwZSBUdXBsZVR5cGUgPSB7XG4gICAgdDogXCJ0dXBsZS10eXBlXCI7XG4gICAgZWxlbWVudHM6IEFwaVBhcmFtVHlwZVtdO1xuICB9O1xuICBleHBvcnQgdHlwZSBQaWNrID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUGlja1wiO1xuICB9O1xuICBleHBvcnQgdHlwZSBPbWl0ID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiT21pdFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBQYXJ0aWFsID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUGFydGlhbFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBQcm9taXNlID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiUHJvbWlzZVwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBDb250ZXh0ID0gUmVmICYge1xuICAgIHQ6IFwicmVmXCI7XG4gICAgaWQ6IFwiQ29udGV4dFwiO1xuICB9O1xuICBleHBvcnQgdHlwZSBUeXBlUGFyYW0gPSB7XG4gICAgdDogXCJ0eXBlLXBhcmFtXCI7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb25zdHJhaW50PzogQXBpUGFyYW1UeXBlO1xuICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuT2JqZWN0IHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLk9iamVjdCk/LnQgPT09IFwib2JqZWN0XCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzVW5pb24odjogdW5rbm93bik6IHYgaXMgQXBpUGFyYW1UeXBlLlVuaW9uIHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLlVuaW9uKT8udCA9PT0gXCJ1bmlvblwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc0ludGVyc2VjdGlvbih2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuSW50ZXJzZWN0aW9uIHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLkludGVyc2VjdGlvbik/LnQgPT09IFwiaW50ZXJzZWN0aW9uXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTGl0ZXJhbCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuU3RyaW5nTGl0ZXJhbCB7XG4gICAgcmV0dXJuICh2IGFzIEFwaVBhcmFtVHlwZS5TdHJpbmdMaXRlcmFsKT8udCA9PT0gXCJzdHJpbmctbGl0ZXJhbFwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNMaXRlcmFsKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5OdW1lcmljTGl0ZXJhbCB7XG4gICAgcmV0dXJuICh2IGFzIEFwaVBhcmFtVHlwZS5OdW1lcmljTGl0ZXJhbCk/LnQgPT09IFwibnVtZXJpYy1saXRlcmFsXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodjogdW5rbm93bik6IHYgaXMgQXBpUGFyYW1UeXBlLkFycmF5IHtcbiAgICByZXR1cm4gKHYgYXMgQXBpUGFyYW1UeXBlLkFycmF5KT8udCA9PT0gXCJhcnJheVwiO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1JlZih2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuUmVmIHtcbiAgICByZXR1cm4gdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiYgdiAhPT0gbnVsbCAmJiAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzSW5kZXhlZEFjY2Vzcyh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuSW5kZXhlZEFjY2VzcyB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYgIT09IG51bGwgJiYgKHYgYXMgeyB0PzogdW5rbm93biB9KS50ID09PSBcImluZGV4ZWQtYWNjZXNzXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzVHVwbGVUeXBlKHY6IHVua25vd24pOiB2IGlzIEFwaVBhcmFtVHlwZS5UdXBsZVR5cGUge1xuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJiB2ICE9PSBudWxsICYmICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJ0dXBsZS10eXBlXCI7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUGljayh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuUGljayB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmXG4gICAgICB2ICE9PSBudWxsICYmXG4gICAgICAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCIgJiZcbiAgICAgICh2IGFzIHsgaWQ/OiB1bmtub3duIH0pLmlkID09PSBcIlBpY2tcIlxuICAgICk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzT21pdCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuT21pdCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmXG4gICAgICB2ICE9PSBudWxsICYmXG4gICAgICAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCIgJiZcbiAgICAgICh2IGFzIHsgaWQ/OiB1bmtub3duIH0pLmlkID09PSBcIk9taXRcIlxuICAgICk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUGFydGlhbCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuUGFydGlhbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmXG4gICAgICB2ICE9PSBudWxsICYmXG4gICAgICAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCIgJiZcbiAgICAgICh2IGFzIHsgaWQ/OiB1bmtub3duIH0pLmlkID09PSBcIlBhcnRpYWxcIlxuICAgICk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZSh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuUHJvbWlzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmXG4gICAgICB2ICE9PSBudWxsICYmXG4gICAgICAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCIgJiZcbiAgICAgICh2IGFzIHsgaWQ/OiB1bmtub3duIH0pLmlkID09PSBcIlByb21pc2VcIlxuICAgICk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGV4dCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuQ29udGV4dCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmXG4gICAgICB2ICE9PSBudWxsICYmXG4gICAgICAodiBhcyB7IHQ/OiB1bmtub3duIH0pLnQgPT09IFwicmVmXCIgJiZcbiAgICAgICh2IGFzIHsgaWQ/OiB1bmtub3duIH0pLmlkID09PSBcIkNvbnRleHRcIlxuICAgICk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUmVmS25leCh2OiB1bmtub3duKTogdiBpcyBBcGlQYXJhbVR5cGUuUmVmIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHYgIT09IG51bGwgJiZcbiAgICAgICh2IGFzIHsgdD86IHVua25vd24gfSkudCA9PT0gXCJyZWZcIiAmJlxuICAgICAgKHYgYXMgeyBpZD86IHVua25vd24gfSkuaWQgPT09IFwiS25leFwiXG4gICAgKTtcbiAgfVxuICBleHBvcnQgZnVuY3Rpb24gaXNUeXBlUGFyYW0odjogdW5rbm93bik6IHYgaXMgQXBpUGFyYW1UeXBlLlR5cGVQYXJhbSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYgIT09IG51bGwgJiYgKHYgYXMgeyB0PzogdW5rbm93biB9KS50ID09PSBcInR5cGUtcGFyYW1cIjtcbiAgfVxufVxuZXhwb3J0IHR5cGUgQXBpUGFyYW1UeXBlID1cbiAgfCBcInN0cmluZ1wiXG4gIHwgXCJudW1iZXJcIlxuICB8IFwiYm9vbGVhblwiXG4gIHwgXCJudWxsXCJcbiAgfCBcInVuZGVmaW5lZFwiXG4gIHwgXCJ2b2lkXCJcbiAgfCBcImFueVwiXG4gIHwgXCJ1bmtub3duXCJcbiAgfCBcInRydWVcIlxuICB8IFwiZmFsc2VcIlxuICB8IEFwaVBhcmFtVHlwZS5TdHJpbmdMaXRlcmFsXG4gIHwgQXBpUGFyYW1UeXBlLk51bWVyaWNMaXRlcmFsXG4gIHwgQXBpUGFyYW1UeXBlLk9iamVjdFxuICB8IEFwaVBhcmFtVHlwZS5VbmlvblxuICB8IEFwaVBhcmFtVHlwZS5JbnRlcnNlY3Rpb25cbiAgfCBBcGlQYXJhbVR5cGUuQXJyYXlcbiAgfCBBcGlQYXJhbVR5cGUuUmVmXG4gIHwgQXBpUGFyYW1UeXBlLkluZGV4ZWRBY2Nlc3NcbiAgfCBBcGlQYXJhbVR5cGUuVHlwZVBhcmFtXG4gIHwgQXBpUGFyYW1UeXBlLlR1cGxlVHlwZTtcblxuLyogVGVtcGxhdGUgKi9cbi8qKlxuICogVUkg7Lu07Y+s64SM7Yq4IOugjOuNlOungeydhCDsnITtlZwg66mU7YOA642w7J207YSwIOuFuOuTnOyeheuLiOuLpC5cbiAqXG4gKiAqKuuqqeyggSoqOiBab2Qg7Iqk7YKk66eI66Gc67aA7YSwIO2UhOuhoO2KuOyXlOuTnCBVSSDsu7Ttj6zrhIztirjrpbwg7J6Q64+ZIOyDneyEse2VmOq4sCDsnITtlZxcbiAqIOugjOuNlOungSDsoJXrs7Trpbwg64u07J2AIO2KuOumrCDqtazsobDsnoXri4jri6QuIOqwgSDtlYTrk5zqsIAg7Ja065akIFVJIOy7tO2PrOuEjO2KuOuhnFxuICog7ZGc7ZiE65CY7Ja07JW8IO2VmOuKlOyngCjthY3siqTtirgsIOydtOuvuOyngCwg64Kg7KecLCBFbnVtIOyEoO2DnSDrk7Ep66W8IOuqheyLnO2VqeuLiOuLpC5cbiAqXG4gKiAqKuuzgO2ZmCDtnZDrpoQqKjpcbiAqIEVudGl0eSBzdWJzZXQg4oaSIEVudGl0eVByb3BOb2RlIOKGkiBab2Qg7Iqk7YKk66eIIOKGkiBSZW5kZXJpbmdOb2RlIChVSeyaqSkg4oaSIFJlYWN0IOy7tO2PrOuEjO2KuCDsvZTrk5wg7IOd7ISxXG4gKlxuICogKirso7zsmpQg7ZWE65OcKio6XG4gKiAtIGByZW5kZXJUeXBlYDogVUkg7Lu07Y+s64SM7Yq4IOycoO2YlSAoc3RyaW5nLXBsYWluLCBudW1iZXItZmtfaWQsIGVudW1zLCBhcnJheSDrk7EpXG4gKiAtIGB6b2RUeXBlYDog7JuQ67O4IFpvZCDsiqTtgqTrp4ggKHZhbGlkYXRpb24g7JqpKVxuICogLSBgY2hpbGRyZW5gOiDspJHssqnrkJwg6rCd7LK0IO2VhOuTnOuTpCAob2JqZWN07J28IOuVjClcbiAqIC0gYGVsZW1lbnRgOiDrsLDsl7Qg7JqU7IaMIO2DgOyehSAoYXJyYXnsnbwg65WMKVxuICpcbiAqICoq7IKs7JqpIOychOy5mCoqOlxuICogLSB6b2QtY29udmVydGVyLnRz7J2YIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUoKeyXkOyEnCDsg53shLFcbiAqIC0gdmlld19mb3JtLnRlbXBsYXRlLnRzLCB2aWV3X2xpc3QudGVtcGxhdGUudHMg65Ox7JeQ7IScIFJlYWN0IOy7tO2PrOuEjO2KuCDsvZTrk5wg7IOd7ISx7JeQIOyCrOyaqVxuICovXG4vLyDshYDtlIQg7LC47KGwIO2DgOyeheydtOuvgOuhnCBab2Qg7IOd65617ZWY6rOgIOyngeygkSDsoJXsnZhcbmV4cG9ydCBjb25zdCBSZW5kZXJpbmdOb2RlID0gei5hbnkoKTtcbmV4cG9ydCB0eXBlIFJlbmRlcmluZ05vZGUgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcmVuZGVyVHlwZTpcbiAgICB8IFwic3RyaW5nLXBsYWluXCJcbiAgICB8IFwic3RyaW5nLWltYWdlXCJcbiAgICB8IFwic3RyaW5nLWRhdGV0aW1lXCJcbiAgICB8IFwic3RyaW5nLWRhdGVcIlxuICAgIHwgXCJkYXRldGltZVwiXG4gICAgfCBcIm51bWJlci1wbGFpblwiXG4gICAgfCBcIm51bWJlci1pZFwiXG4gICAgfCBcIm51bWJlci1ma19pZFwiXG4gICAgfCBcImJvb2xlYW5cIlxuICAgIHwgXCJlbnVtc1wiXG4gICAgfCBcImFycmF5XCJcbiAgICB8IFwiYXJyYXktaW1hZ2VzXCJcbiAgICB8IFwib2JqZWN0XCJcbiAgICB8IFwib2JqZWN0LXBpY2tcIlxuICAgIHwgXCJyZWNvcmRcIjtcbiAgem9kVHlwZTogei5ab2RUeXBlQW55O1xuICBlbGVtZW50PzogUmVuZGVyaW5nTm9kZTtcbiAgY2hpbGRyZW4/OiBSZW5kZXJpbmdOb2RlW107XG4gIGNvbmZpZz86IHtcbiAgICBwaWNrZWQ6IHN0cmluZztcbiAgfTtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCYXNlUHJvcEZpZWxkcyA9IHtcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgZGVzYzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBudWxsYWJsZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdG9GaWx0ZXI6IHoubGl0ZXJhbCh0cnVlKS5vcHRpb25hbCgpLFxuICBkYkRlZmF1bHQ6IHoudW5pb24oW3ouc3RyaW5nKCksIHoubnVtYmVyKCksIHouYm9vbGVhbigpXSkub3B0aW9uYWwoKSxcbn07XG5cbi8vIOu2gOqwgCDtlYTrk5zqsIAg7ZWE7JqU7JeG64qUIHByb3BcbmNvbnN0IEJhc2VQcm9wRmllbGRzV2l0aG91dEFkZGl0aW9uYWwgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoudW5pb24oW1xuICAgICAgei5saXRlcmFsKFwiaW50ZWdlclwiKSxcbiAgICAgIHoubGl0ZXJhbChcImludGVnZXJbXVwiKSxcbiAgICAgIHoubGl0ZXJhbChcImJpZ0ludGVnZXJcIiksXG4gICAgICB6LmxpdGVyYWwoXCJiaWdJbnRlZ2VyW11cIiksXG4gICAgICB6LmxpdGVyYWwoXCJib29sZWFuXCIpLFxuICAgICAgei5saXRlcmFsKFwiYm9vbGVhbltdXCIpLFxuICAgICAgei5saXRlcmFsKFwiZGF0ZVwiKSxcbiAgICAgIHoubGl0ZXJhbChcImRhdGVbXVwiKSxcbiAgICAgIHoubGl0ZXJhbChcInV1aWRcIiksXG4gICAgICB6LmxpdGVyYWwoXCJ1dWlkW11cIiksXG4gICAgXSksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuLy8gcHJlY2lzaW9uL3NjYWxlIO2VhOuTnFxuY29uc3QgUHJlY2lzaW9uU2NhbGVGaWVsZHMgPSB7XG4gIHByZWNpc2lvbjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzY2FsZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufTtcblxuLy8g6rCBIO2DgOyeheuzhCDsiqTtgqTrp4gg7KCV7J2YXG5cbmNvbnN0IFN0cmluZ1Byb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcInN0cmluZ1wiKSxcbiAgICBsZW5ndGg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuY29uc3QgU3RyaW5nQXJyYXlQcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUHJvcEZpZWxkcyxcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJzdHJpbmdbXVwiKSxcbiAgICBsZW5ndGg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBFbnVtUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwiZW51bVwiKSxcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuY29uc3QgRW51bUFycmF5UHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwiZW51bVtdXCIpLFxuICAgIGlkOiB6LnN0cmluZygpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IE51bWJlclByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcIm51bWJlclwiKSxcbiAgICAuLi5QcmVjaXNpb25TY2FsZUZpZWxkcyxcbiAgICBudW1iZXJUeXBlOiB6LmVudW0oW1wicmVhbFwiLCBcImRvdWJsZSBwcmVjaXNpb25cIiwgXCJudW1lcmljXCJdKS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5jb25zdCBOdW1iZXJBcnJheVByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcIm51bWJlcltdXCIpLFxuICAgIC4uLlByZWNpc2lvblNjYWxlRmllbGRzLFxuICAgIG51bWJlclR5cGU6IHouZW51bShbXCJyZWFsXCIsIFwiZG91YmxlIHByZWNpc2lvblwiLCBcIm51bWVyaWNcIl0pLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuY29uc3QgTnVtZXJpY1Byb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcIm51bWVyaWNcIiksXG4gICAgLi4uUHJlY2lzaW9uU2NhbGVGaWVsZHMsXG4gIH0pXG4gIC5zdHJpY3QoKTtcbmNvbnN0IE51bWVyaWNBcnJheVByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VQcm9wRmllbGRzLFxuICAgIHR5cGU6IHoubGl0ZXJhbChcIm51bWVyaWNbXVwiKSxcbiAgICAuLi5QcmVjaXNpb25TY2FsZUZpZWxkcyxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBKc29uUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwianNvblwiKSxcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBWaXJ0dWFsUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVByb3BGaWVsZHMsXG4gICAgdHlwZTogei5saXRlcmFsKFwidmlydHVhbFwiKSxcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG4vLyBSZWxhdGlvbiDtg4DsnoXsnYAgcmVsYXRpb25UeXBl7JeQIOuUsOudvCDshLjrtoTtmZRcbmNvbnN0IEJhc2VSZWxhdGlvbkZpZWxkcyA9IHtcbiAgLi4uQmFzZVByb3BGaWVsZHMsXG4gIHR5cGU6IHoubGl0ZXJhbChcInJlbGF0aW9uXCIpLFxuICB3aXRoOiB6LnN0cmluZygpLFxufTtcblxuLy8gUmVsYXRpb25PbiDtg4DsnoVcbmNvbnN0IFJlbGF0aW9uT25TY2hlbWEgPSB6LmVudW0oW1wiQ0FTQ0FERVwiLCBcIlNFVCBOVUxMXCIsIFwiTk8gQUNUSU9OXCIsIFwiU0VUIERFRkFVTFRcIiwgXCJSRVNUUklDVFwiXSk7XG5cbmNvbnN0IEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgLi4uQmFzZVJlbGF0aW9uRmllbGRzLFxuICAgIHJlbGF0aW9uVHlwZTogei5saXRlcmFsKFwiQmVsb25nc1RvT25lXCIpLFxuICAgIGN1c3RvbUpvaW5DbGF1c2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB1c2VDb25zdHJhaW50OiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAgIG9uVXBkYXRlOiBSZWxhdGlvbk9uU2NoZW1hLm9wdGlvbmFsKCksXG4gICAgb25EZWxldGU6IFJlbGF0aW9uT25TY2hlbWEub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBIYXNNYW55UmVsYXRpb25Qcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUmVsYXRpb25GaWVsZHMsXG4gICAgcmVsYXRpb25UeXBlOiB6LmxpdGVyYWwoXCJIYXNNYW55XCIpLFxuICAgIGpvaW5Db2x1bW46IHouc3RyaW5nKCksXG4gICAgZnJvbUNvbHVtbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IE1hbnlUb01hbnlSZWxhdGlvblByb3BTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIC4uLkJhc2VSZWxhdGlvbkZpZWxkcyxcbiAgICByZWxhdGlvblR5cGU6IHoubGl0ZXJhbChcIk1hbnlUb01hbnlcIiksXG4gICAgam9pblRhYmxlOiB6LnN0cmluZygpLFxuICAgIG9uVXBkYXRlOiBSZWxhdGlvbk9uU2NoZW1hLFxuICAgIG9uRGVsZXRlOiBSZWxhdGlvbk9uU2NoZW1hLFxuICB9KVxuICAuc3RyaWN0KCk7XG5cbmNvbnN0IE9uZVRvT25lUmVsYXRpb25Qcm9wU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICAuLi5CYXNlUmVsYXRpb25GaWVsZHMsXG4gICAgcmVsYXRpb25UeXBlOiB6LmxpdGVyYWwoXCJPbmVUb09uZVwiKSxcbiAgICBjdXN0b21Kb2luQ2xhdXNlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaGFzSm9pbkNvbHVtbjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgICB1c2VDb25zdHJhaW50OiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAgIG9uVXBkYXRlOiBSZWxhdGlvbk9uU2NoZW1hLm9wdGlvbmFsKCksXG4gICAgb25EZWxldGU6IFJlbGF0aW9uT25TY2hlbWEub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5jb25zdCBSZWxhdGlvblR5cGVzID0gW1wiQmVsb25nc1RvT25lXCIsIFwiSGFzTWFueVwiLCBcIk1hbnlUb01hbnlcIiwgXCJPbmVUb09uZVwiXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBSZWxhdGlvblByb3BTY2hlbWEgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcbiAgXCJyZWxhdGlvblR5cGVcIixcbiAgW1xuICAgIEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcFNjaGVtYSxcbiAgICBIYXNNYW55UmVsYXRpb25Qcm9wU2NoZW1hLFxuICAgIE1hbnlUb01hbnlSZWxhdGlvblByb3BTY2hlbWEsXG4gICAgT25lVG9PbmVSZWxhdGlvblByb3BTY2hlbWEsXG4gIF0sXG4gIHtcbiAgICBlcnJvcjogKGlzcykgPT5cbiAgICAgIGByZWxhdGlvblR5cGXsnYAgJHtSZWxhdGlvblR5cGVzLm1hcCgodCkgPT4gYCcke3R9J2ApLmpvaW4oXCIsIFwiKX0g7KSRIO2VmOuCmOyXrOyVvCDtlanri4jri6QuIOyeheugpeqwkjogXCIkeyhpc3MuaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5yZWxhdGlvblR5cGV9XCJgLFxuICB9LFxuKTtcblxuY29uc3QgTm9ybWFsUHJvcFR5cGVzID0gW1xuICBcImludGVnZXJcIixcbiAgXCJpbnRlZ2VyW11cIixcbiAgXCJiaWdJbnRlZ2VyXCIsXG4gIFwiYmlnSW50ZWdlcltdXCIsXG4gIFwic3RyaW5nXCIsXG4gIFwic3RyaW5nW11cIixcbiAgXCJlbnVtXCIsXG4gIFwiZW51bVtdXCIsXG4gIFwibnVtYmVyXCIsXG4gIFwibnVtYmVyW11cIixcbiAgXCJudW1lcmljXCIsXG4gIFwibnVtZXJpY1tdXCIsXG4gIFwiYm9vbGVhblwiLFxuICBcImJvb2xlYW5bXVwiLFxuICBcImRhdGVcIixcbiAgXCJkYXRlW11cIixcbiAgXCJ1dWlkXCIsXG4gIFwidXVpZFtdXCIsXG4gIFwianNvblwiLFxuICBcInZpcnR1YWxcIixcbl0gYXMgY29uc3Q7XG5leHBvcnQgY29uc3QgTm9ybWFsUHJvcFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFxuICBcInR5cGVcIixcbiAgW1xuICAgIEJhc2VQcm9wRmllbGRzV2l0aG91dEFkZGl0aW9uYWwsXG4gICAgU3RyaW5nUHJvcFNjaGVtYSxcbiAgICBTdHJpbmdBcnJheVByb3BTY2hlbWEsXG4gICAgRW51bVByb3BTY2hlbWEsXG4gICAgRW51bUFycmF5UHJvcFNjaGVtYSxcbiAgICBOdW1iZXJQcm9wU2NoZW1hLFxuICAgIE51bWJlckFycmF5UHJvcFNjaGVtYSxcbiAgICBOdW1lcmljUHJvcFNjaGVtYSxcbiAgICBOdW1lcmljQXJyYXlQcm9wU2NoZW1hLFxuICAgIEpzb25Qcm9wU2NoZW1hLFxuICAgIFZpcnR1YWxQcm9wU2NoZW1hLFxuICBdLFxuICB7XG4gICAgZXJyb3I6IChpc3MpID0+XG4gICAgICBgdHlwZeydgCAke05vcm1hbFByb3BUeXBlcy5tYXAoKHQpID0+IGAnJHt0fSdgKS5qb2luKFwiLCBcIil9IOykkSDtlZjrgpjsl6zslbwg7ZWp64uI64ukLiDsnoXroKXqsJI6IFwiJHsoaXNzLmlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8udHlwZX1cImAsXG4gIH0sXG4pO1xuXG5jb25zdCBBbGxQcm9wVHlwZXMgPSBbLi4uTm9ybWFsUHJvcFR5cGVzLCBcInJlbGF0aW9uXCJdIGFzIGNvbnN0O1xuY29uc3QgRW50aXR5UHJvcFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbTm9ybWFsUHJvcFNjaGVtYSwgUmVsYXRpb25Qcm9wU2NoZW1hXSwge1xuICBlcnJvcjogKGlzcykgPT5cbiAgICBgdHlwZeydgCAke0FsbFByb3BUeXBlcy5tYXAoKHQpID0+IGAnJHt0fSdgKS5qb2luKFwiLCBcIil9IOykkSDtlZjrgpjsl6zslbwg7ZWp64uI64ukLiDsnoXroKXqsJI6IFwiJHsoaXNzLmlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8udHlwZX1cImAsXG59KTtcblxuLy8gRW50aXR5SW5kZXgg7Iqk7YKk66eIIOygleydmFxuY29uc3QgRW50aXR5SW5kZXhTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHR5cGU6IHouZW51bShbXCJpbmRleFwiLCBcInVuaXF1ZVwiLCBcImZ1bGx0ZXh0XCJdKSxcbiAgICBjb2x1bW5zOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkubWluKDEpLm1heCg2MyksXG4gICAgcGFyc2VyOiB6LmVudW0oW1wiYnVpbHQtaW5cIiwgXCJuZ3JhbVwiXSkub3B0aW9uYWwoKSxcbiAgfSlcbiAgLnN0cmljdCgpO1xuXG5leHBvcnQgY29uc3QgRW50aXR5SnNvblNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJQYXNjYWxDYXNl66GcIOuQnCBFbnRpdHkgSURcIiksXG4gICAgdGl0bGU6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJFbnRpdHkg7J2066aEXCIpLFxuICAgIHRhYmxlOiB6LnN0cmluZygpLmRlc2NyaWJlKFwic25ha2VfY2FzZeuhnCDrkJwg7YWM7J2067iU66qFXCIpLFxuICAgIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCLrtoDrqqggRW50aXR5IElEXCIpLFxuICAgIHByb3BzOiB6LmFycmF5KEVudGl0eVByb3BTY2hlbWEpLFxuICAgIGluZGV4ZXM6IHouYXJyYXkoRW50aXR5SW5kZXhTY2hlbWEpLFxuICAgIHN1YnNldHM6IHoucmVjb3JkKHouc3RyaW5nKCksIHouYXJyYXkoei5zdHJpbmcoKSkpLFxuICAgIGVudW1zOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKSksXG4gIH0pXG4gIC5zdHJpY3QoKTtcblxuZXhwb3J0IGNvbnN0IFRlbXBsYXRlT3B0aW9ucyA9IHoub2JqZWN0KHtcbiAgZW50aXR5OiBFbnRpdHlKc29uU2NoZW1hLm9taXQoeyBpZDogdHJ1ZSB9KVxuICAgIC5leHRlbmQoe1xuICAgICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgfSlcbiAgICAucGFydGlhbCh7XG4gICAgICB0YWJsZTogdHJ1ZSxcbiAgICAgIHByb3BzOiB0cnVlLFxuICAgICAgaW5kZXhlczogdHJ1ZSxcbiAgICAgIHN1YnNldHM6IHRydWUsXG4gICAgICBlbnVtczogdHJ1ZSxcbiAgICB9KSxcbiAgaW5pdF90eXBlczogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgZ2VuZXJhdGVkOiB6Lm9iamVjdCh7fSksXG4gIGdlbmVyYXRlZF9zc286IHoub2JqZWN0KHt9KSxcbiAgZ2VuZXJhdGVkX2h0dHA6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIG1vZGVsOiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgZGVmYXVsdFNlYXJjaEZpZWxkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVmYXVsdE9yZGVyQnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG4gIG1vZGVsX3Rlc3Q6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIGJyaWRnZTogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgc2VydmljZTogei5vYmplY3Qoe1xuICAgIG5hbWVzUmVjb3JkOiB6Lm9iamVjdCh7XG4gICAgICBmczogei5zdHJpbmcoKSxcbiAgICAgIGZzUGx1cmFsOiB6LnN0cmluZygpLFxuICAgICAgY2FtZWw6IHouc3RyaW5nKCksXG4gICAgICBjYW1lbFBsdXJhbDogei5zdHJpbmcoKSxcbiAgICAgIGNhcGl0YWw6IHouc3RyaW5nKCksXG4gICAgICBjYXBpdGFsUGx1cmFsOiB6LnN0cmluZygpLFxuICAgICAgdXBwZXI6IHouc3RyaW5nKCksXG4gICAgICBjb25zdGFudDogei5zdHJpbmcoKSxcbiAgICB9KSxcbiAgICBtb2RlbFRzUGF0aDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfbGlzdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGV4dHJhOiB6LnVua25vd24oKSxcbiAgfSksXG4gIHZpZXdfbGlzdF9jb2x1bW5zOiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgY29sdW1uczogelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgICAgIGxhYmVsOiB6LnN0cmluZygpLFxuICAgICAgICB0Yzogei5zdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICAuYXJyYXkoKSxcbiAgICBjb2x1bW5JbXBvcnRzOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19zZWFyY2hfaW5wdXQ6IHoub2JqZWN0KHtcbiAgICBlbnRpdHlJZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZm9ybTogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19pZF9hbGxfc2VsZWN0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICB2aWV3X2lkX2FzeW5jX3NlbGVjdDogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIHRleHRGaWVsZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZW51bXNfc2VsZWN0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgZW51bUlkOiB6LnN0cmluZygpLFxuICB9KSxcbiAgdmlld19lbnVtc19kcm9wZG93bjogei5vYmplY3Qoe1xuICAgIGVudGl0eUlkOiB6LnN0cmluZygpLFxuICAgIGVudW1JZDogei5zdHJpbmcoKSxcbiAgfSksXG4gIHZpZXdfZW51bXNfYnV0dG9uc2V0OiB6Lm9iamVjdCh7XG4gICAgZW50aXR5SWQ6IHouc3RyaW5nKCksXG4gICAgZW51bUlkOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuZXhwb3J0IHR5cGUgVGVtcGxhdGVPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgVGVtcGxhdGVPcHRpb25zPjtcblxuZXhwb3J0IGNvbnN0IFRlbXBsYXRlS2V5ID0gei5lbnVtKFtcbiAgXCJlbnRpdHlcIixcbiAgXCJpbml0X3R5cGVzXCIsXG4gIFwiZ2VuZXJhdGVkXCIsXG4gIFwiZ2VuZXJhdGVkX3Nzb1wiLFxuICBcImdlbmVyYXRlZF9odHRwXCIsXG4gIFwibW9kZWxcIixcbiAgXCJtb2RlbF90ZXN0XCIsXG4gIFwiYnJpZGdlXCIsXG4gIFwic2VydmljZVwiLFxuICBcInZpZXdfbGlzdFwiLFxuICBcInZpZXdfbGlzdF9jb2x1bW5zXCIsXG4gIFwidmlld19zZWFyY2hfaW5wdXRcIixcbiAgXCJ2aWV3X2Zvcm1cIixcbiAgXCJ2aWV3X2lkX2FsbF9zZWxlY3RcIixcbiAgXCJ2aWV3X2lkX2FzeW5jX3NlbGVjdFwiLFxuICBcInZpZXdfZW51bXNfc2VsZWN0XCIsXG4gIFwidmlld19lbnVtc19kcm9wZG93blwiLFxuICBcInZpZXdfZW51bXNfYnV0dG9uc2V0XCIsXG5dKTtcbmV4cG9ydCB0eXBlIFRlbXBsYXRlS2V5ID0gei5pbmZlcjx0eXBlb2YgVGVtcGxhdGVLZXk+O1xuXG5leHBvcnQgY29uc3QgR2VuZXJhdGVPcHRpb25zID0gei5vYmplY3Qoe1xuICBvdmVyd3JpdGU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEdlbmVyYXRlT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIEdlbmVyYXRlT3B0aW9ucz47XG5cbmV4cG9ydCBjb25zdCBQYXRoQW5kQ29kZSA9IHoub2JqZWN0KHtcbiAgcGF0aDogei5zdHJpbmcoKSxcbiAgY29kZTogei5zdHJpbmcoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUGF0aEFuZENvZGUgPSB6LmluZmVyPHR5cGVvZiBQYXRoQW5kQ29kZT47XG5cbmV4cG9ydCB0eXBlIEZpeHR1cmVTZWFyY2hPcHRpb25zID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBzZWFyY2hUeXBlOiBcImVxdWFsc1wiIHwgXCJsaWtlXCI7XG59O1xuXG50eXBlIENvbHVtblZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsO1xuZXhwb3J0IHR5cGUgRml4dHVyZVJlY29yZCA9IHtcbiAgZml4dHVyZUlkOiBzdHJpbmc7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGlkOiBudW1iZXI7XG4gIGNvbHVtbnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBwcm9wOiBFbnRpdHlQcm9wO1xuICAgICAgdmFsdWU6IENvbHVtblZhbHVlIHwgQ29sdW1uVmFsdWVbXTtcbiAgICB9O1xuICB9O1xuICBmZXRjaGVkUmVjb3Jkczogc3RyaW5nW107XG4gIGJlbG9uZ3NSZWNvcmRzOiBzdHJpbmdbXTtcbiAgdGFyZ2V0PzogRml4dHVyZVJlY29yZDsgLy8gSW1wb3J0IOuMgOyDgSBEQiDroIjsvZTrk5woaWTqsIAg6rCZ7J2AKVxuICB1bmlxdWU/OiBGaXh0dXJlUmVjb3JkOyAvLyBJbXBvcnQg64yA7IOBIERCIOugiOy9lOuTnCh1bmlxdWUga2V56rCAIOqwmeydgClcbiAgb3ZlcnJpZGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRml4dHVyZUltcG9ydFJlc3VsdCA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZGF0YToge1xuICAgIFtrZXk6IHN0cmluZ106IENvbHVtblZhbHVlO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25Ob2RlID0ge1xuICBmaXh0dXJlSWQ6IHN0cmluZztcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgcmVsYXRlZDogU2V0PHN0cmluZz47XG59O1xuXG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRW1wdHlJbnRlcmZhY2U6IHNvbmFtdS5nZW5lcmF0ZWQuc3NvIOyXkOyEnCDtmZXsnqXsnYQg7JyE7ZW0IOykgOu5hOuQnCDruYgg7J247YSw7Y6Y7J207IqkXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlU2NoZW1hRXh0ZW5kIHt9XG5leHBvcnQgdHlwZSBNYW55VG9NYW55QmFzZVNjaGVtYTxGcm9tSWRLZXkgZXh0ZW5kcyBzdHJpbmcsIFRvSWRLZXkgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBpZDogbnVtYmVyO1xufSAmIHtcbiAgW0sgaW4gYCR7RnJvbUlkS2V5fV9pZGBdOiBudW1iZXI7XG59ICYge1xuICBbSyBpbiBgJHtUb0lkS2V5fV9pZGBdOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBTb25hbXVGYXN0aWZ5Q29uZmlnID0ge1xuICBjb250ZXh0UHJvdmlkZXI6IChcbiAgICBkZWZhdWx0Q29udGV4dDogUGljazxDb250ZXh0LCBcInJlcXVlc3RcIiB8IFwicmVwbHlcIiB8IFwiaGVhZGVyc1wiIHwgXCJjcmVhdGVTU0VcIiB8IFwibmFpdGVTdG9yZVwiPiAmXG4gICAgICBBdXRoQ29udGV4dCxcbiAgICByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCxcbiAgICByZXBseTogRmFzdGlmeVJlcGx5LFxuICApID0+IENvbnRleHQgfCBQcm9taXNlPENvbnRleHQ+O1xuICBndWFyZEhhbmRsZXI6IChcbiAgICBndWFyZDogR3VhcmRLZXksXG4gICAgcmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsXG4gICAgYXBpOiB7XG4gICAgICB0eXBlUGFyYW1ldGVyczogQXBpUGFyYW1UeXBlLlR5cGVQYXJhbVtdO1xuICAgICAgcGFyYW1ldGVyczogQXBpUGFyYW1bXTtcbiAgICAgIHJldHVyblR5cGU6IEFwaVBhcmFtVHlwZTtcbiAgICAgIG1vZGVsTmFtZTogc3RyaW5nO1xuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nO1xuICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgb3B0aW9uczogQXBpRGVjb3JhdG9yT3B0aW9ucztcbiAgICB9LFxuICApID0+IHZvaWQ7XG4gIGNhY2hlPzoge1xuICAgIGdldDogKGtleTogc3RyaW5nKSA9PiBQcm9taXNlPHVua25vd24gfCBudWxsPjtcbiAgICBwdXQ6IChrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24sIHR0bD86IG51bWJlcikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICByZXNvbHZlS2V5OiAoXG4gICAgICBwYXRoOiBzdHJpbmcsXG4gICAgICByZXFCb2R5OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgICB9LFxuICAgICkgPT5cbiAgICAgIHwge1xuICAgICAgICAgIGNhY2hlOiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfCB7XG4gICAgICAgICAgY2FjaGU6IHRydWU7XG4gICAgICAgICAga2V5OiBzdHJpbmc7XG4gICAgICAgICAgdHRsPzogbnVtYmVyO1xuICAgICAgICB9O1xuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJ6IiwiekFycmF5YWJsZSIsInNoYXBlIiwidW5pb24iLCJhcnJheSIsImlzSW50ZWdlclNpbmdsZVByb3AiLCJwIiwidHlwZSIsImlzSW50ZWdlckFycmF5UHJvcCIsImlzSW50ZWdlclByb3AiLCJpc0JpZ0ludGVnZXJTaW5nbGVQcm9wIiwiaXNCaWdJbnRlZ2VyQXJyYXlQcm9wIiwiaXNCaWdJbnRlZ2VyUHJvcCIsImlzU3RyaW5nU2luZ2xlUHJvcCIsImlzU3RyaW5nQXJyYXlQcm9wIiwiaXNTdHJpbmdQcm9wIiwiaXNFbnVtU2luZ2xlUHJvcCIsImlzRW51bUFycmF5UHJvcCIsImlzRW51bVByb3AiLCJpc051bWJlclNpbmdsZVByb3AiLCJpc051bWJlckFycmF5UHJvcCIsImlzTnVtYmVyUHJvcCIsImlzTnVtZXJpY1NpbmdsZVByb3AiLCJpc051bWVyaWNBcnJheVByb3AiLCJpc051bWVyaWNQcm9wIiwiaXNCb29sZWFuU2luZ2xlUHJvcCIsImlzQm9vbGVhbkFycmF5UHJvcCIsImlzQm9vbGVhblByb3AiLCJpc0RhdGVTaW5nbGVQcm9wIiwiaXNEYXRlQXJyYXlQcm9wIiwiaXNEYXRlUHJvcCIsImlzVXVpZFNpbmdsZVByb3AiLCJpc1V1aWRBcnJheVByb3AiLCJpc1V1aWRQcm9wIiwiaXNKc29uUHJvcCIsImlzVmlydHVhbFByb3AiLCJpc1JlbGF0aW9uUHJvcCIsImlzT25lVG9PbmVSZWxhdGlvblByb3AiLCJyZWxhdGlvblR5cGUiLCJpc0JlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCIsImlzSGFzTWFueVJlbGF0aW9uUHJvcCIsImlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCIsImlzQ3VzdG9tSm9pbkNsYXVzZSIsImN1c3RvbSIsIlNvbmFtdVF1ZXJ5TW9kZSIsImVudW0iLCJpc0tuZXhFcnJvciIsImUiLCJjb2RlIiwic3FsTWVzc2FnZSIsInNxbFN0YXRlIiwiQXBpUGFyYW1UeXBlIiwiaXNPYmplY3QiLCJ2IiwidCIsImlzVW5pb24iLCJpc0ludGVyc2VjdGlvbiIsImlzU3RyaW5nTGl0ZXJhbCIsImlzTnVtZXJpY0xpdGVyYWwiLCJpc0FycmF5IiwiaXNSZWYiLCJpc0luZGV4ZWRBY2Nlc3MiLCJpc1R1cGxlVHlwZSIsImlzUGljayIsImlkIiwiaXNPbWl0IiwiaXNQYXJ0aWFsIiwiaXNQcm9taXNlIiwiaXNDb250ZXh0IiwiaXNSZWZLbmV4IiwiaXNUeXBlUGFyYW0iLCJSZW5kZXJpbmdOb2RlIiwiYW55IiwiQmFzZVByb3BGaWVsZHMiLCJuYW1lIiwic3RyaW5nIiwiZGVzYyIsIm9wdGlvbmFsIiwibnVsbGFibGUiLCJib29sZWFuIiwidG9GaWx0ZXIiLCJsaXRlcmFsIiwiZGJEZWZhdWx0IiwibnVtYmVyIiwiQmFzZVByb3BGaWVsZHNXaXRob3V0QWRkaXRpb25hbCIsIm9iamVjdCIsInN0cmljdCIsIlByZWNpc2lvblNjYWxlRmllbGRzIiwicHJlY2lzaW9uIiwic2NhbGUiLCJTdHJpbmdQcm9wU2NoZW1hIiwibGVuZ3RoIiwiU3RyaW5nQXJyYXlQcm9wU2NoZW1hIiwiRW51bVByb3BTY2hlbWEiLCJFbnVtQXJyYXlQcm9wU2NoZW1hIiwiTnVtYmVyUHJvcFNjaGVtYSIsIm51bWJlclR5cGUiLCJOdW1iZXJBcnJheVByb3BTY2hlbWEiLCJOdW1lcmljUHJvcFNjaGVtYSIsIk51bWVyaWNBcnJheVByb3BTY2hlbWEiLCJKc29uUHJvcFNjaGVtYSIsIlZpcnR1YWxQcm9wU2NoZW1hIiwiQmFzZVJlbGF0aW9uRmllbGRzIiwid2l0aCIsIlJlbGF0aW9uT25TY2hlbWEiLCJCZWxvbmdzVG9PbmVSZWxhdGlvblByb3BTY2hlbWEiLCJjdXN0b21Kb2luQ2xhdXNlIiwidXNlQ29uc3RyYWludCIsIm9uVXBkYXRlIiwib25EZWxldGUiLCJIYXNNYW55UmVsYXRpb25Qcm9wU2NoZW1hIiwiam9pbkNvbHVtbiIsImZyb21Db2x1bW4iLCJNYW55VG9NYW55UmVsYXRpb25Qcm9wU2NoZW1hIiwiam9pblRhYmxlIiwiT25lVG9PbmVSZWxhdGlvblByb3BTY2hlbWEiLCJoYXNKb2luQ29sdW1uIiwiUmVsYXRpb25UeXBlcyIsIlJlbGF0aW9uUHJvcFNjaGVtYSIsImRpc2NyaW1pbmF0ZWRVbmlvbiIsImVycm9yIiwiaXNzIiwibWFwIiwiam9pbiIsImlucHV0IiwiTm9ybWFsUHJvcFR5cGVzIiwiTm9ybWFsUHJvcFNjaGVtYSIsIkFsbFByb3BUeXBlcyIsIkVudGl0eVByb3BTY2hlbWEiLCJFbnRpdHlJbmRleFNjaGVtYSIsImNvbHVtbnMiLCJtaW4iLCJtYXgiLCJwYXJzZXIiLCJFbnRpdHlKc29uU2NoZW1hIiwiZGVzY3JpYmUiLCJ0aXRsZSIsInRhYmxlIiwicGFyZW50SWQiLCJwcm9wcyIsImluZGV4ZXMiLCJzdWJzZXRzIiwicmVjb3JkIiwiZW51bXMiLCJUZW1wbGF0ZU9wdGlvbnMiLCJlbnRpdHkiLCJvbWl0IiwiZXh0ZW5kIiwiZW50aXR5SWQiLCJwYXJ0aWFsIiwiaW5pdF90eXBlcyIsImdlbmVyYXRlZCIsImdlbmVyYXRlZF9zc28iLCJnZW5lcmF0ZWRfaHR0cCIsIm1vZGVsIiwiZGVmYXVsdFNlYXJjaEZpZWxkIiwiZGVmYXVsdE9yZGVyQnkiLCJtb2RlbF90ZXN0IiwiYnJpZGdlIiwic2VydmljZSIsIm5hbWVzUmVjb3JkIiwiZnMiLCJmc1BsdXJhbCIsImNhbWVsIiwiY2FtZWxQbHVyYWwiLCJjYXBpdGFsIiwiY2FwaXRhbFBsdXJhbCIsInVwcGVyIiwiY29uc3RhbnQiLCJtb2RlbFRzUGF0aCIsInZpZXdfbGlzdCIsImV4dHJhIiwidW5rbm93biIsInZpZXdfbGlzdF9jb2x1bW5zIiwibGFiZWwiLCJ0YyIsImNvbHVtbkltcG9ydHMiLCJ2aWV3X3NlYXJjaF9pbnB1dCIsInZpZXdfZm9ybSIsInZpZXdfaWRfYWxsX3NlbGVjdCIsInZpZXdfaWRfYXN5bmNfc2VsZWN0IiwidGV4dEZpZWxkIiwidmlld19lbnVtc19zZWxlY3QiLCJlbnVtSWQiLCJ2aWV3X2VudW1zX2Ryb3Bkb3duIiwidmlld19lbnVtc19idXR0b25zZXQiLCJUZW1wbGF0ZUtleSIsIkdlbmVyYXRlT3B0aW9ucyIsIm92ZXJ3cml0ZSIsIlBhdGhBbmRDb2RlIiwicGF0aCJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsQ0FBQyxRQUFRLE1BQU07QUFJeEI7O0FBRUEsR0FDQSxPQUFPLFNBQVNDLFdBQW1DQyxLQUFRO0lBQ3pELE9BQU9GLEVBQUVHLEtBQUssQ0FBQztRQUFDRDtRQUFPQSxNQUFNRSxLQUFLO0tBQUc7QUFDdkM7QUFxT0E7O0FBRUEsR0FDQSxPQUFPLFNBQVNDLG9CQUFvQkMsQ0FBVTtJQUM1QyxPQUFPLEFBQUNBLEdBQW1CQyxTQUFTO0FBQ3RDO0FBQ0EsT0FBTyxTQUFTQyxtQkFBbUJGLENBQVU7SUFDM0MsT0FBTyxBQUFDQSxHQUF3QkMsU0FBUztBQUMzQztBQUNBLE9BQU8sU0FBU0UsY0FBY0gsQ0FBVTtJQUN0QyxPQUFPRCxvQkFBb0JDLE1BQU1FLG1CQUFtQkY7QUFDdEQ7QUFDQSxPQUFPLFNBQVNJLHVCQUF1QkosQ0FBVTtJQUMvQyxPQUFPLEFBQUNBLEdBQXNCQyxTQUFTO0FBQ3pDO0FBQ0EsT0FBTyxTQUFTSSxzQkFBc0JMLENBQVU7SUFDOUMsT0FBTyxBQUFDQSxHQUEyQkMsU0FBUztBQUM5QztBQUNBLE9BQU8sU0FBU0ssaUJBQWlCTixDQUFVO0lBQ3pDLE9BQU9JLHVCQUF1QkosTUFBTUssc0JBQXNCTDtBQUM1RDtBQUNBLE9BQU8sU0FBU08sbUJBQW1CUCxDQUFVO0lBQzNDLE9BQU8sQUFBQ0EsR0FBa0JDLFNBQVM7QUFDckM7QUFDQSxPQUFPLFNBQVNPLGtCQUFrQlIsQ0FBVTtJQUMxQyxPQUFPLEFBQUNBLEdBQXVCQyxTQUFTO0FBQzFDO0FBQ0EsT0FBTyxTQUFTUSxhQUFhVCxDQUFVO0lBQ3JDLE9BQU9PLG1CQUFtQlAsTUFBTVEsa0JBQWtCUjtBQUNwRDtBQUNBLE9BQU8sU0FBU1UsaUJBQWlCVixDQUFVO0lBQ3pDLE9BQU8sQUFBQ0EsR0FBZ0JDLFNBQVM7QUFDbkM7QUFDQSxPQUFPLFNBQVNVLGdCQUFnQlgsQ0FBVTtJQUN4QyxPQUFPLEFBQUNBLEdBQXFCQyxTQUFTO0FBQ3hDO0FBQ0EsT0FBTyxTQUFTVyxXQUFXWixDQUFVO0lBQ25DLE9BQU9VLGlCQUFpQlYsTUFBTVcsZ0JBQWdCWDtBQUNoRDtBQUNBLE9BQU8sU0FBU2EsbUJBQW1CYixDQUFVO0lBQzNDLE9BQU8sQUFBQ0EsR0FBa0JDLFNBQVM7QUFDckM7QUFDQSxPQUFPLFNBQVNhLGtCQUFrQmQsQ0FBVTtJQUMxQyxPQUFPLEFBQUNBLEdBQXVCQyxTQUFTO0FBQzFDO0FBQ0EsT0FBTyxTQUFTYyxhQUFhZixDQUFVO0lBQ3JDLE9BQU9hLG1CQUFtQmIsTUFBTWMsa0JBQWtCZDtBQUNwRDtBQUNBLE9BQU8sU0FBU2dCLG9CQUFvQmhCLENBQVU7SUFDNUMsT0FBTyxBQUFDQSxHQUFtQkMsU0FBUztBQUN0QztBQUNBLE9BQU8sU0FBU2dCLG1CQUFtQmpCLENBQVU7SUFDM0MsT0FBTyxBQUFDQSxHQUF3QkMsU0FBUztBQUMzQztBQUNBLE9BQU8sU0FBU2lCLGNBQWNsQixDQUFVO0lBQ3RDLE9BQU9nQixvQkFBb0JoQixNQUFNaUIsbUJBQW1CakI7QUFDdEQ7QUFDQSxPQUFPLFNBQVNtQixvQkFBb0JuQixDQUFVO0lBQzVDLE9BQU8sQUFBQ0EsR0FBbUJDLFNBQVM7QUFDdEM7QUFDQSxPQUFPLFNBQVNtQixtQkFBbUJwQixDQUFVO0lBQzNDLE9BQU8sQUFBQ0EsR0FBd0JDLFNBQVM7QUFDM0M7QUFDQSxPQUFPLFNBQVNvQixjQUFjckIsQ0FBVTtJQUN0QyxPQUFPbUIsb0JBQW9CbkIsTUFBTW9CLG1CQUFtQnBCO0FBQ3REO0FBQ0EsT0FBTyxTQUFTc0IsaUJBQWlCdEIsQ0FBVTtJQUN6QyxPQUFPLEFBQUNBLEdBQWdCQyxTQUFTO0FBQ25DO0FBQ0EsT0FBTyxTQUFTc0IsZ0JBQWdCdkIsQ0FBVTtJQUN4QyxPQUFPLEFBQUNBLEdBQXFCQyxTQUFTO0FBQ3hDO0FBQ0EsT0FBTyxTQUFTdUIsV0FBV3hCLENBQVU7SUFDbkMsT0FBT3NCLGlCQUFpQnRCLE1BQU11QixnQkFBZ0J2QjtBQUNoRDtBQUNBLE9BQU8sU0FBU3lCLGlCQUFpQnpCLENBQVU7SUFDekMsT0FBTyxBQUFDQSxHQUFnQkMsU0FBUztBQUNuQztBQUNBLE9BQU8sU0FBU3lCLGdCQUFnQjFCLENBQVU7SUFDeEMsT0FBTyxBQUFDQSxHQUFxQkMsU0FBUztBQUN4QztBQUNBLE9BQU8sU0FBUzBCLFdBQVczQixDQUFVO0lBQ25DLE9BQU95QixpQkFBaUJ6QixNQUFNMEIsZ0JBQWdCMUI7QUFDaEQ7QUFDQSxPQUFPLFNBQVM0QixXQUFXNUIsQ0FBVTtJQUNuQyxPQUFPLEFBQUNBLEdBQWdCQyxTQUFTO0FBQ25DO0FBQ0EsT0FBTyxTQUFTNEIsY0FBYzdCLENBQVU7SUFDdEMsT0FBTyxBQUFDQSxHQUFtQkMsU0FBUztBQUN0QztBQUNBLE9BQU8sU0FBUzZCLGVBQWU5QixDQUFVO0lBQ3ZDLE9BQU8sQUFBQ0EsR0FBb0JDLFNBQVM7QUFDdkM7QUFDQSxPQUFPLFNBQVM4Qix1QkFBdUIvQixDQUFVO0lBQy9DLE9BQU8sQUFBQ0EsR0FBNEJnQyxpQkFBaUI7QUFDdkQ7QUFDQSxPQUFPLFNBQVNDLDJCQUEyQmpDLENBQVU7SUFDbkQsT0FBTyxBQUFDQSxHQUFnQ2dDLGlCQUFpQjtBQUMzRDtBQUNBLE9BQU8sU0FBU0Usc0JBQXNCbEMsQ0FBVTtJQUM5QyxPQUFPLEFBQUNBLEdBQTJCZ0MsaUJBQWlCO0FBQ3REO0FBQ0EsT0FBTyxTQUFTRyx5QkFBeUJuQyxDQUFVO0lBQ2pELE9BQU8sQUFBQ0EsR0FBOEJnQyxpQkFBaUI7QUFDekQ7QUFVQSxPQUFPLFNBQVNJLG1CQUFtQnBDLENBQVU7SUFDM0MsT0FBTyxDQUFDLENBQUVBLEdBQTBCcUM7QUFDdEM7QUFxQ0EsYUFBYSxHQUNiLE9BQU8sTUFBTUMsa0JBQWtCNUMsRUFBRTZDLElBQUksQ0FBQztJQUFDO0lBQVE7SUFBUTtDQUFRLEVBQUU7QUFXakUsT0FBTyxTQUFTQyxZQUFZQyxDQUFVO0lBQ3BDLE9BQU8sQ0FBQyxDQUFFQSxHQUFpQkMsUUFBUSxDQUFDLENBQUVELEdBQWlCRSxjQUFjLENBQUMsQ0FBRUYsR0FBaUJHO0FBQzNGO1VBdUZpQkM7SUFpRVIsU0FBU0MsU0FBU0MsQ0FBVTtRQUNqQyxPQUFPLEFBQUNBLEdBQTJCQyxNQUFNO0lBQzNDO2lCQUZnQkYsV0FBQUE7SUFHVCxTQUFTRyxRQUFRRixDQUFVO1FBQ2hDLE9BQU8sQUFBQ0EsR0FBMEJDLE1BQU07SUFDMUM7aUJBRmdCQyxVQUFBQTtJQUdULFNBQVNDLGVBQWVILENBQVU7UUFDdkMsT0FBTyxBQUFDQSxHQUFpQ0MsTUFBTTtJQUNqRDtpQkFGZ0JFLGlCQUFBQTtJQUdULFNBQVNDLGdCQUFnQkosQ0FBVTtRQUN4QyxPQUFPLEFBQUNBLEdBQWtDQyxNQUFNO0lBQ2xEO2lCQUZnQkcsa0JBQUFBO0lBR1QsU0FBU0MsaUJBQWlCTCxDQUFVO1FBQ3pDLE9BQU8sQUFBQ0EsR0FBbUNDLE1BQU07SUFDbkQ7aUJBRmdCSSxtQkFBQUE7SUFHVCxTQUFTQyxRQUFRTixDQUFVO1FBQ2hDLE9BQU8sQUFBQ0EsR0FBMEJDLE1BQU07SUFDMUM7aUJBRmdCSyxVQUFBQTtJQUdULFNBQVNDLE1BQU1QLENBQVU7UUFDOUIsT0FBTyxPQUFPQSxNQUFNLFlBQVlBLE1BQU0sUUFBUSxBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLO0lBQzdFO2lCQUZnQk0sUUFBQUE7SUFHVCxTQUFTQyxnQkFBZ0JSLENBQVU7UUFDeEMsT0FBTyxPQUFPQSxNQUFNLFlBQVlBLE1BQU0sUUFBUSxBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLO0lBQzdFO2lCQUZnQk8sa0JBQUFBO0lBR1QsU0FBU0MsWUFBWVQsQ0FBVTtRQUNwQyxPQUFPLE9BQU9BLE1BQU0sWUFBWUEsTUFBTSxRQUFRLEFBQUNBLEVBQXNCQyxDQUFDLEtBQUs7SUFDN0U7aUJBRmdCUSxjQUFBQTtJQUdULFNBQVNDLE9BQU9WLENBQVU7UUFDL0IsT0FDRSxPQUFPQSxNQUFNLFlBQ2JBLE1BQU0sUUFDTixBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLLFNBQzdCLEFBQUNELEVBQXVCVyxFQUFFLEtBQUs7SUFFbkM7aUJBUGdCRCxTQUFBQTtJQVFULFNBQVNFLE9BQU9aLENBQVU7UUFDL0IsT0FDRSxPQUFPQSxNQUFNLFlBQ2JBLE1BQU0sUUFDTixBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLLFNBQzdCLEFBQUNELEVBQXVCVyxFQUFFLEtBQUs7SUFFbkM7aUJBUGdCQyxTQUFBQTtJQVFULFNBQVNDLFVBQVViLENBQVU7UUFDbEMsT0FDRSxPQUFPQSxNQUFNLFlBQ2JBLE1BQU0sUUFDTixBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLLFNBQzdCLEFBQUNELEVBQXVCVyxFQUFFLEtBQUs7SUFFbkM7aUJBUGdCRSxZQUFBQTtJQVFULFNBQVNDLFVBQVVkLENBQVU7UUFDbEMsT0FDRSxPQUFPQSxNQUFNLFlBQ2JBLE1BQU0sUUFDTixBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLLFNBQzdCLEFBQUNELEVBQXVCVyxFQUFFLEtBQUs7SUFFbkM7aUJBUGdCRyxZQUFBQTtJQVFULFNBQVNDLFVBQVVmLENBQVU7UUFDbEMsT0FDRSxPQUFPQSxNQUFNLFlBQ2JBLE1BQU0sUUFDTixBQUFDQSxFQUFzQkMsQ0FBQyxLQUFLLFNBQzdCLEFBQUNELEVBQXVCVyxFQUFFLEtBQUs7SUFFbkM7aUJBUGdCSSxZQUFBQTtJQVFULFNBQVNDLFVBQVVoQixDQUFVO1FBQ2xDLE9BQ0UsT0FBT0EsTUFBTSxZQUNiQSxNQUFNLFFBQ04sQUFBQ0EsRUFBc0JDLENBQUMsS0FBSyxTQUM3QixBQUFDRCxFQUF1QlcsRUFBRSxLQUFLO0lBRW5DO2lCQVBnQkssWUFBQUE7SUFRVCxTQUFTQyxZQUFZakIsQ0FBVTtRQUNwQyxPQUFPLE9BQU9BLE1BQU0sWUFBWUEsTUFBTSxRQUFRLEFBQUNBLEVBQXNCQyxDQUFDLEtBQUs7SUFDN0U7aUJBRmdCZ0IsY0FBQUE7QUFHbEIsR0EvSWlCbkIsaUJBQUFBO0FBc0tqQixZQUFZLEdBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQkMsR0FDRCw2QkFBNkI7QUFDN0IsT0FBTyxNQUFNb0IsZ0JBQWdCdkUsRUFBRXdFLEdBQUcsR0FBRztBQThCckMsTUFBTUMsaUJBQWlCO0lBQ3JCQyxNQUFNMUUsRUFBRTJFLE1BQU07SUFDZEMsTUFBTTVFLEVBQUUyRSxNQUFNLEdBQUdFLFFBQVE7SUFDekJDLFVBQVU5RSxFQUFFK0UsT0FBTyxHQUFHRixRQUFRO0lBQzlCRyxVQUFVaEYsRUFBRWlGLE9BQU8sQ0FBQyxNQUFNSixRQUFRO0lBQ2xDSyxXQUFXbEYsRUFBRUcsS0FBSyxDQUFDO1FBQUNILEVBQUUyRSxNQUFNO1FBQUkzRSxFQUFFbUYsTUFBTTtRQUFJbkYsRUFBRStFLE9BQU87S0FBRyxFQUFFRixRQUFRO0FBQ3BFO0FBRUEsbUJBQW1CO0FBQ25CLE1BQU1PLGtDQUFrQ3BGLEVBQ3JDcUYsTUFBTSxDQUFDO0lBQ04sR0FBR1osY0FBYztJQUNqQmxFLE1BQU1QLEVBQUVHLEtBQUssQ0FBQztRQUNaSCxFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO1FBQ1ZqRixFQUFFaUYsT0FBTyxDQUFDO0tBQ1g7QUFDSCxHQUNDSyxNQUFNO0FBRVQscUJBQXFCO0FBQ3JCLE1BQU1DLHVCQUF1QjtJQUMzQkMsV0FBV3hGLEVBQUVtRixNQUFNLEdBQUdOLFFBQVE7SUFDOUJZLE9BQU96RixFQUFFbUYsTUFBTSxHQUFHTixRQUFRO0FBQzVCO0FBRUEsZUFBZTtBQUVmLE1BQU1hLG1CQUFtQjFGLEVBQ3RCcUYsTUFBTSxDQUFDO0lBQ04sR0FBR1osY0FBYztJQUNqQmxFLE1BQU1QLEVBQUVpRixPQUFPLENBQUM7SUFDaEJVLFFBQVEzRixFQUFFbUYsTUFBTSxHQUFHTixRQUFRO0FBQzdCLEdBQ0NTLE1BQU07QUFDVCxNQUFNTSx3QkFBd0I1RixFQUMzQnFGLE1BQU0sQ0FBQztJQUNOLEdBQUdaLGNBQWM7SUFDakJsRSxNQUFNUCxFQUFFaUYsT0FBTyxDQUFDO0lBQ2hCVSxRQUFRM0YsRUFBRW1GLE1BQU0sR0FBR04sUUFBUTtBQUM3QixHQUNDUyxNQUFNO0FBRVQsTUFBTU8saUJBQWlCN0YsRUFDcEJxRixNQUFNLENBQUM7SUFDTixHQUFHWixjQUFjO0lBQ2pCbEUsTUFBTVAsRUFBRWlGLE9BQU8sQ0FBQztJQUNoQmpCLElBQUloRSxFQUFFMkUsTUFBTTtBQUNkLEdBQ0NXLE1BQU07QUFDVCxNQUFNUSxzQkFBc0I5RixFQUN6QnFGLE1BQU0sQ0FBQztJQUNOLEdBQUdaLGNBQWM7SUFDakJsRSxNQUFNUCxFQUFFaUYsT0FBTyxDQUFDO0lBQ2hCakIsSUFBSWhFLEVBQUUyRSxNQUFNO0FBQ2QsR0FDQ1csTUFBTTtBQUVULE1BQU1TLG1CQUFtQi9GLEVBQ3RCcUYsTUFBTSxDQUFDO0lBQ04sR0FBR1osY0FBYztJQUNqQmxFLE1BQU1QLEVBQUVpRixPQUFPLENBQUM7SUFDaEIsR0FBR00sb0JBQW9CO0lBQ3ZCUyxZQUFZaEcsRUFBRTZDLElBQUksQ0FBQztRQUFDO1FBQVE7UUFBb0I7S0FBVSxFQUFFZ0MsUUFBUTtBQUN0RSxHQUNDUyxNQUFNO0FBQ1QsTUFBTVcsd0JBQXdCakcsRUFDM0JxRixNQUFNLENBQUM7SUFDTixHQUFHWixjQUFjO0lBQ2pCbEUsTUFBTVAsRUFBRWlGLE9BQU8sQ0FBQztJQUNoQixHQUFHTSxvQkFBb0I7SUFDdkJTLFlBQVloRyxFQUFFNkMsSUFBSSxDQUFDO1FBQUM7UUFBUTtRQUFvQjtLQUFVLEVBQUVnQyxRQUFRO0FBQ3RFLEdBQ0NTLE1BQU07QUFFVCxNQUFNWSxvQkFBb0JsRyxFQUN2QnFGLE1BQU0sQ0FBQztJQUNOLEdBQUdaLGNBQWM7SUFDakJsRSxNQUFNUCxFQUFFaUYsT0FBTyxDQUFDO0lBQ2hCLEdBQUdNLG9CQUFvQjtBQUN6QixHQUNDRCxNQUFNO0FBQ1QsTUFBTWEseUJBQXlCbkcsRUFDNUJxRixNQUFNLENBQUM7SUFDTixHQUFHWixjQUFjO0lBQ2pCbEUsTUFBTVAsRUFBRWlGLE9BQU8sQ0FBQztJQUNoQixHQUFHTSxvQkFBb0I7QUFDekIsR0FDQ0QsTUFBTTtBQUVULE1BQU1jLGlCQUFpQnBHLEVBQ3BCcUYsTUFBTSxDQUFDO0lBQ04sR0FBR1osY0FBYztJQUNqQmxFLE1BQU1QLEVBQUVpRixPQUFPLENBQUM7SUFDaEJqQixJQUFJaEUsRUFBRTJFLE1BQU07QUFDZCxHQUNDVyxNQUFNO0FBRVQsTUFBTWUsb0JBQW9CckcsRUFDdkJxRixNQUFNLENBQUM7SUFDTixHQUFHWixjQUFjO0lBQ2pCbEUsTUFBTVAsRUFBRWlGLE9BQU8sQ0FBQztJQUNoQmpCLElBQUloRSxFQUFFMkUsTUFBTTtBQUNkLEdBQ0NXLE1BQU07QUFFVCxvQ0FBb0M7QUFDcEMsTUFBTWdCLHFCQUFxQjtJQUN6QixHQUFHN0IsY0FBYztJQUNqQmxFLE1BQU1QLEVBQUVpRixPQUFPLENBQUM7SUFDaEJzQixNQUFNdkcsRUFBRTJFLE1BQU07QUFDaEI7QUFFQSxnQkFBZ0I7QUFDaEIsTUFBTTZCLG1CQUFtQnhHLEVBQUU2QyxJQUFJLENBQUM7SUFBQztJQUFXO0lBQVk7SUFBYTtJQUFlO0NBQVc7QUFFL0YsTUFBTTRELGlDQUFpQ3pHLEVBQ3BDcUYsTUFBTSxDQUFDO0lBQ04sR0FBR2lCLGtCQUFrQjtJQUNyQmhFLGNBQWN0QyxFQUFFaUYsT0FBTyxDQUFDO0lBQ3hCeUIsa0JBQWtCMUcsRUFBRTJFLE1BQU0sR0FBR0UsUUFBUTtJQUNyQzhCLGVBQWUzRyxFQUFFK0UsT0FBTyxHQUFHRixRQUFRO0lBQ25DK0IsVUFBVUosaUJBQWlCM0IsUUFBUTtJQUNuQ2dDLFVBQVVMLGlCQUFpQjNCLFFBQVE7QUFDckMsR0FDQ1MsTUFBTTtBQUVULE1BQU13Qiw0QkFBNEI5RyxFQUMvQnFGLE1BQU0sQ0FBQztJQUNOLEdBQUdpQixrQkFBa0I7SUFDckJoRSxjQUFjdEMsRUFBRWlGLE9BQU8sQ0FBQztJQUN4QjhCLFlBQVkvRyxFQUFFMkUsTUFBTTtJQUNwQnFDLFlBQVloSCxFQUFFMkUsTUFBTSxHQUFHRSxRQUFRO0FBQ2pDLEdBQ0NTLE1BQU07QUFFVCxNQUFNMkIsK0JBQStCakgsRUFDbENxRixNQUFNLENBQUM7SUFDTixHQUFHaUIsa0JBQWtCO0lBQ3JCaEUsY0FBY3RDLEVBQUVpRixPQUFPLENBQUM7SUFDeEJpQyxXQUFXbEgsRUFBRTJFLE1BQU07SUFDbkJpQyxVQUFVSjtJQUNWSyxVQUFVTDtBQUNaLEdBQ0NsQixNQUFNO0FBRVQsTUFBTTZCLDZCQUE2Qm5ILEVBQ2hDcUYsTUFBTSxDQUFDO0lBQ04sR0FBR2lCLGtCQUFrQjtJQUNyQmhFLGNBQWN0QyxFQUFFaUYsT0FBTyxDQUFDO0lBQ3hCeUIsa0JBQWtCMUcsRUFBRTJFLE1BQU0sR0FBR0UsUUFBUTtJQUNyQ3VDLGVBQWVwSCxFQUFFK0UsT0FBTyxHQUFHRixRQUFRO0lBQ25DOEIsZUFBZTNHLEVBQUUrRSxPQUFPLEdBQUdGLFFBQVE7SUFDbkMrQixVQUFVSixpQkFBaUIzQixRQUFRO0lBQ25DZ0MsVUFBVUwsaUJBQWlCM0IsUUFBUTtBQUNyQyxHQUNDUyxNQUFNO0FBRVQsTUFBTStCLGdCQUFnQjtJQUFDO0lBQWdCO0lBQVc7SUFBYztDQUFXO0FBQzNFLE9BQU8sTUFBTUMscUJBQXFCdEgsRUFBRXVILGtCQUFrQixDQUNwRCxnQkFDQTtJQUNFZDtJQUNBSztJQUNBRztJQUNBRTtDQUNELEVBQ0Q7SUFDRUssT0FBTyxDQUFDQyxNQUNOLENBQUMsY0FBYyxFQUFFSixjQUFjSyxHQUFHLENBQUMsQ0FBQ3BFLElBQU0sQ0FBQyxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxJQUFJLENBQUMsTUFBTSxtQkFBbUIsRUFBR0YsSUFBSUcsS0FBSyxFQUE4QnRGLGFBQWEsQ0FBQyxDQUFDO0FBQy9JLEdBQ0E7QUFFRixNQUFNdUYsa0JBQWtCO0lBQ3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUNELE9BQU8sTUFBTUMsbUJBQW1COUgsRUFBRXVILGtCQUFrQixDQUNsRCxRQUNBO0lBQ0VuQztJQUNBTTtJQUNBRTtJQUNBQztJQUNBQztJQUNBQztJQUNBRTtJQUNBQztJQUNBQztJQUNBQztJQUNBQztDQUNELEVBQ0Q7SUFDRW1CLE9BQU8sQ0FBQ0MsTUFDTixDQUFDLE1BQU0sRUFBRUksZ0JBQWdCSCxHQUFHLENBQUMsQ0FBQ3BFLElBQU0sQ0FBQyxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxJQUFJLENBQUMsTUFBTSxtQkFBbUIsRUFBR0YsSUFBSUcsS0FBSyxFQUE4QnJILEtBQUssQ0FBQyxDQUFDO0FBQ2pJLEdBQ0E7QUFFRixNQUFNd0gsZUFBZTtPQUFJRjtJQUFpQjtDQUFXO0FBQ3JELE1BQU1HLG1CQUFtQmhJLEVBQUV1SCxrQkFBa0IsQ0FBQyxRQUFRO0lBQUNPO0lBQWtCUjtDQUFtQixFQUFFO0lBQzVGRSxPQUFPLENBQUNDLE1BQ04sQ0FBQyxNQUFNLEVBQUVNLGFBQWFMLEdBQUcsQ0FBQyxDQUFDcEUsSUFBTSxDQUFDLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRXFFLElBQUksQ0FBQyxNQUFNLG1CQUFtQixFQUFHRixJQUFJRyxLQUFLLEVBQThCckgsS0FBSyxDQUFDLENBQUM7QUFDOUg7QUFFQSxxQkFBcUI7QUFDckIsTUFBTTBILG9CQUFvQmpJLEVBQ3ZCcUYsTUFBTSxDQUFDO0lBQ045RSxNQUFNUCxFQUFFNkMsSUFBSSxDQUFDO1FBQUM7UUFBUztRQUFVO0tBQVc7SUFDNUNxRixTQUFTbEksRUFBRUksS0FBSyxDQUFDSixFQUFFMkUsTUFBTTtJQUN6QkQsTUFBTTFFLEVBQUUyRSxNQUFNLEdBQUd3RCxHQUFHLENBQUMsR0FBR0MsR0FBRyxDQUFDO0lBQzVCQyxRQUFRckksRUFBRTZDLElBQUksQ0FBQztRQUFDO1FBQVk7S0FBUSxFQUFFZ0MsUUFBUTtBQUNoRCxHQUNDUyxNQUFNO0FBRVQsT0FBTyxNQUFNZ0QsbUJBQW1CdEksRUFDN0JxRixNQUFNLENBQUM7SUFDTnJCLElBQUloRSxFQUFFMkUsTUFBTSxHQUFHNEQsUUFBUSxDQUFDO0lBQ3hCQyxPQUFPeEksRUFBRTJFLE1BQU0sR0FBRzRELFFBQVEsQ0FBQztJQUMzQkUsT0FBT3pJLEVBQUUyRSxNQUFNLEdBQUc0RCxRQUFRLENBQUM7SUFDM0JHLFVBQVUxSSxFQUFFMkUsTUFBTSxHQUFHRSxRQUFRLEdBQUcwRCxRQUFRLENBQUM7SUFDekNJLE9BQU8zSSxFQUFFSSxLQUFLLENBQUM0SDtJQUNmWSxTQUFTNUksRUFBRUksS0FBSyxDQUFDNkg7SUFDakJZLFNBQVM3SSxFQUFFOEksTUFBTSxDQUFDOUksRUFBRTJFLE1BQU0sSUFBSTNFLEVBQUVJLEtBQUssQ0FBQ0osRUFBRTJFLE1BQU07SUFDOUNvRSxPQUFPL0ksRUFBRThJLE1BQU0sQ0FBQzlJLEVBQUUyRSxNQUFNLElBQUkzRSxFQUFFOEksTUFBTSxDQUFDOUksRUFBRTJFLE1BQU0sSUFBSTNFLEVBQUUyRSxNQUFNO0FBQzNELEdBQ0NXLE1BQU0sR0FBRztBQUVaLE9BQU8sTUFBTTBELGtCQUFrQmhKLEVBQUVxRixNQUFNLENBQUM7SUFDdEM0RCxRQUFRWCxpQkFBaUJZLElBQUksQ0FBQztRQUFFbEYsSUFBSTtJQUFLLEdBQ3RDbUYsTUFBTSxDQUFDO1FBQ05DLFVBQVVwSixFQUFFMkUsTUFBTTtJQUNwQixHQUNDMEUsT0FBTyxDQUFDO1FBQ1BaLE9BQU87UUFDUEUsT0FBTztRQUNQQyxTQUFTO1FBQ1RDLFNBQVM7UUFDVEUsT0FBTztJQUNUO0lBQ0ZPLFlBQVl0SixFQUFFcUYsTUFBTSxDQUFDO1FBQ25CK0QsVUFBVXBKLEVBQUUyRSxNQUFNO0lBQ3BCO0lBQ0E0RSxXQUFXdkosRUFBRXFGLE1BQU0sQ0FBQyxDQUFDO0lBQ3JCbUUsZUFBZXhKLEVBQUVxRixNQUFNLENBQUMsQ0FBQztJQUN6Qm9FLGdCQUFnQnpKLEVBQUVxRixNQUFNLENBQUM7UUFDdkIrRCxVQUFVcEosRUFBRTJFLE1BQU07SUFDcEI7SUFDQStFLE9BQU8xSixFQUFFcUYsTUFBTSxDQUFDO1FBQ2QrRCxVQUFVcEosRUFBRTJFLE1BQU07UUFDbEJnRixvQkFBb0IzSixFQUFFMkUsTUFBTSxHQUFHRSxRQUFRO1FBQ3ZDK0UsZ0JBQWdCNUosRUFBRTJFLE1BQU0sR0FBR0UsUUFBUTtJQUNyQztJQUNBZ0YsWUFBWTdKLEVBQUVxRixNQUFNLENBQUM7UUFDbkIrRCxVQUFVcEosRUFBRTJFLE1BQU07SUFDcEI7SUFDQW1GLFFBQVE5SixFQUFFcUYsTUFBTSxDQUFDO1FBQ2YrRCxVQUFVcEosRUFBRTJFLE1BQU07SUFDcEI7SUFDQW9GLFNBQVMvSixFQUFFcUYsTUFBTSxDQUFDO1FBQ2hCMkUsYUFBYWhLLEVBQUVxRixNQUFNLENBQUM7WUFDcEI0RSxJQUFJakssRUFBRTJFLE1BQU07WUFDWnVGLFVBQVVsSyxFQUFFMkUsTUFBTTtZQUNsQndGLE9BQU9uSyxFQUFFMkUsTUFBTTtZQUNmeUYsYUFBYXBLLEVBQUUyRSxNQUFNO1lBQ3JCMEYsU0FBU3JLLEVBQUUyRSxNQUFNO1lBQ2pCMkYsZUFBZXRLLEVBQUUyRSxNQUFNO1lBQ3ZCNEYsT0FBT3ZLLEVBQUUyRSxNQUFNO1lBQ2Y2RixVQUFVeEssRUFBRTJFLE1BQU07UUFDcEI7UUFDQThGLGFBQWF6SyxFQUFFMkUsTUFBTTtJQUN2QjtJQUNBK0YsV0FBVzFLLEVBQUVxRixNQUFNLENBQUM7UUFDbEIrRCxVQUFVcEosRUFBRTJFLE1BQU07UUFDbEJnRyxPQUFPM0ssRUFBRTRLLE9BQU87SUFDbEI7SUFDQUMsbUJBQW1CN0ssRUFBRXFGLE1BQU0sQ0FBQztRQUMxQitELFVBQVVwSixFQUFFMkUsTUFBTTtRQUNsQnVELFNBQVNsSSxFQUNOcUYsTUFBTSxDQUFDO1lBQ05YLE1BQU0xRSxFQUFFMkUsTUFBTTtZQUNkbUcsT0FBTzlLLEVBQUUyRSxNQUFNO1lBQ2ZvRyxJQUFJL0ssRUFBRTJFLE1BQU07UUFDZCxHQUNDdkUsS0FBSztRQUNSNEssZUFBZWhMLEVBQUUyRSxNQUFNO0lBQ3pCO0lBQ0FzRyxtQkFBbUJqTCxFQUFFcUYsTUFBTSxDQUFDO1FBQzFCK0QsVUFBVXBKLEVBQUUyRSxNQUFNO0lBQ3BCO0lBQ0F1RyxXQUFXbEwsRUFBRXFGLE1BQU0sQ0FBQztRQUNsQitELFVBQVVwSixFQUFFMkUsTUFBTTtJQUNwQjtJQUNBd0csb0JBQW9CbkwsRUFBRXFGLE1BQU0sQ0FBQztRQUMzQitELFVBQVVwSixFQUFFMkUsTUFBTTtJQUNwQjtJQUNBeUcsc0JBQXNCcEwsRUFBRXFGLE1BQU0sQ0FBQztRQUM3QitELFVBQVVwSixFQUFFMkUsTUFBTTtRQUNsQjBHLFdBQVdyTCxFQUFFMkUsTUFBTTtJQUNyQjtJQUNBMkcsbUJBQW1CdEwsRUFBRXFGLE1BQU0sQ0FBQztRQUMxQitELFVBQVVwSixFQUFFMkUsTUFBTTtRQUNsQjRHLFFBQVF2TCxFQUFFMkUsTUFBTTtJQUNsQjtJQUNBNkcscUJBQXFCeEwsRUFBRXFGLE1BQU0sQ0FBQztRQUM1QitELFVBQVVwSixFQUFFMkUsTUFBTTtRQUNsQjRHLFFBQVF2TCxFQUFFMkUsTUFBTTtJQUNsQjtJQUNBOEcsc0JBQXNCekwsRUFBRXFGLE1BQU0sQ0FBQztRQUM3QitELFVBQVVwSixFQUFFMkUsTUFBTTtRQUNsQjRHLFFBQVF2TCxFQUFFMkUsTUFBTTtJQUNsQjtBQUNGLEdBQUc7QUFHSCxPQUFPLE1BQU0rRyxjQUFjMUwsRUFBRTZDLElBQUksQ0FBQztJQUNoQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxFQUFFO0FBR0gsT0FBTyxNQUFNOEksa0JBQWtCM0wsRUFBRXFGLE1BQU0sQ0FBQztJQUN0Q3VHLFdBQVc1TCxFQUFFK0UsT0FBTyxHQUFHRixRQUFRO0FBQ2pDLEdBQUc7QUFHSCxPQUFPLE1BQU1nSCxjQUFjN0wsRUFBRXFGLE1BQU0sQ0FBQztJQUNsQ3lHLE1BQU05TCxFQUFFMkUsTUFBTTtJQUNkM0IsTUFBTWhELEVBQUUyRSxNQUFNO0FBQ2hCLEdBQUcifQ==
|
package/dist/utils/model.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SonamuQueryMode } from "..";
|
|
2
|
+
export type ListResult<LP extends {
|
|
3
|
+
queryMode?: SonamuQueryMode;
|
|
4
|
+
}, T> = LP["queryMode"] extends "list" ? {
|
|
2
5
|
rows: T[];
|
|
3
|
-
|
|
6
|
+
} : LP["queryMode"] extends "count" ? {
|
|
7
|
+
total: number;
|
|
8
|
+
} : {
|
|
9
|
+
rows: T[];
|
|
10
|
+
total: number;
|
|
4
11
|
};
|
|
5
12
|
export type ArrayOr<T> = T | T[];
|
|
6
13
|
export declare function asArray<T>(param: T | T[]): T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE1C,MAAM,MAAM,UAAU,CACpB,EAAE,SAAS;IAAE,SAAS,CAAC,EAAE,eAAe,CAAA;CAAE,EAC1C,CAAC,IACC,EAAE,CAAC,WAAW,CAAC,SAAS,MAAM,GAC9B;IAAE,IAAI,EAAE,CAAC,EAAE,CAAA;CAAE,GACb,EAAE,CAAC,WAAW,CAAC,SAAS,OAAO,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAEjC,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAM9C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,mCAOlD;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACvC"}
|
package/dist/utils/model.js
CHANGED
|
@@ -19,4 +19,4 @@ export function objToMap(obj) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNvbmFtdVF1ZXJ5TW9kZSB9IGZyb20gXCIuLlwiO1xuXG5leHBvcnQgdHlwZSBMaXN0UmVzdWx0PFxuICBMUCBleHRlbmRzIHsgcXVlcnlNb2RlPzogU29uYW11UXVlcnlNb2RlIH0sXG4gIFQsXG4+ID0gTFBbXCJxdWVyeU1vZGVcIl0gZXh0ZW5kcyBcImxpc3RcIlxuICA/IHsgcm93czogVFtdIH1cbiAgOiBMUFtcInF1ZXJ5TW9kZVwiXSBleHRlbmRzIFwiY291bnRcIlxuICAgID8geyB0b3RhbDogbnVtYmVyIH1cbiAgICA6IHsgcm93czogVFtdOyB0b3RhbDogbnVtYmVyIH07XG5cbmV4cG9ydCB0eXBlIEFycmF5T3I8VD4gPSBUIHwgVFtdO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNBcnJheTxUPihwYXJhbTogVCB8IFRbXSk6IFRbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhcmFtKSkge1xuICAgIHJldHVybiBwYXJhbTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW3BhcmFtIGFzIFRdIGFzIFRbXTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqVG9NYXA8VD4ob2JqOiB7IFtrOiBzdHJpbmddOiBUIH0pIHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGlmIChrZXlzLmV2ZXJ5KChrZXkpID0+IHBhcnNlSW50KGtleSkudG9TdHJpbmcoKSA9PT0ga2V5KSkge1xuICAgIHJldHVybiBuZXcgTWFwPG51bWJlciwgVD4oa2V5cy5tYXAoKGtleSkgPT4gW3BhcnNlSW50KGtleSksIG9ialtrZXldXSkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgVD4oT2JqZWN0LmVudHJpZXMob2JqKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlTGlzdFBhcmFtcyB7XG4gIGlkPzogbnVtYmVyIHwgbnVtYmVyW107XG4gIG51bT86IG51bWJlcjtcbiAgcGFnZT86IG51bWJlcjtcbiAga2V5d29yZD86IHN0cmluZztcbiAgcXVlcnlNb2RlPzogXCJsaXN0XCIgfCBcImNvdW50XCIgfCBcImJvdGhcIjtcbn1cbiJdLCJuYW1lcyI6WyJhc0FycmF5IiwicGFyYW0iLCJBcnJheSIsImlzQXJyYXkiLCJvYmpUb01hcCIsIm9iaiIsImtleXMiLCJPYmplY3QiLCJldmVyeSIsImtleSIsInBhcnNlSW50IiwidG9TdHJpbmciLCJNYXAiLCJtYXAiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFhQSxPQUFPLFNBQVNBLFFBQVdDLEtBQWM7SUFDdkMsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixRQUFRO1FBQ3hCLE9BQU9BO0lBQ1QsT0FBTztRQUNMLE9BQU87WUFBQ0E7U0FBVztJQUNyQjtBQUNGO0FBRUEsT0FBTyxTQUFTRyxTQUFZQyxHQUF1QjtJQUNqRCxNQUFNQyxPQUFPQyxPQUFPRCxJQUFJLENBQUNEO0lBQ3pCLElBQUlDLEtBQUtFLEtBQUssQ0FBQyxDQUFDQyxNQUFRQyxTQUFTRCxLQUFLRSxRQUFRLE9BQU9GLE1BQU07UUFDekQsT0FBTyxJQUFJRyxJQUFlTixLQUFLTyxHQUFHLENBQUMsQ0FBQ0osTUFBUTtnQkFBQ0MsU0FBU0Q7Z0JBQU1KLEdBQUcsQ0FBQ0ksSUFBSTthQUFDO0lBQ3ZFLE9BQU87UUFDTCxPQUFPLElBQUlHLElBQWVMLE9BQU9PLE9BQU8sQ0FBQ1Q7SUFDM0M7QUFDRiJ9
|