flexdataset 0.21.2 → 0.22.0
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/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +4 -4
- package/dist/src/model.d.ts +4 -3
- package/dist/src/model.js +3 -3
- package/dist/src/schema/table.schema.json +1 -1
- package/dist/src/table-types/{iceberg-parquet.d.ts → iceberg-parquet-v2.d.ts} +17 -8
- package/dist/src/table-types/iceberg-parquet-v2.js +469 -0
- package/dist/src/table-types/registry.js +3 -3
- package/package.json +1 -1
- package/dist/src/table-types/iceberg-parquet.js +0 -471
package/dist/src/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { loadRoot, LoadOutcome, } from './loader';
|
|
|
8
8
|
export { TableTypeBase, TableTypeFields, } from './table-type';
|
|
9
9
|
export { createTableType, } from './table-types/registry';
|
|
10
10
|
export { HiveParquetTable, } from './table-types/hive-parquet';
|
|
11
|
-
export {
|
|
11
|
+
export { IcebergParquetV2Table, } from './table-types/iceberg-parquet-v2';
|
|
12
12
|
export { Postgres18Table, } from './table-types/postgres-18';
|
|
13
13
|
export { validateStructure, StructuralKind, StructuralResult, StructuralError, } from './structural';
|
|
14
14
|
export { isValidHiveType, isValidPostgresType, } from './types';
|
package/dist/src/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.renderDot = exports.buildErDot = exports.buildDagDot = exports.IcebergTransformKind = exports.IcebergTypeKind = exports.transformLegalOnType = exports.parseIcebergTransform = exports.isValidIcebergType = exports.parseIcebergType = exports.isValidPostgresType = exports.isValidHiveType = exports.validateStructure = exports.Postgres18Table = exports.
|
|
20
|
+
exports.renderDot = exports.buildErDot = exports.buildDagDot = exports.IcebergTransformKind = exports.IcebergTypeKind = exports.transformLegalOnType = exports.parseIcebergTransform = exports.isValidIcebergType = exports.parseIcebergType = exports.isValidPostgresType = exports.isValidHiveType = exports.validateStructure = exports.Postgres18Table = exports.IcebergParquetV2Table = exports.HiveParquetTable = exports.createTableType = exports.TableTypeBase = exports.loadRoot = exports.formatViolation = exports.loadValidatedRoot = exports.validateRoot = exports.runSemanticRules = void 0;
|
|
21
21
|
__exportStar(require("./model"), exports);
|
|
22
22
|
var world_1 = require("./world");
|
|
23
23
|
Object.defineProperty(exports, "runSemanticRules", { enumerable: true, get: function () { return world_1.runSemanticRules; } });
|
|
@@ -33,8 +33,8 @@ var registry_1 = require("./table-types/registry");
|
|
|
33
33
|
Object.defineProperty(exports, "createTableType", { enumerable: true, get: function () { return registry_1.createTableType; } });
|
|
34
34
|
var hive_parquet_1 = require("./table-types/hive-parquet");
|
|
35
35
|
Object.defineProperty(exports, "HiveParquetTable", { enumerable: true, get: function () { return hive_parquet_1.HiveParquetTable; } });
|
|
36
|
-
var
|
|
37
|
-
Object.defineProperty(exports, "
|
|
36
|
+
var iceberg_parquet_v2_1 = require("./table-types/iceberg-parquet-v2");
|
|
37
|
+
Object.defineProperty(exports, "IcebergParquetV2Table", { enumerable: true, get: function () { return iceberg_parquet_v2_1.IcebergParquetV2Table; } });
|
|
38
38
|
var postgres_18_1 = require("./table-types/postgres-18");
|
|
39
39
|
Object.defineProperty(exports, "Postgres18Table", { enumerable: true, get: function () { return postgres_18_1.Postgres18Table; } });
|
|
40
40
|
var structural_1 = require("./structural");
|
|
@@ -55,4 +55,4 @@ var er_1 = require("./diagram/er");
|
|
|
55
55
|
Object.defineProperty(exports, "buildErDot", { enumerable: true, get: function () { return er_1.buildErDot; } });
|
|
56
56
|
var render_1 = require("./diagram/render");
|
|
57
57
|
Object.defineProperty(exports, "renderDot", { enumerable: true, get: function () { return render_1.renderDot; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4QixpQ0FJaUI7QUFEYix5R0FBQSxnQkFBZ0IsT0FBQTtBQUVwQix1Q0FLb0I7QUFKaEIsd0dBQUEsWUFBWSxPQUFBO0FBQ1osNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsMkdBQUEsZUFBZSxPQUFBO0FBR25CLG1DQUdrQjtBQUZkLGtHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUdzQjtBQUZsQiwyR0FBQSxhQUFhLE9BQUE7QUFHakIsbURBRWdDO0FBRDVCLDJHQUFBLGVBQWUsT0FBQTtBQUVuQiwyREFFb0M7QUFEaEMsZ0hBQUEsZ0JBQWdCLE9BQUE7QUFFcEIsdUVBRTBDO0FBRHRDLDJIQUFBLHFCQUFxQixPQUFBO0FBRXpCLHlEQUVtQztBQUQvQiw4R0FBQSxlQUFlLE9BQUE7QUFFbkIsMkNBS3NCO0FBSmxCLCtHQUFBLGlCQUFpQixPQUFBO0FBS3JCLGlDQUdpQjtBQUZiLHdHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLG1CQUFtQixPQUFBO0FBRXZCLHFDQVNtQjtBQVJmLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLCtHQUFBLG9CQUFvQixPQUFBO0FBRXBCLDBHQUFBLGVBQWUsT0FBQTtBQUVmLCtHQUFBLG9CQUFvQixPQUFBO0FBRXhCLHFDQUV1QjtBQURuQixrR0FBQSxXQUFXLE9BQUE7QUFFZixtQ0FFc0I7QUFEbEIsZ0dBQUEsVUFBVSxPQUFBO0FBRWQsMkNBRTBCO0FBRHRCLG1HQUFBLFNBQVMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljIEFQSSBmb3IgdGhlIEZERCBjb3JlIHBhY2thZ2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQge1xuICAgIExvYWRlZFNjaGVtYSxcbiAgICBXb3JsZCxcbiAgICBydW5TZW1hbnRpY1J1bGVzLFxufSBmcm9tICcuL3dvcmxkJztcbmV4cG9ydCB7XG4gICAgdmFsaWRhdGVSb290LFxuICAgIGxvYWRWYWxpZGF0ZWRSb290LFxuICAgIGZvcm1hdFZpb2xhdGlvbixcbiAgICBMb2FkVmFsaWRhdGVkT3B0aW9ucyxcbn0gZnJvbSAnLi92YWxpZGF0ZSc7XG5leHBvcnQge1xuICAgIGxvYWRSb290LFxuICAgIExvYWRPdXRjb21lLFxufSBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQge1xuICAgIFRhYmxlVHlwZUJhc2UsXG4gICAgVGFibGVUeXBlRmllbGRzLFxufSBmcm9tICcuL3RhYmxlLXR5cGUnO1xuZXhwb3J0IHtcbiAgICBjcmVhdGVUYWJsZVR5cGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvcmVnaXN0cnknO1xuZXhwb3J0IHtcbiAgICBIaXZlUGFycXVldFRhYmxlLFxufSBmcm9tICcuL3RhYmxlLXR5cGVzL2hpdmUtcGFycXVldCc7XG5leHBvcnQge1xuICAgIEljZWJlcmdQYXJxdWV0VjJUYWJsZSxcbn0gZnJvbSAnLi90YWJsZS10eXBlcy9pY2ViZXJnLXBhcnF1ZXQtdjInO1xuZXhwb3J0IHtcbiAgICBQb3N0Z3JlczE4VGFibGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvcG9zdGdyZXMtMTgnO1xuZXhwb3J0IHtcbiAgICB2YWxpZGF0ZVN0cnVjdHVyZSxcbiAgICBTdHJ1Y3R1cmFsS2luZCxcbiAgICBTdHJ1Y3R1cmFsUmVzdWx0LFxuICAgIFN0cnVjdHVyYWxFcnJvcixcbn0gZnJvbSAnLi9zdHJ1Y3R1cmFsJztcbmV4cG9ydCB7XG4gICAgaXNWYWxpZEhpdmVUeXBlLFxuICAgIGlzVmFsaWRQb3N0Z3Jlc1R5cGUsXG59IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHtcbiAgICBwYXJzZUljZWJlcmdUeXBlLFxuICAgIGlzVmFsaWRJY2ViZXJnVHlwZSxcbiAgICBwYXJzZUljZWJlcmdUcmFuc2Zvcm0sXG4gICAgdHJhbnNmb3JtTGVnYWxPblR5cGUsXG4gICAgSWNlYmVyZ1R5cGUsXG4gICAgSWNlYmVyZ1R5cGVLaW5kLFxuICAgIEljZWJlcmdUcmFuc2Zvcm0sXG4gICAgSWNlYmVyZ1RyYW5zZm9ybUtpbmQsXG59IGZyb20gJy4vaWNlYmVyZyc7XG5leHBvcnQge1xuICAgIGJ1aWxkRGFnRG90LFxufSBmcm9tICcuL2RpYWdyYW0vZGFnJztcbmV4cG9ydCB7XG4gICAgYnVpbGRFckRvdCxcbn0gZnJvbSAnLi9kaWFncmFtL2VyJztcbmV4cG9ydCB7XG4gICAgcmVuZGVyRG90LFxufSBmcm9tICcuL2RpYWdyYW0vcmVuZGVyJztcbiJdfQ==
|
package/dist/src/model.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/** Table engine. Each value unlocks engine-specific semantic checks. */
|
|
11
11
|
export declare enum TableType {
|
|
12
12
|
HIVE_PARQUET = "hive_parquet",
|
|
13
|
-
|
|
13
|
+
ICEBERG_PARQUET_V2 = "iceberg_parquet_v2",
|
|
14
14
|
POSTGRES_18 = "postgres_18"
|
|
15
15
|
}
|
|
16
16
|
/** Every known `tableType` string, for membership checks. */
|
|
@@ -211,8 +211,9 @@ export interface TableDefinition {
|
|
|
211
211
|
/** Whether this table is the top of the pipeline. */
|
|
212
212
|
readonly isRawData: boolean;
|
|
213
213
|
/**
|
|
214
|
-
* Iceberg table format version
|
|
215
|
-
*
|
|
214
|
+
* Iceberg table format version. Optional and engine-specific: only the
|
|
215
|
+
* Iceberg engine validates it, and on `iceberg_parquet_v2` it must be `2`
|
|
216
|
+
* when present. Other engines ignore it.
|
|
216
217
|
*/
|
|
217
218
|
readonly formatVersion?: number;
|
|
218
219
|
/** Data columns. */
|
package/dist/src/model.js
CHANGED
|
@@ -14,13 +14,13 @@ exports.TABLE_TYPES = exports.TableType = void 0;
|
|
|
14
14
|
var TableType;
|
|
15
15
|
(function (TableType) {
|
|
16
16
|
TableType["HIVE_PARQUET"] = "hive_parquet";
|
|
17
|
-
TableType["
|
|
17
|
+
TableType["ICEBERG_PARQUET_V2"] = "iceberg_parquet_v2";
|
|
18
18
|
TableType["POSTGRES_18"] = "postgres_18";
|
|
19
19
|
})(TableType || (exports.TableType = TableType = {}));
|
|
20
20
|
/** Every known `tableType` string, for membership checks. */
|
|
21
21
|
exports.TABLE_TYPES = [
|
|
22
22
|
TableType.HIVE_PARQUET,
|
|
23
|
-
TableType.
|
|
23
|
+
TableType.ICEBERG_PARQUET_V2,
|
|
24
24
|
TableType.POSTGRES_18,
|
|
25
25
|
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHOzs7QUFFSCx3RUFBd0U7QUFDeEUsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDBDQUE2QixDQUFBO0lBQzdCLGdEQUFtQyxDQUFBO0lBQ25DLHdDQUEyQixDQUFBO0FBQy9CLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEI7QUFFRCw2REFBNkQ7QUFDaEQsUUFBQSxXQUFXLEdBQXNCO0lBQzFDLFNBQVMsQ0FBQyxZQUFZO0lBQ3RCLFNBQVMsQ0FBQyxlQUFlO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcmUgZGF0YSBtb2RlbCBmb3IgdGhlIEZsZXhpYmxlIERhdGFzZXQgRGVmaW5pdGlvbiAoRkREKSBzdGFuZGFyZC5cbiAqXG4gKiBUaGVzZSBpbnRlcmZhY2VzIGRlc2NyaWJlIHRoZSAqcHVyZSBkYXRhKiBzaGFwZSBvZiBhIGRhdGFzZXQ6IGNvbHVtbnMsXG4gKiBwYXJ0aXRpb25zLCBmb3JlaWduIGtleXMsIHRhYmxlIGRlZmluaXRpb25zLCBhbmQgdGhlIHZpb2xhdGlvbnMgdGhlXG4gKiB2YWxpZGF0b3IgZW1pdHMuIFRoZSBsb2FkZWQgd29ybGQgKHNjaGVtYXMgKyB0YWJsZSBpbnN0YW5jZXMpIGFuZCB0aGVcbiAqIGFic3RyYWN0IHRhYmxlIGJhc2UgY2xhc3MgbGl2ZSBpbiBgLi93b3JsZGAgYW5kIGAuL3RhYmxlLXR5cGVgIHNvIHRoaXNcbiAqIG1vZHVsZSBzdGF5cyBhIGxlYWYgd2l0aCBubyBiZWhhdmlvci5cbiAqL1xuXG4vKiogVGFibGUgZW5naW5lLiBFYWNoIHZhbHVlIHVubG9ja3MgZW5naW5lLXNwZWNpZmljIHNlbWFudGljIGNoZWNrcy4gKi9cbmV4cG9ydCBlbnVtIFRhYmxlVHlwZSB7XG4gICAgSElWRV9QQVJRVUVUID0gJ2hpdmVfcGFycXVldCcsXG4gICAgSUNFQkVSR19QQVJRVUVUID0gJ2ljZWJlcmdfcGFycXVldCcsXG4gICAgUE9TVEdSRVNfMTggPSAncG9zdGdyZXNfMTgnLFxufVxuXG4vKiogRXZlcnkga25vd24gYHRhYmxlVHlwZWAgc3RyaW5nLCBmb3IgbWVtYmVyc2hpcCBjaGVja3MuICovXG5leHBvcnQgY29uc3QgVEFCTEVfVFlQRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAgIFRhYmxlVHlwZS5ISVZFX1BBUlFVRVQsXG4gICAgVGFibGVUeXBlLklDRUJFUkdfUEFSUVVFVCxcbiAgICBUYWJsZVR5cGUuUE9TVEdSRVNfMTgsXG5dO1xuXG4vKiogQSBzaW5nbGUgZGF0YSBjb2x1bW4uICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XG4gICAgLyoqIENvbHVtbiBuYW1lICh1bmlxdWUgd2l0aGluIGEgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBFbmdpbmUtc3BlY2lmaWMgdHlwZSBzdHJpbmcgKGUuZy4gYGxvbmdgLCBgdmFyY2hhcigyNTUpYCkuICovXG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBjb2x1bW4gbWF5IGhvbGQgbnVsbC4gT3B0aW9uYWw6IHdoZW4gb21pdHRlZCwgbnVsbGFiaWxpdHkgaXNcbiAgICAgKiB1bnNwZWNpZmllZCBhbmQgdGhlIG51bGxhYmlsaXR5IGNyb3NzLWNoZWNrcyBkbyBub3QgZmlyZS4gYGZhbHNlYCBtYXJrcyBhXG4gICAgICogTk9UIE5VTEwgY29sdW1uIChJY2ViZXJnIGByZXF1aXJlZGApOyBgdHJ1ZWAgbWFya3MgYW4gZXhwbGljaXRseSBudWxsYWJsZVxuICAgICAqIGNvbHVtbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBudWxsYWJsZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZWQtY29sdW1uIGtpbmQgKFBvc3RncmVzKTogYHN0b3JlZGAgb3IgYHZpcnR1YWxgLiBPcHRpb25hbDsgd2hlblxuICAgICAqIHNldCwgdGhlIGNvbHVtbiBpcyBjb21wdXRlZCBmcm9tIGBleHByZXNzaW9uQ29sdW1uc2AuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZ2VuZXJhdGVkPzogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBnZW5lcmF0aW9uIGV4cHJlc3Npb24gKFBvc3RncmVzIGdlbmVyYXRlZCBjb2x1bW4pLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgICAvKiogQ29sdW1ucyB0aGUgZ2VuZXJhdGlvbiBgZXhwcmVzc2lvbmAgcmVmZXJlbmNlcyAoUG9zdGdyZXMpLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb25Db2x1bW5zPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGl0eS1jb2x1bW4ga2luZCAoUG9zdGdyZXMpOiBgYWx3YXlzYCBvciBgYnlEZWZhdWx0YC4gT3B0aW9uYWw7IHdoZW5cbiAgICAgKiBzZXQsIHRoZSBjb2x1bW4gaXMgYEdFTkVSQVRFRCDigKYgQVMgSURFTlRJVFlgLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkZW50aXR5Pzogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBjb2x1bW4gZGVmYXVsdCBleHByZXNzaW9uIChQb3N0Z3JlcykuICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdD86IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW4gY29sbGF0aW9uIG5hbWUgKFBvc3RncmVzKS4gT3BhcXVlOyBsZWdhbCBvbmx5IG9uIHRleHQgdHlwZXMuICovXG4gICAgcmVhZG9ubHkgY29sbGF0aW9uPzogc3RyaW5nO1xuXG4gICAgLyoqIFBlci1jb2x1bW4gVE9BU1QgY29tcHJlc3Npb24gKFBvc3RncmVzKTogYHBnbHpgIG9yIGBsejRgLiAqL1xuICAgIHJlYWRvbmx5IGNvbXByZXNzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqIFBlci1jb2x1bW4gc3RvcmFnZSBzdHJhdGVneSAoUG9zdGdyZXMpOiBgcGxhaW5gL2BleHRlcm5hbGAvYGV4dGVuZGVkYC9gbWFpbmAvYGRlZmF1bHRgLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBwYXJ0aXRpb24gZW50cnkuIFRoZSBtZWFuaW5nIG9mIGBuYW1lYCBhbmQgYHR5cGVgIGlzIGVuZ2luZS1zcGVjaWZpYzogZm9yXG4gKiBIaXZlLCBgbmFtZWAgaXMgYSBuZXcgcGFydGl0aW9uIGNvbHVtbiBhbmQgYHR5cGVgIGlzIGEgbm9ybWFsIHR5cGU7IGZvclxuICogSWNlYmVyZywgYG5hbWVgIGlzIGEgc291cmNlIGRhdGEgY29sdW1uIGFuZCBgdHlwZWAgaXMgYSB0cmFuc2Zvcm07IGZvclxuICogUG9zdGdyZXMsIGBuYW1lYCBpcyBhbiBleGlzdGluZyBrZXkgY29sdW1uIGFuZCBgdHlwZWAgaXMgdGhlIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpdGlvbiB7XG4gICAgLyoqIEhpdmU6IG5ldyBwYXJ0aXRpb24gY29sdW1uIG5hbWUuIEljZWJlcmcgLyBQb3N0Z3JlczogZXhpc3RpbmcgZGF0YS9rZXkgY29sdW1uIG5hbWUuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEhpdmU6IGEgbm9ybWFsIHR5cGUuIEljZWJlcmc6IGEgdHJhbnNmb3JtIChlLmcuIGBkYXlgLCBgYnVja2V0WzE2XWApLiBQb3N0Z3JlczogYSBzdHJhdGVneSAoYHJhbmdlYCAvIGBsaXN0YCAvIGBoYXNoYCkuICovXG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzaW5nbGUgc29ydCBmaWVsZCBpbiBhbiBJY2ViZXJnIHRhYmxlJ3Mgc29ydCBvcmRlci4gYGNvbHVtbmAgaXMgYSBkYXRhXG4gKiBjb2x1bW47IGB0cmFuc2Zvcm1gIGlzIGFuIG9wdGlvbmFsIEljZWJlcmcgdHJhbnNmb3JtIGFwcGxpZWQgYmVmb3JlIHNvcnRpbmdcbiAqIChkZWZhdWx0cyB0byBpZGVudGl0eSk7IGBkaXJlY3Rpb25gIGFuZCBgbnVsbE9yZGVyYCBzZXQgdGhlIG9yZGVyaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRGaWVsZCB7XG4gICAgLyoqIFNvdXJjZSBkYXRhIGNvbHVtbiB0byBzb3J0IGJ5LiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIE9wdGlvbmFsIEljZWJlcmcgdHJhbnNmb3JtIGFwcGxpZWQgYmVmb3JlIHNvcnRpbmcgKGUuZy4gYGRheWAsIGBidWNrZXRbMTZdYCkuICovXG4gICAgcmVhZG9ubHkgdHJhbnNmb3JtPzogc3RyaW5nO1xuXG4gICAgLyoqIFNvcnQgZGlyZWN0aW9uIChgYXNjYCBvciBgZGVzY2ApLiAqL1xuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqIE51bGwgb3JkZXJpbmcgKGBudWxscy1maXJzdGAgb3IgYG51bGxzLWxhc3RgKS4gKi9cbiAgICByZWFkb25seSBudWxsT3JkZXI6IHN0cmluZztcbn1cblxuLyoqIEEgc2luZ2xlIGtleSBjb2x1bW4gd2l0aGluIGFuIGluZGV4LCB3aXRoIG9wdGlvbmFsIG9yZGVyaW5nIG1vZGlmaWVycy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhDb2x1bW4ge1xuICAgIC8qKiBJbmRleGVkIGNvbHVtbiBuYW1lLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBPcHRpb25hbCBzb3J0IG9yZGVyIChgYXNjYCBvciBgZGVzY2ApLiAqL1xuICAgIHJlYWRvbmx5IHNvcnQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3B0aW9uYWwgbnVsbCBvcmRlcmluZyAoYGZpcnN0YCBvciBgbGFzdGApLiAqL1xuICAgIHJlYWRvbmx5IG51bGxzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc2Vjb25kYXJ5IGluZGV4IChlLmcuIFBvc3RncmVzKS4gYGNvbHVtbnNgIGFyZSB0aGUga2V5IGNvbHVtbnM7IGBpbmNsdWRlYFxuICogYXJlIG5vbi1rZXkgY292ZXJpbmcgY29sdW1uczsgYHdoZXJlYCBpcyBhbiBvcGFxdWUgcGFydGlhbC1pbmRleCBwcmVkaWNhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXgge1xuICAgIC8qKiBJbmRleCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEFjY2VzcyBtZXRob2QgKGUuZy4gYGJ0cmVlYCwgYGhhc2hgLCBgZ2luYCkuICovXG4gICAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5kZXggZW5mb3JjZXMgdW5pcXVlbmVzcy4gKi9cbiAgICByZWFkb25seSB1bmlxdWU/OiBib29sZWFuO1xuXG4gICAgLyoqIEtleSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IEluZGV4Q29sdW1uW107XG5cbiAgICAvKiogTm9uLWtleSBjb3ZlcmluZyBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGluY2x1ZGU6IHN0cmluZ1tdO1xuXG4gICAgLyoqIE9wdGlvbmFsIHBhcnRpYWwtaW5kZXggcHJlZGljYXRlIChvcGFxdWUpLiAqL1xuICAgIHJlYWRvbmx5IHdoZXJlPzogc3RyaW5nO1xufVxuXG4vKiogQSB0YWJsZS1sZXZlbCBVTklRVUUgY29uc3RyYWludCBvdmVyIG9uZSBvciBtb3JlIGNvbHVtbnMgKFBvc3RncmVzKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5pcXVlQ29uc3RyYWludCB7XG4gICAgLyoqIENvbnN0cmFpbnQgbmFtZSAodW5pcXVlIHdpdGhpbiB0aGUgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBjb25zdHJhaW50IHNwYW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIFdoZXRoZXIgbnVsbHMgYXJlIHRyZWF0ZWQgYXMgbm90IGRpc3RpbmN0IChgTlVMTFMgTk9UIERJU1RJTkNUYCkuICovXG4gICAgcmVhZG9ubHkgbnVsbHNOb3REaXN0aW5jdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBDSEVDSyBjb25zdHJhaW50IChQb3N0Z3JlcykuIGBleHByZXNzaW9uYCBpcyBhbiBvcGFxdWUgcHJlZGljYXRlOyBgY29sdW1uc2BcbiAqIGlzIHRoZSBleHBsaWNpdCBsaXN0IG9mIGNvbHVtbnMgaXQgcmVmZXJlbmNlcywgd2hpY2ggaXMgd2hhdCBnZXRzIHZhbGlkYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja0NvbnN0cmFpbnQge1xuICAgIC8qKiBDb25zdHJhaW50IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGJvb2xlYW4gcHJlZGljYXRlLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb246IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBwcmVkaWNhdGUgcmVmZXJlbmNlcy4gKi9cbiAgICByZWFkb25seSBjb2x1bW5zOiBzdHJpbmdbXTtcbn1cblxuLyoqIEEgc29ydCBjb2x1bW4gd2l0aGluIGEgSGl2ZSBidWNrZXRpbmcgc3BlYy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0U29ydCB7XG4gICAgLyoqIENvbHVtbiB0byBzb3J0IGVhY2ggYnVja2V0IGJ5LiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIFNvcnQgZGlyZWN0aW9uIChgYXNjYCBvciBgZGVzY2AsIGNhc2UtaW5zZW5zaXRpdmUpLiAqL1xuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhpdmUgYnVja2V0aW5nIChgQ0xVU1RFUkVEIEJZIOKApiBJTlRPIE4gQlVDS0VUUyBbU09SVEVEIEJZIOKApl1gKS4gYGNvbHVtbnNgIGFyZVxuICogdGhlIGJ1Y2tldC1rZXkgY29sdW1ucywgYGJ1Y2tldENvdW50YCB0aGUgbnVtYmVyIG9mIGJ1Y2tldHMsIGFuZCBgc29ydGVkQnlgXG4gKiB0aGUgb3B0aW9uYWwgaW50cmEtYnVja2V0IHNvcnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0aW5nIHtcbiAgICAvKiogQnVja2V0LWtleSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIE51bWJlciBvZiBidWNrZXRzLiAqL1xuICAgIHJlYWRvbmx5IGJ1Y2tldENvdW50OiBudW1iZXI7XG5cbiAgICAvKiogT3B0aW9uYWwgaW50cmEtYnVja2V0IHNvcnQgY29sdW1ucy4gKi9cbiAgICByZWFkb25seSBzb3J0ZWRCeTogQnVja2V0U29ydFtdO1xufVxuXG4vKiogT25lIGVsZW1lbnQgb2YgYW4gZXhjbHVzaW9uIGNvbnN0cmFpbnQ6IGEgY29sdW1uIGFuZCBpdHMgb3BlcmF0b3IuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2x1c2lvbkVsZW1lbnQge1xuICAgIC8qKiBDb2x1bW4gdGhlIGVsZW1lbnQgYXBwbGllcyB0by4gKi9cbiAgICByZWFkb25seSBjb2x1bW46IHN0cmluZztcblxuICAgIC8qKiBPcGFxdWUgb3BlcmF0b3IgKGUuZy4gYCYmYCwgYD1gKS4gKi9cbiAgICByZWFkb25seSBvcGVyYXRvcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGV4Y2x1c2lvbiBjb25zdHJhaW50IChQb3N0Z3Jlcyk6IG5vIHR3byByb3dzIG1heSBoYXZlIGFsbCBsaXN0ZWRcbiAqIGNvbHVtbi9vcGVyYXRvciBwYWlycyBldmFsdWF0ZSB0cnVlIHRvZ2V0aGVyIChnZW5lcmFsaXplZCB1bmlxdWVuZXNzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGNsdXNpb25Db25zdHJhaW50IHtcbiAgICAvKiogQ29uc3RyYWludCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEluZGV4IGFjY2VzcyBtZXRob2QgKGBnaXN0YCBvciBgc3BnaXN0YCkuICovXG4gICAgcmVhZG9ubHkgdXNpbmc6IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW4vb3BlcmF0b3IgZWxlbWVudHMuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudHM6IEV4Y2x1c2lvbkVsZW1lbnRbXTtcbn1cblxuLyoqXG4gKiBIaXZlIHNrZXcgb3B0aW1pemF0aW9uIChgU0tFV0VEIEJZIChjb2xzKSBPTiAoKHZhbHVlcyksIOKApilgKS4gYGNvbHVtbnNgIGFyZVxuICogdGhlIHNrZXdlZCBjb2x1bW5zOyBgb25gIGlzIHRoZSBsaXN0IG9mIGhpZ2gtZnJlcXVlbmN5IHZhbHVlIHR1cGxlcywgZWFjaCBvZlxuICogd2hpY2ggbXVzdCBoYXZlIG9uZSB2YWx1ZSBwZXIgc2tld2VkIGNvbHVtbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa2V3ZWRCeSB7XG4gICAgLyoqIFNrZXdlZCBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIEhpZ2gtZnJlcXVlbmN5IHZhbHVlIHR1cGxlcyAob25lIHZhbHVlIHBlciBza2V3ZWQgY29sdW1uKS4gKi9cbiAgICByZWFkb25seSBvbjogc3RyaW5nW11bXTtcblxuICAgIC8qKiBXaGV0aGVyIHNrZXdlZCB2YWx1ZXMgYXJlIHN0b3JlZCBhcyBzZXBhcmF0ZSBkaXJlY3RvcmllcyAobGlzdCBidWNrZXRpbmcpLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JlZEFzRGlyZWN0b3JpZXM/OiBib29sZWFuO1xufVxuXG4vKiogSGl2ZSBzdG9yYWdlIGZvcm1hdCBhbmQgU2VyRGUgcHJvcGVydGllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGl2ZVN0b3JhZ2Uge1xuICAgIC8qKiBTdG9yZWQtYXMgZmlsZSBmb3JtYXQgKGUuZy4gYHBhcnF1ZXRgKS4gKi9cbiAgICByZWFkb25seSBzdG9yZWRBcz86IHN0cmluZztcblxuICAgIC8qKiBGcmVlLWZvcm0gU2VyRGUgcHJvcGVydGllcy4gKi9cbiAgICByZWFkb25seSBzZXJkZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKiBBIGZvcmVpZ24ta2V5IHJlZmVyZW5jZSB0byBhIGNvbHVtbiBpbiBhbm90aGVyIHRhYmxlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JlaWduS2V5IHtcbiAgICAvKiogUmVmZXJlbmNlZCB0YWJsZSBpbiBgc2NoZW1hLnRhYmxlYCBmb3JtYXQuICovXG4gICAgcmVhZG9ubHkgc291cmNlVGFibGU6IHN0cmluZztcblxuICAgIC8qKiBSZWZlcmVuY2VkIGNvbHVtbiBpbiB0aGUgc291cmNlIHRhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHNvdXJjZUNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIExvY2FsIGNvbHVtbiB0aGF0IGhvbGRzIHRoZSByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgbG9jYWxDb2x1bW46IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsb2NhbCBjb2x1bW4gbWF5IGJlIG51bGwuICovXG4gICAgcmVhZG9ubHkgYWxsb3dOdWxsczogYm9vbGVhbjtcbn1cblxuLyoqIE5vcm1hbGl6ZWQgdGFibGUgZGVmaW5pdGlvbiAob3B0aW9uYWwgYXJyYXlzIGRlZmF1bHRlZCB0byBlbXB0eSkuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRGVmaW5pdGlvbiB7XG4gICAgLyoqIFNwZWMgdmVyc2lvbiBvZiB0aGUgZmlsZS4gKi9cbiAgICByZWFkb25seSBzcGVjVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogRW5naW5lLiBNYXkgYmUgYW4gdW5rbm93biBzdHJpbmcgaWYgdGhlIGZpbGUgZmFpbGVkIHN0cnVjdHVyYWwgY2hlY2tzLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlVHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyB0YWJsZSBpcyB0aGUgdG9wIG9mIHRoZSBwaXBlbGluZS4gKi9cbiAgICByZWFkb25seSBpc1Jhd0RhdGE6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJY2ViZXJnIHRhYmxlIGZvcm1hdCB2ZXJzaW9uICgxLCAyLCBvciAzKS4gT3B0aW9uYWwgYW5kIGVuZ2luZS1zcGVjaWZpYzpcbiAgICAgKiBvbmx5IHRoZSBJY2ViZXJnIGVuZ2luZSB2YWxpZGF0ZXMgaXQuIE90aGVyIGVuZ2luZXMgaWdub3JlIGl0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZvcm1hdFZlcnNpb24/OiBudW1iZXI7XG5cbiAgICAvKiogRGF0YSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gICAgLyoqIFByaW1hcnkta2V5IGNvbHVtbiBuYW1lcy4gKi9cbiAgICByZWFkb25seSBwcmltYXJ5S2V5OiBzdHJpbmdbXTtcblxuICAgIC8qKiBQYXJ0aXRpb24gZW50cmllcyAoZW5naW5lLXNwZWNpZmljIHNlbWFudGljcykuICovXG4gICAgcmVhZG9ubHkgcGFydGl0aW9uczogUGFydGl0aW9uW107XG5cbiAgICAvKiogSWNlYmVyZyBzb3J0IG9yZGVyIChvcmRlcmVkIHNvcnQgZmllbGRzKS4gT3B0aW9uYWw7IG90aGVyIGVuZ2luZXMgaWdub3JlIGl0LiAqL1xuICAgIHJlYWRvbmx5IHNvcnRPcmRlcjogU29ydEZpZWxkW107XG5cbiAgICAvKiogSWNlYmVyZyBpZGVudGlmaWVyIGZpZWxkcyAodGhlIHJvdy1pZGVudGl0eSAvIGVxdWFsaXR5LWRlbGV0ZSBrZXkpLiBPcHRpb25hbC4gKi9cbiAgICByZWFkb25seSBpZGVudGlmaWVyRmllbGRzOiBzdHJpbmdbXTtcblxuICAgIC8qKiBTZWNvbmRhcnkgaW5kZXhlcyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBpbmRleGVzOiBJbmRleFtdO1xuXG4gICAgLyoqIFVOSVFVRSBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSB1bmlxdWVDb25zdHJhaW50czogVW5pcXVlQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIENIRUNLIGNvbnN0cmFpbnRzIChQb3N0Z3JlcykuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSB0aGVtLiAqL1xuICAgIHJlYWRvbmx5IGNoZWNrQ29uc3RyYWludHM6IENoZWNrQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEV4Y2x1c2lvbiBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBleGNsdXNpb25Db25zdHJhaW50czogRXhjbHVzaW9uQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEhpdmUgYnVja2V0aW5nIHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBidWNrZXRpbmc/OiBCdWNrZXRpbmc7XG5cbiAgICAvKiogSGl2ZSBza2V3IHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBza2V3ZWRCeT86IFNrZXdlZEJ5O1xuXG4gICAgLyoqIEhpdmUgc3RvcmFnZSBmb3JtYXQgLyBTZXJEZSBzcGVjLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgaXQuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IEhpdmVTdG9yYWdlO1xuXG4gICAgLyoqXG4gICAgICogRW5naW5lIHRhYmxlIHByb3BlcnRpZXMgYXMgYSBzdHJpbmfihpJzdHJpbmcgbWFwIChlLmcuIEljZWJlcmdcbiAgICAgKiBgd3JpdGUudGFyZ2V0LWZpbGUtc2l6ZS1ieXRlc2AsIEhpdmUgYHBhcnF1ZXQuY29tcHJlc3Npb25gKS4gT3B0aW9uYWwuXG4gICAgICogT25seSBrZXlzIHdpdGggYSBrbm93biwgY2xvc2VkIGxlZ2FsIGRvbWFpbiBhcmUgdmFsaWRhdGVkIHBlciBlbmdpbmU7XG4gICAgICogdW5rbm93biBrZXlzIHBhc3MgdGhyb3VnaCB1bnZhbGlkYXRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWJsZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICAvKiogVXBzdHJlYW0gdGFibGVzIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBkZXBlbmRzT246IHN0cmluZ1tdO1xuXG4gICAgLyoqIEZvcmVpZ24ga2V5cy4gKi9cbiAgICByZWFkb25seSBmb3JlaWduS2V5czogRm9yZWlnbktleVtdO1xufVxuXG4vKiogQSBzY2hlbWEtZGVzY3JpcHRpb24gZmlsZSdzIG5vcm1hbGl6ZWQgY29udGVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVzY3JpcHRpb24ge1xuICAgIC8qKiBTcGVjIHZlcnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IHN0cmluZztcblxuICAgIC8qKiBIdW1hbiBkZXNjcmlwdGlvbi4gKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKiogU2V2ZXJpdHkgb2YgYSB2aW9sYXRpb24uICovXG5leHBvcnQgdHlwZSBWaW9sYXRpb25MZXZlbCA9ICdlcnJvcicgfCAnd2FybmluZyc7XG5cbi8qKiBBIHNpbmdsZSB2YWxpZGF0aW9uIGZpbmRpbmcuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpb2xhdGlvbiB7XG4gICAgLyoqIFNldmVyaXR5LiBgZXJyb3JgIGZhaWxzIHZhbGlkYXRpb247IGB3YXJuaW5nYCBkb2VzIG5vdC4gKi9cbiAgICByZWFkb25seSBsZXZlbDogVmlvbGF0aW9uTGV2ZWw7XG5cbiAgICAvKiogU3RhYmxlIG1hY2hpbmUtcmVhZGFibGUgcnVsZSBjb2RlIChlLmcuIGBQS19DT0xVTU5TX0VYSVNUYCkuICovXG4gICAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyBzY2hlbWEsIGlmIGFwcGxpY2FibGUuICovXG4gICAgcmVhZG9ubHkgc2NoZW1hPzogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyB0YWJsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSB0YWJsZT86IHN0cmluZztcblxuICAgIC8qKiBGaWVsZCBwYXRoIHdpdGhpbiB0aGUgZmlsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSBmaWVsZD86IHN0cmluZztcblxuICAgIC8qKiBTb3VyY2UgZmlsZSBwYXRoLCBpZiBhcHBsaWNhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4tcmVhZGFibGUgbWVzc2FnZS4gKi9cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgYWdncmVnYXRlIHJlc3VsdCBvZiB2YWxpZGF0aW5nIGEgcm9vdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgLyoqIFRydWUgd2hlbiB0aGVyZSBhcmUgbm8gYGVycm9yYC1sZXZlbCB2aW9sYXRpb25zLiAqL1xuICAgIHJlYWRvbmx5IG9rOiBib29sZWFuO1xuXG4gICAgLyoqIEFsbCBmaW5kaW5ncywgZXJyb3JzIGFuZCB3YXJuaW5ncy4gKi9cbiAgICByZWFkb25seSB2aW9sYXRpb25zOiBWaW9sYXRpb25bXTtcbn1cbiJdfQ==
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHOzs7QUFFSCx3RUFBd0U7QUFDeEUsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDBDQUE2QixDQUFBO0lBQzdCLHNEQUF5QyxDQUFBO0lBQ3pDLHdDQUEyQixDQUFBO0FBQy9CLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEI7QUFFRCw2REFBNkQ7QUFDaEQsUUFBQSxXQUFXLEdBQXNCO0lBQzFDLFNBQVMsQ0FBQyxZQUFZO0lBQ3RCLFNBQVMsQ0FBQyxrQkFBa0I7SUFDNUIsU0FBUyxDQUFDLFdBQVc7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29yZSBkYXRhIG1vZGVsIGZvciB0aGUgRmxleGlibGUgRGF0YXNldCBEZWZpbml0aW9uIChGREQpIHN0YW5kYXJkLlxuICpcbiAqIFRoZXNlIGludGVyZmFjZXMgZGVzY3JpYmUgdGhlICpwdXJlIGRhdGEqIHNoYXBlIG9mIGEgZGF0YXNldDogY29sdW1ucyxcbiAqIHBhcnRpdGlvbnMsIGZvcmVpZ24ga2V5cywgdGFibGUgZGVmaW5pdGlvbnMsIGFuZCB0aGUgdmlvbGF0aW9ucyB0aGVcbiAqIHZhbGlkYXRvciBlbWl0cy4gVGhlIGxvYWRlZCB3b3JsZCAoc2NoZW1hcyArIHRhYmxlIGluc3RhbmNlcykgYW5kIHRoZVxuICogYWJzdHJhY3QgdGFibGUgYmFzZSBjbGFzcyBsaXZlIGluIGAuL3dvcmxkYCBhbmQgYC4vdGFibGUtdHlwZWAgc28gdGhpc1xuICogbW9kdWxlIHN0YXlzIGEgbGVhZiB3aXRoIG5vIGJlaGF2aW9yLlxuICovXG5cbi8qKiBUYWJsZSBlbmdpbmUuIEVhY2ggdmFsdWUgdW5sb2NrcyBlbmdpbmUtc3BlY2lmaWMgc2VtYW50aWMgY2hlY2tzLiAqL1xuZXhwb3J0IGVudW0gVGFibGVUeXBlIHtcbiAgICBISVZFX1BBUlFVRVQgPSAnaGl2ZV9wYXJxdWV0JyxcbiAgICBJQ0VCRVJHX1BBUlFVRVRfVjIgPSAnaWNlYmVyZ19wYXJxdWV0X3YyJyxcbiAgICBQT1NUR1JFU18xOCA9ICdwb3N0Z3Jlc18xOCcsXG59XG5cbi8qKiBFdmVyeSBrbm93biBgdGFibGVUeXBlYCBzdHJpbmcsIGZvciBtZW1iZXJzaGlwIGNoZWNrcy4gKi9cbmV4cG9ydCBjb25zdCBUQUJMRV9UWVBFUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbXG4gICAgVGFibGVUeXBlLkhJVkVfUEFSUVVFVCxcbiAgICBUYWJsZVR5cGUuSUNFQkVSR19QQVJRVUVUX1YyLFxuICAgIFRhYmxlVHlwZS5QT1NUR1JFU18xOCxcbl07XG5cbi8qKiBBIHNpbmdsZSBkYXRhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcbiAgICAvKiogQ29sdW1uIG5hbWUgKHVuaXF1ZSB3aXRoaW4gYSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEVuZ2luZS1zcGVjaWZpYyB0eXBlIHN0cmluZyAoZS5nLiBgbG9uZ2AsIGB2YXJjaGFyKDI1NSlgKS4gKi9cbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNvbHVtbiBtYXkgaG9sZCBudWxsLiBPcHRpb25hbDogd2hlbiBvbWl0dGVkLCBudWxsYWJpbGl0eSBpc1xuICAgICAqIHVuc3BlY2lmaWVkIGFuZCB0aGUgbnVsbGFiaWxpdHkgY3Jvc3MtY2hlY2tzIGRvIG5vdCBmaXJlLiBgZmFsc2VgIG1hcmtzIGFcbiAgICAgKiBOT1QgTlVMTCBjb2x1bW4gKEljZWJlcmcgYHJlcXVpcmVkYCk7IGB0cnVlYCBtYXJrcyBhbiBleHBsaWNpdGx5IG51bGxhYmxlXG4gICAgICogY29sdW1uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG51bGxhYmxlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlZC1jb2x1bW4ga2luZCAoUG9zdGdyZXMpOiBgc3RvcmVkYCBvciBgdmlydHVhbGAuIE9wdGlvbmFsOyB3aGVuXG4gICAgICogc2V0LCB0aGUgY29sdW1uIGlzIGNvbXB1dGVkIGZyb20gYGV4cHJlc3Npb25Db2x1bW5zYC5cbiAgICAgKi9cbiAgICByZWFkb25seSBnZW5lcmF0ZWQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGdlbmVyYXRpb24gZXhwcmVzc2lvbiAoUG9zdGdyZXMgZ2VuZXJhdGVkIGNvbHVtbikuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbj86IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBnZW5lcmF0aW9uIGBleHByZXNzaW9uYCByZWZlcmVuY2VzIChQb3N0Z3JlcykuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbkNvbHVtbnM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIElkZW50aXR5LWNvbHVtbiBraW5kIChQb3N0Z3Jlcyk6IGBhbHdheXNgIG9yIGBieURlZmF1bHRgLiBPcHRpb25hbDsgd2hlblxuICAgICAqIHNldCwgdGhlIGNvbHVtbiBpcyBgR0VORVJBVEVEIOKApiBBUyBJREVOVElUWWAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaWRlbnRpdHk/OiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGNvbHVtbiBkZWZhdWx0IGV4cHJlc3Npb24gKFBvc3RncmVzKS4gKi9cbiAgICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbiBjb2xsYXRpb24gbmFtZSAoUG9zdGdyZXMpLiBPcGFxdWU7IGxlZ2FsIG9ubHkgb24gdGV4dCB0eXBlcy4gKi9cbiAgICByZWFkb25seSBjb2xsYXRpb24/OiBzdHJpbmc7XG5cbiAgICAvKiogUGVyLWNvbHVtbiBUT0FTVCBjb21wcmVzc2lvbiAoUG9zdGdyZXMpOiBgcGdsemAgb3IgYGx6NGAuICovXG4gICAgcmVhZG9ubHkgY29tcHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgICAvKiogUGVyLWNvbHVtbiBzdG9yYWdlIHN0cmF0ZWd5IChQb3N0Z3Jlcyk6IGBwbGFpbmAvYGV4dGVybmFsYC9gZXh0ZW5kZWRgL2BtYWluYC9gZGVmYXVsdGAuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHBhcnRpdGlvbiBlbnRyeS4gVGhlIG1lYW5pbmcgb2YgYG5hbWVgIGFuZCBgdHlwZWAgaXMgZW5naW5lLXNwZWNpZmljOiBmb3JcbiAqIEhpdmUsIGBuYW1lYCBpcyBhIG5ldyBwYXJ0aXRpb24gY29sdW1uIGFuZCBgdHlwZWAgaXMgYSBub3JtYWwgdHlwZTsgZm9yXG4gKiBJY2ViZXJnLCBgbmFtZWAgaXMgYSBzb3VyY2UgZGF0YSBjb2x1bW4gYW5kIGB0eXBlYCBpcyBhIHRyYW5zZm9ybTsgZm9yXG4gKiBQb3N0Z3JlcywgYG5hbWVgIGlzIGFuIGV4aXN0aW5nIGtleSBjb2x1bW4gYW5kIGB0eXBlYCBpcyB0aGUgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGl0aW9uIHtcbiAgICAvKiogSGl2ZTogbmV3IHBhcnRpdGlvbiBjb2x1bW4gbmFtZS4gSWNlYmVyZyAvIFBvc3RncmVzOiBleGlzdGluZyBkYXRhL2tleSBjb2x1bW4gbmFtZS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogSGl2ZTogYSBub3JtYWwgdHlwZS4gSWNlYmVyZzogYSB0cmFuc2Zvcm0gKGUuZy4gYGRheWAsIGBidWNrZXRbMTZdYCkuIFBvc3RncmVzOiBhIHN0cmF0ZWd5IChgcmFuZ2VgIC8gYGxpc3RgIC8gYGhhc2hgKS4gKi9cbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBzb3J0IGZpZWxkIGluIGFuIEljZWJlcmcgdGFibGUncyBzb3J0IG9yZGVyLiBgY29sdW1uYCBpcyBhIGRhdGFcbiAqIGNvbHVtbjsgYHRyYW5zZm9ybWAgaXMgYW4gb3B0aW9uYWwgSWNlYmVyZyB0cmFuc2Zvcm0gYXBwbGllZCBiZWZvcmUgc29ydGluZ1xuICogKGRlZmF1bHRzIHRvIGlkZW50aXR5KTsgYGRpcmVjdGlvbmAgYW5kIGBudWxsT3JkZXJgIHNldCB0aGUgb3JkZXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEZpZWxkIHtcbiAgICAvKiogU291cmNlIGRhdGEgY29sdW1uIHRvIHNvcnQgYnkuICovXG4gICAgcmVhZG9ubHkgY29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogT3B0aW9uYWwgSWNlYmVyZyB0cmFuc2Zvcm0gYXBwbGllZCBiZWZvcmUgc29ydGluZyAoZS5nLiBgZGF5YCwgYGJ1Y2tldFsxNl1gKS4gKi9cbiAgICByZWFkb25seSB0cmFuc2Zvcm0/OiBzdHJpbmc7XG5cbiAgICAvKiogU29ydCBkaXJlY3Rpb24gKGBhc2NgIG9yIGBkZXNjYCkuICovXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogTnVsbCBvcmRlcmluZyAoYG51bGxzLWZpcnN0YCBvciBgbnVsbHMtbGFzdGApLiAqL1xuICAgIHJlYWRvbmx5IG51bGxPcmRlcjogc3RyaW5nO1xufVxuXG4vKiogQSBzaW5nbGUga2V5IGNvbHVtbiB3aXRoaW4gYW4gaW5kZXgsIHdpdGggb3B0aW9uYWwgb3JkZXJpbmcgbW9kaWZpZXJzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleENvbHVtbiB7XG4gICAgLyoqIEluZGV4ZWQgY29sdW1uIG5hbWUuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIE9wdGlvbmFsIHNvcnQgb3JkZXIgKGBhc2NgIG9yIGBkZXNjYCkuICovXG4gICAgcmVhZG9ubHkgc29ydD86IHN0cmluZztcblxuICAgIC8qKiBPcHRpb25hbCBudWxsIG9yZGVyaW5nIChgZmlyc3RgIG9yIGBsYXN0YCkuICovXG4gICAgcmVhZG9ubHkgbnVsbHM/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzZWNvbmRhcnkgaW5kZXggKGUuZy4gUG9zdGdyZXMpLiBgY29sdW1uc2AgYXJlIHRoZSBrZXkgY29sdW1uczsgYGluY2x1ZGVgXG4gKiBhcmUgbm9uLWtleSBjb3ZlcmluZyBjb2x1bW5zOyBgd2hlcmVgIGlzIGFuIG9wYXF1ZSBwYXJ0aWFsLWluZGV4IHByZWRpY2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleCB7XG4gICAgLyoqIEluZGV4IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQWNjZXNzIG1ldGhvZCAoZS5nLiBgYnRyZWVgLCBgaGFzaGAsIGBnaW5gKS4gKi9cbiAgICByZWFkb25seSBtZXRob2Q6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpbmRleCBlbmZvcmNlcyB1bmlxdWVuZXNzLiAqL1xuICAgIHJlYWRvbmx5IHVuaXF1ZT86IGJvb2xlYW47XG5cbiAgICAvKiogS2V5IGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogSW5kZXhDb2x1bW5bXTtcblxuICAgIC8qKiBOb24ta2V5IGNvdmVyaW5nIGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgaW5jbHVkZTogc3RyaW5nW107XG5cbiAgICAvKiogT3B0aW9uYWwgcGFydGlhbC1pbmRleCBwcmVkaWNhdGUgKG9wYXF1ZSkuICovXG4gICAgcmVhZG9ubHkgd2hlcmU/OiBzdHJpbmc7XG59XG5cbi8qKiBBIHRhYmxlLWxldmVsIFVOSVFVRSBjb25zdHJhaW50IG92ZXIgb25lIG9yIG1vcmUgY29sdW1ucyAoUG9zdGdyZXMpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmlxdWVDb25zdHJhaW50IHtcbiAgICAvKiogQ29uc3RyYWludCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbnMgdGhlIGNvbnN0cmFpbnQgc3BhbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogV2hldGhlciBudWxscyBhcmUgdHJlYXRlZCBhcyBub3QgZGlzdGluY3QgKGBOVUxMUyBOT1QgRElTVElOQ1RgKS4gKi9cbiAgICByZWFkb25seSBudWxsc05vdERpc3RpbmN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENIRUNLIGNvbnN0cmFpbnQgKFBvc3RncmVzKS4gYGV4cHJlc3Npb25gIGlzIGFuIG9wYXF1ZSBwcmVkaWNhdGU7IGBjb2x1bW5zYFxuICogaXMgdGhlIGV4cGxpY2l0IGxpc3Qgb2YgY29sdW1ucyBpdCByZWZlcmVuY2VzLCB3aGljaCBpcyB3aGF0IGdldHMgdmFsaWRhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQ29uc3RyYWludCB7XG4gICAgLyoqIENvbnN0cmFpbnQgbmFtZSAodW5pcXVlIHdpdGhpbiB0aGUgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBPcGFxdWUgYm9vbGVhbiBwcmVkaWNhdGUuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbnMgdGhlIHByZWRpY2F0ZSByZWZlcmVuY2VzLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xufVxuXG4vKiogQSBzb3J0IGNvbHVtbiB3aXRoaW4gYSBIaXZlIGJ1Y2tldGluZyBzcGVjLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRTb3J0IHtcbiAgICAvKiogQ29sdW1uIHRvIHNvcnQgZWFjaCBidWNrZXQgYnkuICovXG4gICAgcmVhZG9ubHkgY29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogU29ydCBkaXJlY3Rpb24gKGBhc2NgIG9yIGBkZXNjYCwgY2FzZS1pbnNlbnNpdGl2ZSkuICovXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSGl2ZSBidWNrZXRpbmcgKGBDTFVTVEVSRUQgQlkg4oCmIElOVE8gTiBCVUNLRVRTIFtTT1JURUQgQlkg4oCmXWApLiBgY29sdW1uc2AgYXJlXG4gKiB0aGUgYnVja2V0LWtleSBjb2x1bW5zLCBgYnVja2V0Q291bnRgIHRoZSBudW1iZXIgb2YgYnVja2V0cywgYW5kIGBzb3J0ZWRCeWBcbiAqIHRoZSBvcHRpb25hbCBpbnRyYS1idWNrZXQgc29ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRpbmcge1xuICAgIC8qKiBCdWNrZXQta2V5IGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogTnVtYmVyIG9mIGJ1Y2tldHMuICovXG4gICAgcmVhZG9ubHkgYnVja2V0Q291bnQ6IG51bWJlcjtcblxuICAgIC8qKiBPcHRpb25hbCBpbnRyYS1idWNrZXQgc29ydCBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRlZEJ5OiBCdWNrZXRTb3J0W107XG59XG5cbi8qKiBPbmUgZWxlbWVudCBvZiBhbiBleGNsdXNpb24gY29uc3RyYWludDogYSBjb2x1bW4gYW5kIGl0cyBvcGVyYXRvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhjbHVzaW9uRWxlbWVudCB7XG4gICAgLyoqIENvbHVtbiB0aGUgZWxlbWVudCBhcHBsaWVzIHRvLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBvcGVyYXRvciAoZS5nLiBgJiZgLCBgPWApLiAqL1xuICAgIHJlYWRvbmx5IG9wZXJhdG9yOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gZXhjbHVzaW9uIGNvbnN0cmFpbnQgKFBvc3RncmVzKTogbm8gdHdvIHJvd3MgbWF5IGhhdmUgYWxsIGxpc3RlZFxuICogY29sdW1uL29wZXJhdG9yIHBhaXJzIGV2YWx1YXRlIHRydWUgdG9nZXRoZXIgKGdlbmVyYWxpemVkIHVuaXF1ZW5lc3MpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2x1c2lvbkNvbnN0cmFpbnQge1xuICAgIC8qKiBDb25zdHJhaW50IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogSW5kZXggYWNjZXNzIG1ldGhvZCAoYGdpc3RgIG9yIGBzcGdpc3RgKS4gKi9cbiAgICByZWFkb25seSB1c2luZzogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbi9vcGVyYXRvciBlbGVtZW50cy4gKi9cbiAgICByZWFkb25seSBlbGVtZW50czogRXhjbHVzaW9uRWxlbWVudFtdO1xufVxuXG4vKipcbiAqIEhpdmUgc2tldyBvcHRpbWl6YXRpb24gKGBTS0VXRUQgQlkgKGNvbHMpIE9OICgodmFsdWVzKSwg4oCmKWApLiBgY29sdW1uc2AgYXJlXG4gKiB0aGUgc2tld2VkIGNvbHVtbnM7IGBvbmAgaXMgdGhlIGxpc3Qgb2YgaGlnaC1mcmVxdWVuY3kgdmFsdWUgdHVwbGVzLCBlYWNoIG9mXG4gKiB3aGljaCBtdXN0IGhhdmUgb25lIHZhbHVlIHBlciBza2V3ZWQgY29sdW1uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNrZXdlZEJ5IHtcbiAgICAvKiogU2tld2VkIGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogSGlnaC1mcmVxdWVuY3kgdmFsdWUgdHVwbGVzIChvbmUgdmFsdWUgcGVyIHNrZXdlZCBjb2x1bW4pLiAqL1xuICAgIHJlYWRvbmx5IG9uOiBzdHJpbmdbXVtdO1xuXG4gICAgLyoqIFdoZXRoZXIgc2tld2VkIHZhbHVlcyBhcmUgc3RvcmVkIGFzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIChsaXN0IGJ1Y2tldGluZykuICovXG4gICAgcmVhZG9ubHkgc3RvcmVkQXNEaXJlY3Rvcmllcz86IGJvb2xlYW47XG59XG5cbi8qKiBIaXZlIHN0b3JhZ2UgZm9ybWF0IGFuZCBTZXJEZSBwcm9wZXJ0aWVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXZlU3RvcmFnZSB7XG4gICAgLyoqIFN0b3JlZC1hcyBmaWxlIGZvcm1hdCAoZS5nLiBgcGFycXVldGApLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JlZEFzPzogc3RyaW5nO1xuXG4gICAgLyoqIEZyZWUtZm9ybSBTZXJEZSBwcm9wZXJ0aWVzLiAqL1xuICAgIHJlYWRvbmx5IHNlcmRlUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqIEEgZm9yZWlnbi1rZXkgcmVmZXJlbmNlIHRvIGEgY29sdW1uIGluIGFub3RoZXIgdGFibGUuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcmVpZ25LZXkge1xuICAgIC8qKiBSZWZlcmVuY2VkIHRhYmxlIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBzb3VyY2VUYWJsZTogc3RyaW5nO1xuXG4gICAgLyoqIFJlZmVyZW5jZWQgY29sdW1uIGluIHRoZSBzb3VyY2UgdGFibGUuICovXG4gICAgcmVhZG9ubHkgc291cmNlQ29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogTG9jYWwgY29sdW1uIHRoYXQgaG9sZHMgdGhlIHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBsb2NhbENvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxvY2FsIGNvbHVtbiBtYXkgYmUgbnVsbC4gKi9cbiAgICByZWFkb25seSBhbGxvd051bGxzOiBib29sZWFuO1xufVxuXG4vKiogTm9ybWFsaXplZCB0YWJsZSBkZWZpbml0aW9uIChvcHRpb25hbCBhcnJheXMgZGVmYXVsdGVkIHRvIGVtcHR5KS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVEZWZpbml0aW9uIHtcbiAgICAvKiogU3BlYyB2ZXJzaW9uIG9mIHRoZSBmaWxlLiAqL1xuICAgIHJlYWRvbmx5IHNwZWNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIC8qKiBFbmdpbmUuIE1heSBiZSBhbiB1bmtub3duIHN0cmluZyBpZiB0aGUgZmlsZSBmYWlsZWQgc3RydWN0dXJhbCBjaGVja3MuICovXG4gICAgcmVhZG9ubHkgdGFibGVUeXBlOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIHRhYmxlIGlzIHRoZSB0b3Agb2YgdGhlIHBpcGVsaW5lLiAqL1xuICAgIHJlYWRvbmx5IGlzUmF3RGF0YTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEljZWJlcmcgdGFibGUgZm9ybWF0IHZlcnNpb24uIE9wdGlvbmFsIGFuZCBlbmdpbmUtc3BlY2lmaWM6IG9ubHkgdGhlXG4gICAgICogSWNlYmVyZyBlbmdpbmUgdmFsaWRhdGVzIGl0LCBhbmQgb24gYGljZWJlcmdfcGFycXVldF92MmAgaXQgbXVzdCBiZSBgMmBcbiAgICAgKiB3aGVuIHByZXNlbnQuIE90aGVyIGVuZ2luZXMgaWdub3JlIGl0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZvcm1hdFZlcnNpb24/OiBudW1iZXI7XG5cbiAgICAvKiogRGF0YSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gICAgLyoqIFByaW1hcnkta2V5IGNvbHVtbiBuYW1lcy4gKi9cbiAgICByZWFkb25seSBwcmltYXJ5S2V5OiBzdHJpbmdbXTtcblxuICAgIC8qKiBQYXJ0aXRpb24gZW50cmllcyAoZW5naW5lLXNwZWNpZmljIHNlbWFudGljcykuICovXG4gICAgcmVhZG9ubHkgcGFydGl0aW9uczogUGFydGl0aW9uW107XG5cbiAgICAvKiogSWNlYmVyZyBzb3J0IG9yZGVyIChvcmRlcmVkIHNvcnQgZmllbGRzKS4gT3B0aW9uYWw7IG90aGVyIGVuZ2luZXMgaWdub3JlIGl0LiAqL1xuICAgIHJlYWRvbmx5IHNvcnRPcmRlcjogU29ydEZpZWxkW107XG5cbiAgICAvKiogSWNlYmVyZyBpZGVudGlmaWVyIGZpZWxkcyAodGhlIHJvdy1pZGVudGl0eSAvIGVxdWFsaXR5LWRlbGV0ZSBrZXkpLiBPcHRpb25hbC4gKi9cbiAgICByZWFkb25seSBpZGVudGlmaWVyRmllbGRzOiBzdHJpbmdbXTtcblxuICAgIC8qKiBTZWNvbmRhcnkgaW5kZXhlcyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBpbmRleGVzOiBJbmRleFtdO1xuXG4gICAgLyoqIFVOSVFVRSBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSB1bmlxdWVDb25zdHJhaW50czogVW5pcXVlQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIENIRUNLIGNvbnN0cmFpbnRzIChQb3N0Z3JlcykuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSB0aGVtLiAqL1xuICAgIHJlYWRvbmx5IGNoZWNrQ29uc3RyYWludHM6IENoZWNrQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEV4Y2x1c2lvbiBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBleGNsdXNpb25Db25zdHJhaW50czogRXhjbHVzaW9uQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEhpdmUgYnVja2V0aW5nIHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBidWNrZXRpbmc/OiBCdWNrZXRpbmc7XG5cbiAgICAvKiogSGl2ZSBza2V3IHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBza2V3ZWRCeT86IFNrZXdlZEJ5O1xuXG4gICAgLyoqIEhpdmUgc3RvcmFnZSBmb3JtYXQgLyBTZXJEZSBzcGVjLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgaXQuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IEhpdmVTdG9yYWdlO1xuXG4gICAgLyoqXG4gICAgICogRW5naW5lIHRhYmxlIHByb3BlcnRpZXMgYXMgYSBzdHJpbmfihpJzdHJpbmcgbWFwIChlLmcuIEljZWJlcmdcbiAgICAgKiBgd3JpdGUudGFyZ2V0LWZpbGUtc2l6ZS1ieXRlc2AsIEhpdmUgYHBhcnF1ZXQuY29tcHJlc3Npb25gKS4gT3B0aW9uYWwuXG4gICAgICogT25seSBrZXlzIHdpdGggYSBrbm93biwgY2xvc2VkIGxlZ2FsIGRvbWFpbiBhcmUgdmFsaWRhdGVkIHBlciBlbmdpbmU7XG4gICAgICogdW5rbm93biBrZXlzIHBhc3MgdGhyb3VnaCB1bnZhbGlkYXRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWJsZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICAvKiogVXBzdHJlYW0gdGFibGVzIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBkZXBlbmRzT246IHN0cmluZ1tdO1xuXG4gICAgLyoqIEZvcmVpZ24ga2V5cy4gKi9cbiAgICByZWFkb25seSBmb3JlaWduS2V5czogRm9yZWlnbktleVtdO1xufVxuXG4vKiogQSBzY2hlbWEtZGVzY3JpcHRpb24gZmlsZSdzIG5vcm1hbGl6ZWQgY29udGVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVzY3JpcHRpb24ge1xuICAgIC8qKiBTcGVjIHZlcnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IHN0cmluZztcblxuICAgIC8qKiBIdW1hbiBkZXNjcmlwdGlvbi4gKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKiogU2V2ZXJpdHkgb2YgYSB2aW9sYXRpb24uICovXG5leHBvcnQgdHlwZSBWaW9sYXRpb25MZXZlbCA9ICdlcnJvcicgfCAnd2FybmluZyc7XG5cbi8qKiBBIHNpbmdsZSB2YWxpZGF0aW9uIGZpbmRpbmcuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpb2xhdGlvbiB7XG4gICAgLyoqIFNldmVyaXR5LiBgZXJyb3JgIGZhaWxzIHZhbGlkYXRpb247IGB3YXJuaW5nYCBkb2VzIG5vdC4gKi9cbiAgICByZWFkb25seSBsZXZlbDogVmlvbGF0aW9uTGV2ZWw7XG5cbiAgICAvKiogU3RhYmxlIG1hY2hpbmUtcmVhZGFibGUgcnVsZSBjb2RlIChlLmcuIGBQS19DT0xVTU5TX0VYSVNUYCkuICovXG4gICAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyBzY2hlbWEsIGlmIGFwcGxpY2FibGUuICovXG4gICAgcmVhZG9ubHkgc2NoZW1hPzogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyB0YWJsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSB0YWJsZT86IHN0cmluZztcblxuICAgIC8qKiBGaWVsZCBwYXRoIHdpdGhpbiB0aGUgZmlsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSBmaWVsZD86IHN0cmluZztcblxuICAgIC8qKiBTb3VyY2UgZmlsZSBwYXRoLCBpZiBhcHBsaWNhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4tcmVhZGFibGUgbWVzc2FnZS4gKi9cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgYWdncmVnYXRlIHJlc3VsdCBvZiB2YWxpZGF0aW5nIGEgcm9vdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgLyoqIFRydWUgd2hlbiB0aGVyZSBhcmUgbm8gYGVycm9yYC1sZXZlbCB2aW9sYXRpb25zLiAqL1xuICAgIHJlYWRvbmx5IG9rOiBib29sZWFuO1xuXG4gICAgLyoqIEFsbCBmaW5kaW5ncywgZXJyb3JzIGFuZCB3YXJuaW5ncy4gKi9cbiAgICByZWFkb25seSB2aW9sYXRpb25zOiBWaW9sYXRpb25bXTtcbn1cbiJdfQ==
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Iceberg (parquet) table type.
|
|
2
|
+
* Iceberg (parquet) format-version-2 table type.
|
|
3
3
|
*
|
|
4
4
|
* Iceberg partitions are transforms applied to a data column, so duplicate
|
|
5
5
|
* detection keys on the (source column, normalized transform) pair — `year(ts)`
|
|
6
6
|
* and `month(ts)` are distinct, while `day` and `DAY` collapse.
|
|
7
|
+
*
|
|
8
|
+
* The format version is encoded in the `tableType` discriminator: this engine is
|
|
9
|
+
* inherently v2, so a present `formatVersion` must equal `EXPECTED_FORMAT_VERSION`.
|
|
10
|
+
* A future `iceberg_parquet_v3` sibling subclass overrides that one constant.
|
|
7
11
|
*/
|
|
8
12
|
import { Violation } from '../model';
|
|
9
13
|
import { TableTypeBase } from '../table-type';
|
|
10
|
-
/** Iceberg (parquet) table. */
|
|
11
|
-
export declare class
|
|
14
|
+
/** Iceberg (parquet) format-version-2 table. */
|
|
15
|
+
export declare class IcebergParquetV2Table extends TableTypeBase {
|
|
16
|
+
/**
|
|
17
|
+
* The Iceberg format version this engine pins to. A present `formatVersion`
|
|
18
|
+
* must equal this. A future v3 sibling subclass overrides this single value.
|
|
19
|
+
*/
|
|
20
|
+
protected static readonly EXPECTED_FORMAT_VERSION = 2;
|
|
12
21
|
/**
|
|
13
22
|
* Validate a column type against the Iceberg v0 type registry.
|
|
14
23
|
*
|
|
@@ -28,7 +37,6 @@ export declare class IcebergParquetTable extends TableTypeBase {
|
|
|
28
37
|
* @returns Every partition-related violation.
|
|
29
38
|
*/
|
|
30
39
|
partitionViolations(): Violation[];
|
|
31
|
-
private static readonly FORMAT_VERSIONS;
|
|
32
40
|
private static readonly ENUM_PROPERTIES;
|
|
33
41
|
private static readonly POSITIVE_INT_PROPERTIES;
|
|
34
42
|
private static readonly NON_NEGATIVE_INT_PROPERTIES;
|
|
@@ -76,11 +84,12 @@ export declare class IcebergParquetTable extends TableTypeBase {
|
|
|
76
84
|
private commitRetryOrderingViolations;
|
|
77
85
|
/**
|
|
78
86
|
* Validate Iceberg identifier fields (the row-identity / equality-delete
|
|
79
|
-
* key). Equality deletes are a
|
|
80
|
-
* fields must be required primitive columns that are not
|
|
87
|
+
* key). Equality deletes are a v2 feature, which this engine inherently is;
|
|
88
|
+
* identifier fields must be required primitive columns that are not
|
|
89
|
+
* float/double.
|
|
81
90
|
*
|
|
82
|
-
* Emits `
|
|
83
|
-
*
|
|
91
|
+
* Emits `ICEBERG_IDENTIFIER_COLUMN_EXISTS`, `ICEBERG_IDENTIFIER_REQUIRED`,
|
|
92
|
+
* and `ICEBERG_IDENTIFIER_TYPE_PRIMITIVE`.
|
|
84
93
|
*
|
|
85
94
|
* @returns Every identifier-field violation.
|
|
86
95
|
*/
|