ng-configcat-publicapi-ui 4.0.2 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +3 -3
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +3 -3
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +3 -3
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +4 -4
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +3 -3
- package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +3 -3
- package/fesm2022/ng-configcat-publicapi-ui.mjs +13 -13
- package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -54,11 +54,11 @@ export class PrerequisiteFlagConditionComponent {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PrerequisiteFlagConditionComponent, deps: [{ token: i1.FormGenerator }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: PrerequisiteFlagConditionComponent, selector: "app-prerequisite-flag-condition", inputs: { targetingRuleIndex: "targetingRuleIndex", conditionIndex: "conditionIndex", formGroup: "formGroup", prerequisiteSettings: "prerequisiteSettings", featureFlagLimitations: "featureFlagLimitations" }, outputs: { prerequisiteConditionChanged: "prerequisiteConditionChanged" }, ngImport: i0, template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: PrerequisiteFlagConditionComponent, selector: "app-prerequisite-flag-condition", inputs: { targetingRuleIndex: "targetingRuleIndex", conditionIndex: "conditionIndex", formGroup: "formGroup", prerequisiteSettings: "prerequisiteSettings", featureFlagLimitations: "featureFlagLimitations" }, outputs: { prerequisiteConditionChanged: "prerequisiteConditionChanged" }, ngImport: i0, template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/targeting/targeting-rule/flag-condition/\"\n target=\"_blank\" rel=\"noopener noreferrer\" class=\"user-link\">flag</a></div>\n </div>\n <div class=\"wrapper-group\">\n <div class=\"targeting-rule-component pad-right\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.prerequisiteSettingId\"\n (change)=\"prerequisiteSettingChanged()\" matTooltip=\"Prerequisite feature flag or setting key\">\n <option [ngValue]=\"null\" disabled selected hidden *ngIf=\"prerequisiteSettings.length\">Select feature\n flag ...</option>\n <option *ngFor=\"let setting of prerequisiteSettings\" [ngValue]=\"setting.settingId\">\n {{setting.key}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.prerequisiteSettingId.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.prerequisiteSettingId)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"targeting-rule-component pad-right\" *ngIf=\"prerequisiteSettingType === SettingType.Boolean\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\"\n matTooltip=\"Prerequisite feature flag comparison value\">\n <option *ngFor=\"let prerequisiteComparator of booleanPrerequisiteComparators\"\n [ngValue]=\"prerequisiteComparator.value\">\n {{prerequisiteComparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"targeting-rule-component pad-right\" *ngIf=\"prerequisiteSettingType !== SettingType.Boolean\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\" matTooltip=\"Comparator\">\n <option *ngFor=\"let prerequisiteComparator of prerequisiteComparators\"\n [ngValue]=\"prerequisiteComparator.value\">\n {{prerequisiteComparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <app-feature-flag-value class=\"wrapper-group grow\" *ngIf=\"prerequisiteSettingType !== SettingType.Boolean\"\n tooltip=\"Prerequisite feature flag comparison value\"\n [formGroup]=\"formGroup.controls.prerequisiteComparisonValue\" [isPrerequisite]=\"true\"\n [featureFlagLimitations]=\"featureFlagLimitations\"></app-feature-flag-value>\n</div>", styles: [".targeting-rule-line{display:flex;flex-wrap:wrap;margin:2px 0}.targeting-rule-line .wrapper-group{display:flex;flex-wrap:wrap}.targeting-rule-line .wrapper-group.grow{flex-grow:1}.targeting-rule-component{margin:2px 0;width:212px}.targeting-rule-component[hidden]{display:none}.targeting-rule-component.small{width:102px}.targeting-rule-component.grow{flex-grow:1}.targeting-rule-component.pad-right{margin-right:8px}.targeting-rule-component mat-form-field{width:100%;font-size:12px}.delete-button{margin-top:4px;color:#b1b1b1}.delete-button mat-icon{font-size:18px;height:18px;width:18px}.explanation-wrapper{display:flex;margin-top:2px}.explanation-wrapper .explanation{min-width:44px;margin-top:6px;margin-right:8px}@media (max-width: 500px){.targeting-rule-component{max-width:calc(100% - 4px);width:160px}.targeting-rule-component.small{width:78px}.targeting-rule-component.pad-right{margin-right:4px}}\n", "select.ng-invalid{color:#00000061}select.ng-invalid option{color:#000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.FeatureFlagValueComponent, selector: "app-feature-flag-value", inputs: ["formGroup", "flagState", "featureFlagLimitations", "isPrerequisite", "tooltip"] }, { kind: "component", type: i8.ConditionChipComponent, selector: "app-condition-chip", inputs: ["targetingRuleIndex", "conditionIndex"] }] }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PrerequisiteFlagConditionComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
|
-
args: [{ selector: 'app-prerequisite-flag-condition', template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/
|
|
61
|
+
args: [{ selector: 'app-prerequisite-flag-condition', template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/targeting/targeting-rule/flag-condition/\"\n target=\"_blank\" rel=\"noopener noreferrer\" class=\"user-link\">flag</a></div>\n </div>\n <div class=\"wrapper-group\">\n <div class=\"targeting-rule-component pad-right\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.prerequisiteSettingId\"\n (change)=\"prerequisiteSettingChanged()\" matTooltip=\"Prerequisite feature flag or setting key\">\n <option [ngValue]=\"null\" disabled selected hidden *ngIf=\"prerequisiteSettings.length\">Select feature\n flag ...</option>\n <option *ngFor=\"let setting of prerequisiteSettings\" [ngValue]=\"setting.settingId\">\n {{setting.key}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.prerequisiteSettingId.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.prerequisiteSettingId)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"targeting-rule-component pad-right\" *ngIf=\"prerequisiteSettingType === SettingType.Boolean\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\"\n matTooltip=\"Prerequisite feature flag comparison value\">\n <option *ngFor=\"let prerequisiteComparator of booleanPrerequisiteComparators\"\n [ngValue]=\"prerequisiteComparator.value\">\n {{prerequisiteComparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"targeting-rule-component pad-right\" *ngIf=\"prerequisiteSettingType !== SettingType.Boolean\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\" matTooltip=\"Comparator\">\n <option *ngFor=\"let prerequisiteComparator of prerequisiteComparators\"\n [ngValue]=\"prerequisiteComparator.value\">\n {{prerequisiteComparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <app-feature-flag-value class=\"wrapper-group grow\" *ngIf=\"prerequisiteSettingType !== SettingType.Boolean\"\n tooltip=\"Prerequisite feature flag comparison value\"\n [formGroup]=\"formGroup.controls.prerequisiteComparisonValue\" [isPrerequisite]=\"true\"\n [featureFlagLimitations]=\"featureFlagLimitations\"></app-feature-flag-value>\n</div>", styles: [".targeting-rule-line{display:flex;flex-wrap:wrap;margin:2px 0}.targeting-rule-line .wrapper-group{display:flex;flex-wrap:wrap}.targeting-rule-line .wrapper-group.grow{flex-grow:1}.targeting-rule-component{margin:2px 0;width:212px}.targeting-rule-component[hidden]{display:none}.targeting-rule-component.small{width:102px}.targeting-rule-component.grow{flex-grow:1}.targeting-rule-component.pad-right{margin-right:8px}.targeting-rule-component mat-form-field{width:100%;font-size:12px}.delete-button{margin-top:4px;color:#b1b1b1}.delete-button mat-icon{font-size:18px;height:18px;width:18px}.explanation-wrapper{display:flex;margin-top:2px}.explanation-wrapper .explanation{min-width:44px;margin-top:6px;margin-right:8px}@media (max-width: 500px){.targeting-rule-component{max-width:calc(100% - 4px);width:160px}.targeting-rule-component.small{width:78px}.targeting-rule-component.pad-right{margin-right:4px}}\n", "select.ng-invalid{color:#00000061}select.ng-invalid option{color:#000}\n"] }]
|
|
62
62
|
}], ctorParameters: () => [{ type: i1.FormGenerator }], propDecorators: { targetingRuleIndex: [{
|
|
63
63
|
type: Input
|
|
64
64
|
}], conditionIndex: [{
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
72
72
|
}], prerequisiteConditionChanged: [{
|
|
73
73
|
type: Output
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvcHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi9wcmVyZXF1aXNpdGUtZmxhZy1jb25kaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQ0wsVUFBVSxFQUFFLHNCQUFzQixFQUVOLFdBQVcsRUFDeEMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQVVyQyxNQUFNLE9BQU8sa0NBQWtDO0lBc0I3QyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWhCdEMsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUcxQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRXhCLDRCQUF1QixHQUFHO1lBQ3hCLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1lBQ3pELEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1NBQ3BFLENBQUM7UUFFRixtQ0FBOEIsR0FBRztZQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN4RCxFQUFFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtTQUNoRSxDQUFDO0lBRWtELENBQUM7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pJLE9BQU8sbUJBQW1CLEVBQUUsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUNoRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JELElBQUksMEJBQTBCLEtBQUssSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsNkJBQTZCLEVBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FDMUgsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBd0I7UUFDM0MsUUFBUSxXQUFXLEVBQUUsQ0FBQztZQUNwQixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzdCLEtBQUssV0FBVyxDQUFDLE1BQU07Z0JBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0IsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLFdBQVcsQ0FBQyxNQUFNO2dCQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzVCO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQzs4R0EzRFUsa0NBQWtDO2tHQUFsQyxrQ0FBa0Msa1dDaEIvQyw2aEhBdURNOzsyRkR2Q08sa0NBQWtDO2tCQVI5QyxTQUFTOytCQUNFLGlDQUFpQztrRkFRbEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNJLDRCQUE0QjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEZvcm1IZWxwZXIsIFByZXJlcXVpc2l0ZUNvbXBhcmF0b3IsIElGZWF0dXJlRmxhZ0xpbWl0YXRpb25zLFxuICBQcmVyZXF1aXNpdGVGbGFnQ29uZGl0aW9uRm9ybSwgSVByZXJlcXVpc2l0ZVNldHRpbmcsXG4gIElWYWx1ZU1vZGVsLCBGb3JtR2VuZXJhdG9yLCBTZXR0aW5nVHlwZVxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9ib290c3RyYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi8uLi9jb21wb25lbnRzLnNjc3MnLFxuICAgICcuL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQuc2NzcydcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQcmVyZXF1aXNpdGVGbGFnQ29uZGl0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGFyZ2V0aW5nUnVsZUluZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbmRpdGlvbkluZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwPFByZXJlcXVpc2l0ZUZsYWdDb25kaXRpb25Gb3JtPjtcbiAgQElucHV0KCkgcHJlcmVxdWlzaXRlU2V0dGluZ3M6IElQcmVyZXF1aXNpdGVTZXR0aW5nW107XG4gIEBJbnB1dCgpIGZlYXR1cmVGbGFnTGltaXRhdGlvbnM6IElGZWF0dXJlRmxhZ0xpbWl0YXRpb25zO1xuICBAT3V0cHV0KCkgcHJlcmVxdWlzaXRlQ29uZGl0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgU2V0dGluZ1R5cGUgPSBTZXR0aW5nVHlwZTtcbiAgcHJlcmVxdWlzaXRlU2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlO1xuXG4gIEZvcm1IZWxwZXIgPSBGb3JtSGVscGVyO1xuXG4gIHByZXJlcXVpc2l0ZUNvbXBhcmF0b3JzID0gW1xuICAgIHsgdmFsdWU6IFByZXJlcXVpc2l0ZUNvbXBhcmF0b3IuRXF1YWxzLCBsYWJlbDogJ0VRVUFMUycgfSxcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkRvZXNOb3RFcXVhbCwgbGFiZWw6ICdOT1QgRVFVQUxTJyB9LFxuICBdO1xuXG4gIGJvb2xlYW5QcmVyZXF1aXNpdGVDb21wYXJhdG9ycyA9IFtcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkVxdWFscywgbGFiZWw6ICdJUyBPTicgfSxcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkRvZXNOb3RFcXVhbCwgbGFiZWw6ICdJUyBPRkYnIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtR2VuZXJhdG9yOiBGb3JtR2VuZXJhdG9yKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5nZXRTZXR0aW5nVHlwZSgpO1xuICB9XG5cbiAgZ2V0U2V0dGluZ1R5cGUoKSB7XG4gICAgY29uc3QgcHJlcmVxdWlzaXRlU2V0dGluZyA9IHRoaXMucHJlcmVxdWlzaXRlU2V0dGluZ3MuZmlsdGVyKHMgPT4gcy5zZXR0aW5nSWQgPT0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHMucHJlcmVxdWlzaXRlU2V0dGluZ0lkLnZhbHVlKVswXTtcbiAgICByZXR1cm4gcHJlcmVxdWlzaXRlU2V0dGluZz8uc2V0dGluZ1R5cGUgPz8gU2V0dGluZ1R5cGUuQm9vbGVhbjtcbiAgfVxuXG4gIHByZXJlcXVpc2l0ZVNldHRpbmdDaGFuZ2VkKCkge1xuICAgIGNvbnN0IG9sZFByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZTtcbiAgICB0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5nZXRTZXR0aW5nVHlwZSgpO1xuICAgIGlmIChvbGRQcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSAhPT0gdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbCgncHJlcmVxdWlzaXRlQ29tcGFyaXNvblZhbHVlJyxcbiAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9yLmdlbmVyYXRlVmFsdWVGb3JtR3JvdXAoXG4gICAgICAgICAgdGhpcy5nZXREZWZhdWx0VmFsdWVNb2RlbCh0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlKSwgdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSwgZmFsc2UsIHRoaXMuZmVhdHVyZUZsYWdMaW1pdGF0aW9uc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnByZXJlcXVpc2l0ZUNvbmRpdGlvbkNoYW5nZWQuZW1pdCgpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFZhbHVlTW9kZWwoc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlKTogSVZhbHVlTW9kZWwge1xuICAgIHN3aXRjaCAoc2V0dGluZ1R5cGUpIHtcbiAgICAgIGNhc2UgU2V0dGluZ1R5cGUuQm9vbGVhbjpcbiAgICAgICAgcmV0dXJuIHsgYm9vbFZhbHVlOiB0cnVlIH07XG4gICAgICBjYXNlIFNldHRpbmdUeXBlLlN0cmluZzpcbiAgICAgICAgcmV0dXJuIHsgc3RyaW5nVmFsdWU6ICcnIH07XG4gICAgICBjYXNlIFNldHRpbmdUeXBlLkludDpcbiAgICAgICAgcmV0dXJuIHsgaW50VmFsdWU6IDAgfTtcbiAgICAgIGNhc2UgU2V0dGluZ1R5cGUuRG91YmxlOlxuICAgICAgICByZXR1cm4geyBkb3VibGVWYWx1ZTogMCB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFNldHRpbmdUeXBlJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFyZ2V0aW5nLXJ1bGUtbGluZSBzbWFsbGVzdC1mb3JtLWZpZWxkXCI+XG4gICAgPGRpdiBjbGFzcz1cImV4cGxhbmF0aW9uLXdyYXBwZXJcIj5cbiAgICAgICAgPGFwcC1jb25kaXRpb24tY2hpcCBbdGFyZ2V0aW5nUnVsZUluZGV4XT1cInRhcmdldGluZ1J1bGVJbmRleFwiXG4gICAgICAgICAgICBbY29uZGl0aW9uSW5kZXhdPVwiY29uZGl0aW9uSW5kZXhcIj48L2FwcC1jb25kaXRpb24tY2hpcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cGxhbmF0aW9uXCI+PGEgaHJlZj1cImh0dHBzOi8vY29uZmlnY2F0LmNvbS9kb2NzL1YyL3RhcmdldGluZy90YXJnZXRpbmctcnVsZS9mbGFnLWNvbmRpdGlvbi9cIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzcz1cInVzZXItbGlua1wiPmZsYWc8L2E+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXItZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldGluZy1ydWxlLWNvbXBvbmVudCBwYWQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInByZXJlcXVpc2l0ZVNldHRpbmdDaGFuZ2VkKClcIiBtYXRUb29sdGlwPVwiUHJlcmVxdWlzaXRlIGZlYXR1cmUgZmxhZyBvciBzZXR0aW5nIGtleVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBzZWxlY3RlZCBoaWRkZW4gKm5nSWY9XCJwcmVyZXF1aXNpdGVTZXR0aW5ncy5sZW5ndGhcIj5TZWxlY3QgZmVhdHVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyAuLi48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBwcmVyZXF1aXNpdGVTZXR0aW5nc1wiIFtuZ1ZhbHVlXT1cInNldHRpbmcuc2V0dGluZ0lkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3NldHRpbmcua2V5fX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWQuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e0Zvcm1IZWxwZXIuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWQpfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFyZ2V0aW5nLXJ1bGUtY29tcG9uZW50IHBhZC1yaWdodFwiICpuZ0lmPVwicHJlcmVxdWlzaXRlU2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW5cIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlByZXJlcXVpc2l0ZSBmZWF0dXJlIGZsYWcgY29tcGFyaXNvbiB2YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwcmVyZXF1aXNpdGVDb21wYXJhdG9yIG9mIGJvb2xlYW5QcmVyZXF1aXNpdGVDb21wYXJhdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJwcmVyZXF1aXNpdGVDb21wYXJhdG9yLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3ByZXJlcXVpc2l0ZUNvbXBhcmF0b3IubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmNvbXBhcmF0b3IuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e0Zvcm1IZWxwZXIuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yKX19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldGluZy1ydWxlLWNvbXBvbmVudCBwYWQtcmlnaHRcIiAqbmdJZj1cInByZXJlcXVpc2l0ZVNldHRpbmdUeXBlICE9PSBTZXR0aW5nVHlwZS5Cb29sZWFuXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBtYXROYXRpdmVDb250cm9sIFtmb3JtQ29udHJvbF09XCJmb3JtR3JvdXAuY29udHJvbHMuY29tcGFyYXRvclwiIG1hdFRvb2x0aXA9XCJDb21wYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHByZXJlcXVpc2l0ZUNvbXBhcmF0b3Igb2YgcHJlcmVxdWlzaXRlQ29tcGFyYXRvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwicHJlcmVxdWlzaXRlQ29tcGFyYXRvci52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3twcmVyZXF1aXNpdGVDb21wYXJhdG9yLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3tGb3JtSGVscGVyLmdldEVycm9yTWVzc2FnZShmb3JtR3JvdXAuY29udHJvbHMuY29tcGFyYXRvcil9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mZWF0dXJlLWZsYWctdmFsdWUgY2xhc3M9XCJ3cmFwcGVyLWdyb3VwIGdyb3dcIiAqbmdJZj1cInByZXJlcXVpc2l0ZVNldHRpbmdUeXBlICE9PSBTZXR0aW5nVHlwZS5Cb29sZWFuXCJcbiAgICAgICAgdG9vbHRpcD1cIlByZXJlcXVpc2l0ZSBmZWF0dXJlIGZsYWcgY29tcGFyaXNvbiB2YWx1ZVwiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwLmNvbnRyb2xzLnByZXJlcXVpc2l0ZUNvbXBhcmlzb25WYWx1ZVwiIFtpc1ByZXJlcXVpc2l0ZV09XCJ0cnVlXCJcbiAgICAgICAgW2ZlYXR1cmVGbGFnTGltaXRhdGlvbnNdPVwiZmVhdHVyZUZsYWdMaW1pdGF0aW9uc1wiPjwvYXBwLWZlYXR1cmUtZmxhZy12YWx1ZT5cbjwvZGl2PiJdfQ==
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvcHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi9wcmVyZXF1aXNpdGUtZmxhZy1jb25kaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQ0wsVUFBVSxFQUFFLHNCQUFzQixFQUVOLFdBQVcsRUFDeEMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQVVyQyxNQUFNLE9BQU8sa0NBQWtDO0lBc0I3QyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWhCdEMsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUcxQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRXhCLDRCQUF1QixHQUFHO1lBQ3hCLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1lBQ3pELEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1NBQ3BFLENBQUM7UUFFRixtQ0FBOEIsR0FBRztZQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN4RCxFQUFFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtTQUNoRSxDQUFDO0lBRWtELENBQUM7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pJLE9BQU8sbUJBQW1CLEVBQUUsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUNoRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JELElBQUksMEJBQTBCLEtBQUssSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsNkJBQTZCLEVBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FDMUgsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBd0I7UUFDM0MsUUFBUSxXQUFXLEVBQUUsQ0FBQztZQUNwQixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzdCLEtBQUssV0FBVyxDQUFDLE1BQU07Z0JBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0IsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLFdBQVcsQ0FBQyxNQUFNO2dCQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzVCO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQzs4R0EzRFUsa0NBQWtDO2tHQUFsQyxrQ0FBa0Msa1dDaEIvQywwaEhBdURNOzsyRkR2Q08sa0NBQWtDO2tCQVI5QyxTQUFTOytCQUNFLGlDQUFpQztrRkFRbEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNJLDRCQUE0QjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEZvcm1IZWxwZXIsIFByZXJlcXVpc2l0ZUNvbXBhcmF0b3IsIElGZWF0dXJlRmxhZ0xpbWl0YXRpb25zLFxuICBQcmVyZXF1aXNpdGVGbGFnQ29uZGl0aW9uRm9ybSwgSVByZXJlcXVpc2l0ZVNldHRpbmcsXG4gIElWYWx1ZU1vZGVsLCBGb3JtR2VuZXJhdG9yLCBTZXR0aW5nVHlwZVxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9ib290c3RyYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJlcmVxdWlzaXRlLWZsYWctY29uZGl0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi8uLi9jb21wb25lbnRzLnNjc3MnLFxuICAgICcuL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi5jb21wb25lbnQuc2NzcydcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQcmVyZXF1aXNpdGVGbGFnQ29uZGl0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGFyZ2V0aW5nUnVsZUluZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbmRpdGlvbkluZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwPFByZXJlcXVpc2l0ZUZsYWdDb25kaXRpb25Gb3JtPjtcbiAgQElucHV0KCkgcHJlcmVxdWlzaXRlU2V0dGluZ3M6IElQcmVyZXF1aXNpdGVTZXR0aW5nW107XG4gIEBJbnB1dCgpIGZlYXR1cmVGbGFnTGltaXRhdGlvbnM6IElGZWF0dXJlRmxhZ0xpbWl0YXRpb25zO1xuICBAT3V0cHV0KCkgcHJlcmVxdWlzaXRlQ29uZGl0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgU2V0dGluZ1R5cGUgPSBTZXR0aW5nVHlwZTtcbiAgcHJlcmVxdWlzaXRlU2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlO1xuXG4gIEZvcm1IZWxwZXIgPSBGb3JtSGVscGVyO1xuXG4gIHByZXJlcXVpc2l0ZUNvbXBhcmF0b3JzID0gW1xuICAgIHsgdmFsdWU6IFByZXJlcXVpc2l0ZUNvbXBhcmF0b3IuRXF1YWxzLCBsYWJlbDogJ0VRVUFMUycgfSxcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkRvZXNOb3RFcXVhbCwgbGFiZWw6ICdOT1QgRVFVQUxTJyB9LFxuICBdO1xuXG4gIGJvb2xlYW5QcmVyZXF1aXNpdGVDb21wYXJhdG9ycyA9IFtcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkVxdWFscywgbGFiZWw6ICdJUyBPTicgfSxcbiAgICB7IHZhbHVlOiBQcmVyZXF1aXNpdGVDb21wYXJhdG9yLkRvZXNOb3RFcXVhbCwgbGFiZWw6ICdJUyBPRkYnIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtR2VuZXJhdG9yOiBGb3JtR2VuZXJhdG9yKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5nZXRTZXR0aW5nVHlwZSgpO1xuICB9XG5cbiAgZ2V0U2V0dGluZ1R5cGUoKSB7XG4gICAgY29uc3QgcHJlcmVxdWlzaXRlU2V0dGluZyA9IHRoaXMucHJlcmVxdWlzaXRlU2V0dGluZ3MuZmlsdGVyKHMgPT4gcy5zZXR0aW5nSWQgPT0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHMucHJlcmVxdWlzaXRlU2V0dGluZ0lkLnZhbHVlKVswXTtcbiAgICByZXR1cm4gcHJlcmVxdWlzaXRlU2V0dGluZz8uc2V0dGluZ1R5cGUgPz8gU2V0dGluZ1R5cGUuQm9vbGVhbjtcbiAgfVxuXG4gIHByZXJlcXVpc2l0ZVNldHRpbmdDaGFuZ2VkKCkge1xuICAgIGNvbnN0IG9sZFByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZTtcbiAgICB0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlID0gdGhpcy5nZXRTZXR0aW5nVHlwZSgpO1xuICAgIGlmIChvbGRQcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSAhPT0gdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbCgncHJlcmVxdWlzaXRlQ29tcGFyaXNvblZhbHVlJyxcbiAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9yLmdlbmVyYXRlVmFsdWVGb3JtR3JvdXAoXG4gICAgICAgICAgdGhpcy5nZXREZWZhdWx0VmFsdWVNb2RlbCh0aGlzLnByZXJlcXVpc2l0ZVNldHRpbmdUeXBlKSwgdGhpcy5wcmVyZXF1aXNpdGVTZXR0aW5nVHlwZSwgZmFsc2UsIHRoaXMuZmVhdHVyZUZsYWdMaW1pdGF0aW9uc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnByZXJlcXVpc2l0ZUNvbmRpdGlvbkNoYW5nZWQuZW1pdCgpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFZhbHVlTW9kZWwoc2V0dGluZ1R5cGU6IFNldHRpbmdUeXBlKTogSVZhbHVlTW9kZWwge1xuICAgIHN3aXRjaCAoc2V0dGluZ1R5cGUpIHtcbiAgICAgIGNhc2UgU2V0dGluZ1R5cGUuQm9vbGVhbjpcbiAgICAgICAgcmV0dXJuIHsgYm9vbFZhbHVlOiB0cnVlIH07XG4gICAgICBjYXNlIFNldHRpbmdUeXBlLlN0cmluZzpcbiAgICAgICAgcmV0dXJuIHsgc3RyaW5nVmFsdWU6ICcnIH07XG4gICAgICBjYXNlIFNldHRpbmdUeXBlLkludDpcbiAgICAgICAgcmV0dXJuIHsgaW50VmFsdWU6IDAgfTtcbiAgICAgIGNhc2UgU2V0dGluZ1R5cGUuRG91YmxlOlxuICAgICAgICByZXR1cm4geyBkb3VibGVWYWx1ZTogMCB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFNldHRpbmdUeXBlJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFyZ2V0aW5nLXJ1bGUtbGluZSBzbWFsbGVzdC1mb3JtLWZpZWxkXCI+XG4gICAgPGRpdiBjbGFzcz1cImV4cGxhbmF0aW9uLXdyYXBwZXJcIj5cbiAgICAgICAgPGFwcC1jb25kaXRpb24tY2hpcCBbdGFyZ2V0aW5nUnVsZUluZGV4XT1cInRhcmdldGluZ1J1bGVJbmRleFwiXG4gICAgICAgICAgICBbY29uZGl0aW9uSW5kZXhdPVwiY29uZGl0aW9uSW5kZXhcIj48L2FwcC1jb25kaXRpb24tY2hpcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cGxhbmF0aW9uXCI+PGEgaHJlZj1cImh0dHBzOi8vY29uZmlnY2F0LmNvbS9kb2NzL3RhcmdldGluZy90YXJnZXRpbmctcnVsZS9mbGFnLWNvbmRpdGlvbi9cIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzcz1cInVzZXItbGlua1wiPmZsYWc8L2E+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXItZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldGluZy1ydWxlLWNvbXBvbmVudCBwYWQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInByZXJlcXVpc2l0ZVNldHRpbmdDaGFuZ2VkKClcIiBtYXRUb29sdGlwPVwiUHJlcmVxdWlzaXRlIGZlYXR1cmUgZmxhZyBvciBzZXR0aW5nIGtleVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBzZWxlY3RlZCBoaWRkZW4gKm5nSWY9XCJwcmVyZXF1aXNpdGVTZXR0aW5ncy5sZW5ndGhcIj5TZWxlY3QgZmVhdHVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyAuLi48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBwcmVyZXF1aXNpdGVTZXR0aW5nc1wiIFtuZ1ZhbHVlXT1cInNldHRpbmcuc2V0dGluZ0lkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3NldHRpbmcua2V5fX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWQuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e0Zvcm1IZWxwZXIuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Hcm91cC5jb250cm9scy5wcmVyZXF1aXNpdGVTZXR0aW5nSWQpfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFyZ2V0aW5nLXJ1bGUtY29tcG9uZW50IHBhZC1yaWdodFwiICpuZ0lmPVwicHJlcmVxdWlzaXRlU2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW5cIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlByZXJlcXVpc2l0ZSBmZWF0dXJlIGZsYWcgY29tcGFyaXNvbiB2YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwcmVyZXF1aXNpdGVDb21wYXJhdG9yIG9mIGJvb2xlYW5QcmVyZXF1aXNpdGVDb21wYXJhdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJwcmVyZXF1aXNpdGVDb21wYXJhdG9yLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3ByZXJlcXVpc2l0ZUNvbXBhcmF0b3IubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmNvbXBhcmF0b3IuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e0Zvcm1IZWxwZXIuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yKX19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldGluZy1ydWxlLWNvbXBvbmVudCBwYWQtcmlnaHRcIiAqbmdJZj1cInByZXJlcXVpc2l0ZVNldHRpbmdUeXBlICE9PSBTZXR0aW5nVHlwZS5Cb29sZWFuXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBtYXROYXRpdmVDb250cm9sIFtmb3JtQ29udHJvbF09XCJmb3JtR3JvdXAuY29udHJvbHMuY29tcGFyYXRvclwiIG1hdFRvb2x0aXA9XCJDb21wYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHByZXJlcXVpc2l0ZUNvbXBhcmF0b3Igb2YgcHJlcmVxdWlzaXRlQ29tcGFyYXRvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwicHJlcmVxdWlzaXRlQ29tcGFyYXRvci52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3twcmVyZXF1aXNpdGVDb21wYXJhdG9yLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3tGb3JtSGVscGVyLmdldEVycm9yTWVzc2FnZShmb3JtR3JvdXAuY29udHJvbHMuY29tcGFyYXRvcil9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mZWF0dXJlLWZsYWctdmFsdWUgY2xhc3M9XCJ3cmFwcGVyLWdyb3VwIGdyb3dcIiAqbmdJZj1cInByZXJlcXVpc2l0ZVNldHRpbmdUeXBlICE9PSBTZXR0aW5nVHlwZS5Cb29sZWFuXCJcbiAgICAgICAgdG9vbHRpcD1cIlByZXJlcXVpc2l0ZSBmZWF0dXJlIGZsYWcgY29tcGFyaXNvbiB2YWx1ZVwiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwLmNvbnRyb2xzLnByZXJlcXVpc2l0ZUNvbXBhcmlzb25WYWx1ZVwiIFtpc1ByZXJlcXVpc2l0ZV09XCJ0cnVlXCJcbiAgICAgICAgW2ZlYXR1cmVGbGFnTGltaXRhdGlvbnNdPVwiZmVhdHVyZUZsYWdMaW1pdGF0aW9uc1wiPjwvYXBwLWZlYXR1cmUtZmxhZy12YWx1ZT5cbjwvZGl2PiJdfQ==
|
|
@@ -25,11 +25,11 @@ export class SegmentConditionComponent {
|
|
|
25
25
|
this.createSegmentRequested.emit();
|
|
26
26
|
}
|
|
27
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SegmentConditionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SegmentConditionComponent, selector: "app-segment-condition", inputs: { targetingRuleIndex: "targetingRuleIndex", conditionIndex: "conditionIndex", formGroup: "formGroup", segments: "segments", canManageSegments: "canManageSegments" }, outputs: { createSegmentRequested: "createSegmentRequested", manageSegmentsRequested: "manageSegmentsRequested" }, ngImport: i0, template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SegmentConditionComponent, selector: "app-segment-condition", inputs: { targetingRuleIndex: "targetingRuleIndex", conditionIndex: "conditionIndex", formGroup: "formGroup", segments: "segments", canManageSegments: "canManageSegments" }, outputs: { createSegmentRequested: "createSegmentRequested", manageSegmentsRequested: "manageSegmentsRequested" }, ngImport: i0, template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/targeting/targeting-rule/segment-condition/\" target=\"_blank\"\n rel=\"noopener noreferrer\" class=\"user-link\">user</a></div>\n </div>\n\n <div class=\"targeting-rule-component pad-right\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\" matTooltip=\"Segment comparator\">\n <option *ngFor=\"let comparator of segmentComparators\" [ngValue]=\"comparator.value\">\n {{comparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"wrapper-group\">\n <div class=\"targeting-rule-component\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.segmentId\" matTooltip=\"Segment\">\n <option [ngValue]=\"null\" disabled selected hidden *ngIf=\"segments.length\">Select segment ...\n </option>\n <option *ngFor=\"let segment of segments\" [ngValue]=\"segment.segmentId\"\n [title]=\"segment.description\">\n {{segment.name}}\n </option>\n <option *ngIf=\"segments.length === 0\" disabled>\n no segments available\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.segmentId.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.segmentId)}}\n </mat-error>\n </mat-form-field>\n </div>\n <button class=\"segment-more\" type=\"button\" mat-icon-button *ngIf=\"canManageSegments\"\n matTooltip=\"Create and manage segments\" [matMenuTriggerFor]=\"segmentMenu\"\n [track]=\"['segment menu click', 'feature flags and settings']\">\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\n </button>\n </div>\n</div>\n\n<mat-menu #segmentMenu=\"matMenu\">\n <ng-template matMenuContent>\n <a mat-menu-item (click)=\"createSegmentRequested.emit()\"\n [track]=\"['create segment click', 'Feature flags & settings V2 page']\">\n <mat-icon>add</mat-icon><span>Create new segment</span>\n </a>\n <a mat-menu-item (click)=\"manageSegmentsRequested.emit()\"\n [track]=\"['manage segment click', 'Feature flags & settings V2 page']\">\n <mat-icon>pie_chart</mat-icon><span>Manage segments</span>\n </a>\n </ng-template>\n</mat-menu>", styles: [".targeting-rule-line{display:flex;flex-wrap:wrap;margin:2px 0}.targeting-rule-line .wrapper-group{display:flex;flex-wrap:wrap}.targeting-rule-line .wrapper-group.grow{flex-grow:1}.targeting-rule-component{margin:2px 0;width:212px}.targeting-rule-component[hidden]{display:none}.targeting-rule-component.small{width:102px}.targeting-rule-component.grow{flex-grow:1}.targeting-rule-component.pad-right{margin-right:8px}.targeting-rule-component mat-form-field{width:100%;font-size:12px}.delete-button{margin-top:4px;color:#b1b1b1}.delete-button mat-icon{font-size:18px;height:18px;width:18px}.explanation-wrapper{display:flex;margin-top:2px}.explanation-wrapper .explanation{min-width:44px;margin-top:6px;margin-right:8px}@media (max-width: 500px){.targeting-rule-component{max-width:calc(100% - 4px);width:160px}.targeting-rule-component.small{width:78px}.targeting-rule-component.pad-right{margin-right:4px}}\n", ".segment-more{--mat-icon-button-touch-target-display: none;padding:0;line-height:1;margin-top:4px;height:28px;width:28px;display:inline-flex;align-items:center;justify-content:center}.segment-more .mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 28px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:2px}.segment-more mat-icon{font-size:18px;width:18px;height:18px;color:#818181}select.ng-invalid{color:#00000061}select.ng-invalid option{color:#000}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i9.ConditionChipComponent, selector: "app-condition-chip", inputs: ["targetingRuleIndex", "conditionIndex"] }, { kind: "directive", type: i10.TrackingDirective, selector: "[track]", inputs: ["track"] }] }); }
|
|
29
29
|
}
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SegmentConditionComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'app-segment-condition', template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/
|
|
32
|
+
args: [{ selector: 'app-segment-condition', template: "<div class=\"targeting-rule-line smallest-form-field\">\n <div class=\"explanation-wrapper\">\n <app-condition-chip [targetingRuleIndex]=\"targetingRuleIndex\"\n [conditionIndex]=\"conditionIndex\"></app-condition-chip>\n\n <div class=\"explanation\"><a href=\"https://configcat.com/docs/targeting/targeting-rule/segment-condition/\" target=\"_blank\"\n rel=\"noopener noreferrer\" class=\"user-link\">user</a></div>\n </div>\n\n <div class=\"targeting-rule-component pad-right\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.comparator\" matTooltip=\"Segment comparator\">\n <option *ngFor=\"let comparator of segmentComparators\" [ngValue]=\"comparator.value\">\n {{comparator.label}}\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.comparator.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.comparator)}}\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"wrapper-group\">\n <div class=\"targeting-rule-component\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <select matNativeControl [formControl]=\"formGroup.controls.segmentId\" matTooltip=\"Segment\">\n <option [ngValue]=\"null\" disabled selected hidden *ngIf=\"segments.length\">Select segment ...\n </option>\n <option *ngFor=\"let segment of segments\" [ngValue]=\"segment.segmentId\"\n [title]=\"segment.description\">\n {{segment.name}}\n </option>\n <option *ngIf=\"segments.length === 0\" disabled>\n no segments available\n </option>\n </select>\n <mat-error *ngIf=\"formGroup.controls.segmentId.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.segmentId)}}\n </mat-error>\n </mat-form-field>\n </div>\n <button class=\"segment-more\" type=\"button\" mat-icon-button *ngIf=\"canManageSegments\"\n matTooltip=\"Create and manage segments\" [matMenuTriggerFor]=\"segmentMenu\"\n [track]=\"['segment menu click', 'feature flags and settings']\">\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\n </button>\n </div>\n</div>\n\n<mat-menu #segmentMenu=\"matMenu\">\n <ng-template matMenuContent>\n <a mat-menu-item (click)=\"createSegmentRequested.emit()\"\n [track]=\"['create segment click', 'Feature flags & settings V2 page']\">\n <mat-icon>add</mat-icon><span>Create new segment</span>\n </a>\n <a mat-menu-item (click)=\"manageSegmentsRequested.emit()\"\n [track]=\"['manage segment click', 'Feature flags & settings V2 page']\">\n <mat-icon>pie_chart</mat-icon><span>Manage segments</span>\n </a>\n </ng-template>\n</mat-menu>", styles: [".targeting-rule-line{display:flex;flex-wrap:wrap;margin:2px 0}.targeting-rule-line .wrapper-group{display:flex;flex-wrap:wrap}.targeting-rule-line .wrapper-group.grow{flex-grow:1}.targeting-rule-component{margin:2px 0;width:212px}.targeting-rule-component[hidden]{display:none}.targeting-rule-component.small{width:102px}.targeting-rule-component.grow{flex-grow:1}.targeting-rule-component.pad-right{margin-right:8px}.targeting-rule-component mat-form-field{width:100%;font-size:12px}.delete-button{margin-top:4px;color:#b1b1b1}.delete-button mat-icon{font-size:18px;height:18px;width:18px}.explanation-wrapper{display:flex;margin-top:2px}.explanation-wrapper .explanation{min-width:44px;margin-top:6px;margin-right:8px}@media (max-width: 500px){.targeting-rule-component{max-width:calc(100% - 4px);width:160px}.targeting-rule-component.small{width:78px}.targeting-rule-component.pad-right{margin-right:4px}}\n", ".segment-more{--mat-icon-button-touch-target-display: none;padding:0;line-height:1;margin-top:4px;height:28px;width:28px;display:inline-flex;align-items:center;justify-content:center}.segment-more .mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 28px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:2px}.segment-more mat-icon{font-size:18px;width:18px;height:18px;color:#818181}select.ng-invalid{color:#00000061}select.ng-invalid option{color:#000}\n"] }]
|
|
33
33
|
}], propDecorators: { targetingRuleIndex: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}], conditionIndex: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
45
45
|
}], manageSegmentsRequested: [{
|
|
46
46
|
type: Output
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1jb25kaXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL3YyL2ZlYXR1cmUtZmxhZy9ldmFsdWF0aW9uLWZvcm11bGEvdGFyZ2V0aW5nLXJ1bGUvY29uZGl0aW9ucy9zZWdtZW50LWNvbmRpdGlvbi9zZWdtZW50LWNvbmRpdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3NlZ21lbnQtY29uZGl0aW9uL3NlZ21lbnQtY29uZGl0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBa0MsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVTVHLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFjWSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVDLDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUV4Qix1QkFBa0IsR0FBRztZQUNuQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtZQUN6RCxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1NBQ2pFLENBQUM7S0FLSDtJQUhDLGFBQWE7UUFDWCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FsQlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOFZDWnRDLDhsR0EyRFc7OzJGRC9DRSx5QkFBeUI7a0JBUnJDLFNBQVM7K0JBQ0UsdUJBQXVCOzhCQVF4QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUhlbHBlciwgU2VnbWVudENvbmRpdGlvbkZvcm0sIElTZWdtZW50LCBTZWdtZW50Q29tcGFyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2Jvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWdtZW50LWNvbmRpdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50LWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi8uLi9jb21wb25lbnRzLnNjc3MnLFxuICAgICcuL3NlZ21lbnQtY29uZGl0aW9uLmNvbXBvbmVudC5zY3NzJ1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlZ21lbnRDb25kaXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSB0YXJnZXRpbmdSdWxlSW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgY29uZGl0aW9uSW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXA8U2VnbWVudENvbmRpdGlvbkZvcm0+O1xuICBASW5wdXQoKSBzZWdtZW50czogSVNlZ21lbnRbXTtcbiAgQElucHV0KCkgY2FuTWFuYWdlU2VnbWVudHM6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjcmVhdGVTZWdtZW50UmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgbWFuYWdlU2VnbWVudHNSZXF1ZXN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgRm9ybUhlbHBlciA9IEZvcm1IZWxwZXI7XG5cbiAgc2VnbWVudENvbXBhcmF0b3JzID0gW1xuICAgIHsgdmFsdWU6IFNlZ21lbnRDb21wYXJhdG9yLklzSW4sIGxhYmVsOiAnSVMgSU4gU0VHTUVOVCcgfSxcbiAgICB7IHZhbHVlOiBTZWdtZW50Q29tcGFyYXRvci5Jc05vdEluLCBsYWJlbDogJ0lTIE5PVCBJTiBTRUdNRU5UJyB9LFxuICBdO1xuXG4gIGNyZWF0ZVNlZ21lbnQoKSB7XG4gICAgdGhpcy5jcmVhdGVTZWdtZW50UmVxdWVzdGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhcmdldGluZy1ydWxlLWxpbmUgc21hbGxlc3QtZm9ybS1maWVsZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJleHBsYW5hdGlvbi13cmFwcGVyXCI+XG4gICAgICAgIDxhcHAtY29uZGl0aW9uLWNoaXAgW3RhcmdldGluZ1J1bGVJbmRleF09XCJ0YXJnZXRpbmdSdWxlSW5kZXhcIlxuICAgICAgICAgICAgW2NvbmRpdGlvbkluZGV4XT1cImNvbmRpdGlvbkluZGV4XCI+PC9hcHAtY29uZGl0aW9uLWNoaXA+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cGxhbmF0aW9uXCI+PGEgaHJlZj1cImh0dHBzOi8vY29uZmlnY2F0LmNvbS9kb2NzL3RhcmdldGluZy90YXJnZXRpbmctcnVsZS9zZWdtZW50LWNvbmRpdGlvbi9cIiB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzcz1cInVzZXItbGlua1wiPnVzZXI8L2E+PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGFyZ2V0aW5nLXJ1bGUtY29tcG9uZW50IHBhZC1yaWdodFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5jb21wYXJhdG9yXCIgbWF0VG9vbHRpcD1cIlNlZ21lbnQgY29tcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvbXBhcmF0b3Igb2Ygc2VnbWVudENvbXBhcmF0b3JzXCIgW25nVmFsdWVdPVwiY29tcGFyYXRvci52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e2NvbXBhcmF0b3IubGFiZWx9fVxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmNvbXBhcmF0b3IuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgIHt7Rm9ybUhlbHBlci5nZXRFcnJvck1lc3NhZ2UoZm9ybUdyb3VwLmNvbnRyb2xzLmNvbXBhcmF0b3IpfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLWdyb3VwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXRpbmctcnVsZS1jb21wb25lbnRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IG1hdE5hdGl2ZUNvbnRyb2wgW2Zvcm1Db250cm9sXT1cImZvcm1Hcm91cC5jb250cm9scy5zZWdtZW50SWRcIiBtYXRUb29sdGlwPVwiU2VnbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBzZWxlY3RlZCBoaWRkZW4gKm5nSWY9XCJzZWdtZW50cy5sZW5ndGhcIj5TZWxlY3Qgc2VnbWVudCAuLi5cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHNlZ21lbnQgb2Ygc2VnbWVudHNcIiBbbmdWYWx1ZV09XCJzZWdtZW50LnNlZ21lbnRJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwic2VnbWVudC5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tzZWdtZW50Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdJZj1cInNlZ21lbnRzLmxlbmd0aCA9PT0gMFwiIGRpc2FibGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgbm8gc2VnbWVudHMgYXZhaWxhYmxlXG4gICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtR3JvdXAuY29udHJvbHMuc2VnbWVudElkLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3tGb3JtSGVscGVyLmdldEVycm9yTWVzc2FnZShmb3JtR3JvdXAuY29udHJvbHMuc2VnbWVudElkKX19XG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlZ21lbnQtbW9yZVwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJjYW5NYW5hZ2VTZWdtZW50c1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ3JlYXRlIGFuZCBtYW5hZ2Ugc2VnbWVudHNcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VnbWVudE1lbnVcIlxuICAgICAgICAgICAgW3RyYWNrXT1cIlsnc2VnbWVudCBtZW51IGNsaWNrJywgJ2ZlYXR1cmUgZmxhZ3MgYW5kIHNldHRpbmdzJ11cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBbaW5saW5lXT1cInRydWVcIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bWF0LW1lbnUgI3NlZ21lbnRNZW51PVwibWF0TWVudVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICAgICAgPGEgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY3JlYXRlU2VnbWVudFJlcXVlc3RlZC5lbWl0KClcIlxuICAgICAgICAgICAgW3RyYWNrXT1cIlsnY3JlYXRlIHNlZ21lbnQgY2xpY2snLCAnRmVhdHVyZSBmbGFncyAmIHNldHRpbmdzIFYyIHBhZ2UnXVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+PHNwYW4+Q3JlYXRlIG5ldyBzZWdtZW50PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1hbmFnZVNlZ21lbnRzUmVxdWVzdGVkLmVtaXQoKVwiXG4gICAgICAgICAgICBbdHJhY2tdPVwiWydtYW5hZ2Ugc2VnbWVudCBjbGljaycsICdGZWF0dXJlIGZsYWdzICYgc2V0dGluZ3MgVjIgcGFnZSddXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+cGllX2NoYXJ0PC9tYXQtaWNvbj48c3Bhbj5NYW5hZ2Ugc2VnbWVudHM8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtbWVudT4iXX0=
|