angular-odata 0.102.0 → 0.102.5
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/esm2020/lib/api.mjs +83 -63
- package/esm2020/lib/cache/cache.mjs +1 -1
- package/esm2020/lib/cache/memory.mjs +1 -1
- package/esm2020/lib/cache/storage.mjs +1 -1
- package/esm2020/lib/models/collection.mjs +3 -3
- package/esm2020/lib/models/model.mjs +1 -1
- package/esm2020/lib/models/options.mjs +37 -19
- package/esm2020/lib/resources/query/expressions/compute.mjs +5 -5
- package/esm2020/lib/resources/query/expressions/expand.mjs +6 -6
- package/esm2020/lib/resources/query/expressions/filter.mjs +9 -9
- package/esm2020/lib/resources/query/expressions/index.mjs +3 -1
- package/esm2020/lib/resources/query/expressions/orderby.mjs +5 -5
- package/esm2020/lib/resources/query/expressions/search.mjs +3 -3
- package/esm2020/lib/resources/query/expressions/select.mjs +7 -7
- package/esm2020/lib/resources/query/handlers.mjs +2 -4
- package/esm2020/lib/resources/query/options.mjs +2 -3
- package/esm2020/lib/resources/request.mjs +22 -16
- package/esm2020/lib/resources/resource.mjs +1 -1
- package/esm2020/lib/resources/types/navigation-property.mjs +2 -2
- package/esm2020/lib/resources/types/property.mjs +4 -4
- package/esm2020/lib/schema/enum-type.mjs +9 -25
- package/esm2020/lib/schema/parsers/callable.mjs +6 -1
- package/esm2020/lib/schema/parsers/enum-type.mjs +23 -3
- package/esm2020/lib/schema/parsers/structured-type.mjs +120 -42
- package/esm2020/lib/schema/structured-type.mjs +26 -38
- package/esm2020/lib/types.mjs +1 -1
- package/esm2020/lib/utils/objects.mjs +2 -2
- package/esm2020/lib/utils/types.mjs +2 -7
- package/fesm2015/angular-odata.mjs +361 -250
- package/fesm2015/angular-odata.mjs.map +1 -1
- package/fesm2020/angular-odata.mjs +356 -243
- package/fesm2020/angular-odata.mjs.map +1 -1
- package/lib/api.d.ts +2 -4
- package/lib/models/collection.d.ts +2 -1
- package/lib/models/options.d.ts +9 -6
- package/lib/resources/query/expressions/compute.d.ts +7 -6
- package/lib/resources/query/expressions/expand.d.ts +17 -32
- package/lib/resources/query/expressions/filter.d.ts +11 -10
- package/lib/resources/query/expressions/index.d.ts +2 -0
- package/lib/resources/query/expressions/orderby.d.ts +7 -6
- package/lib/resources/query/expressions/search.d.ts +5 -4
- package/lib/resources/query/expressions/select.d.ts +7 -6
- package/lib/resources/query/handlers.d.ts +7 -30
- package/lib/schema/enum-type.d.ts +7 -19
- package/lib/schema/parsers/callable.d.ts +1 -0
- package/lib/schema/parsers/enum-type.d.ts +18 -10
- package/lib/schema/parsers/structured-type.d.ts +47 -3
- package/lib/schema/structured-type.d.ts +19 -19
- package/lib/types.d.ts +5 -5
- package/lib/utils/types.d.ts +0 -1
- package/package.json +1 -1
|
@@ -32,7 +32,7 @@ export class ODataNavigationPropertyResource extends ODataResource {
|
|
|
32
32
|
let fieldType;
|
|
33
33
|
let fieldSchema;
|
|
34
34
|
if (baseSchema !== undefined) {
|
|
35
|
-
const field = baseSchema.
|
|
35
|
+
const field = baseSchema.field(path);
|
|
36
36
|
fieldType = field?.type;
|
|
37
37
|
fieldSchema =
|
|
38
38
|
fieldType !== undefined
|
|
@@ -228,4 +228,4 @@ export class ODataNavigationPropertyResource extends ODataResource {
|
|
|
228
228
|
return fetch().pipe(expand(({ annots: meta }) => meta.skip || meta.skiptoken ? fetch(meta) : EMPTY), concatMap(({ entities }) => entities || []), toArray());
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvdHlwZXMvbmF2aWdhdGlvbi1wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU03QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sK0JBQW1DLFNBQVEsYUFBZ0I7SUFDdEUsaUJBQWlCO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQ1osR0FBYSxFQUNiLEVBQ0UsSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssR0FPTjtRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDakQsSUFBSSxJ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LEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZXhwYW5kLCBtYXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPRGF0YUFwaSB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24sIE9EYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFTdHJ1Y3R1cmVkVHlwZSB9IGZyb20gJy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBQYXRoU2VnbWVudE5hbWVzLCBRdWVyeU9wdGlvbk5hbWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFQYXRoU2VnbWVudHMgfSBmcm9tICcuLi9wYXRoJztcbmltcG9ydCB7IE9EYXRhUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgT0RhdGFSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlJztcbmltcG9ydCB7IE9EYXRhRW50aXRpZXMsIE9EYXRhRW50aXR5IH0gZnJvbSAnLi4vcmVzcG9uc2VzJztcbmltcG9ydCB7IE9EYXRhQ291bnRSZXNvdXJjZSB9IGZyb20gJy4vY291bnQnO1xuaW1wb3J0IHsgT0RhdGFNZWRpYVJlc291cmNlIH0gZnJvbSAnLi9tZWRpYSc7XG5pbXBvcnQge1xuICBPRGF0YUVudGl0aWVzT3B0aW9ucyxcbiAgT0RhdGFFbnRpdHlPcHRpb25zLFxuICBPRGF0YU9wdGlvbnMsXG59IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBPRGF0YVByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IE9EYXRhUmVmZXJlbmNlUmVzb3VyY2UgfSBmcm9tICcuL3JlZmVyZW5jZSc7XG5cbi8qKlxuICogT0RhdGEgTmF2aWdhdGlvbiBQcm9wZXJ0eSBSZXNvdXJjZVxuICogaHR0cHM6Ly93d3cub2RhdGEub3JnL2dldHRpbmctc3RhcnRlZC9hZHZhbmNlZC10dXRvcmlhbC8jY29udGFpbm1lbnRcbiAqIGh0dHBzOi8vd3d3Lm9kYXRhLm9yZy9nZXR0aW5nLXN0YXJ0ZWQvYWR2YW5jZWQtdHV0b3JpYWwvI2Rlcml2ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8VD4gZXh0ZW5kcyBPRGF0YVJlc291cmNlPFQ+IHtcbiAgLy8jcmVnaW9uIEZhY3RvcnlcbiAgc3RhdGljIGZhY3Rvcnk8Tj4oXG4gICAgYXBpOiBPRGF0YUFwaSxcbiAgICB7XG4gICAgICBwYXRoLFxuICAgICAgdHlwZSxcbiAgICAgIHNjaGVtYSxcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgfToge1xuICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgIHNjaGVtYT86IE9EYXRhU3RydWN0dXJlZFR5cGU8Tj47XG4gICAgICBzZWdtZW50czogT0RhdGFQYXRoU2VnbWVudHM7XG4gICAgICBxdWVyeT86IE9EYXRhUXVlcnlPcHRpb25zPE4+O1xuICAgIH1cbiAgKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzLmFkZChQYXRoU2VnbWVudE5hbWVzLm5hdmlnYXRpb25Qcm9wZXJ0eSwgcGF0aCk7XG4gICAgaWYgKHNjaGVtYSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUoc2NoZW1hLnR5cGUoKSk7XG4gICAgZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUodHlwZSk7XG4gICAgcXVlcnk/LmtlZXAoUXVlcnlPcHRpb25OYW1lcy5mb3JtYXQpO1xuICAgIHJldHVybiBuZXcgT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxOPihhcGksIHtcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgICBzY2hlbWEsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlc291cmNlPE4+KHJlc291cmNlOiBPRGF0YVJlc291cmNlPGFueT4sIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2VUeXBlID0gcmVzb3VyY2UudHlwZSgpO1xuICAgIGxldCBiYXNlU2NoZW1hID0gcmVzb3VyY2Uuc2NoZW1hIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZmllbGRUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZpZWxkU2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPE4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gYmFzZVNjaGVtYS5maW5kRmllbGRCeU5hbWU8Tj4ocGF0aCk7XG4gICAgICBmaWVsZFR5cGUgPSBmaWVsZD8udHlwZTtcbiAgICAgIGZpZWxkU2NoZW1hID1cbiAgICAgICAgZmllbGRUeXBlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHJlc291cmNlLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlKGZpZWxkVHlwZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGJhc2VTY2hlbWEgPVxuICAgICAgICBmaWVsZCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBiYXNlU2NoZW1hLmZpbmRTY2hlbWFGb3JGaWVsZDxOPihmaWVsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBuYXZpZ2F0aW9uID0gT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZS5mYWN0b3J5PE4+KFxuICAgICAgcmVzb3VyY2UuYXBpLFxuICAgICAge1xuICAgICAgICBwYXRoLFxuICAgICAgICB0eXBlOiBmaWVsZFR5cGUsXG4gICAgICAgIHNjaGVtYTogZmllbGRTY2hlbWEsXG4gICAgICAgIHNlZ21lbnRzOiByZXNvdXJjZS5jbG9uZVNlZ21lbnRzKCksXG4gICAgICAgIHF1ZXJ5OiByZXNvdXJjZS5jbG9uZVF1ZXJ5PE4+KCksXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIFN3aXRjaCBlbnRpdHlTZXQgdG8gYmluZGluZyB0eXBlIGlmIGF2YWlsYWJsZVxuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQgJiYgYmFzZVNjaGVtYS50eXBlKCkgIT09IGJhc2VUeXBlKSB7XG4gICAgICBsZXQgZW50aXR5U2V0ID0gcmVzb3VyY2UuYXBpLmZpbmRFbnRpdHlTZXRGb3JUeXBlKGJhc2VTY2hlbWEudHlwZSgpKTtcbiAgICAgIGlmIChlbnRpdHlTZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBuYXZpZ2F0aW9uLnNlZ21lbnQoKHMpID0+IHMuZW50aXR5U2V0KCkucGF0aChlbnRpdHlTZXQhLm5hbWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmF2aWdhdGlvbjtcbiAgfVxuICBvdmVycmlkZSBjbG9uZSgpOiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuY2xvbmUoKSBhcyBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFQ+O1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGtleSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbiA9IHRoaXMuY2xvbmUoKTtcbiAgICB2YXIga2V5ID0gdGhpcy5yZXNvbHZlS2V5KHZhbHVlKTtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpXG4gICAgICBuYXZpZ2F0aW9uLnNlZ21lbnQoKHMpID0+IHMubmF2aWdhdGlvblByb3BlcnR5KCkua2V5KGtleSkpO1xuICAgIHJldHVybiBuYXZpZ2F0aW9uO1xuICB9XG5cbiAga2V5cyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbiA9IHRoaXMuY2xvbmUoKTtcbiAgICBjb25zdCB0eXBlcyA9IHRoaXMucGF0aFNlZ21lbnRzLnR5cGVzKHsga2V5OiB0cnVlIH0pO1xuICAgIGNvbnN0IGtleXMgPSB2YWx1ZXMubWFwKCh2YWx1ZSwgaW5kZXgpID0+XG4gICAgICBPRGF0YVJlc291cmNlLnJlc29sdmVLZXkoXG4gICAgICAgIHZhbHVlLFxuICAgICAgICB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlPFQ+KHR5cGVzW2luZGV4XSlcbiAgICAgIClcbiAgICApO1xuICAgIG5hdmlnYXRpb24uc2VnbWVudCgocykgPT4gcy5rZXlzKGtleXMpKTtcbiAgICByZXR1cm4gbmF2aWdhdGlvbjtcbiAgfVxuXG4gIG1lZGlhKCkge1xuICAgIHJldHVybiBPRGF0YU1lZGlhUmVzb3VyY2UuZmFjdG9yeTxUPih0aGlzLmFwaSwge1xuICAgICAgc2VnbWVudHM6IHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgcXVlcnk6IHRoaXMuY2xvbmVRdWVyeTxUPigpLFxuICAgIH0pO1xuICB9XG5cbiAgcmVmZXJlbmNlKCkge1xuICAgIHJldHVybiBPRGF0YVJlZmVyZW5jZVJlc291cmNlLmZhY3Rvcnk8VD4odGhpcy5hcGksIHtcbiAgICAgIHNlZ21lbnRzOiB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICB9KTtcbiAgfVxuXG4gIG5hdmlnYXRpb25Qcm9wZXJ0eTxOPihwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZS5mcm9tUmVzb3VyY2U8Tj4odGhpcywgcGF0aCk7XG4gIH1cblxuICBwcm9wZXJ0eTxQPihwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gT0RhdGFQcm9wZXJ0eVJlc291cmNlLmZyb21SZXNvdXJjZTxQPih0aGlzLCBwYXRoKTtcbiAgfVxuXG4gIGNvdW50KCkge1xuICAgIHJldHVybiBPRGF0YUNvdW50UmVzb3VyY2UuZmFjdG9yeTxUPih0aGlzLmFwaSwge1xuICAgICAgc2VnbWVudHM6IHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgcXVlcnk6IHRoaXMuY2xvbmVRdWVyeTxUPigpLFxuICAgIH0pO1xuICB9XG5cbiAgY2FzdDxDPih0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0gdGhpcy5zY2hlbWEgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxUPjtcbiAgICBjb25zdCBjYXN0U2NoZW1hID0gdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlRm9yVHlwZTxDPih0eXBlKTtcbiAgICBpZiAoXG4gICAgICBjYXN0U2NoZW1hICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGJhc2VTY2hlbWEgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIWNhc3RTY2hlbWEuaXNTdWJ0eXBlT2YoYmFzZVNjaGVtYSlcbiAgICApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBjYXN0IHRvICR7dHlwZX1gKTtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuY2xvbmVTZWdtZW50cygpO1xuICAgIHNlZ21lbnRzLmFkZChQYXRoU2VnbWVudE5hbWVzLnR5cGUsIHR5cGUpLnR5cGUodHlwZSk7XG4gICAgcmV0dXJuIG5ldyBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPEM+KHRoaXMuYXBpLCB7XG4gICAgICBzZWdtZW50cyxcbiAgICAgIHNjaGVtYTogY2FzdFNjaGVtYSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmNsb25lUXVlcnk8Qz4oKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBSZXF1ZXN0c1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcG9zdChcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnBvc3QoYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwdXQoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnB1dChhdHRycywgeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHBhdGNoKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiBzdXBlci5wYXRjaChhdHRycywgeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRlbGV0ZShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZSh7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0KFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmXG4gICAgICBPRGF0YUVudGl0aWVzT3B0aW9ucyAmIHtcbiAgICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQob3B0aW9ucyk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gU2hvcnRjdXRzXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgZW50aXR5XG4gICAqIEBwYXJhbSBhdHRycyBUaGUgZW50aXR5IGF0dHJpYnV0ZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgZW50aXR5IHdpdGggdGhlIGFubm90YXRpb25zXG4gICAqL1xuICBjcmVhdGUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdChhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGV4aXN0aW5nIGVudGl0eVxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGVudGl0eSBhdHRyaWJ1dGVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIG9mIHRoZSBlbnRpdHlcbiAgICogQHJldHVybnMgVGhlIHVwZGF0ZWQgZW50aXR5IHdpdGggdGhlIGFubm90YXRpb25zXG4gICAqL1xuICB1cGRhdGUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5wdXQoYXR0cnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vZGlmeSBhbiBleGlzdGluZyBlbnRpdHlcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBlbnRpdHkgYXR0cmlidXRlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBvZiB0aGUgZW50aXR5XG4gICAqIEByZXR1cm5zIFRoZSBtb2RpZmllZCBlbnRpdHkgd2l0aCB0aGUgYW5ub3RhdGlvbnNcbiAgICovXG4gIG1vZGlmeShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBhdGNoKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgZW50aXR5XG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIG9mIHRoZSBlbnRpdHlcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgZGVzdHJveVxuICAgKi9cbiAgZGVzdHJveShvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBlbnRpdHkgLyBlbnRpdGllc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJuIEFuIG9ic2VydmFibGUgb2YgdGhlIGVudGl0eSBvciBlbnRpdGllcyB3aXRoIGFubm90YXRpb25zXG4gICAqL1xuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFFbnRpdHlPcHRpb25zICYge1xuICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PjtcbiAgZmV0Y2goXG4gICAgb3B0aW9ucz86IE9EYXRhRW50aXRpZXNPcHRpb25zICYge1xuICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8VD4+O1xuICBmZXRjaChcbiAgICBvcHRpb25zOiBPRGF0YUVudGl0eU9wdGlvbnMgJlxuICAgICAgT0RhdGFFbnRpdGllc09wdGlvbnMgJiB7XG4gICAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaGFzRW50aXR5S2V5KCkpXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgKCkgPT4gbmV3IEVycm9yKCdmZXRjaDogTmF2aWdhdGlvbiByZXNvdXJjZSB3aXRob3V0IGVudGl0eSBrZXknKVxuICAgICAgKTtcbiAgICByZXR1cm4gdGhpcy5nZXQob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBUaGUgZW50aXR5XG4gICAqL1xuICBmZXRjaEVudGl0eShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0eSB9KSA9PiBlbnRpdHkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgZW50aXR5IGFuZCByZXR1cm4gYXMgbW9kZWxcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgVGhlIG1vZGVsXG4gICAqL1xuICBmZXRjaE1vZGVsPE0gZXh0ZW5kcyBPRGF0YU1vZGVsPFQ+PihcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxNIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0eSwgYW5ub3RzIH0pID0+XG4gICAgICAgIGVudGl0eSA/IHRoaXMuYXNNb2RlbDxNPihlbnRpdHksIHsgYW5ub3RzLCByZXNldDogdHJ1ZSB9KSA6IG51bGxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBlbnRpdGllc1xuICAgKi9cbiAgZmV0Y2hFbnRpdGllcyhcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPFRbXSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggZW50aXRpZXMgYW5kIHJldHVybiBhcyBjb2xsZWN0aW9uXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBmZXRjaENvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgTT4+KFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIHdpdGhDb3VudD86IGJvb2xlYW47XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPEMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsIC4uLm9wdGlvbnMgfSkucGlwZShcbiAgICAgIG1hcCgoeyBlbnRpdGllcywgYW5ub3RzIH0pID0+XG4gICAgICAgIGVudGl0aWVzXG4gICAgICAgICAgPyB0aGlzLmFzQ29sbGVjdGlvbjxNLCBDPihlbnRpdGllcywgeyBhbm5vdHMsIHJlc2V0OiB0cnVlIH0pXG4gICAgICAgICAgOiBudWxsXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhbGwgZW50aXRpZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgQWxsIGVudGl0aWVzXG4gICAqL1xuICBmZXRjaEFsbChcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGxldCByZXMgPSB0aGlzLmNsb25lKCk7XG4gICAgLy8gQ2xlYW4gUGFnaW5nXG4gICAgcmVzLnF1ZXJ5KChxKSA9PiBxLmNsZWFyUGFnaW5nKCkpO1xuICAgIGxldCBmZXRjaCA9IChvcHRzPzoge1xuICAgICAgc2tpcD86IG51bWJlcjtcbiAgICAgIHNraXB0b2tlbj86IHN0cmluZztcbiAgICAgIHRvcD86IG51bWJlcjtcbiAgICB9KTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFQ+PiA9PiB7XG4gICAgICBpZiAob3B0cykge1xuICAgICAgICByZXMucXVlcnkoKHEpID0+IHEucGFnaW5nKG9wdHMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsIC4uLm9wdGlvbnMgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gZmV0Y2goKS5waXBlKFxuICAgICAgZXhwYW5kKCh7IGFubm90czogbWV0YSB9KSA9PlxuICAgICAgICBtZXRhLnNraXAgfHwgbWV0YS5za2lwdG9rZW4gPyBmZXRjaChtZXRhKSA6IEVNUFRZXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzIHx8IFtdKSxcbiAgICAgIHRvQXJyYXkoKVxuICAgICk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvdHlwZXMvbmF2aWdhdGlvbi1wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU03QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sK0JBQW1DLFNBQVEsYUFBZ0I7SUFDdEUsaUJBQWlCO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQ1osR0FBYSxFQUNiLEVBQ0UsSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssR0FPTjtRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDakQsSUFBSSxJ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LEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZXhwYW5kLCBtYXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPRGF0YUFwaSB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24sIE9EYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFTdHJ1Y3R1cmVkVHlwZSB9IGZyb20gJy4uLy4uL3NjaGVtYSc7XG5pbXBvcnQgeyBQYXRoU2VnbWVudE5hbWVzLCBRdWVyeU9wdGlvbk5hbWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFQYXRoU2VnbWVudHMgfSBmcm9tICcuLi9wYXRoJztcbmltcG9ydCB7IE9EYXRhUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgT0RhdGFSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlJztcbmltcG9ydCB7IE9EYXRhRW50aXRpZXMsIE9EYXRhRW50aXR5IH0gZnJvbSAnLi4vcmVzcG9uc2VzJztcbmltcG9ydCB7IE9EYXRhQ291bnRSZXNvdXJjZSB9IGZyb20gJy4vY291bnQnO1xuaW1wb3J0IHsgT0RhdGFNZWRpYVJlc291cmNlIH0gZnJvbSAnLi9tZWRpYSc7XG5pbXBvcnQge1xuICBPRGF0YUVudGl0aWVzT3B0aW9ucyxcbiAgT0RhdGFFbnRpdHlPcHRpb25zLFxuICBPRGF0YU9wdGlvbnMsXG59IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBPRGF0YVByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IE9EYXRhUmVmZXJlbmNlUmVzb3VyY2UgfSBmcm9tICcuL3JlZmVyZW5jZSc7XG5cbi8qKlxuICogT0RhdGEgTmF2aWdhdGlvbiBQcm9wZXJ0eSBSZXNvdXJjZVxuICogaHR0cHM6Ly93d3cub2RhdGEub3JnL2dldHRpbmctc3RhcnRlZC9hZHZhbmNlZC10dXRvcmlhbC8jY29udGFpbm1lbnRcbiAqIGh0dHBzOi8vd3d3Lm9kYXRhLm9yZy9nZXR0aW5nLXN0YXJ0ZWQvYWR2YW5jZWQtdHV0b3JpYWwvI2Rlcml2ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8VD4gZXh0ZW5kcyBPRGF0YVJlc291cmNlPFQ+IHtcbiAgLy8jcmVnaW9uIEZhY3RvcnlcbiAgc3RhdGljIGZhY3Rvcnk8Tj4oXG4gICAgYXBpOiBPRGF0YUFwaSxcbiAgICB7XG4gICAgICBwYXRoLFxuICAgICAgdHlwZSxcbiAgICAgIHNjaGVtYSxcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgfToge1xuICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgIHNjaGVtYT86IE9EYXRhU3RydWN0dXJlZFR5cGU8Tj47XG4gICAgICBzZWdtZW50czogT0RhdGFQYXRoU2VnbWVudHM7XG4gICAgICBxdWVyeT86IE9EYXRhUXVlcnlPcHRpb25zPE4+O1xuICAgIH1cbiAgKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzLmFkZChQYXRoU2VnbWVudE5hbWVzLm5hdmlnYXRpb25Qcm9wZXJ0eSwgcGF0aCk7XG4gICAgaWYgKHNjaGVtYSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUoc2NoZW1hLnR5cGUoKSk7XG4gICAgZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUodHlwZSk7XG4gICAgcXVlcnk/LmtlZXAoUXVlcnlPcHRpb25OYW1lcy5mb3JtYXQpO1xuICAgIHJldHVybiBuZXcgT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxOPihhcGksIHtcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgICBzY2hlbWEsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlc291cmNlPE4+KHJlc291cmNlOiBPRGF0YVJlc291cmNlPGFueT4sIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2VUeXBlID0gcmVzb3VyY2UudHlwZSgpO1xuICAgIGxldCBiYXNlU2NoZW1hID0gcmVzb3VyY2Uuc2NoZW1hIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZmllbGRUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZpZWxkU2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPE4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gYmFzZVNjaGVtYS5maWVsZDxOPihwYXRoKTtcbiAgICAgIGZpZWxkVHlwZSA9IGZpZWxkPy50eXBlO1xuICAgICAgZmllbGRTY2hlbWEgPVxuICAgICAgICBmaWVsZFR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gcmVzb3VyY2UuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGUoZmllbGRUeXBlKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgYmFzZVNjaGVtYSA9XG4gICAgICAgIGZpZWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IGJhc2VTY2hlbWEuZmluZFNjaGVtYUZvckZpZWxkPE4+KGZpZWxkKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG5hdmlnYXRpb24gPSBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLmZhY3Rvcnk8Tj4oXG4gICAgICByZXNvdXJjZS5hcGksXG4gICAgICB7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHR5cGU6IGZpZWxkVHlwZSxcbiAgICAgICAgc2NoZW1hOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgc2VnbWVudHM6IHJlc291cmNlLmNsb25lU2VnbWVudHMoKSxcbiAgICAgICAgcXVlcnk6IHJlc291cmNlLmNsb25lUXVlcnk8Tj4oKSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gU3dpdGNoIGVudGl0eVNldCB0byBiaW5kaW5nIHR5cGUgaWYgYXZhaWxhYmxlXG4gICAgaWYgKGJhc2VTY2hlbWEgIT09IHVuZGVmaW5lZCAmJiBiYXNlU2NoZW1hLnR5cGUoKSAhPT0gYmFzZVR5cGUpIHtcbiAgICAgIGxldCBlbnRpdHlTZXQgPSByZXNvdXJjZS5hcGkuZmluZEVudGl0eVNldEZvclR5cGUoYmFzZVNjaGVtYS50eXBlKCkpO1xuICAgICAgaWYgKGVudGl0eVNldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5hdmlnYXRpb24uc2VnbWVudCgocykgPT4gcy5lbnRpdHlTZXQoKS5wYXRoKGVudGl0eVNldCEubmFtZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuYXZpZ2F0aW9uO1xuICB9XG4gIG92ZXJyaWRlIGNsb25lKCk6IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8VD4ge1xuICAgIHJldHVybiBzdXBlci5jbG9uZSgpIGFzIE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8VD47XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAga2V5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5jbG9uZSgpO1xuICAgIHZhciBrZXkgPSB0aGlzLnJlc29sdmVLZXkodmFsdWUpO1xuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZClcbiAgICAgIG5hdmlnYXRpb24uc2VnbWVudCgocykgPT4gcy5uYXZpZ2F0aW9uUHJvcGVydHkoKS5rZXkoa2V5KSk7XG4gICAgcmV0dXJuIG5hdmlnYXRpb247XG4gIH1cblxuICBrZXlzKHZhbHVlczogYW55W10pIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5jbG9uZSgpO1xuICAgIGNvbnN0IHR5cGVzID0gdGhpcy5wYXRoU2VnbWVudHMudHlwZXMoeyBrZXk6IHRydWUgfSk7XG4gICAgY29uc3Qga2V5cyA9IHZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT5cbiAgICAgIE9EYXRhUmVzb3VyY2UucmVzb2x2ZUtleShcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGU8VD4odHlwZXNbaW5kZXhdKVxuICAgICAgKVxuICAgICk7XG4gICAgbmF2aWdhdGlvbi5zZWdtZW50KChzKSA9PiBzLmtleXMoa2V5cykpO1xuICAgIHJldHVybiBuYXZpZ2F0aW9uO1xuICB9XG5cbiAgbWVkaWEoKSB7XG4gICAgcmV0dXJuIE9EYXRhTWVkaWFSZXNvdXJjZS5mYWN0b3J5PFQ+KHRoaXMuYXBpLCB7XG4gICAgICBzZWdtZW50czogdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICBxdWVyeTogdGhpcy5jbG9uZVF1ZXJ5PFQ+KCksXG4gICAgfSk7XG4gIH1cblxuICByZWZlcmVuY2UoKSB7XG4gICAgcmV0dXJuIE9EYXRhUmVmZXJlbmNlUmVzb3VyY2UuZmFjdG9yeTxUPih0aGlzLmFwaSwge1xuICAgICAgc2VnbWVudHM6IHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgIH0pO1xuICB9XG5cbiAgbmF2aWdhdGlvblByb3BlcnR5PE4+KHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLmZyb21SZXNvdXJjZTxOPih0aGlzLCBwYXRoKTtcbiAgfVxuXG4gIHByb3BlcnR5PFA+KHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBPRGF0YVByb3BlcnR5UmVzb3VyY2UuZnJvbVJlc291cmNlPFA+KHRoaXMsIHBhdGgpO1xuICB9XG5cbiAgY291bnQoKSB7XG4gICAgcmV0dXJuIE9EYXRhQ291bnRSZXNvdXJjZS5mYWN0b3J5PFQ+KHRoaXMuYXBpLCB7XG4gICAgICBzZWdtZW50czogdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICBxdWVyeTogdGhpcy5jbG9uZVF1ZXJ5PFQ+KCksXG4gICAgfSk7XG4gIH1cblxuICBjYXN0PEM+KHR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB0aGlzLnNjaGVtYSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+O1xuICAgIGNvbnN0IGNhc3RTY2hlbWEgPSB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlPEM+KHR5cGUpO1xuICAgIGlmIChcbiAgICAgIGNhc3RTY2hlbWEgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYmFzZVNjaGVtYSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhY2FzdFNjaGVtYS5pc1N1YnR5cGVPZihiYXNlU2NoZW1hKVxuICAgIClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNhc3QgdG8gJHt0eXBlfWApO1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5jbG9uZVNlZ21lbnRzKCk7XG4gICAgc2VnbWVudHMuYWRkKFBhdGhTZWdtZW50TmFtZXMudHlwZSwgdHlwZSkudHlwZSh0eXBlKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8Qz4odGhpcy5hcGksIHtcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgc2NoZW1hOiBjYXN0U2NoZW1hLFxuICAgICAgcXVlcnk6IHRoaXMuY2xvbmVRdWVyeTxDPigpLFxuICAgIH0pO1xuICB9XG5cbiAgLy8jcmVnaW9uIFJlcXVlc3RzXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwb3N0KFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyA9IHt9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIucG9zdChhdHRycywgeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHB1dChcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIucHV0KGF0dHJzLCB7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcGF0Y2goXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnBhdGNoKGF0dHJzLCB7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGVsZXRlKFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXQoXG4gICAgb3B0aW9uczogT0RhdGFFbnRpdHlPcHRpb25zICZcbiAgICAgIE9EYXRhRW50aXRpZXNPcHRpb25zICYge1xuICAgICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChvcHRpb25zKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG9ydGN1dHNcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBlbnRpdHlcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBlbnRpdHkgYXR0cmlidXRlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBlbnRpdHkgd2l0aCB0aGUgYW5ub3RhdGlvbnNcbiAgICovXG4gIGNyZWF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5wb3N0KGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYW4gZXhpc3RpbmcgZW50aXR5XG4gICAqIEBwYXJhbSBhdHRycyBUaGUgZW50aXR5IGF0dHJpYnV0ZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgb2YgdGhlIGVudGl0eVxuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBlbnRpdHkgd2l0aCB0aGUgYW5ub3RhdGlvbnNcbiAgICovXG4gIHVwZGF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnB1dChhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZ5IGFuIGV4aXN0aW5nIGVudGl0eVxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGVudGl0eSBhdHRyaWJ1dGVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIG9mIHRoZSBlbnRpdHlcbiAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGVudGl0eSB3aXRoIHRoZSBhbm5vdGF0aW9uc1xuICAgKi9cbiAgbW9kaWZ5KFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucGF0Y2goYXR0cnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbiBleGlzdGluZyBlbnRpdHlcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgb2YgdGhlIGVudGl0eVxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSBkZXN0cm95XG4gICAqL1xuICBkZXN0cm95KG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGVudGl0eSAvIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm4gQW4gb2JzZXJ2YWJsZSBvZiB0aGUgZW50aXR5IG9yIGVudGl0aWVzIHdpdGggYW5ub3RhdGlvbnNcbiAgICovXG4gIGZldGNoKFxuICAgIG9wdGlvbnM/OiBPRGF0YUVudGl0eU9wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+O1xuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFFbnRpdGllc09wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxUPj47XG4gIGZldGNoKFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmXG4gICAgICBPRGF0YUVudGl0aWVzT3B0aW9ucyAmIHtcbiAgICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5oYXNFbnRpdHlLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKFxuICAgICAgICAoKSA9PiBuZXcgRXJyb3IoJ2ZldGNoOiBOYXZpZ2F0aW9uIHJlc291cmNlIHdpdGhvdXQgZW50aXR5IGtleScpXG4gICAgICApO1xuICAgIHJldHVybiB0aGlzLmdldChvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgZW50aXR5XG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBlbnRpdHlcbiAgICovXG4gIGZldGNoRW50aXR5KFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXR5IH0pID0+IGVudGl0eSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSBlbnRpdHkgYW5kIHJldHVybiBhcyBtb2RlbFxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBUaGUgbW9kZWxcbiAgICovXG4gIGZldGNoTW9kZWw8TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4+KFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXR5LCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXR5ID8gdGhpcy5hc01vZGVsPE0+KGVudGl0eSwgeyBhbm5vdHMsIHJlc2V0OiB0cnVlIH0pIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggZW50aXRpZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgVGhlIGVudGl0aWVzXG4gICAqL1xuICBmZXRjaEVudGl0aWVzKFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VFtdIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMgfSkgPT4gZW50aXRpZXMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBlbnRpdGllcyBhbmQgcmV0dXJuIGFzIGNvbGxlY3Rpb25cbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgVGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGZldGNoQ29sbGVjdGlvbjxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPiwgQyBleHRlbmRzIE9EYXRhQ29sbGVjdGlvbjxULCBNPj4oXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYge1xuICAgICAgd2l0aENvdW50PzogYm9vbGVhbjtcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8QyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0aWVzLCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXRpZXNcbiAgICAgICAgICA/IHRoaXMuYXNDb2xsZWN0aW9uPE0sIEM+KGVudGl0aWVzLCB7IGFubm90cywgcmVzZXQ6IHRydWUgfSlcbiAgICAgICAgICA6IG51bGxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGFsbCBlbnRpdGllc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBBbGwgZW50aXRpZXNcbiAgICovXG4gIGZldGNoQWxsKFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgbGV0IHJlcyA9IHRoaXMuY2xvbmUoKTtcbiAgICAvLyBDbGVhbiBQYWdpbmdcbiAgICByZXMucXVlcnkoKHEpID0+IHEuY2xlYXJQYWdpbmcoKSk7XG4gICAgbGV0IGZldGNoID0gKG9wdHM/OiB7XG4gICAgICBza2lwPzogbnVtYmVyO1xuICAgICAgc2tpcHRva2VuPzogc3RyaW5nO1xuICAgICAgdG9wPzogbnVtYmVyO1xuICAgIH0pOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8VD4+ID0+IHtcbiAgICAgIGlmIChvcHRzKSB7XG4gICAgICAgIHJlcy5xdWVyeSgocSkgPT4gcS5wYWdpbmcob3B0cykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJywgLi4ub3B0aW9ucyB9KTtcbiAgICB9O1xuICAgIHJldHVybiBmZXRjaCgpLnBpcGUoXG4gICAgICBleHBhbmQoKHsgYW5ub3RzOiBtZXRhIH0pID0+XG4gICAgICAgIG1ldGEuc2tpcCB8fCBtZXRhLnNraXB0b2tlbiA/IGZldGNoKG1ldGEpIDogRU1QVFlcbiAgICAgICksXG4gICAgICBjb25jYXRNYXAoKHsgZW50aXRpZXMgfSkgPT4gZW50aXRpZXMgfHwgW10pLFxuICAgICAgdG9BcnJheSgpXG4gICAgKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -26,7 +26,7 @@ export class ODataPropertyResource extends ODataResource {
|
|
|
26
26
|
let fieldType;
|
|
27
27
|
let fieldSchema;
|
|
28
28
|
if (baseSchema !== undefined) {
|
|
29
|
-
const field = baseSchema.
|
|
29
|
+
const field = baseSchema.field(path);
|
|
30
30
|
fieldType = field?.type;
|
|
31
31
|
fieldSchema =
|
|
32
32
|
fieldType !== undefined
|
|
@@ -83,7 +83,7 @@ export class ODataPropertyResource extends ODataResource {
|
|
|
83
83
|
navigationProperty<N>(path: string) {
|
|
84
84
|
let schema: ODataStructuredType<N> | undefined;
|
|
85
85
|
if (this.schema instanceof ODataStructuredType) {
|
|
86
|
-
const field = this.schema.
|
|
86
|
+
const field = this.schema.field<any>(path as keyof T);
|
|
87
87
|
schema =
|
|
88
88
|
field !== undefined
|
|
89
89
|
? this.schema.findSchemaForField<N>(field)
|
|
@@ -101,7 +101,7 @@ export class ODataPropertyResource extends ODataResource {
|
|
|
101
101
|
let type;
|
|
102
102
|
let schema;
|
|
103
103
|
if (this.schema instanceof ODataStructuredType) {
|
|
104
|
-
const field = this.schema.
|
|
104
|
+
const field = this.schema.field(path);
|
|
105
105
|
type = field?.type;
|
|
106
106
|
schema =
|
|
107
107
|
field !== undefined
|
|
@@ -183,4 +183,4 @@ export class ODataPropertyResource extends ODataResource {
|
|
|
183
183
|
return fetch().pipe(expand(({ annots: meta }) => meta.skip || meta.skiptoken ? fetch(meta) : EMPTY), concatMap(({ entities }) => entities || []), toArray());
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3R5cGVzL3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBNkIsTUFBTSxjQUFjLENBQUM7QUFDOUUsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU3QyxNQUFNLE9BQU8scUJBQXlCLFNBQVEsYUFBZ0I7SUFDNUQsaUJBQWlCO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQ1osR0FBYSxFQUNiLEVBQ0UsSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssR0FPTjtRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ2pELElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBSSxxQkFBcUIsQ0FBSSxHQUFHLEVBQUU7WUFDdkMsUUFB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QUssQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQztRQUNGLE9BQU8sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUNqQixNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQzFCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ2xELEVBQ0QsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUMzQyxPQUFPLEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZXhwYW5kLCBtYXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPRGF0YUFwaSB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24sIE9EYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFTdHJ1Y3R1cmVkVHlwZSwgT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlciB9IGZyb20gJy4uLy4uL3NjaGVtYSc7XG4vL2ltcG9ydCB7IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL25hdmlnYXRpb24tcHJvcGVydHknO1xuaW1wb3J0IHsgUGF0aFNlZ21lbnROYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhUGF0aFNlZ21lbnRzIH0gZnJvbSAnLi4vcGF0aCc7XG5pbXBvcnQgeyBPRGF0YVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IE9EYXRhUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQge1xuICBPRGF0YUVudGl0aWVzLFxuICBPRGF0YUVudGl0aWVzQW5ub3RhdGlvbnMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUVudGl0eUFubm90YXRpb25zLFxuICBPRGF0YVByb3BlcnR5LFxufSBmcm9tICcuLi9yZXNwb25zZXMnO1xuaW1wb3J0IHtcbiAgT0RhdGFFbnRpdGllc09wdGlvbnMsXG4gIE9EYXRhRW50aXR5T3B0aW9ucyxcbiAgT0RhdGFPcHRpb25zLFxuICBPRGF0YVByb3BlcnR5T3B0aW9ucyxcbn0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IE9EYXRhVmFsdWVSZXNvdXJjZSB9IGZyb20gJy4vdmFsdWUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFQcm9wZXJ0eVJlc291cmNlPFQ+IGV4dGVuZHMgT0RhdGFSZXNvdXJjZTxUPiB7XG4gIC8vI3JlZ2lvbiBGYWN0b3J5XG4gIHN0YXRpYyBmYWN0b3J5PFA+KFxuICAgIGFwaTogT0RhdGFBcGksXG4gICAge1xuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICBzY2hlbWEsXG4gICAgICBzZWdtZW50cyxcbiAgICAgIHF1ZXJ5LFxuICAgIH06IHtcbiAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBzY2hlbWE/OiBPRGF0YVN0cnVjdHVyZWRUeXBlPFA+O1xuICAgICAgc2VnbWVudHM6IE9EYXRhUGF0aFNlZ21lbnRzO1xuICAgICAgcXVlcnk/OiBPRGF0YVF1ZXJ5T3B0aW9uczxQPjtcbiAgICB9XG4gICkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50cy5hZGQoUGF0aFNlZ21lbnROYW1lcy5wcm9wZXJ0eSwgcGF0aCk7XG4gICAgaWYgKHNjaGVtYSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUoc2NoZW1hLnR5cGUoKSk7XG4gICAgZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUodHlwZSk7XG5cbiAgICBxdWVyeT8uY2xlYXIoKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhUHJvcGVydHlSZXNvdXJjZTxQPihhcGksIHtcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgICBzY2hlbWEsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlc291cmNlPE4+KHJlc291cmNlOiBPRGF0YVJlc291cmNlPGFueT4sIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2VUeXBlID0gcmVzb3VyY2UudHlwZSgpO1xuICAgIGxldCBiYXNlU2NoZW1hID0gcmVzb3VyY2Uuc2NoZW1hIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZmllbGRUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZpZWxkU2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPE4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gYmFzZVNjaGVtYS5maW5kRmllbGRCeU5hbWU8Tj4ocGF0aCk7XG4gICAgICBmaWVsZFR5cGUgPSBmaWVsZD8udHlwZTtcbiAgICAgIGZpZWxkU2NoZW1hID1cbiAgICAgICAgZmllbGRUeXBlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHJlc291cmNlLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlKGZpZWxkVHlwZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGJhc2VTY2hlbWEgPVxuICAgICAgICBmaWVsZCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBiYXNlU2NoZW1hLmZpbmRTY2hlbWFGb3JGaWVsZDxOPihmaWVsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eSA9IE9EYXRhUHJvcGVydHlSZXNvdXJjZS5mYWN0b3J5PE4+KHJlc291cmNlLmFwaSwge1xuICAgICAgcGF0aCxcbiAgICAgIHR5cGU6IGZpZWxkVHlwZSxcbiAgICAgIHNjaGVtYTogZmllbGRTY2hlbWEsXG4gICAgICBzZWdtZW50czogcmVzb3VyY2UuY2xvbmVTZWdtZW50cygpLFxuICAgICAgcXVlcnk6IHJlc291cmNlLmNsb25lUXVlcnk8Tj4oKSxcbiAgICB9KTtcblxuICAgIC8vIFN3aXRjaCBlbnRpdHlTZXQgdG8gYmluZGluZyB0eXBlIGlmIGF2YWlsYWJsZVxuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQgJiYgYmFzZVNjaGVtYS50eXBlKCkgIT09IGJhc2VUeXBlKSB7XG4gICAgICBsZXQgZW50aXR5U2V0ID0gcmVzb3VyY2UuYXBpLmZpbmRFbnRpdHlTZXRGb3JUeXBlKGJhc2VTY2hlbWEudHlwZSgpKTtcbiAgICAgIGlmIChlbnRpdHlTZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wZXJ0eS5zZWdtZW50KChzKSA9PiBzLmVudGl0eVNldCgpLnBhdGgoZW50aXR5U2V0IS5uYW1lKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG4gIG92ZXJyaWRlIGNsb25lKCk6IE9EYXRhUHJvcGVydHlSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHN1cGVyLmNsb25lKCkgYXMgT0RhdGFQcm9wZXJ0eVJlc291cmNlPFQ+O1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGtleSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgcHJvcGVydHkgPSB0aGlzLmNsb25lKCk7XG4gICAgdmFyIGtleSA9IHRoaXMucmVzb2x2ZUtleSh2YWx1ZSk7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSBwcm9wZXJ0eS5zZWdtZW50KChzKSA9PiBzLnByb3BlcnR5KCkua2V5KGtleSkpO1xuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfVxuXG4gIGtleXModmFsdWVzOiBhbnlbXSkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5jbG9uZSgpO1xuICAgIGNvbnN0IHR5cGVzID0gdGhpcy5wYXRoU2VnbWVudHMudHlwZXMoeyBrZXk6IHRydWUgfSk7XG4gICAgY29uc3Qga2V5cyA9IHZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT5cbiAgICAgIE9EYXRhUmVzb3VyY2UucmVzb2x2ZUtleShcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGU8VD4odHlwZXNbaW5kZXhdKVxuICAgICAgKVxuICAgICk7XG4gICAgcHJvcGVydHkuc2VnbWVudCgocykgPT4gcy5rZXlzKGtleXMpKTtcbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH1cblxuICB2YWx1ZSgpIHtcbiAgICByZXR1cm4gT0RhdGFWYWx1ZVJlc291cmNlLmZhY3Rvcnk8VD4odGhpcy5hcGksIHtcbiAgICAgIHR5cGU6IHRoaXMucmV0dXJuVHlwZSgpLFxuICAgICAgc2NoZW1hOiB0aGlzLnNjaGVtYSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+LFxuICAgICAgc2VnbWVudHM6IHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgcXVlcnk6IHRoaXMuY2xvbmVRdWVyeTxUPigpLFxuICAgIH0pO1xuICB9XG5cbiAgLypcbiAgbmF2aWdhdGlvblByb3BlcnR5PE4+KHBhdGg6IHN0cmluZykge1xuICAgIGxldCBzY2hlbWE6IE9EYXRhU3RydWN0dXJlZFR5cGU8Tj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuc2NoZW1hIGluc3RhbmNlb2YgT0RhdGFTdHJ1Y3R1cmVkVHlwZSkge1xuICAgICAgY29uc3QgZmllbGQgPSB0aGlzLnNjaGVtYS5maW5kRmllbGRCeU5hbWU8YW55PihwYXRoIGFzIGtleW9mIFQpO1xuICAgICAgc2NoZW1hID1cbiAgICAgICAgZmllbGQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdGhpcy5zY2hlbWEuZmluZFNjaGVtYUZvckZpZWxkPE4+KGZpZWxkKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZS5mYWN0b3J5PE4+KHRoaXMuYXBpLCB7XG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgc2VnbWVudHM6IHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgcXVlcnk6IHRoaXMuY2xvbmVRdWVyeTxOPigpLFxuICAgIH0pO1xuICB9XG4gICovXG5cbiAgcHJvcGVydHk8UD4ocGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPFA+IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLnNjaGVtYSBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGUpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5zY2hlbWEuZmluZEZpZWxkQnlOYW1lPGFueT4ocGF0aCBhcyBrZXlvZiBUKTtcbiAgICAgIHR5cGUgPSBmaWVsZD8udHlwZTtcbiAgICAgIHNjaGVtYSA9XG4gICAgICAgIGZpZWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHRoaXMuc2NoZW1hLmZpbmRTY2hlbWFGb3JGaWVsZDxQPihmaWVsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhUHJvcGVydHlSZXNvdXJjZS5mYWN0b3J5PFA+KHRoaXMuYXBpLCB7XG4gICAgICBwYXRoLFxuICAgICAgdHlwZSxcbiAgICAgIHNjaGVtYSxcbiAgICAgIHNlZ21lbnRzOiB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmNsb25lUXVlcnk8UD4oKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBSZXF1ZXN0c1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0KFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmIE9EYXRhRW50aXRpZXNPcHRpb25zICYgT0RhdGFQcm9wZXJ0eU9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KG9wdGlvbnMpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG9ydGN1dHNcbiAgLyoqXG4gICAqIEZldGNoIHRoZSBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJuIFRoZSBlbnRpdHkgLyBlbnRpdGllcyAvIHByb3BlcnR5IHZhbHVlXG4gICAqL1xuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFFbnRpdHlPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj47XG4gIGZldGNoKG9wdGlvbnM/OiBPRGF0YUVudGl0aWVzT3B0aW9ucyk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxUPj47XG4gIGZldGNoKG9wdGlvbnM/OiBPRGF0YVByb3BlcnR5T3B0aW9ucyk6IE9ic2VydmFibGU8T0RhdGFQcm9wZXJ0eTxUPj47XG4gIGZldGNoKFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmXG4gICAgICBPRGF0YUVudGl0aWVzT3B0aW9ucyAmXG4gICAgICBPRGF0YVByb3BlcnR5T3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIHByb3BlcnR5IHZhbHVlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBwcm9wZXJ0eSB2YWx1ZVxuICAgKi9cbiAgZmV0Y2hQcm9wZXJ0eShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IHByb3BlcnR5IH0pID0+IHByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBUaGUgZW50aXR5XG4gICAqL1xuICBmZXRjaEVudGl0eShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSkucGlwZShcbiAgICAgIG1hcCgoeyBlbnRpdHkgfSkgPT4gZW50aXR5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0eSBhbmQgcmV0dXJuIGFzIG1vZGVsXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBtb2RlbFxuICAgKi9cbiAgZmV0Y2hNb2RlbDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4oXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXR5LCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXR5ID8gdGhpcy5hc01vZGVsPE0+KGVudGl0eSwgeyBhbm5vdHMsIHJlc2V0OiB0cnVlIH0pIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBlbnRpdGllc1xuICAgKi9cbiAgZmV0Y2hFbnRpdGllcyhcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IHdpdGhDb3VudD86IGJvb2xlYW4gfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VFtdIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMgfSkgPT4gZW50aXRpZXMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgZW50aXRpZXMgYW5kIHJldHVybiBhcyBjb2xsZWN0aW9uXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBmZXRjaENvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgTT4+KFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHsgd2l0aENvdW50PzogYm9vbGVhbiB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMsIGFubm90cyB9KSA9PlxuICAgICAgICBlbnRpdGllc1xuICAgICAgICAgID8gdGhpcy5hc0NvbGxlY3Rpb248TSwgQz4oZW50aXRpZXMsIHsgYW5ub3RzLCByZXNldDogdHJ1ZSB9KVxuICAgICAgICAgIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIEFsbCBlbnRpdGllc1xuICAgKi9cbiAgZmV0Y2hBbGwob3B0aW9uczogT0RhdGFPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGxldCByZXMgPSB0aGlzLmNsb25lKCk7XG4gICAgLy8gQ2xlYW4gUGFnaW5nXG4gICAgcmVzLnF1ZXJ5KChxKSA9PiBxLmNsZWFyUGFnaW5nKCkpO1xuICAgIGxldCBmZXRjaCA9IChvcHRzPzoge1xuICAgICAgc2tpcD86IG51bWJlcjtcbiAgICAgIHNraXB0b2tlbj86IHN0cmluZztcbiAgICAgIHRvcD86IG51bWJlcjtcbiAgICB9KTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFQ+PiA9PiB7XG4gICAgICBpZiAob3B0cykge1xuICAgICAgICByZXMucXVlcnkoKHEpID0+IHEucGFnaW5nKG9wdHMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsIC4uLm9wdGlvbnMgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gZmV0Y2goKS5waXBlKFxuICAgICAgZXhwYW5kKCh7IGFubm90czogbWV0YSB9KSA9PlxuICAgICAgICBtZXRhLnNraXAgfHwgbWV0YS5za2lwdG9rZW4gPyBmZXRjaChtZXRhKSA6IEVNUFRZXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzIHx8IFtdKSxcbiAgICAgIHRvQXJyYXkoKVxuICAgICk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3R5cGVzL3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBNkIsTUFBTSxjQUFjLENBQUM7QUFDOUUsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU3QyxNQUFNLE9BQU8scUJBQXlCLFNBQVEsYUFBZ0I7SUFDNUQsaUJBQWlCO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQ1osR0FBYSxFQUNiLEVBQ0UsSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssR0FPTjtRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ2pELElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBSSxxQkFBcUIsQ0FBSSxHQUFHLEVBQUU7WUFDdkMsUUFB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QUssQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQztRQUNGLE9BQU8sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUNqQixNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQzFCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ2xELEVBQ0QsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUMzQyxPQUFPLEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZXhwYW5kLCBtYXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPRGF0YUFwaSB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24sIE9EYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFTdHJ1Y3R1cmVkVHlwZSwgT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlciB9IGZyb20gJy4uLy4uL3NjaGVtYSc7XG4vL2ltcG9ydCB7IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL25hdmlnYXRpb24tcHJvcGVydHknO1xuaW1wb3J0IHsgUGF0aFNlZ21lbnROYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhUGF0aFNlZ21lbnRzIH0gZnJvbSAnLi4vcGF0aCc7XG5pbXBvcnQgeyBPRGF0YVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IE9EYXRhUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQge1xuICBPRGF0YUVudGl0aWVzLFxuICBPRGF0YUVudGl0aWVzQW5ub3RhdGlvbnMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUVudGl0eUFubm90YXRpb25zLFxuICBPRGF0YVByb3BlcnR5LFxufSBmcm9tICcuLi9yZXNwb25zZXMnO1xuaW1wb3J0IHtcbiAgT0RhdGFFbnRpdGllc09wdGlvbnMsXG4gIE9EYXRhRW50aXR5T3B0aW9ucyxcbiAgT0RhdGFPcHRpb25zLFxuICBPRGF0YVByb3BlcnR5T3B0aW9ucyxcbn0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IE9EYXRhVmFsdWVSZXNvdXJjZSB9IGZyb20gJy4vdmFsdWUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFQcm9wZXJ0eVJlc291cmNlPFQ+IGV4dGVuZHMgT0RhdGFSZXNvdXJjZTxUPiB7XG4gIC8vI3JlZ2lvbiBGYWN0b3J5XG4gIHN0YXRpYyBmYWN0b3J5PFA+KFxuICAgIGFwaTogT0RhdGFBcGksXG4gICAge1xuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICBzY2hlbWEsXG4gICAgICBzZWdtZW50cyxcbiAgICAgIHF1ZXJ5LFxuICAgIH06IHtcbiAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBzY2hlbWE/OiBPRGF0YVN0cnVjdHVyZWRUeXBlPFA+O1xuICAgICAgc2VnbWVudHM6IE9EYXRhUGF0aFNlZ21lbnRzO1xuICAgICAgcXVlcnk/OiBPRGF0YVF1ZXJ5T3B0aW9uczxQPjtcbiAgICB9XG4gICkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50cy5hZGQoUGF0aFNlZ21lbnROYW1lcy5wcm9wZXJ0eSwgcGF0aCk7XG4gICAgaWYgKHNjaGVtYSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUoc2NoZW1hLnR5cGUoKSk7XG4gICAgZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUodHlwZSk7XG5cbiAgICBxdWVyeT8uY2xlYXIoKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhUHJvcGVydHlSZXNvdXJjZTxQPihhcGksIHtcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgcXVlcnksXG4gICAgICBzY2hlbWEsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlc291cmNlPE4+KHJlc291cmNlOiBPRGF0YVJlc291cmNlPGFueT4sIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2VUeXBlID0gcmVzb3VyY2UudHlwZSgpO1xuICAgIGxldCBiYXNlU2NoZW1hID0gcmVzb3VyY2Uuc2NoZW1hIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZmllbGRUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGZpZWxkU2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPE4+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChiYXNlU2NoZW1hICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gYmFzZVNjaGVtYS5maWVsZDxOPihwYXRoKTtcbiAgICAgIGZpZWxkVHlwZSA9IGZpZWxkPy50eXBlO1xuICAgICAgZmllbGRTY2hlbWEgPVxuICAgICAgICBmaWVsZFR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gcmVzb3VyY2UuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGUoZmllbGRUeXBlKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgYmFzZVNjaGVtYSA9XG4gICAgICAgIGZpZWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IGJhc2VTY2hlbWEuZmluZFNjaGVtYUZvckZpZWxkPE4+KGZpZWxkKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BlcnR5ID0gT0RhdGFQcm9wZXJ0eVJlc291cmNlLmZhY3Rvcnk8Tj4ocmVzb3VyY2UuYXBpLCB7XG4gICAgICBwYXRoLFxuICAgICAgdHlwZTogZmllbGRUeXBlLFxuICAgICAgc2NoZW1hOiBmaWVsZFNjaGVtYSxcbiAgICAgIHNlZ21lbnRzOiByZXNvdXJjZS5jbG9uZVNlZ21lbnRzKCksXG4gICAgICBxdWVyeTogcmVzb3VyY2UuY2xvbmVRdWVyeTxOPigpLFxuICAgIH0pO1xuXG4gICAgLy8gU3dpdGNoIGVudGl0eVNldCB0byBiaW5kaW5nIHR5cGUgaWYgYXZhaWxhYmxlXG4gICAgaWYgKGJhc2VTY2hlbWEgIT09IHVuZGVmaW5lZCAmJiBiYXNlU2NoZW1hLnR5cGUoKSAhPT0gYmFzZVR5cGUpIHtcbiAgICAgIGxldCBlbnRpdHlTZXQgPSByZXNvdXJjZS5hcGkuZmluZEVudGl0eVNldEZvclR5cGUoYmFzZVNjaGVtYS50eXBlKCkpO1xuICAgICAgaWYgKGVudGl0eVNldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb3BlcnR5LnNlZ21lbnQoKHMpID0+IHMuZW50aXR5U2V0KCkucGF0aChlbnRpdHlTZXQhLm5hbWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH1cbiAgb3ZlcnJpZGUgY2xvbmUoKTogT0RhdGFQcm9wZXJ0eVJlc291cmNlPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuY2xvbmUoKSBhcyBPRGF0YVByb3BlcnR5UmVzb3VyY2U8VD47XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAga2V5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuY2xvbmUoKTtcbiAgICB2YXIga2V5ID0gdGhpcy5yZXNvbHZlS2V5KHZhbHVlKTtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpIHByb3BlcnR5LnNlZ21lbnQoKHMpID0+IHMucHJvcGVydHkoKS5rZXkoa2V5KSk7XG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAga2V5cyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgY29uc3QgcHJvcGVydHkgPSB0aGlzLmNsb25lKCk7XG4gICAgY29uc3QgdHlwZXMgPSB0aGlzLnBhdGhTZWdtZW50cy50eXBlcyh7IGtleTogdHJ1ZSB9KTtcbiAgICBjb25zdCBrZXlzID0gdmFsdWVzLm1hcCgodmFsdWUsIGluZGV4KSA9PlxuICAgICAgT0RhdGFSZXNvdXJjZS5yZXNvbHZlS2V5KFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlRm9yVHlwZTxUPih0eXBlc1tpbmRleF0pXG4gICAgICApXG4gICAgKTtcbiAgICBwcm9wZXJ0eS5zZWdtZW50KChzKSA9PiBzLmtleXMoa2V5cykpO1xuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiBPRGF0YVZhbHVlUmVzb3VyY2UuZmFjdG9yeTxUPih0aGlzLmFwaSwge1xuICAgICAgdHlwZTogdGhpcy5yZXR1cm5UeXBlKCksXG4gICAgICBzY2hlbWE6IHRoaXMuc2NoZW1hIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8VD4sXG4gICAgICBzZWdtZW50czogdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICBxdWVyeTogdGhpcy5jbG9uZVF1ZXJ5PFQ+KCksXG4gICAgfSk7XG4gIH1cblxuICAvKlxuICBuYXZpZ2F0aW9uUHJvcGVydHk8Tj4ocGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHNjaGVtYTogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxOPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5zY2hlbWEgaW5zdGFuY2VvZiBPRGF0YVN0cnVjdHVyZWRUeXBlKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IHRoaXMuc2NoZW1hLmZpZWxkPGFueT4ocGF0aCBhcyBrZXlvZiBUKTtcbiAgICAgIHNjaGVtYSA9XG4gICAgICAgIGZpZWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHRoaXMuc2NoZW1hLmZpbmRTY2hlbWFGb3JGaWVsZDxOPihmaWVsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2UuZmFjdG9yeTxOPih0aGlzLmFwaSwge1xuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIHNlZ21lbnRzOiB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmNsb25lUXVlcnk8Tj4oKSxcbiAgICB9KTtcbiAgfVxuICAqL1xuXG4gIHByb3BlcnR5PFA+KHBhdGg6IHN0cmluZykge1xuICAgIGxldCB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IHNjaGVtYTogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxQPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5zY2hlbWEgaW5zdGFuY2VvZiBPRGF0YVN0cnVjdHVyZWRUeXBlKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IHRoaXMuc2NoZW1hLmZpZWxkPGFueT4ocGF0aCBhcyBrZXlvZiBUKTtcbiAgICAgIHR5cGUgPSBmaWVsZD8udHlwZTtcbiAgICAgIHNjaGVtYSA9XG4gICAgICAgIGZpZWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHRoaXMuc2NoZW1hLmZpbmRTY2hlbWFGb3JGaWVsZDxQPihmaWVsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhUHJvcGVydHlSZXNvdXJjZS5mYWN0b3J5PFA+KHRoaXMuYXBpLCB7XG4gICAgICBwYXRoLFxuICAgICAgdHlwZSxcbiAgICAgIHNjaGVtYSxcbiAgICAgIHNlZ21lbnRzOiB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmNsb25lUXVlcnk8UD4oKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBSZXF1ZXN0c1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0KFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmIE9EYXRhRW50aXRpZXNPcHRpb25zICYgT0RhdGFQcm9wZXJ0eU9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KG9wdGlvbnMpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG9ydGN1dHNcbiAgLyoqXG4gICAqIEZldGNoIHRoZSBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJuIFRoZSBlbnRpdHkgLyBlbnRpdGllcyAvIHByb3BlcnR5IHZhbHVlXG4gICAqL1xuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFFbnRpdHlPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj47XG4gIGZldGNoKG9wdGlvbnM/OiBPRGF0YUVudGl0aWVzT3B0aW9ucyk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxUPj47XG4gIGZldGNoKG9wdGlvbnM/OiBPRGF0YVByb3BlcnR5T3B0aW9ucyk6IE9ic2VydmFibGU8T0RhdGFQcm9wZXJ0eTxUPj47XG4gIGZldGNoKFxuICAgIG9wdGlvbnM6IE9EYXRhRW50aXR5T3B0aW9ucyAmXG4gICAgICBPRGF0YUVudGl0aWVzT3B0aW9ucyAmXG4gICAgICBPRGF0YVByb3BlcnR5T3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIHByb3BlcnR5IHZhbHVlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBwcm9wZXJ0eSB2YWx1ZVxuICAgKi9cbiAgZmV0Y2hQcm9wZXJ0eShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JywgLi4ub3B0aW9ucyB9KS5waXBlKFxuICAgICAgbWFwKCh7IHByb3BlcnR5IH0pID0+IHByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBUaGUgZW50aXR5XG4gICAqL1xuICBmZXRjaEVudGl0eShcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSkucGlwZShcbiAgICAgIG1hcCgoeyBlbnRpdHkgfSkgPT4gZW50aXR5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0eSBhbmQgcmV0dXJuIGFzIG1vZGVsXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBtb2RlbFxuICAgKi9cbiAgZmV0Y2hNb2RlbDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4oXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXR5LCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXR5ID8gdGhpcy5hc01vZGVsPE0+KGVudGl0eSwgeyBhbm5vdHMsIHJlc2V0OiB0cnVlIH0pIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBlbnRpdGllc1xuICAgKi9cbiAgZmV0Y2hFbnRpdGllcyhcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IHdpdGhDb3VudD86IGJvb2xlYW4gfSA9IHt9XG4gICk6IE9ic2VydmFibGU8VFtdIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMgfSkgPT4gZW50aXRpZXMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgZW50aXRpZXMgYW5kIHJldHVybiBhcyBjb2xsZWN0aW9uXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBmZXRjaENvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgTT4+KFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHsgd2l0aENvdW50PzogYm9vbGVhbiB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKHsgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMsIGFubm90cyB9KSA9PlxuICAgICAgICBlbnRpdGllc1xuICAgICAgICAgID8gdGhpcy5hc0NvbGxlY3Rpb248TSwgQz4oZW50aXRpZXMsIHsgYW5ub3RzLCByZXNldDogdHJ1ZSB9KVxuICAgICAgICAgIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWxsIGVudGl0aWVzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIEFsbCBlbnRpdGllc1xuICAgKi9cbiAgZmV0Y2hBbGwob3B0aW9uczogT0RhdGFPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGxldCByZXMgPSB0aGlzLmNsb25lKCk7XG4gICAgLy8gQ2xlYW4gUGFnaW5nXG4gICAgcmVzLnF1ZXJ5KChxKSA9PiBxLmNsZWFyUGFnaW5nKCkpO1xuICAgIGxldCBmZXRjaCA9IChvcHRzPzoge1xuICAgICAgc2tpcD86IG51bWJlcjtcbiAgICAgIHNraXB0b2tlbj86IHN0cmluZztcbiAgICAgIHRvcD86IG51bWJlcjtcbiAgICB9KTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFQ+PiA9PiB7XG4gICAgICBpZiAob3B0cykge1xuICAgICAgICByZXMucXVlcnkoKHEpID0+IHEucGFnaW5nKG9wdHMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZmV0Y2goeyByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsIC4uLm9wdGlvbnMgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gZmV0Y2goKS5waXBlKFxuICAgICAgZXhwYW5kKCh7IGFubm90czogbWV0YSB9KSA9PlxuICAgICAgICBtZXRhLnNraXAgfHwgbWV0YS5za2lwdG9rZW4gPyBmZXRjaChtZXRhKSA6IEVNUFRZXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzIHx8IFtdKSxcbiAgICAgIHRvQXJyYXkoKVxuICAgICk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -16,32 +16,16 @@ export class ODataEnumType extends ODataSchemaElement {
|
|
|
16
16
|
* Returns the fields of the enum type.
|
|
17
17
|
* @returns The fields of the enum type.
|
|
18
18
|
*/
|
|
19
|
-
fields() {
|
|
20
|
-
return this.parser.fields;
|
|
19
|
+
fields(value) {
|
|
20
|
+
return this.parser.fields(value);
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Find a field by name.
|
|
24
|
-
* @param
|
|
25
|
-
* @returns The field with the given name
|
|
23
|
+
* Find a field by name or value.
|
|
24
|
+
* @param enu The name or value of the field
|
|
25
|
+
* @returns The field with the given name or value
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
|
-
return this.
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Find a field by value.
|
|
32
|
-
* @param value The value of the field
|
|
33
|
-
* @returns The field with the given value
|
|
34
|
-
*/
|
|
35
|
-
findFieldByValue(value) {
|
|
36
|
-
return this.fields().find((f) => f.value === value);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Find a fields by flag.
|
|
40
|
-
* @param value The value of the field
|
|
41
|
-
* @returns The fields with the given flag
|
|
42
|
-
*/
|
|
43
|
-
findFieldsByValue(value) {
|
|
44
|
-
return this.fields().filter((f) => Boolean(f.value & value));
|
|
27
|
+
field(enu) {
|
|
28
|
+
return this.parser.field(enu);
|
|
45
29
|
}
|
|
46
30
|
/**
|
|
47
31
|
* Map the fields of the enum type.
|
|
@@ -49,7 +33,7 @@ export class ODataEnumType extends ODataSchemaElement {
|
|
|
49
33
|
* @returns The fields mapped by the mapper
|
|
50
34
|
*/
|
|
51
35
|
mapFields(mapper) {
|
|
52
|
-
return this.
|
|
36
|
+
return this.parser.mapFields(mapper);
|
|
53
37
|
}
|
|
54
38
|
/**
|
|
55
39
|
* Deseialize the given value from the enum type.
|
|
@@ -79,4 +63,4 @@ export class ODataEnumType extends ODataSchemaElement {
|
|
|
79
63
|
return this.parser.encode(value, options);
|
|
80
64
|
}
|
|
81
65
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9lbnVtLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBNEIsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHMUUsTUFBTSxPQUFPLGFBQWlCLFNBQVEsa0JBQWtCO0lBR3RELFlBQVksTUFBeUIsRUFBRSxNQUFtQjtRQUN4RCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQ25DLE1BQU0sRUFDTixNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQUMsS0FBSyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ3BCLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQzNDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsR0FBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFJLE1BQWlEO1FBQzVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQVUsRUFBRSxPQUF1QjtRQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsS0FBUSxFQUFFLE9BQXVCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFRLEVBQUUsT0FBdUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW51bVR5cGVDb25maWcsIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPRGF0YVNjaGVtYUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyLCBPRGF0YUVudW1UeXBlUGFyc2VyIH0gZnJvbSAnLi9wYXJzZXJzJztcbmltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnVtVHlwZTxFPiBleHRlbmRzIE9EYXRhU2NoZW1hRWxlbWVudCB7XG4gIHBhcnNlcjogT0RhdGFFbnVtVHlwZVBhcnNlcjxFPjtcbiAgbWVtYmVyczogeyBbbmFtZTogc3RyaW5nXTogRSB9IHwgeyBbdmFsdWU6IG51bWJlcl06IHN0cmluZyB9O1xuICBjb25zdHJ1Y3Rvcihjb25maWc6IEVudW1UeXBlQ29uZmlnPEU+LCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnLCBzY2hlbWEpO1xuICAgIHRoaXMubWVtYmVycyA9IGNvbmZpZy5tZW1iZXJzO1xuICAgIHRoaXMucGFyc2VyID0gbmV3IE9EYXRhRW51bVR5cGVQYXJzZXI8RT4oXG4gICAgICBjb25maWcsXG4gICAgICBzY2hlbWEubmFtZXNwYWNlLFxuICAgICAgc2NoZW1hLmFsaWFzXG4gICAgKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZSgpIHtcbiAgICB0aGlzLnBhcnNlci5jb25maWd1cmUoe1xuICAgICAgc3RyaW5nQXNFbnVtOiB0aGlzLmFwaS5vcHRpb25zLnN0cmluZ0FzRW51bSxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMucGFyc2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZHMgb2YgdGhlIGVudW0gdHlwZS5cbiAgICogQHJldHVybnMgVGhlIGZpZWxkcyBvZiB0aGUgZW51bSB0eXBlLlxuICAgKi9cbiAgZmllbGRzKHZhbHVlPzogRSk6IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcjxFPltdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZmllbGRzKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgZmllbGQgYnkgbmFtZSBvciB2YWx1ZS5cbiAgICogQHBhcmFtIGVudSBUaGUgbmFtZSBvciB2YWx1ZSBvZiB0aGUgZmllbGRcbiAgICogQHJldHVybnMgVGhlIGZpZWxkIHdpdGggdGhlIGdpdmVuIG5hbWUgb3IgdmFsdWVcbiAgICovXG4gIGZpZWxkKGVudTogc3RyaW5nIHwgRSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5maWVsZChlbnUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB0aGUgZmllbGRzIG9mIHRoZSBlbnVtIHR5cGUuXG4gICAqIEBwYXJhbSBtYXBwZXIgRnVuY3Rpb24gdGhhdCBtYXBzIHRoZSB2YWx1ZSB0byB0aGUgbmV3IHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZHMgbWFwcGVkIGJ5IHRoZSBtYXBwZXJcbiAgICovXG4gIG1hcEZpZWxkczxUPihtYXBwZXI6IChmaWVsZDogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyPEU+KSA9PiBUKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLm1hcEZpZWxkcyhtYXBwZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VpYWxpemUgdGhlIGdpdmVuIHZhbHVlIGZyb20gdGhlIGVudW0gdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGRlc2VyaWFsaXphdGlvblxuICAgKiBAcmV0dXJucyBEZXNlcmlhbGl6ZWQgdmFsdWVcbiAgICovXG4gIGRlc2VyaWFsaXplKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogRSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIGdpdmVuIHZhbHVlIGZvciB0aGUgZW51bSB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gc2VyaWFsaXplXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHNlcmlhbGl6YXRpb25cbiAgICogQHJldHVybnMgU2VyaWFsaXplZCB2YWx1ZVxuICAgKi9cbiAgc2VyaWFsaXplKHZhbHVlOiBFLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlIHRoZSBnaXZlbiB2YWx1ZSBmb3IgdGhlIGVudW0gdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGVuY29kZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBlbmNvZGluZ1xuICAgKiBAcmV0dXJucyBFbmNvZGVkIHZhbHVlXG4gICAqL1xuICBlbmNvZGUodmFsdWU6IEUsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZW5jb2RlKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
|
|
@@ -46,6 +46,11 @@ export class ODataParameterParser {
|
|
|
46
46
|
throw new Error('Field are not StrucuturedType');
|
|
47
47
|
return this.parser;
|
|
48
48
|
}
|
|
49
|
+
field(name) {
|
|
50
|
+
if (this.isStructuredType())
|
|
51
|
+
return this.parser.field(name);
|
|
52
|
+
throw new Error(`The field ${this.name} is not related to a StructuredType`);
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
export class ODataCallableParser {
|
|
51
56
|
constructor(config, namespace, alias) {
|
|
@@ -101,4 +106,4 @@ export class ODataCallableParser {
|
|
|
101
106
|
return this.parameters.find((p) => p.name === CALLABLE_BINDING_PARAMETER);
|
|
102
107
|
}
|
|
103
108
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvc2NoZW1hL3BhcnNlcnMvY2FsbGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsR0FJWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUQsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUFZLElBQVksRUFBRSxTQUFvQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVEsRUFBRSxPQUF1QjtRQUN6QyxNQUFNLGFBQWEsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNwRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFB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QUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuRSxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQ3RCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNYLEdBQUcsR0FBRztZQUNOLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLENBQUM7U0FDbEQsQ0FBQyxFQUNGLEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUNSLHVDQUF1QyxFQUN2QyxhQUFhLEVBQ2IsT0FBTyxHQUtSO1FBQ0MsSUFBSSxDQUFDLHVDQUF1QztZQUMxQyx1Q0FBdUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUM7UUFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSywwQkFBMEIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENBTExBQkxFX0JJTkRJTkdfUEFSQU1FVEVSIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIENhbGxhYmxlQ29uZmlnLFxuICBOT05FX1BBUlNFUixcbiAgUGFyc2VyT3B0aW9ucyxcbiAgUGFyYW1ldGVyLFxuICBQYXJzZXIsXG59IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhRW51bVR5cGVQYXJzZXIgfSBmcm9tICcuL2VudW0tdHlwZSc7XG5pbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyIH0gZnJvbSAnLi9zdHJ1Y3R1cmVkLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFQYXJhbWV0ZXJQYXJzZXI8VD4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgcHJpdmF0ZSBwYXJzZXI6IFBhcnNlcjxUPjtcbiAgY29sbGVjdGlvbj86IGJvb2xlYW47XG4gIG51bGxhYmxlPzogYm9vbGVhbjtcbiAgcGFyc2VyT3B0aW9ucz86IFBhcnNlck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwYXJhbWV0ZXI6IFBhcmFtZXRlcikge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy50eXBlID0gcGFyYW1ldGVyLnR5cGU7XG4gICAgdGhpcy5wYXJzZXIgPSBOT05FX1BBUlNFUjtcbiAgICB0aGlzLm51bGxhYmxlID0gcGFyYW1ldGVyLm51bGxhYmxlO1xuICAgIHRoaXMuY29sbGVjdGlvbiA9IHBhcmFtZXRlci5jb2xsZWN0aW9uO1xuICB9XG5cbiAgc2VyaWFsaXplKHZhbHVlOiBULCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAoKHYpID0+IHRoaXMucGFyc2VyLnNlcmlhbGl6ZSh2LCBwYXJzZXJPcHRpb25zKSlcbiAgICAgIDogdGhpcy5wYXJzZXIuc2VyaWFsaXplKHZhbHVlLCBwYXJzZXJPcHRpb25zKTtcbiAgfVxuXG4gIC8vRW5jb2RlXG4gIGVuY29kZSh2YWx1ZTogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAoKHYpID0+IHRoaXMucGFyc2VyLmVuY29kZSh2LCBwYXJzZXJPcHRpb25zKSlcbiAgICAgIDogdGhpcy5wYXJzZXIuZW5jb2RlKHZhbHVlLCBwYXJzZXJPcHRpb25zKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZSh7XG4gICAgcGFyc2VyRm9yVHlwZSxcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgcGFyc2VyRm9yVHlwZTogKHR5cGU6IHN0cmluZykgPT4gUGFyc2VyPGFueT47XG4gICAgb3B0aW9uczogUGFyc2VyT3B0aW9ucztcbiAgfSkge1xuICAgIHRoaXMucGFyc2VyT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5wYXJzZXIgPSBwYXJzZXJGb3JUeXBlKHRoaXMudHlwZSk7XG4gIH1cblxuICBpc0VkbVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZS5zdGFydHNXaXRoKCdFZG0uJyk7XG4gIH1cblxuICBpc0VudW1UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlciBpbnN0YW5jZW9mIE9EYXRhRW51bVR5cGVQYXJzZXI7XG4gIH1cblxuICBlbnVtKCkge1xuICAgIGlmICghdGhpcy5pc0VudW1UeXBlKCkpIHRocm93IG5ldyBFcnJvcignRmllbGQgYXJlIG5vdCBFbnVtVHlwZScpO1xuICAgIHJldHVybiB0aGlzLnBhcnNlciBhcyBPRGF0YUVudW1UeXBlUGFyc2VyPFQ+O1xuICB9XG5cbiAgaXNTdHJ1Y3R1cmVkVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIgaW5zdGFuY2VvZiBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyO1xuICB9XG5cbiAgc3RydWN0dXJlZCgpIHtcbiAgICBpZiAoIXRoaXMuaXNTdHJ1Y3R1cmVkVHlwZSgpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWVsZCBhcmUgbm90IFN0cnVjdXR1cmVkVHlwZScpO1xuICAgIHJldHVybiB0aGlzLnBhcnNlciBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyPFQ+O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUNhbGxhYmxlUGFyc2VyPFI+IGltcGxlbWVudHMgUGFyc2VyPFI+IHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIHJldHVybj86IHsgdHlwZTogc3RyaW5nOyBjb2xsZWN0aW9uPzogYm9vbGVhbiB9O1xuICBwYXJzZXI6IFBhcnNlcjxhbnk+O1xuICBwYXJhbWV0ZXJzOiBPRGF0YVBhcmFtZXRlclBhcnNlcjxhbnk+W107XG4gIG5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbj86IGJvb2xlYW47XG4gIHBhcnNlck9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQ2FsbGFibGVDb25maWcsIG5hbWVzcGFjZTogc3RyaW5nLCBhbGlhcz86IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBhbGlhcztcbiAgICB0aGlzLnJldHVybiA9IGNvbmZpZy5yZXR1cm47XG4gICAgdGhpcy5wYXJzZXIgPSBOT05FX1BBUlNFUjtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBPYmplY3QuZW50cmllcyhjb25maWcucGFyYW1ldGVycyB8fCBbXSkubWFwKFxuICAgICAgKFtuYW1lLCBwXSkgPT4gbmV3IE9EYXRhUGFyYW1ldGVyUGFyc2VyKG5hbWUsIHAgYXMgUGFyYW1ldGVyKVxuICAgICk7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICB2YXIgbmFtZXMgPSBbYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWBdO1xuICAgIGlmICh0aGlzLmFsaWFzKSBuYW1lcy5wdXNoKGAke3RoaXMuYWxpYXN9LiR7dGhpcy5uYW1lfWApO1xuICAgIHJldHVybiBuYW1lcy5pbmRleE9mKHR5cGUpICE9PSAtMTtcbiAgfVxuXG4gIC8vIERlc2VyaWFsaXplXG4gIGRlc2VyaWFsaXplKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogUiB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5kZXNlcmlhbGl6ZSh2YWx1ZSwgcGFyc2VyT3B0aW9ucyk7XG4gIH1cblxuICAvLyBTZXJpYWxpemVcbiAgc2VyaWFsaXplKHBhcmFtczogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcbiAgICAgIC5maWx0ZXIoKHApID0+IHAubmFtZSAhPT0gQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVIpXG4gICAgICAuZmlsdGVyKChwKSA9PiBwLm5hbWUgaW4gcGFyYW1zICYmIHBhcmFtc1twLm5hbWVdICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzLnJlZHVjZShcbiAgICAgIChhY2MsIHApID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW3AubmFtZV06IHAuc2VyaWFsaXplKHBhcmFtc1twLm5hbWVdLCBwYXJzZXJPcHRpb25zKSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgLy9FbmNvZGVcbiAgZW5jb2RlKHBhcmFtczogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcbiAgICAgIC5maWx0ZXIoKHApID0+IHAubmFtZSAhPT0gQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVIpXG4gICAgICAuZmlsdGVyKChwKSA9PiBwLm5hbWUgaW4gcGFyYW1zICYmIHBhcmFtc1twLm5hbWVdICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzLnJlZHVjZShcbiAgICAgIChhY2MsIHApID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW3AubmFtZV06IHAuZW5jb2RlKHBhcmFtc1twLm5hbWVdLCBwYXJzZXJPcHRpb25zKSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb24sXG4gICAgcGFyc2VyRm9yVHlwZSxcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgbm9uUGFyZW50aGVzaXNGb3JFbXB0eVBhcmFtZXRlckZ1bmN0aW9uOiBib29sZWFuO1xuICAgIHBhcnNlckZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IFBhcnNlcjxhbnk+O1xuICAgIG9wdGlvbnM6IFBhcnNlck9wdGlvbnM7XG4gIH0pIHtcbiAgICB0aGlzLm5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbiA9XG4gICAgICBub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb247XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgICBpZiAodGhpcy5yZXR1cm4pXG4gICAgICB0aGlzLnBhcnNlciA9IHBhcnNlckZvclR5cGUodGhpcy5yZXR1cm4udHlwZSkgfHwgTk9ORV9QQVJTRVI7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2goKHApID0+IHAuY29uZmlndXJlKHsgcGFyc2VyRm9yVHlwZSwgb3B0aW9ucyB9KSk7XG4gIH1cblxuICBiaW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmluZCgocCkgPT4gcC5uYW1lID09PSBDQUxMQUJMRV9CSU5ESU5HX1BBUkFNRVRFUik7XG4gIH1cbn1cbiJdfQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvc2NoZW1hL3BhcnNlcnMvY2FsbGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsR0FJWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUQsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUFZLElBQVksRUFBRSxTQUFvQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVEsRUFBRSxPQUF1QjtRQUN6QyxNQUFNLGFBQWEsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNwRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFB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QUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLDBCQUEwQixDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVIgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgQ2FsbGFibGVDb25maWcsXG4gIE5PTkVfUEFSU0VSLFxuICBQYXJzZXJPcHRpb25zLFxuICBQYXJhbWV0ZXIsXG4gIFBhcnNlcixcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFFbnVtVHlwZVBhcnNlciB9IGZyb20gJy4vZW51bS10eXBlJztcbmltcG9ydCB7IE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIgfSBmcm9tICcuL3N0cnVjdHVyZWQtdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVBhcmFtZXRlclBhcnNlcjxUPiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBwcml2YXRlIHBhcnNlcjogUGFyc2VyPFQ+O1xuICBjb2xsZWN0aW9uPzogYm9vbGVhbjtcbiAgbnVsbGFibGU/OiBib29sZWFuO1xuICBwYXJzZXJPcHRpb25zPzogUGFyc2VyT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcjogUGFyYW1ldGVyKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnR5cGUgPSBwYXJhbWV0ZXIudHlwZTtcbiAgICB0aGlzLnBhcnNlciA9IE5PTkVfUEFSU0VSO1xuICAgIHRoaXMubnVsbGFibGUgPSBwYXJhbWV0ZXIubnVsbGFibGU7XG4gICAgdGhpcy5jb2xsZWN0aW9uID0gcGFyYW1ldGVyLmNvbGxlY3Rpb247XG4gIH1cblxuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogYW55IHtcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLnBhcnNlck9wdGlvbnM7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgodikgPT4gdGhpcy5wYXJzZXIuc2VyaWFsaXplKHYsIHBhcnNlck9wdGlvbnMpKVxuICAgICAgOiB0aGlzLnBhcnNlci5zZXJpYWxpemUodmFsdWUsIHBhcnNlck9wdGlvbnMpO1xuICB9XG5cbiAgLy9FbmNvZGVcbiAgZW5jb2RlKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLnBhcnNlck9wdGlvbnM7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgodikgPT4gdGhpcy5wYXJzZXIuZW5jb2RlKHYsIHBhcnNlck9wdGlvbnMpKVxuICAgICAgOiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIHBhcnNlck9wdGlvbnMpO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBwYXJzZXJGb3JUeXBlLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBwYXJzZXJGb3JUeXBlOiAodHlwZTogc3RyaW5nKSA9PiBQYXJzZXI8YW55PjtcbiAgICBvcHRpb25zOiBQYXJzZXJPcHRpb25zO1xuICB9KSB7XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlckZvclR5cGUodGhpcy50eXBlKTtcbiAgfVxuXG4gIGlzRWRtVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlLnN0YXJ0c1dpdGgoJ0VkbS4nKTtcbiAgfVxuXG4gIGlzRW51bVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyIGluc3RhbmNlb2YgT0RhdGFFbnVtVHlwZVBhcnNlcjtcbiAgfVxuXG4gIGVudW0oKSB7XG4gICAgaWYgKCF0aGlzLmlzRW51bVR5cGUoKSkgdGhyb3cgbmV3IEVycm9yKCdGaWVsZCBhcmUgbm90IEVudW1UeXBlJyk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyIGFzIE9EYXRhRW51bVR5cGVQYXJzZXI8VD47XG4gIH1cblxuICBpc1N0cnVjdHVyZWRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlciBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXI7XG4gIH1cblxuICBzdHJ1Y3R1cmVkKCkge1xuICAgIGlmICghdGhpcy5pc1N0cnVjdHVyZWRUeXBlKCkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpZWxkIGFyZSBub3QgU3RydWN1dHVyZWRUeXBlJyk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyIGFzIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXI8VD47XG4gIH1cblxuICBmaWVsZDxGPihuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc1N0cnVjdHVyZWRUeXBlKCkpXG4gICAgICByZXR1cm4gKHRoaXMucGFyc2VyIGFzIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXI8VD4pLmZpZWxkPEY+KFxuICAgICAgICBuYW1lIGFzIGtleW9mIFRcbiAgICAgICk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSBmaWVsZCAke3RoaXMubmFtZX0gaXMgbm90IHJlbGF0ZWQgdG8gYSBTdHJ1Y3R1cmVkVHlwZWBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUNhbGxhYmxlUGFyc2VyPFI+IGltcGxlbWVudHMgUGFyc2VyPFI+IHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIHJldHVybj86IHsgdHlwZTogc3RyaW5nOyBjb2xsZWN0aW9uPzogYm9vbGVhbiB9O1xuICBwYXJzZXI6IFBhcnNlcjxhbnk+O1xuICBwYXJhbWV0ZXJzOiBPRGF0YVBhcmFtZXRlclBhcnNlcjxhbnk+W107XG4gIG5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbj86IGJvb2xlYW47XG4gIHBhcnNlck9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQ2FsbGFibGVDb25maWcsIG5hbWVzcGFjZTogc3RyaW5nLCBhbGlhcz86IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBhbGlhcztcbiAgICB0aGlzLnJldHVybiA9IGNvbmZpZy5yZXR1cm47XG4gICAgdGhpcy5wYXJzZXIgPSBOT05FX1BBUlNFUjtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBPYmplY3QuZW50cmllcyhjb25maWcucGFyYW1ldGVycyB8fCBbXSkubWFwKFxuICAgICAgKFtuYW1lLCBwXSkgPT4gbmV3IE9EYXRhUGFyYW1ldGVyUGFyc2VyKG5hbWUsIHAgYXMgUGFyYW1ldGVyKVxuICAgICk7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICB2YXIgbmFtZXMgPSBbYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWBdO1xuICAgIGlmICh0aGlzLmFsaWFzKSBuYW1lcy5wdXNoKGAke3RoaXMuYWxpYXN9LiR7dGhpcy5uYW1lfWApO1xuICAgIHJldHVybiBuYW1lcy5pbmRleE9mKHR5cGUpICE9PSAtMTtcbiAgfVxuXG4gIC8vIERlc2VyaWFsaXplXG4gIGRlc2VyaWFsaXplKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogUiB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5kZXNlcmlhbGl6ZSh2YWx1ZSwgcGFyc2VyT3B0aW9ucyk7XG4gIH1cblxuICAvLyBTZXJpYWxpemVcbiAgc2VyaWFsaXplKHBhcmFtczogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcbiAgICAgIC5maWx0ZXIoKHApID0+IHAubmFtZSAhPT0gQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVIpXG4gICAgICAuZmlsdGVyKChwKSA9PiBwLm5hbWUgaW4gcGFyYW1zICYmIHBhcmFtc1twLm5hbWVdICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzLnJlZHVjZShcbiAgICAgIChhY2MsIHApID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW3AubmFtZV06IHAuc2VyaWFsaXplKHBhcmFtc1twLm5hbWVdLCBwYXJzZXJPcHRpb25zKSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgLy9FbmNvZGVcbiAgZW5jb2RlKHBhcmFtczogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcbiAgICAgIC5maWx0ZXIoKHApID0+IHAubmFtZSAhPT0gQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVIpXG4gICAgICAuZmlsdGVyKChwKSA9PiBwLm5hbWUgaW4gcGFyYW1zICYmIHBhcmFtc1twLm5hbWVdICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiBwYXJhbWV0ZXJzLnJlZHVjZShcbiAgICAgIChhY2MsIHApID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW3AubmFtZV06IHAuZW5jb2RlKHBhcmFtc1twLm5hbWVdLCBwYXJzZXJPcHRpb25zKSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb24sXG4gICAgcGFyc2VyRm9yVHlwZSxcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgbm9uUGFyZW50aGVzaXNGb3JFbXB0eVBhcmFtZXRlckZ1bmN0aW9uOiBib29sZWFuO1xuICAgIHBhcnNlckZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IFBhcnNlcjxhbnk+O1xuICAgIG9wdGlvbnM6IFBhcnNlck9wdGlvbnM7XG4gIH0pIHtcbiAgICB0aGlzLm5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbiA9XG4gICAgICBub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb247XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgICBpZiAodGhpcy5yZXR1cm4pXG4gICAgICB0aGlzLnBhcnNlciA9IHBhcnNlckZvclR5cGUodGhpcy5yZXR1cm4udHlwZSkgfHwgTk9ORV9QQVJTRVI7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2goKHApID0+IHAuY29uZmlndXJlKHsgcGFyc2VyRm9yVHlwZSwgb3B0aW9ucyB9KSk7XG4gIH1cblxuICBiaW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmluZCgocCkgPT4gcC5uYW1lID09PSBDQUxMQUJMRV9CSU5ESU5HX1BBUkFNRVRFUik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,7 +19,7 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
19
19
|
this.alias = alias;
|
|
20
20
|
this.flags = config.flags;
|
|
21
21
|
this.members = config.members;
|
|
22
|
-
this.
|
|
22
|
+
this._fields = Object.entries(config.fields).map(([name, f]) => new ODataEnumTypeFieldParser(name, f));
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Create a nicer looking title.
|
|
@@ -40,6 +40,26 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
40
40
|
names.push(`${this.alias}.${this.name}`);
|
|
41
41
|
return names.indexOf(type) !== -1;
|
|
42
42
|
}
|
|
43
|
+
fields(value) {
|
|
44
|
+
return [
|
|
45
|
+
...this._fields.filter((f) => value === undefined || Boolean(f.value & value)),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
field(nameValue) {
|
|
49
|
+
let field = this.fields().find((f) => f.name === nameValue || f.value === nameValue);
|
|
50
|
+
//Throw error if not found
|
|
51
|
+
if (field === undefined)
|
|
52
|
+
throw new Error(`${this.name} has no field named ${String(name)}`);
|
|
53
|
+
return field;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Map the fields of the enum type.
|
|
57
|
+
* @param mapper Function that maps the value to the new value
|
|
58
|
+
* @returns The fields mapped by the mapper
|
|
59
|
+
*/
|
|
60
|
+
mapFields(mapper) {
|
|
61
|
+
return this.fields().map(mapper);
|
|
62
|
+
}
|
|
43
63
|
// Deserialize
|
|
44
64
|
deserialize(value, options) {
|
|
45
65
|
// string -> number
|
|
@@ -87,7 +107,7 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
87
107
|
title: this.name,
|
|
88
108
|
type: 'string',
|
|
89
109
|
};
|
|
90
|
-
property.enum = this.
|
|
110
|
+
property.enum = this._fields.map((f) => f.name);
|
|
91
111
|
return property;
|
|
92
112
|
}
|
|
93
113
|
validate(member, { method, navigation = false, } = {}) {
|
|
@@ -102,4 +122,4 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
102
122
|
}
|
|
103
123
|
}
|
|
104
124
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VudW0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFJNUQsWUFBWSxJQUFZLEVBQUUsS0FBMEI7UUFDbEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBc0I7UUFDN0IsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxnQkFBZ0I7SUFZeEIsWUFBWSxNQUF5QixFQUFFLFNBQWlCLEVBQUUsS0FBYztRQUN0RSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcs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T0FBTyxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDZCxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ2Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUM3RDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhdyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9xdWVyeSc7XG5pbXBvcnQge1xuICBFbnVtVHlwZUNvbmZpZyxcbiAgRW51bVR5cGVGaWVsZENvbmZpZyxcbiAgUGFyc2VyT3B0aW9ucyxcbiAgUGFyc2VyLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBFbnVtcywgU3RyaW5ncyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE9EYXRhQW5ub3RhdGFibGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlciBleHRlbmRzIE9EYXRhQW5ub3RhdGFibGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBmaWVsZDogRW51bVR5cGVGaWVsZENvbmZpZykge1xuICAgIHN1cGVyKGZpZWxkKTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudmFsdWUgPSBmaWVsZC52YWx1ZTtcbiAgfVxuXG4gIHRpdGxlaXplKHRlcm0/OiBzdHJpbmcgfCBSZWdFeHApOiBzdHJpbmcge1xuICAgIHJldHVybiAodGVybSAmJiB0aGlzLmFubm90YXRlZFZhbHVlKHRlcm0pKSB8fCB0aGlzLm5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9EYXRhRW51bVR5cGVQYXJzZXI8VD5cbiAgZXh0ZW5kcyBPRGF0YUFubm90YXRhYmxlXG4gIGltcGxlbWVudHMgUGFyc2VyPFQ+XG57XG4gIG5hbWU6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGFsaWFzPzogc3RyaW5nO1xuICBmbGFncz86IGJvb2xlYW47XG4gIG1lbWJlcnM6IHsgW25hbWU6IHN0cmluZ106IG51bWJlciB9IHwgeyBbdmFsdWU6IG51bWJlcl06IHN0cmluZyB9O1xuICBmaWVsZHM6IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcltdO1xuICBzdHJpbmdBc0VudW0/OiBib29sZWFuO1xuICBwYXJzZXJPcHRpb25zPzogUGFyc2VyT3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEVudW1UeXBlQ29uZmlnPFQ+LCBuYW1lc3BhY2U6IHN0cmluZywgYWxpYXM/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb25maWcpO1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBhbGlhcztcbiAgICB0aGlzLmZsYWdzID0gY29uZmlnLmZsYWdzO1xuICAgIHRoaXMubWVtYmVycyA9IGNvbmZpZy5tZW1iZXJzO1xuICAgIHRoaXMuZmllbGRzID0gT2JqZWN0LmVudHJpZXMoY29uZmlnLmZpZWxkcykubWFwKFxuICAgICAgKFtuYW1lLCBmXSkgPT4gbmV3IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcihuYW1lLCBmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmljZXIgbG9va2luZyB0aXRsZS5cbiAgICogVGl0bGVpemUgaXMgbWVhbnQgZm9yIGNyZWF0aW5nIHByZXR0eSBvdXRwdXQuXG4gICAqIEBwYXJhbSB0ZXJtIFRoZSB0ZXJtIG9mIHRoZSBhbm5vdGF0aW9uIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIFRoZSB0aXRsZWl6ZWQgc3RyaW5nLlxuICAgKi9cbiAgdHRpdGVsaXplKHRlcm0/OiBzdHJpbmcgfCBSZWdFeHApOiBzdHJpbmcge1xuICAgIHJldHVybiAodGVybSAmJiB0aGlzLmFubm90YXRlZFZhbHVlKHRlcm0pKSB8fCBTdHJpbmdzLnRpdGxlQ2FzZSh0aGlzLm5hbWUpO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBzdHJpbmdBc0VudW0sXG4gICAgb3B0aW9ucyxcbiAgfToge1xuICAgIHN0cmluZ0FzRW51bTogYm9vbGVhbjtcbiAgICBvcHRpb25zOiBQYXJzZXJPcHRpb25zO1xuICB9KSB7XG4gICAgdGhpcy5zdHJpbmdBc0VudW0gPSBzdHJpbmdBc0VudW07XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIGlzVHlwZU9mKHR5cGU6IHN0cmluZykge1xuICAgIHZhciBuYW1lcyA9IFtgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9YF07XG4gICAgaWYgKHRoaXMuYWxpYXMpIG5hbWVzLnB1c2goYCR7dGhpcy5hbGlhc30uJHt0aGlzLm5hbWV9YCk7XG4gICAgcmV0dXJuIG5hbWVzLmluZGV4T2YodHlwZSkgIT09IC0xO1xuICB9XG5cbiAgLy8gRGVzZXJpYWxpemVcbiAgZGVzZXJpYWxpemUodmFsdWU6IHN0cmluZywgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBUIHtcbiAgICAvLyBzdHJpbmcgLT4gbnVtYmVyXG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGlmICh0aGlzLmZsYWdzKSB7XG4gICAgICByZXR1cm4gRW51bXMudG9WYWx1ZXModGhpcy5tZW1iZXJzLCB2YWx1ZSkucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PiBhY2MgfCB2LFxuICAgICAgICAwXG4gICAgICApIGFzIGFueTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVudW1zLnRvVmFsdWUodGhpcy5tZW1iZXJzLCB2YWx1ZSkgYXMgYW55O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlcmlhbGl6ZVxuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBFbnVtIGFyZSBzdHJpbmcgfCBudW1iZXJcbiAgICAvLyBzdHJpbmcgfCBudW1iZXIgLT4gc3RyaW5nXG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IG9wdGlvbnMgfHwgdGhpcy5wYXJzZXJPcHRpb25zO1xuICAgIGlmICh0aGlzLmZsYWdzKSB7XG4gICAgICBjb25zdCBuYW1lcyA9IEVudW1zLnRvTmFtZXModGhpcy5tZW1iZXJzLCB2YWx1ZSk7XG4gICAgICBpZiAobmFtZXMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuICF0aGlzLnN0cmluZ0FzRW51bVxuICAgICAgICA/IGAke3RoaXMubmFtZXNwYWNlfS4ke3RoaXMubmFtZX0nJHtuYW1lcy5qb2luKCcsICcpfSdgXG4gICAgICAgIDogbmFtZXMuam9pbignLCAnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmFtZSA9IEVudW1zLnRvTmFtZSh0aGlzLm1lbWJlcnMsIHZhbHVlKTtcbiAgICAgIGlmIChuYW1lID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gIXRoaXMuc3RyaW5nQXNFbnVtXG4gICAgICAgID8gYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfScke25hbWV9J2BcbiAgICAgICAgOiBuYW1lO1xuICAgIH1cbiAgfVxuXG4gIC8vRW5jb2RlXG4gIGVuY29kZSh2YWx1ZTogVCwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHBhcnNlck9wdGlvbnMgPSBvcHRpb25zIHx8IHRoaXMucGFyc2VyT3B0aW9ucztcbiAgICBjb25zdCBzZXJpYWxpemVkID0gdGhpcy5zZXJpYWxpemUodmFsdWUsIHBhcnNlck9wdGlvbnMpO1xuICAgIGlmIChzZXJpYWxpemVkID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nQXNFbnVtID8gcmF3KGAnJHtzZXJpYWxpemVkfSdgKSA6IHJhdyhzZXJpYWxpemVkKTtcbiAgfVxuXG4gIC8vIEpzb24gU2NoZW1hXG4gIHRvSnNvblNjaGVtYSgpIHtcbiAgICBsZXQgcHJvcGVydHkgPSA8YW55PntcbiAgICAgIHRpdGxlOiB0aGlzLm5hbWUsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9O1xuICAgIHByb3BlcnR5LmVudW0gPSB0aGlzLmZpZWxkcy5tYXAoKGYpID0+IGYubmFtZSk7XG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAgdmFsaWRhdGUoXG4gICAgbWVtYmVyOiBzdHJpbmcgfCBudW1iZXIsXG4gICAge1xuICAgICAgbWV0aG9kLFxuICAgICAgbmF2aWdhdGlvbiA9IGZhbHNlLFxuICAgIH06IHtcbiAgICAgIG1ldGhvZD86ICdjcmVhdGUnIHwgJ3VwZGF0ZScgfCAnbW9kaWZ5JztcbiAgICAgIG5hdmlnYXRpb24/OiBib29sZWFuO1xuICAgIH0gPSB7fVxuICApOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZmxhZ3MpIHtcbiAgICAgIGxldCBtZW1iZXJzID0gRW51bXMudG9WYWx1ZXModGhpcy5tZW1iZXJzLCBtZW1iZXIpO1xuICAgICAgcmV0dXJuIG1lbWJlcnMuc29tZSgobWVtYmVyKSA9PiAhKG1lbWJlciBpbiB0aGlzLm1lbWJlcnMpKVxuICAgICAgICA/IFsnbWlzbWF0Y2gnXVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEobWVtYmVyIGluIHRoaXMubWVtYmVycykgPyBbJ21pc21hdGNoJ10gOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VudW0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFRNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxnQkFBZ0I7SUFJL0QsWUFBWSxJQUFZLEVBQUUsS0FBNkI7UUFDckQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBc0I7UUFDN0IsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxnQkFBZ0I7SUFZeEIsWUFBWSxNQUF5QixFQUFFLFNBQWlCLEVBQUUsS0FBYztRQUN0RSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcs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T0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUFZO1FBQ1YsSUFBSSxRQUFRLEdBQVE7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUNGLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUNOLE1BQXVCLEVBQ3ZCLEVBQ0UsTUFBTSxFQUNOLFVBQVUsR0FBRyxLQUFLLE1BSWhCLEVBQUU7UUFFTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDZjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmF3IH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3F1ZXJ5JztcbmltcG9ydCB7XG4gIEVudW1UeXBlQ29uZmlnLFxuICBFbnVtVHlwZUZpZWxkQ29uZmlnLFxuICBQYXJzZXJPcHRpb25zLFxuICBQYXJzZXIsXG4gIFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBFbnVtcywgU3RyaW5ncyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE9EYXRhQW5ub3RhdGFibGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcjxFPiBleHRlbmRzIE9EYXRhQW5ub3RhdGFibGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBFO1xuXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgZmllbGQ6IEVudW1UeXBlRmllbGRDb25maWc8RT4pIHtcbiAgICBzdXBlcihmaWVsZCk7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnZhbHVlID0gZmllbGQudmFsdWU7XG4gIH1cblxuICB0aXRsZWl6ZSh0ZXJtPzogc3RyaW5nIHwgUmVnRXhwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRlcm0gJiYgdGhpcy5hbm5vdGF0ZWRWYWx1ZSh0ZXJtKSkgfHwgdGhpcy5uYW1lO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUVudW1UeXBlUGFyc2VyPEU+XG4gIGV4dGVuZHMgT0RhdGFBbm5vdGF0YWJsZVxuICBpbXBsZW1lbnRzIFBhcnNlcjxFPlxue1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgZmxhZ3M/OiBib29sZWFuO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBFIH0gfCB7IFt2YWx1ZTogbnVtYmVyXTogc3RyaW5nIH07XG4gIHByaXZhdGUgX2ZpZWxkczogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyPEU+W107XG4gIHN0cmluZ0FzRW51bT86IGJvb2xlYW47XG4gIHBhcnNlck9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRW51bVR5cGVDb25maWc8RT4sIG5hbWVzcGFjZTogc3RyaW5nLCBhbGlhcz86IHN0cmluZykge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgdGhpcy5hbGlhcyA9IGFsaWFzO1xuICAgIHRoaXMuZmxhZ3MgPSBjb25maWcuZmxhZ3M7XG4gICAgdGhpcy5tZW1iZXJzID0gY29uZmlnLm1lbWJlcnM7XG4gICAgdGhpcy5fZmllbGRzID0gT2JqZWN0LmVudHJpZXMoY29uZmlnLmZpZWxkcykubWFwKFxuICAgICAgKFtuYW1lLCBmXSkgPT4gbmV3IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcihuYW1lLCBmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmljZXIgbG9va2luZyB0aXRsZS5cbiAgICogVGl0bGVpemUgaXMgbWVhbnQgZm9yIGNyZWF0aW5nIHByZXR0eSBvdXRwdXQuXG4gICAqIEBwYXJhbSB0ZXJtIFRoZSB0ZXJtIG9mIHRoZSBhbm5vdGF0aW9uIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIFRoZSB0aXRsZWl6ZWQgc3RyaW5nLlxuICAgKi9cbiAgdHRpdGVsaXplKHRlcm0/OiBzdHJpbmcgfCBSZWdFeHApOiBzdHJpbmcge1xuICAgIHJldHVybiAodGVybSAmJiB0aGlzLmFubm90YXRlZFZhbHVlKHRlcm0pKSB8fCBTdHJpbmdzLnRpdGxlQ2FzZSh0aGlzLm5hbWUpO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBzdHJpbmdBc0VudW0sXG4gICAgb3B0aW9ucyxcbiAgfToge1xuICAgIHN0cmluZ0FzRW51bTogYm9vbGVhbjtcbiAgICBvcHRpb25zOiBQYXJzZXJPcHRpb25zO1xuICB9KSB7XG4gICAgdGhpcy5zdHJpbmdBc0VudW0gPSBzdHJpbmdBc0VudW07XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIGlzVHlwZU9mKHR5cGU6IHN0cmluZykge1xuICAgIHZhciBuYW1lcyA9IFtgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9YF07XG4gICAgaWYgKHRoaXMuYWxpYXMpIG5hbWVzLnB1c2goYCR7dGhpcy5hbGlhc30uJHt0aGlzLm5hbWV9YCk7XG4gICAgcmV0dXJuIG5hbWVzLmluZGV4T2YodHlwZSkgIT09IC0xO1xuICB9XG5cbiAgZmllbGRzKHZhbHVlPzogRSk6IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcjxFPltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4udGhpcy5fZmllbGRzLmZpbHRlcihcbiAgICAgICAgKGYpID0+IHZhbHVlID09PSB1bmRlZmluZWQgfHwgQm9vbGVhbigoPGFueT5mLnZhbHVlKSAmICg8YW55PnZhbHVlKSlcbiAgICAgICksXG4gICAgXTtcbiAgfVxuXG4gIGZpZWxkKG5hbWVWYWx1ZTogc3RyaW5nIHwgRSkge1xuICAgIGxldCBmaWVsZCA9IHRoaXMuZmllbGRzKCkuZmluZChcbiAgICAgIChmKSA9PiBmLm5hbWUgPT09IG5hbWVWYWx1ZSB8fCBmLnZhbHVlID09PSBuYW1lVmFsdWVcbiAgICApO1xuICAgIC8vVGhyb3cgZXJyb3IgaWYgbm90IGZvdW5kXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5uYW1lfSBoYXMgbm8gZmllbGQgbmFtZWQgJHtTdHJpbmcobmFtZSl9YCk7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB0aGUgZmllbGRzIG9mIHRoZSBlbnVtIHR5cGUuXG4gICAqIEBwYXJhbSBtYXBwZXIgRnVuY3Rpb24gdGhhdCBtYXBzIHRoZSB2YWx1ZSB0byB0aGUgbmV3IHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZHMgbWFwcGVkIGJ5IHRoZSBtYXBwZXJcbiAgICovXG4gIG1hcEZpZWxkczxSPihtYXBwZXI6IChmaWVsZDogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyPEU+KSA9PiBSKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkubWFwKG1hcHBlcik7XG4gIH1cblxuICAvLyBEZXNlcmlhbGl6ZVxuICBkZXNlcmlhbGl6ZSh2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IEUge1xuICAgIC8vIHN0cmluZyAtPiBudW1iZXJcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLnBhcnNlck9wdGlvbnM7XG4gICAgaWYgKHRoaXMuZmxhZ3MpIHtcbiAgICAgIHJldHVybiBFbnVtcy50b1ZhbHVlczxFPih0aGlzLm1lbWJlcnMgYXMgYW55LCB2YWx1ZSkucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PiBhY2MgfCB2LFxuICAgICAgICAwXG4gICAgICApIGFzIGFueTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVudW1zLnRvVmFsdWU8RT4odGhpcy5tZW1iZXJzIGFzIGFueSwgdmFsdWUpIGFzIGFueTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXJpYWxpemVcbiAgc2VyaWFsaXplKHZhbHVlOiBFLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gRW51bSBhcmUgc3RyaW5nIHwgbnVtYmVyXG4gICAgLy8gc3RyaW5nIHwgbnVtYmVyIC0+IHN0cmluZ1xuICAgIGNvbnN0IHBhcnNlck9wdGlvbnMgPSBvcHRpb25zIHx8IHRoaXMucGFyc2VyT3B0aW9ucztcbiAgICBpZiAodGhpcy5mbGFncykge1xuICAgICAgY29uc3QgbmFtZXMgPSBFbnVtcy50b05hbWVzKHRoaXMubWVtYmVycywgdmFsdWUpO1xuICAgICAgaWYgKG5hbWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiAhdGhpcy5zdHJpbmdBc0VudW1cbiAgICAgICAgPyBgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9JyR7bmFtZXMuam9pbignLCAnKX0nYFxuICAgICAgICA6IG5hbWVzLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBFbnVtcy50b05hbWUodGhpcy5tZW1iZXJzLCB2YWx1ZSk7XG4gICAgICBpZiAobmFtZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuICF0aGlzLnN0cmluZ0FzRW51bVxuICAgICAgICA/IGAke3RoaXMubmFtZXNwYWNlfS4ke3RoaXMubmFtZX0nJHtuYW1lfSdgXG4gICAgICAgIDogbmFtZTtcbiAgICB9XG4gIH1cblxuICAvL0VuY29kZVxuICBlbmNvZGUodmFsdWU6IEUsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogYW55IHtcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLnBhcnNlck9wdGlvbnM7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMuc2VyaWFsaXplKHZhbHVlLCBwYXJzZXJPcHRpb25zKTtcbiAgICBpZiAoc2VyaWFsaXplZCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnN0cmluZ0FzRW51bSA/IHJhdyhgJyR7c2VyaWFsaXplZH0nYCkgOiByYXcoc2VyaWFsaXplZCk7XG4gIH1cblxuICAvLyBKc29uIFNjaGVtYVxuICB0b0pzb25TY2hlbWEoKSB7XG4gICAgbGV0IHByb3BlcnR5ID0gPGFueT57XG4gICAgICB0aXRsZTogdGhpcy5uYW1lLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfTtcbiAgICBwcm9wZXJ0eS5lbnVtID0gdGhpcy5fZmllbGRzLm1hcCgoZikgPT4gZi5uYW1lKTtcbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH1cblxuICB2YWxpZGF0ZShcbiAgICBtZW1iZXI6IHN0cmluZyB8IG51bWJlcixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgICAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgfSA9IHt9XG4gICk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5mbGFncykge1xuICAgICAgbGV0IG1lbWJlcnMgPSBFbnVtcy50b1ZhbHVlcyh0aGlzLm1lbWJlcnMsIG1lbWJlcik7XG4gICAgICByZXR1cm4gbWVtYmVycy5zb21lKChtZW1iZXIpID0+ICEobWVtYmVyIGluIHRoaXMubWVtYmVycykpXG4gICAgICAgID8gWydtaXNtYXRjaCddXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIShtZW1iZXIgaW4gdGhpcy5tZW1iZXJzKSA/IFsnbWlzbWF0Y2gnXSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|