velocious 1.0.291 → 1.0.293
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/build/src/database/table-data/table-column.d.ts +5 -0
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +10 -2
- package/build/src/frontend-models/base.d.ts +4 -0
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +32 -3
- package/build/src/http-server/development-reloader.d.ts +94 -0
- package/build/src/http-server/development-reloader.d.ts.map +1 -0
- package/build/src/http-server/development-reloader.js +180 -0
- package/build/src/http-server/index.d.ts +35 -1
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +58 -3
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1610,6 +1610,8 @@ If a handed-off job does not report back within 2 hours, it is marked orphaned a
|
|
|
1610
1610
|
npx velocious server --host 0.0.0.0 --port 8082
|
|
1611
1611
|
```
|
|
1612
1612
|
|
|
1613
|
+
When the server runs in the `development` environment, Velocious watches application `src/` trees and hot-reloads by recycling HTTP workers after `.js`/`.mjs`/`.cjs`/`.json`/`.ejs` changes. That picks up edited controllers, models, resources, routes, and views without a manual server restart while keeping production/test behavior unchanged.
|
|
1614
|
+
|
|
1613
1615
|
# Authorization (CanCan-style)
|
|
1614
1616
|
|
|
1615
1617
|
Define resource classes with an `abilities()` method and use `can` / `cannot` rules to constrain model access.
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @property {boolean|object} [foreignKey] - Foreign key options or flag.
|
|
7
7
|
* @property {boolean|IndexArgType} [index] - Whether the column should be indexed.
|
|
8
8
|
* @property {boolean} [isNewColumn] - Whether this column is being added in a migration.
|
|
9
|
+
* @property {number} [limit] - Alias for maxLength (varchar length limit).
|
|
9
10
|
* @property {number} [maxLength] - Maximum length for the column value.
|
|
10
11
|
* @property {string} [notes] - Column notes or comment.
|
|
11
12
|
* @property {boolean} [null] - Whether the column allows null values.
|
|
@@ -191,6 +192,10 @@ export type TableColumnArgsType = {
|
|
|
191
192
|
* - Whether this column is being added in a migration.
|
|
192
193
|
*/
|
|
193
194
|
isNewColumn?: boolean | undefined;
|
|
195
|
+
/**
|
|
196
|
+
* - Alias for maxLength (varchar length limit).
|
|
197
|
+
*/
|
|
198
|
+
limit?: number | undefined;
|
|
194
199
|
/**
|
|
195
200
|
* - Maximum length for the column value.
|
|
196
201
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-column.d.ts","sourceRoot":"","sources":["../../../../src/database/table-data/table-column.js"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"table-column.d.ts","sourceRoot":"","sources":["../../../../src/database/table-data/table-column.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AAEH;IACE;;;OAGG;IACH,kBAHW,MAAM,SACN,mBAAmB,EAwB7B;IAFC,0BAAsB;IACtB,aAAgB;IAGlB;;OAEG;IACH,WAFa,MAAM,CAEW;IAE9B;;OAEG;IACH,cAFa,MAAM,GAAG,SAAS,CAEM;IAErC;;;OAGG;IACH,oBAHW,MAAM,GACJ,IAAI,CAE8B;IAAzB,6BAAuB;IAE7C;;OAEG;IACH,iBAFa,MAAM,CAE2C;IAE9D;;OAEG;IACH,oBAFa,OAAO,CAE2C;IAE/D;;;OAGG;IACH,mCAHW,OAAO,GACL,IAAI,CAEgE;IAEjF;;OAEG;IACH,cAFa,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAEI;IAE1C;;;OAGG;IACH,uBAHW,GAAG,GACD,IAAI,CAEwC;IAEzD;;OAEG;IACH,iBAFa,OAAO,CAEqC;IAEzD;;OAEG;IACH,iBAFa,OAAO,GAAG,MAAM,GAAG,SAAS,CAEO;IAEhD;;;OAGG;IACH,6BAHW,OAAO,GAAG,MAAM,GAAG,SAAS,GAC1B,IAAI,CAEoD;IAErE;;OAEG;IACH,YAFa,OAAO,GAAC,YAAY,CAEc;IAE/C;;OAEG;IACH,gBAFa,YAAY,CAQxB;IAED,0BAMC;IAED;;;OAGG;IACH,mBAHW,OAAO,GAAC,YAAY,GAClB,IAAI,CAEgC;IAEjD;;OAEG;IACH,gBAFa,MAAM,GAAG,SAAS,CAEe;IAE9C;;;OAGG;IACH,2BAHW,MAAM,GAAG,SAAS,GAChB,IAAI,CAEgD;IAEjE;;OAEG;IACH,YAFa,MAAM,GAAG,SAAS,CAEO;IAEtC;;;OAGG;IACH,mBAHW,MAAM,GAAG,SAAS,GAChB,IAAI,CAEgC;IAEjD;;OAEG;IACH,WAFa,OAAO,GAAG,SAAS,CAEI;IAEpC;;;OAGG;IACH,kBAHW,OAAO,GACL,IAAI,CAE8B;IAE/C;;OAEG;IACH,gBAFa,MAAM,GAAG,SAAS,CAEe;IAE9C;;OAEG;IACH,iBAFa,OAAO,CAEqC;IAEzD;;;OAGG;IACH,6BAHW,OAAO,GACL,IAAI,CAEoD;IAErE;;OAEG;IACH,YAFa,MAAM,GAAG,SAAS,CAEO;IAEtC;;OAEG;IACH,WAFa,MAAM,GAAG,SAAS,CAEK;IAEpC;;;OAGG;IACH,iBAHW,MAAM,GAAG,SAAS,GAChB,IAAI,CAE4B;IAE7C;;OAEG;IACH,oBAFa,MAAM,GAAG,SAAS,CAI9B;IAED;;;OAGG;IACH,kCAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAM9B;IAED;;OAEG;IACH,eAFa,OAAO,CAEoC;IAExD;;;;;OAKG;IACH,+CAJG;QAAsB,aAAa,EAA3B,OAAO;QACoC,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;KAC5C,GAAU,MAAM,CAoIlB;CACF;2BAhXY;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC;;;;;;;;;cAUhB,GAAG"}
|
|
@@ -13,6 +13,7 @@ import TableForeignKey from "./table-foreign-key.js";
|
|
|
13
13
|
* @property {boolean|object} [foreignKey] - Foreign key options or flag.
|
|
14
14
|
* @property {boolean|IndexArgType} [index] - Whether the column should be indexed.
|
|
15
15
|
* @property {boolean} [isNewColumn] - Whether this column is being added in a migration.
|
|
16
|
+
* @property {number} [limit] - Alias for maxLength (varchar length limit).
|
|
16
17
|
* @property {number} [maxLength] - Maximum length for the column value.
|
|
17
18
|
* @property {string} [notes] - Column notes or comment.
|
|
18
19
|
* @property {boolean} [null] - Whether the column allows null values.
|
|
@@ -29,11 +30,18 @@ export default class TableColumn {
|
|
|
29
30
|
*/
|
|
30
31
|
constructor(name, args) {
|
|
31
32
|
if (args) {
|
|
32
|
-
const { autoIncrement, default: columnDefault, dropColumn, foreignKey, index, isNewColumn, maxLength, notes, null: argsNull, polymorphic, precision, primaryKey, scale, type, ...restArgs } = args; // eslint-disable-line no-unused-vars
|
|
33
|
+
const { autoIncrement, default: columnDefault, dropColumn, foreignKey, index, isNewColumn, limit, maxLength, notes, null: argsNull, polymorphic, precision, primaryKey, scale, type, ...restArgs } = args; // eslint-disable-line no-unused-vars
|
|
33
34
|
if (Object.keys(args).length == 0) {
|
|
34
35
|
throw new Error("Empty args given");
|
|
35
36
|
}
|
|
36
37
|
restArgsError(restArgs);
|
|
38
|
+
// Normalize limit → maxLength for string-like types only.
|
|
39
|
+
if (limit !== undefined && maxLength === undefined) {
|
|
40
|
+
const normalizedType = typeof type === "string" ? type.toLowerCase() : "";
|
|
41
|
+
if (normalizedType === "string" || normalizedType === "text" || normalizedType === "varchar" || normalizedType === "nvarchar" || normalizedType === "char") {
|
|
42
|
+
args.maxLength = limit;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
}
|
|
38
46
|
this.args = args || {};
|
|
39
47
|
this.name = name;
|
|
@@ -316,4 +324,4 @@ export default class TableColumn {
|
|
|
316
324
|
return sql;
|
|
317
325
|
}
|
|
318
326
|
}
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUVILE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sYUFBYSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFELE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxXQUFXO0lBQzlCOzs7T0FHRztJQUNILFlBQVksSUFBSSxFQUFFLElBQUk7UUFDcEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUEsQ0FBQyxxQ0FBcUM7WUFFdE8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQ3JDLENBQUM7WUFFRCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDekIsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLEtBQUssT0FBTyxJQUFJLENB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QUFFLENBQUM7Z0JBQ3hCLGdCQUFnQixHQUFHLElBQUksQ0FBQTtnQkFDdkIsZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNsRixDQUFDO2lCQUFNLElBQUksVUFBVSxZQUFZLGVBQWUsRUFBRSxDQUFDO2dCQUNqRCxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtnQkFDdkQsZUFBZSxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQ3ZELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxVQUFVLEtBQUssT0FBTyxVQUFVLEdBQUcsQ0FBQyxDQUFBO1lBQ3pGLENBQUM7WUFFRCxHQUFHLElBQUksZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFBO1FBQy9HLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHt7dW5pcXVlOiBib29sZWFufX0gSW5kZXhBcmdUeXBlXG4gKi9cblxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZUZvcmVpZ25LZXkgZnJvbSBcIi4vdGFibGUtZm9yZWlnbi1rZXkuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFRhYmxlQ29sdW1uQXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2F1dG9JbmNyZW1lbnRdIC0gV2hldGhlciB0aGUgY29sdW1uIGF1dG8taW5jcmVtZW50cy5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZGVmYXVsdF0gLSBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY29sdW1uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbZHJvcENvbHVtbl0gLSBXaGV0aGVyIHRoZSBjb2x1bW4gc2hvdWxkIGJlIGRyb3BwZWQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW58b2JqZWN0fSBbZm9yZWlnbktleV0gLSBGb3JlaWduIGtleSBvcHRpb25zIG9yIGZsYWcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW58SW5kZXhBcmdUeXBlfSBbaW5kZXhdIC0gV2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBiZSBpbmRleGVkLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbaXNOZXdDb2x1bW5dIC0gV2hldGhlciB0aGlzIGNvbHVtbiBpcyBiZWluZyBhZGRlZCBpbiBhIG1pZ3JhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4TGVuZ3RoXSAtIE1heGltdW0gbGVuZ3RoIGZvciB0aGUgY29sdW1uIHZhbHVlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtub3Rlc10gLSBDb2x1bW4gbm90ZXMgb3IgY29tbWVudC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW251bGxdIC0gV2hldGhlciB0aGUgY29sdW1uIGFsbG93cyBudWxsIHZhbHVlcy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3BvbHltb3JwaGljXSAtIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBwb2x5bW9ycGhpYy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcHJlY2lzaW9uXSAtIE51bWVyaWMgcHJlY2lzaW9uICh0b3RhbCBkaWdpdHMpIGZvciBkZWNpbWFsL251bWVyaWMgdHlwZXMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtwcmltYXJ5S2V5XSAtIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBhIHByaW1hcnkga2V5LlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtzY2FsZV0gLSBOdW1lcmljIHNjYWxlIChkaWdpdHMgYWZ0ZXIgZGVjaW1hbCBwb2ludCkgZm9yIGRlY2ltYWwvbnVtZXJpYyB0eXBlcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdHlwZV0gLSBDb2x1bW4gZGF0YSB0eXBlLlxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRhYmxlQ29sdW1uIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZS5cbiAgICogQHBhcmFtIHtUYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG5hbWUsIGFyZ3MpIHtcbiAgICBpZiAoYXJncykge1xuICAgICAgY29uc3Qge2F1dG9JbmNyZW1lbnQsIGRlZmF1bHQ6IGNvbHVtbkRlZmF1bHQsIGRyb3BDb2x1bW4sIGZvcmVpZ25LZXksIGluZGV4LCBpc05ld0NvbHVtbiwgbWF4TGVuZ3RoLCBub3RlcywgbnVsbDogYXJnc051bGwsIHBvbHltb3JwaGljLCBwcmVjaXNpb24sIHByaW1hcnlLZXksIHNjYWxlLCB0eXBlLCAuLi5yZXN0QXJnc30gPSBhcmdzIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKGFyZ3MpLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVtcHR5IGFyZ3MgZ2l2ZW5cIilcbiAgICAgIH1cblxuICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcbiAgICB9XG5cbiAgICB0aGlzLmFyZ3MgPSBhcmdzIHx8IHt9XG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IG5hbWVcbiAgICovXG4gIGdldE5hbWUoKSB7IHJldHVybiB0aGlzLm5hbWUgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFRoZSBuZXcgbmFtZS5cbiAgICovXG4gIGdldE5ld05hbWUoKSB7IHJldHVybiB0aGlzLl9uZXdOYW1lIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5ld05hbWUgLSBOZXcgbmFtZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0TmV3TmFtZShuZXdOYW1lKSB7IHRoaXMuX25ld05hbWUgPSBuZXdOYW1lIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgYWN0dWFsIG5hbWUuXG4gICAqL1xuICBnZXRBY3R1YWxOYW1lKCkgeyByZXR1cm4gdGhpcy5nZXROZXdOYW1lKCkgfHwgdGhpcy5nZXROYW1lKCkgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGF1dG8gaW5jcmVtZW50LlxuICAgKi9cbiAgZ2V0QXV0b0luY3JlbWVudCgpIHsgcmV0dXJuIHRoaXMuYXJncz8uYXV0b0luY3JlbWVudCB8fCBmYWxzZSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gbmV3QXV0b0luY3JlbWVudCAtIE5ldyBhdXRvIGluY3JlbWVudC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0QXV0b0luY3JlbWVudChuZXdBdXRvSW5jcmVtZW50KSB7IHRoaXMuYXJncy5hdXRvSW5jcmVtZW50ID0gbmV3QXV0b0luY3JlbWVudCB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHt1bmtub3duIHwgKCgpID0+IHVua25vd24pfSAtIFRoZSBkZWZhdWx0IHZhbHVlIG9yIGZhY3RvcnkuXG4gICAqL1xuICBnZXREZWZhdWx0KCkgeyByZXR1cm4gdGhpcy5hcmdzPy5kZWZhdWx0IH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IG5ld0RlZmF1bHQgLSBOZXcgZGVmYXVsdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0RGVmYXVsdChuZXdEZWZhdWx0KSB7IHRoaXMuYXJncy5kZWZhdWx0ID0gbmV3RGVmYXVsdCB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgZHJvcCBjb2x1bW4uXG4gICAqL1xuICBnZXREcm9wQ29sdW1uKCkgeyByZXR1cm4gdGhpcy5hcmdzPy5kcm9wQ29sdW1uIHx8IGZhbHNlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW4gfCBvYmplY3QgfCB1bmRlZmluZWR9IC0gV2hldGhlciBmb3JlaWduIGtleS5cbiAgICovXG4gIGdldEZvcmVpZ25LZXkoKSB7IHJldHVybiB0aGlzLmFyZ3M/LmZvcmVpZ25LZXkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW4gfCBvYmplY3QgfCB1bmRlZmluZWR9IG5ld0ZvcmVpZ25LZXkgLSBOZXcgZm9yZWlnbiBrZXkuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldEZvcmVpZ25LZXkobmV3Rm9yZWlnbktleSkgeyB0aGlzLmFyZ3MuZm9yZWlnbktleSA9IG5ld0ZvcmVpZ25LZXkgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbnxJbmRleEFyZ1R5cGV9IC0gV2hldGhlciBpbmRleC5cbiAgICovXG4gIGdldEluZGV4KCkgeyByZXR1cm4gdGhpcy5hcmdzPy5pbmRleCB8fCBmYWxzZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtJbmRleEFyZ1R5cGV9IC0gVGhlIGluZGV4IGFyZ3MuXG4gICAqL1xuICBnZXRJbmRleEFyZ3MoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmFyZ3M/LmluZGV4ID09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyZ3MuaW5kZXhcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHt1bmlxdWU6IGZhbHNlfVxuICAgIH1cbiAgfVxuXG4gIGdldEluZGV4VW5pcXVlKCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hcmdzPy5pbmRleFxuXG4gICAgaWYgKHR5cGVvZiBpbmRleCA9PSBcIm9iamVjdFwiICYmIGluZGV4LnVuaXF1ZSA9PT0gdHJ1ZSkgcmV0dXJuIHRydWVcblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbnxJbmRleEFyZ1R5cGV9IG5ld0luZGV4IC0gTmV3IGluZGV4LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRJbmRleChuZXdJbmRleCkgeyB0aGlzLmFyZ3MuaW5kZXggPSBuZXdJbmRleCB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtudW1iZXIgfCB1bmRlZmluZWR9IC0gVGhlIG1heCBsZW5ndGguXG4gICAqL1xuICBnZXRNYXhMZW5ndGgoKSB7IHJldHVybiB0aGlzLmFyZ3M/Lm1heExlbmd0aCB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBuZXdNYXhMZW5ndGggLSBOZXcgbWF4IGxlbmd0aC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0TWF4TGVuZ3RoKG5ld01heExlbmd0aCkgeyB0aGlzLmFyZ3MubWF4TGVuZ3RoID0gbmV3TWF4TGVuZ3RoIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgbm90ZXMuXG4gICAqL1xuICBnZXROb3RlcygpIHsgcmV0dXJuIHRoaXMuYXJncz8ubm90ZXMgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gbmV3Tm90ZXMgLSBOZXcgbm90ZXMuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldE5vdGVzKG5ld05vdGVzKSB7IHRoaXMuYXJncy5ub3RlcyA9IG5ld05vdGVzIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW4gfCB1bmRlZmluZWR9IC0gV2hldGhlciBudWxsLlxuICAgKi9cbiAgZ2V0TnVsbCgpIHsgcmV0dXJuIHRoaXMuYXJncz8ubnVsbCB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gbnVsbGFibGUgLSBXaGV0aGVyIG51bGxhYmxlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXROdWxsKG51bGxhYmxlKSB7IHRoaXMuYXJncy5udWxsID0gbnVsbGFibGUgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyIHwgdW5kZWZpbmVkfSAtIE51bWVyaWMgcHJlY2lzaW9uICh0b3RhbCBkaWdpdHMpLlxuICAgKi9cbiAgZ2V0UHJlY2lzaW9uKCkgeyByZXR1cm4gdGhpcy5hcmdzPy5wcmVjaXNpb24gfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHByaW1hcnkga2V5LlxuICAgKi9cbiAgZ2V0UHJpbWFyeUtleSgpIHsgcmV0dXJuIHRoaXMuYXJncz8ucHJpbWFyeUtleSB8fCBmYWxzZSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gbmV3UHJpbWFyeUtleSAtIE5ldyBwcmltYXJ5IGtleS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0UHJpbWFyeUtleShuZXdQcmltYXJ5S2V5KSB7IHRoaXMuYXJncy5wcmltYXJ5S2V5ID0gbmV3UHJpbWFyeUtleSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtudW1iZXIgfCB1bmRlZmluZWR9IC0gTnVtZXJpYyBzY2FsZSAoZGlnaXRzIGFmdGVyIGRlY2ltYWwgcG9pbnQpLlxuICAgKi9cbiAgZ2V0U2NhbGUoKSB7IHJldHVybiB0aGlzLmFyZ3M/LnNjYWxlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgdHlwZS5cbiAgICovXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLmFyZ3M/LnR5cGUgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gbmV3VHlwZSAtIE5ldyB0eXBlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRUeXBlKG5ld1R5cGUpIHsgdGhpcy5hcmdzLnR5cGUgPSBuZXdUeXBlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgdHlwZSBoaW50IG5vdGVzLlxuICAgKi9cbiAgZ2V0VHlwZUhpbnROb3RlcygpIHtcbiAgICBpZiAodGhpcy5nZXRUeXBlKCk/LnRvTG93ZXJDYXNlKCkgPT0gXCJib29sZWFuXCIpIHJldHVybiBcInZlbG9jaW91czp0eXBlPWJvb2xlYW5cIlxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhYmFzZVR5cGUgLSBEYXRhYmFzZSB0eXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIE5vdGVzIGZvciB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICBnZXROb3Rlc0ZvckRhdGFiYXNlKGRhdGFiYXNlVHlwZSkge1xuICAgIGlmICghW1wibXlzcWxcIiwgXCJwZ3NxbFwiXS5pbmNsdWRlcyhkYXRhYmFzZVR5cGUpKSByZXR1cm5cblxuICAgIHJldHVybiB0aGlzLmdldE5vdGVzKCkgfHwgdGhpcy5nZXRUeXBlSGludE5vdGVzKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIG5ldyBjb2x1bW4uXG4gICAqL1xuICBpc05ld0NvbHVtbigpIHsgcmV0dXJuIHRoaXMuYXJncz8uaXNOZXdDb2x1bW4gfHwgZmFsc2UgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFyZ3MuZm9yQWx0ZXJUYWJsZSAtIFdoZXRoZXIgZm9yIGFsdGVyIHRhYmxlLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBhcmdzLmRyaXZlciAtIERhdGFiYXNlIGRyaXZlciBpbnN0YW5jZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBTUUwgc3RyaW5nLlxuICAgKi9cbiAgZ2V0U1FMKHtmb3JBbHRlclRhYmxlLCBkcml2ZXIsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBjb25zdCBkYXRhYmFzZVR5cGUgPSBkcml2ZXIuZ2V0VHlwZSgpXG4gICAgY29uc3Qgb3B0aW9ucyA9IGRyaXZlci5vcHRpb25zKClcbiAgICBsZXQgbWF4bGVuZ3RoID0gdGhpcy5nZXRNYXhMZW5ndGgoKVxuICAgIGxldCB0eXBlID0gdGhpcy5nZXRUeXBlKCk/LnRvVXBwZXJDYXNlKClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBpZiAodHlwZSA9PSBcIkRBVEVUSU1FXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiVElNRVNUQU1QXCJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIlRJTllJTlRcIikge1xuICAgICAgICB0eXBlID0gXCJTTUFMTElOVFwiXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJCTE9CXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiQllURUFcIlxuICAgICAgICBtYXhsZW5ndGggPSB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PSBcIlNUUklOR1wiKSB7XG4gICAgICB0eXBlID0gXCJWQVJDSEFSXCJcbiAgICAgIG1heGxlbmd0aCB8fD0gMjU1XG4gICAgfVxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiICYmIHR5cGUgPT0gXCJUSU5ZSU5UXCIpIHtcbiAgICAgIHR5cGUgPSBcIlNNQUxMSU5UXCJcbiAgICB9XG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwibXNzcWxcIikge1xuICAgICAgaWYgKHR5cGUgPT0gXCJCT09MRUFOXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiQklUXCJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIlVVSURcIikge1xuICAgICAgICB0eXBlID0gXCJWQVJDSEFSXCJcbiAgICAgICAgbWF4bGVuZ3RoIHx8PSAzNlxuICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiSlNPTlwiKSB7XG4gICAgICAgIHR5cGUgPSBcIk5WQVJDSEFSKE1BWClcIlxuICAgICAgICBtYXhsZW5ndGggPSB1bmRlZmluZWRcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIkJMT0JcIikge1xuICAgICAgICB0eXBlID0gXCJWQVJCSU5BUlkoTUFYKVwiXG4gICAgICAgIG1heGxlbmd0aCA9IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJzcWxpdGVcIiAmJiB0aGlzLmdldEF1dG9JbmNyZW1lbnQoKSAmJiB0aGlzLmdldFByaW1hcnlLZXkoKSkge1xuICAgICAgdHlwZSA9IFwiSU5URUdFUlwiXG4gICAgfVxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIgJiYgdGhpcy5nZXRBdXRvSW5jcmVtZW50KCkgJiYgdGhpcy5nZXRQcmltYXJ5S2V5KCkpIHtcbiAgICAgIHR5cGUgPSBcIlNFUklBTFwiXG4gICAgfVxuXG4gICAgbGV0IHNxbCA9IGAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKHRoaXMuZ2V0QWN0dWFsTmFtZSgpKX0gYFxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIgJiYgZm9yQWx0ZXJUYWJsZSkgc3FsICs9IFwiVFlQRSBcIlxuICAgIGlmICh0eXBlKSBzcWwgKz0gdHlwZVxuXG4gICAgY29uc3QgcHJlY2lzaW9uID0gdGhpcy5nZXRQcmVjaXNpb24oKVxuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5nZXRTY2FsZSgpXG5cbiAgICBpZiAoKHNjYWxlICE9PSB1bmRlZmluZWQgJiYgc2NhbGUgIT09IG51bGwpICYmIChwcmVjaXNpb24gPT09IHVuZGVmaW5lZCB8fCBwcmVjaXNpb24gPT09IG51bGwpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAnJHt0aGlzLmdldEFjdHVhbE5hbWUoKX0nOiBzY2FsZSByZXF1aXJlcyBwcmVjaXNpb24gdG8gYmUgc2V0YClcbiAgICB9XG5cbiAgICBpZiAocHJlY2lzaW9uICE9PSB1bmRlZmluZWQgJiYgcHJlY2lzaW9uICE9PSBudWxsKSB7XG4gICAgICBzcWwgKz0gc2NhbGUgIT09IHVuZGVmaW5lZCAmJiBzY2FsZSAhPT0gbnVsbCA/IGAoJHtwcmVjaXNpb259LCAke3NjYWxlfSlgIDogYCgke3ByZWNpc2lvbn0pYFxuICAgIH0gZWxzZSBpZiAodHlwZSAmJiBtYXhsZW5ndGggIT09IHVuZGVmaW5lZCAmJiBtYXhsZW5ndGggIT09IG51bGwpIHtcbiAgICAgIHNxbCArPSBgKCR7bWF4bGVuZ3RofSlgXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2V0QXV0b0luY3JlbWVudCgpICYmIGRyaXZlci5zaG91bGRTZXRBdXRvSW5jcmVtZW50V2hlblByaW1hcnlLZXkoKSkge1xuICAgICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIpIHtcbiAgICAgICAgc3FsICs9IFwiIElERU5USVRZXCJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YWJhc2VUeXBlID09IFwicGdzcWxcIikge1xuICAgICAgICBpZiAodGhpcy5nZXRBdXRvSW5jcmVtZW50KCkgJiYgdGhpcy5nZXRQcmltYXJ5S2V5KCkpIHtcbiAgICAgICAgICAvLyBEbyBub3RoaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicGdzcWwgYXV0byBpbmNyZW1lbnQgbXVzdCBiZSBwcmltYXJ5IGtleVwiKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcWwgKz0gXCIgQVVUT19JTkNSRU1FTlRcIlxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuZ2V0RGVmYXVsdCgpXG5cbiAgICBpZiAodHlwZW9mIGRlZmF1bHRWYWx1ZSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNvbnN0IGV2YWx1YXRlZERlZmF1bHQgPSBkZWZhdWx0VmFsdWUoKVxuXG4gICAgICBzcWwgKz0gYCBERUZBVUxUIChgXG5cbiAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiICYmIGV2YWx1YXRlZERlZmF1bHQgPT0gXCJVVUlEKClcIikge1xuICAgICAgICBzcWwgKz0gXCJnZW5fcmFuZG9tX3V1aWQoKVwiXG4gICAgICB9IGVsc2UgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIgJiYgZXZhbHVhdGVkRGVmYXVsdCA9PSBcIlVVSUQoKVwiKSB7XG4gICAgICAgIHNxbCArPSBcIk5FV0lEKClcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3FsICs9IGV2YWx1YXRlZERlZmF1bHRcbiAgICAgIH1cblxuICAgICAgc3FsICs9IFwiKVwiXG4gICAgfSBlbHNlIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHNxbCArPSBgIERFRkFVTFQgJHtvcHRpb25zLnF1b3RlKGRlZmF1bHRWYWx1ZSl9YFxuICAgIH1cblxuICAgIGlmICh0aGlzLmdldFByaW1hcnlLZXkoKSkgc3FsICs9IFwiIFBSSU1BUlkgS0VZXCJcbiAgICBpZiAodGhpcy5nZXROdWxsKCkgPT09IGZhbHNlKSBzcWwgKz0gXCIgTk9UIE5VTExcIlxuXG4gICAgY29uc3Qgbm90ZXMgPSB0aGlzLmdldE5vdGVzRm9yRGF0YWJhc2UoZGF0YWJhc2VUeXBlKVxuXG4gICAgaWYgKG5vdGVzICYmIGRhdGFiYXNlVHlwZSA9PSBcIm15c3FsXCIpIHtcbiAgICAgIHNxbCArPSBgIENPTU1FTlQgJHtvcHRpb25zLnF1b3RlKG5vdGVzKX1gXG4gICAgfVxuXG4gICAgY29uc3QgZm9yZWlnbktleSA9IHRoaXMuZ2V0Rm9yZWlnbktleSgpXG5cbiAgICBpZiAoZm9yZWlnbktleSkge1xuICAgICAgbGV0IGZvcmVpZ25LZXlUYWJsZSwgZm9yZWlnbktleUNvbHVtblxuXG4gICAgICBpZiAoZm9yZWlnbktleSA9PT0gdHJ1ZSkge1xuICAgICAgICBmb3JlaWduS2V5Q29sdW1uID0gXCJpZFwiXG4gICAgICAgIGZvcmVpZ25LZXlUYWJsZSA9IGluZmxlY3Rpb24ucGx1cmFsaXplKHRoaXMuZ2V0QWN0dWFsTmFtZSgpLnJlcGxhY2UoL19pZCQvLCBcIlwiKSlcbiAgICAgIH0gZWxzZSBpZiAoZm9yZWlnbktleSBpbnN0YW5jZW9mIFRhYmxlRm9yZWlnbktleSkge1xuICAgICAgICBmb3JlaWduS2V5Q29sdW1uID0gZm9yZWlnbktleS5nZXRSZWZlcmVuY2VkQ29sdW1uTmFtZSgpXG4gICAgICAgIGZvcmVpZ25LZXlUYWJsZSA9IGZvcmVpZ25LZXkuZ2V0UmVmZXJlbmNlZFRhYmxlTmFtZSgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZm9yZWlnbiBrZXkgdHlwZSBnaXZlbjogJHtmb3JlaWduS2V5fSAoJHt0eXBlb2YgZm9yZWlnbktleX0pYClcbiAgICAgIH1cblxuICAgICAgc3FsICs9IGAgUkVGRVJFTkNFUyAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUoZm9yZWlnbktleVRhYmxlKX0oJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShmb3JlaWduS2V5Q29sdW1uKX0pYFxuICAgIH1cblxuICAgIHJldHVybiBzcWxcbiAgfVxufVxuIl19
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUVILE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sYUFBYSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFELE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sV0FBVztJQUM5Qjs7O09BR0c7SUFDSCxZQUFZLElBQUksRUFBRSxJQUFJO1FBQ3BCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQSxDQUFDLHFDQUFxQztZQUU3TyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7WUFDckMsQ0FBQztZQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUV2QiwwREFBMEQ7WUFDMUQsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbkQsTUFBTSxjQUFjLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJ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IEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHt7dW5pcXVlOiBib29sZWFufX0gSW5kZXhBcmdUeXBlXG4gKi9cblxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZUZvcmVpZ25LZXkgZnJvbSBcIi4vdGFibGUtZm9yZWlnbi1rZXkuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFRhYmxlQ29sdW1uQXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2F1dG9JbmNyZW1lbnRdIC0gV2hldGhlciB0aGUgY29sdW1uIGF1dG8taW5jcmVtZW50cy5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZGVmYXVsdF0gLSBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY29sdW1uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbZHJvcENvbHVtbl0gLSBXaGV0aGVyIHRoZSBjb2x1bW4gc2hvdWxkIGJlIGRyb3BwZWQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW58b2JqZWN0fSBbZm9yZWlnbktleV0gLSBGb3JlaWduIGtleSBvcHRpb25zIG9yIGZsYWcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW58SW5kZXhBcmdUeXBlfSBbaW5kZXhdIC0gV2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBiZSBpbmRleGVkLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbaXNOZXdDb2x1bW5dIC0gV2hldGhlciB0aGlzIGNvbHVtbiBpcyBiZWluZyBhZGRlZCBpbiBhIG1pZ3JhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbGltaXRdIC0gQWxpYXMgZm9yIG1heExlbmd0aCAodmFyY2hhciBsZW5ndGggbGltaXQpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhMZW5ndGhdIC0gTWF4aW11bSBsZW5ndGggZm9yIHRoZSBjb2x1bW4gdmFsdWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25vdGVzXSAtIENvbHVtbiBub3RlcyBvciBjb21tZW50LlxuICogQHByb3BlcnR5IHtib29sZWFufSBbbnVsbF0gLSBXaGV0aGVyIHRoZSBjb2x1bW4gYWxsb3dzIG51bGwgdmFsdWVzLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcG9seW1vcnBoaWNdIC0gV2hldGhlciB0aGUgY29sdW1uIGlzIHBvbHltb3JwaGljLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwcmVjaXNpb25dIC0gTnVtZXJpYyBwcmVjaXNpb24gKHRvdGFsIGRpZ2l0cykgZm9yIGRlY2ltYWwvbnVtZXJpYyB0eXBlcy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3ByaW1hcnlLZXldIC0gV2hldGhlciB0aGUgY29sdW1uIGlzIGEgcHJpbWFyeSBrZXkuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3NjYWxlXSAtIE51bWVyaWMgc2NhbGUgKGRpZ2l0cyBhZnRlciBkZWNpbWFsIHBvaW50KSBmb3IgZGVjaW1hbC9udW1lcmljIHR5cGVzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0eXBlXSAtIENvbHVtbiBkYXRhIHR5cGUuXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGVDb2x1bW4ge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0ge1RhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKi9cbiAgY29uc3RydWN0b3IobmFtZSwgYXJncykge1xuICAgIGlmIChhcmdzKSB7XG4gICAgICBjb25zdCB7YXV0b0luY3JlbWVudCwgZGVmYXVsdDogY29sdW1uRGVmYXVsdCwgZHJvcENvbHVtbiwgZm9yZWlnbktleSwgaW5kZXgsIGlzTmV3Q29sdW1uLCBsaW1pdCwgbWF4TGVuZ3RoLCBub3RlcywgbnVsbDogYXJnc051bGwsIHBvbHltb3JwaGljLCBwcmVjaXNpb24sIHByaW1hcnlLZXksIHNjYWxlLCB0eXBlLCAuLi5yZXN0QXJnc30gPSBhcmdzIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKGFyZ3MpLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVtcHR5IGFyZ3MgZ2l2ZW5cIilcbiAgICAgIH1cblxuICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgICAgLy8gTm9ybWFsaXplIGxpbWl0IOKGkiBtYXhMZW5ndGggZm9yIHN0cmluZy1saWtlIHR5cGVzIG9ubHkuXG4gICAgICBpZiAobGltaXQgIT09IHVuZGVmaW5lZCAmJiBtYXhMZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gdHlwZS50b0xvd2VyQ2FzZSgpIDogXCJcIlxuXG4gICAgICAgIGlmIChub3JtYWxpemVkVHlwZSA9PT0gXCJzdHJpbmdcIiB8fCBub3JtYWxpemVkVHlwZSA9PT0gXCJ0ZXh0XCIgfHwgbm9ybWFsaXplZFR5cGUgPT09IFwidmFyY2hhclwiIHx8IG5vcm1hbGl6ZWRUeXBlID09PSBcIm52YXJjaGFyXCIgfHwgbm9ybWFsaXplZFR5cGUgPT09IFwiY2hhclwiKSB7XG4gICAgICAgICAgYXJncy5tYXhMZW5ndGggPSBsaW1pdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcmdzID0gYXJncyB8fCB7fVxuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBuYW1lXG4gICAqL1xuICBnZXROYW1lKCkgeyByZXR1cm4gdGhpcy5uYW1lIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgbmV3IG5hbWUuXG4gICAqL1xuICBnZXROZXdOYW1lKCkgeyByZXR1cm4gdGhpcy5fbmV3TmFtZSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdOYW1lIC0gTmV3IG5hbWUuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldE5ld05hbWUobmV3TmFtZSkgeyB0aGlzLl9uZXdOYW1lID0gbmV3TmFtZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIGFjdHVhbCBuYW1lLlxuICAgKi9cbiAgZ2V0QWN0dWFsTmFtZSgpIHsgcmV0dXJuIHRoaXMuZ2V0TmV3TmFtZSgpIHx8IHRoaXMuZ2V0TmFtZSgpIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBhdXRvIGluY3JlbWVudC5cbiAgICovXG4gIGdldEF1dG9JbmNyZW1lbnQoKSB7IHJldHVybiB0aGlzLmFyZ3M/LmF1dG9JbmNyZW1lbnQgfHwgZmFsc2UgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5ld0F1dG9JbmNyZW1lbnQgLSBOZXcgYXV0byBpbmNyZW1lbnQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldEF1dG9JbmNyZW1lbnQobmV3QXV0b0luY3JlbWVudCkgeyB0aGlzLmFyZ3MuYXV0b0luY3JlbWVudCA9IG5ld0F1dG9JbmNyZW1lbnQgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7dW5rbm93biB8ICgoKSA9PiB1bmtub3duKX0gLSBUaGUgZGVmYXVsdCB2YWx1ZSBvciBmYWN0b3J5LlxuICAgKi9cbiAgZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIHRoaXMuYXJncz8uZGVmYXVsdCB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55fSBuZXdEZWZhdWx0IC0gTmV3IGRlZmF1bHQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldERlZmF1bHQobmV3RGVmYXVsdCkgeyB0aGlzLmFyZ3MuZGVmYXVsdCA9IG5ld0RlZmF1bHQgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGRyb3AgY29sdW1uLlxuICAgKi9cbiAgZ2V0RHJvcENvbHVtbigpIHsgcmV0dXJuIHRoaXMuYXJncz8uZHJvcENvbHVtbiB8fCBmYWxzZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFuIHwgb2JqZWN0IHwgdW5kZWZpbmVkfSAtIFdoZXRoZXIgZm9yZWlnbiBrZXkuXG4gICAqL1xuICBnZXRGb3JlaWduS2V5KCkgeyByZXR1cm4gdGhpcy5hcmdzPy5mb3JlaWduS2V5IH1cblxuICAvKipcbiAgICogQHBhcmFtIHtib29sZWFuIHwgb2JqZWN0IHwgdW5kZWZpbmVkfSBuZXdGb3JlaWduS2V5IC0gTmV3IGZvcmVpZ24ga2V5LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRGb3JlaWduS2V5KG5ld0ZvcmVpZ25LZXkpIHsgdGhpcy5hcmdzLmZvcmVpZ25LZXkgPSBuZXdGb3JlaWduS2V5IH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW58SW5kZXhBcmdUeXBlfSAtIFdoZXRoZXIgaW5kZXguXG4gICAqL1xuICBnZXRJbmRleCgpIHsgcmV0dXJuIHRoaXMuYXJncz8uaW5kZXggfHwgZmFsc2UgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7SW5kZXhBcmdUeXBlfSAtIFRoZSBpbmRleCBhcmdzLlxuICAgKi9cbiAgZ2V0SW5kZXhBcmdzKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5hcmdzPy5pbmRleCA9PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5hcmdzLmluZGV4XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7dW5pcXVlOiBmYWxzZX1cbiAgICB9XG4gIH1cblxuICBnZXRJbmRleFVuaXF1ZSgpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYXJncz8uaW5kZXhcblxuICAgIGlmICh0eXBlb2YgaW5kZXggPT0gXCJvYmplY3RcIiAmJiBpbmRleC51bmlxdWUgPT09IHRydWUpIHJldHVybiB0cnVlXG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW58SW5kZXhBcmdUeXBlfSBuZXdJbmRleCAtIE5ldyBpbmRleC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0SW5kZXgobmV3SW5kZXgpIHsgdGhpcy5hcmdzLmluZGV4ID0gbmV3SW5kZXggfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyIHwgdW5kZWZpbmVkfSAtIFRoZSBtYXggbGVuZ3RoLlxuICAgKi9cbiAgZ2V0TWF4TGVuZ3RoKCkgeyByZXR1cm4gdGhpcy5hcmdzPy5tYXhMZW5ndGggfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlciB8IHVuZGVmaW5lZH0gbmV3TWF4TGVuZ3RoIC0gTmV3IG1heCBsZW5ndGguXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldE1heExlbmd0aChuZXdNYXhMZW5ndGgpIHsgdGhpcy5hcmdzLm1heExlbmd0aCA9IG5ld01heExlbmd0aCB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIG5vdGVzLlxuICAgKi9cbiAgZ2V0Tm90ZXMoKSB7IHJldHVybiB0aGlzLmFyZ3M/Lm5vdGVzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IG5ld05vdGVzIC0gTmV3IG5vdGVzLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXROb3RlcyhuZXdOb3RlcykgeyB0aGlzLmFyZ3Mubm90ZXMgPSBuZXdOb3RlcyB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFuIHwgdW5kZWZpbmVkfSAtIFdoZXRoZXIgbnVsbC5cbiAgICovXG4gIGdldE51bGwoKSB7IHJldHVybiB0aGlzLmFyZ3M/Lm51bGwgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG51bGxhYmxlIC0gV2hldGhlciBudWxsYWJsZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0TnVsbChudWxsYWJsZSkgeyB0aGlzLmFyZ3MubnVsbCA9IG51bGxhYmxlIH1cblxuICAvKipcbiAgICogQHJldHVybnMge251bWJlciB8IHVuZGVmaW5lZH0gLSBOdW1lcmljIHByZWNpc2lvbiAodG90YWwgZGlnaXRzKS5cbiAgICovXG4gIGdldFByZWNpc2lvbigpIHsgcmV0dXJuIHRoaXMuYXJncz8ucHJlY2lzaW9uIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBwcmltYXJ5IGtleS5cbiAgICovXG4gIGdldFByaW1hcnlLZXkoKSB7IHJldHVybiB0aGlzLmFyZ3M/LnByaW1hcnlLZXkgfHwgZmFsc2UgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5ld1ByaW1hcnlLZXkgLSBOZXcgcHJpbWFyeSBrZXkuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldFByaW1hcnlLZXkobmV3UHJpbWFyeUtleSkgeyB0aGlzLmFyZ3MucHJpbWFyeUtleSA9IG5ld1ByaW1hcnlLZXkgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyIHwgdW5kZWZpbmVkfSAtIE51bWVyaWMgc2NhbGUgKGRpZ2l0cyBhZnRlciBkZWNpbWFsIHBvaW50KS5cbiAgICovXG4gIGdldFNjYWxlKCkgeyByZXR1cm4gdGhpcy5hcmdzPy5zY2FsZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIHR5cGUuXG4gICAqL1xuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy5hcmdzPy50eXBlIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IG5ld1R5cGUgLSBOZXcgdHlwZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0VHlwZShuZXdUeXBlKSB7IHRoaXMuYXJncy50eXBlID0gbmV3VHlwZSB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIHR5cGUgaGludCBub3Rlcy5cbiAgICovXG4gIGdldFR5cGVIaW50Tm90ZXMoKSB7XG4gICAgaWYgKHRoaXMuZ2V0VHlwZSgpPy50b0xvd2VyQ2FzZSgpID09IFwiYm9vbGVhblwiKSByZXR1cm4gXCJ2ZWxvY2lvdXM6dHlwZT1ib29sZWFuXCJcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YWJhc2VUeXBlIC0gRGF0YWJhc2UgdHlwZS5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBOb3RlcyBmb3IgdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgZ2V0Tm90ZXNGb3JEYXRhYmFzZShkYXRhYmFzZVR5cGUpIHtcbiAgICBpZiAoIVtcIm15c3FsXCIsIFwicGdzcWxcIl0uaW5jbHVkZXMoZGF0YWJhc2VUeXBlKSkgcmV0dXJuXG5cbiAgICByZXR1cm4gdGhpcy5nZXROb3RlcygpIHx8IHRoaXMuZ2V0VHlwZUhpbnROb3RlcygpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBuZXcgY29sdW1uLlxuICAgKi9cbiAgaXNOZXdDb2x1bW4oKSB7IHJldHVybiB0aGlzLmFyZ3M/LmlzTmV3Q29sdW1uIHx8IGZhbHNlIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhcmdzLmZvckFsdGVyVGFibGUgLSBXaGV0aGVyIGZvciBhbHRlciB0YWJsZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU1FMIHN0cmluZy5cbiAgICovXG4gIGdldFNRTCh7Zm9yQWx0ZXJUYWJsZSwgZHJpdmVyLCAuLi5yZXN0QXJnc30pIHtcbiAgICByZXN0QXJnc0Vycm9yKHJlc3RBcmdzKVxuXG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gZHJpdmVyLmdldFR5cGUoKVxuICAgIGNvbnN0IG9wdGlvbnMgPSBkcml2ZXIub3B0aW9ucygpXG4gICAgbGV0IG1heGxlbmd0aCA9IHRoaXMuZ2V0TWF4TGVuZ3RoKClcbiAgICBsZXQgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpPy50b1VwcGVyQ2FzZSgpXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwicGdzcWxcIikge1xuICAgICAgaWYgKHR5cGUgPT0gXCJEQVRFVElNRVwiKSB7XG4gICAgICAgIHR5cGUgPSBcIlRJTUVTVEFNUFwiXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJUSU5ZSU5UXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiU01BTExJTlRcIlxuICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiQkxPQlwiKSB7XG4gICAgICAgIHR5cGUgPSBcIkJZVEVBXCJcbiAgICAgICAgbWF4bGVuZ3RoID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT0gXCJTVFJJTkdcIikge1xuICAgICAgdHlwZSA9IFwiVkFSQ0hBUlwiXG4gICAgICBtYXhsZW5ndGggfHw9IDI1NVxuICAgIH1cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwicGdzcWxcIiAmJiB0eXBlID09IFwiVElOWUlOVFwiKSB7XG4gICAgICB0eXBlID0gXCJTTUFMTElOVFwiXG4gICAgfVxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIpIHtcbiAgICAgIGlmICh0eXBlID09IFwiQk9PTEVBTlwiKSB7XG4gICAgICAgIHR5cGUgPSBcIkJJVFwiXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJVVUlEXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiVkFSQ0hBUlwiXG4gICAgICAgIG1heGxlbmd0aCB8fD0gMzZcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIkpTT05cIikge1xuICAgICAgICB0eXBlID0gXCJOVkFSQ0hBUihNQVgpXCJcbiAgICAgICAgbWF4bGVuZ3RoID0gdW5kZWZpbmVkXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJCTE9CXCIpIHtcbiAgICAgICAgdHlwZSA9IFwiVkFSQklOQVJZKE1BWClcIlxuICAgICAgICBtYXhsZW5ndGggPSB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwic3FsaXRlXCIgJiYgdGhpcy5nZXRBdXRvSW5jcmVtZW50KCkgJiYgdGhpcy5nZXRQcmltYXJ5S2V5KCkpIHtcbiAgICAgIHR5cGUgPSBcIklOVEVHRVJcIlxuICAgIH1cblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiICYmIHRoaXMuZ2V0QXV0b0luY3JlbWVudCgpICYmIHRoaXMuZ2V0UHJpbWFyeUtleSgpKSB7XG4gICAgICB0eXBlID0gXCJTRVJJQUxcIlxuICAgIH1cblxuICAgIGxldCBzcWwgPSBgJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZSh0aGlzLmdldEFjdHVhbE5hbWUoKSl9IGBcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiICYmIGZvckFsdGVyVGFibGUpIHNxbCArPSBcIlRZUEUgXCJcbiAgICBpZiAodHlwZSkgc3FsICs9IHR5cGVcblxuICAgIGNvbnN0IHByZWNpc2lvbiA9IHRoaXMuZ2V0UHJlY2lzaW9uKClcbiAgICBjb25zdCBzY2FsZSA9IHRoaXMuZ2V0U2NhbGUoKVxuXG4gICAgaWYgKChzY2FsZSAhPT0gdW5kZWZpbmVkICYmIHNjYWxlICE9PSBudWxsKSAmJiAocHJlY2lzaW9uID09PSB1bmRlZmluZWQgfHwgcHJlY2lzaW9uID09PSBudWxsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJyR7dGhpcy5nZXRBY3R1YWxOYW1lKCl9Jzogc2NhbGUgcmVxdWlyZXMgcHJlY2lzaW9uIHRvIGJlIHNldGApXG4gICAgfVxuXG4gICAgaWYgKHByZWNpc2lvbiAhPT0gdW5kZWZpbmVkICYmIHByZWNpc2lvbiAhPT0gbnVsbCkge1xuICAgICAgc3FsICs9IHNjYWxlICE9PSB1bmRlZmluZWQgJiYgc2NhbGUgIT09IG51bGwgPyBgKCR7cHJlY2lzaW9ufSwgJHtzY2FsZX0pYCA6IGAoJHtwcmVjaXNpb259KWBcbiAgICB9IGVsc2UgaWYgKHR5cGUgJiYgbWF4bGVuZ3RoICE9PSB1bmRlZmluZWQgJiYgbWF4bGVuZ3RoICE9PSBudWxsKSB7XG4gICAgICBzcWwgKz0gYCgke21heGxlbmd0aH0pYFxuICAgIH1cblxuICAgIGlmICh0aGlzLmdldEF1dG9JbmNyZW1lbnQoKSAmJiBkcml2ZXIuc2hvdWxkU2V0QXV0b0luY3JlbWVudFdoZW5QcmltYXJ5S2V5KCkpIHtcbiAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiKSB7XG4gICAgICAgIHNxbCArPSBcIiBJREVOVElUWVwiXG4gICAgICB9IGVsc2UgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QXV0b0luY3JlbWVudCgpICYmIHRoaXMuZ2V0UHJpbWFyeUtleSgpKSB7XG4gICAgICAgICAgLy8gRG8gbm90aGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInBnc3FsIGF1dG8gaW5jcmVtZW50IG11c3QgYmUgcHJpbWFyeSBrZXlcIilcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3FsICs9IFwiIEFVVE9fSU5DUkVNRU5UXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0aGlzLmdldERlZmF1bHQoKVxuXG4gICAgaWYgKHR5cGVvZiBkZWZhdWx0VmFsdWUgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBjb25zdCBldmFsdWF0ZWREZWZhdWx0ID0gZGVmYXVsdFZhbHVlKClcblxuICAgICAgc3FsICs9IGAgREVGQVVMVCAoYFxuXG4gICAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwicGdzcWxcIiAmJiBldmFsdWF0ZWREZWZhdWx0ID09IFwiVVVJRCgpXCIpIHtcbiAgICAgICAgc3FsICs9IFwiZ2VuX3JhbmRvbV91dWlkKClcIlxuICAgICAgfSBlbHNlIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiICYmIGV2YWx1YXRlZERlZmF1bHQgPT0gXCJVVUlEKClcIikge1xuICAgICAgICBzcWwgKz0gXCJORVdJRCgpXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBldmFsdWF0ZWREZWZhdWx0XG4gICAgICB9XG5cbiAgICAgIHNxbCArPSBcIilcIlxuICAgIH0gZWxzZSBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICBzcWwgKz0gYCBERUZBVUxUICR7b3B0aW9ucy5xdW90ZShkZWZhdWx0VmFsdWUpfWBcbiAgICB9XG5cbiAgICBpZiAodGhpcy5nZXRQcmltYXJ5S2V5KCkpIHNxbCArPSBcIiBQUklNQVJZIEtFWVwiXG4gICAgaWYgKHRoaXMuZ2V0TnVsbCgpID09PSBmYWxzZSkgc3FsICs9IFwiIE5PVCBOVUxMXCJcblxuICAgIGNvbnN0IG5vdGVzID0gdGhpcy5nZXROb3Rlc0ZvckRhdGFiYXNlKGRhdGFiYXNlVHlwZSlcblxuICAgIGlmIChub3RlcyAmJiBkYXRhYmFzZVR5cGUgPT0gXCJteXNxbFwiKSB7XG4gICAgICBzcWwgKz0gYCBDT01NRU5UICR7b3B0aW9ucy5xdW90ZShub3Rlcyl9YFxuICAgIH1cblxuICAgIGNvbnN0IGZvcmVpZ25LZXkgPSB0aGlzLmdldEZvcmVpZ25LZXkoKVxuXG4gICAgaWYgKGZvcmVpZ25LZXkpIHtcbiAgICAgIGxldCBmb3JlaWduS2V5VGFibGUsIGZvcmVpZ25LZXlDb2x1bW5cblxuICAgICAgaWYgKGZvcmVpZ25LZXkgPT09IHRydWUpIHtcbiAgICAgICAgZm9yZWlnbktleUNvbHVtbiA9IFwiaWRcIlxuICAgICAgICBmb3JlaWduS2V5VGFibGUgPSBpbmZsZWN0aW9uLnBsdXJhbGl6ZSh0aGlzLmdldEFjdHVhbE5hbWUoKS5yZXBsYWNlKC9faWQkLywgXCJcIikpXG4gICAgICB9IGVsc2UgaWYgKGZvcmVpZ25LZXkgaW5zdGFuY2VvZiBUYWJsZUZvcmVpZ25LZXkpIHtcbiAgICAgICAgZm9yZWlnbktleUNvbHVtbiA9IGZvcmVpZ25LZXkuZ2V0UmVmZXJlbmNlZENvbHVtbk5hbWUoKVxuICAgICAgICBmb3JlaWduS2V5VGFibGUgPSBmb3JlaWduS2V5LmdldFJlZmVyZW5jZWRUYWJsZU5hbWUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGZvcmVpZ24ga2V5IHR5cGUgZ2l2ZW46ICR7Zm9yZWlnbktleX0gKCR7dHlwZW9mIGZvcmVpZ25LZXl9KWApXG4gICAgICB9XG5cbiAgICAgIHNxbCArPSBgIFJFRkVSRU5DRVMgJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKGZvcmVpZ25LZXlUYWJsZSl9KCR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoZm9yZWlnbktleUNvbHVtbil9KWBcbiAgICB9XG5cbiAgICByZXR1cm4gc3FsXG4gIH1cbn1cbiJdfQ==
|
|
@@ -714,6 +714,10 @@ export type FrontendModelTransportConfig = {
|
|
|
714
714
|
* - When true, route built-in commands for path-based models through the shared frontend-model API envelope instead of direct per-command endpoints.
|
|
715
715
|
*/
|
|
716
716
|
shared?: boolean | undefined;
|
|
717
|
+
/**
|
|
718
|
+
* - Optional websocket URL. When set, Velocious creates and manages its own websocket client internally. Subscriptions use the websocket; CRUD uses HTTP and falls back gracefully. Example: `"ws://localhost:3006/websocket"`.
|
|
719
|
+
*/
|
|
720
|
+
websocketUrl?: string | (() => string | undefined | null) | undefined;
|
|
717
721
|
/**
|
|
718
722
|
* - Optional websocket client for shared frontend-model API requests and subscriptions.
|
|
719
723
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"AAqEA,sFAAsF;AACtF;IACE;;;OAGG;IACH,uBAHW,MAAM,iBACN,MAAM,EAKhB;CACF;AAcD;;;;GAIG;AACH,+CAHwC,CAAC,SAA5B,OAAQ,iBAAkB,EACC,CAAC,SAA5B,OAAQ,iBAAkB;IAGrC;;;;OAIG;IACH,mBAJW,YAAY,CAAC,CAAC,CAAC,oBACf,MAAM,oBACN,CAAC,GAAG,IAAI,EAQlB;IALC,uBAAkB;IAClB,yBAAwC;IACxC,2BAAwC;IACxC,oBAAuB;IACvB,kBAAwB;IAG1B;;;OAGG;IACH,uBAHW,GAAG,GACD,IAAI,CAKhB;IAED;;OAEG;IACH,gBAFa,OAAO,CAInB;IAED;;OAEG;IACH,UAFa,GAAG,CAQf;IAED;;;OAGG;IACH,mBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAY3B;CACF;AAED;;;;GAIG;AACH,8CAHwC,CAAC,SAA5B,OAAQ,iBAAkB,EACC,CAAC,SAA5B,OAAQ,iBAAkB;IAMrC;;;;OAIG;IACH,mBAJW,YAAY,CAAC,CAAC,CAAC,oBACf,MAAM,oBACN,CAAC,GAAG,IAAI,EAQlB;IAdD,qCAAqC;IACrC,cADW,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACrB;IAQV,uBAAkB;IAClB,yBAAwC;IACxC,2BAAwC;IACxC,oBAAuB;IAIzB;;;OAGG;IACH,uBAHW,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACpB,IAAI,CAKhB;IAED;;OAEG;IACH,gBAFa,OAAO,CAInB;IAED;;OAEG;IACH,UAFa,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQlC;IAED;;;OAGG;IACH,oBAHW,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACpB,IAAI,CAMhB;IAED;;;OAGG;IACH,mBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAY3B;IAED;;OAEG;IACH,QAFa,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAI3C;IAED;;OAEG;IACH,WAFa,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAQ3C;CACF;AAUD;;GAEG;AACH;IACE;;;;;;;;OAQG;IACH,mEAPG;QAAqB,EAAE,EAAf,MAAM;QACO,QAAQ,EAArB,MAAM;QACc,WAAW,EAA/B,MAAM,GAAG,IAAI;QACA,QAAQ,EAArB,MAAM;QACW,OAAO,EAAxB,UAAU;QACW,GAAG;KAClC,EAQA;IANC,gBAAiB;IACjB,sBAA6B;IAC7B,gCAAmC;IACnC,sBAA6B;IAC7B,0CAA2B;IAC3B,wBAAmB;IAGrB,8CAA8C;IAC9C,YADc,MAAM,CACoB;IACxC,kDAAkD;IAClD,WADc,UAAU,CACc;IACtC,+CAA+C;IAC/C,eADc,MAAM,GAAG,IAAI,CACmB;IAC9C,oCAAoC;IACpC,YADc,MAAM,CACoB;IACxC,yCAAyC;IACzC,MADc,MAAM,CACQ;IAC5B,4DAA4D;IAC5D,OADc,MAAM,GAAG,IAAI,CACG;CAC/B;AAmKD;;GAEG;AACH;IACE;;;;OAIG;IACH,uCAHG;QAAgC,KAAK,EAA7B,iBAAiB;QACJ,cAAc,EAA3B,MAAM;KAChB,EAIA;IAFC,yBAAkB;IAClB,uBAAoC;IAGtC;;;OAGG;IACH,cAHW,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,CA+B3D;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBlC;IAED;;OAEG;IACH,eAFa,MAAM,CAalB;CACF;AAqXD,uDAAuD;AACvD;IACE,iCAAiC;IACjC,kBADW,MAAM,GAAG,SAAS,CACb;IA+BhB;;;OAGG;IACH,yEAFa,IAAI,CAiBhB;IAED;;OAEG;IACH,yBAFa,2BAA2B,CAMvC;IAED;;;OAGG;IACH,iEAFa,MAAM,CAAC,MAAM,EAAE,OAAO,iBAAiB,GAAG,MAAM,CAAC,CAI7D;IAED;;;;OAIG;IACH,iCAHW,OAAO,iBAAiB,GACtB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gCAHW,OAAO,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAClD,OAAO,iBAAiB,GAAG,IAAI,CAI3C;IAED;;;OAGG;IACH,gEAFa,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAC,CAAC,CAItE;IAED;;;OAGG;IACH,8DAFa,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAI7D;IAED;;;;OAIG;IACH,4EAHW,MAAM,GACJ,iCAAiC,GAAG,IAAI,CAIpD;IAED;;;;OAIG;IACH,gFAHW,MAAM,GACJ;QAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAC,GAAG,IAAI,CAM7D;IAED;;;;OAIG;IACH,gFAHW,MAAM,GACJ,OAAO,iBAAiB,GAAG,IAAI,CAO3C;IA6KD;;;OAGG;IACH,mDAFa,MAAM,CAIlB;IAiDD;;;OAGG;IACH,qDAFa,MAAM,CASlB;IAED;;;;OAIG;IACH,gEAHW,wBAAwB,GACtB,MAAM,CAclB;IAED;;;;OAIG;IACH,oFAHW,GAAG,EAAE,GACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyB/B;IAED;;;;;;OAMG;IACH,qDAFa,MAAM,CAOlB;IAED;;;OAGG;IACH,kCAHW,4BAA4B,GAC1B,IAAI,CAwBhB;IAED;;;;OAIG;IACH,wEAHW,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM/B;IAED;;;;OAIG;IACH,uEAHW,MAAM,GACJ;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAC,CAkC3H;IAED;;;;;OAKG;IACH,0EAJW,iBAAiB,0BACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAchB;IAED;;;;;OAKG;IACH,yFAJW,GAAG,oBACH,OAAO,iBAAiB,GAAG,IAAI,GAC7B,GAAG,CAQf;IAED;;;;;OAKG;IACH,+BALwC,CAAC,SAA5B,OAAQ,iBAAkB,qBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAe3B;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,eAE5B,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;;OAKG;IACH,oBALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;OAIG;IACH,eAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAItC;IAED;;;;OAIG;IACH,YAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAItC;IAED;;;;OAIG;IACH,WAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC9C,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;;OAKG;IACH,eALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GACJ,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAI3C;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,MAAM,CAAC,CAI3B;IAED;;;;OAIG;IACH,mEAHW,CAAC,OAAO,EAAE;QAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC,OAAO,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,GAC/I,OAAO,CAAC,MAAM,IAAI,CAAC,CAgC/B;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAEzB,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAA,GACvE,OAAO,CAAC,GAAG,EAAE,CAAC,CAI1B;IAED;;;;;;;;OAQG;IACH,cARwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,EAAE,UACR,MAAM,YACN,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,SACjF,GAAG,GACD,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,eALwC,CAAC,SAA5B,OAAQ,iBAAkB,mBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,YALwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC/G,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,iBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC/G,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,aALwC,CAAC,SAA5B,OAAQ,iBAAkB,kBAE5B,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAClE,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,gBALwC,CAAC,SAA5B,OAAQ,iBAAkB,mBAE5B,OAAO,GACL,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,eALwC,CAAC,SAA5B,OAAQ,iBAAkB,oBAE5B,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,mBAE5B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAC/B,kBAAkB,CAAC,CAAC,CAAC,CAIjC;IAED;;;;OAIG;IACH,aAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;OAIG;IACH,YAJwC,CAAC,SAA5B,OAAQ,iBAAkB,YAE1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAI3C;IAED;;;;;OAKG;IACH,0BALwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;;OAMG;IACH,sBANwC,CAAC,SAA5B,OAAQ,iBAAkB,uBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aACnB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAC9C,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAIpC;IAED;;;;;OAKG;IACH,cALwC,CAAC,SAA5B,OAAQ,iBAAkB,wBAE5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQpC;IAED;;;;OAIG;IACH,0EAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAUhB;IAED;;;;;OAKG;IACH,sEAJW,iBAAiB,cACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAuBnB;IAED;;;;;OAKG;IACH,gFAJW,OAAO,iBACP,OAAO,GACL,OAAO,CAyDnB;IAED;;;;;OAKG;IACH,+EAJW,OAAO,iBACP,OAAO,GACL,OAAO,CAwBnB;IAED;;;;;OAKG;IACH,uFAJW,MAAM,kBACN,MAAM,GACJ,OAAO,CAYnB;IAkHD;;;;;OAKG;IACH,mEAJW,wBAAwB,WACxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA4DxC;IAED;;;;;;;;;OASG;IACH,2HAPG;QAAqB,WAAW,EAAxB,MAAM;QACgC,WAAW,EAAjD,+BAA+B;QACD,QAAQ;QACZ,OAAO,EAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACN,YAAY,EAAzB,MAAM;KACd,GAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAiCxC;IAED;;;;;;OAMG;IACH,oGAJG;QAA8C,WAAW,EAAjD,+BAA+B;QACL,QAAQ,EAAlC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC3B,GAAU,IAAI,CA0BhB;IAED;;;OAGG;IACH,8EAFa,GAAG,CAAC,MAAM,CAAC,CAevB;IAnxCD;;OAEG;IACH,yBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAa7B;IA3BD,kCAAkC;IAClC,aADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACnB;IACX,uHAAuH;IACvH,gBADW,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,iCAAiC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACrG;IACd,4DAA4D;IAC5D,cADW,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAC5C;IACZ,iCAAiC;IACjC,qBADW,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CACV;IACnB,sBAAsB;IACtB,cADW,OAAO,CACN;IACZ,kCAAkC;IAClC,sBADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACV;IA0HpB;;OAEG;IACH,cAFa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI/B;IAED;;OAEG;IACH,eAFa,OAAO,CAInB;IAED;;OAEG;IACH,eAFa,OAAO,CAInB;IAED;;;OAGG;IACH,+BAHW,OAAO,GACL,IAAI,CAIhB;IAED;;OAEG;IACH,WAFa,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAoBjC;IAED;;OAEG;IACH,aAFa,OAAO,CAInB;IAED;;;OAGG;IACH,wCAHW,MAAM,GACJ,gCAAgC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,iCAAiC,CAAC,GAAG,EAAE,GAAG,CAAC,CAgBpG;IAED;;;OAGG;IACH,oCAHW,MAAM,GACJ,6BAA6B,CAkBzC;IAED;;;OAGG;IACH,mCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAaxB;IAED;;;OAGG;IACH,qCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAUxB;IAED;;;;OAIG;IACH,kCAJW,MAAM,qBACN,GAAG,GACD,GAAG,CAiBf;IAED;;;OAGG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAMhB;IAED;;OAEG;IACH,0BAFa,IAAI,CAIhB;IAUD;;OAEG;IACH,mBAFa,MAAM,GAAG,MAAM,CAW3B;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,GAAG,CAQf;IAED;;;;OAIG;IACH,4BAJW,MAAM,YACN,GAAG,GACD,GAAG,CAgBf;IA4qBD;;;OAGG;IACH,uBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAyCzB;IAED;;;OAGG;IACH,wBAHW,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAED;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;OAEG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CAQzB;CAkKF;uCAlsEa,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK;8CAClF,wBAAwB,GAAG,MAAM;gDAElC;IAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAC;0CAG5B;IAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC;;;;;0BAIrU,MAAM,GAAG,SAAS,GAAG,IAAI;;;;;;;;mCAEzB,MAAM,GAAG,SAAS,GAAG,IAAI;;;;;cAClC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAC,KAAK,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,CAAA;SAAC,CAAC;mBAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;2BAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;;;+BAnB/V,YAAY"}
|