@decaf-ts/ui-decorators 0.5.13 → 0.5.15

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.
@@ -1,7 +1,7 @@
1
1
  import "reflect-metadata";
2
- import { UIKeys } from "./constants";
2
+ import { UIKeys } from "./constants.js";
3
3
  import { propMetadata } from "@decaf-ts/decorator-validation";
4
- import { RenderingEngine } from "./Rendering";
4
+ import { RenderingEngine } from "./Rendering.js";
5
5
  import { OperationKeys } from "@decaf-ts/db-decorators";
6
6
  /**
7
7
  * @description Decorator that hides a property during specific CRUD operations
@@ -308,4 +308,4 @@ export function uilistprop(propName = undefined, props) {
308
308
  propMetadata(RenderingEngine.key(UIKeys.UILISTPROP), metadata)(target, propertyKey);
309
309
  };
310
310
  }
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFDLEdBQUcsVUFBK0I7SUFDdkQsT0FBTyxZQUFZLENBQ2pCLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxVQUFVLENBQ1gsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNO0lBQ3BCLE9BQU8sTUFBTSxDQUNYLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLGFBQWEsQ0FBQyxJQUFJLEVBQ2xCLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLGFBQWEsQ0FBQyxNQUFNLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBVyxFQUNYLEtBQTJCLEVBQzNCLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQXNCO1lBQ2xDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxXQUFXO2FBQ2xCLENBQUM7U0FDSCxDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ2hFLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsV0FBK0IsU0FBUyxFQUN4QyxZQUFxQixLQUFLO0lBRTFCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFtQjtZQUMvQixJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVc7WUFDN0IsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDdEQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHO0FBRUgsTUFBTSxVQUFVLE9BQU8sQ0FDckIsS0FBYSxFQUNiLEdBQVcsRUFDWCxRQUE2QixFQUFFLEVBQy9CLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQXNCO1lBQ2xDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxLQUFLLElBQUksV0FBVzthQUMzQixDQUFDO1NBQ0gsQ0FBQztRQUVGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDdkQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnREc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUErQixTQUFTLEVBQ3hDLEtBQTJCO0lBRTNCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFnQztZQUM1QyxJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVc7WUFDN0IsS0FBSyxFQUFFLEtBQUssSUFBSSxFQUFFO1NBQ25CLENBQUM7UUFDRixZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQzVELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHByb3BNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIENydWRPcGVyYXRpb25LZXlzLFxuICBVSUVsZW1lbnRNZXRhZGF0YSxcbiAgVUlMaXN0UHJvcE1ldGFkYXRhLFxuICBVSVByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gXCIuL1JlbmRlcmluZ1wiO1xuaW1wb3J0IHsgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBoaWRlcyBhIHByb3BlcnR5IGR1cmluZyBzcGVjaWZpYyBDUlVEIG9wZXJhdGlvbnNcbiAqIEBzdW1tYXJ5IENvbnRyb2xzIHByb3BlcnR5IHZpc2liaWxpdHkgYmFzZWQgb24gb3BlcmF0aW9uIHR5cGVcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB3aGljaCBDUlVEIG9wZXJhdGlvbnMgc2hvdWxkIGhpZGUgYSBwcm9wZXJ0eVxuICogaW4gdGhlIFVJLiBUaGUgcHJvcGVydHkgd2lsbCBvbmx5IGJlIHZpc2libGUgZHVyaW5nIG9wZXJhdGlvbnMgbm90IHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gb3BlcmF0aW9ucyAtIFRoZSBDUlVEIG9wZXJhdGlvbnMgZHVyaW5nIHdoaWNoIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gaGlkZU9uXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIaWRlIHRoZSBwYXNzd29yZCBmaWVsZCBkdXJpbmcgUkVBRCBvcGVyYXRpb25zXG4gKiBjbGFzcyBVc2VyIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQGhpZGVPbihPcGVyYXRpb25LZXlzLlJFQUQpXG4gKiAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBoaWRlT25cbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IFVJXG4gKiAgIE1vZGVsLT4+aGlkZU9uOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICBoaWRlT24tPj5Nb2RlbDogQWRkIGhpZGRlbiBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogQ2hlY2sgaWYgcHJvcGVydHkgc2hvdWxkIGJlIGhpZGRlblxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIGhpZGRlbiBvcGVyYXRpb25zXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlVJOiBSZW5kZXIgb3IgaGlkZSBiYXNlZCBvbiBjdXJyZW50IG9wZXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZU9uKC4uLm9wZXJhdGlvbnM6IENydWRPcGVyYXRpb25LZXlzW10pIHtcbiAgcmV0dXJuIHByb3BNZXRhZGF0YTxDcnVkT3BlcmF0aW9uS2V5c1tdPihcbiAgICBSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5ISURERU4pLFxuICAgIG9wZXJhdGlvbnNcbiAgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgY29tcGxldGVseSBoaWRlcyBhIHByb3BlcnR5IGluIGFsbCBVSSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBNYWtlcyBhIHByb3BlcnR5IGludmlzaWJsZSBpbiBhbGwgQ1JVRCBvcGVyYXRpb25zXG4gKiBUaGlzIGRlY29yYXRvciBpcyBhIGNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIGhpZGVPbiB0aGF0IGhpZGVzIGEgcHJvcGVydHlcbiAqIGR1cmluZyBhbGwgQ1JVRCBvcGVyYXRpb25zIChDUkVBVEUsIFJFQUQsIFVQREFURSwgREVMRVRFKS5cbiAqXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gaGlkZGVuXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb21wbGV0ZWx5IGhpZGUgdGhlIGludGVybmFsSWQgZmllbGQgaW4gdGhlIFVJXG4gKiBjbGFzcyBQcm9kdWN0IHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIG5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZGVuKClcbiAqICAgaW50ZXJuYWxJZDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgaGlkZGVuXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgTW9kZWwtPj5oaWRkZW46IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGRlbi0+PmhpZGVPbjogQ2FsbCB3aXRoIGFsbCBvcGVyYXRpb25zXG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gYWxsIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IEFsd2F5cyBoaWRlIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRkZW4oKSB7XG4gIHJldHVybiBoaWRlT24oXG4gICAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5SRUFELFxuICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgIE9wZXJhdGlvbktleXMuREVMRVRFXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgYSBVSSBlbGVtZW50XG4gKiBAc3VtbWFyeSBNYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBzcGVjaWZpYyBVSSBlbGVtZW50IHdpdGggY3VzdG9tIHByb3BlcnRpZXNcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIHdoaWNoIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWRcbiAqIHRvIHJlbmRlciBhIHNwZWNpZmljIHByb3BlcnR5LCBhbG9uZyB3aXRoIGFueSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGF0IGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRhZyBUaGUgSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCB0YWcgbmFtZSB0byB1c2UgZm9yIHJlbmRlcmluZ1xuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXJpYWxpemU9ZmFsc2VdIFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBzZXJpYWxpemVkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWllbGVtZW50XG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBSZW5kZXIgYSBwcm9wZXJ0eSBhcyBhIHRleHQgaW5wdXRcbiAqIGNsYXNzIExvZ2luRm9ybSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWllbGVtZW50KCdpbnB1dCcsIHsgdHlwZTogJ3RleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHVzZXJuYW1lJyB9KVxuICogICB1c2VybmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2lucHV0JywgeyB0eXBlOiAncGFzc3dvcmQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHBhc3N3b3JkJyB9KVxuICogICBwYXNzd29yZDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2J1dHRvbicsIHsgY2xhc3M6ICdidG4tcHJpbWFyeScgfSlcbiAqICAgc3VibWl0OiBzdHJpbmcgPSAnTG9naW4nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWllbGVtZW50XG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBVSVxuICogICBNb2RlbC0+PnVpZWxlbWVudDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWllbGVtZW50LT4+TW9kZWw6IEFkZCBlbGVtZW50IG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgZWxlbWVudCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHRhZyBhbmQgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciB3aXRoIHNwZWNpZmllZCBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWVsZW1lbnQoXG4gIHRhZzogc3RyaW5nLFxuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHNlcmlhbGl6ZTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuIChvcmlnaW5hbDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICAgIHRhZzogdGFnLFxuICAgICAgc2VyaWFsaXplOiBzZXJpYWxpemUsXG4gICAgICBwcm9wczogT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMgfHwge30sIHtcbiAgICAgICAgbmFtZTogcHJvcGVydHlLZXksXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5FTEVNRU5UKSwgbWV0YWRhdGEpKFxuICAgICAgb3JpZ2luYWwsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcHMgYSBtb2RlbCBwcm9wZXJ0eSB0byBhIFVJIGNvbXBvbmVudCBwcm9wZXJ0eVxuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSBwYXNzZWQgdG8gYSBVSSBjb21wb25lbnRcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIGhvdyBhIG1vZGVsIHByb3BlcnR5IHNob3VsZCBiZSBtYXBwZWQgdG9cbiAqIGEgcHJvcGVydHkgb2YgdGhlIFVJIGNvbXBvbmVudCB3aGVuIHJlbmRlcmluZy4gSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlXG4gKiBkZWNvcmF0ZWQgd2l0aCBAdWltb2RlbC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3Byb3BOYW1lXSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50IChkZWZhdWx0cyB0byB0aGUgcHJvcGVydHkga2V5KVxuICogQHBhcmFtIHtib29sZWFufSBbc3RyaW5naWZ5PWZhbHNlXSBXaGV0aGVyIHRvIHN0cmluZ2lmeSB0aGUgcHJvcGVydHkgdmFsdWVcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aXByb3BcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1hcCBtb2RlbCBwcm9wZXJ0aWVzIHRvIGNvbXBvbmVudCBwcm9wZXJ0aWVzXG4gKiBAdWltb2RlbCgndXNlci1wcm9maWxlJylcbiAqIGNsYXNzIFVzZXJQcm9maWxlIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyAnZnVsbE5hbWUnIHRvIHRoZSBjb21wb25lbnRcbiAqICAgZnVsbE5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCd1c2VyRW1haWwnKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyAndXNlckVtYWlsJyB0byB0aGUgY29tcG9uZW50XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgndXNlckRhdGEnLCB0cnVlKSAvLyBXaWxsIGJlIHBhc3NlZCBhcyBzdHJpbmdpZmllZCBKU09OXG4gKiAgIHVzZXJEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWlwcm9wXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBDb21wb25lbnRcbiAqICAgTW9kZWwtPj51aXByb3A6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpcHJvcC0+Pk1vZGVsOiBBZGQgcHJvcCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IHByb3AgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBwcm9wIG5hbWUgYW5kIHN0cmluZ2lmeSBmbGFnXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PkNvbXBvbmVudDogUGFzcyBwcm9wZXJ0eSB3aXRoIHNwZWNpZmllZCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aXByb3AoXG4gIHByb3BOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHN0cmluZ2lmeTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSVByb3BNZXRhZGF0YSA9IHtcbiAgICAgIG5hbWU6IHByb3BOYW1lIHx8IHByb3BlcnR5S2V5LFxuICAgICAgc3RyaW5naWZ5OiBzdHJpbmdpZnksXG4gICAgfTtcbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuUFJPUCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG5lc3RlZCBtb2RlbCBwcm9wZXJ0eSB0byBhIFVJIGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAqIEBzdW1tYXJ5IERlZmluZXMgaG93IGEgcGFyZW50IGNvbXBvbmVudCBzaG91bGQgcmVuZGVyIHRoZSBjaGlsZCBtb2RlbCB3aGVuIG5lc3RlZC5cbiAqXG4gKiBUaGlzIGRlY29yYXRvciBpcyB1c2VkIHRvIGRlY29yYXRlIHByb3BlcnRpZXMgdGhhdCBhcmUgbmVzdGVkIG1vZGVscy5cbiAqIFdoZW4gYXBwbGllZCwgaXQgYWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgdGFnIG9mIHRoZSBjaGlsZCBtb2RlbCB3aXRoIHRoZSBwcm92aWRlZCBvbmUsXG4gKiBlbmFibGluZyBkaWZmZXJlbnQgcmVuZGVyaW5nIGJlaGF2aW9yIHdoZW4gdGhlIG1vZGVsIGFjdHMgYXMgYSBjaGlsZCAobmVzdGVkKVxuICogY29tcGFyZWQgdG8gd2hlbiBpdCBpcyByZW5kZXJlZCBhcyB0aGUgcGFyZW50IG1vZGVsLlxuICpcbiAqIEl0IHJlcXVpcmVzIHRoZSBjbGFzcyB0byBiZSBkZWNvcmF0ZWQgd2l0aCBgQHVpbW9kZWxgLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjbGF6eiBUaGUgbW9kZWwgY2xhc3MgbmFtZSB0byBwYXNzIHRvIHRoZSBjb21wb25lbnQgKGRlZmF1bHRzIHRvIHRoZSBwcm9wZXJ0eSBrZXkpLlxuICogQHBhcmFtIHtzdHJpbmd9IHRhZyBUaGUgSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCB0YWcgbmFtZSB0byBvdmVycmlkZSB0aGUgVUkgdGFnIG9mIHRoZSBuZXN0ZWQgbW9kZWxcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgZWxlbWVudFxuICogQHBhcmFtIHtib29sZWFufSBbc2VyaWFsaXplPWZhbHNlXSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2VyaWFsaXplZFxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uLlxuICpcbiAqIEBmdW5jdGlvbiB1aWNoaWxkXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNYXAgYSBuZXN0ZWQgbW9kZWwgdG8gYSBjb21wb25lbnQgcHJvcGVydHkgd2l0aCBhIGRpZmZlcmVudCB0YWcgd2hlbiBuZXN0ZWRcbiAqIEB1aW1vZGVsKCdhZGRyZXNzLWNvbXBvbmVudCcpXG4gKiBjbGFzcyBBZGRyZXNzIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHN0cmVldDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIGNpdHk6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAdWltb2RlbCgndXNlci1wcm9maWxlJylcbiAqIGNsYXNzIFVzZXJQcm9maWxlIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWNoaWxkKEFkZHJlc3MubmFtZSwgJ2FkZHJlc3MtY2hpbGQtY29tcG9uZW50JylcbiAqICAgYWRkcmVzczogQWRkcmVzcztcbiAqIH1cbiAqXG4gKiAvLyBJbiB0aGlzIGV4YW1wbGUsIHRoZSBBZGRyZXNzIG1vZGVsIGhhcyB0aGUgZGVmYXVsdCB0YWcgJ2FkZHJlc3MtY29tcG9uZW50JyB3aGVuIHJlbmRlcmVkIGFzIGEgcm9vdCBjb21wb25lbnQsXG4gKiAvLyBidXQgd2hlbiB1c2VkIGluc2lkZSBVc2VyUHJvZmlsZSwgaXQgaXMgcmVuZGVyZWQgd2l0aCB0aGUgb3ZlcnJpZGRlbiB0YWcgJ2FkZHJlc3MtY2hpbGQtY29tcG9uZW50J1xuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWljaGlsZFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgQ29tcG9uZW50XG4gKiAgIE1vZGVsLT4+dWljaGlsZDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWljaGlsZC0+Pk1vZGVsOiBBZGQgY2hpbGQgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBjaGlsZCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHByb3AgbmFtZSwgc3RyaW5naWZ5IGZsYWcsIGFuZCBjaGlsZCB0YWcgb3ZlcnJpZGVcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+Q29tcG9uZW50OiBQYXNzIHByb3BlcnR5IHdpdGggc3BlY2lmaWVkIG5hbWUgYW5kIHJlbmRlciB3aXRoIG92ZXJyaWRkZW4gdGFnIGlmIG5lc3RlZFxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiB1aWNoaWxkKFxuICBjbGF6ejogc3RyaW5nLFxuICB0YWc6IHN0cmluZyxcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgc2VyaWFsaXplOiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKHt9LCBwcm9wcyB8fCB7fSwge1xuICAgICAgICBuYW1lOiBjbGF6eiB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuQ0hJTEQpLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcHMgYSBtb2RlbCBwcm9wZXJ0eSB0byBhIGxpc3QgaXRlbSBjb21wb25lbnRcbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVuZGVyZWQgaW4gYSBsaXN0IGNvbnRleHRcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIGhvdyBhIG1vZGVsIHByb3BlcnR5IGNvbnRhaW5pbmcgYSBsaXN0XG4gKiBzaG91bGQgYmUgcmVuZGVyZWQuIEl0IHJlcXVpcmVzIHRoZSBjbGFzcyB0byBiZSBkZWNvcmF0ZWQgd2l0aCBAdWlsaXN0aXRlbS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3Byb3BOYW1lXSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcGFzcyB0byB0aGUgbGlzdCBjb21wb25lbnQgKGRlZmF1bHRzIHRvIHRoZSBwcm9wZXJ0eSBrZXkpXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIGxpc3QgY29udGFpbmVyXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlsaXN0cHJvcFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRGVmaW5lIGEgbGlzdCBwcm9wZXJ0eSB3aXRoIGN1c3RvbSByZW5kZXJpbmdcbiAqIEB1aW1vZGVsKCd0b2RvLWxpc3QnKVxuICogY2xhc3MgVG9kb0xpc3Qge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGl0bGU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlsaXN0cHJvcCgnaXRlbXMnLCB7IGNsYXNzOiAndG9kby1pdGVtcy1jb250YWluZXInIH0pXG4gKiAgIGl0ZW1zOiBUb2RvSXRlbVtdO1xuICogfVxuICpcbiAqIEB1aWxpc3RpdGVtKCdsaScsIHsgY2xhc3M6ICd0b2RvLWl0ZW0nIH0pXG4gKiBjbGFzcyBUb2RvSXRlbSBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHRleHQ6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWxpc3Rwcm9wXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBMaXN0Q29udGFpbmVyXG4gKiAgIHBhcnRpY2lwYW50IExpc3RJdGVtc1xuICogICBNb2RlbC0+PnVpbGlzdHByb3A6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpbGlzdHByb3AtPj5Nb2RlbDogQWRkIGxpc3QgcHJvcCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IGxpc3QgcHJvcCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHByb3AgbmFtZSBhbmQgY29udGFpbmVyIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pkxpc3RDb250YWluZXI6IENyZWF0ZSBjb250YWluZXIgd2l0aCBwcm9wc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5MaXN0SXRlbXM6IFJlbmRlciBlYWNoIGl0ZW0gdXNpbmcgQHVpbGlzdGl0ZW1cbiAqICAgTGlzdENvbnRhaW5lci0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHJlbmRlcmVkIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpbGlzdHByb3AoXG4gIHByb3BOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PlxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogUGFydGlhbDxVSUxpc3RQcm9wTWV0YWRhdGE+ID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBwcm9wczogcHJvcHMgfHwge30sXG4gICAgfTtcbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuVUlMSVNUUFJPUCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
311
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx1QkFBb0I7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQW9CO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBRyxVQUErQjtJQUN2RCxPQUFPLFlBQVksQ0FDakIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ2xDLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxNQUFNLENBQ1gsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUFXLEVBQ1gsS0FBMkIsRUFDM0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsUUFBYSxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDaEUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixXQUErQixTQUFTLEVBQ3hDLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQW1CO1lBQy9CLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBQ0YsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN0RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvREc7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixLQUFhLEVBQ2IsR0FBVyxFQUNYLFFBQTZCLEVBQUUsRUFDL0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLEtBQUssSUFBSSxXQUFXO2FBQzNCLENBQUM7U0FDSCxDQUFDO1FBRUYsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN2RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdERztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQStCLFNBQVMsRUFDeEMsS0FBMkI7SUFFM0IsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQWdDO1lBQzVDLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDbkIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDNUQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcHJvcE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ3J1ZE9wZXJhdGlvbktleXMsXG4gIFVJRWxlbWVudE1ldGFkYXRhLFxuICBVSUxpc3RQcm9wTWV0YWRhdGEsXG4gIFVJUHJvcE1ldGFkYXRhLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgUmVuZGVyaW5nRW5naW5lIH0gZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGhpZGVzIGEgcHJvcGVydHkgZHVyaW5nIHNwZWNpZmljIENSVUQgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgQ29udHJvbHMgcHJvcGVydHkgdmlzaWJpbGl0eSBiYXNlZCBvbiBvcGVyYXRpb24gdHlwZVxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHdoaWNoIENSVUQgb3BlcmF0aW9ucyBzaG91bGQgaGlkZSBhIHByb3BlcnR5XG4gKiBpbiB0aGUgVUkuIFRoZSBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgdmlzaWJsZSBkdXJpbmcgb3BlcmF0aW9ucyBub3Qgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBvcGVyYXRpb25zIC0gVGhlIENSVUQgb3BlcmF0aW9ucyBkdXJpbmcgd2hpY2ggdGhlIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiBoaWRlT25cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkIGR1cmluZyBSRUFEIG9wZXJhdGlvbnNcbiAqIGNsYXNzIFVzZXIge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdXNlcm5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZU9uKE9wZXJhdGlvbktleXMuUkVBRClcbiAqICAgcGFzc3dvcmQ6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgVUlcbiAqICAgTW9kZWwtPj5oaWRlT246IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gaGlkZGVuIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciBvciBoaWRlIGJhc2VkIG9uIGN1cnJlbnQgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlT24oLi4ub3BlcmF0aW9uczogQ3J1ZE9wZXJhdGlvbktleXNbXSkge1xuICByZXR1cm4gcHJvcE1ldGFkYXRhPENydWRPcGVyYXRpb25LZXlzW10+KFxuICAgIFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkhJRERFTiksXG4gICAgb3BlcmF0aW9uc1xuICApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBjb21wbGV0ZWx5IGhpZGVzIGEgcHJvcGVydHkgaW4gYWxsIFVJIG9wZXJhdGlvbnNcbiAqIEBzdW1tYXJ5IE1ha2VzIGEgcHJvcGVydHkgaW52aXNpYmxlIGluIGFsbCBDUlVEIG9wZXJhdGlvbnNcbiAqIFRoaXMgZGVjb3JhdG9yIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciBhcm91bmQgaGlkZU9uIHRoYXQgaGlkZXMgYSBwcm9wZXJ0eVxuICogZHVyaW5nIGFsbCBDUlVEIG9wZXJhdGlvbnMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpLlxuICpcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiBoaWRkZW5cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbXBsZXRlbHkgaGlkZSB0aGUgaW50ZXJuYWxJZCBmaWVsZCBpbiB0aGUgVUlcbiAqIGNsYXNzIFByb2R1Y3Qge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgbmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEBoaWRkZW4oKVxuICogICBpbnRlcm5hbElkOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBoaWRkZW5cbiAqICAgcGFydGljaXBhbnQgaGlkZU9uXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBNb2RlbC0+PmhpZGRlbjogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgaGlkZGVuLT4+aGlkZU9uOiBDYWxsIHdpdGggYWxsIG9wZXJhdGlvbnNcbiAqICAgaGlkZU9uLT4+TW9kZWw6IEFkZCBoaWRkZW4gbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IENoZWNrIGlmIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBhbGwgb3BlcmF0aW9uc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogQWx3YXlzIGhpZGUgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGRlbigpIHtcbiAgcmV0dXJuIGhpZGVPbihcbiAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5ERUxFVEVcbiAgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgc3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSByZW5kZXJlZCBhcyBhIFVJIGVsZW1lbnRcbiAqIEBzdW1tYXJ5IE1hcHMgYSBtb2RlbCBwcm9wZXJ0eSB0byBhIHNwZWNpZmljIFVJIGVsZW1lbnQgd2l0aCBjdXN0b20gcHJvcGVydGllc1xuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgd2hpY2ggSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZFxuICogdG8gcmVuZGVyIGEgc3BlY2lmaWMgcHJvcGVydHksIGFsb25nIHdpdGggYW55IGFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoYXQgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lIHRvIHVzZSBmb3IgcmVuZGVyaW5nXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIGVsZW1lbnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NlcmlhbGl6ZT1mYWxzZV0gV2hldGhlciB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWVsZW1lbnRcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFJlbmRlciBhIHByb3BlcnR5IGFzIGEgdGV4dCBpbnB1dFxuICogY2xhc3MgTG9naW5Gb3JtIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2lucHV0JywgeyB0eXBlOiAndGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgdXNlcm5hbWUnIH0pXG4gKiAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpZWxlbWVudCgnaW5wdXQnLCB7IHR5cGU6ICdwYXNzd29yZCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgcGFzc3dvcmQnIH0pXG4gKiAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpZWxlbWVudCgnYnV0dG9uJywgeyBjbGFzczogJ2J0bi1wcmltYXJ5JyB9KVxuICogICBzdWJtaXQ6IHN0cmluZyA9ICdMb2dpbic7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWVsZW1lbnRcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IFVJXG4gKiAgIE1vZGVsLT4+dWllbGVtZW50OiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWVsZW1lbnQtPj5Nb2RlbDogQWRkIGVsZW1lbnQgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBlbGVtZW50IG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gdGFnIGFuZCBwcm9wc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogUmVuZGVyIHdpdGggc3BlY2lmaWVkIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpZWxlbWVudChcbiAgdGFnOiBzdHJpbmcsXG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc2VyaWFsaXplOiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKHt9LCBwcm9wcyB8fCB7fSwge1xuICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkVMRU1FTlQpLCBtZXRhZGF0YSkoXG4gICAgICBvcmlnaW5hbCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgVUkgY29tcG9uZW50IHByb3BlcnR5XG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgaG93IGEgcHJvcGVydHkgc2hvdWxkIGJlIHBhc3NlZCB0byBhIFVJIGNvbXBvbmVudFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgaG93IGEgbW9kZWwgcHJvcGVydHkgc2hvdWxkIGJlIG1hcHBlZCB0b1xuICogYSBwcm9wZXJ0eSBvZiB0aGUgVUkgY29tcG9uZW50IHdoZW4gcmVuZGVyaW5nLiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmVcbiAqIGRlY29yYXRlZCB3aXRoIEB1aW1vZGVsLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBjb21wb25lbnQgKGRlZmF1bHRzIHRvIHRoZSBwcm9wZXJ0eSBrZXkpXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzdHJpbmdpZnk9ZmFsc2VdIFdoZXRoZXIgdG8gc3RyaW5naWZ5IHRoZSBwcm9wZXJ0eSB2YWx1ZVxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpcHJvcFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gTWFwIG1vZGVsIHByb3BlcnRpZXMgdG8gY29tcG9uZW50IHByb3BlcnRpZXNcbiAqIEB1aW1vZGVsKCd1c2VyLXByb2ZpbGUnKVxuICogY2xhc3MgVXNlclByb2ZpbGUge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgpIC8vIFdpbGwgYmUgcGFzc2VkIGFzICdmdWxsTmFtZScgdG8gdGhlIGNvbXBvbmVudFxuICogICBmdWxsTmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoJ3VzZXJFbWFpbCcpIC8vIFdpbGwgYmUgcGFzc2VkIGFzICd1c2VyRW1haWwnIHRvIHRoZSBjb21wb25lbnRcbiAqICAgZW1haWw6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCd1c2VyRGF0YScsIHRydWUpIC8vIFdpbGwgYmUgcGFzc2VkIGFzIHN0cmluZ2lmaWVkIEpTT05cbiAqICAgdXNlckRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aXByb3BcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IENvbXBvbmVudFxuICogICBNb2RlbC0+PnVpcHJvcDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWlwcm9wLT4+TW9kZWw6IEFkZCBwcm9wIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgcHJvcCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHByb3AgbmFtZSBhbmQgc3RyaW5naWZ5IGZsYWdcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+Q29tcG9uZW50OiBQYXNzIHByb3BlcnR5IHdpdGggc3BlY2lmaWVkIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpcHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgc3RyaW5naWZ5OiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJUHJvcE1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5QUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbmVzdGVkIG1vZGVsIHByb3BlcnR5IHRvIGEgVUkgY29tcG9uZW50IHByb3BlcnR5LlxuICogQHN1bW1hcnkgRGVmaW5lcyBob3cgYSBwYXJlbnQgY29tcG9uZW50IHNob3VsZCByZW5kZXIgdGhlIGNoaWxkIG1vZGVsIHdoZW4gbmVzdGVkLlxuICpcbiAqIFRoaXMgZGVjb3JhdG9yIGlzIHVzZWQgdG8gZGVjb3JhdGUgcHJvcGVydGllcyB0aGF0IGFyZSBuZXN0ZWQgbW9kZWxzLlxuICogV2hlbiBhcHBsaWVkLCBpdCBhbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB0YWcgb2YgdGhlIGNoaWxkIG1vZGVsIHdpdGggdGhlIHByb3ZpZGVkIG9uZSxcbiAqIGVuYWJsaW5nIGRpZmZlcmVudCByZW5kZXJpbmcgYmVoYXZpb3Igd2hlbiB0aGUgbW9kZWwgYWN0cyBhcyBhIGNoaWxkIChuZXN0ZWQpXG4gKiBjb21wYXJlZCB0byB3aGVuIGl0IGlzIHJlbmRlcmVkIGFzIHRoZSBwYXJlbnQgbW9kZWwuXG4gKlxuICogSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlIGRlY29yYXRlZCB3aXRoIGBAdWltb2RlbGAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNsYXp6IFRoZSBtb2RlbCBjbGFzcyBuYW1lIHRvIHBhc3MgdG8gdGhlIGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSkuXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lIHRvIG92ZXJyaWRlIHRoZSBVSSB0YWcgb2YgdGhlIG5lc3RlZCBtb2RlbFxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXJpYWxpemU9ZmFsc2VdIFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBzZXJpYWxpemVkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb24uXG4gKlxuICogQGZ1bmN0aW9uIHVpY2hpbGRcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1hcCBhIG5lc3RlZCBtb2RlbCB0byBhIGNvbXBvbmVudCBwcm9wZXJ0eSB3aXRoIGEgZGlmZmVyZW50IHRhZyB3aGVuIG5lc3RlZFxuICogQHVpbW9kZWwoJ2FkZHJlc3MtY29tcG9uZW50JylcbiAqIGNsYXNzIEFkZHJlc3Mge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgc3RyZWV0OiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgY2l0eTogc3RyaW5nO1xuICogfVxuICpcbiAqIEB1aW1vZGVsKCd1c2VyLXByb2ZpbGUnKVxuICogY2xhc3MgVXNlclByb2ZpbGUge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpY2hpbGQoQWRkcmVzcy5uYW1lLCAnYWRkcmVzcy1jaGlsZC1jb21wb25lbnQnKVxuICogICBhZGRyZXNzOiBBZGRyZXNzO1xuICogfVxuICpcbiAqIC8vIEluIHRoaXMgZXhhbXBsZSwgdGhlIEFkZHJlc3MgbW9kZWwgaGFzIHRoZSBkZWZhdWx0IHRhZyAnYWRkcmVzcy1jb21wb25lbnQnIHdoZW4gcmVuZGVyZWQgYXMgYSByb290IGNvbXBvbmVudCxcbiAqIC8vIGJ1dCB3aGVuIHVzZWQgaW5zaWRlIFVzZXJQcm9maWxlLCBpdCBpcyByZW5kZXJlZCB3aXRoIHRoZSBvdmVycmlkZGVuIHRhZyAnYWRkcmVzcy1jaGlsZC1jb21wb25lbnQnXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWNoaWxkXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBDb21wb25lbnRcbiAqICAgTW9kZWwtPj51aWNoaWxkOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWNoaWxkLT4+TW9kZWw6IEFkZCBjaGlsZCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IGNoaWxkIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lLCBzdHJpbmdpZnkgZmxhZywgYW5kIGNoaWxkIHRhZyBvdmVycmlkZVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Db21wb25lbnQ6IFBhc3MgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgbmFtZSBhbmQgcmVuZGVyIHdpdGggb3ZlcnJpZGRlbiB0YWcgaWYgbmVzdGVkXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHVpY2hpbGQoXG4gIGNsYXp6OiBzdHJpbmcsXG4gIHRhZzogc3RyaW5nLFxuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICBzZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyxcbiAgICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplLFxuICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oe30sIHByb3BzIHx8IHt9LCB7XG4gICAgICAgIG5hbWU6IGNsYXp6IHx8IHByb3BlcnR5S2V5LFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5DSElMRCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgbGlzdCBpdGVtIGNvbXBvbmVudFxuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGxpc3QgY29udGV4dFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgaG93IGEgbW9kZWwgcHJvcGVydHkgY29udGFpbmluZyBhIGxpc3RcbiAqIHNob3VsZCBiZSByZW5kZXJlZC4gSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlIGRlY29yYXRlZCB3aXRoIEB1aWxpc3RpdGVtLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBsaXN0IGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGlzdCBjb250YWluZXJcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxpc3Rwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBEZWZpbmUgYSBsaXN0IHByb3BlcnR5IHdpdGggY3VzdG9tIHJlbmRlcmluZ1xuICogQHVpbW9kZWwoJ3RvZG8tbGlzdCcpXG4gKiBjbGFzcyBUb2RvTGlzdCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0aXRsZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxpc3Rwcm9wKCdpdGVtcycsIHsgY2xhc3M6ICd0b2RvLWl0ZW1zLWNvbnRhaW5lcicgfSlcbiAqICAgaXRlbXM6IFRvZG9JdGVtW107XG4gKiB9XG4gKlxuICogQHVpbGlzdGl0ZW0oJ2xpJywgeyBjbGFzczogJ3RvZG8taXRlbScgfSlcbiAqIGNsYXNzIFRvZG9JdGVtIGV4dGVuZHMgTW9kZWwge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGV4dDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpbGlzdHByb3BcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IExpc3RDb250YWluZXJcbiAqICAgcGFydGljaXBhbnQgTGlzdEl0ZW1zXG4gKiAgIE1vZGVsLT4+dWlsaXN0cHJvcDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWlsaXN0cHJvcC0+Pk1vZGVsOiBBZGQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lIGFuZCBjb250YWluZXIgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TGlzdENvbnRhaW5lcjogQ3JlYXRlIGNvbnRhaW5lciB3aXRoIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pkxpc3RJdGVtczogUmVuZGVyIGVhY2ggaXRlbSB1c2luZyBAdWlsaXN0aXRlbVxuICogICBMaXN0Q29udGFpbmVyLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcmVuZGVyZWQgbGlzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlsaXN0cHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBQYXJ0aWFsPFVJTGlzdFByb3BNZXRhZGF0YT4gPSB7XG4gICAgICBuYW1lOiBwcm9wTmFtZSB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIHByb3BzOiBwcm9wcyB8fCB7fSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSUxJU1RQUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuIl19
@@ -1,9 +1,9 @@
1
- export * from "./constants";
2
- export * from "./decorators";
3
- export * from "./errors";
4
- export * from "./interfaces";
5
- export * from "./Rendering";
6
- export * from "./types";
7
- export * from "./handlers";
8
- export * from "./utils";
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGFuZGxlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG4iXX0=
1
+ export * from "./constants.js";
2
+ export * from "./decorators.js";
3
+ export * from "./errors.js";
4
+ export * from "./interfaces.js";
5
+ export * from "./Rendering.js";
6
+ export * from "./types.js";
7
+ export * from "./handlers.js";
8
+ export * from "./utils.js";
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQTRCO0FBQzVCLGdDQUE2QjtBQUM3Qiw0QkFBeUI7QUFDekIsZ0NBQTZCO0FBQzdCLCtCQUE0QjtBQUM1QiwyQkFBd0I7QUFDeEIsOEJBQTJCO0FBQzNCLDJCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZW5kZXJpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oYW5kbGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
@@ -6,5 +6,5 @@
6
6
  * @module ui/types
7
7
  * @memberOf module:ui-decorators
8
8
  */
9
- import { UIKeys } from "./constants";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb25zIGZvciBVSSBjb21wb25lbnRzIGFuZCByZW5kZXJpbmdcbiAqIEBzdW1tYXJ5IERlZmluZXMgdHlwZXMgYW5kIGludGVyZmFjZXMgdXNlZCB0aHJvdWdob3V0IHRoZSBVSSBkZWNvcmF0b3JzIGxpYnJhcnlcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGZpZWxkIHByb3BlcnRpZXMsIFVJIG1ldGFkYXRhLFxuICogYW5kIG90aGVyIHN0cnVjdHVyZXMgdXNlZCBpbiByZW5kZXJpbmcgVUkgY29tcG9uZW50cy5cbiAqIEBtb2R1bGUgdWkvdHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgVUkgZmllbGQgb3IgY29tcG9uZW50XG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgcmVuZGVyYWJsZSBVSSBlbGVtZW50IHdpdGggcHJvcGVydGllcyBhbmQgY2hpbGRyZW5cbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudCwgaW5jbHVkaW5nXG4gKiBpdHMgdGFnIG5hbWUsIHByb3BlcnRpZXMsIGFuZCBvcHRpb25hbCBjaGlsZHJlbiBlbGVtZW50cy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvblxuICogQHRlbXBsYXRlIFQgQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHR5cGUgKGRlZmF1bHRzIHRvIHZvaWQpXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGFnIC0gVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcmVuZGVyZXJJZF0gLSBPcHRpb25hbCBJRCBvZiB0aGUgcmVuZGVyZXIgdG8gdXNlXG4gKiBAcHJvcGVydHkgcHJvcHMgLSBDb21iaW5lZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7RmllbGREZWZpbml0aW9uW119IFtjaGlsZHJlbl0gLSBPcHRpb25hbCBjaGlsZCBlbGVtZW50c1xuICogQHByb3BlcnR5IHtVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhfSBbaXRlbV0gLSBPcHRpb25hbCBsaXN0IGl0ZW0gbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZERlZmluaXRpb248VCA9IHZvaWQ+IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHJlbmRlcmVySWQ/OiBzdHJpbmc7XG4gIHByb3BzOiBUICYgRmllbGRQcm9wZXJ0aWVzO1xuICBjaGlsZHJlbj86IEZpZWxkRGVmaW5pdGlvbjxUPltdO1xuICBpdGVtPzogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBmaWVsZCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB2YWxpZGF0aW9uXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCB2YWxpZGF0aW9uIHJ1bGVzIGZvciBVSSBmaWVsZHNcbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0YW5kYXJkIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0b1xuICogVUkgZmllbGRzLCBpbmNsdWRpbmcgYmFzaWMgYXR0cmlidXRlcyBhbmQgdmFsaWRhdGlvbiBydWxlcy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllc1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gVGhlIGZ1bGwgaGllcmFyY2hpY2FsIHBhdGggb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY2hpbGRPZiAtIFRoZSBwYXJlbnQgcGF0aCBvZiB0aGUgaW1tZWRpYXRlIHBhcmVudCBmaWVsZCwgaWYgbmVzdGVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBmaWVsZCAoZS5nLiwgJ3RleHQnLCAnbnVtYmVyJylcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfG51bWJlcnxEYXRlfSB2YWx1ZSAtIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbaGlkZGVuXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGhpZGRlblxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGlzYWJsZWRdIC0gV2hldGhlciB0aGUgZmllbGQgaXMgZGlzYWJsZWRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlcXVpcmVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWFkb25seV0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZWFkLW9ubHlcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4TGVuZ3RoXSAtIE1heGltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFttaW5MZW5ndGhdIC0gTWluaW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWF4XSAtIE1heGltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfERhdGV9IFttaW5dIC0gTWluaW11bSB2YWx1ZSBmb3IgbnVtZXJpYyBvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXR0ZXJuXSAtIFJlZ2V4IHBhdHRlcm4gZm9yIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbc3RlcF0gLSBTdGVwIHZhbHVlIGZvciBudW1lcmljIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmb3JtYXRdIC0gRm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXF1YWxzXSAtIEZpZWxkIG11c3QgZXF1YWwgdGhlIHZhbHVlIG9mIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlmZl0gLSBGaWVsZCBtdXN0IGRpZmZlciBmcm9tIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGVzc1RoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5dIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtncmVhdGVyVGhhbk9yRXF1YWxdIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhpcyBmaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBjaGlsZE9mPzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIFZhbGlkYXRpb25cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIFtVSUtleXMuRVFVQUxTXT86IHN0cmluZztcbiAgW1VJS2V5cy5ESUZGXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5dPzogc3RyaW5nO1xuICBbVUlLZXlzLkxFU1NfVEhBTl9PUl9FUVVBTF0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ3J1ZE9wZXJhdGlvbktleXMgPVxuICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5SRUFEXG4gIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgfCBPcGVyYXRpb25LZXlzLkRFTEVURTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RQcm9wTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUxpc3RQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbU1vZGVsTWV0YWRhdGEgPSB7XG4gIGl0ZW06IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbWFwcGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG4iXX0=
9
+ import { UIKeys } from "./constants.js";
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsdUJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9ucyBmb3IgVUkgY29tcG9uZW50cyBhbmQgcmVuZGVyaW5nXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHR5cGVzIGFuZCBpbnRlcmZhY2VzIHVzZWQgdGhyb3VnaG91dCB0aGUgVUkgZGVjb3JhdG9ycyBsaWJyYXJ5XG4gKiBUaGlzIG1vZHVsZSBjb250YWlucyB0eXBlIGRlZmluaXRpb25zIGZvciBmaWVsZCBwcm9wZXJ0aWVzLCBVSSBtZXRhZGF0YSxcbiAqIGFuZCBvdGhlciBzdHJ1Y3R1cmVzIHVzZWQgaW4gcmVuZGVyaW5nIFVJIGNvbXBvbmVudHMuXG4gKiBAbW9kdWxlIHVpL3R5cGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBkZWZpbmluZyBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudFxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIHJlbmRlcmFibGUgVUkgZWxlbWVudCB3aXRoIHByb3BlcnRpZXMgYW5kIGNoaWxkcmVuXG4gKiBUaGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgYSBVSSBmaWVsZCBvciBjb21wb25lbnQsIGluY2x1ZGluZ1xuICogaXRzIHRhZyBuYW1lLCBwcm9wZXJ0aWVzLCBhbmQgb3B0aW9uYWwgY2hpbGRyZW4gZWxlbWVudHMuXG4gKlxuICogQGludGVyZmFjZSBGaWVsZERlZmluaXRpb25cbiAqIEB0ZW1wbGF0ZSBUIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0eXBlIChkZWZhdWx0cyB0byB2b2lkKVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRhZyAtIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3JlbmRlcmVySWRdIC0gT3B0aW9uYWwgSUQgb2YgdGhlIHJlbmRlcmVyIHRvIHVzZVxuICogQHByb3BlcnR5IHByb3BzIC0gQ29tYmluZWQgcHJvcGVydGllcyBmb3IgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge0ZpZWxkRGVmaW5pdGlvbltdfSBbY2hpbGRyZW5dIC0gT3B0aW9uYWwgY2hpbGQgZWxlbWVudHNcbiAqIEBwcm9wZXJ0eSB7VUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YX0gW2l0ZW1dIC0gT3B0aW9uYWwgbGlzdCBpdGVtIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uPFQgPSB2b2lkPiB7XG4gIHRhZzogc3RyaW5nO1xuICByZW5kZXJlcklkPzogc3RyaW5nO1xuICBwcm9wczogVCAmIEZpZWxkUHJvcGVydGllcztcbiAgY2hpbGRyZW4/OiBGaWVsZERlZmluaXRpb248VD5bXTtcbiAgaXRlbT86IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgZmllbGQgcHJvcGVydGllcyBpbmNsdWRpbmcgdmFsaWRhdGlvblxuICogQHN1bW1hcnkgRGVmaW5lcyBjb21tb24gcHJvcGVydGllcyBhbmQgdmFsaWRhdGlvbiBydWxlcyBmb3IgVUkgZmllbGRzXG4gKiBUaGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBzdGFuZGFyZCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG9cbiAqIFVJIGZpZWxkcywgaW5jbHVkaW5nIGJhc2ljIGF0dHJpYnV0ZXMgYW5kIHZhbGlkYXRpb24gcnVsZXMuXG4gKlxuICogQGludGVyZmFjZSBGaWVsZFByb3BlcnRpZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcGF0aCAtIFRoZSBmdWxsIGhpZXJhcmNoaWNhbCBwYXRoIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNoaWxkT2YgLSBUaGUgcGFyZW50IHBhdGggb2YgdGhlIGltbWVkaWF0ZSBwYXJlbnQgZmllbGQsIGlmIG5lc3RlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZmllbGQgKGUuZy4sICd0ZXh0JywgJ251bWJlcicpXG4gKiBAcHJvcGVydHkge3N0cmluZ3xudW1iZXJ8RGF0ZX0gdmFsdWUgLSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2hpZGRlbl0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyBoaWRkZW5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2Rpc2FibGVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGRpc2FibGVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZXF1aXJlZF0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVhZG9ubHldIC0gV2hldGhlciB0aGUgZmllbGQgaXMgcmVhZC1vbmx5XG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heExlbmd0aF0gLSBNYXhpbXVtIGxlbmd0aCBmb3IgdGV4dCBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWluTGVuZ3RoXSAtIE1pbmltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ8RGF0ZX0gW21heF0gLSBNYXhpbXVtIHZhbHVlIGZvciBudW1lcmljIG9yIGRhdGUgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWluXSAtIE1pbmltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGF0dGVybl0gLSBSZWdleCBwYXR0ZXJuIGZvciB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3N0ZXBdIC0gU3RlcCB2YWx1ZSBmb3IgbnVtZXJpYyBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZm9ybWF0XSAtIEZvcm1hdCBzdHJpbmcgZm9yIGRhdGUgZmllbGRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2VxdWFsc10gLSBGaWVsZCBtdXN0IGVxdWFsIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RpZmZdIC0gRmllbGQgbXVzdCBkaWZmZXIgZnJvbSB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtsZXNzVGhhbl0gLSBGaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuT3JFcXVhbF0gLSBGaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2dyZWF0ZXJUaGFuXSAtIEZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZFByb3BlcnRpZXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgY2hpbGRPZj86IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvLyBWYWxpZGF0aW9uXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyIHwgRGF0ZTtcbiAgbWluPzogbnVtYmVyIHwgRGF0ZTtcbiAgcGF0dGVybj86IHN0cmluZztcbiAgc3RlcD86IG51bWJlcjtcbiAgZm9ybWF0Pzogc3RyaW5nO1xuICBbVUlLZXlzLkVRVUFMU10/OiBzdHJpbmc7XG4gIFtVSUtleXMuRElGRl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuTEVTU19USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xuICBbVUlLZXlzLkdSRUFURVJfVEhBTl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICB0YWc6IHN0cmluZztcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZXJpYWxpemU/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnMudWkuZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSU1vZGVsTWV0YWRhdGEgPSBPbWl0PFVJRWxlbWVudE1ldGFkYXRhLCBcInNlcmlhbGl6ZVwiPjtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSVByb3BNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJUHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0cmluZ2lmeTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIENydWRPcGVyYXRpb25LZXlzID1cbiAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICB8IE9wZXJhdGlvbktleXMuVVBEQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0UHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhID0ge1xuICBpdGVtOiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIG1hcHBlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuIl19
@@ -1,5 +1,5 @@
1
1
  import { formatDate, parseDate, ReservedModels, } from "@decaf-ts/decorator-validation";
2
- import { HTML5DateFormat, HTML5InputTypes, UIKeys } from "./constants";
2
+ import { HTML5DateFormat, HTML5InputTypes, UIKeys } from "./constants.js";
3
3
  import { findModelId, InternalError } from "@decaf-ts/db-decorators";
4
4
  /**
5
5
  * @function formatByType
@@ -84,4 +84,4 @@ export function generateUIModelID(model) {
84
84
  const name = model.constructor.name;
85
85
  return `${name}-${id}`;
86
86
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHckU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQVMsRUFDVCxLQUFVLEVBQ1YsR0FBRyxJQUFlO0lBRWxCLElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLE1BQU0sR0FBWSxJQUFJLENBQUMsS0FBSyxFQUFhLElBQUksZUFBZSxDQUFDO1FBQ25FLE9BQU8sVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLElBQVksRUFDWixLQUFzQixFQUN0QixVQUEyQjtJQUUzQixJQUFJLE1BQU0sR0FBdUMsU0FBUyxDQUFDO0lBQzNELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLGVBQWUsQ0FBQyxNQUFNO1lBQ3pCLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsTUFBTTtRQUNSLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQXVCLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDckQsTUFBTTtnQkFDSixPQUFPLEtBQUssS0FBSyxjQUFjLENBQUMsTUFBTTtvQkFDcEMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDakIsQ0FBQyxDQUFDLEtBQUs7d0JBQ0wsQ0FBQyxDQUFDLE1BQU07NEJBQ04sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDOzRCQUMxQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO3dCQUNuQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xCLE1BQU07UUFDUixDQUFDO1FBQ0Q7WUFDRSxNQUFNO2dCQUNKLE9BQU8sS0FBSyxLQUFLLGNBQWMsQ0FBQyxNQUFNO29CQUNwQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQWUsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksYUFBYSxDQUNyQixpQ0FBaUMsSUFBSSxTQUFTLE9BQU8sS0FBSyxNQUFNLEtBQUssRUFBRSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQXNCO0lBQ2xELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRTdELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRWxDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWE7SUFDdEMsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUV6QixNQUFNLGFBQWEsR0FBMkI7UUFDNUMsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsTUFBTTtRQUNYLEdBQUcsRUFBRSxNQUFNO0tBQ1osQ0FBQztJQUNGLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDMUMsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYTtJQUN0QyxNQUFNLGFBQWEsR0FBMkI7UUFDNUMsT0FBTyxFQUFFLEdBQUc7UUFDWixNQUFNLEVBQUUsR0FBRztRQUNYLE1BQU0sRUFBRSxHQUFHO0tBQ1osQ0FBQztJQUVGLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNwRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFrQixLQUFRO0lBQ3pELElBQUksRUFBNEIsQ0FBQztJQUNqQyxJQUFJLENBQUM7UUFDSCxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBb0IsQ0FBQztRQUMzQyw2REFBNkQ7SUFDL0QsQ0FBQztJQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7UUFDcEIsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDcEMsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZm9ybWF0RGF0ZSxcbiAgTW9kZWwsXG4gIHBhcnNlRGF0ZSxcbiAgUmVzZXJ2ZWRNb2RlbHMsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEhUTUw1RGF0ZUZvcm1hdCwgSFRNTDVJbnB1dFR5cGVzLCBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGZpbmRNb2RlbElkLCBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBGaWVsZFByb3BlcnRpZXMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBmdW5jdGlvbiBmb3JtYXRCeVR5cGVcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEJ5VHlwZShcbiAgdHlwZTogYW55LFxuICB2YWx1ZTogYW55LFxuICAuLi5hcmdzOiB1bmtub3duW11cbik6IHN0cmluZyB8IG51bWJlciB7XG4gIGlmICh0eXBlID09PSBVSUtleXMuREFURSkge1xuICAgIGNvbnN0IGZvcm1hdDogc3RyaW5nID0gKGFyZ3Muc2hpZnQoKSBhcyBzdHJpbmcpIHx8IEhUTUw1RGF0ZUZvcm1hdDtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShuZXcgRGF0ZSh2YWx1ZSksIGZvcm1hdCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VWYWx1ZUJ5VHlwZShcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuICBmaWVsZFByb3BzOiBGaWVsZFByb3BlcnRpZXNcbik6IHN0cmluZyB8IG51bWJlciB8IERhdGUge1xuICBsZXQgcmVzdWx0OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5OVU1CRVI6XG4gICAgICByZXN1bHQgPSBwYXJzZVRvTnVtYmVyKHZhbHVlKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkRBVEU6IHtcbiAgICAgIGNvbnN0IGZvcm1hdDogc3RyaW5nIHwgdW5kZWZpbmVkID0gZmllbGRQcm9wcy5mb3JtYXQ7XG4gICAgICByZXN1bHQgPVxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFJlc2VydmVkTW9kZWxzLk5VTUJFUlxuICAgICAgICAgID8gbmV3IERhdGUodmFsdWUpXG4gICAgICAgICAgOiB2YWx1ZVxuICAgICAgICAgICAgPyBmb3JtYXRcbiAgICAgICAgICAgICAgPyBwYXJzZURhdGUoZm9ybWF0LCB2YWx1ZSlcbiAgICAgICAgICAgICAgOiBuZXcgRGF0ZSh2YWx1ZSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXN1bHQgPVxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFJlc2VydmVkTW9kZWxzLlNUUklOR1xuICAgICAgICAgID8gZXNjYXBlSHRtbCh2YWx1ZSBhcyBzdHJpbmcpXG4gICAgICAgICAgOiByZXN1bHQ7XG4gIH1cbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBGYWlsZWQgdG8gcGFyc2UgdmFsdWUgb2YgdHlwZSAke3R5cGV9IGZyb20gJHt0eXBlb2YgdmFsdWV9IC0gJHt2YWx1ZX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUb051bWJlcih2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHZhbHVlKSkgcmV0dXJuIHZhbHVlO1xuXG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICghaXNOYU4ocGFyc2VkKSkgcmV0dXJuIHBhcnNlZDtcblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlSHRtbCh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghdmFsdWUpIHJldHVybiB2YWx1ZTtcblxuICBjb25zdCB0YWdzVG9SZXBsYWNlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIFwiJlwiOiBcIiZhbXA7XCIsXG4gICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgIFwiPlwiOiBcIiZndDtcIixcbiAgfTtcbiAgcmV0dXJuIGAke3ZhbHVlfWAucmVwbGFjZSgvWyY8Pl0vZywgKHRhZykgPT4ge1xuICAgIHJldHVybiB0YWdzVG9SZXBsYWNlW3RhZ10gfHwgdGFnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldmVydEh0bWwodmFsdWU6IHN0cmluZykge1xuICBjb25zdCB0YWdzVG9SZXBsYWNlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIFwiJmFtcDtcIjogXCImXCIsXG4gICAgXCImbHQ7XCI6IFwiPFwiLFxuICAgIFwiJmd0O1wiOiBcIj5cIixcbiAgfTtcblxuICByZXR1cm4gYCR7dmFsdWV9YC5yZXBsYWNlKC8mbHQ7fCZndDt8JmFtcDsvZywgKHRhZykgPT4ge1xuICAgIHJldHVybiB0YWdzVG9SZXBsYWNlW3RhZ10gfHwgdGFnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVUlNb2RlbElEPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgbGV0IGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ7XG4gIHRyeSB7XG4gICAgaWQgPSBmaW5kTW9kZWxJZChtb2RlbCkgYXMgc3RyaW5nIHwgbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIGlkID0gRGF0ZS5ub3coKTtcbiAgfVxuICBjb25zdCBuYW1lID0gbW9kZWwuY29uc3RydWN0b3IubmFtZTtcbiAgcmV0dXJuIGAke25hbWV9LSR7aWR9YDtcbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLHVCQUFvQjtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFTLEVBQ1QsS0FBVSxFQUNWLEdBQUcsSUFBZTtJQUVsQixJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQVksSUFBSSxDQUFDLEtBQUssRUFBYSxJQUFJLGVBQWUsQ0FBQztRQUNuRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFZLEVBQ1osS0FBc0IsRUFDdEIsVUFBMkI7SUFFM0IsSUFBSSxNQUFNLEdBQXVDLFNBQVMsQ0FBQztJQUMzRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxlQUFlLENBQUMsTUFBTTtZQUN6QixNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE1BQU07UUFDUixLQUFLLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUF1QixVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3JELE1BQU07Z0JBQ0osT0FBTyxLQUFLLEtBQUssY0FBYyxDQUFDLE1BQU07b0JBQ3BDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxLQUFLO3dCQUNMLENBQUMsQ0FBQyxNQUFNOzRCQUNOLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQzt3QkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsQ0FBQztRQUNEO1lBQ0UsTUFBTTtnQkFDSixPQUFPLEtBQUssS0FBSyxjQUFjLENBQUMsTUFBTTtvQkFDcEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFlLENBQUM7b0JBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsaUNBQWlDLElBQUksU0FBUyxPQUFPLEtBQUssTUFBTSxLQUFLLEVBQUUsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFzQjtJQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU3RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUVsQyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFekIsTUFBTSxhQUFhLEdBQTJCO1FBQzVDLEdBQUcsRUFBRSxPQUFPO1FBQ1osR0FBRyxFQUFFLE1BQU07UUFDWCxHQUFHLEVBQUUsTUFBTTtLQUNaLENBQUM7SUFDRixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzFDLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWE7SUFDdEMsTUFBTSxhQUFhLEdBQTJCO1FBQzVDLE9BQU8sRUFBRSxHQUFHO1FBQ1osTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsR0FBRztLQUNaLENBQUM7SUFFRixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBa0IsS0FBUTtJQUN6RCxJQUFJLEVBQTRCLENBQUM7SUFDakMsSUFBSSxDQUFDO1FBQ0gsRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQW9CLENBQUM7UUFDM0MsNkRBQTZEO0lBQy9ELENBQUM7SUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQ3BDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcm1hdERhdGUsXG4gIE1vZGVsLFxuICBwYXJzZURhdGUsXG4gIFJlc2VydmVkTW9kZWxzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBIVE1MNURhdGVGb3JtYXQsIEhUTUw1SW5wdXRUeXBlcywgVUlLZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBmaW5kTW9kZWxJZCwgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRmllbGRQcm9wZXJ0aWVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZnVuY3Rpb24gZm9ybWF0QnlUeXBlXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRCeVR5cGUoXG4gIHR5cGU6IGFueSxcbiAgdmFsdWU6IGFueSxcbiAgLi4uYXJnczogdW5rbm93bltdXG4pOiBzdHJpbmcgfCBudW1iZXIge1xuICBpZiAodHlwZSA9PT0gVUlLZXlzLkRBVEUpIHtcbiAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyA9IChhcmdzLnNoaWZ0KCkgYXMgc3RyaW5nKSB8fCBIVE1MNURhdGVGb3JtYXQ7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUodmFsdWUpLCBmb3JtYXQpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVmFsdWVCeVR5cGUoXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgZmllbGRQcm9wczogRmllbGRQcm9wZXJ0aWVzXG4pOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuTlVNQkVSOlxuICAgICAgcmVzdWx0ID0gcGFyc2VUb051bWJlcih2YWx1ZSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFOiB7XG4gICAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGZpZWxkUHJvcHMuZm9ybWF0O1xuICAgICAgcmVzdWx0ID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSBSZXNlcnZlZE1vZGVscy5OVU1CRVJcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKVxuICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgICAgID8gZm9ybWF0XG4gICAgICAgICAgICAgID8gcGFyc2VEYXRlKGZvcm1hdCwgdmFsdWUpXG4gICAgICAgICAgICAgIDogbmV3IERhdGUodmFsdWUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSBSZXNlcnZlZE1vZGVscy5TVFJJTkdcbiAgICAgICAgICA/IGVzY2FwZUh0bWwodmFsdWUgYXMgc3RyaW5nKVxuICAgICAgICAgIDogcmVzdWx0O1xuICB9XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIHBhcnNlIHZhbHVlIG9mIHR5cGUgJHt0eXBlfSBmcm9tICR7dHlwZW9mIHZhbHVlfSAtICR7dmFsdWV9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVG9OdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFpc05hTih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcblxuICBjb25zdCBwYXJzZWQgPSBOdW1iZXIodmFsdWUpO1xuICBpZiAoIWlzTmFOKHBhcnNlZCkpIHJldHVybiBwYXJzZWQ7XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWwodmFsdWU6IHN0cmluZykge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdmFsdWU7XG5cbiAgY29uc3QgdGFnc1RvUmVwbGFjZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBcIiZcIjogXCImYW1wO1wiLFxuICAgIFwiPFwiOiBcIiZsdDtcIixcbiAgICBcIj5cIjogXCImZ3Q7XCIsXG4gIH07XG4gIHJldHVybiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1smPD5dL2csICh0YWcpID0+IHtcbiAgICByZXR1cm4gdGFnc1RvUmVwbGFjZVt0YWddIHx8IHRhZztcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXZlcnRIdG1sKHZhbHVlOiBzdHJpbmcpIHtcbiAgY29uc3QgdGFnc1RvUmVwbGFjZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBcIiZhbXA7XCI6IFwiJlwiLFxuICAgIFwiJmx0O1wiOiBcIjxcIixcbiAgICBcIiZndDtcIjogXCI+XCIsXG4gIH07XG5cbiAgcmV0dXJuIGAke3ZhbHVlfWAucmVwbGFjZSgvJmx0O3wmZ3Q7fCZhbXA7L2csICh0YWcpID0+IHtcbiAgICByZXR1cm4gdGFnc1RvUmVwbGFjZVt0YWddIHx8IHRhZztcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVVJTW9kZWxJRDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gIGxldCBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50O1xuICB0cnkge1xuICAgIGlkID0gZmluZE1vZGVsSWQobW9kZWwpIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBpZCA9IERhdGUubm93KCk7XG4gIH1cbiAgY29uc3QgbmFtZSA9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWU7XG4gIHJldHVybiBgJHtuYW1lfS0ke2lkfWA7XG59XG4iXX0=
package/lib/index.cjs CHANGED
@@ -30,5 +30,5 @@ __exportStar(require("./ui/index.cjs"), exports);
30
30
  * @const VERSION
31
31
  * @memberOf module:ui-decorators
32
32
  */
33
- exports.VERSION = "0.5.12";
33
+ exports.VERSION = "0.5.15";
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxvREFBd0I7QUFDeEIsaURBQXFCO0FBRXJCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVUkgZGVjb3JhdG9ycyBtb2R1bGUgZm9yIFR5cGVTY3JpcHQgYXBwbGljYXRpb25zXG4gKiBAc3VtbWFyeSBBIGNvbGxlY3Rpb24gb2YgZGVjb3JhdG9ycyBhbmQgdXRpbGl0aWVzIGZvciBidWlsZGluZyBVSSBjb21wb25lbnRzIGluIFR5cGVTY3JpcHQgYXBwbGljYXRpb25zLlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBmdW5jdGlvbmFsaXR5IGZyb20gYm90aCB0aGUgbW9kZWwgYW5kIFVJIHN1Ym1vZHVsZXMsIHByb3ZpZGluZyBkZWNvcmF0b3JzIGZvclxuICogcmVuZGVyaW5nLCBjb21wb25lbnQgZGVmaW5pdGlvbiwgYW5kIFVJIHN0YXRlIG1hbmFnZW1lbnQuXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnNcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdWlcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3VycmVudCBwYWNrYWdlIHZlcnNpb24gc3RyaW5nXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uIGZvciByZWZlcmVuY2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -13,4 +13,4 @@ export * from "./ui";
13
13
  * @const VERSION
14
14
  * @memberOf module:ui-decorators
15
15
  */
16
- export declare const VERSION = "0.5.12";
16
+ export declare const VERSION = "0.5.15";
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsRXJyb3JEZWZpbml0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQnVpbGRlclJlZ2lzdHJ5LFxuICBDb21wYXJhYmxlLFxuICBDb25zdHJ1Y3RvcixcbiAgSGFzaGFibGUsXG4gIE1vZGVsQXJnLFxuICBNb2RlbEJ1aWxkZXJGdW5jdGlvbixcbiAgTW9kZWxDb25zdHJ1Y3RvcixcbiAgU2VyaWFsaXphYmxlLFxuICBWYWxpZGF0YWJsZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgUmVuZGVyYWJsZSB9IGZyb20gXCIuL1JlbmRlcmFibGVcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIE1vZGVsXG4gICAgaW1wbGVtZW50c1xuICAgICAgVmFsaWRhdGFibGUsXG4gICAgICBTZXJpYWxpemFibGUsXG4gICAgICBIYXNoYWJsZSxcbiAgICAgIENvbXBhcmFibGU8TW9kZWw+LFxuICAgICAgUmVuZGVyYWJsZVxuICB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGFyZz86IE1vZGVsQXJnPE1vZGVsPik7XG5cbiAgICBoYXNFcnJvcnMoLi4uZXhjbHVzaW9uczogYW55W10pOiBNb2RlbEVycm9yRGVmaW5pdGlvbiB8IHVuZGVmaW5lZDtcbiAgICBoYXNFcnJvcnMoXG4gICAgICBwcmV2aW91c1ZlcnNpb24/OiBNb2RlbCB8IGFueSxcbiAgICAgIC4uLmV4Y2x1c2lvbnM6IGFueVtdXG4gICAgKTogTW9kZWxFcnJvckRlZmluaXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcGFyZXMgdGhpcyBtb2RlbCB3aXRoIGFub3RoZXIgb2JqZWN0IGZvciBlcXVhbGl0eVxuICAgICAqIEBzdW1tYXJ5IENvbXBhcmUgb2JqZWN0IGVxdWFsaXR5IHJlY3Vyc2l2ZWx5LCBjaGVja2luZyBhbGwgcHJvcGVydGllc1xuICAgICAqIEBwYXJhbSB7YW55fSBvYmogLSBPYmplY3QgdG8gY29tcGFyZSB0b1xuICAgICAqIEBwYXJhbSB7Li4uc3RyaW5nfSBleGNlcHRpb25zIC0gUHJvcGVydHkgbmFtZXMgdG8gYmUgZXhjbHVkZWQgZnJvbSB0aGUgY29tcGFyaXNvblxuICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgb2JqZWN0cyBhcmUgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGVxdWFscyhvYmo6IGFueSwgLi4uZXhjZXB0aW9uczogc3RyaW5nW10pOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIHRoZSBtb2RlbCB0byBhIHNlcmlhbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyB0aGUgc2VyaWFsaXplZCBtb2RlbCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnRseSBkZWZpbmVkIHtAbGluayBTZXJpYWxpemVyfVxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gU2VyaWFsaXplZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbW9kZWxcbiAgICAgKi9cbiAgICBzZXJpYWxpemUoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb2RlbFxuICAgICAqIEBzdW1tYXJ5IE92ZXJyaWRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgSmF2YVNjcmlwdCdzIGRlZmF1bHQgdG9TdHJpbmcoKSBtZXRob2RcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbW9kZWxcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICB0b1N0cmluZygpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGEgaGFzaCBjb2RlIGZvciB0aGUgbW9kZWxcbiAgICAgKiBAc3VtbWFyeSBEZWZpbmVzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3Igb2JqZWN0IGhhc2ggYmFzZWQgb24gSmF2YSdzIHN0cmluZyBoYXNoIGFsZ29yaXRobVxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gSGFzaCBjb2RlIGZvciB0aGUgbW9kZWxcbiAgICAgKi9cbiAgICBoYXNoKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyBhIHNlcmlhbGl6ZWQgc3RyaW5nIGJhY2sgdG8gYSBtb2RlbCBpbnN0YW5jZVxuICAgICAqIEBzdW1tYXJ5IERlc2VyaWFsaXplcyBhIE1vZGVsIGZyb20gaXRzIHN0cmluZyByZXByZXNlbnRhdGlvblxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgLSBUaGUgc2VyaWFsaXplZCBzdHJpbmcgdG8gZGVzZXJpYWxpemVcbiAgICAgKiBAcmV0dXJuIHthbnl9IFRoZSBkZXNlcmlhbGl6ZWQgbW9kZWwgaW5zdGFuY2VcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgaWYgaXQgZmFpbHMgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAgICovXG4gICAgc3RhdGljIGRlc2VyaWFsaXplKHN0cjogc3RyaW5nKTogYW55O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEl0ZXJhdGVzIGFsbCBjb21tb24gcHJvcGVydGllcyBvZiBvYmogKGlmIGV4aXN0aW5nKSBhbmQgc2VsZiwgYW5kIGNvcGllcyB0aGVtIG9udG8gc2VsZlxuICAgICAqIEBzdW1tYXJ5IFJlcG9wdWxhdGVzIHRoZSBPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBvbmVzIGZyb20gdGhlIG5ldyBvYmplY3RcbiAgICAgKiBAdGVtcGxhdGUgVCAtIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAgICogQHBhcmFtIHtUfSBzZWxmIC0gVGhlIHRhcmdldCBtb2RlbCBpbnN0YW5jZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0ge1R8UmVjb3JkPHN0cmluZywgYW55Pn0gW29ial0gLSBUaGUgc291cmNlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbVxuICAgICAqIEByZXR1cm4ge1R9IFRoZSB1cGRhdGVkIG1vZGVsIGluc3RhbmNlXG4gICAgICovXG4gICAgc3RhdGljIGZyb21PYmplY3Q8VCBleHRlbmRzIE1vZGVsPihcbiAgICAgIHNlbGY6IFQsXG4gICAgICBvYmo/OiBUIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgICk6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSXRlcmF0ZXMgYWxsIGNvbW1vbiBwcm9wZXJ0aWVzIG9mIG9iaiAoaWYgZXhpc3RpbmcpIGFuZCBzZWxmLCBhbmQgY29waWVzIHRoZW0gb250byBzZWxmLiBJcyBhd2FyZSBvZiBuZXN0ZWQgTW9kZWwgT2JqZWN0cyBhbmQgcmVidWlsZHMgdGhlbSBhbHNvLiBXaGVuIExpc3QgcHJvcGVydGllcyBhcmUgZGVjb3JhdGVkIHdpdGgge0BsaW5rIGxpc3R9LCB0aGUgbGlzdCBpdGVtcyB3aWxsIGFsc28gYmUgcmVidWlsdFxuICAgICAqIEBzdW1tYXJ5IFJlcG9wdWxhdGVzIHRoZSBpbnN0YW5jZSB3aXRoIHByb3BlcnRpZXMgZnJvbSB0aGUgbmV3IE1vZGVsIE9iamVjdCwgaGFuZGxpbmcgbmVzdGVkIG1vZGVsc1xuICAgICAqIEB0ZW1wbGF0ZSBUIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICAgKiBAcGFyYW0ge1R9IHNlbGYgLSBUaGUgdGFyZ2V0IG1vZGVsIGluc3RhbmNlIHRvIHVwZGF0ZVxuICAgICAqIEBwYXJhbSB7VHxSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb2JqXSAtIFRoZSBzb3VyY2UgbW9kZWwgb3Igb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tXG4gICAgICogQHJldHVybiB7VH0gVGhlIHVwZGF0ZWQgbW9kZWwgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbU1vZGVsPFQgZXh0ZW5kcyBNb2RlbD4oXG4gICAgICBzZWxmOiBULFxuICAgICAgb2JqPzogVCB8IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICApOiBUO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyZXMgdGhlIGdsb2JhbCBtb2RlbCBidWlsZGVyIGZ1bmN0aW9uIHVzZWQgZm9yIGNyZWF0aW5nIG1vZGVsIGluc3RhbmNlc1xuICAgICAqIEBzdW1tYXJ5IFNldHMgdGhlIEdsb2JhbCB7QGxpbmsgTW9kZWxCdWlsZGVyRnVuY3Rpb259IHVzZWQgZm9yIG1vZGVsIGNvbnN0cnVjdGlvblxuICAgICAqIEBwYXJhbSB7TW9kZWxCdWlsZGVyRnVuY3Rpb259IFtidWlsZGVyXSAtIFRoZSBidWlsZGVyIGZ1bmN0aW9uIHRvIHNldCwgb3IgdW5kZWZpbmVkIHRvIHJlc2V0XG4gICAgICogQHJldHVybiB7dm9pZH1cbiAgICAgKi9cbiAgICBzdGF0aWMgc2V0QnVpbGRlcihidWlsZGVyPzogTW9kZWxCdWlsZGVyRnVuY3Rpb24pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHVybnMgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGdsb2JhbCBtb2RlbCBidWlsZGVyIGZ1bmN0aW9uXG4gICAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBjdXJyZW50IGdsb2JhbCB7QGxpbmsgTW9kZWxCdWlsZGVyRnVuY3Rpb259IHVzZWQgZm9yIG1vZGVsIGNvbnN0cnVjdGlvblxuICAgICAqIEByZXR1cm4ge01vZGVsQnVpbGRlckZ1bmN0aW9ufHVuZGVmaW5lZH0gVGhlIGN1cnJlbnQgYnVpbGRlciBmdW5jdGlvbiBvciB1bmRlZmluZWQgaWYgbm90IHNldFxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRCdWlsZGVyKCk6IE1vZGVsQnVpbGRlckZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyB0aGUgY3VycmVudCBtb2RlbCByZWdpc3RyeSBpbnN0YW5jZVxuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGN1cnJlbnQge0BsaW5rIE1vZGVsUmVnaXN0cnlNYW5hZ2VyfSB1c2VkIGZvciBtb2RlbCByZWdpc3RyYXRpb25cbiAgICAgKiBAcmV0dXJuIHtCdWlsZGVyUmVnaXN0cnk8YW55Pn0gTW9kZWxSZWdpc3RyeSBpbnN0YW5jZSwgZGVmYXVsdHMgdG8ge0BsaW5rIE1vZGVsUmVnaXN0cnlNYW5hZ2VyfVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0UmVnaXN0cnk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgbW9kZWwgcmVnaXN0cnkgdG8gYmUgdXNlZCBmb3IgbW9kZWwgcmVnaXN0cmF0aW9uIGFuZCByZXRyaWV2YWxcbiAgICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBjdXJyZW50IG1vZGVsIHJlZ2lzdHJ5IGltcGxlbWVudGF0aW9uXG4gICAgICogQHBhcmFtIHtCdWlsZGVyUmVnaXN0cnk8YW55Pn0gbW9kZWxSZWdpc3RyeSAtIFRoZSBuZXcgaW1wbGVtZW50YXRpb24gb2YgUmVnaXN0cnkgdG8gdXNlXG4gICAgICogQHJldHVybiB7dm9pZH1cbiAgICAgKi9cbiAgICBzdGF0aWMgc2V0UmVnaXN0cnkobW9kZWxSZWdpc3RyeTogQnVpbGRlclJlZ2lzdHJ5PGFueT4pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhIG1vZGVsIGNvbnN0cnVjdG9yIHdpdGggdGhlIG1vZGVsIHJlZ2lzdHJ5XG4gICAgICogQHN1bW1hcnkgUmVnaXN0ZXJzIG5ldyBNb2RlbHMgZm9yIGxhdGVyIHJldHJpZXZhbCBhbmQgaW5zdGFudGlhdGlvblxuICAgICAqIEB0ZW1wbGF0ZSBUIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICAgKiBAcGFyYW0ge01vZGVsQ29uc3RydWN0b3I8VD59IGNvbnN0cnVjdG9yIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yIHRvIHJlZ2lzdGVyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtuYW1lXSAtIE9wdGlvbmFsIG5hbWUgZm9yIHJlZ2lzdHJhdGlvbiwgZGVmYXVsdHMgdG8gY29uc3RydWN0b3IgbmFtZVxuICAgICAqIEByZXR1cm4ge3ZvaWR9XG4gICAgICogQHNlZSBNb2RlbFJlZ2lzdHJ5XG4gICAgICovXG4gICAgc3RhdGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBNb2RlbD4oXG4gICAgICBjb25zdHJ1Y3RvcjogTW9kZWxDb25zdHJ1Y3RvcjxUPixcbiAgICAgIG5hbWU/OiBzdHJpbmdcbiAgICApOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBtb2RlbCBjb25zdHJ1Y3RvciBieSBuYW1lXG4gICAgICogQHN1bW1hcnkgR2V0cyBhIHJlZ2lzdGVyZWQgTW9kZWwge0BsaW5rIE1vZGVsQ29uc3RydWN0b3J9IGZyb20gdGhlIHJlZ2lzdHJ5XG4gICAgICogQHRlbXBsYXRlIFQgLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIG1vZGVsIHRvIHJldHJpZXZlXG4gICAgICogQHJldHVybiB7TW9kZWxDb25zdHJ1Y3RvcjxUPnx1bmRlZmluZWR9IFRoZSBtb2RlbCBjb25zdHJ1Y3RvciBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gICAgICogQHNlZSBNb2RlbFJlZ2lzdHJ5XG4gICAgICovXG4gICAgc3RhdGljIGdldDxUIGV4dGVuZHMgTW9kZWw+KG5hbWU6IHN0cmluZyk6IE1vZGVsQ29uc3RydWN0b3I8VD4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBtb2RlbCBpbnN0YW5jZSBmcm9tIGEgcGxhaW4gb2JqZWN0XG4gICAgICogQHN1bW1hcnkgQnVpbGRzIGEgbW9kZWwgaW5zdGFuY2UgdXNpbmcgdGhlIHJlZ2lzdGVyZWQgY29uc3RydWN0b3JcbiAgICAgKiBAdGVtcGxhdGUgVCAtIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb2JqXSAtIFRoZSBzb3VyY2Ugb2JqZWN0IHRvIGJ1aWxkIGZyb21cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NsYXp6XSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gZmluZCB0aGUgbWF0Y2hpbmcgY29uc3RydWN0b3JcbiAgICAgKiBAcmV0dXJuIHtUfSBUaGUgYnVpbHQgbW9kZWwgaW5zdGFuY2VcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgY2xhenogaXMgbm90IGZvdW5kLCBvciBvYmogaXMgbm90IGEge0BsaW5rIE1vZGVsfSBtZWFuaW5nIGl0IGhhcyBubyB7QGxpbmsgTW9kZWxLZXlzLkFOQ0hPUn0gcHJvcGVydHlcbiAgICAgKiBAc2VlIE1vZGVsUmVnaXN0cnlcbiAgICAgKi9cbiAgICBzdGF0aWMgYnVpbGQ8VCBleHRlbmRzIE1vZGVsPihvYmo/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBjbGF6ej86IHN0cmluZyk6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIG1vZGVsIGluc3RhbmNlXG4gICAgICogQHN1bW1hcnkgR2V0cyB0aGUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gYSBtb2RlbFxuICAgICAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICAgKiBAcGFyYW0ge1Z9IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIHRvIGdldCBtZXRhZGF0YSBmcm9tXG4gICAgICogQHJldHVybiB7YW55fSBUaGUgbW9kZWwncyBtZXRhZGF0YVxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRhZGF0YTxWIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBWKTogYW55O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyBhbGwgYXR0cmlidXRlIG5hbWVzIGRlZmluZWQgb24gYSBtb2RlbFxuICAgICAqIEBzdW1tYXJ5IEdldHMgdGhlIGxpc3Qgb2YgYXR0cmlidXRlcyBmb3IgYSBtb2RlbCBjbGFzcyBvciBpbnN0YW5jZVxuICAgICAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICAgKiBAcGFyYW0geyhDb25zdHJ1Y3RvcjxWPnxWKX0gbW9kZWwgLSBUaGUgbW9kZWwgY29uc3RydWN0b3Igb3IgaW5zdGFuY2VcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gQXJyYXkgb2YgYXR0cmlidXRlIG5hbWVzXG4gICAgICovXG4gICAgc3RhdGljIGdldEF0dHJpYnV0ZXM8ViBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8Vj4gfCBWKTogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcGFyZXMgdHdvIG1vZGVsIGluc3RhbmNlcyBmb3IgZXF1YWxpdHlcbiAgICAgKiBAc3VtbWFyeSBTdGF0aWMgbWV0aG9kIHRvIGNoZWNrIGlmIHR3byBtb2RlbCBpbnN0YW5jZXMgYXJlIGVxdWFsXG4gICAgICogQHRlbXBsYXRlIE0gLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgICAqIEBwYXJhbSB7TX0gb2JqMSAtIEZpcnN0IG1vZGVsIGluc3RhbmNlIHRvIGNvbXBhcmVcbiAgICAgKiBAcGFyYW0ge019IG9iajIgLSBTZWNvbmQgbW9kZWwgaW5zdGFuY2UgdG8gY29tcGFyZVxuICAgICAqIEBwYXJhbSB7YW55W119IGV4Y2VwdGlvbnMgLSBQcm9wZXJ0aWVzIHRvIGV4Y2x1ZGUgZnJvbSBjb21wYXJpc29uXG4gICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBtb2RlbHMgYXJlIGVxdWFsLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBzdGF0aWMgZXF1YWxzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgICBvYmoxOiBNLFxuICAgICAgb2JqMjogTSxcbiAgICAgIC4uLmV4Y2VwdGlvbnM6IGFueVtdXG4gICAgKTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgYSBtb2RlbCBhbmQgY2hlY2tzIGZvciBlcnJvcnNcbiAgICAgKiBAc3VtbWFyeSBTdGF0aWMgbWV0aG9kIHRvIHZhbGlkYXRlIGEgbW9kZWwgaW5zdGFuY2VcbiAgICAgKiBAdGVtcGxhdGUgTSAtIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZSB0byB2YWxpZGF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHByb3BzVG9JZ25vcmUgLSBQcm9wZXJ0aWVzIHRvIGV4Y2x1ZGUgZnJvbSB2YWxpZGF0aW9uXG4gICAgICogQHJldHVybiB7TW9kZWxFcnJvckRlZmluaXRpb258dW5kZWZpbmVkfSBFcnJvciBkZWZpbml0aW9uIGlmIHZhbGlkYXRpb24gZmFpbHMsIHVuZGVmaW5lZCBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBzdGF0aWMgaGFzRXJyb3JzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgICBtb2RlbDogTSxcbiAgICAgIC4uLnByb3BzVG9JZ25vcmU6IHN0cmluZ1tdXG4gICAgKTogTW9kZWxFcnJvckRlZmluaXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU2VyaWFsaXplcyBhIG1vZGVsIGluc3RhbmNlIHRvIGEgc3RyaW5nXG4gICAgICogQHN1bW1hcnkgU3RhdGljIG1ldGhvZCB0byBjb252ZXJ0IGEgbW9kZWwgdG8gaXRzIHNlcmlhbGl6ZWQgZm9ybVxuICAgICAqIEB0ZW1wbGF0ZSBNIC0gVHlwZSBleHRlbmRpbmcgTW9kZWxcbiAgICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIHRvIHNlcmlhbGl6ZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHNlcmlhbGl6ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIG1vZGVsXG4gICAgICovXG4gICAgc3RhdGljIHNlcmlhbGl6ZTxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKTogYW55O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEdlbmVyYXRlcyBhIGhhc2ggY29kZSBmb3IgYSBtb2RlbCBpbnN0YW5jZVxuICAgICAqIEBzdW1tYXJ5IFN0YXRpYyBtZXRob2QgdG8gY3JlYXRlIGEgaGFzaCBjb2RlIGZvciBhIG1vZGVsXG4gICAgICogQHRlbXBsYXRlIE0gLSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgICAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2UgdG8gaGFzaFxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGhhc2ggY29kZSBmb3IgdGhlIG1vZGVsXG4gICAgICovXG4gICAgc3RhdGljIGhhc2g8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogTSk6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgYSBtZXRhZGF0YSBrZXkgZm9yIHJlZmxlY3Rpb25cbiAgICAgKiBAc3VtbWFyeSBDb25jYXRlbmF0ZXMgdGhlIG1vZGVsIHJlZmxlY3Rpb24gcHJlZml4IHdpdGggdGhlIHByb3ZpZGVkIGtleSBzdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyIC0gVGhlIGtleSBzdHJpbmcgdG8gYXBwZW5kIHRvIHRoZSByZWZsZWN0aW9uIHByZWZpeFxuICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGNvbXBsZXRlIG1ldGFkYXRhIGtleVxuICAgICAqL1xuICAgIHN0YXRpYyBrZXkoc3RyOiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyBpZiBhbiBvYmplY3QgaXMgYSBtb2RlbCBpbnN0YW5jZSBvciBoYXMgbW9kZWwgbWV0YWRhdGFcbiAgICAgKiBAc3VtbWFyeSBDaGVja3Mgd2hldGhlciBhIGdpdmVuIG9iamVjdCBpcyBlaXRoZXIgYW4gaW5zdGFuY2Ugb2YgdGhlIE1vZGVsIGNsYXNzIG9yXG4gICAgICogaGFzIG1vZGVsIG1ldGFkYXRhIGF0dGFjaGVkIHRvIGl0LiBUaGlzIGZ1bmN0aW9uIGlzIGVzc2VudGlhbCBmb3Igc2VyaWFsaXphdGlvbiBhbmRcbiAgICAgKiBkZXNlcmlhbGl6YXRpb24gcHJvY2Vzc2VzLCBhcyBpdCBoZWxwcyBpZGVudGlmeSBtb2RlbCBvYmplY3RzIHRoYXQgbmVlZCBzcGVjaWFsIGhhbmRsaW5nLlxuICAgICAqIEl0IHNhZmVseSBoYW5kbGVzIHBvdGVudGlhbCBlcnJvcnMgZHVyaW5nIG1ldGFkYXRhIHJldHJpZXZhbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gdGFyZ2V0IC0gVGhlIG9iamVjdCB0byBjaGVja1xuICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIG9iamVjdCBpcyBhIG1vZGVsIGluc3RhbmNlIG9yIGhhcyBtb2RlbCBtZXRhZGF0YSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBDaGVjayBpZiBhbiBvYmplY3QgaXMgYSBtb2RlbFxuICAgICAqIGNvbnN0IHVzZXIgPSBuZXcgVXNlcih7IG5hbWU6IFwiSm9oblwiIH0pO1xuICAgICAqIGNvbnN0IGlzVXNlck1vZGVsID0gaXNNb2RlbCh1c2VyKTsgLy8gdHJ1ZVxuICAgICAqXG4gICAgICogLy8gQ2hlY2sgYSBwbGFpbiBvYmplY3RcbiAgICAgKiBjb25zdCBwbGFpbk9iamVjdCA9IHsgbmFtZTogXCJKb2huXCIgfTtcbiAgICAgKiBjb25zdCBpc1BsYWluT2JqZWN0TW9kZWwgPSBpc01vZGVsKHBsYWluT2JqZWN0KTsgLy8gZmFsc2VcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNNb2RlbCh0YXJnZXQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhIHByb3BlcnR5IG9mIGEgbW9kZWwgaXMgaXRzZWxmIGEgbW9kZWwgb3IgaGFzIGEgbW9kZWwgdHlwZVxuICAgICAqIEBzdW1tYXJ5IERldGVybWluZXMgd2hldGhlciBhIHNwZWNpZmljIHByb3BlcnR5IG9mIGEgbW9kZWwgaW5zdGFuY2UgaXMgZWl0aGVyIGEgbW9kZWwgaW5zdGFuY2VcbiAgICAgKiBvciBoYXMgYSB0eXBlIHRoYXQgaXMgcmVnaXN0ZXJlZCBhcyBhIG1vZGVsLiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIG1vZGVsIHNlcmlhbGl6YXRpb25cbiAgICAgKiBhbmQgZGVzZXJpYWxpemF0aW9uIHRvIHByb3Blcmx5IGhhbmRsZSBuZXN0ZWQgbW9kZWxzLlxuICAgICAqIEB0ZW1wbGF0ZSBNIGV4dGVuZHMge0BsaW5rIE1vZGVsfVxuICAgICAqIEBwYXJhbSB7TX0gdGFyZ2V0IC0gVGhlIG1vZGVsIGluc3RhbmNlIHRvIGNoZWNrXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIGNoZWNrXG4gICAgICogQHJldHVybiB7Ym9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZH0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBpcyBhIG1vZGVsIGluc3RhbmNlLFxuICAgICAqIHRoZSBtb2RlbCBuYW1lIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBtb2RlbCB0eXBlLCBvciB1bmRlZmluZWQgaWYgbm90IGEgbW9kZWxcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNQcm9wZXJ0eU1vZGVsPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgICB0YXJnZXQ6IE0sXG4gICAgICBhdHRyaWJ1dGU6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGEgcHJvcGVydHkgb2YgYSBtb2RlbCBpcyBpdHNlbGYgYSBtb2RlbCBvciBoYXMgYSBtb2RlbCB0eXBlXG4gICAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB3aGV0aGVyIGEgc3BlY2lmaWMgcHJvcGVydHkgb2YgYSBtb2RlbCBpbnN0YW5jZSBpcyBlaXRoZXIgYSBtb2RlbCBpbnN0YW5jZVxuICAgICAqIG9yIGhhcyBhIHR5cGUgdGhhdCBpcyByZWdpc3RlcmVkIGFzIGEgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3IgbW9kZWwgc2VyaWFsaXphdGlvblxuICAgICAqIGFuZCBkZXNlcmlhbGl6YXRpb24gdG8gcHJvcGVybHkgaGFuZGxlIG5lc3RlZCBtb2RlbHMuXG4gICAgICogQHRlbXBsYXRlIFIgdGhlIGV4cGVjdGVkIFVJIGNvZGUgYWNjb3JkaW5nIHRvIGVhY2ggcmVuZGVyaW5nIGVuZ2luZVxuICAgICAqIEBwYXJhbSB7YW55W119IGFyZ3MgLSBvcHRpb25hbCBlbmdpbmUgc3BlY2lmaWMgYXJnc1xuICAgICAqL1xuICAgIHJlbmRlcjxSPiguLi5hcmdzOiBhbnlbXSk6IFI7XG4gIH1cbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmFibGUgfSBmcm9tIFwiLi9SZW5kZXJhYmxlXCI7XG5cbmRlY2xhcmUgbW9kdWxlIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCIge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgZGVjbGFyZSBpbnRlcmZhY2UgTW9kZWwgZXh0ZW5kcyBSZW5kZXJhYmxlIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGEgcHJvcGVydHkgb2YgYSBtb2RlbCBpcyBpdHNlbGYgYSBtb2RlbCBvciBoYXMgYSBtb2RlbCB0eXBlXG4gICAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB3aGV0aGVyIGEgc3BlY2lmaWMgcHJvcGVydHkgb2YgYSBtb2RlbCBpbnN0YW5jZSBpcyBlaXRoZXIgYSBtb2RlbCBpbnN0YW5jZVxuICAgICAqIG9yIGhhcyBhIHR5cGUgdGhhdCBpcyByZWdpc3RlcmVkIGFzIGEgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3IgbW9kZWwgc2VyaWFsaXphdGlvblxuICAgICAqIGFuZCBkZXNlcmlhbGl6YXRpb24gdG8gcHJvcGVybHkgaGFuZGxlIG5lc3RlZCBtb2RlbHMuXG4gICAgICogQHRlbXBsYXRlIFIgdGhlIGV4cGVjdGVkIFVJIGNvZGUgYWNjb3JkaW5nIHRvIGVhY2ggcmVuZGVyaW5nIGVuZ2luZVxuICAgICAqIEBwYXJhbSB7YW55W119IGFyZ3MgLSBvcHRpb25hbCBlbmdpbmUgc3BlY2lmaWMgYXJnc1xuICAgICAqL1xuICAgIHJlbmRlcjxSPiguLi5hcmdzOiBhbnlbXSk6IFI7XG4gIH1cbn1cbiJdfQ==
@@ -1,213 +1,6 @@
1
- import { ModelErrorDefinition } from "@decaf-ts/decorator-validation";
2
- import { BuilderRegistry, Comparable, Constructor, Hashable, ModelArg, ModelBuilderFunction, ModelConstructor, Serializable, Validatable } from "@decaf-ts/decorator-validation";
3
1
  import { Renderable } from "./Renderable";
4
2
  declare module "@decaf-ts/decorator-validation" {
5
- abstract class Model implements Validatable, Serializable, Hashable, Comparable<Model>, Renderable {
6
- protected constructor(arg?: ModelArg<Model>);
7
- hasErrors(...exclusions: any[]): ModelErrorDefinition | undefined;
8
- hasErrors(previousVersion?: Model | any, ...exclusions: any[]): ModelErrorDefinition | undefined;
9
- /**
10
- * @description Compares this model with another object for equality
11
- * @summary Compare object equality recursively, checking all properties
12
- * @param {any} obj - Object to compare to
13
- * @param {...string} exceptions - Property names to be excluded from the comparison
14
- * @return {boolean} True if objects are equal, false otherwise
15
- */
16
- equals(obj: any, ...exceptions: string[]): boolean;
17
- /**
18
- * @description Converts the model to a serialized string representation
19
- * @summary Returns the serialized model according to the currently defined {@link Serializer}
20
- * @return {string} Serialized representation of the model
21
- */
22
- serialize(): string;
23
- /**
24
- * @description Provides a string representation of the model
25
- * @summary Override the implementation for JavaScript's default toString() method
26
- * @return {string} String representation of the model
27
- * @override
28
- */
29
- toString(): string;
30
- /**
31
- * @description Generates a hash code for the model
32
- * @summary Defines a default implementation for object hash based on Java's string hash algorithm
33
- * @return {string} Hash code for the model
34
- */
35
- hash(): string;
36
- /**
37
- * @description Converts a serialized string back to a model instance
38
- * @summary Deserializes a Model from its string representation
39
- * @param {string} str - The serialized string to deserialize
40
- * @return {any} The deserialized model instance
41
- * @throws {Error} If it fails to parse the string, or if it fails to build the model
42
- */
43
- static deserialize(str: string): any;
44
- /**
45
- * @description Iterates all common properties of obj (if existing) and self, and copies them onto self
46
- * @summary Repopulates the Object properties with the ones from the new object
47
- * @template T - Type extending Model
48
- * @param {T} self - The target model instance to update
49
- * @param {T|Record<string, any>} [obj] - The source object to copy properties from
50
- * @return {T} The updated model instance
51
- */
52
- static fromObject<T extends Model>(self: T, obj?: T | Record<string, any>): T;
53
- /**
54
- * @description Iterates all common properties of obj (if existing) and self, and copies them onto self. Is aware of nested Model Objects and rebuilds them also. When List properties are decorated with {@link list}, the list items will also be rebuilt
55
- * @summary Repopulates the instance with properties from the new Model Object, handling nested models
56
- * @template T - Type extending Model
57
- * @param {T} self - The target model instance to update
58
- * @param {T|Record<string, any>} [obj] - The source model or object to copy properties from
59
- * @return {T} The updated model instance
60
- */
61
- static fromModel<T extends Model>(self: T, obj?: T | Record<string, any>): T;
62
- /**
63
- * @description Configures the global model builder function used for creating model instances
64
- * @summary Sets the Global {@link ModelBuilderFunction} used for model construction
65
- * @param {ModelBuilderFunction} [builder] - The builder function to set, or undefined to reset
66
- * @return {void}
67
- */
68
- static setBuilder(builder?: ModelBuilderFunction): void;
69
- /**
70
- * @description Returns the currently configured global model builder function
71
- * @summary Retrieves the current global {@link ModelBuilderFunction} used for model construction
72
- * @return {ModelBuilderFunction|undefined} The current builder function or undefined if not set
73
- */
74
- static getBuilder(): ModelBuilderFunction | undefined;
75
- /**
76
- * @description Retrieves the current model registry instance
77
- * @summary Returns the current {@link ModelRegistryManager} used for model registration
78
- * @return {BuilderRegistry<any>} ModelRegistry instance, defaults to {@link ModelRegistryManager}
79
- * @private
80
- */
81
- private static getRegistry;
82
- /**
83
- * @description Sets the model registry to be used for model registration and retrieval
84
- * @summary Configures the current model registry implementation
85
- * @param {BuilderRegistry<any>} modelRegistry - The new implementation of Registry to use
86
- * @return {void}
87
- */
88
- static setRegistry(modelRegistry: BuilderRegistry<any>): void;
89
- /**
90
- * @description Registers a model constructor with the model registry
91
- * @summary Registers new Models for later retrieval and instantiation
92
- * @template T - Type extending Model
93
- * @param {ModelConstructor<T>} constructor - The model constructor to register
94
- * @param {string} [name] - Optional name for registration, defaults to constructor name
95
- * @return {void}
96
- * @see ModelRegistry
97
- */
98
- static register<T extends Model>(constructor: ModelConstructor<T>, name?: string): void;
99
- /**
100
- * @description Retrieves a previously registered model constructor by name
101
- * @summary Gets a registered Model {@link ModelConstructor} from the registry
102
- * @template T - Type extending Model
103
- * @param {string} name - The name of the model to retrieve
104
- * @return {ModelConstructor<T>|undefined} The model constructor or undefined if not found
105
- * @see ModelRegistry
106
- */
107
- static get<T extends Model>(name: string): ModelConstructor<T> | undefined;
108
- /**
109
- * @description Creates a new model instance from a plain object
110
- * @summary Builds a model instance using the registered constructor
111
- * @template T - Type extending Model
112
- * @param {Record<string, any>} [obj] - The source object to build from
113
- * @param {string} [clazz] - Optional class name to find the matching constructor
114
- * @return {T} The built model instance
115
- * @throws {Error} If clazz is not found, or obj is not a {@link Model} meaning it has no {@link ModelKeys.ANCHOR} property
116
- * @see ModelRegistry
117
- */
118
- static build<T extends Model>(obj?: Record<string, any>, clazz?: string): T;
119
- /**
120
- * @description Retrieves metadata associated with a model instance
121
- * @summary Gets the metadata attached to a model
122
- * @template V - Type extending Model
123
- * @param {V} model - The model instance to get metadata from
124
- * @return {any} The model's metadata
125
- */
126
- static getMetadata<V extends Model>(model: V): any;
127
- /**
128
- * @description Retrieves all attribute names defined on a model
129
- * @summary Gets the list of attributes for a model class or instance
130
- * @template V - Type extending Model
131
- * @param {(Constructor<V>|V)} model - The model constructor or instance
132
- * @return {string[]} Array of attribute names
133
- */
134
- static getAttributes<V extends Model>(model: Constructor<V> | V): string[];
135
- /**
136
- * @description Compares two model instances for equality
137
- * @summary Static method to check if two model instances are equal
138
- * @template M - Type extending Model
139
- * @param {M} obj1 - First model instance to compare
140
- * @param {M} obj2 - Second model instance to compare
141
- * @param {any[]} exceptions - Properties to exclude from comparison
142
- * @return {boolean} True if models are equal, false otherwise
143
- */
144
- static equals<M extends Model>(obj1: M, obj2: M, ...exceptions: any[]): boolean;
145
- /**
146
- * @description Validates a model and checks for errors
147
- * @summary Static method to validate a model instance
148
- * @template M - Type extending Model
149
- * @param {M} model - The model instance to validate
150
- * @param {string[]} propsToIgnore - Properties to exclude from validation
151
- * @return {ModelErrorDefinition|undefined} Error definition if validation fails, undefined otherwise
152
- */
153
- static hasErrors<M extends Model>(model: M, ...propsToIgnore: string[]): ModelErrorDefinition | undefined;
154
- /**
155
- * @description Serializes a model instance to a string
156
- * @summary Static method to convert a model to its serialized form
157
- * @template M - Type extending Model
158
- * @param {M} model - The model instance to serialize
159
- * @return {string} The serialized representation of the model
160
- */
161
- static serialize<M extends Model>(model: M): any;
162
- /**
163
- * @description Generates a hash code for a model instance
164
- * @summary Static method to create a hash code for a model
165
- * @template M - Type extending Model
166
- * @param {M} model - The model instance to hash
167
- * @return {string} The hash code for the model
168
- */
169
- static hash<M extends Model>(model: M): any;
170
- /**
171
- * @description Builds a metadata key for reflection
172
- * @summary Concatenates the model reflection prefix with the provided key string
173
- * @param {string} str - The key string to append to the reflection prefix
174
- * @return {string} The complete metadata key
175
- */
176
- static key(str: string): string;
177
- /**
178
- * @description Determines if an object is a model instance or has model metadata
179
- * @summary Checks whether a given object is either an instance of the Model class or
180
- * has model metadata attached to it. This function is essential for serialization and
181
- * deserialization processes, as it helps identify model objects that need special handling.
182
- * It safely handles potential errors during metadata retrieval.
183
- *
184
- * @param {Record<string, any>} target - The object to check
185
- * @return {boolean} True if the object is a model instance or has model metadata, false otherwise
186
- *
187
- * @example
188
- * ```typescript
189
- * // Check if an object is a model
190
- * const user = new User({ name: "John" });
191
- * const isUserModel = isModel(user); // true
192
- *
193
- * // Check a plain object
194
- * const plainObject = { name: "John" };
195
- * const isPlainObjectModel = isModel(plainObject); // false
196
- * ```
197
- */
198
- static isModel(target: Record<string, any>): boolean;
199
- /**
200
- * @description Checks if a property of a model is itself a model or has a model type
201
- * @summary Determines whether a specific property of a model instance is either a model instance
202
- * or has a type that is registered as a model. This function is used for model serialization
203
- * and deserialization to properly handle nested models.
204
- * @template M extends {@link Model}
205
- * @param {M} target - The model instance to check
206
- * @param {string} attribute - The property name to check
207
- * @return {boolean | string | undefined} Returns true if the property is a model instance,
208
- * the model name if the property has a model type, or undefined if not a model
209
- */
210
- static isPropertyModel<M extends Model>(target: M, attribute: string): boolean | string | undefined;
3
+ interface Model extends Renderable {
211
4
  /**
212
5
  * @description Checks if a property of a model is itself a model or has a model type
213
6
  * @summary Determines whether a specific property of a model instance is either a model instance