angular-odata 0.100.1 → 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.
Files changed (88) hide show
  1. package/esm2020/lib/api.mjs +84 -64
  2. package/esm2020/lib/cache/cache.mjs +56 -4
  3. package/esm2020/lib/cache/memory.mjs +16 -6
  4. package/esm2020/lib/cache/storage.mjs +23 -4
  5. package/esm2020/lib/client.mjs +3 -3
  6. package/esm2020/lib/constants.mjs +2 -1
  7. package/esm2020/lib/models/collection.mjs +103 -43
  8. package/esm2020/lib/models/model.mjs +17 -4
  9. package/esm2020/lib/models/options.mjs +200 -122
  10. package/esm2020/lib/module.mjs +5 -5
  11. package/esm2020/lib/options.mjs +3 -8
  12. package/esm2020/lib/resources/query/builder.mjs +1 -1
  13. package/esm2020/lib/resources/query/expressions/compute.mjs +5 -5
  14. package/esm2020/lib/resources/query/expressions/expand.mjs +6 -6
  15. package/esm2020/lib/resources/query/expressions/filter.mjs +9 -9
  16. package/esm2020/lib/resources/query/expressions/index.mjs +3 -1
  17. package/esm2020/lib/resources/query/expressions/orderby.mjs +5 -5
  18. package/esm2020/lib/resources/query/expressions/search.mjs +3 -3
  19. package/esm2020/lib/resources/query/expressions/select.mjs +7 -7
  20. package/esm2020/lib/resources/query/expressions/syntax.mjs +1 -1
  21. package/esm2020/lib/resources/query/handlers.mjs +208 -22
  22. package/esm2020/lib/resources/query/options.mjs +16 -13
  23. package/esm2020/lib/resources/request.mjs +31 -36
  24. package/esm2020/lib/resources/resource.mjs +27 -11
  25. package/esm2020/lib/resources/responses/annotations.mjs +1 -1
  26. package/esm2020/lib/resources/responses/metadata.mjs +1 -1
  27. package/esm2020/lib/resources/responses/options.mjs +1 -1
  28. package/esm2020/lib/resources/responses/response.mjs +2 -2
  29. package/esm2020/lib/resources/types/batch.mjs +108 -97
  30. package/esm2020/lib/resources/types/navigation-property.mjs +5 -3
  31. package/esm2020/lib/resources/types/options.mjs +1 -1
  32. package/esm2020/lib/resources/types/property.mjs +4 -4
  33. package/esm2020/lib/schema/callable.mjs +3 -3
  34. package/esm2020/lib/schema/enum-type.mjs +13 -26
  35. package/esm2020/lib/schema/parsers/callable.mjs +15 -20
  36. package/esm2020/lib/schema/parsers/enum-type.mjs +35 -18
  37. package/esm2020/lib/schema/parsers/structured-type.mjs +132 -66
  38. package/esm2020/lib/schema/structured-type.mjs +31 -39
  39. package/esm2020/lib/services/base.mjs +1 -1
  40. package/esm2020/lib/services/factory.mjs +3 -3
  41. package/esm2020/lib/types.mjs +1 -1
  42. package/esm2020/lib/utils/arrays.mjs +10 -0
  43. package/esm2020/lib/utils/enums.mjs +3 -3
  44. package/esm2020/lib/utils/objects.mjs +11 -6
  45. package/esm2020/lib/utils/types.mjs +6 -7
  46. package/fesm2015/angular-odata.mjs +3451 -2918
  47. package/fesm2015/angular-odata.mjs.map +1 -1
  48. package/fesm2020/angular-odata.mjs +3454 -2919
  49. package/fesm2020/angular-odata.mjs.map +1 -1
  50. package/{angular-odata.d.ts → index.d.ts} +0 -0
  51. package/lib/api.d.ts +2 -4
  52. package/lib/cache/cache.d.ts +62 -1
  53. package/lib/cache/memory.d.ts +10 -0
  54. package/lib/cache/storage.d.ts +19 -0
  55. package/lib/constants.d.ts +1 -0
  56. package/lib/models/collection.d.ts +14 -9
  57. package/lib/models/model.d.ts +10 -7
  58. package/lib/models/options.d.ts +31 -22
  59. package/lib/options.d.ts +3 -7
  60. package/lib/resources/query/builder.d.ts +1 -1
  61. package/lib/resources/query/expressions/compute.d.ts +7 -6
  62. package/lib/resources/query/expressions/expand.d.ts +17 -32
  63. package/lib/resources/query/expressions/filter.d.ts +11 -10
  64. package/lib/resources/query/expressions/index.d.ts +2 -0
  65. package/lib/resources/query/expressions/orderby.d.ts +7 -6
  66. package/lib/resources/query/expressions/search.d.ts +5 -4
  67. package/lib/resources/query/expressions/select.d.ts +7 -6
  68. package/lib/resources/query/handlers.d.ts +158 -33
  69. package/lib/resources/query/options.d.ts +14 -12
  70. package/lib/resources/request.d.ts +2 -1
  71. package/lib/resources/resource.d.ts +7 -6
  72. package/lib/resources/responses/options.d.ts +2 -2
  73. package/lib/resources/types/batch.d.ts +8 -11
  74. package/lib/resources/types/options.d.ts +4 -2
  75. package/lib/schema/callable.d.ts +4 -4
  76. package/lib/schema/enum-type.d.ts +11 -23
  77. package/lib/schema/parsers/callable.d.ts +11 -10
  78. package/lib/schema/parsers/enum-type.d.ts +22 -14
  79. package/lib/schema/parsers/structured-type.d.ts +58 -14
  80. package/lib/schema/structured-type.d.ts +23 -23
  81. package/lib/services/base.d.ts +9 -9
  82. package/lib/types.d.ts +11 -13
  83. package/lib/utils/arrays.d.ts +3 -0
  84. package/lib/utils/enums.d.ts +2 -2
  85. package/lib/utils/objects.d.ts +1 -1
  86. package/lib/utils/strings.d.ts +1 -1
  87. package/lib/utils/types.d.ts +1 -1
  88. package/package.json +5 -5
@@ -25,11 +25,14 @@ export class ODataStructuredType extends ODataSchemaElement {
25
25
  parent.children.push(this);
26
26
  this.parent = parent;
27
27
  }
28
- this.parser.configure({ parserForType, options: this.api.options });
28
+ this.parser.configure({
29
+ parserForType,
30
+ options: this.api.options.parserOptions,
31
+ });
29
32
  if (this.model !== undefined && this.model.options !== null) {
30
33
  this.model.meta.configure({
31
34
  findOptionsForType,
32
- options: this.api.options,
35
+ options: this.api.options.parserOptions,
33
36
  });
34
37
  }
35
38
  }
@@ -70,11 +73,8 @@ export class ODataStructuredType extends ODataSchemaElement {
70
73
  * @param name Name of the field
71
74
  * @returns The field parser
72
75
  */
73
- findFieldByName(name) {
74
- return this.fields({
75
- include_parents: true,
76
- include_navigation: true,
77
- }).find((f) => f.name === name);
76
+ field(name) {
77
+ return this.parser.field(name);
78
78
  }
79
79
  /**
80
80
  * Find a parent schema of the structured type.
@@ -98,33 +98,6 @@ export class ODataStructuredType extends ODataSchemaElement {
98
98
  .fields({ include_parents: false, include_navigation: true })
99
99
  .find((f) => f === field) !== undefined);
100
100
  }
101
- /**
102
- * Returns all fields of the structured type.
103
- * @param include_navigation Include navigation properties in the result.
104
- * @param include_parents Include the parent types in the result.
105
- * @returns All fields of the structured type.
106
- */
107
- fields({ include_navigation, include_parents, }) {
108
- return [
109
- ...(include_parents && this.parent !== undefined
110
- ? this.parent.fields({ include_parents, include_navigation })
111
- : []),
112
- ...this.parser.fields.filter((field) => include_navigation || !field.navigation),
113
- ];
114
- }
115
- /**
116
- * Returns the keys of the structured type.
117
- * @param include_parents Include the parent fields
118
- * @returns The keys of the structured type
119
- */
120
- keys({ include_parents = true, } = {}) {
121
- return [
122
- ...(include_parents && this.parent !== undefined
123
- ? this.parent.keys({ include_parents })
124
- : []),
125
- ...(this.parser.keys || []),
126
- ];
127
- }
128
101
  /**
129
102
  * Picks the fields from attributes.
130
103
  * @param attrs
@@ -134,10 +107,12 @@ export class ODataStructuredType extends ODataSchemaElement {
134
107
  * @returns The picked fields
135
108
  */
136
109
  pick(attrs, { include_parents = true, include_navigation = false, include_etag = true, } = {}) {
137
- const names = this.fields({ include_parents, include_navigation }).map((f) => f.name);
138
- return Object.keys(attrs)
139
- .filter((key) => names.indexOf(key) !== -1 || (key == this.api.options.helper.ODATA_ETAG && include_etag))
140
- .reduce((acc, key) => Object.assign(acc, { [key]: attrs[key] }), {});
110
+ return this.parser.pick(attrs, {
111
+ include_etag,
112
+ include_navigation,
113
+ include_parents,
114
+ options: this.api.options,
115
+ });
141
116
  }
142
117
  /**
143
118
  * Deseialize the given value from the structured type.
@@ -166,6 +141,23 @@ export class ODataStructuredType extends ODataSchemaElement {
166
141
  encode(value, options) {
167
142
  return this.parser.encode(value, options);
168
143
  }
144
+ /**
145
+ * Returns all fields of the structured type.
146
+ * @param include_navigation Include navigation properties in the result.
147
+ * @param include_parents Include the parent types in the result.
148
+ * @returns All fields of the structured type.
149
+ */
150
+ fields({ include_navigation, include_parents, }) {
151
+ return this.parser.fields({ include_navigation, include_parents });
152
+ }
153
+ /**
154
+ * Returns the keys of the structured type.
155
+ * @param include_parents Include the parent fields
156
+ * @returns The keys of the structured type
157
+ */
158
+ keys({ include_parents = true, } = {}) {
159
+ return this.parser.keys({ include_parents });
160
+ }
169
161
  /**
170
162
  * Resolve the key of the structured type for the given value.
171
163
  * @param attrs Attributes of the value
@@ -199,4 +191,4 @@ export class ODataStructuredType extends ODataSchemaElement {
199
191
  return this.parser.validate(attrs, { method, navigation });
200
192
  }
201
193
  }
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFJTCx5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxPQUFPLG1CQUF1QixTQUFRLGtCQUFrQjtJQVM1RCxZQUFZLE1BQStCLEVBQUUsTUFBbUI7UUFDOUQsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQU54QixhQUFRLEdBQStCLEVBQUUsQ0FBQztRQU94QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUkseUJBQXlCLENBQ3pDLE1BQU0sRUFDTixNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQUMsS0FBSyxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQW9DLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMs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QztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxLQUFrQztRQUMzQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLFVBQWdDLEVBQUU7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQ04sS0FBaUIsRUFDakIsRUFDRSxNQUFNLEVBQ04sVUFBVSxHQUFHLEtBQUssTUFJaEIsRUFBRTtRQUVOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHsgT3B0aW9uc0hlbHBlciwgU3RydWN0dXJlZFR5cGVDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPRGF0YVNjaGVtYUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHtcbiAgSnNvblNjaGVtYU9wdGlvbnMsXG4gIE9EYXRhRW50aXR5VHlwZUtleSxcbiAgT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyLFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyLFxufSBmcm9tICcuL3BhcnNlcnMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+IGV4dGVuZHMgT0RhdGFTY2hlbWFFbGVtZW50IHtcbiAgYmFzZT86IHN0cmluZztcbiAgb3BlbjogYm9vbGVhbjtcbiAgcGFyZW50PzogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICBjaGlsZHJlbjogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+W10gPSBbXTtcbiAgbW9kZWw/OiB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgY29sbGVjdGlvbj86IHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG4gIHBhcnNlcjogT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlcjxUPjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFN0cnVjdHVyZWRUeXBlQ29uZmlnPFQ+LCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnLCBzY2hlbWEpO1xuICAgIHRoaXMuYmFzZSA9IGNvbmZpZy5iYXNlO1xuICAgIHRoaXMub3BlbiA9IGNvbmZpZy5vcGVuIHx8IGZhbHNlO1xuICAgIHRoaXMucGFyc2VyID0gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIoXG4gICAgICBjb25maWcsXG4gICAgICBzY2hlbWEubmFtZXNwYWNlLFxuICAgICAgc2NoZW1hLmFsaWFzXG4gICAgKTtcbiAgICB0aGlzLm1vZGVsID0gY29uZmlnLm1vZGVsIGFzIHR5cGVvZiBPRGF0YU1vZGVsO1xuICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbmZpZy5jb2xsZWN0aW9uIGFzIHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG4gICAgaWYgKHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMubW9kZWwuaGFzT3duUHJvcGVydHkoJ29wdGlvbnMnKVxuICAgICAgICA/IHRoaXMubW9kZWwub3B0aW9uc1xuICAgICAgICA6IHsgZmllbGRzOiB7fSB9O1xuICAgICAgdGhpcy5tb2RlbC5idWlsZE1ldGE8VD4oeyBvcHRpb25zLCBzY2hlbWE6IHRoaXMgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uLm1vZGVsID0gdGhpcy5tb2RlbDtcbiAgICB9XG4gIH1cblxuICBjb25maWd1cmUoe1xuICAgIHBhcnNlckZvclR5cGUsXG4gICAgZmluZE9wdGlvbnNGb3JUeXBlLFxuICB9OiB7XG4gICAgcGFyc2VyRm9yVHlwZTogKHR5cGU6IHN0cmluZykgPT4gYW55O1xuICAgIGZpbmRPcHRpb25zRm9yVHlwZTogKHR5cGU6IHN0cmluZykgPT4gYW55O1xuICB9KSB7XG4gICAgaWYgKHRoaXMuYmFzZSkge1xuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlRm9yVHlwZShcbiAgICAgICAgdGhpcy5iYXNlXG4gICAgICApIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PjtcbiAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKHRoaXMpO1xuICAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgfVxuICAgIHRoaXMucGFyc2VyLmNvbmZpZ3VyZSh7IHBhcnNlckZvclR5cGUsIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMgfSk7XG4gICAgaWYgKHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm1vZGVsLm9wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMubW9kZWwubWV0YS5jb25maWd1cmUoe1xuICAgICAgICBmaW5kT3B0aW9uc0ZvclR5cGUsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGlzIGEgc3VidHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHR5cGUgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNhbGxhYmxlIGlzIHR5cGUgb2YgdGhlIGdpdmVuIHR5cGVcbiAgICovXG4gIG92ZXJyaWRlIGlzU3VidHlwZU9mKHNjaGVtYTogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN1cGVyLmlzU3VidHlwZU9mKHNjaGVtYSkgfHxcbiAgICAgICh0aGlzLnBhcmVudCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFyZW50LmlzU3VidHlwZU9mKHNjaGVtYSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaXMgYSBzdXBlcnR5cGUgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqIEBwYXJhbSB0eXBlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdHlwZVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBjYWxsYWJsZSBpcyB0eXBlIG9mIHRoZSBnaXZlbiB0eXBlXG4gICAqL1xuICBvdmVycmlkZSBpc1N1cGVydHlwZU9mKHNjaGVtYTogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN1cGVyLmlzU3VwZXJ0eXBlT2Yoc2NoZW1hKSB8fFxuICAgICAgdGhpcy5jaGlsZHJlbi5zb21lKChjKSA9PiBjLmlzU3VwZXJ0eXBlT2Yoc2NoZW1hKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBzaW1wbGUga2V5LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgc2ltcGxlIGtleVxuICAgKi9cbiAgaXNTaW1wbGVLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMua2V5cygpLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgY29tcG91bmQga2V5LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgY29tcG91bmQga2V5LlxuICAgKi9cbiAgaXNDb21wb3VuZEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBmaWVsZCBwYXJzZXIgZm9yIHRoZSBnaXZlbiBmaWVsZCBuYW1lLlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyBUaGUgZmllbGQgcGFyc2VyXG4gICAqL1xuICBmaW5kRmllbGRCeU5hbWU8Rj4obmFtZToga2V5b2YgVCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcyh7XG4gICAgICBpbmNsdWRlX3BhcmVudHM6IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb246IHRydWUsXG4gICAgfSkuZmluZCgoZikgPT4gZi5uYW1lID09PSBuYW1lKSBhc1xuICAgICAgfCBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8Rj5cbiAgICAgIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYSBwYXJlbnQgc2NoZW1hIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gZm9yIGV2YWx1YXRlIHRoZSBzY2hlbWFzIGluIHRoZSBoaWVyYXJjaHkuXG4gICAqIEByZXR1cm5zIFRoZSBzY2hlbWEgdGhhdCBtYXRjaGVzIHRoZSBwcmVkaWNhdGUuXG4gICAqL1xuICBmaW5kUGFyZW50U2NoZW1hKFxuICAgIHByZWRpY2F0ZTogKHA6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PikgPT4gYm9vbGVhblxuICApOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmIChwcmVkaWNhdGUodGhpcykpIHJldHVybiB0aGlzIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PjtcbiAgICBpZiAodGhpcy5wYXJlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZmluZFBhcmVudFNjaGVtYShwcmVkaWNhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYSBwYXJlbnQgc2NoZW1hIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgZm9yIHRoZSBnaXZlbiBmaWVsZC5cbiAgICogQHBhcmFtIGZpZWxkIEZpZWxkIHRoYXQgYmVsb25ncyB0byB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqIEByZXR1cm5zIFRoZSBzY2hlbWEgb2YgdGhlIGZpZWxkXG4gICAqL1xuICBmaW5kU2NoZW1hRm9yRmllbGQ8RT4oZmllbGQ6IE9EYXRhU3RydWN0dXJlZFR5cGVGaWVsZFBhcnNlcjxhbnk+KSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZFBhcmVudFNjaGVtYShcbiAgICAgIChwKSA9PlxuICAgICAgICBwXG4gICAgICAgICAgLmZpZWxkcyh7IGluY2x1ZGVfcGFyZW50czogZmFsc2UsIGluY2x1ZGVfbmF2aWdhdGlvbjogdHJ1ZSB9KVxuICAgICAgICAgIC5maW5kKChmKSA9PiBmID09PSBmaWVsZCkgIT09IHVuZGVmaW5lZFxuICAgICkgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxFPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBmaWVsZHMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIGluY2x1ZGVfbmF2aWdhdGlvbiBJbmNsdWRlIG5hdmlnYXRpb24gcHJvcGVydGllcyBpbiB0aGUgcmVzdWx0LlxuICAgKiBAcGFyYW0gaW5jbHVkZV9wYXJlbnRzIEluY2x1ZGUgdGhlIHBhcmVudCB0eXBlcyBpbiB0aGUgcmVzdWx0LlxuICAgKiBAcmV0dXJucyBBbGwgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqL1xuICBmaWVsZHMoe1xuICAgIGluY2x1ZGVfbmF2aWdhdGlvbixcbiAgICBpbmNsdWRlX3BhcmVudHMsXG4gIH06IHtcbiAgICBpbmNsdWRlX3BhcmVudHM6IGJvb2xlYW47XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uOiBib29sZWFuO1xuICB9KTogT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyPGFueT5bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLihpbmNsdWRlX3BhcmVudHMgJiYgdGhpcy5wYXJlbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucGFyZW50LmZpZWxkcyh7IGluY2x1ZGVfcGFyZW50cywgaW5jbHVkZV9uYXZpZ2F0aW9uIH0pXG4gICAgICAgIDogW10pLFxuICAgICAgLi4udGhpcy5wYXJzZXIuZmllbGRzLmZpbHRlcihcbiAgICAgICAgKGZpZWxkKSA9PiBpbmNsdWRlX25hdmlnYXRpb24gfHwgIWZpZWxkLm5hdmlnYXRpb25cbiAgICAgICksXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXlzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IGZpZWxkc1xuICAgKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBrZXlzKHtcbiAgICBpbmNsdWRlX3BhcmVudHMgPSB0cnVlLFxuICB9OiB7XG4gICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgfSA9IHt9KTogT0RhdGFFbnRpdHlUeXBlS2V5W10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi4oaW5jbHVkZV9wYXJlbnRzICYmIHRoaXMucGFyZW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB0aGlzLnBhcmVudC5rZXlzKHsgaW5jbHVkZV9wYXJlbnRzIH0pXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMucGFyc2VyLmtleXMgfHwgW10pLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogUGlja3MgdGhlIGZpZWxkcyBmcm9tIGF0dHJpYnV0ZXMuXG4gICAqIEBwYXJhbSBhdHRyc1xuICAgKiBAcGFyYW0gaW5jbHVkZV9wYXJlbnRzIEluY2x1ZGUgdGhlIHBhcmVudCBmaWVsZHNcbiAgICogQHBhcmFtIGluY2x1ZGVfbmF2aWdhdGlvbiBJbmNsdWRlIHRoZSBuYXZpZ2F0aW9uIGZpZWxkc1xuICAgKiBAcGFyYW0gaW5jbHVkZV9ldGFnIEluY2x1ZGUgdGhlIGV0YWcgZmllbGRcbiAgICogQHJldHVybnMgVGhlIHBpY2tlZCBmaWVsZHNcbiAgICovXG4gIHBpY2soXG4gICAgYXR0cnM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9LFxuICAgIHtcbiAgICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24gPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfZXRhZyA9IHRydWUsXG4gICAgfToge1xuICAgICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX2V0YWc/OiBib29sZWFuO1xuICAgIH0gPSB7fVxuICApOiBQYXJ0aWFsPFQ+IHtcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMuZmllbGRzKHsgaW5jbHVkZV9wYXJlbnRzLCBpbmNsdWRlX25hdmlnYXRpb24gfSkubWFwKFxuICAgICAgKGYpID0+IGYubmFtZVxuICAgICk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGF0dHJzKVxuICAgICAgLmZpbHRlcigoa2V5KSA9PiBuYW1lcy5pbmRleE9mKGtleSkgIT09IC0xIHx8IChrZXkgPT0gdGhpcy5hcGkub3B0aW9ucy5oZWxwZXIuT0RBVEFfRVRBRyAmJiBpbmNsdWRlX2V0YWcpKVxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiBhdHRyc1trZXldIH0pLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZnJvbSB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZGVzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZGVzZXJpYWxpemF0aW9uXG4gICAqIEByZXR1cm5zIERlc2VyaWFsaXplZCB2YWx1ZVxuICAgKi9cbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSwgb3B0aW9ucz86IE9wdGlvbnNIZWxwZXIpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVzZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3Igc2VyaWFsaXphdGlvblxuICAgKiBAcmV0dXJucyBTZXJpYWxpemVkIHZhbHVlXG4gICAqL1xuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBPcHRpb25zSGVscGVyKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgdGhlIGdpdmVuIHZhbHVlIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGVuY29kaW5nXG4gICAqIEByZXR1cm5zIEVuY29kZWQgdmFsdWVcbiAgICovXG4gIGVuY29kZSh2YWx1ZTogVCwgb3B0aW9ucz86IE9wdGlvbnNIZWxwZXIpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIGtleSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqIEBwYXJhbSBhdHRycyBBdHRyaWJ1dGVzIG9mIHRoZSB2YWx1ZVxuICAgKiBAcmV0dXJucyBSZXNvbHZlZCBrZXlcbiAgICovXG4gIHJlc29sdmVLZXkoYXR0cnM6IFQgfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5yZXNvbHZlS2V5KGF0dHJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkZWZhdWx0cyB2YWx1ZXMgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEByZXR1cm5zIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBkZWZhdWx0cygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVmYXVsdHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmVkIHR5cGUgdG8ganNvbiBzY2hlbWFcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IganNvbiBzY2hlbWFcbiAgICogQHJldHVybnMgSnNvbiBTY2hlbWFcbiAgICovXG4gIHRvSnNvblNjaGVtYShvcHRpb25zOiBKc29uU2NoZW1hT3B0aW9uczxUPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnRvSnNvblNjaGVtYShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gdmFsdWUgYWdhaW5zdCB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHBhcmFtIG1ldGhvZCBNZXRob2QgdG8gdXNlIGZvciB0aGUgcHJvY2VzcyB2YWxpZGF0aW9uXG4gICAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHRoZSBlcnJvcnNcbiAgICovXG4gIHZhbGlkYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIG5hdmlnYXRpb24gPSBmYWxzZSxcbiAgICB9OiB7XG4gICAgICBtZXRob2Q/OiAnY3JlYXRlJyB8ICd1cGRhdGUnIHwgJ21vZGlmeSc7XG4gICAgICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnZhbGlkYXRlKGF0dHJzLCB7IG1ldGhvZCwgbmF2aWdhdGlvbiB9KTtcbiAgfVxufVxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFJTCx5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxPQUFPLG1CQUF1QixTQUFRLGtCQUFrQjtJQVM1RCxZQUFZLE1BQStCLEVBQUUsTUFBbUI7UUFDOUQsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQU54QixhQUFRLEdBQStCLEVBQUUsQ0FBQztRQU94QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUkseUJBQXlCLENBQ3pDLE1BQU0sRUFDTixNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQUMsS0FBSyxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQW9DLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMs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QUFHLElBQUksTUFHcEIsRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQWtDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsVUFBZ0MsRUFBRTtRQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FDTixLQUFpQixFQUNqQixFQUNFLE1BQU0sRUFDTixVQUFVLEdBQUcsS0FBSyxNQUloQixFQUFFO1FBRU4sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFNb2RlbCB9IGZyb20gJy4uL21vZGVscy9tb2RlbCc7XG5pbXBvcnQgeyBQYXJzZXJPcHRpb25zLCBTdHJ1Y3R1cmVkVHlwZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhU2NoZW1hRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQge1xuICBKc29uU2NoZW1hT3B0aW9ucyxcbiAgT0RhdGFFbnRpdHlUeXBlS2V5LFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXIsXG4gIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIsXG59IGZyb20gJy4vcGFyc2Vycyc7XG5pbXBvcnQgeyBPRGF0YVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhU3RydWN0dXJlZFR5cGU8VD4gZXh0ZW5kcyBPRGF0YVNjaGVtYUVsZW1lbnQge1xuICBiYXNlPzogc3RyaW5nO1xuICBvcGVuOiBib29sZWFuO1xuICBwYXJlbnQ/OiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gIGNoaWxkcmVuOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXSA9IFtdO1xuICBtb2RlbD86IHR5cGVvZiBPRGF0YU1vZGVsO1xuICBjb2xsZWN0aW9uPzogdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcbiAgcGFyc2VyOiBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU3RydWN0dXJlZFR5cGVDb25maWc8VD4sIHNjaGVtYTogT0RhdGFTY2hlbWEpIHtcbiAgICBzdXBlcihjb25maWcsIHNjaGVtYSk7XG4gICAgdGhpcy5iYXNlID0gY29uZmlnLmJhc2U7XG4gICAgdGhpcy5vcGVuID0gY29uZmlnLm9wZW4gfHwgZmFsc2U7XG4gICAgdGhpcy5wYXJzZXIgPSBuZXcgT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlcihcbiAgICAgIGNvbmZpZyxcbiAgICAgIHNjaGVtYS5uYW1lc3BhY2UsXG4gICAgICBzY2hlbWEuYWxpYXNcbiAgICApO1xuICAgIHRoaXMubW9kZWwgPSBjb25maWcubW9kZWwgYXMgdHlwZW9mIE9EYXRhTW9kZWw7XG4gICAgdGhpcy5jb2xsZWN0aW9uID0gY29uZmlnLmNvbGxlY3Rpb24gYXMgdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcbiAgICBpZiAodGhpcy5tb2RlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5tb2RlbC5oYXNPd25Qcm9wZXJ0eSgnb3B0aW9ucycpXG4gICAgICAgID8gdGhpcy5tb2RlbC5vcHRpb25zXG4gICAgICAgIDogeyBmaWVsZHM6IHt9IH07XG4gICAgICB0aGlzLm1vZGVsLmJ1aWxkTWV0YTxUPih7IG9wdGlvbnMsIHNjaGVtYTogdGhpcyB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29sbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb24ubW9kZWwgPSB0aGlzLm1vZGVsO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpZ3VyZSh7XG4gICAgcGFyc2VyRm9yVHlwZSxcbiAgICBmaW5kT3B0aW9uc0ZvclR5cGUsXG4gIH06IHtcbiAgICBwYXJzZXJGb3JUeXBlOiAodHlwZTogc3RyaW5nKSA9PiBhbnk7XG4gICAgZmluZE9wdGlvbnNGb3JUeXBlOiAodHlwZTogc3RyaW5nKSA9PiBhbnk7XG4gIH0pIHtcbiAgICBpZiAodGhpcy5iYXNlKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlKFxuICAgICAgICB0aGlzLmJhc2VcbiAgICAgICkgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2godGhpcyk7XG4gICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICB9XG4gICAgdGhpcy5wYXJzZXIuY29uZmlndXJlKHtcbiAgICAgIHBhcnNlckZvclR5cGUsXG4gICAgICBvcHRpb25zOiB0aGlzLmFwaS5vcHRpb25zLnBhcnNlck9wdGlvbnMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm1vZGVsLm9wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMubW9kZWwubWV0YS5jb25maWd1cmUoe1xuICAgICAgICBmaW5kT3B0aW9uc0ZvclR5cGUsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMucGFyc2VyT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaXMgYSBzdWJ0eXBlIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0gdHlwZSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHR5cGVcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FsbGFibGUgaXMgdHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgKi9cbiAgb3ZlcnJpZGUgaXNTdWJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdWJ0eXBlT2Yoc2NoZW1hKSB8fFxuICAgICAgKHRoaXMucGFyZW50ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYXJlbnQuaXNTdWJ0eXBlT2Yoc2NoZW1hKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBpcyBhIHN1cGVydHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHR5cGUgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNhbGxhYmxlIGlzIHR5cGUgb2YgdGhlIGdpdmVuIHR5cGVcbiAgICovXG4gIG92ZXJyaWRlIGlzU3VwZXJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdXBlcnR5cGVPZihzY2hlbWEpIHx8XG4gICAgICB0aGlzLmNoaWxkcmVuLnNvbWUoKGMpID0+IGMuaXNTdXBlcnR5cGVPZihzY2hlbWEpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIHNpbXBsZSBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBzaW1wbGUga2V5XG4gICAqL1xuICBpc1NpbXBsZUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqL1xuICBpc0NvbXBvdW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmtleXMoKS5sZW5ndGggPiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIGZpZWxkIHBhcnNlciBmb3IgdGhlIGdpdmVuIGZpZWxkIG5hbWUuXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGZpZWxkXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZCBwYXJzZXJcbiAgICovXG4gIGZpZWxkPEY+KG5hbWU6IGtleW9mIFQpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZmllbGQ8Rj4obmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhIHBhcmVudCBzY2hlbWEgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHByZWRpY2F0ZSBGdW5jdGlvbiBmb3IgZXZhbHVhdGUgdGhlIHNjaGVtYXMgaW4gdGhlIGhpZXJhcmNoeS5cbiAgICogQHJldHVybnMgVGhlIHNjaGVtYSB0aGF0IG1hdGNoZXMgdGhlIHByZWRpY2F0ZS5cbiAgICovXG4gIGZpbmRQYXJlbnRTY2hlbWEoXG4gICAgcHJlZGljYXRlOiAocDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KSA9PiBib29sZWFuXG4gICk6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByZWRpY2F0ZSh0aGlzKSkgcmV0dXJuIHRoaXMgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICAgIGlmICh0aGlzLnBhcmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5maW5kUGFyZW50U2NoZW1hKHByZWRpY2F0ZSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhIHBhcmVudCBzY2hlbWEgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZSBmb3IgdGhlIGdpdmVuIGZpZWxkLlxuICAgKiBAcGFyYW0gZmllbGQgRmllbGQgdGhhdCBiZWxvbmdzIHRvIHRoZSBzdHJ1Y3R1cmVkIHR5cGVcbiAgICogQHJldHVybnMgVGhlIHNjaGVtYSBvZiB0aGUgZmllbGRcbiAgICovXG4gIGZpbmRTY2hlbWFGb3JGaWVsZDxFPihmaWVsZDogT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyPGFueT4pIHtcbiAgICByZXR1cm4gdGhpcy5maW5kUGFyZW50U2NoZW1hKFxuICAgICAgKHApID0+XG4gICAgICAgIHBcbiAgICAgICAgICAuZmllbGRzKHsgaW5jbHVkZV9wYXJlbnRzOiBmYWxzZSwgaW5jbHVkZV9uYXZpZ2F0aW9uOiB0cnVlIH0pXG4gICAgICAgICAgLmZpbmQoKGYpID0+IGYgPT09IGZpZWxkKSAhPT0gdW5kZWZpbmVkXG4gICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPEU+O1xuICB9XG5cbiAgLyoqXG4gICAqIFBpY2tzIHRoZSBmaWVsZHMgZnJvbSBhdHRyaWJ1dGVzLlxuICAgKiBAcGFyYW0gYXR0cnNcbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgZmllbGRzXG4gICAqIEBwYXJhbSBpbmNsdWRlX25hdmlnYXRpb24gSW5jbHVkZSB0aGUgbmF2aWdhdGlvbiBmaWVsZHNcbiAgICogQHBhcmFtIGluY2x1ZGVfZXRhZyBJbmNsdWRlIHRoZSBldGFnIGZpZWxkXG4gICAqIEByZXR1cm5zIFRoZSBwaWNrZWQgZmllbGRzXG4gICAqL1xuICBwaWNrKFxuICAgIGF0dHJzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSxcbiAgICB7XG4gICAgICBpbmNsdWRlX3BhcmVudHMgPSB0cnVlLFxuICAgICAgaW5jbHVkZV9uYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgICBpbmNsdWRlX2V0YWcgPSB0cnVlLFxuICAgIH06IHtcbiAgICAgIGluY2x1ZGVfcGFyZW50cz86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9ldGFnPzogYm9vbGVhbjtcbiAgICB9ID0ge31cbiAgKTogUGFydGlhbDxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnBpY2soYXR0cnMsIHtcbiAgICAgIGluY2x1ZGVfZXRhZyxcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbixcbiAgICAgIGluY2x1ZGVfcGFyZW50cyxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZnJvbSB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZGVzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZGVzZXJpYWxpemF0aW9uXG4gICAqIEByZXR1cm5zIERlc2VyaWFsaXplZCB2YWx1ZVxuICAgKi9cbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVzZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3Igc2VyaWFsaXphdGlvblxuICAgKiBAcmV0dXJucyBTZXJpYWxpemVkIHZhbHVlXG4gICAqL1xuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgdGhlIGdpdmVuIHZhbHVlIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGVuY29kaW5nXG4gICAqIEByZXR1cm5zIEVuY29kZWQgdmFsdWVcbiAgICovXG4gIGVuY29kZSh2YWx1ZTogVCwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gaW5jbHVkZV9uYXZpZ2F0aW9uIEluY2x1ZGUgbmF2aWdhdGlvbiBwcm9wZXJ0aWVzIGluIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IHR5cGVzIGluIHRoZSByZXN1bHQuXG4gICAqIEByZXR1cm5zIEFsbCBmaWVsZHMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICovXG4gIGZpZWxkcyh7XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uLFxuICAgIGluY2x1ZGVfcGFyZW50cyxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50czogYm9vbGVhbjtcbiAgICBpbmNsdWRlX25hdmlnYXRpb246IGJvb2xlYW47XG4gIH0pOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZmllbGRzKHsgaW5jbHVkZV9uYXZpZ2F0aW9uLCBpbmNsdWRlX3BhcmVudHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUga2V5cyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gaW5jbHVkZV9wYXJlbnRzIEluY2x1ZGUgdGhlIHBhcmVudCBmaWVsZHNcbiAgICogQHJldHVybnMgVGhlIGtleXMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKi9cbiAga2V5cyh7XG4gICAgaW5jbHVkZV9wYXJlbnRzID0gdHJ1ZSxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50cz86IGJvb2xlYW47XG4gIH0gPSB7fSk6IE9EYXRhRW50aXR5VHlwZUtleVtdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIua2V5cyh7IGluY2x1ZGVfcGFyZW50cyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBrZXkgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZSBmb3IgdGhlIGdpdmVuIHZhbHVlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHJldHVybnMgUmVzb2x2ZWQga2V5XG4gICAqL1xuICByZXNvbHZlS2V5KGF0dHJzOiBUIHwgeyBbbmFtZTogc3RyaW5nXTogYW55IH0pIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIucmVzb2x2ZUtleShhdHRycyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVmYXVsdHMgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcmV0dXJucyBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKi9cbiAgZGVmYXVsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlZmF1bHRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgc3RydWN0dXJlZCB0eXBlIHRvIGpzb24gc2NoZW1hXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGpzb24gc2NoZW1hXG4gICAqIEByZXR1cm5zIEpzb24gU2NoZW1hXG4gICAqL1xuICB0b0pzb25TY2hlbWEob3B0aW9uczogSnNvblNjaGVtYU9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci50b0pzb25TY2hlbWEob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhlIGdpdmVuIHZhbHVlIGFnYWluc3QgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIGF0dHJzIEF0dHJpYnV0ZXMgb2YgdGhlIHZhbHVlXG4gICAqIEBwYXJhbSBtZXRob2QgTWV0aG9kIHRvIHVzZSBmb3IgdGhlIHByb2Nlc3MgdmFsaWRhdGlvblxuICAgKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0aGUgZXJyb3JzXG4gICAqL1xuICB2YWxpZGF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgICAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci52YWxpZGF0ZShhdHRycywgeyBtZXRob2QsIG5hdmlnYXRpb24gfSk7XG4gIH1cbn1cbiJdfQ==
@@ -26,4 +26,4 @@ export class ODataBaseService {
26
26
  return resource.fetch({ responseType: responseType, ...options });
27
27
  }
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQ3BDLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsWUFBWSxFQUFFLFlBQW1CO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUEwQlMsVUFBVSxDQUNsQixNQUFnQixFQUNoQixRQUFtQyxFQUNuQyxZQUF5RCxFQUN6RCxVQUF5QyxFQUFFO1FBRTNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNCLFlBQVksRUFBRSxZQUFtQjtZQUNqQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWVMsdUJBQXVCLENBQy9CLFFBQTRDLEVBQzVDLFlBQW1DLEVBQ25DLFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxZQUFtQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQge1xuICBPRGF0YUFjdGlvblJlc291cmNlLFxuICBPRGF0YUVudGl0aWVzLFxuICBPRGF0YUVudGl0eSxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9EYXRhQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCxcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nXG4gICkge31cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5hcGlGb3IodGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0eScsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVByb3BlcnR5PFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnbm9uZScsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyB8ICdlbnRpdHknIHwgJ2VudGl0aWVzJyB8ICdub25lJyxcbiAgICBvcHRpb25zOiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPiA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEuYXBwbHkob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXRpZXMnLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVByb3BlcnR5PFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdub25lJyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxudWxsPjtcbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdwcm9wZXJ0eScgfCAnZW50aXR5JyB8ICdlbnRpdGllcycgfCAnbm9uZScsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj4gPSB7fVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJlc291cmNlLnF1ZXJ5KChxKSA9PiBxLmFwcGx5KG9wdGlvbnMpKTtcbiAgICByZXR1cm4gcmVzb3VyY2UuY2FsbChwYXJhbXMsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIGFzIGFueSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmV0Y2hOYXZpZ2F0aW9uUHJvcGVydHk8Uz4oXG4gICAgcmVzb3VyY2U6IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8Uz4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxTPj47XG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxTPj47XG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknIHwgJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zOiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPiA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEuYXBwbHkob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5mZXRjaCh7IHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIGFzIGFueSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQ3BDLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQW1DLEVBQUU7UUFFckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsWUFBWSxFQUFFLFlBQW1CO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUEwQlMsVUFBVSxDQUNsQixNQUFnQixFQUNoQixRQUFtQyxFQUNuQyxZQUF5RCxFQUN6RCxVQUFpQyxFQUFFO1FBRW5DLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNCLFlBQVksRUFBRSxZQUFtQjtZQUNqQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWVMsdUJBQXVCLENBQy9CLFFBQTRDLEVBQzVDLFlBQW1DLEVBQ25DLFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxZQUFtQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQge1xuICBPRGF0YUFjdGlvbk9wdGlvbnMsXG4gIE9EYXRhQWN0aW9uUmVzb3VyY2UsXG4gIE9EYXRhRW50aXRpZXMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUZ1bmN0aW9uT3B0aW9ucyxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9EYXRhQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCxcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nXG4gICkge31cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5hcGlGb3IodGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0eScsXG4gICAgb3B0aW9ucz86IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVByb3BlcnR5PFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnbm9uZScsXG4gICAgb3B0aW9ucz86IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyB8ICdlbnRpdHknIHwgJ2VudGl0aWVzJyB8ICdub25lJyxcbiAgICBvcHRpb25zOiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPiA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEuYXBwbHkob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVByb3BlcnR5PFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdub25lJyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhQWN0aW9uT3B0aW9uczxSPiA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEuYXBwbHkob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFM+PjtcbiAgcHJvdGVjdGVkIGZldGNoTmF2aWdhdGlvblByb3BlcnR5PFM+KFxuICAgIHJlc291cmNlOiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFM+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFM+PjtcbiAgcHJvdGVjdGVkIGZldGNoTmF2aWdhdGlvblByb3BlcnR5PFM+KFxuICAgIHJlc291cmNlOiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFM+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0eScgfCAnZW50aXRpZXMnLFxuICAgIG9wdGlvbnM6IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5hcHBseShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmZldGNoKHsgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LCAuLi5vcHRpb25zIH0pO1xuICB9XG59XG4iXX0=
@@ -25,9 +25,9 @@ export class ODataServiceFactory {
25
25
  })(this.client, singletonName, apiNameOrEntityType);
26
26
  }
27
27
  }
28
- ODataServiceFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ODataServiceFactory, deps: [{ token: i1.ODataClient }], target: i0.ɵɵFactoryTarget.Injectable });
29
- ODataServiceFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ODataServiceFactory });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ODataServiceFactory, decorators: [{
28
+ ODataServiceFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataServiceFactory, deps: [{ token: i1.ODataClient }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ ODataServiceFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataServiceFactory });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataServiceFactory, decorators: [{
31
31
  type: Injectable
32
32
  }], ctorParameters: function () { return [{ type: i1.ODataClient }]; } });
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBR3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBc0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFHLENBQUM7SUFFN0M7Ozs7T0FJRztJQUNILFNBQVMsQ0FDUCxhQUFxQixFQUNyQixtQkFBNEI7UUFFNUIsT0FBTyxJQUFJLENBQUMsS0FBTSxTQUFRLHFCQUF3QjtTQUFHLENBQUMsQ0FDcEQsSUFBSSxDQUFDLE1BQU0sRUFDWCxhQUFhLEVBQ2IsbUJBQW1CLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUNQLGFBQXFCLEVBQ3JCLG1CQUE0QjtRQUU1QixPQUFPLElBQUksQ0FBQyxLQUFNLFNBQVEscUJBQXdCO1NBQUcsQ0FBQyxDQUNwRCxJQUFJLENBQUMsTUFBTSxFQUNYLGFBQWEsRUFDYixtQkFBbUIsQ0FDcEIsQ0FBQztJQUNKLENBQUM7O2dIQWhDVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT0RhdGFDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlIH0gZnJvbSAnLi9lbnRpdHktc2V0JztcbmltcG9ydCB7IE9EYXRhU2luZ2xldG9uU2VydmljZSB9IGZyb20gJy4vc2luZ2xldG9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9EYXRhU2VydmljZUZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCkge31cblxuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGFuIGVudGl0eSBzZXQgc2VydmljZS5cbiAgICogQHBhcmFtIGVudGl0eVNldE5hbWUgTmFtZSBvZiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGFwaU5hbWVPckVudGl0eVR5cGUgTmFtZSBvZiB0aGUgQVBJIG9yIHRoZSB0eXBlIG9mIHRoZSBlbnRpdHkuXG4gICAqL1xuICBlbnRpdHlTZXQ8VD4oXG4gICAgZW50aXR5U2V0TmFtZTogc3RyaW5nLFxuICAgIGFwaU5hbWVPckVudGl0eVR5cGU/OiBzdHJpbmdcbiAgKTogT0RhdGFFbnRpdHlTZXRTZXJ2aWNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IChjbGFzcyBleHRlbmRzIE9EYXRhRW50aXR5U2V0U2VydmljZTxUPiB7fSkoXG4gICAgICB0aGlzLmNsaWVudCxcbiAgICAgIGVudGl0eVNldE5hbWUsXG4gICAgICBhcGlOYW1lT3JFbnRpdHlUeXBlXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBzaW5nbGV0b24gc2VydmljZS5cbiAgICogQHBhcmFtIHNpbmdsZXRvbk5hbWUgTmFtZSBvZiB0aGUgc2luZ2xldG9uLlxuICAgKiBAcGFyYW0gYXBpTmFtZU9yRW50aXR5VHlwZSBOYW1lIG9mIHRoZSBBUEkgb3IgdGhlIHR5cGUgb2YgdGhlIGVudGl0eS5cbiAgICovXG4gIHNpbmdsZXRvbjxUPihcbiAgICBzaW5nbGV0b25OYW1lOiBzdHJpbmcsXG4gICAgYXBpTmFtZU9yRW50aXR5VHlwZT86IHN0cmluZ1xuICApOiBPRGF0YVNpbmdsZXRvblNlcnZpY2U8VD4ge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgT0RhdGFTaW5nbGV0b25TZXJ2aWNlPFQ+IHt9KShcbiAgICAgIHRoaXMuY2xpZW50LFxuICAgICAgc2luZ2xldG9uTmFtZSxcbiAgICAgIGFwaU5hbWVPckVudGl0eVR5cGVcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -35,4 +35,4 @@ export const NONE_PARSER = {
35
35
  encode: (value) => value,
36
36
  };
37
37
  //#endregion
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxDQUFOLElBQVksZ0JBYVg7QUFiRCxXQUFZLGdCQUFnQjtJQUMxQixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtJQUNiLHlDQUFxQixDQUFBO0lBQ3JCLDZEQUF5QyxDQUFBO0lBQ3pDLDJDQUF1QixDQUFBO0lBQ3ZCLG1DQUFlLENBQUE7SUFDZixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIscUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFhM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFjWDtBQWRELFdBQVksZ0JBQWdCO0lBQzFCLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHVDQUFtQixDQUFBO0lBQ25CLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0lBQ2IsMkNBQXVCLENBQUE7SUFDdkIscUNBQWlCLENBQUE7SUFDakIscUNBQWlCLENBQUE7SUFDakIsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBZFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQWMzQjtBQW9FRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsV0FBVyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0lBQ2xDLFNBQVMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSztJQUNoQyxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUs7Q0FDZixDQUFDO0FBd0dqQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFWZXJzaW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBPRGF0YVZlcnNpb24gPSAnMi4wJyB8ICczLjAnIHwgJzQuMCc7XG5leHBvcnQgdHlwZSBGZXRjaFBvbGljeSA9XG4gIHwgJ2NhY2hlLWZpcnN0J1xuICB8ICdjYWNoZS1hbmQtbmV0d29yaydcbiAgfCAnbmV0d29yay1vbmx5J1xuICB8ICduby1jYWNoZSdcbiAgfCAnY2FjaGUtb25seSc7XG5leHBvcnQgdHlwZSBPRGF0YU1ldGFkYXRhVHlwZSA9ICdtaW5pbWFsJyB8ICdmdWxsJyB8ICdub25lJztcbmV4cG9ydCB0eXBlIENhY2hlQ2FjaGVhYmlsaXR5ID0gJ3B1YmxpYycgfCAncHJpdmF0ZScgfCAnbm8tY2FjaGUnIHwgJ25vLXN0b3JlJztcblxuZXhwb3J0IGVudW0gUGF0aFNlZ21lbnROYW1lcyB7XG4gIGJhdGNoID0gJ2JhdGNoJyxcbiAgbWV0YWRhdGEgPSAnbWV0YWRhdGEnLFxuICBlbnRpdHlTZXQgPSAnZW50aXR5U2V0JyxcbiAgc2luZ2xldG9uID0gJ3NpbmdsZXRvbicsXG4gIHR5cGUgPSAndHlwZScsXG4gIHByb3BlcnR5ID0gJ3Byb3BlcnR5JyxcbiAgbmF2aWdhdGlvblByb3BlcnR5ID0gJ25hdmlnYXRpb25Qcm9wZXJ0eScsXG4gIHJlZmVyZW5jZSA9ICdyZWZlcmVuY2UnLFxuICB2YWx1ZSA9ICd2YWx1ZScsXG4gIGNvdW50ID0gJ2NvdW50JyxcbiAgZnVuY3Rpb24gPSAnZnVuY3Rpb24nLFxuICBhY3Rpb24gPSAnYWN0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gUXVlcnlPcHRpb25OYW1lcyB7XG4gIHNlbGVjdCA9ICdzZWxlY3QnLFxuICBleHBhbmQgPSAnZXhwYW5kJyxcbiAgY29tcHV0ZSA9ICdjb21wdXRlJyxcbiAgZmlsdGVyID0gJ2ZpbHRlcicsXG4gIHNlYXJjaCA9ICdzZWFyY2gnLFxuICB0cmFuc2Zvcm0gPSAndHJhbnNmb3JtJyxcbiAgb3JkZXJCeSA9ICdvcmRlckJ5JyxcbiAgdG9wID0gJ3RvcCcsXG4gIHNraXAgPSAnc2tpcCcsXG4gIHNraXB0b2tlbiA9ICdza2lwdG9rZW4nLFxuICBmb3JtYXQgPSAnZm9ybWF0JyxcbiAgbGV2ZWxzID0gJ2xldmVscycsXG4gIGNvdW50ID0gJ2NvdW50Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlPcHRpb25zIHtcbiAgdmVyc2lvbj86IE9EYXRhVmVyc2lvbjtcbiAgcGFyYW1zPzogeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG4gIGhlYWRlcnM/OiB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgLy9IZWFkZXJzXG4gIGFjY2VwdD86IHtcbiAgICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgICBtZXRhZGF0YT86IE9EYXRhTWV0YWRhdGFUeXBlO1xuICAgIGllZWU3NTRDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgICBzdHJlYW1pbmc/OiBib29sZWFuO1xuICB9O1xuICBldGFnPzoge1xuICAgIGlmTWF0Y2g/OiBib29sZWFuO1xuICAgIGlmTm9uZU1hdGNoPzogYm9vbGVhbjtcbiAgfTtcbiAgcHJlZmVyPzoge1xuICAgIG1heFBhZ2VTaXplPzogbnVtYmVyO1xuICAgIHJldHVybj86ICdyZXByZXNlbnRhdGlvbicgfCAnbWluaW1hbCc7XG4gICAgY29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlQW5ub3RhdGlvbnM/OiBzdHJpbmc7XG4gIH07XG4gIHN0cmlwTWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgc3RyaW5nQXNFbnVtPzogYm9vbGVhbjtcbiAgLy9odHRwczovL2dpdGh1Yi5jb20vT0RhdGEvV2ViQXBpL2lzc3Vlcy8xOTc0XG4gIC8vaHR0cHM6Ly9naXRodWIuY29tL09EYXRhL1dlYkFwaS9pc3N1ZXMvMTY0N1xuICBkZWxldGVSZWZCeT86ICdwYXRoJyB8ICdpZCc7XG4gIC8vaHR0cHM6Ly9naXRodWIuY29tL09EYXRhL0FzcE5ldENvcmVPRGF0YS9pc3N1ZXMvMTcxXG4gIG5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0hlbHBlciB7XG4gIHZlcnNpb24/OiBPRGF0YVZlcnNpb247XG4gIGhlbHBlcjogT0RhdGFWZXJzaW9uSGVscGVyO1xuICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgbWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgaWVlZTc1NENvbXBhdGlibGU/OiBib29sZWFuO1xuICBzdHJlYW1pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlT3B0aW9ucyBleHRlbmRzIE9wdGlvbnNIZWxwZXIge1xuICBjYWNoZWFiaWxpdHk/OiBDYWNoZUNhY2hlYWJpbGl0eTtcbiAgbWF4QWdlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zIGV4dGVuZHMgT3B0aW9uc0hlbHBlciB7XG4gIGZpZWxkOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlcjxUPiB7XG4gIC8vIERlc2VyaWFsaXplIHZhbHVlL3MgZnJvbSByZXF1ZXN0IGJvZHkuXG4gIGRlc2VyaWFsaXplKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9ucz86IE9wdGlvbnNIZWxwZXIgfCBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9uc1xuICApOiBUO1xuICAvLyBTZXJpYWxpemUgdmFsdWUvcyBmb3IgcmVxdWVzdCBib2R5LlxuICBzZXJpYWxpemUoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zPzogT3B0aW9uc0hlbHBlciB8IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zXG4gICk6IGFueTtcbiAgLy9FbmNvZGUgdmFsdWUvcyBmb3IgVVJMIHBhcmFtZXRlciBvciBxdWVyeS1zdHJpbmcuXG4gIGVuY29kZSh2YWx1ZTogYW55LCBvcHRpb25zPzogT3B0aW9uc0hlbHBlciB8IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKTogYW55O1xufVxuXG5leHBvcnQgY29uc3QgTk9ORV9QQVJTRVIgPSB7XG4gIGRlc2VyaWFsaXplOiAodmFsdWU6IGFueSkgPT4gdmFsdWUsXG4gIHNlcmlhbGl6ZTogKHZhbHVlOiBhbnkpID0+IHZhbHVlLFxuICBlbmNvZGU6ICh2YWx1ZTogYW55KSA9PiB2YWx1ZSxcbn0gYXMgUGFyc2VyPGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGUge1xuICBwdXQ8VD4oa2V5OiBzdHJpbmcsIHBheWxvYWQ6IFQsIC4uLm9wdHM6IGFueVtdKTogdm9pZDtcbiAgZ2V0PFQ+KGtleTogc3RyaW5nLCAuLi5vcHRzOiBhbnlbXSk6IFQgfCB1bmRlZmluZWQ7XG59XG5cbi8vI3JlZ2lvbiBDb25maWdzXG5leHBvcnQgdHlwZSBBcGlDb25maWcgPSB7XG4gIHNlcnZpY2VSb290VXJsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBPRGF0YVZlcnNpb247XG4gIGRlZmF1bHQ/OiBib29sZWFuO1xuICBjcmVhdGlvbj86IERhdGU7XG4gIGNhY2hlPzogQ2FjaGU7XG4gIGVycm9ySGFuZGxlcj86IChlcnJvcjogYW55LCBjYXVnaHQ6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZTxuZXZlcj47XG4gIG9wdGlvbnM/OiBBcGlPcHRpb25zO1xuICBwYXJzZXJzPzogeyBbdHlwZTogc3RyaW5nXTogUGFyc2VyPGFueT4gfTtcbiAgc2NoZW1hcz86IFNjaGVtYUNvbmZpZ1tdO1xufTtcbmV4cG9ydCB0eXBlIEFubm90YXRpb25Db25maWcgPSB7XG4gIHRlcm06IHN0cmluZztcbiAgc3RyaW5nPzogc3RyaW5nO1xuICBib29sPzogYm9vbGVhbjtcbiAgaW50PzogbnVtYmVyO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICBwcm9wZXJ0aWVzPzogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgU2NoZW1hQ29uZmlnID0ge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBlbnVtcz86IEVudW1UeXBlQ29uZmlnPGFueT5bXTtcbiAgZW50aXRpZXM/OiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZzxhbnk+W107XG4gIGNhbGxhYmxlcz86IENhbGxhYmxlQ29uZmlnW107XG4gIGNvbnRhaW5lcnM/OiBFbnRpdHlDb250YWluZXJDb25maWdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEVudGl0eUNvbnRhaW5lckNvbmZpZyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAgZW50aXR5U2V0cz86IEVudGl0eVNldENvbmZpZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRW51bVR5cGVGaWVsZENvbmZpZyA9IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG59O1xuXG5leHBvcnQgdHlwZSBFbnVtVHlwZUNvbmZpZzxUPiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBmbGFncz86IGJvb2xlYW47XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBudW1iZXIgfSB8IHsgW3ZhbHVlOiBudW1iZXJdOiBzdHJpbmcgfTtcbiAgZmllbGRzOiB7IFttZW1iZXI6IHN0cmluZ106IEVudW1UeXBlRmllbGRDb25maWcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWcgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGVmYXVsdD86IGFueTtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBrZXk/OiBib29sZWFuO1xuICBjb2xsZWN0aW9uPzogYm9vbGVhbjtcbiAgbnVsbGFibGU/OiBib29sZWFuO1xuICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIHJlZmVyZW50aWFscz86IHsgcHJvcGVydHk6IHN0cmluZzsgcmVmZXJlbmNlZFByb3BlcnR5OiBzdHJpbmcgfVtdO1xuICByZWZlcmVudGlhbD86IHN0cmluZztcbiAgcmVmZXJlbmNlZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFN0cnVjdHVyZWRUeXBlQ29uZmlnPFQ+ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGJhc2U/OiBzdHJpbmc7XG4gIG9wZW4/OiBib29sZWFuO1xuICBtb2RlbD86IHsgbmV3ICguLi5wYXJhbXM6IGFueVtdKTogYW55IH07XG4gIGNvbGxlY3Rpb24/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IGFueSB9O1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAga2V5cz86IHsgbmFtZTogc3RyaW5nOyBhbGlhcz86IHN0cmluZyB9W107XG4gIGZpZWxkczogeyBbUCBpbiBrZXlvZiBUXT86IFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmFtZXRlciA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG4gIGNvbGxlY3Rpb24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FsbGFibGVDb25maWcgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5U2V0UGF0aD86IHN0cmluZztcbiAgYm91bmQ/OiBib29sZWFuO1xuICBjb21wb3NhYmxlPzogYm9vbGVhbjtcbiAgcGFyYW1ldGVycz86IHsgW25hbWU6IHN0cmluZ106IFBhcmFtZXRlciB9O1xuICByZXR1cm4/OiB7IHR5cGU6IHN0cmluZzsgY29sbGVjdGlvbj86IGJvb2xlYW4gfTtcbn07XG5leHBvcnQgdHlwZSBFbnRpdHlTZXRDb25maWcgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5VHlwZTogc3RyaW5nO1xuICBzZXJ2aWNlOiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IGFueSB9O1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbn07XG4vLyNlbmRyZWdpb25cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsTUFBTSxDQUFOLElBQVksZ0JBYVg7QUFiRCxXQUFZLGdCQUFnQjtJQUMxQixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtJQUNiLHlDQUFxQixDQUFBO0lBQ3JCLDZEQUF5QyxDQUFBO0lBQ3pDLDJDQUF1QixDQUFBO0lBQ3ZCLG1DQUFlLENBQUE7SUFDZixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIscUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFhM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFjWDtBQWRELFdBQVksZ0JBQWdCO0lBQzFCLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHVDQUFtQixDQUFBO0lBQ25CLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0lBQ2IsMkNBQXVCLENBQUE7SUFDdkIscUNBQWlCLENBQUE7SUFDakIscUNBQWlCLENBQUE7SUFDakIsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBZFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQWMzQjtBQW1FRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsV0FBVyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0lBQ2xDLFNBQVMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSztJQUNoQyxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUs7Q0FDZixDQUFDO0FBd0dqQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBPRGF0YVZlcnNpb24gPSAnMi4wJyB8ICczLjAnIHwgJzQuMCc7XG5leHBvcnQgdHlwZSBGZXRjaFBvbGljeSA9XG4gIHwgJ2NhY2hlLWZpcnN0J1xuICB8ICdjYWNoZS1hbmQtbmV0d29yaydcbiAgfCAnbmV0d29yay1vbmx5J1xuICB8ICduby1jYWNoZSdcbiAgfCAnY2FjaGUtb25seSc7XG5leHBvcnQgdHlwZSBPRGF0YU1ldGFkYXRhVHlwZSA9ICdtaW5pbWFsJyB8ICdmdWxsJyB8ICdub25lJztcbmV4cG9ydCB0eXBlIENhY2hlQ2FjaGVhYmlsaXR5ID0gJ3B1YmxpYycgfCAncHJpdmF0ZScgfCAnbm8tY2FjaGUnIHwgJ25vLXN0b3JlJztcblxuZXhwb3J0IGVudW0gUGF0aFNlZ21lbnROYW1lcyB7XG4gIGJhdGNoID0gJ2JhdGNoJyxcbiAgbWV0YWRhdGEgPSAnbWV0YWRhdGEnLFxuICBlbnRpdHlTZXQgPSAnZW50aXR5U2V0JyxcbiAgc2luZ2xldG9uID0gJ3NpbmdsZXRvbicsXG4gIHR5cGUgPSAndHlwZScsXG4gIHByb3BlcnR5ID0gJ3Byb3BlcnR5JyxcbiAgbmF2aWdhdGlvblByb3BlcnR5ID0gJ25hdmlnYXRpb25Qcm9wZXJ0eScsXG4gIHJlZmVyZW5jZSA9ICdyZWZlcmVuY2UnLFxuICB2YWx1ZSA9ICd2YWx1ZScsXG4gIGNvdW50ID0gJ2NvdW50JyxcbiAgZnVuY3Rpb24gPSAnZnVuY3Rpb24nLFxuICBhY3Rpb24gPSAnYWN0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gUXVlcnlPcHRpb25OYW1lcyB7XG4gIHNlbGVjdCA9ICdzZWxlY3QnLFxuICBleHBhbmQgPSAnZXhwYW5kJyxcbiAgY29tcHV0ZSA9ICdjb21wdXRlJyxcbiAgZmlsdGVyID0gJ2ZpbHRlcicsXG4gIHNlYXJjaCA9ICdzZWFyY2gnLFxuICB0cmFuc2Zvcm0gPSAndHJhbnNmb3JtJyxcbiAgb3JkZXJCeSA9ICdvcmRlckJ5JyxcbiAgdG9wID0gJ3RvcCcsXG4gIHNraXAgPSAnc2tpcCcsXG4gIHNraXB0b2tlbiA9ICdza2lwdG9rZW4nLFxuICBmb3JtYXQgPSAnZm9ybWF0JyxcbiAgbGV2ZWxzID0gJ2xldmVscycsXG4gIGNvdW50ID0gJ2NvdW50Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlPcHRpb25zIHtcbiAgdmVyc2lvbj86IE9EYXRhVmVyc2lvbjtcbiAgcGFyYW1zPzogeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG4gIGhlYWRlcnM/OiB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgLy9IZWFkZXJzXG4gIGFjY2VwdD86IHtcbiAgICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgICBtZXRhZGF0YT86IE9EYXRhTWV0YWRhdGFUeXBlO1xuICAgIGllZWU3NTRDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgICBzdHJlYW1pbmc/OiBib29sZWFuO1xuICB9O1xuICBldGFnPzoge1xuICAgIGlmTWF0Y2g/OiBib29sZWFuO1xuICAgIGlmTm9uZU1hdGNoPzogYm9vbGVhbjtcbiAgfTtcbiAgcHJlZmVyPzoge1xuICAgIG1heFBhZ2VTaXplPzogbnVtYmVyO1xuICAgIHJldHVybj86ICdyZXByZXNlbnRhdGlvbicgfCAnbWluaW1hbCc7XG4gICAgY29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlQW5ub3RhdGlvbnM/OiBzdHJpbmc7XG4gIH07XG4gIHN0cmlwTWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgc3RyaW5nQXNFbnVtPzogYm9vbGVhbjtcbiAgLy9odHRwczovL2dpdGh1Yi5jb20vT0RhdGEvV2ViQXBpL2lzc3Vlcy8xOTc0XG4gIC8vaHR0cHM6Ly9naXRodWIuY29tL09EYXRhL1dlYkFwaS9pc3N1ZXMvMTY0N1xuICBkZWxldGVSZWZCeT86ICdwYXRoJyB8ICdpZCc7XG4gIC8vaHR0cHM6Ly9naXRodWIuY29tL09EYXRhL0FzcE5ldENvcmVPRGF0YS9pc3N1ZXMvMTcxXG4gIG5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VyT3B0aW9ucyB7XG4gIHZlcnNpb24/OiBPRGF0YVZlcnNpb247XG4gIGV4cG9uZW50aWFsRGVjaW1hbHM/OiBib29sZWFuO1xuICBtZXRhZGF0YT86IE9EYXRhTWV0YWRhdGFUeXBlO1xuICBpZWVlNzU0Q29tcGF0aWJsZT86IGJvb2xlYW47XG4gIHN0cmVhbWluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VPcHRpb25zIGV4dGVuZHMgUGFyc2VyT3B0aW9ucyB7XG4gIGNhY2hlYWJpbGl0eT86IENhY2hlQ2FjaGVhYmlsaXR5O1xuICBtYXhBZ2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMgZXh0ZW5kcyBQYXJzZXJPcHRpb25zIHtcbiAgZmllbGQ6IFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VyPFQ+IHtcbiAgLy8gRGVzZXJpYWxpemUgdmFsdWUvcyBmcm9tIHJlcXVlc3QgYm9keS5cbiAgZGVzZXJpYWxpemUoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyB8IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zXG4gICk6IFQ7XG4gIC8vIFNlcmlhbGl6ZSB2YWx1ZS9zIGZvciByZXF1ZXN0IGJvZHkuXG4gIHNlcmlhbGl6ZShcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zIHwgU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnNcbiAgKTogYW55O1xuICAvL0VuY29kZSB2YWx1ZS9zIGZvciBVUkwgcGFyYW1ldGVyIG9yIHF1ZXJ5LXN0cmluZy5cbiAgZW5jb2RlKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zIHwgU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBOT05FX1BBUlNFUiA9IHtcbiAgZGVzZXJpYWxpemU6ICh2YWx1ZTogYW55KSA9PiB2YWx1ZSxcbiAgc2VyaWFsaXplOiAodmFsdWU6IGFueSkgPT4gdmFsdWUsXG4gIGVuY29kZTogKHZhbHVlOiBhbnkpID0+IHZhbHVlLFxufSBhcyBQYXJzZXI8YW55PjtcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZSB7XG4gIHB1dDxUPihrZXk6IHN0cmluZywgcGF5bG9hZDogVCwgLi4ub3B0czogYW55W10pOiB2b2lkO1xuICBnZXQ8VD4oa2V5OiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKTogVCB8IHVuZGVmaW5lZDtcbn1cblxuLy8jcmVnaW9uIENvbmZpZ3NcbmV4cG9ydCB0eXBlIEFwaUNvbmZpZyA9IHtcbiAgc2VydmljZVJvb3RVcmw6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IE9EYXRhVmVyc2lvbjtcbiAgZGVmYXVsdD86IGJvb2xlYW47XG4gIGNyZWF0aW9uPzogRGF0ZTtcbiAgY2FjaGU/OiBDYWNoZTtcbiAgZXJyb3JIYW5kbGVyPzogKGVycm9yOiBhbnksIGNhdWdodDogT2JzZXJ2YWJsZTxhbnk+KSA9PiBPYnNlcnZhYmxlPG5ldmVyPjtcbiAgb3B0aW9ucz86IEFwaU9wdGlvbnM7XG4gIHBhcnNlcnM/OiB7IFt0eXBlOiBzdHJpbmddOiBQYXJzZXI8YW55PiB9O1xuICBzY2hlbWFzPzogU2NoZW1hQ29uZmlnW107XG59O1xuZXhwb3J0IHR5cGUgQW5ub3RhdGlvbkNvbmZpZyA9IHtcbiAgdGVybTogc3RyaW5nO1xuICBzdHJpbmc/OiBzdHJpbmc7XG4gIGJvb2w/OiBib29sZWFuO1xuICBpbnQ/OiBudW1iZXI7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIHByb3BlcnRpZXM/OiBzdHJpbmdbXTtcbn07XG5leHBvcnQgdHlwZSBTY2hlbWFDb25maWcgPSB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG4gIGVudW1zPzogRW51bVR5cGVDb25maWc8YW55PltdO1xuICBlbnRpdGllcz86IFN0cnVjdHVyZWRUeXBlQ29uZmlnPGFueT5bXTtcbiAgY2FsbGFibGVzPzogQ2FsbGFibGVDb25maWdbXTtcbiAgY29udGFpbmVycz86IEVudGl0eUNvbnRhaW5lckNvbmZpZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRW50aXR5Q29udGFpbmVyQ29uZmlnID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBlbnRpdHlTZXRzPzogRW50aXR5U2V0Q29uZmlnW107XG59O1xuXG5leHBvcnQgdHlwZSBFbnVtVHlwZUZpZWxkQ29uZmlnPEU+ID0ge1xuICB2YWx1ZTogRTtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG59O1xuXG5leHBvcnQgdHlwZSBFbnVtVHlwZUNvbmZpZzxFPiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBmbGFncz86IGJvb2xlYW47XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBFIH0gfCB7IFt2YWx1ZTogbnVtYmVyXTogc3RyaW5nIH07XG4gIGZpZWxkczogeyBbbWVtYmVyOiBzdHJpbmddOiBFbnVtVHlwZUZpZWxkQ29uZmlnPEU+IH07XG59O1xuXG5leHBvcnQgdHlwZSBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBhbnk7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAga2V5PzogYm9vbGVhbjtcbiAgY29sbGVjdGlvbj86IGJvb2xlYW47XG4gIG51bGxhYmxlPzogYm9vbGVhbjtcbiAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIHByZWNpc2lvbj86IG51bWJlcjtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG4gIHNjYWxlPzogbnVtYmVyO1xuICByZWZlcmVudGlhbHM/OiB7IHByb3BlcnR5OiBzdHJpbmc7IHJlZmVyZW5jZWRQcm9wZXJ0eTogc3RyaW5nIH1bXTtcbiAgcmVmZXJlbnRpYWw/OiBzdHJpbmc7XG4gIHJlZmVyZW5jZWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTdHJ1Y3R1cmVkVHlwZUNvbmZpZzxUPiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBiYXNlPzogc3RyaW5nO1xuICBvcGVuPzogYm9vbGVhbjtcbiAgbW9kZWw/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IGFueSB9O1xuICBjb2xsZWN0aW9uPzogeyBuZXcgKC4uLnBhcmFtczogYW55W10pOiBhbnkgfTtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG4gIGtleXM/OiB7IG5hbWU6IHN0cmluZzsgYWxpYXM/OiBzdHJpbmcgfVtdO1xuICBmaWVsZHM6IHsgW1AgaW4ga2V5b2YgVF0/OiBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnIH07XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbWV0ZXIgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgbnVsbGFibGU/OiBib29sZWFuO1xuICBjb2xsZWN0aW9uPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIENhbGxhYmxlQ29uZmlnID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGVudGl0eVNldFBhdGg/OiBzdHJpbmc7XG4gIGJvdW5kPzogYm9vbGVhbjtcbiAgY29tcG9zYWJsZT86IGJvb2xlYW47XG4gIHBhcmFtZXRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBQYXJhbWV0ZXIgfTtcbiAgcmV0dXJuPzogeyB0eXBlOiBzdHJpbmc7IGNvbGxlY3Rpb24/OiBib29sZWFuIH07XG59O1xuZXhwb3J0IHR5cGUgRW50aXR5U2V0Q29uZmlnID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGVudGl0eVR5cGU6IHN0cmluZztcbiAgc2VydmljZTogeyBuZXcgKC4uLnBhcmFtczogYW55W10pOiBhbnkgfTtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG59O1xuLy8jZW5kcmVnaW9uXG4iXX0=
@@ -0,0 +1,10 @@
1
+ export const Arrays = {
2
+ // Zip arrays
3
+ // Example
4
+ // Arrays.zip([1, 2, 3, 4, 5, 6], ['a', 'b', 'c', 'd', 'e', 'f'])
5
+ // => [[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd'], [5, 'e'], [6, 'f']]
6
+ zip: (...arrays) => {
7
+ return arrays[0].map((_, i) => arrays.map((array) => array[i]));
8
+ },
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3V0aWxzL2FycmF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsYUFBYTtJQUNiLFVBQVU7SUFDVixtRUFBbUU7SUFDbkUsb0VBQW9FO0lBQ3BFLEdBQUcsRUFBRSxDQUFDLEdBQUcsTUFBZSxFQUFFLEVBQUU7UUFDMUIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQVMsRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQXJyYXlzID0ge1xuICAvLyBaaXAgYXJyYXlzXG4gIC8vIEV4YW1wbGVcbiAgLy8gICBBcnJheXMuemlwKFsxLCAyLCAzLCA0LCA1LCA2XSwgWydhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZiddKVxuICAvLyAgID0+IFtbMSwgJ2EnXSwgWzIsICdiJ10sIFszLCAnYyddLCBbNCwgJ2QnXSwgWzUsICdlJ10sIFs2LCAnZiddXVxuICB6aXA6ICguLi5hcnJheXM6IGFueVtdW10pID0+IHtcbiAgICByZXR1cm4gYXJyYXlzWzBdLm1hcCgoXzogYW55LCBpOiBudW1iZXIpID0+XG4gICAgICBhcnJheXMubWFwKChhcnJheTogYW55W10pID0+IGFycmF5W2ldKVxuICAgICk7XG4gIH0sXG59O1xuIl19
@@ -8,7 +8,7 @@ export const Enums = {
8
8
  toValue(Enum, value) {
9
9
  if (value in Enum)
10
10
  return typeof value === 'string' ? Enum[value] : value;
11
- return NaN;
11
+ return undefined;
12
12
  },
13
13
  toValues(Enum, value) {
14
14
  if (typeof value === 'number') {
@@ -25,7 +25,7 @@ export const Enums = {
25
25
  toName(Enum, value) {
26
26
  if (value in Enum)
27
27
  return typeof value === 'number' ? Enum[value] : value;
28
- return '';
28
+ return undefined;
29
29
  },
30
30
  toNames(Enum, value) {
31
31
  if (typeof value === 'number') {
@@ -42,4 +42,4 @@ export const Enums = {
42
42
  return [];
43
43
  },
44
44
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdXRpbHMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLEtBQUssQ0FBSSxJQUFPO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBSSxJQUFPO1FBQ2YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE9BQU8sQ0FBSSxJQUFPLEVBQUUsS0FBVTtRQUM1QixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQ2YsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFFBQVEsQ0FBSSxJQUFPLEVBQUUsS0FBVTtRQUM3QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ3pELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoRDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBSSxJQUFPLEVBQUUsS0FBVTtRQUMzQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQ2YsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBSSxJQUFPLEVBQUUsS0FBVTtRQUM1QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2lCQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDekQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQVcsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBFbnVtcyA9IHtcbiAgbmFtZXM8RT4oRW51bTogRSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhFbnVtKS5maWx0ZXIoKHYpID0+IHR5cGVvZiB2ID09PSAnc3RyaW5nJyk7XG4gIH0sXG5cbiAgdmFsdWVzPEU+KEVudW06IEUpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoRW51bSkuZmlsdGVyKCh2KSA9PiB0eXBlb2YgdiA9PT0gJ251bWJlcicpO1xuICB9LFxuXG4gIHRvVmFsdWU8RT4oRW51bTogRSwgdmFsdWU6IGFueSk6IG51bWJlciB7XG4gICAgaWYgKHZhbHVlIGluIEVudW0pXG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IChFbnVtIGFzIGFueSlbdmFsdWVdIDogdmFsdWU7XG4gICAgcmV0dXJuIE5hTjtcbiAgfSxcblxuICB0b1ZhbHVlczxFPihFbnVtOiBFLCB2YWx1ZTogYW55KTogbnVtYmVyW10ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMoRW51bSkuZmlsdGVyKCh2KSA9PiAodmFsdWUgJiB2KSA9PT0gdik7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KCcsJykubWFwKChvKSA9PiBvLnRyaW0oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5ldmVyeSgodikgPT4gdiBpbiBFbnVtKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgobykgPT4gdGhpcy50b1ZhbHVlKEVudW0sIG8pKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9LFxuXG4gIHRvTmFtZTxFPihFbnVtOiBFLCB2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgaW4gRW51bSlcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gKEVudW0gYXMgYW55KVt2YWx1ZV0gOiB2YWx1ZTtcbiAgICByZXR1cm4gJyc7XG4gIH0sXG5cbiAgdG9OYW1lczxFPihFbnVtOiBFLCB2YWx1ZTogYW55KTogc3RyaW5nW10ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMoRW51bSlcbiAgICAgICAgLmZpbHRlcigodikgPT4gKHZhbHVlICYgdikgPT09IHYpXG4gICAgICAgIC5tYXAoKHYpID0+IHRoaXMudG9OYW1lKEVudW0sIHYpKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoJywnKS5tYXAoKG8pID0+IG8udHJpbSgpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KCh2KSA9PiB2IGluIEVudW0pKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChvKSA9PiB0aGlzLnRvTmFtZShFbnVtLCBvKSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH0sXG59O1xuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdXRpbHMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLEtBQUssQ0FBSSxJQUFPO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBSSxJQUFPO1FBQ2YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE9BQU8sQ0FBSSxJQUFPLEVBQUUsS0FBVTtRQUM1QixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQ2YsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUksSUFBTyxFQUFFLEtBQVU7UUFDN0IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUN6RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBVyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUksSUFBTyxFQUFFLEtBQVU7UUFDM0IsSUFBSSxLQUFLLElBQUksSUFBSTtZQUNmLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBRSxJQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxDQUFJLElBQU8sRUFBRSxLQUFVO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7aUJBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUN6RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBVyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVudW1zID0ge1xuICBuYW1lczxFPihFbnVtOiBFKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEVudW0pLmZpbHRlcigodikgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnKTtcbiAgfSxcblxuICB2YWx1ZXM8RT4oRW51bTogRSk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhFbnVtKS5maWx0ZXIoKHYpID0+IHR5cGVvZiB2ID09PSAnbnVtYmVyJyk7XG4gIH0sXG5cbiAgdG9WYWx1ZTxFPihFbnVtOiBFLCB2YWx1ZTogYW55KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgaW4gRW51bSlcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gKEVudW0gYXMgYW55KVt2YWx1ZV0gOiB2YWx1ZTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LFxuXG4gIHRvVmFsdWVzPEU+KEVudW06IEUsIHZhbHVlOiBhbnkpOiBudW1iZXJbXSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlcyhFbnVtKS5maWx0ZXIoKHYpID0+ICh2YWx1ZSAmIHYpID09PSB2KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoJywnKS5tYXAoKG8pID0+IG8udHJpbSgpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KCh2KSA9PiB2IGluIEVudW0pKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChvKSA9PiB0aGlzLnRvVmFsdWUoRW51bSwgbykgYXMgbnVtYmVyKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9LFxuXG4gIHRvTmFtZTxFPihFbnVtOiBFLCB2YWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgaW4gRW51bSlcbiAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gKEVudW0gYXMgYW55KVt2YWx1ZV0gOiB2YWx1ZTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LFxuXG4gIHRvTmFtZXM8RT4oRW51bTogRSwgdmFsdWU6IGFueSk6IHN0cmluZ1tdIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWVzKEVudW0pXG4gICAgICAgIC5maWx0ZXIoKHYpID0+ICh2YWx1ZSAmIHYpID09PSB2KVxuICAgICAgICAubWFwKCh2KSA9PiB0aGlzLnRvTmFtZShFbnVtLCB2KSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCgnLCcpLm1hcCgobykgPT4gby50cmltKCkpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUuZXZlcnkoKHYpID0+IHYgaW4gRW51bSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKG8pID0+IHRoaXMudG9OYW1lKEVudW0sIG8pIGFzIHN0cmluZyk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSxcbn07XG4iXX0=
@@ -127,21 +127,26 @@ export const Objects = {
127
127
  return diffs;
128
128
  },
129
129
  resolveKey(key, { single = true } = {}) {
130
- if (['number', 'string'].indexOf(typeof key) !== -1)
130
+ const type = Types.rawType(key);
131
+ if (['number', 'string'].indexOf(type) !== -1)
131
132
  return key;
132
- if (!Types.isPlainObject(key)) {
133
+ if (type !== 'Map' && type !== 'Object') {
133
134
  return undefined;
134
135
  }
135
- const values = Object.values(key);
136
+ const values = type === 'Map' ? Array.from(key.values()) : Object.values(key);
136
137
  if (values.length === 1 && single) {
137
138
  // Single primitive key value
138
139
  key = values[0];
140
+ return !Types.isEmpty(key) ? key : undefined;
139
141
  }
140
142
  else if (values.some((v) => v === undefined)) {
141
143
  // Compose key, needs all values
142
144
  return undefined;
143
145
  }
144
- return !Types.isEmpty(key) ? key : undefined;
146
+ else {
147
+ const obj = type === 'Map' ? Object.fromEntries(key) : key;
148
+ return !Types.isEmpty(obj) ? obj : undefined;
149
+ }
145
150
  },
146
151
  clone(target, map) {
147
152
  if (map === undefined)
@@ -150,7 +155,7 @@ export const Objects = {
150
155
  if (typeof target != 'object' || target == null) {
151
156
  return target;
152
157
  }
153
- if (Types.isObject(target) && 'clone' in target) {
158
+ if ('clone' in target) {
154
159
  // target is a cloneable object
155
160
  return target.clone();
156
161
  }
@@ -196,4 +201,4 @@ export const Objects = {
196
201
  return cloneTarget;
197
202
  },
198
203
  };
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi91dGlscy9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsU0FBUyxPQUFPLENBQUMsS0FBWSxFQUFFLFFBQTZDO0lBQzFFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM1QixPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtRQUN2QixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDdkMseUZBQXlGO1FBQ3pGLE1BQU0sU0FBUyxHQUFHLENBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDOUMsQ0FBQztRQUVYLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVM7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNqRCxPQUFPLEdBQUcsQ0FB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IjpbImltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmZ1bmN0aW9uIGZvckVhY2goYXJyYXk6IGFueVtdLCBpdGVyYXRlZTogKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHZvaWQpIHtcbiAgbGV0IGluZGV4ID0gLTE7XG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4KTtcbiAgfVxuICByZXR1cm4gYXJyYXk7XG59XG5cbmV4cG9ydCBjb25zdCBPYmplY3RzID0ge1xuICBzZXQob2JqOiBPYmplY3QsIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIC8vIENoZWNrIGlmIHBhdGggaXMgc3RyaW5nIG9yIGFycmF5LiBSZWdleCA6IGVuc3VyZSB0aGF0IHdlIGRvIG5vdCBoYXZlICcuJyBhbmQgYnJhY2tldHMuXG4gICAgY29uc3QgcGF0aEFycmF5ID0gKFxuICAgICAgVHlwZXMuaXNBcnJheShwYXRoKSA/IHBhdGggOiBwYXRoLm1hdGNoKC8oW15bLlxcXV0pKy9nKVxuICAgICkgYXMgYW55W107XG5cbiAgICBwYXRoQXJyYXkucmVkdWNlKChhY2MsIGtleSwgaSkgPT4ge1xuICAgICAgaWYgKGFjY1trZXldID09PSB1bmRlZmluZWQpIGFjY1trZXldID0ge307XG4gICAgICBpZiAoaSA9PT0gcGF0aEFycmF5Lmxlbmd0aCAtIDEpIGFjY1trZXldID0gdmFsdWU7XG4gICAgICByZXR1cm4gYWNjW2tleV07XG4gICAgfSwgb2JqKTtcbiAgfSxcblxuICBnZXQob2JqOiBPYmplY3QsIHBhdGg6IHN0cmluZywgZGVmPzogYW55KTogYW55IHtcbiAgICAvLyBDaGVjayBpZiBwYXRoIGlzIHN0cmluZyBvciBhcnJheS4gUmVnZXggOiBlbnN1cmUgdGhhdCB3ZSBkbyBub3QgaGF2ZSAnLicgYW5kIGJyYWNrZXRzLlxuICAgIGNvbnN0IHBhdGhBcnJheSA9IChcbiAgICAgIFR5cGVzLmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5tYXRjaCgvKFteWy5cXF1dKSsvZylcbiAgICApIGFzIGFueVtdO1xuICAgIC8vIEZpbmQgdmFsdWUgaWYgZXhpc3QgcmV0dXJuIG90aGVyd2lzZSByZXR1cm4gdW5kZWZpbmVkIHZhbHVlO1xuICAgIHJldHVybiAoXG4gICAgICBwYXRoQXJyYXkucmVkdWNlKChwcmV2T2JqLCBrZXkpID0+IHByZXZPYmogJiYgcHJldk9ialtrZXldLCBvYmopIHx8IGRlZlxuICAgICk7XG4gIH0sXG5cbiAgdW5zZXQob2JqOiBPYmplY3QsIHBhdGg6IHN0cmluZykge1xuICAgIC8vIENoZWNrIGlmIHBhdGggaXMgc3RyaW5nIG9yIGFycmF5LiBSZWdleCA6IGVuc3VyZSB0aGF0IHdlIGRvIG5vdCBoYXZlICcuJyBhbmQgYnJhY2tldHMuXG4gICAgY29uc3QgcGF0aEFycmF5ID0gKFxuICAgICAgVHlwZXMuaXNBcnJheShwYXRoKSA/IHBhdGggOiBwYXRoLm1hdGNoKC8oW15bLlxcXV0pKy9nKVxuICAgICkgYXMgYW55W107XG5cbiAgICBwYXRoQXJyYXkucmVkdWNlKChhY2MsIGtleSwgaSkgPT4ge1xuICAgICAgaWYgKGkgPT09IHBhdGhBcnJheS5sZW5ndGggLSAxKSBkZWxldGUgYWNjW2tleV07XG4gICAgICByZXR1cm4gYWNjW2tleV07XG4gICAgfSwgb2JqKTtcbiAgfSxcblxuICBoYXMob2JqOiBPYmplY3QsIHBhdGg6IHN0cmluZykge1xuICAgIC8vIENoZWNrIGlmIHBhdGggaXMgc3RyaW5nIG9yIGFycmF5LiBSZWdleCA6IGVuc3VyZSB0aGF0IHdlIGRvIG5vdCBoYXZlICcuJyBhbmQgYnJhY2tldHMuXG4gICAgY29uc3QgcGF0aEFycmF5ID0gKFxuICAgICAgVHlwZXMuaXNBcnJheShwYXRoKSA/IHBhdGggOiBwYXRoLm1hdGNoKC8oW15bLlxcXV0pKy9nKVxuICAgICkgYXMgYW55W107XG5cbiAgICByZXR1cm4gISFwYXRoQXJyYXkucmVkdWNlKChwcmV2T2JqLCBrZXkpID0+IHByZXZPYmogJiYgcHJldk9ialtrZXldLCBvYmopO1xuICB9LFxuXG4gIG1lcmdlKHRhcmdldDogT2JqZWN0LCBzb3VyY2U6IE9iamVjdCkge1xuICAgIGNvbnN0IG1lcmdlID0gKHRhcmdldDogYW55LCBzb3VyY2U6IHsgW2F0dHI6IHN0cmluZ106IGFueSB9KSA9PiB7XG4gICAgICBmb3IgKGxldCBhdHRyIGluIHNvdXJjZSkge1xuICAgICAgICBsZXQgdmFsdWUgPSBzb3VyY2VbYXR0cl07XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiBUeXBlcy5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJiBhdHRyIGluIHRhcmdldCkge1xuICAgICAgICAgIG1lcmdlKHRhcmdldFthdHRyXSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhcmdldFthdHRyXSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICB0YXJnZXRbYXR0cl0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgbWVyZ2UodGFyZ2V0LCBzb3VyY2UpO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH0sXG5cbiAgZXF1YWwob2JqZWN0MTogeyBbYXR0cjogc3RyaW5nXTogYW55IH0sIG9iamVjdDI6IHsgW2F0dHI6IHN0cmluZ106IGFueSB9KSB7XG4gICAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhvYmplY3QxKTtcbiAgICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKG9iamVjdDIpO1xuXG4gICAgaWYgKGtleXMxLmxlbmd0aCAhPT0ga2V5czIubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICAgIGNvbnN0IHZhbDEgPSBvYmplY3QxW2tleV07XG4gICAgICBjb25zdCB2YWwyID0gb2JqZWN0MltrZXldO1xuICAgICAgY29uc3QgYXJlT2JqZWN0cyA9IFR5cGVzLmlzUGxhaW5PYmplY3QodmFsMSkgJiYgVHlwZXMuaXNQbGFpbk9iamVjdCh2YWwyKTtcbiAgICAgIGlmIChcbiAgICAgICAgKGFyZU9iamVjdHMgJiYgIU9iamVjdHMuZXF1YWwodmFsMSwgdmFsMikpIHx8XG4gICAgICAgICghYXJlT2JqZWN0cyAmJiB2YWwxICE9PSB2YWwyKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH0sXG5cbiAgZGlmZmVyZW5jZShcbiAgICBvYmplY3QxOiB7IFthdHRyOiBzdHJpbmddOiBhbnkgfSxcbiAgICBvYmplY3QyOiB7IFthdHRyOiBzdHJpbmddOiBhbnkgfVxuICApIHtcbiAgICBpZiAoIW9iamVjdDIgfHwgIVR5cGVzLmlzUGxhaW5PYmplY3Qob2JqZWN0MikpIHtcbiAgICAgIHJldHVybiBvYmplY3QxO1xuICAgIH1cbiAgICB2YXIgZGlmZnM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgdmFyIGtleTtcbiAgICB2YXIgYXJyYXlzTWF0Y2ggPSBmdW5jdGlvbiAoYXJyMTogYW55W10sIGFycjI6IGFueVtdKSB7XG4gICAgICBpZiAoYXJyMS5sZW5ndGggIT09IGFycjIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyMS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYXJyMVtpXSAhPT0gYXJyMltpXSkgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuXG4gICAgdmFyIGNvbXBhcmUgPSBmdW5jdGlvbiAoaXRlbTE6IGFueSwgaXRlbTI6IGFueSB8IHVuZGVmaW5lZCwga2V5OiBzdHJpbmcpIHtcbiAgICAgIGlmIChpdGVtMiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpZmZzW2tleV0gPSBudWxsO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlbTEgIT09IHR5cGVvZiBpdGVtMikge1xuICAgICAgICBkaWZmc1trZXldID0gaXRlbTI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKFR5cGVzLmlzUGxhaW5PYmplY3QoaXRlbTEpKSB7XG4gICAgICAgIHZhciBvYmpEaWZmID0gT2JqZWN0cy5kaWZmZXJlbmNlKGl0ZW0xLCBpdGVtMik7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhvYmpEaWZmKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlmZnNba2V5XSA9IG9iakRpZmY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtMSkpIHtcbiAgICAgICAgaWYgKCFhcnJheXNNYXRjaChpdGVtMSwgaXRlbTIpKSB7XG4gICAgICAgICAgZGlmZnNba2V5XSA9IGl0ZW0yO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0xICE9PSBpdGVtMikge1xuICAgICAgICBkaWZmc1trZXldID0gaXRlbTI7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZvciAoa2V5IGluIG9iamVjdDEpIHtcbiAgICAgIGlmIChvYmplY3QxLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29tcGFyZShvYmplY3QxW2tleV0sIG9iamVjdDJba2V5XSwga2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGtleSBpbiBvYmplY3QyKSB7XG4gICAgICBpZiAob2JqZWN0Mi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGlmICghb2JqZWN0MVtrZXldICYmIG9iamVjdDFba2V5XSAhPT0gb2JqZWN0MltrZXldKSB7XG4gICAgICAgICAgZGlmZnNba2V5XSA9IG9iamVjdDJba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGlmZnM7XG4gIH0sXG5cbiAgcmVzb2x2ZUtleShrZXk6IGFueSwgeyBzaW5nbGUgPSB0cnVlIH06IHsgc2luZ2xlPzogYm9vbGVhbiB9ID0ge30pIHtcbiAgICBpZiAoWydudW1iZXInLCAnc3RyaW5nJ10uaW5kZXhPZih0eXBlb2Yga2V5KSAhPT0gLTEpIHJldHVybiBrZXk7XG4gICAgaWYgKCFUeXBlcy5pc1BsYWluT2JqZWN0KGtleSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoa2V5KTtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSAmJiBzaW5nbGUpIHtcbiAgICAgIC8vIFNpbmdsZSBwcmltaXRpdmUga2V5IHZhbHVlXG4gICAgICBrZXkgPSB2YWx1ZXNbMF07XG4gICAgfSBlbHNlIGlmICh2YWx1ZXMuc29tZSgodikgPT4gdiA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgLy8gQ29tcG9zZSBrZXksIG5lZWRzIGFsbCB2YWx1ZXNcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiAhVHlwZXMuaXNFbXB0eShrZXkpID8ga2V5IDogdW5kZWZpbmVkO1xuICB9LFxuXG4gIGNsb25lKHRhcmdldDogYW55LCBtYXA/OiBXZWFrTWFwPG9iamVjdCwgYW55Pikge1xuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkgbWFwID0gbmV3IFdlYWtNYXAoKTtcbiAgICAvLyBjbG9uZSBwcmltaXRpdmUgdHlwZXNcbiAgICBpZiAodHlwZW9mIHRhcmdldCAhPSAnb2JqZWN0JyB8fCB0YXJnZXQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG5cbiAgICBpZiAoVHlwZXMuaXNPYmplY3QodGFyZ2V0KSAmJiAnY2xvbmUnIGluIHRhcmdldCkge1xuICAgICAgLy8gdGFyZ2V0IGlzIGEgY2xvbmVhYmxlIG9iamVjdFxuICAgICAgcmV0dXJuIHRhcmdldC5jbG9uZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBUeXBlcy5yYXdUeXBlKHRhcmdldCk7XG4gICAgbGV0IGNsb25lVGFyZ2V0OiBhbnkgPSBudWxsO1xuXG4gICAgaWYgKG1hcC5nZXQodGFyZ2V0KSkge1xuICAgICAgcmV0dXJuIG1hcC5nZXQodGFyZ2V0KTtcbiAgICB9XG4gICAgbWFwLnNldCh0YXJnZXQsIGNsb25lVGFyZ2V0KTtcblxuICAgIGlmICh0eXBlICE9ICdTZXQnICYmIHR5cGUgIT0gJ01hcCcgJiYgdHlwZSAhPSAnQXJyYXknICYmIHR5cGUgIT0gJ09iamVjdCcpIHtcbiAgICAgIHJldHVybiBUeXBlcy5jbG9uZSh0YXJnZXQpO1xuICAgIH1cblxuICAgIC8vIGNsb25lIFNldFxuICAgIGlmICh0eXBlID09ICdTZXQnKSB7XG4gICAgICBjbG9uZVRhcmdldCA9IG5ldyBTZXQoKTtcbiAgICAgIHRhcmdldC5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNsb25lVGFyZ2V0LmFkZCh0aGlzLmNsb25lKHZhbHVlLCBtYXApKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNsb25lVGFyZ2V0O1xuICAgIH1cblxuICAgIC8vIGNsb25lIE1hcFxuICAgIGlmICh0eXBlID09ICdNYXAnKSB7XG4gICAgICBjbG9uZVRhcmdldCA9IG5ldyBNYXAoKTtcbiAgICAgIHRhcmdldC5mb3JFYWNoKCh2YWx1ZTogYW55LCBrZXk6IGFueSkgPT4ge1xuICAgICAgICBjbG9uZVRhcmdldC5zZXQoa2V5LCB0aGlzLmNsb25lKHZhbHVlLCBtYXApKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNsb25lVGFyZ2V0O1xuICAgIH1cblxuICAgIC8vIGNsb25lIEFycmF5XG4gICAgaWYgKHR5cGUgPT0gJ0FycmF5Jykge1xuICAgICAgY2xvbmVUYXJnZXQgPSBuZXcgQXJyYXkoKTtcbiAgICAgIGZvckVhY2godGFyZ2V0LCAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgIGNsb25lVGFyZ2V0W2luZGV4XSA9IHRoaXMuY2xvbmUodmFsdWUsIG1hcCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBjbG9uZSBub3JtYWwgT2JqZWN0XG4gICAgaWYgKHR5cGUgPT0gJ09iamVjdCcpIHtcbiAgICAgIGNsb25lVGFyZ2V0ID0gbmV3IE9iamVjdCgpO1xuICAgICAgZm9yRWFjaChPYmplY3Qua2V5cyh0YXJnZXQpLCAoa2V5LCBpbmRleCkgPT4ge1xuICAgICAgICBjbG9uZVRhcmdldFtrZXldID0gdGhpcy5jbG9uZSh0YXJnZXRba2V5XSwgbWFwKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjbG9uZVRhcmdldDtcbiAgfSxcbn07XG4iXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi91dGlscy9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsU0FBUyxPQUFPLENBQUMsS0FBWSxFQUFFLFFBQTZDO0lBQzFFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM1QixPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtRQUN2QixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDdkMseUZBQXlGO1FBQ3pGLE1BQU0sU0FBUyxHQUFHLENBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDOUMsQ0FBQztRQUVYLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVM7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNqRCxPQUFPLEdBQUcsQ0FB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LElBQUksSUFBSSxRQUFRLEVBQUU7WUFDcEIsV0FBVyxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBmb3JFYWNoKGFycmF5OiBhbnlbXSwgaXRlcmF0ZWU6ICh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB2b2lkKSB7XG4gIGxldCBpbmRleCA9IC0xO1xuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCk7XG4gIH1cbiAgcmV0dXJuIGFycmF5O1xufVxuXG5leHBvcnQgY29uc3QgT2JqZWN0cyA9IHtcbiAgc2V0KG9iajogT2JqZWN0LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAvLyBDaGVjayBpZiBwYXRoIGlzIHN0cmluZyBvciBhcnJheS4gUmVnZXggOiBlbnN1cmUgdGhhdCB3ZSBkbyBub3QgaGF2ZSAnLicgYW5kIGJyYWNrZXRzLlxuICAgIGNvbnN0IHBhdGhBcnJheSA9IChcbiAgICAgIFR5cGVzLmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5tYXRjaCgvKFteWy5cXF1dKSsvZylcbiAgICApIGFzIGFueVtdO1xuXG4gICAgcGF0aEFycmF5LnJlZHVjZSgoYWNjLCBrZXksIGkpID0+IHtcbiAgICAgIGlmIChhY2Nba2V5XSA9PT0gdW5kZWZpbmVkKSBhY2Nba2V5XSA9IHt9O1xuICAgICAgaWYgKGkgPT09IHBhdGhBcnJheS5sZW5ndGggLSAxKSBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIGFjY1trZXldO1xuICAgIH0sIG9iaik7XG4gIH0sXG5cbiAgZ2V0KG9iajogT2JqZWN0LCBwYXRoOiBzdHJpbmcsIGRlZj86IGFueSk6IGFueSB7XG4gICAgLy8gQ2hlY2sgaWYgcGF0aCBpcyBzdHJpbmcgb3IgYXJyYXkuIFJlZ2V4IDogZW5zdXJlIHRoYXQgd2UgZG8gbm90IGhhdmUgJy4nIGFuZCBicmFja2V0cy5cbiAgICBjb25zdCBwYXRoQXJyYXkgPSAoXG4gICAgICBUeXBlcy5pc0FycmF5KHBhdGgpID8gcGF0aCA6IHBhdGgubWF0Y2goLyhbXlsuXFxdXSkrL2cpXG4gICAgKSBhcyBhbnlbXTtcbiAgICAvLyBGaW5kIHZhbHVlIGlmIGV4aXN0IHJldHVybiBvdGhlcndpc2UgcmV0dXJuIHVuZGVmaW5lZCB2YWx1ZTtcbiAgICByZXR1cm4gKFxuICAgICAgcGF0aEFycmF5LnJlZHVjZSgocHJldk9iaiwga2V5KSA9PiBwcmV2T2JqICYmIHByZXZPYmpba2V5XSwgb2JqKSB8fCBkZWZcbiAgICApO1xuICB9LFxuXG4gIHVuc2V0KG9iajogT2JqZWN0LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAvLyBDaGVjayBpZiBwYXRoIGlzIHN0cmluZyBvciBhcnJheS4gUmVnZXggOiBlbnN1cmUgdGhhdCB3ZSBkbyBub3QgaGF2ZSAnLicgYW5kIGJyYWNrZXRzLlxuICAgIGNvbnN0IHBhdGhBcnJheSA9IChcbiAgICAgIFR5cGVzLmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5tYXRjaCgvKFteWy5cXF1dKSsvZylcbiAgICApIGFzIGFueVtdO1xuXG4gICAgcGF0aEFycmF5LnJlZHVjZSgoYWNjLCBrZXksIGkpID0+IHtcbiAgICAgIGlmIChpID09PSBwYXRoQXJyYXkubGVuZ3RoIC0gMSkgZGVsZXRlIGFjY1trZXldO1xuICAgICAgcmV0dXJuIGFjY1trZXldO1xuICAgIH0sIG9iaik7XG4gIH0sXG5cbiAgaGFzKG9iajogT2JqZWN0LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAvLyBDaGVjayBpZiBwYXRoIGlzIHN0cmluZyBvciBhcnJheS4gUmVnZXggOiBlbnN1cmUgdGhhdCB3ZSBkbyBub3QgaGF2ZSAnLicgYW5kIGJyYWNrZXRzLlxuICAgIGNvbnN0IHBhdGhBcnJheSA9IChcbiAgICAgIFR5cGVzLmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5tYXRjaCgvKFteWy5cXF1dKSsvZylcbiAgICApIGFzIGFueVtdO1xuXG4gICAgcmV0dXJuICEhcGF0aEFycmF5LnJlZHVjZSgocHJldk9iaiwga2V5KSA9PiBwcmV2T2JqICYmIHByZXZPYmpba2V5XSwgb2JqKTtcbiAgfSxcblxuICBtZXJnZSh0YXJnZXQ6IE9iamVjdCwgc291cmNlOiBPYmplY3QpIHtcbiAgICBjb25zdCBtZXJnZSA9ICh0YXJnZXQ6IGFueSwgc291cmNlOiB7IFthdHRyOiBzdHJpbmddOiBhbnkgfSkgPT4ge1xuICAgICAgZm9yIChsZXQgYXR0ciBpbiBzb3VyY2UpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gc291cmNlW2F0dHJdO1xuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgVHlwZXMuaXNQbGFpbk9iamVjdCh2YWx1ZSkgJiYgYXR0ciBpbiB0YXJnZXQpIHtcbiAgICAgICAgICBtZXJnZSh0YXJnZXRbYXR0cl0sIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRbYXR0cl0gIT09IHZhbHVlKSB7XG4gICAgICAgICAgdGFyZ2V0W2F0dHJdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIG1lcmdlKHRhcmdldCwgc291cmNlKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9LFxuXG4gIGVxdWFsKG9iamVjdDE6IHsgW2F0dHI6IHN0cmluZ106IGFueSB9LCBvYmplY3QyOiB7IFthdHRyOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGNvbnN0IGtleXMxID0gT2JqZWN0LmtleXMob2JqZWN0MSk7XG4gICAgY29uc3Qga2V5czIgPSBPYmplY3Qua2V5cyhvYmplY3QyKTtcblxuICAgIGlmIChrZXlzMS5sZW5ndGggIT09IGtleXMyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMxKSB7XG4gICAgICBjb25zdCB2YWwxID0gb2JqZWN0MVtrZXldO1xuICAgICAgY29uc3QgdmFsMiA9IG9iamVjdDJba2V5XTtcbiAgICAgIGNvbnN0IGFyZU9iamVjdHMgPSBUeXBlcy5pc1BsYWluT2JqZWN0KHZhbDEpICYmIFR5cGVzLmlzUGxhaW5PYmplY3QodmFsMik7XG4gICAgICBpZiAoXG4gICAgICAgIChhcmVPYmplY3RzICYmICFPYmplY3RzLmVxdWFsKHZhbDEsIHZhbDIpKSB8fFxuICAgICAgICAoIWFyZU9iamVjdHMgJiYgdmFsMSAhPT0gdmFsMilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9LFxuXG4gIGRpZmZlcmVuY2UoXG4gICAgb2JqZWN0MTogeyBbYXR0cjogc3RyaW5nXTogYW55IH0sXG4gICAgb2JqZWN0MjogeyBbYXR0cjogc3RyaW5nXTogYW55IH1cbiAgKSB7XG4gICAgaWYgKCFvYmplY3QyIHx8ICFUeXBlcy5pc1BsYWluT2JqZWN0KG9iamVjdDIpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0MTtcbiAgICB9XG4gICAgdmFyIGRpZmZzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIHZhciBrZXk7XG4gICAgdmFyIGFycmF5c01hdGNoID0gZnVuY3Rpb24gKGFycjE6IGFueVtdLCBhcnIyOiBhbnlbXSkge1xuICAgICAgaWYgKGFycjEubGVuZ3RoICE9PSBhcnIyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycjEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGFycjFbaV0gIT09IGFycjJbaV0pIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIHZhciBjb21wYXJlID0gZnVuY3Rpb24gKGl0ZW0xOiBhbnksIGl0ZW0yOiBhbnkgfCB1bmRlZmluZWQsIGtleTogc3RyaW5nKSB7XG4gICAgICBpZiAoaXRlbTIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkaWZmc1trZXldID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGl0ZW0xICE9PSB0eXBlb2YgaXRlbTIpIHtcbiAgICAgICAgZGlmZnNba2V5XSA9IGl0ZW0yO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChUeXBlcy5pc1BsYWluT2JqZWN0KGl0ZW0xKSkge1xuICAgICAgICB2YXIgb2JqRGlmZiA9IE9iamVjdHMuZGlmZmVyZW5jZShpdGVtMSwgaXRlbTIpO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMob2JqRGlmZikubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRpZmZzW2tleV0gPSBvYmpEaWZmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbTEpKSB7XG4gICAgICAgIGlmICghYXJyYXlzTWF0Y2goaXRlbTEsIGl0ZW0yKSkge1xuICAgICAgICAgIGRpZmZzW2tleV0gPSBpdGVtMjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtMSAhPT0gaXRlbTIpIHtcbiAgICAgICAgZGlmZnNba2V5XSA9IGl0ZW0yO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmb3IgKGtleSBpbiBvYmplY3QxKSB7XG4gICAgICBpZiAob2JqZWN0MS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbXBhcmUob2JqZWN0MVtrZXldLCBvYmplY3QyW2tleV0sIGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChrZXkgaW4gb2JqZWN0Mikge1xuICAgICAgaWYgKG9iamVjdDIuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZiAoIW9iamVjdDFba2V5XSAmJiBvYmplY3QxW2tleV0gIT09IG9iamVjdDJba2V5XSkge1xuICAgICAgICAgIGRpZmZzW2tleV0gPSBvYmplY3QyW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRpZmZzO1xuICB9LFxuXG4gIHJlc29sdmVLZXkoa2V5OiBhbnksIHsgc2luZ2xlID0gdHJ1ZSB9OiB7IHNpbmdsZT86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgY29uc3QgdHlwZSA9IFR5cGVzLnJhd1R5cGUoa2V5KTtcbiAgICBpZiAoWydudW1iZXInLCAnc3RyaW5nJ10uaW5kZXhPZih0eXBlKSAhPT0gLTEpIHJldHVybiBrZXk7XG4gICAgaWYgKHR5cGUgIT09ICdNYXAnICYmIHR5cGUgIT09ICdPYmplY3QnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZXMgPVxuICAgICAgdHlwZSA9PT0gJ01hcCcgPyBBcnJheS5mcm9tKGtleS52YWx1ZXMoKSkgOiBPYmplY3QudmFsdWVzKGtleSk7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDEgJiYgc2luZ2xlKSB7XG4gICAgICAvLyBTaW5nbGUgcHJpbWl0aXZlIGtleSB2YWx1ZVxuICAgICAga2V5ID0gdmFsdWVzWzBdO1xuICAgICAgcmV0dXJuICFUeXBlcy5pc0VtcHR5KGtleSkgPyBrZXkgOiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmICh2YWx1ZXMuc29tZSgodikgPT4gdiA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgLy8gQ29tcG9zZSBrZXksIG5lZWRzIGFsbCB2YWx1ZXNcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9iaiA9IHR5cGUgPT09ICdNYXAnID8gT2JqZWN0LmZyb21FbnRyaWVzKGtleSkgOiBrZXk7XG4gICAgICByZXR1cm4gIVR5cGVzLmlzRW1wdHkob2JqKSA/IG9iaiA6IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0sXG5cbiAgY2xvbmUodGFyZ2V0OiBhbnksIG1hcD86IFdlYWtNYXA8b2JqZWN0LCBhbnk+KSB7XG4gICAgaWYgKG1hcCA9PT0gdW5kZWZpbmVkKSBtYXAgPSBuZXcgV2Vha01hcCgpO1xuICAgIC8vIGNsb25lIHByaW1pdGl2ZSB0eXBlc1xuICAgIGlmICh0eXBlb2YgdGFyZ2V0ICE9ICdvYmplY3QnIHx8IHRhcmdldCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cblxuICAgIGlmICgnY2xvbmUnIGluIHRhcmdldCkge1xuICAgICAgLy8gdGFyZ2V0IGlzIGEgY2xvbmVhYmxlIG9iamVjdFxuICAgICAgcmV0dXJuIHRhcmdldC5jbG9uZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBUeXBlcy5yYXdUeXBlKHRhcmdldCk7XG4gICAgbGV0IGNsb25lVGFyZ2V0OiBhbnkgPSBudWxsO1xuXG4gICAgaWYgKG1hcC5nZXQodGFyZ2V0KSkge1xuICAgICAgcmV0dXJuIG1hcC5nZXQodGFyZ2V0KTtcbiAgICB9XG4gICAgbWFwLnNldCh0YXJnZXQsIGNsb25lVGFyZ2V0KTtcblxuICAgIGlmICh0eXBlICE9ICdTZXQnICYmIHR5cGUgIT0gJ01hcCcgJiYgdHlwZSAhPSAnQXJyYXknICYmIHR5cGUgIT0gJ09iamVjdCcpIHtcbiAgICAgIHJldHVybiBUeXBlcy5jbG9uZSh0YXJnZXQpO1xuICAgIH1cblxuICAgIC8vIGNsb25lIFNldFxuICAgIGlmICh0eXBlID09ICdTZXQnKSB7XG4gICAgICBjbG9uZVRhcmdldCA9IG5ldyBTZXQoKTtcbiAgICAgIHRhcmdldC5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNsb25lVGFyZ2V0LmFkZCh0aGlzLmNsb25lKHZhbHVlLCBtYXApKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNsb25lVGFyZ2V0O1xuICAgIH1cblxuICAgIC8vIGNsb25lIE1hcFxuICAgIGlmICh0eXBlID09ICdNYXAnKSB7XG4gICAgICBjbG9uZVRhcmdldCA9IG5ldyBNYXAoKTtcbiAgICAgIHRhcmdldC5mb3JFYWNoKCh2YWx1ZTogYW55LCBrZXk6IGFueSkgPT4ge1xuICAgICAgICBjbG9uZVRhcmdldC5zZXQoa2V5LCB0aGlzLmNsb25lKHZhbHVlLCBtYXApKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNsb25lVGFyZ2V0O1xuICAgIH1cblxuICAgIC8vIGNsb25lIEFycmF5XG4gICAgaWYgKHR5cGUgPT0gJ0FycmF5Jykge1xuICAgICAgY2xvbmVUYXJnZXQgPSBuZXcgQXJyYXkoKTtcbiAgICAgIGZvckVhY2godGFyZ2V0LCAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgIGNsb25lVGFyZ2V0W2luZGV4XSA9IHRoaXMuY2xvbmUodmFsdWUsIG1hcCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBjbG9uZSBub3JtYWwgT2JqZWN0XG4gICAgaWYgKHR5cGUgPT0gJ09iamVjdCcpIHtcbiAgICAgIGNsb25lVGFyZ2V0ID0gbmV3IE9iamVjdCgpO1xuICAgICAgZm9yRWFjaChPYmplY3Qua2V5cyh0YXJnZXQpLCAoa2V5LCBpbmRleCkgPT4ge1xuICAgICAgICBjbG9uZVRhcmdldFtrZXldID0gdGhpcy5jbG9uZSh0YXJnZXRba2V5XSwgbWFwKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjbG9uZVRhcmdldDtcbiAgfSxcbn07XG4iXX0=
@@ -11,10 +11,6 @@ export const Types = {
11
11
  rawType(value) {
12
12
  return Object.prototype.toString.call(value).slice(8, -1);
13
13
  },
14
- isObject(value) {
15
- var type = typeof value;
16
- return value != null && (type === 'object' || type === 'function');
17
- },
18
14
  isPlainObject(value) {
19
15
  if (this.rawType(value) !== 'Object') {
20
16
  return false;
@@ -28,16 +24,19 @@ export const Types = {
28
24
  isArray(value) {
29
25
  return Array.isArray(value);
30
26
  },
27
+ isMap(value) {
28
+ return this.rawType(value) === 'Map';
29
+ },
31
30
  isEmpty(value) {
32
31
  return (value === undefined ||
33
32
  value === null ||
34
33
  (typeof value === 'string' && !value.length) ||
34
+ (value instanceof Date && isNaN(value.valueOf())) ||
35
+ (Types.isMap(value) && !value.size) ||
35
36
  (Types.isArray(value) && !value.length) ||
36
37
  (Types.isFunction(value.isEmpty) && value.isEmpty()) ||
37
38
  (Types.isArray(value) &&
38
39
  value.every((v) => Types.isEmpty(v))) ||
39
- (Types.isObject(value) &&
40
- !Object.keys(value).filter((k) => value.hasOwnProperty(k)).length) ||
41
40
  (Types.isPlainObject(value) &&
42
41
  !Object.keys(value).filter((k) => value.hasOwnProperty(k)).length));
43
42
  },
@@ -131,4 +130,4 @@ export const Types = {
131
130
  }
132
131
  },
133
132
  };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdXRpbHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxXQUFXLENBQUMsS0FBVTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBVTtJQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFDeEIsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDcEMs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IHtcbiAgcmV0dXJuIE9iamVjdChTeW1ib2wucHJvdG90eXBlLnZhbHVlT2YuY2FsbCh0YXJnZSkpO1xufVxuXG5mdW5jdGlvbiBjbG9uZVJlZyh0YXJnZTogYW55KSB7XG4gIGNvbnN0IHJlRmxhZ3MgPSAvXFx3KiQvO1xuICBjb25zdCByZXN1bHQgPSBuZXcgdGFyZ2UuY29uc3RydWN0b3IodGFyZ2Uuc291cmNlLCByZUZsYWdzLmV4ZWModGFyZ2UpKTtcbiAgcmVzdWx0Lmxhc3RJbmRleCA9IHRhcmdlLmxhc3RJbmRleDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNvbnN0IFR5cGVzID0ge1xuICByYXdUeXBlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKS5zbGljZSg4LCAtMSk7XG4gIH0sXG5cbiAgaXNPYmplY3QodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKTtcbiAgfSxcblxuICBpc1BsYWluT2JqZWN0KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5yYXdUeXBlKHZhbHVlKSAhPT0gJ09iamVjdCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgIHJldHVybiBwcm90b3R5cGUgPT09IG51bGwgfHwgcHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlO1xuICB9LFxuXG4gIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG4gIH0sXG5cbiAgaXNBcnJheSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpO1xuICB9LFxuXG4gIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXZhbHVlLmxlbmd0aCkgfHxcbiAgICAgIChUeXBlcy5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKSB8fFxuICAgICAgKFR5cGVzLmlzRnVuY3Rpb24odmFsdWUuaXNFbXB0eSkgJiYgdmFsdWUuaXNFbXB0eSgpKSB8fFxuICAgICAgKFR5cGVzLmlzQXJyYXkodmFsdWUpICYmXG4gICAgICAgICh2YWx1ZSBhcyBhbnlbXSkuZXZlcnkoKHYpID0+IFR5cGVzLmlzRW1wdHkodikpKSB8fFxuICAgICAgKFR5cGVzLmlzT2JqZWN0KHZhbHVlKSAmJlxuICAgICAgICAhT2JqZWN0LmtleXModmFsdWUpLmZpbHRlcigoaykgPT4gdmFsdWUuaGFzT3duUHJvcGVydHkoaykpLmxlbmd0aCkgfHxcbiAgICAgIChUeXBlcy5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJlxuICAgICAgICAhT2JqZWN0LmtleXModmFsdWUpLmZpbHRlcigoaykgPT4gdmFsdWUuaGFzT3duUHJvcGVydHkoaykpLmxlbmd0aClcbiAgICApO1xuICB9LFxuXG4gIGlzRXF1YWwodmFsdWUxOiBhbnksIHZhbHVlMjogYW55KSB7XG4gICAgZnVuY3Rpb24gZ2V0VHlwZShvYmo6IGFueSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnNsaWNlKDgsIC0xKS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZURhdGVzRXF1YWwoKSB7XG4gICAgICByZXR1cm4gdmFsdWUxLmdldFRpbWUoKSA9PT0gdmFsdWUyLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcmVBcnJheXNCdWZmZXJFcXVhbCgpIHtcbiAgICAgIGlmICh2YWx1ZTEuYnl0ZUxlbmd0aCAhPT0gdmFsdWUyLmJ5dGVMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB2YXIgdmlldzEgPSBuZXcgRGF0YVZpZXcodmFsdWUxKTtcbiAgICAgIHZhciB2aWV3MiA9IG5ldyBEYXRhVmlldyh2YWx1ZTIpO1xuXG4gICAgICB2YXIgaSA9IHZhbHVlMS5ieXRlTGVuZ3RoO1xuICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICBpZiAodmlldzEuZ2V0VWludDgoaSkgIT09IHZpZXcyLmdldFVpbnQ4KGkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZUFycmF5c0VxdWFsKCkge1xuICAgICAgLy8gQ2hlY2sgbGVuZ3RoXG4gICAgICBpZiAodmFsdWUxLmxlbmd0aCAhPT0gdmFsdWUyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAvLyBDaGVjayBlYWNoIGl0ZW0gaW4gdGhlIGFycmF5XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlMS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIVR5cGVzLmlzRXF1YWwodmFsdWUxW2ldLCB2YWx1ZTJbaV0pKSByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vIGVycm9ycywgcmV0dXJuIHRydWVcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZU9iamVjdHNFcXVhbCgpIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZTEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXModmFsdWUyKS5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgLy8gQ2hlY2sgZWFjaCBpdGVtIGluIHRoZSBvYmplY3RcbiAgICAgIGZvciAobGV0IGtleSBpbiB2YWx1ZTEpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZTEsIGtleSkpIHtcbiAgICAgICAgICBpZiAoIVR5cGVzLmlzRXF1YWwodmFsdWUxW2tleV0sIHZhbHVlMltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vIGVycm9ycywgcmV0dXJuIHRydWVcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZUZ1bmN0aW9uc0VxdWFsKCkge1xuICAgICAgcmV0dXJuIHZhbHVlMS50b1N0cmluZygpID09PSB2YWx1ZTIudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcmVQcmltYXRpdmVzRXF1YWwoKSB7XG4gICAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gICAgfVxuXG4gICAgLy8gR2V0IHRoZSBvYmplY3QgdHlwZVxuICAgIGxldCB0eXBlID0gZ2V0VHlwZSh2YWx1ZTEpO1xuXG4gICAgLy8gSWYgdGhlIHR3byBpdGVtcyBhcmUgbm90IHRoZSBzYW1lIHR5cGUsIHJldHVybiBmYWxzZVxuICAgIGlmICh0eXBlICE9PSBnZXRUeXBlKHZhbHVlMikpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIENvbXBhcmUgYmFzZWQgb24gdHlwZVxuICAgIGlmICh0eXBlID09PSAnZGF0ZScpIHJldHVybiBhcmVEYXRlc0VxdWFsKCk7XG4gICAgaWYgKHR5cGUgPT09ICdhcnJheWJ1ZmZlcicpIHJldHVybiBhcmVBcnJheXNCdWZmZXJFcXVhbCgpO1xuICAgIGlmICh0eXBlID09PSAnYXJyYXknKSByZXR1cm4gYXJlQXJyYXlzRXF1YWwoKTtcbiAgICBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHJldHVybiBhcmVPYmplY3RzRXF1YWwoKTtcbiAgICBpZiAodHlwZSA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGFyZUZ1bmN0aW9uc0VxdWFsKCk7XG4gICAgcmV0dXJuIGFyZVByaW1hdGl2ZXNFcXVhbCgpO1xuICB9LFxuICBjbG9uZSh0YXJnZXQ6IGFueSkge1xuICAgIGNvbnN0IGNvbnN0ckZ1biA9IHRhcmdldC5jb25zdHJ1Y3RvcjtcbiAgICBzd2l0Y2ggKHRoaXMucmF3VHlwZSh0YXJnZXQpKSB7XG4gICAgICBjYXNlICdCb29sZWFuJzpcbiAgICAgIGNhc2UgJ051bWJlcic6XG4gICAgICBjYXNlICdTdHJpbmcnOlxuICAgICAgY2FzZSAnRXJyb3InOlxuICAgICAgY2FzZSAnRGF0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgY29uc3RyRnVuKHRhcmdldCk7XG4gICAgICBjYXNlICdSZWdFeHAnOlxuICAgICAgICByZXR1cm4gY2xvbmVSZWcodGFyZ2V0KTtcbiAgICAgIGNhc2UgJ1N5bWJvbCc6XG4gICAgICAgIHJldHVybiBjbG9uZVN5bWJvbCh0YXJnZXQpO1xuICAgICAgY2FzZSAnRnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxufTtcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdXRpbHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxXQUFXLENBQUMsS0FBVTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBVTtJQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNwQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxPQUFPLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDOUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxDQUNMLEtBQUssS0FBSyxTQUFTO1lBQ25CLEtBQUssS0FBSyxJQUFJO1lBQ2QsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVDLENBQUMsS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDakQsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNuQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BELENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ2xCLEtBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO2dCQUN6QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQVcsRUFBRSxNQUFXO1FBQzlCLFNBQVMsT0FBTyxDQUFDLEdBQVE7WUFDdkIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hFLENBQUM7UUFFRCxTQUFTLGFBQWE7WUFDcEIsT0FBTyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxTQUFTLG9CQUFvQjtZQUMzQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDM0MsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELElBQUksS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLElBQUksS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWpDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDMUIsT0FBTyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDM0MsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7YUFDRjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELFNBQVMsY0FBYztZQUNyQixlQUFlO1lBQ2YsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBRWxELCtCQUErQjtZQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLEtBQUssQ0FBQzthQUN4RDtZQUVELDRCQUE0QjtZQUM1QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxTQUFTLGVBQWU7WUFDdEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU07Z0JBQzNELE9BQU8sS0FBSyxDQUFDO1lBRWYsZ0NBQWdDO1lBQ2hDLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUN0QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQUUsT0FBTyxLQUFLLENBQUM7aUJBQzVEO2FBQ0Y7WUFFRCw0QkFBNEI7WUFDNUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsU0FBUyxpQkFBaUI7WUFDeEIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pELENBQUM7UUFFRCxTQUFTLGtCQUFrQjtZQUN6QixPQUFPLE1BQU0sS0FBSyxNQUFNLENBQUM7UUFDM0IsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0IsdURBQXVEO1FBQ3ZELElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUUzQyx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLEtBQUssTUFBTTtZQUFFLE9BQU8sYUFBYSxFQUFFLENBQUM7UUFDNUMsSUFBSSxJQUFJLEtBQUssYUFBYTtZQUFFLE9BQU8sb0JBQW9CLEVBQUUsQ0FBQztRQUMxRCxJQUFJLElBQUksS0FBSyxPQUFPO1lBQUUsT0FBTyxjQUFjLEVBQUUsQ0FBQztRQUM5QyxJQUFJLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxJQUFJLElBQUksS0FBSyxVQUFVO1lBQUUsT0FBTyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BELE9BQU8sa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQVc7UUFDZixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3JDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsS0FBSyxVQUFVO2dCQUNiLE9BQU8sTUFBTSxDQUFDO1lBQ2hCO2dCQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGNsb25lU3ltYm9sKHRhcmdlOiBhbnkpIHtcbiAgcmV0dXJuIE9iamVjdChTeW1ib2wucHJvdG90eXBlLnZhbHVlT2YuY2FsbCh0YXJnZSkpO1xufVxuXG5mdW5jdGlvbiBjbG9uZVJlZyh0YXJnZTogYW55KSB7XG4gIGNvbnN0IHJlRmxhZ3MgPSAvXFx3KiQvO1xuICBjb25zdCByZXN1bHQgPSBuZXcgdGFyZ2UuY29uc3RydWN0b3IodGFyZ2Uuc291cmNlLCByZUZsYWdzLmV4ZWModGFyZ2UpKTtcbiAgcmVzdWx0Lmxhc3RJbmRleCA9IHRhcmdlLmxhc3RJbmRleDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNvbnN0IFR5cGVzID0ge1xuICByYXdUeXBlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKS5zbGljZSg4LCAtMSk7XG4gIH0sXG5cbiAgaXNQbGFpbk9iamVjdCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMucmF3VHlwZSh2YWx1ZSkgIT09ICdPYmplY3QnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTtcbiAgICByZXR1cm4gcHJvdG90eXBlID09PSBudWxsIHx8IHByb3RvdHlwZSA9PT0gT2JqZWN0LnByb3RvdHlwZTtcbiAgfSxcblxuICBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xuICB9LFxuXG4gIGlzQXJyYXkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfSxcblxuICBpc01hcCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmF3VHlwZSh2YWx1ZSkgPT09ICdNYXAnO1xuICB9LFxuXG4gIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXZhbHVlLmxlbmd0aCkgfHxcbiAgICAgICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgaXNOYU4odmFsdWUudmFsdWVPZigpKSkgfHxcbiAgICAgIChUeXBlcy5pc01hcCh2YWx1ZSkgJiYgIXZhbHVlLnNpemUpIHx8XG4gICAgICAoVHlwZXMuaXNBcnJheSh2YWx1ZSkgJiYgIXZhbHVlLmxlbmd0aCkgfHxcbiAgICAgIChUeXBlcy5pc0Z1bmN0aW9uKHZhbHVlLmlzRW1wdHkpICYmIHZhbHVlLmlzRW1wdHkoKSkgfHxcbiAgICAgIChUeXBlcy5pc0FycmF5KHZhbHVlKSAmJlxuICAgICAgICAodmFsdWUgYXMgYW55W10pLmV2ZXJ5KCh2KSA9PiBUeXBlcy5pc0VtcHR5KHYpKSkgfHxcbiAgICAgIChUeXBlcy5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJlxuICAgICAgICAhT2JqZWN0LmtleXModmFsdWUpLmZpbHRlcigoaykgPT4gdmFsdWUuaGFzT3duUHJvcGVydHkoaykpLmxlbmd0aClcbiAgICApO1xuICB9LFxuXG4gIGlzRXF1YWwodmFsdWUxOiBhbnksIHZhbHVlMjogYW55KSB7XG4gICAgZnVuY3Rpb24gZ2V0VHlwZShvYmo6IGFueSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnNsaWNlKDgsIC0xKS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZURhdGVzRXF1YWwoKSB7XG4gICAgICByZXR1cm4gdmFsdWUxLmdldFRpbWUoKSA9PT0gdmFsdWUyLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcmVBcnJheXNCdWZmZXJFcXVhbCgpIHtcbiAgICAgIGlmICh2YWx1ZTEuYnl0ZUxlbmd0aCAhPT0gdmFsdWUyLmJ5dGVMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB2YXIgdmlldzEgPSBuZXcgRGF0YVZpZXcodmFsdWUxKTtcbiAgICAgIHZhciB2aWV3MiA9IG5ldyBEYXRhVmlldyh2YWx1ZTIpO1xuXG4gICAgICB2YXIgaSA9IHZhbHVlMS5ieXRlTGVuZ3RoO1xuICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICBpZiAodmlldzEuZ2V0VWludDgoaSkgIT09IHZpZXcyLmdldFVpbnQ4KGkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZUFycmF5c0VxdWFsKCkge1xuICAgICAgLy8gQ2hlY2sgbGVuZ3RoXG4gICAgICBpZiAodmFsdWUxLmxlbmd0aCAhPT0gdmFsdWUyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAvLyBDaGVjayBlYWNoIGl0ZW0gaW4gdGhlIGFycmF5XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlMS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIVR5cGVzLmlzRXF1YWwodmFsdWUxW2ldLCB2YWx1ZTJbaV0pKSByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vIGVycm9ycywgcmV0dXJuIHRydWVcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZU9iamVjdHNFcXVhbCgpIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZTEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXModmFsdWUyKS5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgLy8gQ2hlY2sgZWFjaCBpdGVtIGluIHRoZSBvYmplY3RcbiAgICAgIGZvciAobGV0IGtleSBpbiB2YWx1ZTEpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZTEsIGtleSkpIHtcbiAgICAgICAgICBpZiAoIVR5cGVzLmlzRXF1YWwodmFsdWUxW2tleV0sIHZhbHVlMltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vIGVycm9ycywgcmV0dXJuIHRydWVcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFyZUZ1bmN0aW9uc0VxdWFsKCkge1xuICAgICAgcmV0dXJuIHZhbHVlMS50b1N0cmluZygpID09PSB2YWx1ZTIudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcmVQcmltYXRpdmVzRXF1YWwoKSB7XG4gICAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gICAgfVxuXG4gICAgLy8gR2V0IHRoZSBvYmplY3QgdHlwZVxuICAgIGxldCB0eXBlID0gZ2V0VHlwZSh2YWx1ZTEpO1xuXG4gICAgLy8gSWYgdGhlIHR3byBpdGVtcyBhcmUgbm90IHRoZSBzYW1lIHR5cGUsIHJldHVybiBmYWxzZVxuICAgIGlmICh0eXBlICE9PSBnZXRUeXBlKHZhbHVlMikpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIENvbXBhcmUgYmFzZWQgb24gdHlwZVxuICAgIGlmICh0eXBlID09PSAnZGF0ZScpIHJldHVybiBhcmVEYXRlc0VxdWFsKCk7XG4gICAgaWYgKHR5cGUgPT09ICdhcnJheWJ1ZmZlcicpIHJldHVybiBhcmVBcnJheXNCdWZmZXJFcXVhbCgpO1xuICAgIGlmICh0eXBlID09PSAnYXJyYXknKSByZXR1cm4gYXJlQXJyYXlzRXF1YWwoKTtcbiAgICBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHJldHVybiBhcmVPYmplY3RzRXF1YWwoKTtcbiAgICBpZiAodHlwZSA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGFyZUZ1bmN0aW9uc0VxdWFsKCk7XG4gICAgcmV0dXJuIGFyZVByaW1hdGl2ZXNFcXVhbCgpO1xuICB9LFxuICBjbG9uZSh0YXJnZXQ6IGFueSkge1xuICAgIGNvbnN0IGNvbnN0ckZ1biA9IHRhcmdldC5jb25zdHJ1Y3RvcjtcbiAgICBzd2l0Y2ggKHRoaXMucmF3VHlwZSh0YXJnZXQpKSB7XG4gICAgICBjYXNlICdCb29sZWFuJzpcbiAgICAgIGNhc2UgJ051bWJlcic6XG4gICAgICBjYXNlICdTdHJpbmcnOlxuICAgICAgY2FzZSAnRXJyb3InOlxuICAgICAgY2FzZSAnRGF0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgY29uc3RyRnVuKHRhcmdldCk7XG4gICAgICBjYXNlICdSZWdFeHAnOlxuICAgICAgICByZXR1cm4gY2xvbmVSZWcodGFyZ2V0KTtcbiAgICAgIGNhc2UgJ1N5bWJvbCc6XG4gICAgICAgIHJldHVybiBjbG9uZVN5bWJvbCh0YXJnZXQpO1xuICAgICAgY2FzZSAnRnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LFxufTtcbiJdfQ==