@regulaforensics/facesdk-webclient 5.1.0 → 5.2.0

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 (253) hide show
  1. package/.github/workflows/run-smoke-test.yml +0 -3
  2. package/.github/workflows/trivy-scan.yaml +24 -0
  3. package/dist/cjs-es5/api/diagnostics-api.js +199 -0
  4. package/dist/cjs-es5/api/group-api.js +60 -60
  5. package/dist/cjs-es5/api/liveness20-api.js +14 -245
  6. package/dist/cjs-es5/api/matching-api.js +21 -21
  7. package/dist/cjs-es5/api/person-api.js +96 -189
  8. package/dist/cjs-es5/api/search-api.js +10 -10
  9. package/dist/cjs-es5/api.js +3 -2
  10. package/dist/cjs-es5/base.js +1 -1
  11. package/dist/cjs-es5/common.js +1 -1
  12. package/dist/cjs-es5/configuration.js +1 -1
  13. package/dist/cjs-es5/ext/person-api.js +1 -4
  14. package/dist/cjs-es5/models/crop.js +1 -1
  15. package/dist/cjs-es5/models/detect-request-attributes.js +16 -0
  16. package/dist/cjs-es5/models/detect-request.js +1 -1
  17. package/dist/cjs-es5/models/detect-response-all-of.js +1 -1
  18. package/dist/cjs-es5/models/detect-response.js +1 -1
  19. package/dist/cjs-es5/models/detect-result.js +1 -1
  20. package/dist/cjs-es5/models/detection-face.js +1 -1
  21. package/dist/cjs-es5/models/detection-quality.js +1 -1
  22. package/dist/cjs-es5/models/detection.js +1 -1
  23. package/dist/cjs-es5/models/face-attribute.js +37 -0
  24. package/dist/cjs-es5/models/face-image-quality-align-type.js +1 -1
  25. package/dist/cjs-es5/models/face-image-quality-groups.js +1 -1
  26. package/dist/cjs-es5/models/face-image-quality-status.js +1 -1
  27. package/dist/cjs-es5/models/face-quality-config-name.js +5 -4
  28. package/dist/cjs-es5/models/face-quality-scenarios.js +2 -2
  29. package/dist/cjs-es5/models/face-sdkresult-code.js +27 -26
  30. package/dist/cjs-es5/models/face-sdkresult.js +1 -1
  31. package/dist/cjs-es5/models/faces-response-all-of.js +1 -1
  32. package/dist/cjs-es5/models/faces-response.js +1 -1
  33. package/dist/cjs-es5/models/group-all-of.js +1 -1
  34. package/dist/cjs-es5/models/group-page-all-of.js +1 -1
  35. package/dist/cjs-es5/models/group-page.js +1 -1
  36. package/dist/cjs-es5/models/group-to-create.js +1 -1
  37. package/dist/cjs-es5/models/group.js +1 -1
  38. package/dist/cjs-es5/models/image-fields-image.js +1 -1
  39. package/dist/cjs-es5/models/image-fields.js +1 -1
  40. package/dist/cjs-es5/models/image-page-all-of.js +1 -1
  41. package/dist/cjs-es5/models/image-page.js +1 -1
  42. package/dist/cjs-es5/models/image-source.js +2 -2
  43. package/dist/cjs-es5/models/image.js +1 -1
  44. package/dist/cjs-es5/models/index.js +9 -2
  45. package/dist/cjs-es5/models/match-and-search-request-all-of-images.js +1 -1
  46. package/dist/cjs-es5/models/match-and-search-request-all-of.js +1 -1
  47. package/dist/cjs-es5/models/match-and-search-request.js +1 -1
  48. package/dist/cjs-es5/models/match-and-search-response-all-of-detections.js +1 -1
  49. package/dist/cjs-es5/models/match-and-search-response-all-of.js +1 -1
  50. package/dist/cjs-es5/models/match-and-search-response.js +1 -1
  51. package/dist/cjs-es5/models/match-image-detection.js +1 -1
  52. package/dist/cjs-es5/models/match-image-result.js +1 -1
  53. package/dist/cjs-es5/models/match-image.js +1 -1
  54. package/dist/cjs-es5/models/match-request.js +1 -1
  55. package/dist/cjs-es5/models/match-response-all-of.js +1 -1
  56. package/dist/cjs-es5/models/match-response.js +1 -1
  57. package/dist/cjs-es5/models/operation-log.js +1 -1
  58. package/dist/cjs-es5/models/output-image-params.js +1 -1
  59. package/dist/cjs-es5/models/page.js +1 -1
  60. package/dist/cjs-es5/models/person-all-of.js +1 -1
  61. package/dist/cjs-es5/models/person-created-response.js +16 -0
  62. package/dist/cjs-es5/models/person-fields.js +1 -1
  63. package/dist/cjs-es5/models/person-with-images-all-of.js +1 -1
  64. package/dist/cjs-es5/models/person-with-images.js +1 -1
  65. package/dist/cjs-es5/models/person.js +1 -1
  66. package/dist/cjs-es5/models/persons-page-all-of.js +1 -1
  67. package/dist/cjs-es5/models/persons-page.js +1 -1
  68. package/dist/cjs-es5/models/process-param.js +1 -1
  69. package/dist/cjs-es5/models/quality-config.js +1 -1
  70. package/dist/cjs-es5/models/quality-detail.js +1 -1
  71. package/dist/cjs-es5/models/quality-details-groups.js +1 -1
  72. package/dist/cjs-es5/models/quality-request.js +1 -1
  73. package/dist/cjs-es5/models/recognize-image-all-of.js +1 -1
  74. package/dist/cjs-es5/models/recognize-image.js +1 -1
  75. package/dist/cjs-es5/models/resize-options.js +16 -0
  76. package/dist/cjs-es5/models/search-bad-params.js +16 -0
  77. package/dist/cjs-es5/models/search-detection.js +16 -0
  78. package/dist/cjs-es5/models/search-parameters-create-person.js +16 -0
  79. package/dist/cjs-es5/models/search-parameters.js +1 -1
  80. package/dist/cjs-es5/models/search-person-all-of.js +1 -1
  81. package/dist/cjs-es5/models/search-person.js +1 -1
  82. package/dist/cjs-es5/models/search-request.js +1 -1
  83. package/dist/cjs-es5/models/search-result.js +1 -1
  84. package/dist/cjs-es5/models/transaction-info.js +16 -0
  85. package/dist/cjs-es5/models/update-group.js +1 -1
  86. package/dist/esm-es5/api/diagnostics-api.js +196 -0
  87. package/dist/esm-es5/api/group-api.js +60 -60
  88. package/dist/esm-es5/api/liveness20-api.js +14 -245
  89. package/dist/esm-es5/api/matching-api.js +21 -21
  90. package/dist/esm-es5/api/person-api.js +96 -189
  91. package/dist/esm-es5/api/search-api.js +10 -10
  92. package/dist/esm-es5/api.js +3 -2
  93. package/dist/esm-es5/base.js +1 -1
  94. package/dist/esm-es5/common.js +1 -1
  95. package/dist/esm-es5/configuration.js +1 -1
  96. package/dist/esm-es5/ext/person-api.js +1 -4
  97. package/dist/esm-es5/models/crop.js +1 -1
  98. package/dist/esm-es5/models/detect-request-attributes.js +14 -0
  99. package/dist/esm-es5/models/detect-request.js +1 -1
  100. package/dist/esm-es5/models/detect-response-all-of.js +1 -1
  101. package/dist/esm-es5/models/detect-response.js +1 -1
  102. package/dist/esm-es5/models/detect-result.js +1 -1
  103. package/dist/esm-es5/models/detection-face.js +1 -1
  104. package/dist/esm-es5/models/detection-quality.js +1 -1
  105. package/dist/esm-es5/models/detection.js +1 -1
  106. package/dist/esm-es5/models/face-attribute.js +34 -0
  107. package/dist/esm-es5/models/face-image-quality-align-type.js +1 -1
  108. package/dist/esm-es5/models/face-image-quality-groups.js +1 -1
  109. package/dist/esm-es5/models/face-image-quality-status.js +1 -1
  110. package/dist/esm-es5/models/face-quality-config-name.js +5 -4
  111. package/dist/esm-es5/models/face-quality-scenarios.js +2 -2
  112. package/dist/esm-es5/models/face-sdkresult-code.js +27 -26
  113. package/dist/esm-es5/models/face-sdkresult.js +1 -1
  114. package/dist/esm-es5/models/faces-response-all-of.js +1 -1
  115. package/dist/esm-es5/models/faces-response.js +1 -1
  116. package/dist/esm-es5/models/group-all-of.js +1 -1
  117. package/dist/esm-es5/models/group-page-all-of.js +1 -1
  118. package/dist/esm-es5/models/group-page.js +1 -1
  119. package/dist/esm-es5/models/group-to-create.js +1 -1
  120. package/dist/esm-es5/models/group.js +1 -1
  121. package/dist/esm-es5/models/image-fields-image.js +1 -1
  122. package/dist/esm-es5/models/image-fields.js +1 -1
  123. package/dist/esm-es5/models/image-page-all-of.js +1 -1
  124. package/dist/esm-es5/models/image-page.js +1 -1
  125. package/dist/esm-es5/models/image-source.js +2 -2
  126. package/dist/esm-es5/models/image.js +1 -1
  127. package/dist/esm-es5/models/index.js +9 -2
  128. package/dist/esm-es5/models/match-and-search-request-all-of-images.js +1 -1
  129. package/dist/esm-es5/models/match-and-search-request-all-of.js +1 -1
  130. package/dist/esm-es5/models/match-and-search-request.js +1 -1
  131. package/dist/esm-es5/models/match-and-search-response-all-of-detections.js +1 -1
  132. package/dist/esm-es5/models/match-and-search-response-all-of.js +1 -1
  133. package/dist/esm-es5/models/match-and-search-response.js +1 -1
  134. package/dist/esm-es5/models/match-image-detection.js +1 -1
  135. package/dist/esm-es5/models/match-image-result.js +1 -1
  136. package/dist/esm-es5/models/match-image.js +1 -1
  137. package/dist/esm-es5/models/match-request.js +1 -1
  138. package/dist/esm-es5/models/match-response-all-of.js +1 -1
  139. package/dist/esm-es5/models/match-response.js +1 -1
  140. package/dist/esm-es5/models/operation-log.js +1 -1
  141. package/dist/esm-es5/models/output-image-params.js +1 -1
  142. package/dist/esm-es5/models/page.js +1 -1
  143. package/dist/esm-es5/models/person-all-of.js +1 -1
  144. package/dist/esm-es5/models/person-created-response.js +14 -0
  145. package/dist/esm-es5/models/person-fields.js +1 -1
  146. package/dist/esm-es5/models/person-with-images-all-of.js +1 -1
  147. package/dist/esm-es5/models/person-with-images.js +1 -1
  148. package/dist/esm-es5/models/person.js +1 -1
  149. package/dist/esm-es5/models/persons-page-all-of.js +1 -1
  150. package/dist/esm-es5/models/persons-page.js +1 -1
  151. package/dist/esm-es5/models/process-param.js +1 -1
  152. package/dist/esm-es5/models/quality-config.js +1 -1
  153. package/dist/esm-es5/models/quality-detail.js +1 -1
  154. package/dist/esm-es5/models/quality-details-groups.js +1 -1
  155. package/dist/esm-es5/models/quality-request.js +1 -1
  156. package/dist/esm-es5/models/recognize-image-all-of.js +1 -1
  157. package/dist/esm-es5/models/recognize-image.js +1 -1
  158. package/dist/esm-es5/models/resize-options.js +14 -0
  159. package/dist/esm-es5/models/search-bad-params.js +14 -0
  160. package/dist/esm-es5/models/search-detection.js +14 -0
  161. package/dist/esm-es5/models/search-parameters-create-person.js +14 -0
  162. package/dist/esm-es5/models/search-parameters.js +1 -1
  163. package/dist/esm-es5/models/search-person-all-of.js +1 -1
  164. package/dist/esm-es5/models/search-person.js +1 -1
  165. package/dist/esm-es5/models/search-request.js +1 -1
  166. package/dist/esm-es5/models/search-result.js +1 -1
  167. package/dist/esm-es5/models/transaction-info.js +14 -0
  168. package/dist/esm-es5/models/update-group.js +1 -1
  169. package/package.json +1 -1
  170. package/src/api/diagnostics-api.ts +126 -0
  171. package/src/api/group-api.ts +79 -79
  172. package/src/api/liveness20-api.ts +14 -224
  173. package/src/api/matching-api.ts +21 -21
  174. package/src/api/person-api.ts +127 -217
  175. package/src/api/search-api.ts +12 -10
  176. package/src/api.ts +2 -1
  177. package/src/base.ts +1 -1
  178. package/src/common.ts +1 -1
  179. package/src/configuration.ts +1 -1
  180. package/src/ext/group-api.ts +5 -5
  181. package/src/ext/person-api.ts +8 -11
  182. package/src/models/crop.ts +3 -3
  183. package/src/models/detect-request-attributes.ts +31 -0
  184. package/src/models/detect-request.ts +5 -10
  185. package/src/models/detect-response-all-of.ts +1 -1
  186. package/src/models/detect-response.ts +1 -1
  187. package/src/models/detect-result.ts +1 -1
  188. package/src/models/detection-face.ts +9 -3
  189. package/src/models/detection-quality.ts +1 -1
  190. package/src/models/detection.ts +2 -2
  191. package/src/models/face-attribute.ts +42 -0
  192. package/src/models/face-image-quality-align-type.ts +1 -1
  193. package/src/models/face-image-quality-groups.ts +1 -1
  194. package/src/models/face-image-quality-status.ts +1 -1
  195. package/src/models/face-quality-config-name.ts +4 -3
  196. package/src/models/face-quality-scenarios.ts +2 -2
  197. package/src/models/face-sdkresult-code.ts +26 -25
  198. package/src/models/face-sdkresult.ts +1 -1
  199. package/src/models/faces-response-all-of.ts +1 -1
  200. package/src/models/faces-response.ts +1 -1
  201. package/src/models/group-all-of.ts +5 -5
  202. package/src/models/group-page-all-of.ts +2 -2
  203. package/src/models/group-page.ts +1 -1
  204. package/src/models/group-to-create.ts +7 -1
  205. package/src/models/group.ts +1 -1
  206. package/src/models/image-fields-image.ts +17 -4
  207. package/src/models/image-fields.ts +33 -2
  208. package/src/models/image-page-all-of.ts +1 -1
  209. package/src/models/image-page.ts +1 -1
  210. package/src/models/image-source.ts +2 -2
  211. package/src/models/image.ts +10 -10
  212. package/src/models/index.ts +8 -1
  213. package/src/models/match-and-search-request-all-of-images.ts +1 -1
  214. package/src/models/match-and-search-request-all-of.ts +8 -2
  215. package/src/models/match-and-search-request.ts +2 -1
  216. package/src/models/match-and-search-response-all-of-detections.ts +2 -2
  217. package/src/models/match-and-search-response-all-of.ts +1 -1
  218. package/src/models/match-and-search-response.ts +1 -1
  219. package/src/models/match-image-detection.ts +3 -3
  220. package/src/models/match-image-result.ts +20 -20
  221. package/src/models/match-image.ts +8 -2
  222. package/src/models/match-request.ts +3 -3
  223. package/src/models/match-response-all-of.ts +7 -7
  224. package/src/models/match-response.ts +1 -1
  225. package/src/models/operation-log.ts +2 -2
  226. package/src/models/output-image-params.ts +2 -2
  227. package/src/models/page.ts +2 -2
  228. package/src/models/person-all-of.ts +12 -6
  229. package/src/models/person-created-response.ts +43 -0
  230. package/src/models/person-fields.ts +13 -1
  231. package/src/models/person-with-images-all-of.ts +1 -1
  232. package/src/models/person-with-images.ts +1 -1
  233. package/src/models/person.ts +1 -1
  234. package/src/models/persons-page-all-of.ts +1 -1
  235. package/src/models/persons-page.ts +1 -1
  236. package/src/models/process-param.ts +7 -1
  237. package/src/models/quality-config.ts +5 -5
  238. package/src/models/quality-detail.ts +1 -1
  239. package/src/models/quality-details-groups.ts +3 -4
  240. package/src/models/quality-request.ts +2 -2
  241. package/src/models/recognize-image-all-of.ts +3 -3
  242. package/src/models/recognize-image.ts +1 -1
  243. package/src/models/resize-options.ts +42 -0
  244. package/src/models/search-bad-params.ts +42 -0
  245. package/src/models/search-detection.ts +90 -0
  246. package/src/models/search-parameters-create-person.ts +36 -0
  247. package/src/models/search-parameters.ts +7 -12
  248. package/src/models/search-person-all-of.ts +9 -2
  249. package/src/models/search-person.ts +2 -1
  250. package/src/models/search-request.ts +3 -1
  251. package/src/models/search-result.ts +3 -3
  252. package/src/models/transaction-info.ts +78 -0
  253. package/src/models/update-group.ts +5 -5
@@ -4,7 +4,7 @@
4
4
  * Regula FaceSDK Web API
5
5
  * Regula FaceSDK Web API # Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core
6
6
  *
7
- * The version of the OpenAPI document: 4.1.3
7
+ * The version of the OpenAPI document: 5.2.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -87,9 +87,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
87
87
  /**
88
88
  *
89
89
  * @summary Add person image
90
- * @param {number} personId Person ID.
90
+ * @param {string} personId Person ID.
91
91
  * @param {ImageFields} imageFields Image to add.
92
- * @param {string} [xRequestID]
92
+ * @param {string} [xRequestID] Request header label.
93
93
  * @param {*} [options] Override http request option.
94
94
  * @throws {RequiredError}
95
95
  */
@@ -102,8 +102,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
102
102
  assertParamExists('addImageToPerson', 'personId', personId);
103
103
  // verify required parameter 'imageFields' is not null or undefined
104
104
  assertParamExists('addImageToPerson', 'imageFields', imageFields);
105
- localVarPath = "/api/persons/{person_id}/images"
106
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
105
+ localVarPath = "/api/persons/{personId}/images"
106
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
107
107
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
108
108
  if (configuration) {
109
109
  baseOptions = configuration.baseOptions;
@@ -130,7 +130,7 @@ export var PersonApiAxiosParamCreator = function (configuration) {
130
130
  *
131
131
  * @summary Create person
132
132
  * @param {PersonFields} personFields
133
- * @param {string} [xRequestID]
133
+ * @param {string} [xRequestID] Request header label.
134
134
  * @param {*} [options] Override http request option.
135
135
  * @throws {RequiredError}
136
136
  */
@@ -167,9 +167,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
167
167
  /**
168
168
  *
169
169
  * @summary Delete image of person
170
- * @param {number} imageId Image ID.
171
- * @param {number} personId Person ID.
172
- * @param {string} [xRequestID]
170
+ * @param {string} imageId Image ID.
171
+ * @param {string} personId Person ID.
172
+ * @param {string} [xRequestID] Request header label.
173
173
  * @param {*} [options] Override http request option.
174
174
  * @throws {RequiredError}
175
175
  */
@@ -182,9 +182,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
182
182
  assertParamExists('deleteImageOfPerson', 'imageId', imageId);
183
183
  // verify required parameter 'personId' is not null or undefined
184
184
  assertParamExists('deleteImageOfPerson', 'personId', personId);
185
- localVarPath = "/api/persons/{person_id}/images/{image_id}"
186
- .replace("{" + "image_id" + "}", encodeURIComponent(String(imageId)))
187
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
185
+ localVarPath = "/api/persons/{personId}/images/{imageId}"
186
+ .replace("{" + "imageId" + "}", encodeURIComponent(String(imageId)))
187
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
188
188
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
189
189
  if (configuration) {
190
190
  baseOptions = configuration.baseOptions;
@@ -208,8 +208,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
208
208
  /**
209
209
  *
210
210
  * @summary Delete person
211
- * @param {number} personId Person ID.
212
- * @param {string} [xRequestID]
211
+ * @param {string} personId Person ID.
212
+ * @param {string} [xRequestID] Request header label.
213
213
  * @param {*} [options] Override http request option.
214
214
  * @throws {RequiredError}
215
215
  */
@@ -220,8 +220,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
220
220
  return __generator(this, function (_a) {
221
221
  // verify required parameter 'personId' is not null or undefined
222
222
  assertParamExists('deletePerson', 'personId', personId);
223
- localVarPath = "/api/persons/{person_id}"
224
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
223
+ localVarPath = "/api/persons/{personId}"
224
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
225
225
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
226
226
  if (configuration) {
227
227
  baseOptions = configuration.baseOptions;
@@ -247,8 +247,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
247
247
  * @summary Get person groups
248
248
  * @param {number} page The page number to get a list of persons or groups.
249
249
  * @param {number} size The page size with a list of persons or groups, items.
250
- * @param {number} personId Person ID.
251
- * @param {string} [xRequestID]
250
+ * @param {string} personId Person ID.
251
+ * @param {string} [xRequestID] Request header label.
252
252
  * @param {*} [options] Override http request option.
253
253
  * @throws {RequiredError}
254
254
  */
@@ -263,8 +263,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
263
263
  assertParamExists('getAllGroupsByPersonId', 'size', size);
264
264
  // verify required parameter 'personId' is not null or undefined
265
265
  assertParamExists('getAllGroupsByPersonId', 'personId', personId);
266
- localVarPath = "/api/persons/{person_id}/groups"
267
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
266
+ localVarPath = "/api/persons/{personId}/groups"
267
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
268
268
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
269
269
  if (configuration) {
270
270
  baseOptions = configuration.baseOptions;
@@ -296,8 +296,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
296
296
  * @summary Get person images
297
297
  * @param {number} page The page number to get a list of persons or groups.
298
298
  * @param {number} size The page size with a list of persons or groups, items.
299
- * @param {number} personId Person ID.
300
- * @param {string} [xRequestID]
299
+ * @param {string} personId Person ID.
300
+ * @param {string} [xRequestID] Request header label.
301
301
  * @param {*} [options] Override http request option.
302
302
  * @throws {RequiredError}
303
303
  */
@@ -312,53 +312,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
312
312
  assertParamExists('getAllImagesByPersonId', 'size', size);
313
313
  // verify required parameter 'personId' is not null or undefined
314
314
  assertParamExists('getAllImagesByPersonId', 'personId', personId);
315
- localVarPath = "/api/persons/{person_id}/images"
316
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
317
- localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
318
- if (configuration) {
319
- baseOptions = configuration.baseOptions;
320
- }
321
- localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
322
- localVarHeaderParameter = {};
323
- localVarQueryParameter = {};
324
- if (page !== undefined) {
325
- localVarQueryParameter['page'] = page;
326
- }
327
- if (size !== undefined) {
328
- localVarQueryParameter['size'] = size;
329
- }
330
- if (xRequestID !== undefined && xRequestID !== null) {
331
- localVarHeaderParameter['X-RequestID'] = String(xRequestID);
332
- }
333
- setSearchParams(localVarUrlObj, localVarQueryParameter);
334
- headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
335
- localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
336
- return [2 /*return*/, {
337
- url: toPathString(localVarUrlObj),
338
- options: localVarRequestOptions,
339
- }];
340
- });
341
- });
342
- },
343
- /**
344
- *
345
- * @summary Get persons
346
- * @param {number} page The page number to get a list of persons or groups.
347
- * @param {number} size The page size with a list of persons or groups, items.
348
- * @param {string} [xRequestID]
349
- * @param {*} [options] Override http request option.
350
- * @throws {RequiredError}
351
- */
352
- getAllPersons: function (page, size, xRequestID, options) {
353
- if (options === void 0) { options = {}; }
354
- return __awaiter(_this, void 0, void 0, function () {
355
- var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
356
- return __generator(this, function (_a) {
357
- // verify required parameter 'page' is not null or undefined
358
- assertParamExists('getAllPersons', 'page', page);
359
- // verify required parameter 'size' is not null or undefined
360
- assertParamExists('getAllPersons', 'size', size);
361
- localVarPath = "/api/persons";
315
+ localVarPath = "/api/persons/{personId}/images"
316
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
362
317
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
363
318
  if (configuration) {
364
319
  baseOptions = configuration.baseOptions;
@@ -388,9 +343,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
388
343
  /**
389
344
  *
390
345
  * @summary Get person image by id
391
- * @param {number} imageId Image ID.
392
- * @param {number} personId Person ID.
393
- * @param {string} [xRequestID]
346
+ * @param {string} imageId Image ID.
347
+ * @param {string} personId Person ID.
348
+ * @param {string} [xRequestID] Request header label.
394
349
  * @param {*} [options] Override http request option.
395
350
  * @throws {RequiredError}
396
351
  */
@@ -403,9 +358,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
403
358
  assertParamExists('getImageOfPerson', 'imageId', imageId);
404
359
  // verify required parameter 'personId' is not null or undefined
405
360
  assertParamExists('getImageOfPerson', 'personId', personId);
406
- localVarPath = "/api/persons/{person_id}/images/{image_id}"
407
- .replace("{" + "image_id" + "}", encodeURIComponent(String(imageId)))
408
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
361
+ localVarPath = "/api/persons/{personId}/images/{imageId}"
362
+ .replace("{" + "imageId" + "}", encodeURIComponent(String(imageId)))
363
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
409
364
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
410
365
  if (configuration) {
411
366
  baseOptions = configuration.baseOptions;
@@ -429,8 +384,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
429
384
  /**
430
385
  *
431
386
  * @summary Get person
432
- * @param {number} personId Person ID.
433
- * @param {string} [xRequestID]
387
+ * @param {string} personId Person ID.
388
+ * @param {string} [xRequestID] Request header label.
434
389
  * @param {*} [options] Override http request option.
435
390
  * @throws {RequiredError}
436
391
  */
@@ -441,8 +396,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
441
396
  return __generator(this, function (_a) {
442
397
  // verify required parameter 'personId' is not null or undefined
443
398
  assertParamExists('getPerson', 'personId', personId);
444
- localVarPath = "/api/persons/{person_id}"
445
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
399
+ localVarPath = "/api/persons/{personId}"
400
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
446
401
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
447
402
  if (configuration) {
448
403
  baseOptions = configuration.baseOptions;
@@ -466,9 +421,9 @@ export var PersonApiAxiosParamCreator = function (configuration) {
466
421
  /**
467
422
  *
468
423
  * @summary Update person
469
- * @param {number} personId Person ID.
424
+ * @param {string} personId Person ID.
470
425
  * @param {PersonFields} personFields Request body for the Person to update.
471
- * @param {string} [xRequestID]
426
+ * @param {string} [xRequestID] Request header label.
472
427
  * @param {*} [options] Override http request option.
473
428
  * @throws {RequiredError}
474
429
  */
@@ -481,8 +436,8 @@ export var PersonApiAxiosParamCreator = function (configuration) {
481
436
  assertParamExists('updatePerson', 'personId', personId);
482
437
  // verify required parameter 'personFields' is not null or undefined
483
438
  assertParamExists('updatePerson', 'personFields', personFields);
484
- localVarPath = "/api/persons/{person_id}"
485
- .replace("{" + "person_id" + "}", encodeURIComponent(String(personId)));
439
+ localVarPath = "/api/persons/{personId}"
440
+ .replace("{" + "personId" + "}", encodeURIComponent(String(personId)));
486
441
  localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
487
442
  if (configuration) {
488
443
  baseOptions = configuration.baseOptions;
@@ -517,9 +472,9 @@ export var PersonApiFp = function (configuration) {
517
472
  /**
518
473
  *
519
474
  * @summary Add person image
520
- * @param {number} personId Person ID.
475
+ * @param {string} personId Person ID.
521
476
  * @param {ImageFields} imageFields Image to add.
522
- * @param {string} [xRequestID]
477
+ * @param {string} [xRequestID] Request header label.
523
478
  * @param {*} [options] Override http request option.
524
479
  * @throws {RequiredError}
525
480
  */
@@ -540,7 +495,7 @@ export var PersonApiFp = function (configuration) {
540
495
  *
541
496
  * @summary Create person
542
497
  * @param {PersonFields} personFields
543
- * @param {string} [xRequestID]
498
+ * @param {string} [xRequestID] Request header label.
544
499
  * @param {*} [options] Override http request option.
545
500
  * @throws {RequiredError}
546
501
  */
@@ -560,9 +515,9 @@ export var PersonApiFp = function (configuration) {
560
515
  /**
561
516
  *
562
517
  * @summary Delete image of person
563
- * @param {number} imageId Image ID.
564
- * @param {number} personId Person ID.
565
- * @param {string} [xRequestID]
518
+ * @param {string} imageId Image ID.
519
+ * @param {string} personId Person ID.
520
+ * @param {string} [xRequestID] Request header label.
566
521
  * @param {*} [options] Override http request option.
567
522
  * @throws {RequiredError}
568
523
  */
@@ -582,8 +537,8 @@ export var PersonApiFp = function (configuration) {
582
537
  /**
583
538
  *
584
539
  * @summary Delete person
585
- * @param {number} personId Person ID.
586
- * @param {string} [xRequestID]
540
+ * @param {string} personId Person ID.
541
+ * @param {string} [xRequestID] Request header label.
587
542
  * @param {*} [options] Override http request option.
588
543
  * @throws {RequiredError}
589
544
  */
@@ -605,8 +560,8 @@ export var PersonApiFp = function (configuration) {
605
560
  * @summary Get person groups
606
561
  * @param {number} page The page number to get a list of persons or groups.
607
562
  * @param {number} size The page size with a list of persons or groups, items.
608
- * @param {number} personId Person ID.
609
- * @param {string} [xRequestID]
563
+ * @param {string} personId Person ID.
564
+ * @param {string} [xRequestID] Request header label.
610
565
  * @param {*} [options] Override http request option.
611
566
  * @throws {RequiredError}
612
567
  */
@@ -628,8 +583,8 @@ export var PersonApiFp = function (configuration) {
628
583
  * @summary Get person images
629
584
  * @param {number} page The page number to get a list of persons or groups.
630
585
  * @param {number} size The page size with a list of persons or groups, items.
631
- * @param {number} personId Person ID.
632
- * @param {string} [xRequestID]
586
+ * @param {string} personId Person ID.
587
+ * @param {string} [xRequestID] Request header label.
633
588
  * @param {*} [options] Override http request option.
634
589
  * @throws {RequiredError}
635
590
  */
@@ -646,34 +601,12 @@ export var PersonApiFp = function (configuration) {
646
601
  });
647
602
  });
648
603
  },
649
- /**
650
- *
651
- * @summary Get persons
652
- * @param {number} page The page number to get a list of persons or groups.
653
- * @param {number} size The page size with a list of persons or groups, items.
654
- * @param {string} [xRequestID]
655
- * @param {*} [options] Override http request option.
656
- * @throws {RequiredError}
657
- */
658
- getAllPersons: function (page, size, xRequestID, options) {
659
- return __awaiter(this, void 0, void 0, function () {
660
- var localVarAxiosArgs;
661
- return __generator(this, function (_a) {
662
- switch (_a.label) {
663
- case 0: return [4 /*yield*/, localVarAxiosParamCreator.getAllPersons(page, size, xRequestID, options)];
664
- case 1:
665
- localVarAxiosArgs = _a.sent();
666
- return [2 /*return*/, createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)];
667
- }
668
- });
669
- });
670
- },
671
604
  /**
672
605
  *
673
606
  * @summary Get person image by id
674
- * @param {number} imageId Image ID.
675
- * @param {number} personId Person ID.
676
- * @param {string} [xRequestID]
607
+ * @param {string} imageId Image ID.
608
+ * @param {string} personId Person ID.
609
+ * @param {string} [xRequestID] Request header label.
677
610
  * @param {*} [options] Override http request option.
678
611
  * @throws {RequiredError}
679
612
  */
@@ -693,8 +626,8 @@ export var PersonApiFp = function (configuration) {
693
626
  /**
694
627
  *
695
628
  * @summary Get person
696
- * @param {number} personId Person ID.
697
- * @param {string} [xRequestID]
629
+ * @param {string} personId Person ID.
630
+ * @param {string} [xRequestID] Request header label.
698
631
  * @param {*} [options] Override http request option.
699
632
  * @throws {RequiredError}
700
633
  */
@@ -714,9 +647,9 @@ export var PersonApiFp = function (configuration) {
714
647
  /**
715
648
  *
716
649
  * @summary Update person
717
- * @param {number} personId Person ID.
650
+ * @param {string} personId Person ID.
718
651
  * @param {PersonFields} personFields Request body for the Person to update.
719
- * @param {string} [xRequestID]
652
+ * @param {string} [xRequestID] Request header label.
720
653
  * @param {*} [options] Override http request option.
721
654
  * @throws {RequiredError}
722
655
  */
@@ -745,9 +678,9 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
745
678
  /**
746
679
  *
747
680
  * @summary Add person image
748
- * @param {number} personId Person ID.
681
+ * @param {string} personId Person ID.
749
682
  * @param {ImageFields} imageFields Image to add.
750
- * @param {string} [xRequestID]
683
+ * @param {string} [xRequestID] Request header label.
751
684
  * @param {*} [options] Override http request option.
752
685
  * @throws {RequiredError}
753
686
  */
@@ -758,7 +691,7 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
758
691
  *
759
692
  * @summary Create person
760
693
  * @param {PersonFields} personFields
761
- * @param {string} [xRequestID]
694
+ * @param {string} [xRequestID] Request header label.
762
695
  * @param {*} [options] Override http request option.
763
696
  * @throws {RequiredError}
764
697
  */
@@ -768,9 +701,9 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
768
701
  /**
769
702
  *
770
703
  * @summary Delete image of person
771
- * @param {number} imageId Image ID.
772
- * @param {number} personId Person ID.
773
- * @param {string} [xRequestID]
704
+ * @param {string} imageId Image ID.
705
+ * @param {string} personId Person ID.
706
+ * @param {string} [xRequestID] Request header label.
774
707
  * @param {*} [options] Override http request option.
775
708
  * @throws {RequiredError}
776
709
  */
@@ -780,8 +713,8 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
780
713
  /**
781
714
  *
782
715
  * @summary Delete person
783
- * @param {number} personId Person ID.
784
- * @param {string} [xRequestID]
716
+ * @param {string} personId Person ID.
717
+ * @param {string} [xRequestID] Request header label.
785
718
  * @param {*} [options] Override http request option.
786
719
  * @throws {RequiredError}
787
720
  */
@@ -793,8 +726,8 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
793
726
  * @summary Get person groups
794
727
  * @param {number} page The page number to get a list of persons or groups.
795
728
  * @param {number} size The page size with a list of persons or groups, items.
796
- * @param {number} personId Person ID.
797
- * @param {string} [xRequestID]
729
+ * @param {string} personId Person ID.
730
+ * @param {string} [xRequestID] Request header label.
798
731
  * @param {*} [options] Override http request option.
799
732
  * @throws {RequiredError}
800
733
  */
@@ -806,32 +739,20 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
806
739
  * @summary Get person images
807
740
  * @param {number} page The page number to get a list of persons or groups.
808
741
  * @param {number} size The page size with a list of persons or groups, items.
809
- * @param {number} personId Person ID.
810
- * @param {string} [xRequestID]
742
+ * @param {string} personId Person ID.
743
+ * @param {string} [xRequestID] Request header label.
811
744
  * @param {*} [options] Override http request option.
812
745
  * @throws {RequiredError}
813
746
  */
814
747
  getAllImagesByPersonId: function (page, size, personId, xRequestID, options) {
815
748
  return localVarFp.getAllImagesByPersonId(page, size, personId, xRequestID, options).then(function (request) { return request(axios, basePath); });
816
749
  },
817
- /**
818
- *
819
- * @summary Get persons
820
- * @param {number} page The page number to get a list of persons or groups.
821
- * @param {number} size The page size with a list of persons or groups, items.
822
- * @param {string} [xRequestID]
823
- * @param {*} [options] Override http request option.
824
- * @throws {RequiredError}
825
- */
826
- getAllPersons: function (page, size, xRequestID, options) {
827
- return localVarFp.getAllPersons(page, size, xRequestID, options).then(function (request) { return request(axios, basePath); });
828
- },
829
750
  /**
830
751
  *
831
752
  * @summary Get person image by id
832
- * @param {number} imageId Image ID.
833
- * @param {number} personId Person ID.
834
- * @param {string} [xRequestID]
753
+ * @param {string} imageId Image ID.
754
+ * @param {string} personId Person ID.
755
+ * @param {string} [xRequestID] Request header label.
835
756
  * @param {*} [options] Override http request option.
836
757
  * @throws {RequiredError}
837
758
  */
@@ -841,8 +762,8 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
841
762
  /**
842
763
  *
843
764
  * @summary Get person
844
- * @param {number} personId Person ID.
845
- * @param {string} [xRequestID]
765
+ * @param {string} personId Person ID.
766
+ * @param {string} [xRequestID] Request header label.
846
767
  * @param {*} [options] Override http request option.
847
768
  * @throws {RequiredError}
848
769
  */
@@ -852,9 +773,9 @@ export var PersonApiFactory = function (configuration, basePath, axios) {
852
773
  /**
853
774
  *
854
775
  * @summary Update person
855
- * @param {number} personId Person ID.
776
+ * @param {string} personId Person ID.
856
777
  * @param {PersonFields} personFields Request body for the Person to update.
857
- * @param {string} [xRequestID]
778
+ * @param {string} [xRequestID] Request header label.
858
779
  * @param {*} [options] Override http request option.
859
780
  * @throws {RequiredError}
860
781
  */
@@ -877,9 +798,9 @@ var PersonApi = /** @class */ (function (_super) {
877
798
  /**
878
799
  *
879
800
  * @summary Add person image
880
- * @param {number} personId Person ID.
801
+ * @param {string} personId Person ID.
881
802
  * @param {ImageFields} imageFields Image to add.
882
- * @param {string} [xRequestID]
803
+ * @param {string} [xRequestID] Request header label.
883
804
  * @param {*} [options] Override http request option.
884
805
  * @throws {RequiredError}
885
806
  * @memberof PersonApi
@@ -892,7 +813,7 @@ var PersonApi = /** @class */ (function (_super) {
892
813
  *
893
814
  * @summary Create person
894
815
  * @param {PersonFields} personFields
895
- * @param {string} [xRequestID]
816
+ * @param {string} [xRequestID] Request header label.
896
817
  * @param {*} [options] Override http request option.
897
818
  * @throws {RequiredError}
898
819
  * @memberof PersonApi
@@ -904,9 +825,9 @@ var PersonApi = /** @class */ (function (_super) {
904
825
  /**
905
826
  *
906
827
  * @summary Delete image of person
907
- * @param {number} imageId Image ID.
908
- * @param {number} personId Person ID.
909
- * @param {string} [xRequestID]
828
+ * @param {string} imageId Image ID.
829
+ * @param {string} personId Person ID.
830
+ * @param {string} [xRequestID] Request header label.
910
831
  * @param {*} [options] Override http request option.
911
832
  * @throws {RequiredError}
912
833
  * @memberof PersonApi
@@ -918,8 +839,8 @@ var PersonApi = /** @class */ (function (_super) {
918
839
  /**
919
840
  *
920
841
  * @summary Delete person
921
- * @param {number} personId Person ID.
922
- * @param {string} [xRequestID]
842
+ * @param {string} personId Person ID.
843
+ * @param {string} [xRequestID] Request header label.
923
844
  * @param {*} [options] Override http request option.
924
845
  * @throws {RequiredError}
925
846
  * @memberof PersonApi
@@ -933,8 +854,8 @@ var PersonApi = /** @class */ (function (_super) {
933
854
  * @summary Get person groups
934
855
  * @param {number} page The page number to get a list of persons or groups.
935
856
  * @param {number} size The page size with a list of persons or groups, items.
936
- * @param {number} personId Person ID.
937
- * @param {string} [xRequestID]
857
+ * @param {string} personId Person ID.
858
+ * @param {string} [xRequestID] Request header label.
938
859
  * @param {*} [options] Override http request option.
939
860
  * @throws {RequiredError}
940
861
  * @memberof PersonApi
@@ -948,8 +869,8 @@ var PersonApi = /** @class */ (function (_super) {
948
869
  * @summary Get person images
949
870
  * @param {number} page The page number to get a list of persons or groups.
950
871
  * @param {number} size The page size with a list of persons or groups, items.
951
- * @param {number} personId Person ID.
952
- * @param {string} [xRequestID]
872
+ * @param {string} personId Person ID.
873
+ * @param {string} [xRequestID] Request header label.
953
874
  * @param {*} [options] Override http request option.
954
875
  * @throws {RequiredError}
955
876
  * @memberof PersonApi
@@ -958,26 +879,12 @@ var PersonApi = /** @class */ (function (_super) {
958
879
  var _this = this;
959
880
  return PersonApiFp(this.configuration).getAllImagesByPersonId(page, size, personId, xRequestID, options).then(function (request) { return request(_this.axios, _this.basePath); });
960
881
  };
961
- /**
962
- *
963
- * @summary Get persons
964
- * @param {number} page The page number to get a list of persons or groups.
965
- * @param {number} size The page size with a list of persons or groups, items.
966
- * @param {string} [xRequestID]
967
- * @param {*} [options] Override http request option.
968
- * @throws {RequiredError}
969
- * @memberof PersonApi
970
- */
971
- PersonApi.prototype.getAllPersons = function (page, size, xRequestID, options) {
972
- var _this = this;
973
- return PersonApiFp(this.configuration).getAllPersons(page, size, xRequestID, options).then(function (request) { return request(_this.axios, _this.basePath); });
974
- };
975
882
  /**
976
883
  *
977
884
  * @summary Get person image by id
978
- * @param {number} imageId Image ID.
979
- * @param {number} personId Person ID.
980
- * @param {string} [xRequestID]
885
+ * @param {string} imageId Image ID.
886
+ * @param {string} personId Person ID.
887
+ * @param {string} [xRequestID] Request header label.
981
888
  * @param {*} [options] Override http request option.
982
889
  * @throws {RequiredError}
983
890
  * @memberof PersonApi
@@ -989,8 +896,8 @@ var PersonApi = /** @class */ (function (_super) {
989
896
  /**
990
897
  *
991
898
  * @summary Get person
992
- * @param {number} personId Person ID.
993
- * @param {string} [xRequestID]
899
+ * @param {string} personId Person ID.
900
+ * @param {string} [xRequestID] Request header label.
994
901
  * @param {*} [options] Override http request option.
995
902
  * @throws {RequiredError}
996
903
  * @memberof PersonApi
@@ -1002,9 +909,9 @@ var PersonApi = /** @class */ (function (_super) {
1002
909
  /**
1003
910
  *
1004
911
  * @summary Update person
1005
- * @param {number} personId Person ID.
912
+ * @param {string} personId Person ID.
1006
913
  * @param {PersonFields} personFields Request body for the Person to update.
1007
- * @param {string} [xRequestID]
914
+ * @param {string} [xRequestID] Request header label.
1008
915
  * @param {*} [options] Override http request option.
1009
916
  * @throws {RequiredError}
1010
917
  * @memberof PersonApi
@@ -1016,4 +923,4 @@ var PersonApi = /** @class */ (function (_super) {
1016
923
  return PersonApi;
1017
924
  }(BaseAPI));
1018
925
  export { PersonApi };
1019
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcGVyc29uLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCOzs7Ozs7Ozs7O0dBVUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHSCxPQUFPLFdBQWdFLE1BQU0sT0FBTyxDQUFDO0FBRXJGLHlEQUF5RDtBQUN6RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBb0YsZUFBZSxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3TixhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBbUMsT0FBTyxFQUFpQixNQUFNLFNBQVMsQ0FBQztBQWlCN0Y7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sMEJBQTBCLEdBQUcsVUFBVSxhQUE2QjtJQUF2QyxpQkFxY3pDO0lBcGNHLE9BQU87UUFDSDs7Ozs7Ozs7V0FRRztRQUNILGdCQUFnQixFQUFFLFVBQU8sUUFBZ0IsRUFBRSxXQUF3QixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDdEgsZ0VBQWdFO29CQUNoRSxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7b0JBQzNELG1FQUFtRTtvQkFDbkUsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO29CQUMzRCxZQUFZLEdBQUcsaUNBQWlDO3lCQUNqRCxPQUFPLENBQUMsTUFBSSxXQUFXLE1BQUcsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVqRSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUU3RCxJQUFJLGFBQWEsRUFBRTt3QkFDZixXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztxQkFDM0M7b0JBRUssc0JBQXNCLHVCQUFLLE1BQU0sRUFBRSxNQUFNLElBQUssV0FBVyxHQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUN2RSx1QkFBdUIsR0FBRyxFQUFTLENBQUM7b0JBQ3BDLHNCQUFzQixHQUFHLEVBQVMsQ0FBQztvQkFFekMsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7d0JBQ2pELHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDL0Q7b0JBSUQsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEdBQUcsa0JBQWtCLENBQUM7b0JBRTdELGVBQWUsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztvQkFDcEQsc0JBQXNCLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDM0Ysc0JBQXNCLENBQUMsT0FBTyxrQ0FBTyx1QkFBdUIsR0FBSyxzQkFBc0IsR0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzdHLHNCQUFzQixDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxDQUFDLENBQUE7b0JBRXZHLHNCQUFPOzRCQUNILEdBQUcsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDOzRCQUNqQyxPQUFPLEVBQUUsc0JBQXNCO3lCQUNsQyxFQUFDOzs7U0FDTDtRQUNEOzs7Ozs7O1dBT0c7UUFDSCxZQUFZLEVBQUUsVUFBTyxZQUEwQixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDbEcsb0VBQW9FO29CQUNwRSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFBO29CQUN6RCxZQUFZLEdBQUcsY0FBYyxDQUFDO29CQUU5QixjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUU3RCxJQUFJLGFBQWEsRUFBRTt3QkFDZixXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztxQkFDM0M7b0JBRUssc0JBQXNCLHVCQUFLLE1BQU0sRUFBRSxNQUFNLElBQUssV0FBVyxHQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUN2RSx1QkFBdUIsR0FBRyxFQUFTLENBQUM7b0JBQ3BDLHNCQUFzQixHQUFHLEVBQVMsQ0FBQztvQkFFekMsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7d0JBQ2pELHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDL0Q7b0JBSUQsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEdBQUcsa0JBQWtCLENBQUM7b0JBRTdELGVBQWUsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztvQkFDcEQsc0JBQXNCLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDM0Ysc0JBQXNCLENBQUMsT0FBTyxrQ0FBTyx1QkFBdUIsR0FBSyxzQkFBc0IsR0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzdHLHNCQUFzQixDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxDQUFDLENBQUE7b0JBRXhHLHNCQUFPOzRCQUNILEdBQUcsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDOzRCQUNqQyxPQUFPLEVBQUUsc0JBQXNCO3lCQUNsQyxFQUFDOzs7U0FDTDtRQUNEOzs7Ozs7OztXQVFHO1FBQ0gsbUJBQW1CLEVBQUUsVUFBTyxPQUFlLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQWdDO1lBQWhDLHdCQUFBLEVBQUEsWUFBZ0M7Ozs7b0JBQ2hILCtEQUErRDtvQkFDL0QsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO29CQUM1RCxnRUFBZ0U7b0JBQ2hFLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFDeEQsWUFBWSxHQUFHLDRDQUE0Qzt5QkFDNUQsT0FBTyxDQUFDLE1BQUksVUFBVSxNQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7eUJBQy9ELE9BQU8sQ0FBQyxNQUFJLFdBQVcsTUFBRyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRWpFLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBRTdELElBQUksYUFBYSxFQUFFO3dCQUNmLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO3FCQUMzQztvQkFFSyxzQkFBc0IsdUJBQUssTUFBTSxFQUFFLFFBQVEsSUFBSyxXQUFXLEdBQUssT0FBTyxDQUFDLENBQUM7b0JBQ3pFLHVCQUF1QixHQUFHLEVBQVMsQ0FBQztvQkFDcEMsc0JBQXNCLEdBQUcsRUFBUyxDQUFDO29CQUV6QyxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTt3QkFDakQsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUMvRDtvQkFJRCxlQUFlLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7b0JBQ3BELHNCQUFzQixHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzNGLHNCQUFzQixDQUFDLE9BQU8sa0NBQU8sdUJBQXVCLEdBQUssc0JBQXNCLEdBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUU3RyxzQkFBTzs0QkFDSCxHQUFHLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FBQzs0QkFDakMsT0FBTyxFQUFFLHNCQUFzQjt5QkFDbEMsRUFBQzs7O1NBQ0w7UUFDRDs7Ozs7OztXQU9HO1FBQ0gsWUFBWSxFQUFFLFVBQU8sUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQWdDO1lBQWhDLHdCQUFBLEVBQUEsWUFBZ0M7Ozs7b0JBQ3hGLGdFQUFnRTtvQkFDaEUsaUJBQWlCLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFDakQsWUFBWSxHQUFHLDBCQUEwQjt5QkFDMUMsT0FBTyxDQUFDLE1BQUksV0FBVyxNQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFakUsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsUUFBUSxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDekUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO3dCQUNqRCx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQy9EO29CQUlELGVBQWUsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztvQkFDcEQsc0JBQXNCLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDM0Ysc0JBQXNCLENBQUMsT0FBTyxrQ0FBTyx1QkFBdUIsR0FBSyxzQkFBc0IsR0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRTdHLHNCQUFPOzRCQUNILEdBQUcsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDOzRCQUNqQyxPQUFPLEVBQUUsc0JBQXNCO3lCQUNsQyxFQUFDOzs7U0FDTDtRQUNEOzs7Ozs7Ozs7V0FTRztRQUNILHNCQUFzQixFQUFFLFVBQU8sSUFBWSxFQUFFLElBQVksRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDOUgsNERBQTREO29CQUM1RCxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3pELDREQUE0RDtvQkFDNUQsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN6RCxnRUFBZ0U7b0JBQ2hFLGlCQUFpQixDQUFDLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFDM0QsWUFBWSxHQUFHLGlDQUFpQzt5QkFDakQsT0FBTyxDQUFDLE1BQUksV0FBVyxNQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFakUsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsS0FBSyxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdEUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTt3QkFDcEIsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO3FCQUN6QztvQkFFRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQ3BCLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDekM7b0JBRUQsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7d0JBQ2pELHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDL0Q7b0JBSUQsZUFBZSxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO29CQUNwRCxzQkFBc0IsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzRixzQkFBc0IsQ0FBQyxPQUFPLGtDQUFPLHVCQUF1QixHQUFLLHNCQUFzQixHQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFN0csc0JBQU87NEJBQ0gsR0FBRyxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUM7NEJBQ2pDLE9BQU8sRUFBRSxzQkFBc0I7eUJBQ2xDLEVBQUM7OztTQUNMO1FBQ0Q7Ozs7Ozs7OztXQVNHO1FBQ0gsc0JBQXNCLEVBQUUsVUFBTyxJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUFnQztZQUFoQyx3QkFBQSxFQUFBLFlBQWdDOzs7O29CQUM5SCw0REFBNEQ7b0JBQzVELGlCQUFpQixDQUFDLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtvQkFDekQsNERBQTREO29CQUM1RCxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3pELGdFQUFnRTtvQkFDaEUsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUMzRCxZQUFZLEdBQUcsaUNBQWlDO3lCQUNqRCxPQUFPLENBQUMsTUFBSSxXQUFXLE1BQUcsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVqRSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUU3RCxJQUFJLGFBQWEsRUFBRTt3QkFDZixXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztxQkFDM0M7b0JBRUssc0JBQXNCLHVCQUFLLE1BQU0sRUFBRSxLQUFLLElBQUssV0FBVyxHQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUN0RSx1QkFBdUIsR0FBRyxFQUFTLENBQUM7b0JBQ3BDLHNCQUFzQixHQUFHLEVBQVMsQ0FBQztvQkFFekMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO3dCQUNwQixzQkFBc0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7cUJBQ3pDO29CQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTt3QkFDcEIsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO3FCQUN6QztvQkFFRCxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTt3QkFDakQsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUMvRDtvQkFJRCxlQUFlLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7b0JBQ3BELHNCQUFzQixHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzNGLHNCQUFzQixDQUFDLE9BQU8sa0NBQU8sdUJBQXVCLEdBQUssc0JBQXNCLEdBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUU3RyxzQkFBTzs0QkFDSCxHQUFHLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FBQzs0QkFDakMsT0FBTyxFQUFFLHNCQUFzQjt5QkFDbEMsRUFBQzs7O1NBQ0w7UUFDRDs7Ozs7Ozs7V0FRRztRQUNILGFBQWEsRUFBRSxVQUFPLElBQVksRUFBRSxJQUFZLEVBQUUsVUFBbUIsRUFBRSxPQUFnQztZQUFoQyx3QkFBQSxFQUFBLFlBQWdDOzs7O29CQUNuRyw0REFBNEQ7b0JBQzVELGlCQUFpQixDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ2hELDREQUE0RDtvQkFDNUQsaUJBQWlCLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtvQkFDMUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztvQkFFOUIsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsS0FBSyxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdEUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTt3QkFDcEIsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO3FCQUN6QztvQkFFRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQ3BCLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDekM7b0JBRUQsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7d0JBQ2pELHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDL0Q7b0JBSUQsZUFBZSxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO29CQUNwRCxzQkFBc0IsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzRixzQkFBc0IsQ0FBQyxPQUFPLGtDQUFPLHVCQUF1QixHQUFLLHNCQUFzQixHQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFN0csc0JBQU87NEJBQ0gsR0FBRyxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUM7NEJBQ2pDLE9BQU8sRUFBRSxzQkFBc0I7eUJBQ2xDLEVBQUM7OztTQUNMO1FBQ0Q7Ozs7Ozs7O1dBUUc7UUFDSCxnQkFBZ0IsRUFBRSxVQUFPLE9BQWUsRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDN0csK0RBQStEO29CQUMvRCxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7b0JBQ3pELGdFQUFnRTtvQkFDaEUsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUNyRCxZQUFZLEdBQUcsNENBQTRDO3lCQUM1RCxPQUFPLENBQUMsTUFBSSxVQUFVLE1BQUcsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzt5QkFDL0QsT0FBTyxDQUFDLE1BQUksV0FBVyxNQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFakUsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsS0FBSyxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdEUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO3dCQUNqRCx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQy9EO29CQUlELGVBQWUsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztvQkFDcEQsc0JBQXNCLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDM0Ysc0JBQXNCLENBQUMsT0FBTyxrQ0FBTyx1QkFBdUIsR0FBSyxzQkFBc0IsR0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRTdHLHNCQUFPOzRCQUNILEdBQUcsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDOzRCQUNqQyxPQUFPLEVBQUUsc0JBQXNCO3lCQUNsQyxFQUFDOzs7U0FDTDtRQUNEOzs7Ozs7O1dBT0c7UUFDSCxTQUFTLEVBQUUsVUFBTyxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDckYsZ0VBQWdFO29CQUNoRSxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUM5QyxZQUFZLEdBQUcsMEJBQTBCO3lCQUMxQyxPQUFPLENBQUMsTUFBSSxXQUFXLE1BQUcsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVqRSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUU3RCxJQUFJLGFBQWEsRUFBRTt3QkFDZixXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztxQkFDM0M7b0JBRUssc0JBQXNCLHVCQUFLLE1BQU0sRUFBRSxLQUFLLElBQUssV0FBVyxHQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUN0RSx1QkFBdUIsR0FBRyxFQUFTLENBQUM7b0JBQ3BDLHNCQUFzQixHQUFHLEVBQVMsQ0FBQztvQkFFekMsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7d0JBQ2pELHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDL0Q7b0JBSUQsZUFBZSxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO29CQUNwRCxzQkFBc0IsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzRixzQkFBc0IsQ0FBQyxPQUFPLGtDQUFPLHVCQUF1QixHQUFLLHNCQUFzQixHQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFN0csc0JBQU87NEJBQ0gsR0FBRyxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUM7NEJBQ2pDLE9BQU8sRUFBRSxzQkFBc0I7eUJBQ2xDLEVBQUM7OztTQUNMO1FBQ0Q7Ozs7Ozs7O1dBUUc7UUFDSCxZQUFZLEVBQUUsVUFBTyxRQUFnQixFQUFFLFlBQTBCLEVBQUUsVUFBbUIsRUFBRSxPQUFnQztZQUFoQyx3QkFBQSxFQUFBLFlBQWdDOzs7O29CQUNwSCxnRUFBZ0U7b0JBQ2hFLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7b0JBQ3ZELG9FQUFvRTtvQkFDcEUsaUJBQWlCLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQTtvQkFDekQsWUFBWSxHQUFHLDBCQUEwQjt5QkFDMUMsT0FBTyxDQUFDLE1BQUksV0FBVyxNQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFakUsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsS0FBSyxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdEUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO3dCQUNqRCx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQy9EO29CQUlELHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO29CQUU3RCxlQUFlLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7b0JBQ3BELHNCQUFzQixHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzNGLHNCQUFzQixDQUFDLE9BQU8sa0NBQU8sdUJBQXVCLEdBQUssc0JBQXNCLEdBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM3RyxzQkFBc0IsQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUMsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGFBQWEsQ0FBQyxDQUFBO29CQUV4RyxzQkFBTzs0QkFDSCxHQUFHLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FBQzs0QkFDakMsT0FBTyxFQUFFLHNCQUFzQjt5QkFDbEMsRUFBQzs7O1NBQ0w7S0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLFVBQVMsYUFBNkI7SUFDN0QsSUFBTSx5QkFBeUIsR0FBRywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMzRSxPQUFPO1FBQ0g7Ozs7Ozs7O1dBUUc7UUFDRyxnQkFBZ0IsRUFBdEIsVUFBdUIsUUFBZ0IsRUFBRSxXQUF3QixFQUFFLFVBQW1CLEVBQUUsT0FBNEI7Ozs7O2dDQUN0RixxQkFBTSx5QkFBeUIsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBQTs7NEJBQWhILGlCQUFpQixHQUFHLFNBQTRGOzRCQUN0SCxzQkFBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFDOzs7O1NBQzFGO1FBQ0Q7Ozs7Ozs7V0FPRztRQUNHLFlBQVksRUFBbEIsVUFBbUIsWUFBMEIsRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDbEUscUJBQU0seUJBQXlCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUE7OzRCQUFuRyxpQkFBaUIsR0FBRyxTQUErRTs0QkFDekcsc0JBQU8scUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBQzs7OztTQUMxRjtRQUNEOzs7Ozs7OztXQVFHO1FBQ0csbUJBQW1CLEVBQXpCLFVBQTBCLE9BQWUsRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBNEI7Ozs7O2dDQUNoRixxQkFBTSx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBQTs7NEJBQS9HLGlCQUFpQixHQUFHLFNBQTJGOzRCQUNySCxzQkFBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFDOzs7O1NBQzFGO1FBQ0Q7Ozs7Ozs7V0FPRztRQUNHLFlBQVksRUFBbEIsVUFBbUIsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDeEQscUJBQU0seUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUE7OzRCQUEvRixpQkFBaUIsR0FBRyxTQUEyRTs0QkFDckcsc0JBQU8scUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBQzs7OztTQUMxRjtRQUNEOzs7Ozs7Ozs7V0FTRztRQUNHLHNCQUFzQixFQUE1QixVQUE2QixJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUE0Qjs7Ozs7Z0NBQzlGLHFCQUFNLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBQTs7NEJBQXJILGlCQUFpQixHQUFHLFNBQWlHOzRCQUMzSCxzQkFBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFDOzs7O1NBQzFGO1FBQ0Q7Ozs7Ozs7OztXQVNHO1FBQ0csc0JBQXNCLEVBQTVCLFVBQTZCLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDOUYscUJBQU0seUJBQXlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFBOzs0QkFBckgsaUJBQWlCLEdBQUcsU0FBaUc7NEJBQzNILHNCQUFPLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLEVBQUM7Ozs7U0FDMUY7UUFDRDs7Ozs7Ozs7V0FRRztRQUNHLGFBQWEsRUFBbkIsVUFBb0IsSUFBWSxFQUFFLElBQVksRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDbkUscUJBQU0seUJBQXlCLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFBOzs0QkFBbEcsaUJBQWlCLEdBQUcsU0FBOEU7NEJBQ3hHLHNCQUFPLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLEVBQUM7Ozs7U0FDMUY7UUFDRDs7Ozs7Ozs7V0FRRztRQUNHLGdCQUFnQixFQUF0QixVQUF1QixPQUFlLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDN0UscUJBQU0seUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUE7OzRCQUE1RyxpQkFBaUIsR0FBRyxTQUF3Rjs0QkFDbEgsc0JBQU8scUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBQzs7OztTQUMxRjtRQUNEOzs7Ozs7O1dBT0c7UUFDRyxTQUFTLEVBQWYsVUFBZ0IsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQTRCOzs7OztnQ0FDckQscUJBQU0seUJBQXlCLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUE7OzRCQUE1RixpQkFBaUIsR0FBRyxTQUF3RTs0QkFDbEcsc0JBQU8scUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFBQzs7OztTQUMxRjtRQUNEOzs7Ozs7OztXQVFHO1FBQ0csWUFBWSxFQUFsQixVQUFtQixRQUFnQixFQUFFLFlBQTBCLEVBQUUsVUFBbUIsRUFBRSxPQUE0Qjs7Ozs7Z0NBQ3BGLHFCQUFNLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBQTs7NEJBQTdHLGlCQUFpQixHQUFHLFNBQXlGOzRCQUNuSCxzQkFBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFDOzs7O1NBQzFGO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQVUsYUFBNkIsRUFBRSxRQUFpQixFQUFFLEtBQXFCO0lBQzdHLElBQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM3QyxPQUFPO1FBQ0g7Ozs7Ozs7O1dBUUc7UUFDSCxnQkFBZ0IsRUFBaEIsVUFBaUIsUUFBZ0IsRUFBRSxXQUF3QixFQUFFLFVBQW1CLEVBQUUsT0FBYTtZQUMzRixPQUFPLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDL0gsQ0FBQztRQUNEOzs7Ozs7O1dBT0c7UUFDSCxZQUFZLEVBQVosVUFBYSxZQUEwQixFQUFFLFVBQW1CLEVBQUUsT0FBYTtZQUN2RSxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDbEgsQ0FBQztRQUNEOzs7Ozs7OztXQVFHO1FBQ0gsbUJBQW1CLEVBQW5CLFVBQW9CLE9BQWUsRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBYTtZQUNyRixPQUFPLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDOUgsQ0FBQztRQUNEOzs7Ozs7O1dBT0c7UUFDSCxZQUFZLEVBQVosVUFBYSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBYTtZQUM3RCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDOUcsQ0FBQztRQUNEOzs7Ozs7Ozs7V0FTRztRQUNILHNCQUFzQixFQUF0QixVQUF1QixJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUFhO1lBQ25HLE9BQU8sVUFBVSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDcEksQ0FBQztRQUNEOzs7Ozs7Ozs7V0FTRztRQUNILHNCQUFzQixFQUF0QixVQUF1QixJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUFhO1lBQ25HLE9BQU8sVUFBVSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDcEksQ0FBQztRQUNEOzs7Ozs7OztXQVFHO1FBQ0gsYUFBYSxFQUFiLFVBQWMsSUFBWSxFQUFFLElBQVksRUFBRSxVQUFtQixFQUFFLE9BQWE7WUFDeEUsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQXhCLENBQXdCLENBQUMsQ0FBQztRQUNqSCxDQUFDO1FBQ0Q7Ozs7Ozs7O1dBUUc7UUFDSCxnQkFBZ0IsRUFBaEIsVUFBaUIsT0FBZSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUFhO1lBQ2xGLE9BQU8sVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQXhCLENBQXdCLENBQUMsQ0FBQztRQUMzSCxDQUFDO1FBQ0Q7Ozs7Ozs7V0FPRztRQUNILFNBQVMsRUFBVCxVQUFVLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUFhO1lBQzFELE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQXhCLENBQXdCLENBQUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0Q7Ozs7Ozs7O1dBUUc7UUFDSCxZQUFZLEVBQVosVUFBYSxRQUFnQixFQUFFLFlBQTBCLEVBQUUsVUFBbUIsRUFBRSxPQUFhO1lBQ3pGLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDNUgsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNIO0lBQStCLDZCQUFPO0lBQXRDOztJQTJJQSxDQUFDO0lBMUlHOzs7Ozs7Ozs7T0FTRztJQUNJLG9DQUFnQixHQUF2QixVQUF3QixRQUFnQixFQUFFLFdBQXdCLEVBQUUsVUFBbUIsRUFBRSxPQUE0QjtRQUFySCxpQkFFQztRQURHLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQWxDLENBQWtDLENBQUMsQ0FBQztJQUM5SixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxnQ0FBWSxHQUFuQixVQUFvQixZQUEwQixFQUFFLFVBQW1CLEVBQUUsT0FBNEI7UUFBakcsaUJBRUM7UUFERyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLEtBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxFQUFsQyxDQUFrQyxDQUFDLENBQUM7SUFDakosQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHVDQUFtQixHQUExQixVQUEyQixPQUFlLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQixFQUFFLE9BQTRCO1FBQS9HLGlCQUVDO1FBREcsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFJLENBQUMsS0FBSyxFQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxDQUFDO0lBQzdKLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGdDQUFZLEdBQW5CLFVBQW9CLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUE0QjtRQUF2RixpQkFFQztRQURHLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQWxDLENBQWtDLENBQUMsQ0FBQztJQUM3SSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLDBDQUFzQixHQUE3QixVQUE4QixJQUFZLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUE0QjtRQUE3SCxpQkFFQztRQURHLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLEtBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxFQUFsQyxDQUFrQyxDQUFDLENBQUM7SUFDbkssQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSwwQ0FBc0IsR0FBN0IsVUFBOEIsSUFBWSxFQUFFLElBQVksRUFBRSxRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBNEI7UUFBN0gsaUJBRUM7UUFERyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFJLENBQUMsS0FBSyxFQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxDQUFDO0lBQ25LLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxpQ0FBYSxHQUFwQixVQUFxQixJQUFZLEVBQUUsSUFBWSxFQUFFLFVBQW1CLEVBQUUsT0FBNEI7UUFBbEcsaUJBRUM7UUFERyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFJLENBQUMsS0FBSyxFQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxDQUFDO0lBQ2hKLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxvQ0FBZ0IsR0FBdkIsVUFBd0IsT0FBZSxFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxPQUE0QjtRQUE1RyxpQkFFQztRQURHLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQWxDLENBQWtDLENBQUMsQ0FBQztJQUMxSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSw2QkFBUyxHQUFoQixVQUFpQixRQUFnQixFQUFFLFVBQW1CLEVBQUUsT0FBNEI7UUFBcEYsaUJBRUM7UUFERyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLEtBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxFQUFsQyxDQUFrQyxDQUFDLENBQUM7SUFDMUksQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGdDQUFZLEdBQW5CLFVBQW9CLFFBQWdCLEVBQUUsWUFBMEIsRUFBRSxVQUFtQixFQUFFLE9BQTRCO1FBQW5ILGlCQUVDO1FBREcsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLEVBQWxDLENBQWtDLENBQUMsQ0FBQztJQUMzSixDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQUFDLEFBM0lELENBQStCLE9BQU8sR0EySXJDIn0=
926
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcGVyc29uLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCOzs7Ozs7Ozs7O0dBVUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHSCxPQUFPLFdBQWdFLE1BQU0sT0FBTyxDQUFDO0FBRXJGLHlEQUF5RDtBQUN6RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBb0YsZUFBZSxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3TixhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBbUMsT0FBTyxFQUFpQixNQUFNLFNBQVMsQ0FBQztBQWU3Rjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSwwQkFBMEIsR0FBRyxVQUFVLGFBQTZCO0lBQXZDLGlCQW9aekM7SUFuWkcsT0FBTztRQUNIOzs7Ozs7OztXQVFHO1FBQ0gsZ0JBQWdCLEVBQUUsVUFBTyxRQUFnQixFQUFFLFdBQXdCLEVBQUUsVUFBbUIsRUFBRSxPQUFnQztZQUFoQyx3QkFBQSxFQUFBLFlBQWdDOzs7O29CQUN0SCxnRUFBZ0U7b0JBQ2hFLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFDM0QsbUVBQW1FO29CQUNuRSxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7b0JBQzNELFlBQVksR0FBRyxnQ0FBZ0M7eUJBQ2hELE9BQU8sQ0FBQyxNQUFJLFVBQVUsTUFBRyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRWhFLGNBQWMsR0FBRyxJQUFJLEdBQUcs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