@provoly/dashboard 1.3.24 → 1.3.25

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.
@@ -105,9 +105,10 @@ export class AdminService {
105
105
  .pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/model/class`), clazz)));
106
106
  }
107
107
  saveAttributeForClass(classId, attribute) {
108
- return this.store
109
- .select(ConfigSelectors.refUrl)
110
- .pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/model/class/id/${classId}/attribute`), attribute)));
108
+ return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/model/class/id/${classId}/attribute`), {
109
+ ...attribute,
110
+ field: attribute.field.id
111
+ })));
111
112
  }
112
113
  deleteClass(id) {
113
114
  return this.store
@@ -173,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
173
174
  providedIn: 'root'
174
175
  }]
175
176
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBS0wsZUFBZSxFQVNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsVUFBc0IsRUFBVSxLQUFpQjtRQUFqRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUFHLENBQUM7SUFFekUsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBb0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLEdBQUcsR0FBRyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENB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QyxDQUFDLENBQUM7SUFDckYsQ0FBQzs4R0FqTVUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIEF0dHJpYnV0ZSxcbiAgQ2F0ZWdvcnksXG4gIENsYXNzLFxuICBDb25maWdTZWxlY3RvcnMsXG4gIEVudmlyb25tZW50LFxuICBJTWV0YWRhdGEsXG4gIExpbmssXG4gIExpbmtEZXRhaWxzLFxuICBNZXRhZGF0YVJ1bGVzLFxuICBNZXRhZGF0YVJ1bGVzQ3JlYXRlLFxuICBQcmVkaWNhdGUsXG4gIFVzZXJJbmZvXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJhY1J1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2FkbWluLWFiYWMtcnVsZXMvc3RvcmUvYWJhYy1ydWxlcy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55Pikge31cblxuICBnZXRQcmVkaWNhdGVzKCk6IE9ic2VydmFibGU8UHJlZGljYXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxQcmVkaWNhdGVbXT4oYCR7dXJsfS9wcmVkaWNhdGVzYCkpKTtcbiAgfVxuXG4gIHNhdmVQcmVkaWNhdGUocHJlZGljYXRlOiBQcmVkaWNhdGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oYCR7dXJsfS9wcmVkaWNhdGVzYCwgcHJlZGljYXRlKSkpO1xuICB9XG5cbiAgZ2V0UHJlZGljYXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZWRpY2F0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFByZWRpY2F0ZT4oYCR7dXJsfS9wcmVkaWNhdGVzL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIGdldFVzZXJNZXRhZGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oYCR7dXJsfS91c2Vycy9tZXRhZGF0YWApKSk7XG4gIH1cblxuICBnZXRVc2VyTWV0YWRhdGFEZWYoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SU1ldGFkYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8SU1ldGFkYXRhPihgJHt1cmx9L3VzZXJzL21ldGFkYXRhLyR7aWR9YCkpKTtcbiAgfVxuXG4gIHBvc3RVc2VyTWV0YWRhdGEobWV0YWRhdGE6IElNZXRhZGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L3VzZXJzL21ldGFkYXRhYCwgbWV0YWRhdGEpKSk7XG4gIH1cblxuICBnZXRFbnZpcm9ubWVudHMoKTogT2JzZXJ2YWJsZTxFbnZpcm9ubWVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RW52aXJvbm1lbnRbXT4oYCR7dXJsfS9hYmFjL2NvbnRleHRgKSkpO1xuICB9XG5cbiAgc2F2ZUVudmlyb25tZW50KGVudjogRW52aXJvbm1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihgJHt1cmx9L2FiYWMvY29udGV4dGAsIGVudikpKTtcbiAgfVxuXG4gIGdldEVudmlyb25tZW50KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8RW52aXJvbm1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxFbnZpcm9ubWVudD4oYCR7dXJsfS9hYmFjL2NvbnRleHQvJHtuYW1lfWApKSk7XG4gIH1cblxuICBkZWxldGVFbnZpcm9ubWVudChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihgJHt1cmx9L2FiYWMvY29udGV4dC8ke25hbWV9YCkpKTtcbiAgfVxuXG4gIGdldEFiYWNSdWxlcygpOiBPYnNlcnZhYmxlPEFiYWNSdWxlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBYmFjUnVsZVtdPihgJHt1cmx9L2FiYWMvcnVsZXNgKSkpO1xuICB9XG5cbiAgZ2V0QWJhY1J1bGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QWJhY1J1bGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBYmFjUnVsZT4oYCR7dXJsfS9hYmFjL3J1bGVzL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIHNhdmVBYmFjUnVsZShydWxlOiBBYmFjUnVsZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L2FiYWMvcnVsZXNgLCBydWxlKSkpO1xuICB9XG5cbiAgZ2V0Q2xhc3NBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L21vZGVsL2NsYXNzLyR7aWR9L2Fzc29jaWF0aW9uc2ApKSk7XG4gIH1cblxuICBnZXREYXRhc2V0QXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9kYXRhc2V0cy8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0RmllbGRBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L21vZGVsL2ZpZWxkcy8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0QXR0cmlidXRlQXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9tb2RlbC9hdHRyaWJ1dGUvJHtpZH0vYXNzb2NpYXRpb25zYCkpKTtcbiAgfVxuXG4gIGdldENsYXNzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENsYXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8Q2xhc3M+KGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgc2F2ZUNsYXNzKGNsYXp6OiBDbGFzcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzc2ApLCBjbGF6eikpKTtcbiAgfVxuXG4gIHNhdmVBdHRyaWJ1dGVGb3JDbGFzcyhjbGFzc0lkOiBzdHJpbmcsIGF0dHJpYnV0ZTogQXR0cmlidXRlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NsYXNzL2lkLyR7Y2xhc3NJZH0vYXR0cmlidXRlYCksIGF0dHJpYnV0ZSkpXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlQ2xhc3MoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NsYXNzL2lkLyR7aWR9YCkpKSk7XG4gIH1cblxuICBkZWxldGVBdHRyaWJ1dGVGb3JDbGFzcyhjbGFzc0lkOiBzdHJpbmcsIGF0dHJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtjbGFzc0lkfS9hdHRyaWJ1dGUvaWQvJHthdHRySWR9YCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBzYXZlQ2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2F0ZWdvcmllc2ApLCBjYXRlZ29yeSkpKTtcbiAgfVxuXG4gIGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlckluZm9bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFVzZXJJbmZvW10+KGAke3VybH0vdXNlcnNgKSkpO1xuICB9XG5cbiAgZ2V0TGlua3MoKTogT2JzZXJ2YWJsZTxMaW5rRGV0YWlsc1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TGlua0RldGFpbHNbXT4oYCR7dXJsfS9saW5rc2ApKSk7XG4gIH1cblxuICBzYXZlTGluayhsaW5rOiBMaW5rKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wb3N0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L2xpbmtzYCksIGxpbmspKSk7XG4gIH1cblxuICBhZGRNZXRhZGF0YVJ1bGVzKG1ldGFkYXRhUnVsZXM6IE1ldGFkYXRhUnVsZXNDcmVhdGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbWV0YS1wcm92aXNpb25pbmdgKSwgbWV0YWRhdGFSdWxlcykpKTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhUnVsZXNMaXN0KCk6IE9ic2VydmFibGU8TWV0YWRhdGFSdWxlc1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TWV0YWRhdGFSdWxlc1tdPihgJHt1cmx9L21ldGEtcHJvdmlzaW9uaW5nYCkpKTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhUnVsZXMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TWV0YWRhdGFSdWxlcz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PE1ldGFkYXRhUnVsZXM+KGAke3VybH0vbWV0YS1wcm92aXNpb25pbmcvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgZGVsZXRlTWV0YWRhdGFSdWxlcyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8TWV0YWRhdGFSdWxlcz4oYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZy9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBnZXRTdG9yYWdlT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxzdHJpbmdbXT4oYCR7dXJsfS9tb2RlbC9zdG9yYWdlc2ApKSk7XG4gIH1cbn1cbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBS0wsZUFBZSxFQVNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxVQUFzQixFQUN0QixLQUFpQjtRQURqQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFDeEIsQ0FBQztJQUVKLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQW9CO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxHQUFHLEdBQUcsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxD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QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBVyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzs4R0F2TVUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIEF0dHJpYnV0ZSxcbiAgQ2F0ZWdvcnksXG4gIENsYXNzLFxuICBDb25maWdTZWxlY3RvcnMsXG4gIEVudmlyb25tZW50LFxuICBJTWV0YWRhdGEsXG4gIExpbmssXG4gIExpbmtEZXRhaWxzLFxuICBNZXRhZGF0YVJ1bGVzLFxuICBNZXRhZGF0YVJ1bGVzQ3JlYXRlLFxuICBQcmVkaWNhdGUsXG4gIFVzZXJJbmZvXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJhY1J1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2FkbWluLWFiYWMtcnVsZXMvc3RvcmUvYWJhYy1ydWxlcy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+XG4gICkge31cblxuICBnZXRQcmVkaWNhdGVzKCk6IE9ic2VydmFibGU8UHJlZGljYXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxQcmVkaWNhdGVbXT4oYCR7dXJsfS9wcmVkaWNhdGVzYCkpKTtcbiAgfVxuXG4gIHNhdmVQcmVkaWNhdGUocHJlZGljYXRlOiBQcmVkaWNhdGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oYCR7dXJsfS9wcmVkaWNhdGVzYCwgcHJlZGljYXRlKSkpO1xuICB9XG5cbiAgZ2V0UHJlZGljYXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZWRpY2F0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFByZWRpY2F0ZT4oYCR7dXJsfS9wcmVkaWNhdGVzL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIGdldFVzZXJNZXRhZGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oYCR7dXJsfS91c2Vycy9tZXRhZGF0YWApKSk7XG4gIH1cblxuICBnZXRVc2VyTWV0YWRhdGFEZWYoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SU1ldGFkYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8SU1ldGFkYXRhPihgJHt1cmx9L3VzZXJzL21ldGFkYXRhLyR7aWR9YCkpKTtcbiAgfVxuXG4gIHBvc3RVc2VyTWV0YWRhdGEobWV0YWRhdGE6IElNZXRhZGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L3VzZXJzL21ldGFkYXRhYCwgbWV0YWRhdGEpKSk7XG4gIH1cblxuICBnZXRFbnZpcm9ubWVudHMoKTogT2JzZXJ2YWJsZTxFbnZpcm9ubWVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RW52aXJvbm1lbnRbXT4oYCR7dXJsfS9hYmFjL2NvbnRleHRgKSkpO1xuICB9XG5cbiAgc2F2ZUVudmlyb25tZW50KGVudjogRW52aXJvbm1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihgJHt1cmx9L2FiYWMvY29udGV4dGAsIGVudikpKTtcbiAgfVxuXG4gIGdldEVudmlyb25tZW50KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8RW52aXJvbm1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxFbnZpcm9ubWVudD4oYCR7dXJsfS9hYmFjL2NvbnRleHQvJHtuYW1lfWApKSk7XG4gIH1cblxuICBkZWxldGVFbnZpcm9ubWVudChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihgJHt1cmx9L2FiYWMvY29udGV4dC8ke25hbWV9YCkpKTtcbiAgfVxuXG4gIGdldEFiYWNSdWxlcygpOiBPYnNlcnZhYmxlPEFiYWNSdWxlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBYmFjUnVsZVtdPihgJHt1cmx9L2FiYWMvcnVsZXNgKSkpO1xuICB9XG5cbiAgZ2V0QWJhY1J1bGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QWJhY1J1bGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBYmFjUnVsZT4oYCR7dXJsfS9hYmFjL3J1bGVzL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIHNhdmVBYmFjUnVsZShydWxlOiBBYmFjUnVsZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L2FiYWMvcnVsZXNgLCBydWxlKSkpO1xuICB9XG5cbiAgZ2V0Q2xhc3NBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L21vZGVsL2NsYXNzLyR7aWR9L2Fzc29jaWF0aW9uc2ApKSk7XG4gIH1cblxuICBnZXREYXRhc2V0QXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9kYXRhc2V0cy8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0RmllbGRBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L21vZGVsL2ZpZWxkcy8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0QXR0cmlidXRlQXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9tb2RlbC9hdHRyaWJ1dGUvJHtpZH0vYXNzb2NpYXRpb25zYCkpKTtcbiAgfVxuXG4gIGdldENsYXNzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENsYXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8Q2xhc3M+KGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgc2F2ZUNsYXNzKGNsYXp6OiBDbGFzcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzc2ApLCBjbGF6eikpKTtcbiAgfVxuXG4gIHNhdmVBdHRyaWJ1dGVGb3JDbGFzcyhjbGFzc0lkOiBzdHJpbmcsIGF0dHJpYnV0ZTogQXR0cmlidXRlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NsYXNzL2lkLyR7Y2xhc3NJZH0vYXR0cmlidXRlYCksIHtcbiAgICAgICAgICAuLi5hdHRyaWJ1dGUsXG4gICAgICAgICAgZmllbGQ6IGF0dHJpYnV0ZS5maWVsZC5pZFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVDbGFzcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGRlbGV0ZUF0dHJpYnV0ZUZvckNsYXNzKGNsYXNzSWQ6IHN0cmluZywgYXR0cklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzcy9pZC8ke2NsYXNzSWR9L2F0dHJpYnV0ZS9pZC8ke2F0dHJJZH1gKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHNhdmVDYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jYXRlZ29yaWVzYCksIGNhdGVnb3J5KSkpO1xuICB9XG5cbiAgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlckluZm9bXT4oYCR7dXJsfS91c2Vyc2ApKSk7XG4gIH1cblxuICBnZXRMaW5rcygpOiBPYnNlcnZhYmxlPExpbmtEZXRhaWxzW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxMaW5rRGV0YWlsc1tdPihgJHt1cmx9L2xpbmtzYCkpKTtcbiAgfVxuXG4gIHNhdmVMaW5rKGxpbms6IExpbmspOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbGlua3NgKSwgbGluaykpKTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhUnVsZXMobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlc0NyZWF0ZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZ2ApLCBtZXRhZGF0YVJ1bGVzKSkpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFSdWxlc0xpc3QoKTogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxNZXRhZGF0YVJ1bGVzW10+KGAke3VybH0vbWV0YS1wcm92aXNpb25pbmdgKSkpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFSdWxlcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TWV0YWRhdGFSdWxlcz4oYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZy9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBkZWxldGVNZXRhZGF0YVJ1bGVzKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxNZXRhZGF0YVJ1bGVzPihgJHt1cmx9L21ldGEtcHJvdmlzaW9uaW5nL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIGdldFN0b3JhZ2VPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PHN0cmluZ1tdPihgJHt1cmx9L21vZGVsL3N0b3JhZ2VzYCkpKTtcbiAgfVxufVxuIl19
@@ -79,7 +79,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
79
79
  excludeGeo: false,
80
80
  from: 'PryDatasetDetailComponent.refresh()'
81
81
  }));
82
- this.store.dispatch(DataSourceActions.dataset.listVersions({}));
82
+ this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));
83
83
  }
84
84
  switch(number) {
85
85
  this.tab = number;
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
173
173
  }], goToCatalog: [{
174
174
  type: Output
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFtQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFvQ3JFLFlBQ1UsS0FBWSxFQUM0QixNQUFxQixFQUM3RCxNQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDNEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUM3RCxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQXJDeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsTUFBTSxFQUFF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UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXZMVSx5QkFBeUIsdUNBc0NkLGdCQUFnQjtrR0F0QzNCLHlCQUF5QiwwSkMzQnRDLGd2VEFrUUE7OzJGRHZPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkF5QzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3dFQXJDN0IsT0FBTztzQkFBZixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgUmVzdWx0U2V0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXNldC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhc2V0ITogRGF0YXNldDtcbiAgQE91dHB1dCgpIGdvVG9DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB3aWRnZXRNYW5pZmVzdCA9IHtcbiAgICB0YWJsZToge1xuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH0sXG4gICAgbWFwOiB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxMiwgd2lkdGg6IDEyIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH07XG4gIHByb3RlY3RlZCByZWFkb25seSBWaWV3TW9kZSA9IFZpZXdNb2RlO1xuICBjb21wSWQ6IG51bWJlciA9IDA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgZGF0YXNldEl0ZW1zJDogT2JzZXJ2YWJsZTxSZXN1bHRTZXRzIHwgbnVsbD47XG4gIHB1YmxpYyBkYXRhc2V0VmVyc2lvbnMkITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICBjYW5Nb2RpZnkkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBpc1BhbmVsT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByb3RlY3RlZCBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXNoYm9hcmRFZGl0aW9uTW9kZSkuc3Vic2NyaWJlKChlZGl0aW9uTW9kZSkgPT4ge1xuICAgICAgICBpZiAoZWRpdGlvbk1vZGUpIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSh7fSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYW5Nb2RpZnkkID0gdGhpcy5hY2Nlc3M/LmNhbk1vZGlmeURhdGFzZXQodGhpcy5kYXRhc2V0KSA/PyBvZihmYWxzZSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9uc0J5RGF0YXNldElkKHsgaWQ6IHRoaXMuZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlbW92ZUZpbHRlcnMoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50Lm5nT25Jbml0KCknXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoe30pKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50LnJlZnJlc2goKSdcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKHt9KSk7XG4gIH1cblxuICBzd2l0Y2gobnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhYiA9IG51bWJlcjtcbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbkFjdGlvbigkZXZlbnQ6IEV2ZW50LCB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YXNldFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHN3aXRjaCAodmVyc2lvbi5zdGF0ZSkge1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdJTkFDVElWRSc6XG4gICAgICAgIHRoaXMuYWN0aXZhdGVWZXJzaW9uKHZlcnNpb24pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN1bHRFcnJvcnMoJGV2ZW50OiBFdmVudCwgdmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kaWFsb2cub3BlbihQcnlTdGF0dXNNb2RhbENvbXBvbmVudCwgeyBkYXRhOiB7IHZlcnNpb246IHZlcnNpb24gfSB9KTtcbiAgfVxuXG4gIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbiwgYWN0aXZlVmVyc2lvbklkPzogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgcmV0dXJuIHZlcnNpb24uaWQgPT09IGFjdGl2ZVZlcnNpb25JZCA/ICdhY3RpdmUnIDogJ2luYWN0aXZlJztcbiAgICAgIGNhc2UgJ0xPQURJTkcnOlxuICAgICAgY2FzZSAnSU5ERVhJTkcnOlxuICAgICAgICByZXR1cm4gJ2xvYWRpbmcnO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd1bmtub3duJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5hY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25UYWJTd2l0Y2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICBpZiAoWzAsIDEsIDJdLmluY2x1ZGVzKCRldmVudCkpIHtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQYW5lbChzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbikge1xuICAgIGlmIChzZWxlY3RlZFZlcnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gc2VsZWN0ZWRWZXJzaW9uO1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9ICF0aGlzLmlzUGFuZWxPcGVuO1xuICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZWRpdFZlcnNpb24oKSB7XG4gICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gdHJ1ZTtcbiAgfVxuXG4gIGZvcm1WYWxpZGF0ZWQoJGV2ZW50OiBQYXJ0aWFsPERhdGFzZXRWZXJzaW9uPikge1xuICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICB9XG5cbiAgYXNrRGVsZXRlKHZlcnNpb246IERhdGFzZXRWZXJzaW9uLCAkZXZlbnQ/OiBFdmVudCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5jb25maXJtRGVsZXRlVmVyc2lvbih7IHZlcnNpb24gfSkpO1xuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj57eyAnQHByeS5kYXRhc2V0LnJldHVyblRvTGlzdCcgfCBpMThuIH19PC9idXR0b24+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInJlZnJlc2goKVwiPlxuICAgIHt7ICdAcHJ5LmRhdGFzZXQucmVmcmVzaCcgfCBpMThuIH19XG4gICAgPHByeS1pY29uIGljb25Tdmc9XCJzeW5jaHJvXCI+PC9wcnktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1sYXlvdXRcIj5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1sYXlvdXRfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYS1wXCI+XG4gICAgICA8aDIgY2xhc3M9XCJhLWgxXCI+e3sgZGF0YXNldC5uYW1lIH19PC9oMj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWRldGFpbF9fY29udGVudFwiPlxuICAgICAgICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmRhdGFzZXQuXCIgKGNsaWNrZWRUYWJJZHgpPVwib25UYWJTd2l0Y2goJGV2ZW50KVwiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJpbmZvcm1hdGlvblwiIG5hbWU9XCJpbmZvcm1hdGlvblwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwidGFibGVcIiBuYW1lPVwiZGF0YVwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwibWFwXCIgbmFtZT1cIm1hcFwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldFZlcnNpb25zXCIgbmFtZT1cInZlcnNpb25IaXN0b3J5XCI+PC9wcnktdGFiPlxuICAgICAgICA8L3ByeS10YWItZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAoaXNQYW5lbE9wZW4pIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fcGFuZWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9faGVhZGVyIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgPGgzPnt7ICdAcHJ5LmRhdGFzZXQuaW5mb3JtYXRpb24nIHwgaTE4biB9fTwvaDM+XG4gICAgICAgIDxidXR0b24gcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFuZWxfX2NvbnRlbnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICBAaWYgKCFpc0VkaXRpbmdWZXJzaW9uKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICAgKHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/P1xuICAgICAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgIHNlbGVjdGVkVmVyc2lvbj8uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2FkbWluJywgcGFnZTogJ2xpc3QtZGF0YXNldCcsIGFjdGlvbjogJ2VkaXRfdmVyc2lvbicgfVwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdFZlcnNpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLmVkaXQnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8cHJ5LWRhdGFzZXQtdmVyc2lvbi1mb3JtXG4gICAgICAgICAgICBbdmVyc2lvbl09XCJzZWxlY3RlZFZlcnNpb25cIlxuICAgICAgICAgICAgKGZvcm1WYWxpZGF0ZWQpPVwiZm9ybVZhbGlkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9wcnktZGF0YXNldC12ZXJzaW9uLWZvcm0+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbmZvcm1hdGlvbj5cbiAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW4gby1kYXRhc2V0LWRldGFpbF9faW5mb3JtYXRpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgZGF0YXNldC5kZXNjcmlwdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoZGF0YXNldC5hY3RpdmVWZXJzaW9uKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAoZGF0YXNldC5hY3RpdmVWZXJzaW9uLnByb2R1Y3Rpb25EYXRlIHwgZGF0ZTogJ2RkLU1NLXl5eXksIEhIOm1tJykgPz9cbiAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0LmFjdGl2ZVZlcnNpb24ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2ZXJzaW9uLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgZGF0YXNldC5hY3RpdmVWZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIHwgbWRUb0h0bWxcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgPHA+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC50YWdzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXdyYXBcIj5cbiAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgZGF0YXNldC5jYXRlZ29yaWVzOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwIC1tZFwiPiB7eyBjYXRlZ29yeS5uYW1lIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiBjbGFzcz1cImRhdGFzZXQtZGV0YWlsX190YWJsZSB0YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJhLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24udGl0bGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmVyc2lvbiBvZiBkYXRhc2V0VmVyc2lvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCh2ZXJzaW9uKVwiXG4gICAgICAgICAgW2NsYXNzLi1zZWxlY3RlZF09XCJ2ZXJzaW9uLmlkID09PSBzZWxlY3RlZFZlcnNpb24/LmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7IHZlcnNpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiZGF0YXNldC5hY3RpdmVWZXJzaW9uPy5pZCA9PT0gdmVyc2lvbi5pZFwiIGljb25Tdmc9XCJjaGVja1wiIGNsYXNzPVwiY2hlY2tcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImEtdG9vbHRpcFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJ2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IHNpbmNlRGF0ZTogeyBvbmx5TG9jYWxlOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAodmVyc2lvbi5pZCA9PT0gZGF0YXNldC5hY3RpdmVWZXJzaW9uPy5pZFxuICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLmN1cnJlbnRseUFjdGl2ZSdcbiAgICAgICAgICAgICAgICA6ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZVxuICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLWluZm8taWNvbiBhLXRvb2x0aXAgLXRvb2x0aXAtd2lkdGgtbWRcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgJ0BwcnkuZGF0YXNldC50b29sdGlwLicgKyBnZXRWZXJzaW9uVG9vbHRpcENvbnRlbnQodmVyc2lvbiwgZGF0YXNldC5hY3RpdmVWZXJzaW9uPy5pZCkgfCBpMThuXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdMT0FESU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdJTkRFWElORycgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnRVJST1InICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0RFTEVUSU5HJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoY2FuTW9kaWZ5JCB8IGFzeW5jKSAmJiAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnYWN0aXZhdGUnIH1cIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkFjdGlvbigkZXZlbnQsIHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uJyArIHZlcnNpb24uc3RhdGUgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1sZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC50b29sdGlwLmludmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC50b29sdGlwLnZhbGlkYXRlQnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB8IGkxOG5cbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPmk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmVyc2lvbi5oYXNXYXJuaW5ncyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uc3VsdEVycm9ycygkZXZlbnQsIHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyA/ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLkVSUk9SJyA6ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLldBUk5JTkcnKVxuICAgICAgICAgICAgICAgICAgICB8IGkxOG5cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChjYW5Nb2RpZnkkIHwgYXN5bmMpICYmXG4gICAgICAgICAgICAgICAgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUicgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJylcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhc2tEZWxldGUodmVyc2lvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi5kZWxldGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFtQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFvQ3JFLFlBQ1UsS0FBWSxFQUM0QixNQUFxQixFQUM3RCxNQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDNEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUM3RCxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQXJDeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsTUFBTSxFQUFF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SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF1QixFQUFFLE1BQWM7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXZMVSx5QkFBeUIsdUNBc0NkLGdCQUFnQjtrR0F0QzNCLHlCQUF5QiwwSkMzQnRDLGd2VEFrUUE7OzJGRHZPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkF5QzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3dFQXJDN0IsT0FBTztzQkFBZixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgUmVzdWx0U2V0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXNldC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhc2V0ITogRGF0YXNldDtcbiAgQE91dHB1dCgpIGdvVG9DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB3aWRnZXRNYW5pZmVzdCA9IHtcbiAgICB0YWJsZToge1xuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH0sXG4gICAgbWFwOiB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxMiwgd2lkdGg6IDEyIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH07XG4gIHByb3RlY3RlZCByZWFkb25seSBWaWV3TW9kZSA9IFZpZXdNb2RlO1xuICBjb21wSWQ6IG51bWJlciA9IDA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgZGF0YXNldEl0ZW1zJDogT2JzZXJ2YWJsZTxSZXN1bHRTZXRzIHwgbnVsbD47XG4gIHB1YmxpYyBkYXRhc2V0VmVyc2lvbnMkITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICBjYW5Nb2RpZnkkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBpc1BhbmVsT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByb3RlY3RlZCBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXNoYm9hcmRFZGl0aW9uTW9kZSkuc3Vic2NyaWJlKChlZGl0aW9uTW9kZSkgPT4ge1xuICAgICAgICBpZiAoZWRpdGlvbk1vZGUpIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSh7fSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYW5Nb2RpZnkkID0gdGhpcy5hY2Nlc3M/LmNhbk1vZGlmeURhdGFzZXQodGhpcy5kYXRhc2V0KSA/PyBvZihmYWxzZSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9uc0J5RGF0YXNldElkKHsgaWQ6IHRoaXMuZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlbW92ZUZpbHRlcnMoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50Lm5nT25Jbml0KCknXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoe30pKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50LnJlZnJlc2goKSdcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zQnlEYXRhc2V0SWQoeyBpZDogdGhpcy5kYXRhc2V0LmlkIH0pKTtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudDogRXZlbnQsIHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0VmVyc2lvbiA9IHZlcnNpb247XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICB0aGlzLmRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb24pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0lOQUNUSVZFJzpcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3VsdEVycm9ycygkZXZlbnQ6IEV2ZW50LCB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVN0YXR1c01vZGFsQ29tcG9uZW50LCB7IGRhdGE6IHsgdmVyc2lvbjogdmVyc2lvbiB9IH0pO1xuICB9XG5cbiAgZ2V0VmVyc2lvblRvb2x0aXBDb250ZW50KHZlcnNpb246IERhdGFzZXRWZXJzaW9uLCBhY3RpdmVWZXJzaW9uSWQ/OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0VSUk9SJzpcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICByZXR1cm4gdmVyc2lvbi5pZCA9PT0gYWN0aXZlVmVyc2lvbklkID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnO1xuICAgICAgY2FzZSAnTE9BRElORyc6XG4gICAgICBjYXNlICdJTkRFWElORyc6XG4gICAgICAgIHJldHVybiAnbG9hZGluZyc7XG4gICAgICBjYXNlICdJTkFDVElWRSc6XG4gICAgICAgIHJldHVybiAnaW52YWxpZCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3Vua25vd24nO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5kZWFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblRhYlN3aXRjaCgkZXZlbnQ6IG51bWJlcikge1xuICAgIGlmIChbMCwgMSwgMl0uaW5jbHVkZXMoJGV2ZW50KSkge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBhbmVsKHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgaWYgKHNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSBzZWxlY3RlZFZlcnNpb247XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gIXRoaXMuaXNQYW5lbE9wZW47XG4gICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBlZGl0VmVyc2lvbigpIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSB0cnVlO1xuICB9XG5cbiAgZm9ybVZhbGlkYXRlZCgkZXZlbnQ6IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+KSB7XG4gICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gZmFsc2U7XG4gIH1cblxuICBhc2tEZWxldGUodmVyc2lvbjogRGF0YXNldFZlcnNpb24sICRldmVudD86IEV2ZW50KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmNvbmZpcm1EZWxldGVWZXJzaW9uKHsgdmVyc2lvbiB9KSk7XG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJnb0JhY2soKVwiPnt7ICdAcHJ5LmRhdGFzZXQucmV0dXJuVG9MaXN0JyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAge3sgJ0BwcnkuZGF0YXNldC5yZWZyZXNoJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dFwiPlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImEtaDFcIj57eyBkYXRhc2V0Lm5hbWUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1kZXRhaWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsX19jb250ZW50XCI+XG4gICAgICAgIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuZGF0YXNldC5cIiAoY2xpY2tlZFRhYklkeCk9XCJvblRhYlN3aXRjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImluZm9ybWF0aW9uXCIgbmFtZT1cImluZm9ybWF0aW9uXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJ0YWJsZVwiIG5hbWU9XCJkYXRhXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtYXBcIiBuYW1lPVwibWFwXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0VmVyc2lvbnNcIiBuYW1lPVwidmVyc2lvbkhpc3RvcnlcIj48L3ByeS10YWI+XG4gICAgICAgIDwvcHJ5LXRhYi1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChpc1BhbmVsT3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsX19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkuZGF0YXNldC5pbmZvcm1hdGlvbicgfCBpMThuIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9fY29udGVudCB1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWlzRWRpdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAoc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/XG4gICAgICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1pbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uPy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB8IG1kVG9IdG1sXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnZWRpdF92ZXJzaW9uJyB9XCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSB1LXNlbGYtZW5kXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0VmVyc2lvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxwcnktZGF0YXNldC12ZXJzaW9uLWZvcm1cbiAgICAgICAgICAgIFt2ZXJzaW9uXT1cInNlbGVjdGVkVmVyc2lvblwiXG4gICAgICAgICAgICAoZm9ybVZhbGlkYXRlZCk9XCJmb3JtVmFsaWRhdGVkKCRldmVudClcIlxuICAgICAgICAgID48L3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2luZm9ybWF0aW9uPlxuICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtbiBvLWRhdGFzZXQtZGV0YWlsX19pbmZvcm1hdGlvblwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8c3Bhbj57eyBkYXRhc2V0LmRlc2NyaXB0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgQGlmIChkYXRhc2V0LmFjdGl2ZVZlcnNpb24pIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgIChkYXRhc2V0LmFjdGl2ZVZlcnNpb24ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/P1xuICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y2VyJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGRhdGFzZXQuYWN0aXZlVmVyc2lvbi5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICBkYXRhc2V0LmFjdGl2ZVZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFxuICAgICAgICAgIFwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cImEtcFwiPlxuICAgICAgICA8cD57eyAnQHByeS5kYXRhc2V0Lm5vQWN0aXZlVmVyc2lvbicgfCBpMThuIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnRhZ3MnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtd3JhcFwiPlxuICAgICAgICBAZm9yIChjYXRlZ29yeSBvZiBkYXRhc2V0LmNhdGVnb3JpZXM7IHRyYWNrIGNhdGVnb3J5LmlkKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXAgLW1kXCI+IHt7IGNhdGVnb3J5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGU+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtY29udGFpbmVyXCI+XG4gICAgPHByeS1kYXNoYm9hcmQgW3N0YXRpY0Rhc2hib2FyZF09XCJ7IHdpZGdldHM6IFt3aWRnZXRNYW5pZmVzdFsndGFibGUnXV0gfVwiPjwvcHJ5LWRhc2hib2FyZD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNtYXA+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtY29udGFpbmVyXCI+XG4gICAgPHByeS1kYXNoYm9hcmQgW3N0YXRpY0Rhc2hib2FyZF09XCJ7IHdpZGdldHM6IFt3aWRnZXRNYW5pZmVzdFsnbWFwJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGF0YXNldFZlcnNpb25zPlxuICA8ZGl2IGNsYXNzPVwiZGF0YXNldC1kZXRhaWxfX3RhYmxlIHRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICB9fVxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5kYXRlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnN0YXR1cycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0clxuICAgICAgICAgICpuZ0Zvcj1cImxldCB2ZXJzaW9uIG9mIGRhdGFzZXRWZXJzaW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKHZlcnNpb24pXCJcbiAgICAgICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cInZlcnNpb24uaWQgPT09IHNlbGVjdGVkVmVyc2lvbj8uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8cHJ5LWljb24gKm5nSWY9XCJkYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkID09PSB2ZXJzaW9uLmlkXCIgaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cInZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfVwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICh2ZXJzaW9uLmlkID09PSBkYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkXG4gICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnZlcnNpb24uc3RhdGUuY3VycmVudGx5QWN0aXZlJ1xuICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLicgKyB2ZXJzaW9uLnN0YXRlXG4gICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInZlcnNpb24uc3RhdGUgIT09ICdERUxFVElORydcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1tZFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAnQHByeS5kYXRhc2V0LnRvb2x0aXAuJyArIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uLCBkYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkKSB8IGkxOG5cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0xPQURJTkcnICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdFUlJPUicgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihjYW5Nb2RpZnkkIHwgYXN5bmMpICYmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdsaXN0LWRhdGFzZXQnLCBhY3Rpb246ICdhY3RpdmF0ZScgfVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLWxnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnRvb2x0aXAuaW52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnQHByeS5kYXRhc2V0LnRvb2x0aXAudmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLmhhc1dhcm5pbmdzIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUidcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25zdWx0RXJyb3JzKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKGNhbk1vZGlmeSQgfCBhc3luYykgJiZcbiAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFza0RlbGV0ZSh2ZXJzaW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLmRlbGV0ZScgfCBpMThuIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -153,16 +153,15 @@ export class PryImportFormComponent extends SubscriptionnerDirective {
153
153
  if (this.showMessage)
154
154
  this.showMessage = false;
155
155
  }
156
- multipleImportChange() {
157
- this.multipleImports = !this.multipleImports;
158
- this.multipleImportsValue.emit(this.multipleImports);
156
+ multipleImportChange(checkBoxValue) {
157
+ this.multipleImportsValue.emit(checkBoxValue);
159
158
  }
160
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportFormComponent, deps: [{ token: i1.Store }, { token: i2.DataSourceService }, { token: i2.PrySnackbarService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportFormComponent, selector: "pry-import-form", outputs: { multipleImportsValue: "multipleImportsValue", formSubmitted: "formSubmitted" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (click)=\"multipleImportChange()\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "component", type: i6.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportFormComponent, selector: "pry-import-form", outputs: { multipleImportsValue: "multipleImportsValue", formSubmitted: "formSubmitted" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (ngModelChange)=\"multipleImportChange($event)\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "component", type: i6.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
162
161
  }
163
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportFormComponent, decorators: [{
164
163
  type: Component,
165
- args: [{ selector: 'pry-import-form', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (click)=\"multipleImportChange()\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n" }]
164
+ args: [{ selector: 'pry-import-form', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (ngModelChange)=\"multipleImportChange($event)\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n" }]
166
165
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.DataSourceService }, { type: i2.PrySnackbarService }, { type: i2.PryI18nService }], propDecorators: { message: [{
167
166
  type: ViewChild,
168
167
  args: ['message']
@@ -171,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
171
170
  }], formSubmitted: [{
172
171
  type: Output
173
172
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvZm9ybS9pbXBvcnQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9mb3JtL2ltcG9ydC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsU0FBUyxFQUNULGNBQWMsRUFHZCx3QkFBd0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBa0JyRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBNkNsRSxZQUNVLEtBQVksRUFDWixTQUE0QixFQUM1QixRQUE0QixFQUM1QixXQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQUxBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUE1Q3JDLGdCQUFXLEdBQVks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MUQsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxTQUFTO2FBQ1gsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0ExS1Usc0JBQXNCO2tHQUF0QixzQkFBc0IsNlFDbkNuQywyckpBNEdBOzsyRkR6RWEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLGlCQUFpQjt3S0FPTCxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBc0NWLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YXNldCxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERhdGFTb3VyY2VTZXJ2aWNlLFxuICBEYXRlVXRpbHMsXG4gIFByeURhdGFzZXRUeXBlLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1wb3J0QWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2ltcG9ydC5hY3Rpb25zJztcbmltcG9ydCB7IEltcG9ydFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2ltcG9ydC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbnR5cGUgRmlsZUV4dGVuc2lvbiA9ICdjc3YnIHwgJ3ppcCc7XG5cbmludGVyZmFjZSBJbXBvcnRGb3JtIHtcbiAgZmlsZVR5cGU6IEZvcm1Db250cm9sPEZpbGVFeHRlbnNpb24+O1xuICBmaWxlOiBGb3JtQ29udHJvbDxGaWxlIHwgbnVsbD47XG4gIGRhdGFzZXQ6IEZvcm1Db250cm9sPERhdGFzZXQgfCBudWxsPjtcbiAgbm9ybWFsaXplR2VvOiBGb3JtQ29udHJvbDxib29sZWFuPjtcbiAgcHJvZHVjdGlvbkRhdGU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIHByb2R1Y2VyOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktaW1wb3J0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LWZvcm0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUltcG9ydEZvcm1Db21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBkYXRhc2V0cyQ6IE9ic2VydmFibGU8RGF0YXNldFtdPjtcbiAgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQFZpZXdDaGlsZCgnbWVzc2FnZScpIG1lc3NhZ2UhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgc2hvd01lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtYXhEYXRlID0gRGF0ZVV0aWxzLmZvcm1hdERhdGUobmV3IERhdGUoKSk7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXA8SW1wb3J0Rm9ybT4oe1xuICAgIGZpbGVUeXBlOiBuZXcgRm9ybUNvbnRyb2woJ2NzdicsIHtcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG5vbk51bGxhYmxlOiB0cnVlXG4gICAgfSksXG4gICAgZmlsZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIGRhdGFzZXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBub3JtYWxpemVHZW86IG5ldyBGb3JtQ29udHJvbChmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICBwcm9kdWN0aW9uRGF0ZTogbmV3IEZvcm1Db250cm9sKHRoaXMubWF4RGF0ZSwge1xuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIERhdGVVdGlscy5vbmx5UGFzdERhdGVWYWxpZGF0b3JdLFxuICAgICAgbm9uTnVsbGFibGU6IHRydWVcbiAgICB9KSxcbiAgICBwcm9kdWNlcjogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBub25OdWxsYWJsZTogdHJ1ZVxuICAgIH0pLFxuICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpXG4gIH0pO1xuXG4gIGZpbGVUeXBlczogeyBba2V5IGluIEZpbGVFeHRlbnNpb25dOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBGaWxlRXh0ZW5zaW9uOyBleHRlbnNpb246IHN0cmluZyB9IH0gPSB7XG4gICAgY3N2OiB7XG4gICAgICBsYWJlbDogJ0NzdicsXG4gICAgICB2YWx1ZTogJ2NzdicsXG4gICAgICBleHRlbnNpb246ICcuY3N2J1xuICAgIH0sXG4gICAgemlwOiB7XG4gICAgICBsYWJlbDogJ1NoYXBlZmlsZScsXG4gICAgICB2YWx1ZTogJ3ppcCcsXG4gICAgICBleHRlbnNpb246ICcuemlwJ1xuICAgIH1cbiAgfTtcblxuICBtdWx0aXBsZUltcG9ydHMgPSBmYWxzZTtcbiAgQE91dHB1dCgpIG11bHRpcGxlSW1wb3J0c1ZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGRzU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5sb2FkRGF0YXNldCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKHt9KSk7XG4gICAgdGhpcy5kYXRhc2V0cyQgPSBzdG9yZVxuICAgICAgLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YXNldHMpID0+XG4gICAgICAgICAgZGF0YXNldHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGRhdGFzZXQpID0+IGRhdGFzZXQudHlwZSA9PT0gUHJ5RGF0YXNldFR5cGUuQ0xPU0VEKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhLm5hbWUudG9Mb3dlckNhc2UoKSA+IGIubmFtZS50b0xvd2VyQ2FzZSgpID8gMSA6IC0xKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB0aGlzLmxvYWRpbmckID0gc3RvcmUuc2VsZWN0KEltcG9ydFNlbGVjdG9ycy5sb2FkaW5nKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmZvcm0uZ2V0KCdkYXRhc2V0Jyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGRhdGFzZXQpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhck1lc3NhZ2UoKTtcbiAgICAgICAgaWYgKGRhdGFzZXQgJiYgZGF0YXNldC5hY3RpdmVWZXJzaW9uKSB7XG4gICAgICAgICAgdGhpcy5nZXRMYXN0QWN0aXZlVmVyc2lvbihkYXRhc2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHByb2R1Y2VyOiAnJywgcHJvZHVjdGlvbkRhdGU6IERhdGVVdGlscy5mb3JtYXREYXRlKG5ldyBEYXRlKCkpIH0pO1xuICAgICAgICAgIHRoaXMucHJvZHVjZXIubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmNsZWFyTWVzc2FnZSgpO1xuICB9XG5cbiAgZ2V0IGZpbGVUeXBlKCk6IEFic3RyYWN0Q29udHJvbDxGaWxlRXh0ZW5zaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1snZmlsZVR5cGUnXTtcbiAgfVxuXG4gIGdldCBmaWxlKCk6IEFic3RyYWN0Q29udHJvbDxGaWxlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ2ZpbGUnXTtcbiAgfVxuXG4gIGdldCBkYXRhc2V0KCk6IEFic3RyYWN0Q29udHJvbDxEYXRhc2V0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ2RhdGFzZXQnXTtcbiAgfVxuXG4gIGdldCBub3JtYWxpemVHZW8oKTogQWJzdHJhY3RDb250cm9sPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzWydub3JtYWxpemVHZW8nXTtcbiAgfVxuXG4gIGdldCBwcm9kdWN0aW9uRGF0ZSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1sncHJvZHVjdGlvbkRhdGUnXTtcbiAgfVxuXG4gIGdldCBwcm9kdWNlcigpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1sncHJvZHVjZXInXTtcbiAgfVxuXG4gIHVwbG9hZGVkQ2hhbmdlKCRldmVudDogRmlsZSk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQuc2l6ZSA+IDEwMjQgKiAxMDI0ICogMTAyNCAqIDIpIHtcbiAgICAgIHRoaXMuc25hY2tiYXIub3Blbih7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQHByeS5pbXBvcnQudG9vTGFyZ2UnLCB7IGN1cnJlbnQ6IHRoaXMuZ2V0RmlsZVNpemUoJGV2ZW50LnNpemUpIH0pXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBmaWxlOiAkZXZlbnQgfSk7XG4gICAgfVxuICB9XG5cbiAgc3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgZmlsZSwgZGF0YXNldCwgZmlsZVR5cGUsIG5vcm1hbGl6ZUdlbywgcHJvZHVjZXIsIHByb2R1Y3Rpb25EYXRlLCBhZGRpdGlvbmFsSW5mb3JtYXRpb24gfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBpZiAoZmlsZSAmJiBkYXRhc2V0ICYmIGZpbGVUeXBlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBJbXBvcnRBY3Rpb25zLnVwbG9hZCh7XG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICBmaWxlVHlwZSxcbiAgICAgICAgICBub3JtYWxpemVHZW8sXG4gICAgICAgICAgZGF0YXNldDogZGF0YXNldC5pZCxcbiAgICAgICAgICBkYXRhc2V0VmVyc2lvbkluZm9ybWF0aW9uOiB7XG4gICAgICAgICAgICBwcm9kdWN0aW9uRGF0ZTogcHJvZHVjdGlvbkRhdGUgPyBuZXcgRGF0ZShwcm9kdWN0aW9uRGF0ZSkudG9JU09TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHByb2R1Y2VyLFxuICAgICAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiAhIWFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/IGFkZGl0aW9uYWxJbmZvcm1hdGlvbiA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNob3dNZXNzYWdlID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZXNzYWdlLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSkpO1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBmaWxlOiBudWxsIH0pO1xuICAgICAgdGhpcy5mb3JtU3VibWl0dGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWxlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChzaXplID49IDEwMjQgJiYgc2l6ZSA8IDEwMjQgKiAxMDI0KSB7XG4gICAgICByZXR1cm4gYCR7KHNpemUgLyAxMDI0KS50b0ZpeGVkKDEpfSBLQmA7XG4gICAgfSBlbHNlIGlmIChzaXplID49IDEwMjQgKiAxMDI0ICYmIHNpemUgPCAxMDI0ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvICgxMDI0ICogMTAyNCkpLnRvRml4ZWQoMSl9IE1CYDtcbiAgICB9IGVsc2UgaWYgKHNpemUgPj0gMTAyNCAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICByZXR1cm4gYCR7KHNpemUgLyAoMTAyNCAqIDEwMjQgKiAxMDI0KSkudG9GaXhlZCgxKX0gR0JgO1xuICAgIH1cbiAgICByZXR1cm4gYCR7c2l6ZX0gYnl0ZXNgO1xuICB9XG5cbiAgZ2V0TGFzdEFjdGl2ZVZlcnNpb24oZGF0YXNldDogRGF0YXNldCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmRzU2VydmljZVxuICAgICAgICAuZ2V0TGFzdEFjdGl2ZURhdGFzZXRWZXJzaW9uKGRhdGFzZXQuaWQpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZlcnNpb24pID0+IHtcbiAgICAgICAgICBpZiAodmVyc2lvbiAmJiB2ZXJzaW9uLnByb2R1Y2VyKSB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHByb2R1Y2VyOiB2ZXJzaW9uLnByb2R1Y2VyIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjbGVhck1lc3NhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd01lc3NhZ2UpIHRoaXMuc2hvd01lc3NhZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIG11bHRpcGxlSW1wb3J0Q2hhbmdlKCkge1xuICAgIHRoaXMubXVsdGlwbGVJbXBvcnRzID0gIXRoaXMubXVsdGlwbGVJbXBvcnRzO1xuICAgIHRoaXMubXVsdGlwbGVJbXBvcnRzVmFsdWUuZW1pdCh0aGlzLm11bHRpcGxlSW1wb3J0cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgT2JqZWN0ID0gT2JqZWN0O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgUHJ5RGF0YXNldFR5cGUgPSBQcnlEYXRhc2V0VHlwZTtcbn1cbiIsIjxwcnktaW1wb3J0LWNzcz48L3ByeS1pbXBvcnQtY3NzPlxuPGRpdiBjbGFzcz1cIm8taW1wb3J0IHUtZGlzcGxheS1mbGV4IC1jb2x1bW5cIj5cbiAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgIDxoMSBjbGFzcz1cImEtaDFcIj57eyAnQHByeS5pbXBvcnQudGl0bGUnIHwgaTE4biB9fTwvaDE+XG4gICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJtdWx0aXBsZUltcG9ydHNcIiAoY2xpY2spPVwibXVsdGlwbGVJbXBvcnRDaGFuZ2UoKVwiPlxuICAgICAge3sgJ0BwcnkuaW1wb3J0Lm11bHRpcGxlJyB8IGkxOG4gfX1cbiAgICA8L3ByeS1jaGVja2JveD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWltcG9ydF9fZm9ybS1jb250YWluZXIgdS1kaXNwbGF5LWZsZXhcIj5cbiAgICA8Zm9ybSBjbGFzcz1cIm8taW1wb3J0X19mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJkYXRhc2V0c1wiPnt7ICdAcHJ5LmltcG9ydC5maWxlVHlwZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmaWxlVHlwZVwiXG4gICAgICAgICAgaWQ9XCJmaWxlVHlwZVwiXG4gICAgICAgICAgW2l0ZW1zXT1cIk9iamVjdC52YWx1ZXMoZmlsZVR5cGVzKVwiXG4gICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwidXBsb2FkX2lucHV0XCI+XG4gICAgICAgICAge3sgJ0BwcnkuaW1wb3J0LnVwbG9hZFRpdGxlJyArIGZpbGVUeXBlLnZhbHVlIHwgaTE4biB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8cD57eyAnQHByeS5pbXBvcnQud2FybmluZycgfCBpMThuIH19PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1maWxlLWlucHV0XCI+XG4gICAgICAgICAgQGlmIChmaWxlLnZhbHVlPy5zaXplKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX2ZpbGVcIj5cbiAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkb3dubG9hZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxoMz57eyBmaWxlLnZhbHVlPy5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0RmlsZVNpemUoZmlsZS52YWx1ZT8uc2l6ZSA/PyAwKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8cHJ5LXVwbG9hZFxuICAgICAgICAgICAgaWQ9XCJ1cGxvYWRfaW5wdXRcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJmaWxlVHlwZXNbZmlsZVR5cGUudmFsdWVdLmV4dGVuc2lvblwiXG4gICAgICAgICAgICBtb2RlPVwiZmlsZXNcIlxuICAgICAgICAgICAgKHVwbG9hZGVkRmlsZSk9XCJ1cGxvYWRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGxhYmVsVHJhbnNsYXRlPVwiQHByeS5pbXBvcnQuc2VsZWN0RmlsZVwiXG4gICAgICAgICAgPjwvcHJ5LXVwbG9hZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiIGZvcj1cImRhdGFzZXRzXCI+e3sgJ0BwcnkuaW1wb3J0LmRhdGFzZXRJbXBvcnQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YXNldFwiXG4gICAgICAgICAgaWQ9XCJkYXRhc2V0c1wiXG4gICAgICAgICAgW2l0ZW1zXT1cImRhdGFzZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkuaW1wb3J0LmRhdGFzZXQnIHwgaTE4blwiXG4gICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8cHJ5LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm5vcm1hbGl6ZUdlb1wiIGlucHV0SWQ9XCJub3JtYWxpemVHZW9cIj57e1xuICAgICAgICAgICdAcHJ5LmltcG9ydC5ub3JtYWxpemUnIHwgaTE4blxuICAgICAgICB9fTwvcHJ5LWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJwcm9kdWN0aW9uRGF0ZVwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJvZHVjdGlvbkRhdGVcIlxuICAgICAgICAgIGlkPVwicHJvZHVjdGlvbkRhdGVcIlxuICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIlxuICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cInByb2R1Y3Rpb25EYXRlLmludmFsaWRcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKHByb2R1Y3Rpb25EYXRlLmludmFsaWQpIHtcbiAgICAgICAgICA8bGFiZWwgaWQ9XCJwcm9kdWN0aW9uRGF0ZS1lcnJvclwiIGZvcj1cInByb2R1Y3Rpb25EYXRlXCIgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCI+XG4gICAgICAgICAgICBAaWYgKHByb2R1Y3Rpb25EYXRlLmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmRhdGFzZXQuZm9ybS5vYmxpZ2F0b3J5JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICB9IEBlbHNlIGlmIChwcm9kdWN0aW9uRGF0ZS5lcnJvcnM/LlsnZGF0ZVZhbGlkYXRvciddKSB7XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmRhdGFzZXQuZm9ybS5kYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJwcm9kdWNlclwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInByb2R1Y2VyXCIgaWQ9XCJwcm9kdWNlclwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cInRleHRcIiBtYXhsZW5ndGg9XCIxMDBcIiAvPlxuICAgICAgICBAaWYgKHByb2R1Y2VyLnRvdWNoZWQgJiYgcHJvZHVjZXIuaW52YWxpZCkge1xuICAgICAgICAgIDxsYWJlbCBpZD1cInByb2R1Y2VyLWVycm9yXCIgZm9yPVwicHJvZHVjZXJcIiBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIj5cbiAgICAgICAgICAgIEBpZiAocHJvZHVjZXIuZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuZGF0YXNldC5mb3JtLm9ibGlnYXRvcnknIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiIGZvcj1cImFkZGl0aW9uYWxJbmZvcm1hdGlvblwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5hZGRpdGlvbmFsSW5mb3JtYXRpb24nIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktdGV4dC1lZGl0b3IgZm9ybUNvbnRyb2xOYW1lPVwiYWRkaXRpb25hbEluZm9ybWF0aW9uXCIgaWQ9XCJhZGRpdGlvbmFsSW5mb3JtYXRpb25cIj48L3ByeS10ZXh0LWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19hY3Rpb25zIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCI+XG4gICAgICAgICAge3sgJ0BwcnkuaW1wb3J0LmltcG9ydCcgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICAgIDxkaXYgY2xhc3M9XCJvLWltcG9ydF9fbWVzc2FnZVwiIFtjbGFzcy51LXZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd01lc3NhZ2VcIiAjbWVzc2FnZT5cbiAgICAgIDxzcGFuPlxuICAgICAgICB7eyAnQHByeS5pbXBvcnQuY29uc3VsdERhdGFzZXQxJyB8IGkxOG4gfX1cbiAgICAgICAgPHN0cm9uZz57eyBkYXRhc2V0LnZhbHVlPy5pZCA/PyAnJyB8IHRyYW5zbGF0ZUlkOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnbmFtZScgfSB8IGFzeW5jIH19PC9zdHJvbmc+XG4gICAgICAgIHt7ICdAcHJ5LmltcG9ydC5jb25zdWx0RGF0YXNldDInIHwgaTE4biB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvZm9ybS9pbXBvcnQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9mb3JtL2ltcG9ydC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsU0FBUyxFQUNULGNBQWMsRUFHZCx3QkFBd0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBa0JyRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBNkNsRSxZQUNVLEtBQVksRUFDWixTQUE0QixFQUM1QixRQUE0QixFQUM1QixXQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQUxBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUE1Q3JDLGdCQUFXLEdBQVks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MUQsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxTQUFTO2FBQ1gsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxhQUFzQjtRQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBektVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZRQ2xDbkMseXNKQTRHQTs7MkZEMUVhLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7d0tBT0wsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQXNDVixvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhdGFzZXQsXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBEYXRhU291cmNlU2VydmljZSxcbiAgRGF0ZVV0aWxzLFxuICBQcnlEYXRhc2V0VHlwZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeVNuYWNrYmFyU2VydmljZSxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEltcG9ydEFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9pbXBvcnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBJbXBvcnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9pbXBvcnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxudHlwZSBGaWxlRXh0ZW5zaW9uID0gJ2NzdicgfCAnemlwJztcblxuaW50ZXJmYWNlIEltcG9ydEZvcm0ge1xuICBmaWxlVHlwZTogRm9ybUNvbnRyb2w8RmlsZUV4dGVuc2lvbj47XG4gIGZpbGU6IEZvcm1Db250cm9sPEZpbGUgfCBudWxsPjtcbiAgZGF0YXNldDogRm9ybUNvbnRyb2w8RGF0YXNldCB8IG51bGw+O1xuICBub3JtYWxpemVHZW86IEZvcm1Db250cm9sPGJvb2xlYW4+O1xuICBwcm9kdWN0aW9uRGF0ZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgcHJvZHVjZXI6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1pbXBvcnQtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5SW1wb3J0Rm9ybUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBAVmlld0NoaWxkKCdtZXNzYWdlJykgbWVzc2FnZSE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBzaG93TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1heERhdGUgPSBEYXRlVXRpbHMuZm9ybWF0RGF0ZShuZXcgRGF0ZSgpKTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cDxJbXBvcnRGb3JtPih7XG4gICAgZmlsZVR5cGU6IG5ldyBGb3JtQ29udHJvbCgnY3N2Jywge1xuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbm9uTnVsbGFibGU6IHRydWVcbiAgICB9KSxcbiAgICBmaWxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZGF0YXNldDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIG5vcm1hbGl6ZUdlbzogbmV3IEZvcm1Db250cm9sKGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgIHByb2R1Y3Rpb25EYXRlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5tYXhEYXRlLCB7XG4gICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgRGF0ZVV0aWxzLm9ubHlQYXN0RGF0ZVZhbGlkYXRvcl0sXG4gICAgICBub25OdWxsYWJsZTogdHJ1ZVxuICAgIH0pLFxuICAgIHByb2R1Y2VyOiBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG5vbk51bGxhYmxlOiB0cnVlXG4gICAgfSksXG4gICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiBuZXcgRm9ybUNvbnRyb2wobnVsbClcbiAgfSk7XG5cbiAgZmlsZVR5cGVzOiB7IFtrZXkgaW4gRmlsZUV4dGVuc2lvbl06IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEZpbGVFeHRlbnNpb247IGV4dGVuc2lvbjogc3RyaW5nIH0gfSA9IHtcbiAgICBjc3Y6IHtcbiAgICAgIGxhYmVsOiAnQ3N2JyxcbiAgICAgIHZhbHVlOiAnY3N2JyxcbiAgICAgIGV4dGVuc2lvbjogJy5jc3YnXG4gICAgfSxcbiAgICB6aXA6IHtcbiAgICAgIGxhYmVsOiAnU2hhcGVmaWxlJyxcbiAgICAgIHZhbHVlOiAnemlwJyxcbiAgICAgIGV4dGVuc2lvbjogJy56aXAnXG4gICAgfVxuICB9O1xuXG4gIG11bHRpcGxlSW1wb3J0cyA9IGZhbHNlO1xuICBAT3V0cHV0KCkgbXVsdGlwbGVJbXBvcnRzVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZHNTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZSxcbiAgICBwcml2YXRlIHNuYWNrYmFyOiBQcnlTbmFja2JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBzdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmxvYWREYXRhc2V0KCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoe30pKTtcbiAgICB0aGlzLmRhdGFzZXRzJCA9IHN0b3JlXG4gICAgICAuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChkYXRhc2V0cykgPT5cbiAgICAgICAgICBkYXRhc2V0c1xuICAgICAgICAgICAgLmZpbHRlcigoZGF0YXNldCkgPT4gZGF0YXNldC50eXBlID09PSBQcnlEYXRhc2V0VHlwZS5DTE9TRUQpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gKGEubmFtZS50b0xvd2VyQ2FzZSgpID4gYi5uYW1lLnRvTG93ZXJDYXNlKCkgPyAxIDogLTEpKVxuICAgICAgICApXG4gICAgICApO1xuICAgIHRoaXMubG9hZGluZyQgPSBzdG9yZS5zZWxlY3QoSW1wb3J0U2VsZWN0b3JzLmxvYWRpbmcpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGFzZXQnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZGF0YXNldCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyTWVzc2FnZSgpO1xuICAgICAgICBpZiAoZGF0YXNldCAmJiBkYXRhc2V0LmFjdGl2ZVZlcnNpb24pIHtcbiAgICAgICAgICB0aGlzLmdldExhc3RBY3RpdmVWZXJzaW9uKGRhdGFzZXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgcHJvZHVjZXI6ICcnLCBwcm9kdWN0aW9uRGF0ZTogRGF0ZVV0aWxzLmZvcm1hdERhdGUobmV3IERhdGUoKSkgfSk7XG4gICAgICAgICAgdGhpcy5wcm9kdWNlci5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuY2xlYXJNZXNzYWdlKCk7XG4gIH1cblxuICBnZXQgZmlsZVR5cGUoKTogQWJzdHJhY3RDb250cm9sPEZpbGVFeHRlbnNpb24+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzWydmaWxlVHlwZSddO1xuICB9XG5cbiAgZ2V0IGZpbGUoKTogQWJzdHJhY3RDb250cm9sPEZpbGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1snZmlsZSddO1xuICB9XG5cbiAgZ2V0IGRhdGFzZXQoKTogQWJzdHJhY3RDb250cm9sPERhdGFzZXQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1snZGF0YXNldCddO1xuICB9XG5cbiAgZ2V0IG5vcm1hbGl6ZUdlbygpOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ25vcm1hbGl6ZUdlbyddO1xuICB9XG5cbiAgZ2V0IHByb2R1Y3Rpb25EYXRlKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzWydwcm9kdWN0aW9uRGF0ZSddO1xuICB9XG5cbiAgZ2V0IHByb2R1Y2VyKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzWydwcm9kdWNlciddO1xuICB9XG5cbiAgdXBsb2FkZWRDaGFuZ2UoJGV2ZW50OiBGaWxlKTogdm9pZCB7XG4gICAgaWYgKCRldmVudC5zaXplID4gMTAyNCAqIDEwMjQgKiAxMDI0ICogMikge1xuICAgICAgdGhpcy5zbmFja2Jhci5vcGVuKHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdAcHJ5LmltcG9ydC50b29MYXJnZScsIHsgY3VycmVudDogdGhpcy5nZXRGaWxlU2l6ZSgkZXZlbnQuc2l6ZSkgfSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IGZpbGU6ICRldmVudCB9KTtcbiAgICB9XG4gIH1cblxuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBmaWxlLCBkYXRhc2V0LCBmaWxlVHlwZSwgbm9ybWFsaXplR2VvLCBwcm9kdWNlciwgcHJvZHVjdGlvbkRhdGUsIGFkZGl0aW9uYWxJbmZvcm1hdGlvbiB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGlmIChmaWxlICYmIGRhdGFzZXQgJiYgZmlsZVR5cGUpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIEltcG9ydEFjdGlvbnMudXBsb2FkKHtcbiAgICAgICAgICBmaWxlLFxuICAgICAgICAgIGZpbGVUeXBlLFxuICAgICAgICAgIG5vcm1hbGl6ZUdlbyxcbiAgICAgICAgICBkYXRhc2V0OiBkYXRhc2V0LmlkLFxuICAgICAgICAgIGRhdGFzZXRWZXJzaW9uSW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIHByb2R1Y3Rpb25EYXRlOiBwcm9kdWN0aW9uRGF0ZSA/IG5ldyBEYXRlKHByb2R1Y3Rpb25EYXRlKS50b0lTT1N0cmluZygpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcHJvZHVjZXIsXG4gICAgICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246ICEhYWRkaXRpb25hbEluZm9ybWF0aW9uID8gYWRkaXRpb25hbEluZm9ybWF0aW9uIDogdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm1lc3NhZ2UubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KSk7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IGZpbGU6IG51bGwgfSk7XG4gICAgICB0aGlzLmZvcm1TdWJtaXR0ZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHNpemUgPj0gMTAyNCAmJiBzaXplIDwgMTAyNCAqIDEwMjQpIHtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvIDEwMjQpLnRvRml4ZWQoMSl9IEtCYDtcbiAgICB9IGVsc2UgaWYgKHNpemUgPj0gMTAyNCAqIDEwMjQgJiYgc2l6ZSA8IDEwMjQgKiAxMDI0ICogMTAyNCkge1xuICAgICAgcmV0dXJuIGAkeyhzaXplIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgxKX0gTUJgO1xuICAgIH0gZWxzZSBpZiAoc2l6ZSA+PSAxMDI0ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvICgxMDI0ICogMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDEpfSBHQmA7XG4gICAgfVxuICAgIHJldHVybiBgJHtzaXplfSBieXRlc2A7XG4gIH1cblxuICBnZXRMYXN0QWN0aXZlVmVyc2lvbihkYXRhc2V0OiBEYXRhc2V0KTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZHNTZXJ2aWNlXG4gICAgICAgIC5nZXRMYXN0QWN0aXZlRGF0YXNldFZlcnNpb24oZGF0YXNldC5pZClcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmVyc2lvbikgPT4ge1xuICAgICAgICAgIGlmICh2ZXJzaW9uICYmIHZlcnNpb24ucHJvZHVjZXIpIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgcHJvZHVjZXI6IHZlcnNpb24ucHJvZHVjZXIgfSk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93TWVzc2FnZSkgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xuICB9XG5cbiAgbXVsdGlwbGVJbXBvcnRDaGFuZ2UoY2hlY2tCb3hWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubXVsdGlwbGVJbXBvcnRzVmFsdWUuZW1pdChjaGVja0JveFZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBPYmplY3QgPSBPYmplY3Q7XG4gIHByb3RlY3RlZCByZWFkb25seSBQcnlEYXRhc2V0VHlwZSA9IFByeURhdGFzZXRUeXBlO1xufVxuIiwiPHByeS1pbXBvcnQtY3NzPjwvcHJ5LWltcG9ydC1jc3M+XG48ZGl2IGNsYXNzPVwiby1pbXBvcnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX2hlYWRlciB1LWRpc3BsYXktZmxleCAtanVzdGlmeS1zcGFjZS1iZXR3ZWVuXCI+XG4gICAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LmltcG9ydC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgICA8cHJ5LWNoZWNrYm94IFtuZ01vZGVsXT1cIm11bHRpcGxlSW1wb3J0c1wiIChuZ01vZGVsQ2hhbmdlKT1cIm11bHRpcGxlSW1wb3J0Q2hhbmdlKCRldmVudClcIj5cbiAgICAgIHt7ICdAcHJ5LmltcG9ydC5tdWx0aXBsZScgfCBpMThuIH19XG4gICAgPC9wcnktY2hlY2tib3g+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX2Zvcm0tY29udGFpbmVyIHUtZGlzcGxheS1mbGV4XCI+XG4gICAgPGZvcm0gY2xhc3M9XCJvLWltcG9ydF9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwiZGF0YXNldHNcIj57eyAnQHByeS5pbXBvcnQuZmlsZVR5cGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmlsZVR5cGVcIlxuICAgICAgICAgIGlkPVwiZmlsZVR5cGVcIlxuICAgICAgICAgIFtpdGVtc109XCJPYmplY3QudmFsdWVzKGZpbGVUeXBlcylcIlxuICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiIGZvcj1cInVwbG9hZF9pbnB1dFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydC51cGxvYWRUaXRsZScgKyBmaWxlVHlwZS52YWx1ZSB8IGkxOG4gfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHA+e3sgJ0BwcnkuaW1wb3J0Lndhcm5pbmcnIHwgaTE4biB9fTwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsZS1pbnB1dFwiPlxuICAgICAgICAgIEBpZiAoZmlsZS52YWx1ZT8uc2l6ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19maWxlXCI+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZG93bmxvYWRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8aDM+e3sgZmlsZS52YWx1ZT8ubmFtZSB9fTwvaDM+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGdldEZpbGVTaXplKGZpbGUudmFsdWU/LnNpemUgPz8gMCkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHByeS11cGxvYWRcbiAgICAgICAgICAgIGlkPVwidXBsb2FkX2lucHV0XCJcbiAgICAgICAgICAgIFthY2NlcHRdPVwiZmlsZVR5cGVzW2ZpbGVUeXBlLnZhbHVlXS5leHRlbnNpb25cIlxuICAgICAgICAgICAgbW9kZT1cImZpbGVzXCJcbiAgICAgICAgICAgICh1cGxvYWRlZEZpbGUpPVwidXBsb2FkZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBsYWJlbFRyYW5zbGF0ZT1cIkBwcnkuaW1wb3J0LnNlbGVjdEZpbGVcIlxuICAgICAgICAgID48L3ByeS11cGxvYWQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJkYXRhc2V0c1wiPnt7ICdAcHJ5LmltcG9ydC5kYXRhc2V0SW1wb3J0JyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFzZXRcIlxuICAgICAgICAgIGlkPVwiZGF0YXNldHNcIlxuICAgICAgICAgIFtpdGVtc109XCJkYXRhc2V0cyQgfCBhc3luY1wiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmltcG9ydC5kYXRhc2V0JyB8IGkxOG5cIlxuICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiXG4gICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPHByeS1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJub3JtYWxpemVHZW9cIiBpbnB1dElkPVwibm9ybWFsaXplR2VvXCI+e3tcbiAgICAgICAgICAnQHByeS5pbXBvcnQubm9ybWFsaXplJyB8IGkxOG5cbiAgICAgICAgfX08L3ByeS1jaGVja2JveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwicHJvZHVjdGlvbkRhdGVcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb2R1Y3Rpb25EYXRlXCJcbiAgICAgICAgICBpZD1cInByb2R1Y3Rpb25EYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJcbiAgICAgICAgICBbbWF4XT1cIm1heERhdGVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJwcm9kdWN0aW9uRGF0ZS5pbnZhbGlkXCJcbiAgICAgICAgLz5cbiAgICAgICAgQGlmIChwcm9kdWN0aW9uRGF0ZS5pbnZhbGlkKSB7XG4gICAgICAgICAgPGxhYmVsIGlkPVwicHJvZHVjdGlvbkRhdGUtZXJyb3JcIiBmb3I9XCJwcm9kdWN0aW9uRGF0ZVwiIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiPlxuICAgICAgICAgICAgQGlmIChwcm9kdWN0aW9uRGF0ZS5lcnJvcnM/LlsncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5kYXRhc2V0LmZvcm0ub2JsaWdhdG9yeScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAocHJvZHVjdGlvbkRhdGUuZXJyb3JzPy5bJ2RhdGVWYWxpZGF0b3InXSkge1xuICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5kYXRhc2V0LmZvcm0uZGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwicHJvZHVjZXJcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWNlclwiIGlkPVwicHJvZHVjZXJcIiBjbGFzcz1cImEtZm9ybS1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cbiAgICAgICAgQGlmIChwcm9kdWNlci50b3VjaGVkICYmIHByb2R1Y2VyLmludmFsaWQpIHtcbiAgICAgICAgICA8bGFiZWwgaWQ9XCJwcm9kdWNlci1lcnJvclwiIGZvcj1cInByb2R1Y2VyXCIgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCI+XG4gICAgICAgICAgICBAaWYgKHByb2R1Y2VyLmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmRhdGFzZXQuZm9ybS5vYmxpZ2F0b3J5JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJhZGRpdGlvbmFsSW5mb3JtYXRpb25cIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8cHJ5LXRleHQtZWRpdG9yIGZvcm1Db250cm9sTmFtZT1cImFkZGl0aW9uYWxJbmZvcm1hdGlvblwiIGlkPVwiYWRkaXRpb25hbEluZm9ybWF0aW9uXCI+PC9wcnktdGV4dC1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWltcG9ydF9fYWN0aW9ucyB1LWRpc3BsYXktZmxleCAtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydC5pbXBvcnQnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX21lc3NhZ2VcIiBbY2xhc3MudS12aXN1YWxseS1oaWRkZW5dPVwiIXNob3dNZXNzYWdlXCIgI21lc3NhZ2U+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgJ0BwcnkuaW1wb3J0LmNvbnN1bHREYXRhc2V0MScgfCBpMThuIH19XG4gICAgICAgIDxzdHJvbmc+e3sgZGF0YXNldC52YWx1ZT8uaWQgPz8gJycgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luYyB9fTwvc3Ryb25nPlxuICAgICAgICB7eyAnQHByeS5pbXBvcnQuY29uc3VsdERhdGFzZXQyJyB8IGkxOG4gfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -46,4 +46,4 @@ export const DataSourceActions = {
46
46
  getCategoriesSuccess: createAction('[Dataset] Get Categories Success', props())
47
47
  }
48
48
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFPbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxZQUFZLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUEwQixDQUFDO1FBQzVFLE9BQU8sRUFBRSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUFvQixDQUFDO1FBQ3hFLElBQUksRUFBRSxZQUFZLENBQ2hCLG1CQUFtQixFQUNuQixLQUFLLEVBU0QsQ0FDTDtRQUNELE1BQU0sRUFBRSxZQUFZLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQ3BFLFdBQVcsRUFBRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQy9FLGNBQWMsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQ3JGLElBQUksRUFBRSxZQUFZLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxFQUFxRCxDQUFDO1FBQzFHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0Isd0NBQXdDLEVBQ3hDLEtBQUssRUFBd0MsQ0FDOUM7UUFDRCxRQUFRLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBcUQsQ0FBQztRQUN2RyxRQUFRLEVBQUUsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1FBQ2xELFVBQVUsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBQUM7UUFDL0MsVUFBVSxFQUFFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztLQUNyRDtJQUNELE9BQU8sRUFBRTtRQUNQLFdBQVcsRUFBRSxZQUFZLENBQUMseUJBQXlCLENBQUM7UUFDcEQsYUFBYSxFQUFFLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxLQUFLLEVBQTJCLENBQUM7UUFDMUYsT0FBTyxFQUFFLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQWtCLENBQUM7UUFFbEYsWUFBWSxFQUFFLFlBQVksQ0FDeEIsZ0NBQWdDLEVBQ2hDLEtBQUssRUFTRCxDQUNMO1FBQ0QsbUJBQW1CLEVBQUUsWUFBWSxDQUMvQix3Q0FBd0MsRUFDeEMsS0FBSyxFQUE2RCxDQUNuRTtRQUNELG1CQUFtQixFQUFFLFlBQVksQ0FBQyx3Q0FBd0MsQ0FBQztRQUMzRSx1QkFBdUIsRUFBRSxZQUFZLENBQUMsOENBQThDLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQzlHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0IsdUNBQXVDLEVBQ3ZDLEtBQUssRUFBOEMsQ0FDcEQ7UUFDRCxzQkFBc0IsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQzlHLHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsc0NBQXNDLEVBQ3RDLEtBQUssRUFHRCxDQUNMO1FBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw4Q0FBOEMsRUFDOUMsS0FBSyxFQUVELENBQ0w7UUFDRCwrQkFBK0IsRUFBRSxZQUFZLENBQzNDLDhDQUE4QyxFQUM5QyxLQUFLLEVBRUQsQ0FDTDtRQUNELHNCQUFzQixFQUFFLFlBQVksQ0FDbEMsb0NBQW9DLEVBQ3BDLEtBQUssRUFHRCxDQUNMO1FBQ0QsNkJBQTZCLEVBQUUsWUFBWSxDQUN6Qyw0Q0FBNEMsRUFDNUMsS0FBSyxFQUVELENBQ0w7UUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLDRDQUE0QyxFQUM1QyxLQUFLLEVBRUQsQ0FDTDtRQUNELFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1lBQzlFLGNBQWMsRUFBRSxZQUFZLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxFQUFrQyxDQUFDO1lBQzdHLGNBQWMsRUFBRSxZQUFZLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxFQUFrQixDQUFDO1NBQzlGO1FBQ0Qsd0JBQXdCLEVBQUUsWUFBWSxDQUNwQyx1Q0FBdUMsRUFDdkMsS0FBSyxFQUF3QyxDQUM5QztRQUNELCtCQUErQixFQUFFLFlBQVksQ0FDM0MsK0NBQStDLEVBQy9DLEtBQUssRUFBd0MsQ0FDOUM7UUFDRCxvQkFBb0IsRUFBRSxZQUFZLENBQUMseUNBQXlDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQ25ILGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQ3BHLG9CQUFvQixFQUFFLFlBQVksQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLEVBQWdCLENBQUM7UUFDcEcsYUFBYSxFQUFFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztRQUN2RCxvQkFBb0IsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUE4QixDQUFDO0tBQzVHO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0UHJldmlldyB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGFzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IERhdGFzZXQsIERhdGFzZXRWZXJzaW9uLCBOYW1lZFF1ZXJ5LCBQcnlWaXNpYmlsaXR5VHlwZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZUFjdGlvbnMgPSB7XG4gIGxvYWQ6IGNyZWF0ZUFjdGlvbignW0RhdGFzb3VyY2VdIGxvYWQnKSxcbiAgbmFtZWRRdWVyeToge1xuICAgIGxvYWQ6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGxvYWQnKSxcbiAgICBsb2FkZWQ6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGxvYWRlZCcsIHByb3BzPHsgbGlzdDogTmFtZWRRdWVyeVtdIH0+KCkpLFxuICAgIGZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBFcnJvciB9PigpKSxcbiAgICBwb3N0OiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW05hbWVkUXVlcnldIHBvc3QnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIGlkPzogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgdmlzaWJpbGl0eT86IHsgdHlwZTogUHJ5VmlzaWJpbGl0eVR5cGU7IHVzZXJzPzogYW55W10gfTtcbiAgICAgICAgcGF5bG9hZDogTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB8IE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIHwgRnVsbFRleHRTZWFyY2hQYXlsb2FkO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgZmF2b3JpdGU6IGJvb2xlYW47XG4gICAgICAgIGlzRWRpdDogYm9vbGVhbjtcbiAgICAgIH0+KClcbiAgICApLFxuICAgIGRlbGV0ZTogY3JlYXRlQWN0aW9uKCdbTmFtZWRRdWVyeV0gZGVsZXRlJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICAgIGFkZEZhdm9yaXRlOiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSBhZGQgZmF2b3JpdGUnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gICAgZGVsZXRlRmF2b3JpdGU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGRlbGV0ZSBmYXZvcml0ZScsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgICBlZGl0OiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSB0cnkgdG8gZWRpdCcsIHByb3BzPHsgY3VycmVudEVkaXQ6IE5hbWVkUXVlcnk7IHdpZGdldEluZGV4PzogbnVtYmVyIH0+KCkpLFxuICAgIHVwZGF0ZUN1cnJlbnRFZGl0OiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW05hbWVkUXVlcnldIHVwZGF0ZSBlZGl0ZWQgbmFtZWQgcXVlcnknLFxuICAgICAgcHJvcHM8eyBjdXJyZW50RWRpdDogUGFydGlhbDxOYW1lZFF1ZXJ5PiB9PigpXG4gICAgKSxcbiAgICBvcGVuRWRpdDogY3JlYXRlQWN0aW9uKCdbTmFtZWRRdWVyeV0gZWRpdCcsIHByb3BzPHsgY3VycmVudEVkaXQ6IE5hbWVkUXVlcnk7IHdpZGdldEluZGV4PzogbnVtYmVyIH0+KCkpLFxuICAgIHN0b3BFZGl0OiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSBkZWxldGUgZWRpdCcpLFxuICAgIG9wZW5SZW5hbWU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIHJlbmFtZScpLFxuICAgIHN0b3BSZW5hbWU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIHN0b3AgcmVuYW1lJylcbiAgfSxcbiAgZGF0YXNldDoge1xuICAgIGxvYWREYXRhc2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBsb2FkIGRhdGFzZXRzJyksXG4gICAgbG9hZGVkRGF0YXNldDogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gbG9hZGVkIGRhdGFzZXRzJywgcHJvcHM8eyBkYXRhc2V0czogRGF0YXNldFtdIH0+KCkpLFxuICAgIGZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIGZhaWx1cmUgZWZmZWN0IERhdGFzZXQnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgICBsaXN0VmVyc2lvbnM6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gR2V0IERhdGFzZXQgdmVyc2lvbnMnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBsaW1pdD86IG51bWJlcjtcbiAgICAgICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgICAgICBkYXRhc2V0Pzogc3RyaW5nO1xuICAgICAgICBzb3J0Qnk/OiAnYXNjJyB8ICdkZXNjJztcbiAgICAgICAgb3JkZXJCeT86ICdEQVRBU0VUX05BTUUnIHwgJ0RBVEUnO1xuICAgICAgICBkYXRlTWluPzogc3RyaW5nO1xuICAgICAgICBkYXRlTWF4Pzogc3RyaW5nO1xuICAgICAgICBzdGF0dXM/OiBzdHJpbmc7XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBsaXN0VmVyc2lvbnNTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIEdldCBEYXRhc2V0IHZlcnNpb25zIFN1Y2Nlc3MnLFxuICAgICAgcHJvcHM8eyB2ZXJzaW9uczogRGF0YXNldFZlcnNpb25bXTsgdG90YWxWZXJzaW9uQ291bnQ6IG51bWJlciB9PigpXG4gICAgKSxcbiAgICBsaXN0VmVyc2lvbnNGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBHZXQgRGF0YXNldCB2ZXJzaW9ucyBGYWlsdXJlJyksXG4gICAgbGlzdFZlcnNpb25zQnlEYXRhc2V0SWQ6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIEdldCBEYXRhc2V0IFZlcnNpb25zIGJ5IERhdGFzZXQgSWQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gICAgdXBkYXRlVmVyc2lvbkxpc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gVXBkYXRlIERhdGFzZXQgdmVyc2lvbiBsaXN0JyxcbiAgICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgdmVyc2lvbnM6IERhdGFzZXRWZXJzaW9uW10gfT4oKVxuICAgICksXG4gICAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbjogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gU2VsZWN0IERhdGFzZXQgdmVyc2lvbicsIHByb3BzPHsgdmVyc2lvbjogRGF0YXNldFZlcnNpb24gfT4oKSksXG4gICAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIERlYWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZGF0YXNldElkOiBzdHJpbmc7XG4gICAgICAgIHZlcnNpb25JZDogc3RyaW5nO1xuICAgICAgfT4oKVxuICAgICksXG4gICAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBEZWFjdGl2YXRlIGRhdGFzZXQgdmVyc2lvbiBzdWNjZXNzJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZGF0YXNldFZlcnNpb246IERhdGFzZXRWZXJzaW9uO1xuICAgICAgfT4oKVxuICAgICksXG4gICAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uRmFpbHVyZTogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBEZWFjdGl2YXRlIGRhdGFzZXQgdmVyc2lvbiBmYWlsdXJlJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZXJyb3I6IGFueTtcbiAgICAgIH0+KClcbiAgICApLFxuICAgIGFjdGl2YXRlRGF0YXNldFZlcnNpb246IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gQWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZGF0YXNldElkOiBzdHJpbmc7XG4gICAgICAgIHZlcnNpb25JZDogc3RyaW5nO1xuICAgICAgfT4oKVxuICAgICksXG4gICAgYWN0aXZhdGVEYXRhc2V0VmVyc2lvblN1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gQWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uIHN1Y2Nlc3MnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBkYXRhc2V0VmVyc2lvbjogRGF0YXNldFZlcnNpb247XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBhY3RpdmF0ZURhdGFzZXRWZXJzaW9uRmFpbHVyZTogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBBY3RpdmF0ZSBkYXRhc2V0IHZlcnNpb24gZmFpbHVyZScsXG4gICAgICBwcm9wczx7XG4gICAgICAgIGVycm9yOiBhbnk7XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBwcmV2aWV3czoge1xuICAgICAgZ2V0QnlJZDogY3JlYXRlQWN0aW9uKCdbRGF0YXNldC9QcmV2aWV3c10gZ2V0IGJ5IGlkJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICAgICAgZ2V0QnlJZFN1Y2Nlc3M6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXQvUHJldmlld3NdIGdldCBieSBpZCBTdWNjZXNzJywgcHJvcHM8eyBwcmV2aWV3czogRGF0YXNldFByZXZpZXdbXSB9PigpKSxcbiAgICAgIGdldEJ5SWRGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0L1ByZXZpZXdzXSBnZXQgYnkgaWQgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKVxuICAgIH0sXG4gICAgdXBkYXRlRGF0YXNldFZlcnNpb25JbmZvOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIFVwZGF0ZSBEYXRhc2V0IHZlcnNpb24gaW5mbycsXG4gICAgICBwcm9wczx7IHZlcnNpb246IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+IH0+KClcbiAgICApLFxuICAgIHVwZGF0ZURhdGFzZXRWZXJzaW9uSW5mb1N1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gVXBkYXRlIERhdGFzZXQgdmVyc2lvbiBpbmZvIHN1Y2Nlc3MnLFxuICAgICAgcHJvcHM8eyB2ZXJzaW9uOiBQYXJ0aWFsPERhdGFzZXRWZXJzaW9uPiB9PigpXG4gICAgKSxcbiAgICBjb25maXJtRGVsZXRlVmVyc2lvbjogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gY29uZmlybSBEZWxldGUgZGF0YXNldFZlcnNpb24nLCBwcm9wczx7IHZlcnNpb246IERhdGFzZXRWZXJzaW9uIH0+KCkpLFxuICAgIGRlbGV0ZVZlcnNpb246IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIERlbGV0ZSBkYXRhc2V0VmVyc2lvbicsIHByb3BzPHsgdmVyc2lvbjogRGF0YXNldFZlcnNpb24gfT4oKSksXG4gICAgZGVsZXRlVmVyc2lvbkZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIERlbGV0ZSBkYXRhc2V0VmVyc2lvbiBmYWlsdXJlJywgcHJvcHM8eyBlcnI6IGFueSB9PigpKSxcbiAgICBnZXRDYXRlZ29yaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBHZXQgQ2F0ZWdvcmllcycpLFxuICAgIGdldENhdGVnb3JpZXNTdWNjZXNzOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBHZXQgQ2F0ZWdvcmllcyBTdWNjZXNzJywgcHJvcHM8eyBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdIH0+KCkpXG4gIH1cbn07XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFPbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxZQUFZLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUEwQixDQUFDO1FBQzVFLE9BQU8sRUFBRSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUFvQixDQUFDO1FBQ3hFLElBQUksRUFBRSxZQUFZLENBQ2hCLG1CQUFtQixFQUNuQixLQUFLLEVBU0QsQ0FDTDtRQUNELE1BQU0sRUFBRSxZQUFZLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQ3BFLFdBQVcsRUFBRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQy9FLGNBQWMsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQ3JGLElBQUksRUFBRSxZQUFZLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxFQUFxRCxDQUFDO1FBQzFHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0Isd0NBQXdDLEVBQ3hDLEtBQUssRUFBd0MsQ0FDOUM7UUFDRCxRQUFRLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBcUQsQ0FBQztRQUN2RyxRQUFRLEVBQUUsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1FBQ2xELFVBQVUsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBQUM7UUFDL0MsVUFBVSxFQUFFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztLQUNyRDtJQUNELE9BQU8sRUFBRTtRQUNQLFdBQVcsRUFBRSxZQUFZLENBQUMseUJBQXlCLENBQUM7UUFDcEQsYUFBYSxFQUFFLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxLQUFLLEVBQTJCLENBQUM7UUFDMUYsT0FBTyxFQUFFLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQWtCLENBQUM7UUFFbEYsWUFBWSxFQUFFLFlBQVksQ0FDeEIsZ0NBQWdDLEVBQ2hDLEtBQUssRUFTRCxDQUNMO1FBQ0QsbUJBQW1CLEVBQUUsWUFBWSxDQUMvQix3Q0FBd0MsRUFDeEMsS0FBSyxFQUE2RCxDQUNuRTtRQUNELG1CQUFtQixFQUFFLFlBQVksQ0FBQyx3Q0FBd0MsQ0FBQztRQUMzRSx1QkFBdUIsRUFBRSxZQUFZLENBQUMsOENBQThDLEVBQUUsS0FBSyxFQUFrQixDQUFDO1FBQzlHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0IsdUNBQXVDLEVBQ3ZDLEtBQUssRUFBOEMsQ0FDcEQ7UUFDRCxzQkFBc0IsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQzlHLHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsc0NBQXNDLEVBQ3RDLEtBQUssRUFHRCxDQUNMO1FBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw4Q0FBOEMsRUFDOUMsS0FBSyxFQUVELENBQ0w7UUFDRCwrQkFBK0IsRUFBRSxZQUFZLENBQzNDLDhDQUE4QyxFQUM5QyxLQUFLLEVBRUQsQ0FDTDtRQUNELHNCQUFzQixFQUFFLFlBQVksQ0FDbEMsb0NBQW9DLEVBQ3BDLEtBQUssRUFHRCxDQUNMO1FBQ0QsNkJBQTZCLEVBQUUsWUFBWSxDQUN6Qyw0Q0FBNEMsRUFDNUMsS0FBSyxFQUVELENBQ0w7UUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLDRDQUE0QyxFQUM1QyxLQUFLLEVBRUQsQ0FDTDtRQUNELFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFrQixDQUFDO1lBQzlFLGNBQWMsRUFBRSxZQUFZLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxFQUFrQyxDQUFDO1lBQzdHLGNBQWMsRUFBRSxZQUFZLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxFQUFrQixDQUFDO1NBQzlGO1FBQ0Qsd0JBQXdCLEVBQUUsWUFBWSxDQUNwQyx1Q0FBdUMsRUFDdkMsS0FBSyxFQUF3QyxDQUM5QztRQUNELCtCQUErQixFQUFFLFlBQVksQ0FDM0MsK0NBQStDLEVBQy9DLEtBQUssRUFBd0MsQ0FDOUM7UUFDRCxvQkFBb0IsRUFBRSxZQUFZLENBQUMseUNBQXlDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQ25ILGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUErQixDQUFDO1FBQ3BHLG9CQUFvQixFQUFFLFlBQVksQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLEVBQWdCLENBQUM7UUFDcEcsYUFBYSxFQUFFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztRQUN2RCxvQkFBb0IsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUE4QixDQUFDO0tBQzVHO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0UHJldmlldyB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGFzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IERhdGFzZXQsIERhdGFzZXRWZXJzaW9uLCBOYW1lZFF1ZXJ5LCBQcnlWaXNpYmlsaXR5VHlwZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZUFjdGlvbnMgPSB7XG4gIGxvYWQ6IGNyZWF0ZUFjdGlvbignW0RhdGFzb3VyY2VdIGxvYWQnKSxcbiAgbmFtZWRRdWVyeToge1xuICAgIGxvYWQ6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGxvYWQnKSxcbiAgICBsb2FkZWQ6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGxvYWRlZCcsIHByb3BzPHsgbGlzdDogTmFtZWRRdWVyeVtdIH0+KCkpLFxuICAgIGZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBFcnJvciB9PigpKSxcbiAgICBwb3N0OiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW05hbWVkUXVlcnldIHBvc3QnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIGlkPzogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgdmlzaWJpbGl0eT86IHsgdHlwZTogUHJ5VmlzaWJpbGl0eVR5cGU7IHVzZXJzPzogYW55W10gfTtcbiAgICAgICAgcGF5bG9hZDogTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB8IE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIHwgRnVsbFRleHRTZWFyY2hQYXlsb2FkO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgZmF2b3JpdGU6IGJvb2xlYW47XG4gICAgICAgIGlzRWRpdDogYm9vbGVhbjtcbiAgICAgIH0+KClcbiAgICApLFxuICAgIGRlbGV0ZTogY3JlYXRlQWN0aW9uKCdbTmFtZWRRdWVyeV0gZGVsZXRlJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICAgIGFkZEZhdm9yaXRlOiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSBhZGQgZmF2b3JpdGUnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gICAgZGVsZXRlRmF2b3JpdGU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIGRlbGV0ZSBmYXZvcml0ZScsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgICBlZGl0OiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSB0cnkgdG8gZWRpdCcsIHByb3BzPHsgY3VycmVudEVkaXQ6IE5hbWVkUXVlcnk7IHdpZGdldEluZGV4PzogbnVtYmVyIH0+KCkpLFxuICAgIHVwZGF0ZUN1cnJlbnRFZGl0OiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW05hbWVkUXVlcnldIHVwZGF0ZSBlZGl0ZWQgbmFtZWQgcXVlcnknLFxuICAgICAgcHJvcHM8eyBjdXJyZW50RWRpdDogUGFydGlhbDxOYW1lZFF1ZXJ5PiB9PigpXG4gICAgKSxcbiAgICBvcGVuRWRpdDogY3JlYXRlQWN0aW9uKCdbTmFtZWRRdWVyeV0gZWRpdCcsIHByb3BzPHsgY3VycmVudEVkaXQ6IE5hbWVkUXVlcnk7IHdpZGdldEluZGV4PzogbnVtYmVyIH0+KCkpLFxuICAgIHN0b3BFZGl0OiBjcmVhdGVBY3Rpb24oJ1tOYW1lZFF1ZXJ5XSBkZWxldGUgZWRpdCcpLFxuICAgIG9wZW5SZW5hbWU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIHJlbmFtZScpLFxuICAgIHN0b3BSZW5hbWU6IGNyZWF0ZUFjdGlvbignW05hbWVkUXVlcnldIHN0b3AgcmVuYW1lJylcbiAgfSxcbiAgZGF0YXNldDoge1xuICAgIGxvYWREYXRhc2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBsb2FkIGRhdGFzZXRzJyksXG4gICAgbG9hZGVkRGF0YXNldDogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gbG9hZGVkIGRhdGFzZXRzJywgcHJvcHM8eyBkYXRhc2V0czogRGF0YXNldFtdIH0+KCkpLFxuICAgIGZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIGZhaWx1cmUgZWZmZWN0IERhdGFzZXQnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgICBsaXN0VmVyc2lvbnM6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gR2V0IERhdGFzZXQgdmVyc2lvbnMnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBsaW1pdD86IG51bWJlcjtcbiAgICAgICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgICAgICBkYXRhc2V0Pzogc3RyaW5nO1xuICAgICAgICBzb3J0Qnk/OiAnYXNjJyB8ICdkZXNjJztcbiAgICAgICAgb3JkZXJCeT86ICdEQVRBU0VUX05BTUUnIHwgJ0RBVEUnO1xuICAgICAgICBkYXRlTWluPzogc3RyaW5nO1xuICAgICAgICBkYXRlTWF4Pzogc3RyaW5nO1xuICAgICAgICBzdGF0dXM/OiBzdHJpbmc7XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBsaXN0VmVyc2lvbnNTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIEdldCBEYXRhc2V0IHZlcnNpb25zIFN1Y2Nlc3MnLFxuICAgICAgcHJvcHM8eyB2ZXJzaW9uczogRGF0YXNldFZlcnNpb25bXTsgdG90YWxWZXJzaW9uQ291bnQ6IG51bWJlciB9PigpXG4gICAgKSxcbiAgICBsaXN0VmVyc2lvbnNGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBHZXQgRGF0YXNldCB2ZXJzaW9ucyBGYWlsdXJlJyksXG4gICAgbGlzdFZlcnNpb25zQnlEYXRhc2V0SWQ6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIEdldCBEYXRhc2V0IFZlcnNpb25zIGJ5IERhdGFzZXQgSWQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gICAgdXBkYXRlVmVyc2lvbkxpc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gVXBkYXRlIERhdGFzZXQgdmVyc2lvbiBsaXN0JyxcbiAgICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgdmVyc2lvbnM6IERhdGFzZXRWZXJzaW9uW10gfT4oKVxuICAgICksXG4gICAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbjogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gU2VsZWN0IERhdGFzZXQgdmVyc2lvbicsIHByb3BzPHsgdmVyc2lvbjogRGF0YXNldFZlcnNpb24gfT4oKSksXG4gICAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIERlYWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZGF0YXNldElkOiBzdHJpbmc7XG4gICAgICAgIHZlcnNpb25JZDogc3RyaW5nO1xuICAgICAgfT4oKVxuICAgICksXG4gICAgZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBEZWFjdGl2YXRlIGRhdGFzZXQgdmVyc2lvbiBzdWNjZXNzJyxcbiAgICAgIHByb3BzPHtcbiAgICAgICAgZGF0YXNldElkOiBzdHJpbmc7XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBkZWFjdGl2YXRlRGF0YXNldFZlcnNpb25GYWlsdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIERlYWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uIGZhaWx1cmUnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBlcnJvcjogYW55O1xuICAgICAgfT4oKVxuICAgICksXG4gICAgYWN0aXZhdGVEYXRhc2V0VmVyc2lvbjogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBBY3RpdmF0ZSBkYXRhc2V0IHZlcnNpb24nLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBkYXRhc2V0SWQ6IHN0cmluZztcbiAgICAgICAgdmVyc2lvbklkOiBzdHJpbmc7XG4gICAgICB9PigpXG4gICAgKSxcbiAgICBhY3RpdmF0ZURhdGFzZXRWZXJzaW9uU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBBY3RpdmF0ZSBkYXRhc2V0IHZlcnNpb24gc3VjY2VzcycsXG4gICAgICBwcm9wczx7XG4gICAgICAgIGRhdGFzZXRJZDogc3RyaW5nO1xuICAgICAgfT4oKVxuICAgICksXG4gICAgYWN0aXZhdGVEYXRhc2V0VmVyc2lvbkZhaWx1cmU6IGNyZWF0ZUFjdGlvbihcbiAgICAgICdbRGF0YXNldF0gQWN0aXZhdGUgZGF0YXNldCB2ZXJzaW9uIGZhaWx1cmUnLFxuICAgICAgcHJvcHM8e1xuICAgICAgICBlcnJvcjogYW55O1xuICAgICAgfT4oKVxuICAgICksXG4gICAgcHJldmlld3M6IHtcbiAgICAgIGdldEJ5SWQ6IGNyZWF0ZUFjdGlvbignW0RhdGFzZXQvUHJldmlld3NdIGdldCBieSBpZCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgICAgIGdldEJ5SWRTdWNjZXNzOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0L1ByZXZpZXdzXSBnZXQgYnkgaWQgU3VjY2VzcycsIHByb3BzPHsgcHJldmlld3M6IERhdGFzZXRQcmV2aWV3W10gfT4oKSksXG4gICAgICBnZXRCeUlkRmFpbHVyZTogY3JlYXRlQWN0aW9uKCdbRGF0YXNldC9QcmV2aWV3c10gZ2V0IGJ5IGlkIEZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSlcbiAgICB9LFxuICAgIHVwZGF0ZURhdGFzZXRWZXJzaW9uSW5mbzogY3JlYXRlQWN0aW9uKFxuICAgICAgJ1tEYXRhc2V0XSBVcGRhdGUgRGF0YXNldCB2ZXJzaW9uIGluZm8nLFxuICAgICAgcHJvcHM8eyB2ZXJzaW9uOiBQYXJ0aWFsPERhdGFzZXRWZXJzaW9uPiB9PigpXG4gICAgKSxcbiAgICB1cGRhdGVEYXRhc2V0VmVyc2lvbkluZm9TdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgICAnW0RhdGFzZXRdIFVwZGF0ZSBEYXRhc2V0IHZlcnNpb24gaW5mbyBzdWNjZXNzJyxcbiAgICAgIHByb3BzPHsgdmVyc2lvbjogUGFydGlhbDxEYXRhc2V0VmVyc2lvbj4gfT4oKVxuICAgICksXG4gICAgY29uZmlybURlbGV0ZVZlcnNpb246IGNyZWF0ZUFjdGlvbignW0RhdGFzZXRdIGNvbmZpcm0gRGVsZXRlIGRhdGFzZXRWZXJzaW9uJywgcHJvcHM8eyB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbiB9PigpKSxcbiAgICBkZWxldGVWZXJzaW9uOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBEZWxldGUgZGF0YXNldFZlcnNpb24nLCBwcm9wczx7IHZlcnNpb246IERhdGFzZXRWZXJzaW9uIH0+KCkpLFxuICAgIGRlbGV0ZVZlcnNpb25GYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tEYXRhc2V0XSBEZWxldGUgZGF0YXNldFZlcnNpb24gZmFpbHVyZScsIHByb3BzPHsgZXJyOiBhbnkgfT4oKSksXG4gICAgZ2V0Q2F0ZWdvcmllczogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gR2V0IENhdGVnb3JpZXMnKSxcbiAgICBnZXRDYXRlZ29yaWVzU3VjY2VzczogY3JlYXRlQWN0aW9uKCdbRGF0YXNldF0gR2V0IENhdGVnb3JpZXMgU3VjY2VzcycsIHByb3BzPHsgY2F0ZWdvcmllczogQ2F0ZWdvcnlbXSB9PigpKVxuICB9XG59O1xuIl19