@openziti/ziti-console-lib 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/assets/styles/dark.css +15 -8
  2. package/assets/styles/global.scss +1 -1
  3. package/esm2022/lib/ZAC_VERSION.mjs +2 -2
  4. package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +2 -2
  5. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +8 -5
  6. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +5 -5
  7. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +8 -5
  8. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +5 -5
  9. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +9 -6
  10. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +8 -8
  11. package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +2 -2
  12. package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +2 -2
  13. package/esm2022/lib/services/ziti-controller-data.service.mjs +4 -4
  14. package/esm2022/lib/services/ziti-data.service.mjs +4 -3
  15. package/fesm2022/openziti-ziti-console-lib.mjs +50 -40
  16. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  17. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +1 -0
  18. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
  19. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +2 -2
  20. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
  21. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +1 -0
  22. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
  23. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts +2 -2
  24. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
  25. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +1 -0
  26. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
  27. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +4 -4
  28. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
  29. package/lib/services/ziti-controller-data.service.d.ts +1 -1
  30. package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
  31. package/lib/services/ziti-data.service.d.ts +1 -1
  32. package/lib/services/ziti-data.service.d.ts.map +1 -1
  33. package/package.json +1 -1
@@ -44,7 +44,7 @@ export class ZitiDataService {
44
44
  this.router = router;
45
45
  this.dataServiceType = '';
46
46
  }
47
- getRoleFilter(roleAttributes) {
47
+ getRoleFilter(roleAttributes, semantic = 'AnyOf') {
48
48
  let hasAll = false;
49
49
  roleAttributes.forEach((attr) => {
50
50
  if (attr === 'all') {
@@ -59,7 +59,8 @@ export class ZitiDataService {
59
59
  filterName: "Attributes",
60
60
  label: "",
61
61
  type: "ATTRIBUTE",
62
- value: roleAttributes
62
+ value: roleAttributes,
63
+ semantic
63
64
  }
64
65
  ];
65
66
  }
@@ -96,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
96
97
  providedIn: 'root'
97
98
  }]
98
99
  }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.GrowlerService }, { type: i3.SettingsServiceClass }, { type: i4.HttpClient }, { type: i5.Router }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFVLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNuRSxPQUFPLEVBQUMsU0FBUyxFQUF1QixRQUFRLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFHaEUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixDQUFDLENBQUM7QUFLMUYsTUFBTSxPQUFnQixlQUFlO2FBRTVCLDJCQUFzQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ2hDLGlDQUE0QixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUluRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxTQUFTLENBQUM7WUFDZixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsQ0FBQztZQUNQLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEdBQUc7U0FDWCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBc0IsTUFBcUIsRUFDckIsT0FBdUIsRUFDdkIsZUFBcUMsRUFDckMsVUFBc0IsRUFDdEIsTUFBYztRQUpkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxCcEMsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFtQmxCLENBQUM7SUFpQkosYUFBYSxDQUFDLGNBQWM7UUFDMUIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7Z0JBQ2xCLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLEdBQUc7Z0JBQ1I7b0JBQ0UsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLFlBQVk7b0JBQ3hCLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxXQUFXO29CQUNqQixLQUFLLEVBQUUsY0FBYztpQkFDdEI7YUFDRixDQUFDO1NBQ0g7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQUk7UUFDbEIsSUFBSSxZQUFZLENBQUM7UUFFakIsSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ3RDLFlBQVksR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1NBQ25EO2FBQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzVDLFlBQVksR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1NBQ2xEO2FBQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUMvQixZQUFZLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN0QyxZQUFZLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1NBQzVDO2FBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLFlBQVksR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDO1NBQzVCO2FBQU07WUFDTCxZQUFZLEdBQUcsMkJBQTJCLENBQUM7U0FDNUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOytHQWhGbUIsZUFBZTttSEFBZixlQUFlLGNBRnZCLE1BQU07OzRGQUVFLGVBQWU7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2xvZ2dlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlQ2xhc3MgfSBmcm9tICcuL2xvZ2luLXNlcnZpY2UuY2xhc3MnO1xuXG5pbXBvcnQge2Nsb25lRGVlcCwgaXNFbXB0eSwgc29ydGVkVW5pcSwgaXNTdHJpbmd9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7U2V0dGluZ3NTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuL3NldHRpbmdzLXNlcnZpY2UuY2xhc3NcIjtcblxuZXhwb3J0IGNvbnN0IFpJVElfREFUQV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPFppdGlEYXRhU2VydmljZT4oJ1pJVElfREFUQV9TRVJWSUNFJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFppdGlEYXRhU2VydmljZSB7XG5cbiAgc3RhdGljIE5PREVfREFUQV9TRVJWSUNFX1RZUEUgPSAnbm9kZSc7XG4gIHN0YXRpYyBDT05UUk9MTEVSX0RBVEFfU0VSVklDRV9UWVBFID0gJ2NvbnRyb2xsZXInO1xuXG4gIGRhdGFTZXJ2aWNlVHlwZSA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgREVGQVVMVF9QQUdJTkcoKSB7XG4gICAgcmV0dXJuIGNsb25lRGVlcCh7XG4gICAgICBmaWx0ZXI6IFwiXCIsXG4gICAgICBub1NlYXJjaDogdHJ1ZSxcbiAgICAgIG9yZGVyOiBcImFzY1wiLFxuICAgICAgcGFnZTogMSxcbiAgICAgIHNlYXJjaE9uOiBcIm5hbWVcIixcbiAgICAgIHNvcnQ6IFwibmFtZVwiLFxuICAgICAgdG90YWw6IDEwMFxuICAgIH0pXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgZ3Jvd2xlcjogR3Jvd2xlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZUNsYXNzLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBhYnN0cmFjdCBwb3N0KHR5cGUsIG1vZGVsLCBjaGFpbmVkPywgY29udGVudFR5cGU/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBwdXQodHlwZSwgbW9kZWwsIGlkLCBjaGFpbmVkPyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcGF0Y2godHlwZSwgbW9kZWwsIGlkLCBjaGFpbmVkPyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZ2V0KHR5cGU6IHN0cmluZywgcGFnaW5nOiBhbnksIGZpbHRlcnM6IEZpbHRlck9ialtdLCB1cmw/LCB1c2VDbGllbnQ/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBnZXRTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFnaW5nPzogYW55LCBjb250ZW50VHlwZT8sIGZpbHRlcnM/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBzYXZlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBkZWxldGVTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGRlbGV0ZSh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGNhbGwodXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHJlc2V0RW5yb2xsbWVudChpZDogc3RyaW5nLCBkYXRlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHJlaXNzdWVFbnJvbGxtZW50KGlkOiBzdHJpbmcsIGRhdGU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcmVzZXRNRkEoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcmVzZXRQYXNzd29yZChvbGRQYXNzLCBuZXdQYXNzLCBjb25maXJtUGFzcyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3Qgc2NoZW1hKGRhdGE6IGFueSk6IFByb21pc2U8YW55PjtcblxuICBnZXRSb2xlRmlsdGVyKHJvbGVBdHRyaWJ1dGVzKSB7XG4gICAgbGV0IGhhc0FsbCA9IGZhbHNlO1xuICAgIHJvbGVBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGlmIChhdHRyID09PSAnYWxsJykge1xuICAgICAgICBoYXNBbGwgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxldCBmaWx0ZXJzID0gW107XG4gICAgaWYgKCFoYXNBbGwpIHtcbiAgICAgIGZpbHRlcnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb2x1bW5JZDogXCJyb2xlQXR0cmlidXRlc1wiLFxuICAgICAgICAgIGZpbHRlck5hbWU6IFwiQXR0cmlidXRlc1wiLFxuICAgICAgICAgIGxhYmVsOiBcIlwiLFxuICAgICAgICAgIHR5cGU6IFwiQVRUUklCVVRFXCIsXG4gICAgICAgICAgdmFsdWU6IHJvbGVBdHRyaWJ1dGVzXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKHJlc3ApIHtcbiAgICBsZXQgZXJyb3JNZXNzYWdlO1xuXG4gICAgaWYgKHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/Lm1lc3NhZ2UpIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/Lm1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmIChyZXNwPy5lcnJvcj8uZXJyb3I/LmNhdXNlPy5yZWFzb24pIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/LnJlYXNvbjtcbiAgICB9IGVsc2UgaWYgKHJlc3A/LmVycm9yPy5tZXNzYWdlKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSByZXNwPy5lcnJvcj8ubWVzc2FnZTtcbiAgICB9IGVsc2UgaWYgKHJlc3A/LmVycm9yPy5lcnJvcj8ubWVzc2FnZSkge1xuICAgICAgZXJyb3JNZXNzYWdlID0gcmVzcD8uZXJyb3I/LmVycm9yPy5tZXNzYWdlO1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocmVzcD8uZXJyb3IpKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSByZXNwPy5lcnJvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3JNZXNzYWdlID0gJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3JNZXNzYWdlO1xuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFVLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNuRSxPQUFPLEVBQUMsU0FBUyxFQUF1QixRQUFRLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFHaEUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixDQUFDLENBQUM7QUFLMUYsTUFBTSxPQUFnQixlQUFlO2FBRTVCLDJCQUFzQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ2hDLGlDQUE0QixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUluRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxTQUFTLENBQUM7WUFDZixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsQ0FBQztZQUNQLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEdBQUc7U0FDWCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBc0IsTUFBcUIsRUFDckIsT0FBdUIsRUFDdkIsZUFBcUMsRUFDckMsVUFBc0IsRUFDdEIsTUFBYztRQUpkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWxCcEMsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFtQmxCLENBQUM7SUFpQkosYUFBYSxDQUFDLGNBQWMsRUFBRSxRQUFRLEdBQUcsT0FBTztRQUM5QyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDbEIsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sR0FBRztnQkFDUjtvQkFDRSxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsWUFBWTtvQkFDeEIsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLEtBQUssRUFBRSxjQUFjO29CQUNyQixRQUFRO2lCQUNUO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFJO1FBQ2xCLElBQUksWUFBWSxDQUFDO1FBRWpCLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN0QyxZQUFZLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztTQUNuRDthQUFNLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUM1QyxZQUFZLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztTQUNsRDthQUFNLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDL0IsWUFBWSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDdEMsWUFBWSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztTQUM1QzthQUFNLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNoQyxZQUFZLEdBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQztTQUM1QjthQUFNO1lBQ0wsWUFBWSxHQUFHLDJCQUEyQixDQUFDO1NBQzVDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0FqRm1CLGVBQWU7bUhBQWYsZUFBZSxjQUZ2QixNQUFNOzs0RkFFRSxlQUFlO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9sb2dnZXIuc2VydmljZVwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtGaWx0ZXJPYmp9IGZyb20gXCIuLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IExvZ2luU2VydmljZUNsYXNzIH0gZnJvbSAnLi9sb2dpbi1zZXJ2aWNlLmNsYXNzJztcblxuaW1wb3J0IHtjbG9uZURlZXAsIGlzRW1wdHksIHNvcnRlZFVuaXEsIGlzU3RyaW5nfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZUNsYXNzfSBmcm9tIFwiLi9zZXR0aW5ncy1zZXJ2aWNlLmNsYXNzXCI7XG5cbmV4cG9ydCBjb25zdCBaSVRJX0RBVEFfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxaaXRpRGF0YVNlcnZpY2U+KCdaSVRJX0RBVEFfU0VSVklDRScpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBaaXRpRGF0YVNlcnZpY2Uge1xuXG4gIHN0YXRpYyBOT0RFX0RBVEFfU0VSVklDRV9UWVBFID0gJ25vZGUnO1xuICBzdGF0aWMgQ09OVFJPTExFUl9EQVRBX1NFUlZJQ0VfVFlQRSA9ICdjb250cm9sbGVyJztcblxuICBkYXRhU2VydmljZVR5cGUgPSAnJztcblxuICBwdWJsaWMgZ2V0IERFRkFVTFRfUEFHSU5HKCkge1xuICAgIHJldHVybiBjbG9uZURlZXAoe1xuICAgICAgZmlsdGVyOiBcIlwiLFxuICAgICAgbm9TZWFyY2g6IHRydWUsXG4gICAgICBvcmRlcjogXCJhc2NcIixcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2hPbjogXCJuYW1lXCIsXG4gICAgICBzb3J0OiBcIm5hbWVcIixcbiAgICAgIHRvdGFsOiAxMDBcbiAgICB9KVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGdyb3dsZXI6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VDbGFzcyxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgYWJzdHJhY3QgcG9zdCh0eXBlLCBtb2RlbCwgY2hhaW5lZD8sIGNvbnRlbnRUeXBlPyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcHV0KHR5cGUsIG1vZGVsLCBpZCwgY2hhaW5lZD8pOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHBhdGNoKHR5cGUsIG1vZGVsLCBpZCwgY2hhaW5lZD8pOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGdldCh0eXBlOiBzdHJpbmcsIHBhZ2luZzogYW55LCBmaWx0ZXJzOiBGaWx0ZXJPYmpbXSwgdXJsPywgdXNlQ2xpZW50Pyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZ2V0U3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhZ2luZz86IGFueSwgY29udGVudFR5cGU/LCBmaWx0ZXJzPyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3Qgc2F2ZVN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZGVsZXRlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBkZWxldGUodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBjYWxsKHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCByZXNldEVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCByZWlzc3VlRW5yb2xsbWVudChpZDogc3RyaW5nLCBkYXRlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHJlc2V0TUZBKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHJlc2V0UGFzc3dvcmQob2xkUGFzcywgbmV3UGFzcywgY29uZmlybVBhc3MpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHNjaGVtYShkYXRhOiBhbnkpOiBQcm9taXNlPGFueT47XG5cbiAgZ2V0Um9sZUZpbHRlcihyb2xlQXR0cmlidXRlcywgc2VtYW50aWMgPSAnQW55T2YnKSB7XG4gICAgbGV0IGhhc0FsbCA9IGZhbHNlO1xuICAgIHJvbGVBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGlmIChhdHRyID09PSAnYWxsJykge1xuICAgICAgICBoYXNBbGwgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxldCBmaWx0ZXJzID0gW107XG4gICAgaWYgKCFoYXNBbGwpIHtcbiAgICAgIGZpbHRlcnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb2x1bW5JZDogXCJyb2xlQXR0cmlidXRlc1wiLFxuICAgICAgICAgIGZpbHRlck5hbWU6IFwiQXR0cmlidXRlc1wiLFxuICAgICAgICAgIGxhYmVsOiBcIlwiLFxuICAgICAgICAgIHR5cGU6IFwiQVRUUklCVVRFXCIsXG4gICAgICAgICAgdmFsdWU6IHJvbGVBdHRyaWJ1dGVzLFxuICAgICAgICAgIHNlbWFudGljXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKHJlc3ApIHtcbiAgICBsZXQgZXJyb3JNZXNzYWdlO1xuXG4gICAgaWYgKHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/Lm1lc3NhZ2UpIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/Lm1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmIChyZXNwPy5lcnJvcj8uZXJyb3I/LmNhdXNlPy5yZWFzb24pIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IHJlc3A/LmVycm9yPy5lcnJvcj8uY2F1c2U/LnJlYXNvbjtcbiAgICB9IGVsc2UgaWYgKHJlc3A/LmVycm9yPy5tZXNzYWdlKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSByZXNwPy5lcnJvcj8ubWVzc2FnZTtcbiAgICB9IGVsc2UgaWYgKHJlc3A/LmVycm9yPy5lcnJvcj8ubWVzc2FnZSkge1xuICAgICAgZXJyb3JNZXNzYWdlID0gcmVzcD8uZXJyb3I/LmVycm9yPy5tZXNzYWdlO1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocmVzcD8uZXJyb3IpKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSByZXNwPy5lcnJvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3JNZXNzYWdlID0gJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3JNZXNzYWdlO1xuICB9XG59XG4iXX0=