@sumaris-net/ngx-components 2.7.2-rc8 → 2.7.2-rc9
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.
|
@@ -148,7 +148,7 @@ export class JobProgressionIcon extends RxState {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
getProgression(id) {
|
|
151
|
-
return this.jobProgressions
|
|
151
|
+
return this.jobProgressions?.find(progression => progression.value.id === id);
|
|
152
152
|
}
|
|
153
153
|
updateValue() {
|
|
154
154
|
if (this.debug) {
|
|
@@ -157,15 +157,17 @@ export class JobProgressionIcon extends RxState {
|
|
|
157
157
|
let value = 0;
|
|
158
158
|
const nbProgression = arraySize(this.jobProgressions);
|
|
159
159
|
let allIndeterminate = nbProgression > 0;
|
|
160
|
-
|
|
161
|
-
.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
160
|
+
if (nbProgression) {
|
|
161
|
+
this.jobProgressions
|
|
162
|
+
.map(subject => subject.value)
|
|
163
|
+
.forEach(progression => {
|
|
164
|
+
const indeterminate = progression.total === 0;
|
|
165
|
+
allIndeterminate = allIndeterminate && indeterminate;
|
|
166
|
+
if (!indeterminate) {
|
|
167
|
+
value = value + progression.current * 100 / progression.total;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
169
171
|
this.set({ mode: allIndeterminate ? 'indeterminate' : 'determinate', value: nbProgression > 0 ? value / nbProgression : 0 });
|
|
170
172
|
if (this.debug) {
|
|
171
173
|
console.debug(`${this._logPrefix}Setting value=${this.get('value')}, mode=${this.get('mode')}`);
|
|
@@ -223,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
223
225
|
}], jobFinished: [{
|
|
224
226
|
type: Output
|
|
225
227
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0SixPQUFPLEVBQUMsMkJBQTJCLEVBQXlCLE1BQU0sMkJBQTJCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBR3JGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7QUF5QjFDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxPQUFnQztJQTJCVDtJQUNqRDtJQUNBO0lBM0JILEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxTQUFTLEdBQUcsOEJBQThCLENBQUM7SUFDM0MsT0FBTyxDQUF3QjtJQUMv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ZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtBUFBfSk9CX1BST0dSRVNTSU9OX1NFUlZJQ0UsIElKb2JQcm9ncmVzc2lvblNlcnZpY2V9IGZyb20gJy4vam9iLXByb2dyZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtKb2JQcm9ncmVzc2lvbn0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGRlbGF5LCBvZiwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHthcnJheVNpemUsIGlzTmlsLCByZW1vdmUsIHRvQm9vbGVhbiwgdG9OdW1iZXJ9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1BvcG92ZXJDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0pvYlByb2dyZXNzaW9uTGlzdCwgSm9iUHJvZ3Jlc3Npb25MaXN0T3B0aW9uc30gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubGlzdCc7XG5pbXBvcnQge0lVc2VyRXZlbnRBY3Rpb259IGZyb20gJy4uLy4uL3VzZXItZXZlbnQvdXNlci1ldmVudC5tb2RlbCc7XG5pbXBvcnQge1Byb2dyZXNzU3Bpbm5lck1vZGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtSeFN0YXRlfSBmcm9tICdAcngtYW5ndWxhci9zdGF0ZSc7XG5pbXBvcnQge09iamVjdE1hcH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbk9wdGlvbnMge1xuICBhdXRvSGlkZTogYm9vbGVhbjtcbiAgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBhdXRvUmVtb3ZlOiBib29sZWFuO1xuICBhdXRvUmVtb3ZlRGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbkljb25TdGF0ZSB7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIG1vZGU6IFByb2dyZXNzU3Bpbm5lck1vZGU7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGpvYlByb2dyZXNzaW9uczogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPltdO1xuICBqb2JDb3VudDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtam9iLXByb2dyZXNzaW9uLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2pvYi1wcm9ncmVzc2lvbi5pY29uLnNjc3MnXSxcbiAgLy8gcHJvdmlkZXJzOiBbUnhTdGF0ZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uSWNvbiBleHRlbmRzIFJ4U3RhdGU8Sm9iUHJvZ3Jlc3Npb25JY29uU3RhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlSTE4biA9ICdTT0NJQUwuSk9CLlBST0dSRVNTSU9OLlRJVExFJztcbiAgQElucHV0KCkgb3B0aW9uczogSm9iUHJvZ3Jlc3Npb25PcHRpb25zO1xuICBASW5wdXQoKSBhdXRvSGlkZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGVyQWN0aW9uczogSVVzZXJFdmVudEFjdGlvbltdO1xuICBAT3V0cHV0KCkgam9iRmluaXNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBkaXNhYmxlZCA9IHRydWU7XG4gIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAnYWNjZW50JztcbiAgam9iUHJvZ3Jlc3Npb25zJCA9IHRoaXMuc2VsZWN0KCdqb2JQcm9ncmVzc2lvbnMnKTtcbiAgam9iQ291bnQkID0gdGhpcy5zZWxlY3QoJ2pvYkNvdW50Jyk7XG4gIHZpc2libGUkID0gdGhpcy5zZWxlY3QoJ3Zpc2libGUnKTtcbiAgbW9kZSQgPSB0aGlzLnNlbGVjdCgnbW9kZScpO1xuICB2YWx1ZSQgPSB0aGlzLnNlbGVjdCgndmFsdWUnKTtcblxuICBwcm90ZWN0ZWQgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgYXV0b1JlbW92ZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGF1dG9SZW1vdmVEZWxheTogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2xpc3RQb3BvdmVyOiBIVE1MSW9uUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnNCeUlkOiBPYmplY3RNYXA8U3Vic2NyaXB0aW9uPiA9IHt9O1xuICBwcml2YXRlIF9sb2dQcmVmaXggPSAnW2pvYi1wcm9ncmVzc2lvbl0gJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9KT0JfUFJPR1JFU1NJT05fU0VSVklDRSkgcHJvdGVjdGVkIGpvYlByb2dyZXNzaW9uU2VydmljZTogSUpvYlByb2dyZXNzaW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBqb2JQcm9ncmVzc2lvbnMoKTogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2pvYlByb2dyZXNzaW9ucycpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkYCk7XG4gICAgfVxuICAgIC8vIHBhcnNlIG9wdGlvbnNcbiAgICB0aGlzLmF1dG9IaWRlID0gdG9Cb29sZWFuKHRoaXMuYXV0b0hpZGUsIHRoaXMub3B0aW9ucz8uYXV0b0hpZGUgfHwgZmFsc2UpO1xuICAgIHRoaXMuc2V0KHt2aXNpYmxlOiAhdGhpcy5hdXRvSGlkZSwgbW9kZTogJ2RldGVybWluYXRlJywgdmFsdWU6IDB9KTtcbiAgICB0aGlzLmF1dG9IaWRlRGVsYXkgPSB0b051bWJlcih0aGlzLm9wdGlvbnM/LmF1dG9IaWRlRGVsYXksIDEwMDApO1xuICAgIHRoaXMuYXV0b1JlbW92ZSA9IHRvQm9vbGVhbih0aGlzLm9wdGlvbnM/LmF1dG9SZW1vdmUsIHRydWUpO1xuICAgIHRoaXMuYXV0b1JlbW92ZURlbGF5ID0gdG9OdW1iZXIodGhpcy5vcHRpb25zPy5hdXRvUmVtb3ZlRGVsYXksIDEwMDApO1xuXG4gICAgaWYgKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSB7XG4gICAgICB0aGlzLmNvbm5lY3QoJ2pvYlByb2dyZXNzaW9ucycsIHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlLndhdGNoQWxsKCksIChzdGF0ZSwgaXRlbXMpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdKb2JJZHMgPSBzdGF0ZS5qb2JQcm9ncmVzc2lvbnM/Lm1hcChqb2IgPT4gam9iLnZhbHVlLmlkKSB8fCBbXTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGl0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmVtb3ZlKGV4aXN0aW5nSm9iSWRzLCBpZCA9PiBpZCA9PT0gaXRlbS5pZCk7XG4gICAgICAgICAgLy8gQWRkIGpvYiB0byBsaXN0ZW5cbiAgICAgICAgICByZXR1cm4gdGhpcy5zdGFydExpc3RlbkpvYihpdGVtLmlkLCBpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFJlbW92ZSBvbGQgam9ic1xuICAgICAgICBpZiAoZXhpc3RpbmdKb2JJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGV4aXN0aW5nSm9iSWRzLmZvckVhY2goaWQgPT4gdGhpcy5zdG9wTGlzdGVuSm9iKGlkLCB7ZW1pdEV2ZW50OiBmYWxzZX0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0KCdqb2JDb3VudCcsIHRoaXMuam9iUHJvZ3Jlc3Npb25zJC5waXBlKG1hcChqb2JzID0+IGpvYnM/Lmxlbmd0aCB8fCAwKSkpO1xuXG4gICAgdGhpcy5jb25uZWN0KCd2aXNpYmxlJyxcbiAgICAgIHRoaXMuam9iQ291bnQkLnBpcGUoXG4gICAgICAgIG1hcChqb2JDb3VudCA9PiBqb2JDb3VudCA+IDApLFxuICAgICAgICBzd2l0Y2hNYXAoaGFzSm9iID0+IGhhc0pvYiA/IG9mKHRydWUpIDogb2YoZmFsc2UpLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuYXV0b0hpZGUpLFxuICAgICAgICAgIGRlbGF5KHRoaXMuYXV0b0hpZGVEZWxheSksXG4gICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9saXN0UG9wb3ZlcikgdGhpcy5fbGlzdFBvcG92ZXIuZGlzbWlzcygpO1xuICAgICAgICAgIH0pXG4gICAgICAgICkpXG4gICAgICApXG4gICAgKTtcblxuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXJ0TGlzdGVuSm9iKGlkOiBudW1iZXIsIGpvYj86IEpvYlByb2dyZXNzaW9uKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkLiBDYW4ndCBhZGQgYSBqb2JgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5nZXRQcm9ncmVzc2lvbihpZCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgLy9jb25zb2xlLndhcm4oYCR7dGhpcy5fbG9nUHJlZml4fUpvYiAoaWQ9JHtpZH0pIGFscmVhZHkgcHJlc2VudGApO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUFkZCBqb2IgaWQ9JHtpZH1gKTtcbiAgICB9XG4gICAgLy8gQWRkaW5nIGVtcHR5IGpvYiBwcm9ncmVzc2lvblxuICAgIHJlc3VsdCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoam9iIHx8IG5ldyBKb2JQcm9ncmVzc2lvbihpZCkpO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3ViID0gdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UubGlzdGVuQ2hhbmdlcyhpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIocHJvZ3Jlc3Npb24gPT4ge1xuICAgICAgICAgIGlmIChpZCAhPT0gcHJvZ3Jlc3Npb24uaWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7dGhpcy5fbG9nUHJlZml4fUpvYiBwcm9ncmVzc2lvbiAoaWQ9JHtwcm9ncmVzc2lvbi5pZH0pIGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgam9iIChpZD0ke2lkfSlgKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAocHJvZ3Jlc3Npb24gPT4ge1xuICAgICAgICAgIC8vIHVwZGF0ZSBjdXJyZW50XG4gICAgICAgICAgcmVzdWx0Lm5leHQocHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1Qcm9ncmVzc2lvbiB1cGRhdGVkIGlkPSR7aWR9YCwgcHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJvZ3Jlc3Npb247XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHByb2dyZXNzaW9uID0+IHtcbiAgICAgICAgLy8gdXBkYXRlIHZhbHVlXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcblxuICAgICAgICAvLyBqb2IgZmluaXNoZWRcbiAgICAgICAgaWYgKHByb2dyZXNzaW9uLnRvdGFsID4gMCAmJiBwcm9ncmVzc2lvbi5jdXJyZW50ID09PSBwcm9ncmVzc2lvbi50b3RhbCkge1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1GaW5pc2hlZCBqb2IgaWQ9JHtwcm9ncmVzc2lvbi5pZH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZW1pdCBldmVudFxuICAgICAgICAgIHRoaXMuam9iRmluaXNoZWQuZW1pdChwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgaWYgKHRoaXMuYXV0b1JlbW92ZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcExpc3RlbkpvYihwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgICB9LCB0aGlzLmF1dG9SZW1vdmVEZWxheSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXSA9IHN1YjtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdG9wTGlzdGVuSm9iKGlkOiBudW1iZXIsIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1SZW1vdmUgam9iIGlkPSR7aWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXTtcbiAgICBpZiAoc3ViKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnJlbW92ZShzdWIpO1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBqb2IgZnJvbSBzZXJ2aWNlXG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UucmVtb3ZlSm9iKGlkKTtcbiAgICBpZiAoIW9wdHM/LmVtaXRFdmVudCAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UHJvZ3Jlc3Npb24oaWQ6IG51bWJlcik6IEJlaGF2aW9yU3ViamVjdDxKb2JQcm9ncmVzc2lvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmpvYlByb2dyZXNzaW9ucy5maW5kKHByb2dyZXNzaW9uID0+IHByb2dyZXNzaW9uLnZhbHVlLmlkID09PSBpZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVVwZGF0aW5nIHZhbHVlYCk7XG4gICAgfVxuICAgIGxldCB2YWx1ZSA9IDA7XG4gICAgY29uc3QgbmJQcm9ncmVzc2lvbiA9IGFycmF5U2l6ZSh0aGlzLmpvYlByb2dyZXNzaW9ucyk7XG4gICAgbGV0IGFsbEluZGV0ZXJtaW5hdGUgPSBuYlByb2dyZXNzaW9uID4gMDtcblxuICAgIHRoaXMuam9iUHJvZ3Jlc3Npb25zXG4gICAgICAubWFwKHN1YmplY3QgPT4gc3ViamVjdC52YWx1ZSlcbiAgICAgIC5mb3JFYWNoKHByb2dyZXNzaW9uID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXRlcm1pbmF0ZSA9IHByb2dyZXNzaW9uLnRvdGFsID09PSAwO1xuICAgICAgICBhbGxJbmRldGVybWluYXRlID0gYWxsSW5kZXRlcm1pbmF0ZSAmJiBpbmRldGVybWluYXRlO1xuICAgICAgICBpZiAoIWluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlICsgcHJvZ3Jlc3Npb24uY3VycmVudCAqIDEwMCAvIHByb2dyZXNzaW9uLnRvdGFsO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2V0KHttb2RlOiBhbGxJbmRldGVybWluYXRlID8gJ2luZGV0ZXJtaW5hdGUnIDogJ2RldGVybWluYXRlJywgdmFsdWU6IG5iUHJvZ3Jlc3Npb24gPiAwID8gdmFsdWUgLyBuYlByb2dyZXNzaW9uIDogMH0pO1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1TZXR0aW5nIHZhbHVlPSR7dGhpcy5nZXQoJ3ZhbHVlJyl9LCBtb2RlPSR7dGhpcy5nZXQoJ21vZGUnKX1gKTtcbiAgICB9XG5cbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgc2hvd0xpc3QoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5fbGlzdFBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IEpvYlByb2dyZXNzaW9uTGlzdCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiA8Sm9iUHJvZ3Jlc3Npb25MaXN0T3B0aW9ucz57XG4gICAgICAgIHRpdGxlSTE4bjogdGhpcy50aXRsZUkxOG4sXG4gICAgICAgIGpvYlByb2dyZXNzaW9uczogdGhpcy5qb2JQcm9ncmVzc2lvbnMkLFxuICAgICAgICBoZWFkZXJBY3Rpb25zOiB0aGlzLmhlYWRlckFjdGlvbnMsXG4gICAgICB9LFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxuICAgICAga2V5Ym9hcmRDbG9zZTogdHJ1ZSxcbiAgICAgIGV2ZW50LFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICBjc3NDbGFzczogJ3BvcG92ZXItbGFyZ2UnXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5fbGlzdFBvcG92ZXIucHJlc2VudCgpO1xuICAgIGF3YWl0IHRoaXMuX2xpc3RQb3BvdmVyLm9uRGlkRGlzbWlzcygpO1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fURlc3Ryb3lpbmdgKTtcbiAgICB9XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gICNidXR0b25cbiAgbWF0LWljb24tYnV0dG9uXG4gIFt0aXRsZV09XCJ0aXRsZUkxOG4gfCB0cmFuc2xhdGVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAqcnhJZj1cInZpc2libGUkXCJcbiAgKGNsaWNrKT1cInNob3dMaXN0KCRldmVudClcIlxuPlxuICA8bWF0LWljb24gKnJ4TGV0PVwiam9iQ291bnQkOyBsZXQgam9iQ291bnRcIlxuICAgIFttYXRCYWRnZV09XCJqb2JDb3VudFwiXG4gICAgW21hdEJhZGdlSGlkZGVuXT1cIiFqb2JDb3VudFwiXG4gICAgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiXG4gICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgPnt7IGRpc2FibGVkIHx8IGpvYkNvdW50ID8gJ3NjaGVkdWxlJyA6ICd0YXNrX2FsdCcgfX1cbiAgPC9tYXQtaWNvbj5cbiAgPG1hdC1zcGlubmVyXG4gICAgI3NwaW5uZXJcbiAgICAqcnhJZj1cImpvYkNvdW50JFwiXG4gICAgY2xhc3M9XCJmbG9hdGluZy1zcGlubmVyXCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFttb2RlXT1cIm1vZGUkIHwgcHVzaFwiXG4gICAgW3ZhbHVlXT1cInZhbHVlJCB8IHB1c2hcIlxuICAgIGRpYW1ldGVyPVwiMzBcIlxuICAgIHN0cm9rZVdpZHRoPVwiM1wiXG4gID48L21hdC1zcGlubmVyPlxuPC9idXR0b24+XG5cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0SixPQUFPLEVBQUMsMkJBQTJCLEVBQXlCLE1BQU0sMkJBQTJCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBR3JGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7QUF5QjFDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxPQUFnQztJQTJCVDtJQUNqRDtJQUNBO0lBM0JILEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxTQUFTLEdBQUcsOEJBQThCLENBQUM7SUFDM0MsT0FBTyxDQUF3QjtJQUMvQixRQUFRLENBQVU7SUFDbEIsYUFBYSxDQUFxQjtJQUNqQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVuRCxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLEtBQUssR0FBaUIsUUFBUSxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVwQixhQUFhLENBQVM7SUFDdEIsVUFBVSxDQUFVO0lBQ3BCLGVBQWUsQ0FBUztJQUUxQixZQUFZLENBQXdCO0lBQ3BDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3BDLGtCQUFrQixHQUE0QixFQUFFLENBQUM7SUFDakQsVUFBVSxHQUFHLG9CQUFvQixDQUFDO0lBRTFDLFlBQzZELHFCQUE2QyxFQUM5RixpQkFBb0MsRUFDcEMsRUFBcUI7UUFFL0IsS0FBSyxFQUFFLENBQUM7UUFKbUQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQUM5RixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBR2pDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJFLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RGLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzdFLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzdDLG9CQUFvQjtvQkFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2dCQUNILGtCQUFrQjtnQkFDbEIsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUM5QixjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQzdCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNwRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUN6QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWTtnQkFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUNILENBQUMsQ0FDSCxDQUNGLENBQUM7SUFFSixDQUFDO0lBRVMsY0FBYyxDQUFDLEVBQVUsRUFBRSxHQUFvQjtRQUN2RCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsbUVBQW1FO1lBQ25FLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELCtCQUErQjtRQUMvQixNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxJQUFJLElBQUksY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDckQsSUFBSSxDQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuQixJQUFJLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSx1QkFBdUIsV0FBVyxDQUFDLEVBQUUsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hILE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLGlCQUFpQjtZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSwwQkFBMEIsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0UsQ0FBQztZQUNELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZCLGVBQWU7WUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsZUFBZTtZQUNmLElBQUksV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxtQkFBbUIsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZFLENBQUM7Z0JBQ0QsYUFBYTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNyQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsYUFBYSxDQUFDLEVBQVUsRUFBRSxJQUE4QjtRQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVTLGNBQWMsQ0FBQyxFQUFVO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUV6QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxlQUFlO2lCQUNqQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2lCQUM3QixPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFBSSxhQUFhLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbkIsS0FBSyxHQUFHLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDM0gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsaUJBQWlCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQ3RELFNBQVMsRUFBRSxrQkFBa0I7WUFDN0IsY0FBYyxFQUE2QjtnQkFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDdEMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ2xDO1lBQ0QsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsS0FBSztZQUNMLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxlQUFlO1NBQzFCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVTLFlBQVk7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLFlBQVksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7dUdBNU5VLGtCQUFrQixrQkEyQlAsMkJBQTJCOzJGQTNCdEMsa0JBQWtCLDhQQ3BDL0Isb3RCQTZCQTs7MkZET2Esa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLDBCQUEwQixtQkFJbkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkI1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDJCQUEyQjt5R0F6QnhDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtBUFBfSk9CX1BST0dSRVNTSU9OX1NFUlZJQ0UsIElKb2JQcm9ncmVzc2lvblNlcnZpY2V9IGZyb20gJy4vam9iLXByb2dyZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtKb2JQcm9ncmVzc2lvbn0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGRlbGF5LCBvZiwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHthcnJheVNpemUsIGlzTmlsLCByZW1vdmUsIHRvQm9vbGVhbiwgdG9OdW1iZXJ9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1BvcG92ZXJDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0pvYlByb2dyZXNzaW9uTGlzdCwgSm9iUHJvZ3Jlc3Npb25MaXN0T3B0aW9uc30gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubGlzdCc7XG5pbXBvcnQge0lVc2VyRXZlbnRBY3Rpb259IGZyb20gJy4uLy4uL3VzZXItZXZlbnQvdXNlci1ldmVudC5tb2RlbCc7XG5pbXBvcnQge1Byb2dyZXNzU3Bpbm5lck1vZGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtSeFN0YXRlfSBmcm9tICdAcngtYW5ndWxhci9zdGF0ZSc7XG5pbXBvcnQge09iamVjdE1hcH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbk9wdGlvbnMge1xuICBhdXRvSGlkZTogYm9vbGVhbjtcbiAgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBhdXRvUmVtb3ZlOiBib29sZWFuO1xuICBhdXRvUmVtb3ZlRGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbkljb25TdGF0ZSB7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIG1vZGU6IFByb2dyZXNzU3Bpbm5lck1vZGU7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGpvYlByb2dyZXNzaW9uczogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPltdO1xuICBqb2JDb3VudDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtam9iLXByb2dyZXNzaW9uLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2pvYi1wcm9ncmVzc2lvbi5pY29uLnNjc3MnXSxcbiAgLy8gcHJvdmlkZXJzOiBbUnhTdGF0ZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uSWNvbiBleHRlbmRzIFJ4U3RhdGU8Sm9iUHJvZ3Jlc3Npb25JY29uU3RhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlSTE4biA9ICdTT0NJQUwuSk9CLlBST0dSRVNTSU9OLlRJVExFJztcbiAgQElucHV0KCkgb3B0aW9uczogSm9iUHJvZ3Jlc3Npb25PcHRpb25zO1xuICBASW5wdXQoKSBhdXRvSGlkZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGVyQWN0aW9uczogSVVzZXJFdmVudEFjdGlvbltdO1xuICBAT3V0cHV0KCkgam9iRmluaXNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBkaXNhYmxlZCA9IHRydWU7XG4gIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAnYWNjZW50JztcbiAgam9iUHJvZ3Jlc3Npb25zJCA9IHRoaXMuc2VsZWN0KCdqb2JQcm9ncmVzc2lvbnMnKTtcbiAgam9iQ291bnQkID0gdGhpcy5zZWxlY3QoJ2pvYkNvdW50Jyk7XG4gIHZpc2libGUkID0gdGhpcy5zZWxlY3QoJ3Zpc2libGUnKTtcbiAgbW9kZSQgPSB0aGlzLnNlbGVjdCgnbW9kZScpO1xuICB2YWx1ZSQgPSB0aGlzLnNlbGVjdCgndmFsdWUnKTtcblxuICBwcm90ZWN0ZWQgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgYXV0b1JlbW92ZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGF1dG9SZW1vdmVEZWxheTogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2xpc3RQb3BvdmVyOiBIVE1MSW9uUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnNCeUlkOiBPYmplY3RNYXA8U3Vic2NyaXB0aW9uPiA9IHt9O1xuICBwcml2YXRlIF9sb2dQcmVmaXggPSAnW2pvYi1wcm9ncmVzc2lvbl0gJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9KT0JfUFJPR1JFU1NJT05fU0VSVklDRSkgcHJvdGVjdGVkIGpvYlByb2dyZXNzaW9uU2VydmljZTogSUpvYlByb2dyZXNzaW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBqb2JQcm9ncmVzc2lvbnMoKTogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2pvYlByb2dyZXNzaW9ucycpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkYCk7XG4gICAgfVxuICAgIC8vIHBhcnNlIG9wdGlvbnNcbiAgICB0aGlzLmF1dG9IaWRlID0gdG9Cb29sZWFuKHRoaXMuYXV0b0hpZGUsIHRoaXMub3B0aW9ucz8uYXV0b0hpZGUgfHwgZmFsc2UpO1xuICAgIHRoaXMuc2V0KHt2aXNpYmxlOiAhdGhpcy5hdXRvSGlkZSwgbW9kZTogJ2RldGVybWluYXRlJywgdmFsdWU6IDB9KTtcbiAgICB0aGlzLmF1dG9IaWRlRGVsYXkgPSB0b051bWJlcih0aGlzLm9wdGlvbnM/LmF1dG9IaWRlRGVsYXksIDEwMDApO1xuICAgIHRoaXMuYXV0b1JlbW92ZSA9IHRvQm9vbGVhbih0aGlzLm9wdGlvbnM/LmF1dG9SZW1vdmUsIHRydWUpO1xuICAgIHRoaXMuYXV0b1JlbW92ZURlbGF5ID0gdG9OdW1iZXIodGhpcy5vcHRpb25zPy5hdXRvUmVtb3ZlRGVsYXksIDEwMDApO1xuXG4gICAgaWYgKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSB7XG4gICAgICB0aGlzLmNvbm5lY3QoJ2pvYlByb2dyZXNzaW9ucycsIHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlLndhdGNoQWxsKCksIChzdGF0ZSwgaXRlbXMpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdKb2JJZHMgPSBzdGF0ZS5qb2JQcm9ncmVzc2lvbnM/Lm1hcChqb2IgPT4gam9iLnZhbHVlLmlkKSB8fCBbXTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGl0ZW1zIHx8IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmVtb3ZlKGV4aXN0aW5nSm9iSWRzLCBpZCA9PiBpZCA9PT0gaXRlbS5pZCk7XG4gICAgICAgICAgLy8gQWRkIGpvYiB0byBsaXN0ZW5cbiAgICAgICAgICByZXR1cm4gdGhpcy5zdGFydExpc3RlbkpvYihpdGVtLmlkLCBpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFJlbW92ZSBvbGQgam9ic1xuICAgICAgICBpZiAoZXhpc3RpbmdKb2JJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGV4aXN0aW5nSm9iSWRzLmZvckVhY2goaWQgPT4gdGhpcy5zdG9wTGlzdGVuSm9iKGlkLCB7ZW1pdEV2ZW50OiBmYWxzZX0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0KCdqb2JDb3VudCcsIHRoaXMuam9iUHJvZ3Jlc3Npb25zJC5waXBlKG1hcChqb2JzID0+IGpvYnM/Lmxlbmd0aCB8fCAwKSkpO1xuXG4gICAgdGhpcy5jb25uZWN0KCd2aXNpYmxlJyxcbiAgICAgIHRoaXMuam9iQ291bnQkLnBpcGUoXG4gICAgICAgIG1hcChqb2JDb3VudCA9PiBqb2JDb3VudCA+IDApLFxuICAgICAgICBzd2l0Y2hNYXAoaGFzSm9iID0+IGhhc0pvYiA/IG9mKHRydWUpIDogb2YoZmFsc2UpLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuYXV0b0hpZGUpLFxuICAgICAgICAgIGRlbGF5KHRoaXMuYXV0b0hpZGVEZWxheSksXG4gICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9saXN0UG9wb3ZlcikgdGhpcy5fbGlzdFBvcG92ZXIuZGlzbWlzcygpO1xuICAgICAgICAgIH0pXG4gICAgICAgICkpXG4gICAgICApXG4gICAgKTtcblxuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXJ0TGlzdGVuSm9iKGlkOiBudW1iZXIsIGpvYj86IEpvYlByb2dyZXNzaW9uKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkLiBDYW4ndCBhZGQgYSBqb2JgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5nZXRQcm9ncmVzc2lvbihpZCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgLy9jb25zb2xlLndhcm4oYCR7dGhpcy5fbG9nUHJlZml4fUpvYiAoaWQ9JHtpZH0pIGFscmVhZHkgcHJlc2VudGApO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUFkZCBqb2IgaWQ9JHtpZH1gKTtcbiAgICB9XG4gICAgLy8gQWRkaW5nIGVtcHR5IGpvYiBwcm9ncmVzc2lvblxuICAgIHJlc3VsdCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoam9iIHx8IG5ldyBKb2JQcm9ncmVzc2lvbihpZCkpO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3ViID0gdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UubGlzdGVuQ2hhbmdlcyhpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIocHJvZ3Jlc3Npb24gPT4ge1xuICAgICAgICAgIGlmIChpZCAhPT0gcHJvZ3Jlc3Npb24uaWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7dGhpcy5fbG9nUHJlZml4fUpvYiBwcm9ncmVzc2lvbiAoaWQ9JHtwcm9ncmVzc2lvbi5pZH0pIGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgam9iIChpZD0ke2lkfSlgKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAocHJvZ3Jlc3Npb24gPT4ge1xuICAgICAgICAgIC8vIHVwZGF0ZSBjdXJyZW50XG4gICAgICAgICAgcmVzdWx0Lm5leHQocHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1Qcm9ncmVzc2lvbiB1cGRhdGVkIGlkPSR7aWR9YCwgcHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJvZ3Jlc3Npb247XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHByb2dyZXNzaW9uID0+IHtcbiAgICAgICAgLy8gdXBkYXRlIHZhbHVlXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcblxuICAgICAgICAvLyBqb2IgZmluaXNoZWRcbiAgICAgICAgaWYgKHByb2dyZXNzaW9uLnRvdGFsID4gMCAmJiBwcm9ncmVzc2lvbi5jdXJyZW50ID09PSBwcm9ncmVzc2lvbi50b3RhbCkge1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1GaW5pc2hlZCBqb2IgaWQ9JHtwcm9ncmVzc2lvbi5pZH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZW1pdCBldmVudFxuICAgICAgICAgIHRoaXMuam9iRmluaXNoZWQuZW1pdChwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgaWYgKHRoaXMuYXV0b1JlbW92ZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcExpc3RlbkpvYihwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgICB9LCB0aGlzLmF1dG9SZW1vdmVEZWxheSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXSA9IHN1YjtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdG9wTGlzdGVuSm9iKGlkOiBudW1iZXIsIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1SZW1vdmUgam9iIGlkPSR7aWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXTtcbiAgICBpZiAoc3ViKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnJlbW92ZShzdWIpO1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBqb2IgZnJvbSBzZXJ2aWNlXG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UucmVtb3ZlSm9iKGlkKTtcbiAgICBpZiAoIW9wdHM/LmVtaXRFdmVudCAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UHJvZ3Jlc3Npb24oaWQ6IG51bWJlcik6IEJlaGF2aW9yU3ViamVjdDxKb2JQcm9ncmVzc2lvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmpvYlByb2dyZXNzaW9ucz8uZmluZChwcm9ncmVzc2lvbiA9PiBwcm9ncmVzc2lvbi52YWx1ZS5pZCA9PT0gaWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKCkge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1VcGRhdGluZyB2YWx1ZWApO1xuICAgIH1cbiAgICBsZXQgdmFsdWUgPSAwO1xuICAgIGNvbnN0IG5iUHJvZ3Jlc3Npb24gPSBhcnJheVNpemUodGhpcy5qb2JQcm9ncmVzc2lvbnMpO1xuICAgIGxldCBhbGxJbmRldGVybWluYXRlID0gbmJQcm9ncmVzc2lvbiA+IDA7XG5cbiAgICBpZiAobmJQcm9ncmVzc2lvbikge1xuICAgICAgdGhpcy5qb2JQcm9ncmVzc2lvbnNcbiAgICAgICAgLm1hcChzdWJqZWN0ID0+IHN1YmplY3QudmFsdWUpXG4gICAgICAgIC5mb3JFYWNoKHByb2dyZXNzaW9uID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRldGVybWluYXRlID0gcHJvZ3Jlc3Npb24udG90YWwgPT09IDA7XG4gICAgICAgICAgYWxsSW5kZXRlcm1pbmF0ZSA9IGFsbEluZGV0ZXJtaW5hdGUgJiYgaW5kZXRlcm1pbmF0ZTtcbiAgICAgICAgICBpZiAoIWluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyBwcm9ncmVzc2lvbi5jdXJyZW50ICogMTAwIC8gcHJvZ3Jlc3Npb24udG90YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNldCh7bW9kZTogYWxsSW5kZXRlcm1pbmF0ZSA/ICdpbmRldGVybWluYXRlJyA6ICdkZXRlcm1pbmF0ZScsIHZhbHVlOiBuYlByb2dyZXNzaW9uID4gMCA/IHZhbHVlIC8gbmJQcm9ncmVzc2lvbiA6IDB9KTtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9U2V0dGluZyB2YWx1ZT0ke3RoaXMuZ2V0KCd2YWx1ZScpfSwgbW9kZT0ke3RoaXMuZ2V0KCdtb2RlJyl9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dMaXN0KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBKb2JQcm9ncmVzc2lvbkxpc3QsXG4gICAgICBjb21wb25lbnRQcm9wczogPEpvYlByb2dyZXNzaW9uTGlzdE9wdGlvbnM+e1xuICAgICAgICB0aXRsZUkxOG46IHRoaXMudGl0bGVJMThuLFxuICAgICAgICBqb2JQcm9ncmVzc2lvbnM6IHRoaXMuam9iUHJvZ3Jlc3Npb25zJCxcbiAgICAgICAgaGVhZGVyQWN0aW9uczogdGhpcy5oZWFkZXJBY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IHRydWUsXG4gICAgICBldmVudCxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6ICdwb3BvdmVyLWxhcmdlJ1xuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuX2xpc3RQb3BvdmVyLnByZXNlbnQoKTtcbiAgICBhd2FpdCB0aGlzLl9saXN0UG9wb3Zlci5vbkRpZERpc21pc3MoKTtcbiAgICB0aGlzLl9saXN0UG9wb3ZlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1EZXN0cm95aW5nYCk7XG4gICAgfVxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAjYnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbdGl0bGVdPVwidGl0bGVJMThuIHwgdHJhbnNsYXRlXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKnJ4SWY9XCJ2aXNpYmxlJFwiXG4gIChjbGljayk9XCJzaG93TGlzdCgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uICpyeExldD1cImpvYkNvdW50JDsgbGV0IGpvYkNvdW50XCJcbiAgICBbbWF0QmFkZ2VdPVwiam9iQ291bnRcIlxuICAgIFttYXRCYWRnZUhpZGRlbl09XCIham9iQ291bnRcIlxuICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gID57eyBkaXNhYmxlZCB8fCBqb2JDb3VudCA/ICdzY2hlZHVsZScgOiAndGFza19hbHQnIH19XG4gIDwvbWF0LWljb24+XG4gIDxtYXQtc3Bpbm5lclxuICAgICNzcGlubmVyXG4gICAgKnJ4SWY9XCJqb2JDb3VudCRcIlxuICAgIGNsYXNzPVwiZmxvYXRpbmctc3Bpbm5lclwiXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICBbbW9kZV09XCJtb2RlJCB8IHB1c2hcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSQgfCBwdXNoXCJcbiAgICBkaWFtZXRlcj1cIjMwXCJcbiAgICBzdHJva2VXaWR0aD1cIjNcIlxuICA+PC9tYXQtc3Bpbm5lcj5cbjwvYnV0dG9uPlxuXG4iXX0=
|
|
@@ -38095,7 +38095,7 @@ class JobProgressionIcon extends RxState {
|
|
|
38095
38095
|
}
|
|
38096
38096
|
}
|
|
38097
38097
|
getProgression(id) {
|
|
38098
|
-
return this.jobProgressions
|
|
38098
|
+
return this.jobProgressions?.find(progression => progression.value.id === id);
|
|
38099
38099
|
}
|
|
38100
38100
|
updateValue() {
|
|
38101
38101
|
if (this.debug) {
|
|
@@ -38104,15 +38104,17 @@ class JobProgressionIcon extends RxState {
|
|
|
38104
38104
|
let value = 0;
|
|
38105
38105
|
const nbProgression = arraySize(this.jobProgressions);
|
|
38106
38106
|
let allIndeterminate = nbProgression > 0;
|
|
38107
|
-
|
|
38108
|
-
.
|
|
38109
|
-
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
|
|
38113
|
-
|
|
38114
|
-
|
|
38115
|
-
|
|
38107
|
+
if (nbProgression) {
|
|
38108
|
+
this.jobProgressions
|
|
38109
|
+
.map(subject => subject.value)
|
|
38110
|
+
.forEach(progression => {
|
|
38111
|
+
const indeterminate = progression.total === 0;
|
|
38112
|
+
allIndeterminate = allIndeterminate && indeterminate;
|
|
38113
|
+
if (!indeterminate) {
|
|
38114
|
+
value = value + progression.current * 100 / progression.total;
|
|
38115
|
+
}
|
|
38116
|
+
});
|
|
38117
|
+
}
|
|
38116
38118
|
this.set({ mode: allIndeterminate ? 'indeterminate' : 'determinate', value: nbProgression > 0 ? value / nbProgression : 0 });
|
|
38117
38119
|
if (this.debug) {
|
|
38118
38120
|
console.debug(`${this._logPrefix}Setting value=${this.get('value')}, mode=${this.get('mode')}`);
|