@payloadcms/db-postgres 0.7.1 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/count.d.ts +3 -0
- package/dist/count.d.ts.map +1 -0
- package/dist/count.js +68 -0
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +7 -9
- package/dist/createGlobal.d.ts +1 -1
- package/dist/createGlobal.d.ts.map +1 -1
- package/dist/createGlobal.js +8 -10
- package/dist/createGlobalVersion.d.ts +1 -1
- package/dist/createGlobalVersion.d.ts.map +1 -1
- package/dist/createGlobalVersion.js +12 -14
- package/dist/createVersion.d.ts.map +1 -1
- package/dist/createVersion.js +22 -19
- package/dist/deleteMany.js +6 -8
- package/dist/deleteOne.d.ts.map +1 -1
- package/dist/deleteOne.js +6 -3
- package/dist/deleteVersions.d.ts.map +1 -1
- package/dist/deleteVersions.js +7 -8
- package/dist/find/buildFindManyArgs.js +3 -3
- package/dist/find/findMany.js +2 -2
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +23 -11
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +10 -11
- package/dist/findGlobal.d.ts.map +1 -1
- package/dist/findGlobal.js +7 -9
- package/dist/findGlobalVersions.d.ts.map +1 -1
- package/dist/findGlobalVersions.js +7 -8
- package/dist/findOne.d.ts +1 -1
- package/dist/findOne.d.ts.map +1 -1
- package/dist/findOne.js +9 -10
- package/dist/findVersions.d.ts.map +1 -1
- package/dist/findVersions.js +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +28 -15
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +148 -42
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +5 -2
- package/dist/queryDrafts.d.ts.map +1 -1
- package/dist/queryDrafts.js +7 -8
- package/dist/schema/build.d.ts +2 -1
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +19 -14
- package/dist/schema/getTableName.d.ts +32 -0
- package/dist/schema/getTableName.d.ts.map +1 -0
- package/dist/schema/getTableName.js +43 -0
- package/dist/schema/traverseFields.d.ts +2 -1
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +54 -18
- package/dist/schema/validateExistingBlockIsIdentical.d.ts +2 -1
- package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
- package/dist/schema/validateExistingBlockIsIdentical.js +14 -8
- package/dist/transform/write/blocks.d.ts +2 -2
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +4 -4
- package/dist/transform/write/traverseFields.d.ts +2 -2
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +34 -25
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +7 -4
- package/dist/updateGlobal.d.ts +1 -1
- package/dist/updateGlobal.d.ts.map +1 -1
- package/dist/updateGlobal.js +9 -11
- package/dist/updateGlobalVersion.d.ts.map +1 -1
- package/dist/updateGlobalVersion.js +9 -5
- package/dist/updateVersion.d.ts.map +1 -1
- package/dist/updateVersion.js +9 -5
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +7 -6
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +3 -3
- package/dist/upsertRow/types.d.ts +1 -1
- package/dist/upsertRow/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/updateGlobal.js
CHANGED
@@ -8,17 +8,15 @@ Object.defineProperty(exports, "updateGlobal", {
|
|
8
8
|
return updateGlobal;
|
9
9
|
}
|
10
10
|
});
|
11
|
-
const
|
11
|
+
const _getTableName = require("./schema/getTableName");
|
12
12
|
const _upsertRow = require("./upsertRow");
|
13
|
-
function
|
14
|
-
return obj && obj.__esModule ? obj : {
|
15
|
-
default: obj
|
16
|
-
};
|
17
|
-
}
|
18
|
-
async function updateGlobal({ data, req = {}, slug }) {
|
13
|
+
async function updateGlobal({ slug, data, req = {} }) {
|
19
14
|
const db = this.sessions[req.transactionID]?.db || this.drizzle;
|
20
15
|
const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
|
21
|
-
const tableName = (0,
|
16
|
+
const tableName = (0, _getTableName.getTableName)({
|
17
|
+
adapter: this,
|
18
|
+
config: globalConfig
|
19
|
+
});
|
22
20
|
const existingGlobal = await db.query[tableName].findFirst({});
|
23
21
|
const result = await (0, _upsertRow.upsertRow)({
|
24
22
|
...existingGlobal ? {
|
@@ -31,10 +29,10 @@ async function updateGlobal({ data, req = {}, slug }) {
|
|
31
29
|
data,
|
32
30
|
db,
|
33
31
|
fields: globalConfig.fields,
|
34
|
-
|
35
|
-
|
32
|
+
req,
|
33
|
+
tableName
|
36
34
|
});
|
37
35
|
return result;
|
38
36
|
}
|
39
37
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGRhdGVHbG9iYWxBcmdzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFRhYmxlTmFtZSB9IGZyb20gJy4vc2NoZW1hL2dldFRhYmxlTmFtZSdcbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlR2xvYmFsPFQgZXh0ZW5kcyBUeXBlV2l0aElEPihcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IHNsdWcsIGRhdGEsIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0IH06IFVwZGF0ZUdsb2JhbEFyZ3MsXG4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGdsb2JhbENvbmZpZyA9IHRoaXMucGF5bG9hZC5nbG9iYWxzLmNvbmZpZy5maW5kKChjb25maWcpID0+IGNvbmZpZy5zbHVnID09PSBzbHVnKVxuICBjb25zdCB0YWJsZU5hbWUgPSBnZXRUYWJsZU5hbWUoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgY29uZmlnOiBnbG9iYWxDb25maWcsXG4gIH0pXG5cbiAgY29uc3QgZXhpc3RpbmdHbG9iYWwgPSBhd2FpdCBkYi5xdWVyeVt0YWJsZU5hbWVdLmZpbmRGaXJzdCh7fSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VD4oe1xuICAgIC4uLihleGlzdGluZ0dsb2JhbCA/IHsgaWQ6IGV4aXN0aW5nR2xvYmFsLmlkLCBvcGVyYXRpb246ICd1cGRhdGUnIH0gOiB7IG9wZXJhdGlvbjogJ2NyZWF0ZScgfSksXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhLFxuICAgIGRiLFxuICAgIGZpZWxkczogZ2xvYmFsQ29uZmlnLmZpZWxkcyxcbiAgICByZXEsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVHbG9iYWwiLCJzbHVnIiwiZGF0YSIsInJlcSIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsImdsb2JhbENvbmZpZyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInRhYmxlTmFtZSIsImdldFRhYmxlTmFtZSIsImFkYXB0ZXIiLCJleGlzdGluZ0dsb2JhbCIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidXBzZXJ0Um93IiwiaWQiLCJvcGVyYXRpb24iLCJmaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUXNCQTs7O2VBQUFBOzs7OEJBSE87MkJBQ0g7QUFFbkIsZUFBZUEsYUFFcEIsRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFvQjtJQUU1RCxNQUFNQyxLQUFLLElBQUksQ0FBQ0MsUUFBUSxDQUFDRixJQUFJRyxhQUFhLENBQUMsRUFBRUYsTUFBTSxJQUFJLENBQUNHLE9BQU87SUFDL0QsTUFBTUMsZUFBZSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDRCxTQUFXQSxPQUFPVixJQUFJLEtBQUtBO0lBQ2xGLE1BQU1ZLFlBQVlDLElBQUFBLDBCQUFZLEVBQUM7UUFDN0JDLFNBQVMsSUFBSTtRQUNiSixRQUFRSDtJQUNWO0lBRUEsTUFBTVEsaUJBQWlCLE1BQU1aLEdBQUdhLEtBQUssQ0FBQ0osVUFBVSxDQUFDSyxTQUFTLENBQUMsQ0FBQztJQUU1RCxNQUFNQyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQUk7UUFDaEMsR0FBSUosaUJBQWlCO1lBQUVLLElBQUlMLGVBQWVLLEVBQUU7WUFBRUMsV0FBVztRQUFTLElBQUk7WUFBRUEsV0FBVztRQUFTLENBQUM7UUFDN0ZQLFNBQVMsSUFBSTtRQUNiYjtRQUNBRTtRQUNBbUIsUUFBUWYsYUFBYWUsTUFBTTtRQUMzQnBCO1FBQ0FVO0lBQ0Y7SUFFQSxPQUFPTTtBQUNUIn0=
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,eAAe,CAAA;AAItF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,eAAe,EACrB,EACE,EAAE,EACF,MAAM,EACN,MAAM,EACN,GAA0B,EAC1B,WAAW,EACX,KAAK,EAAE,QAAQ,GAChB,EAAE,uBAAuB,CAAC,CAAC,CAAC,+BAmC9B"}
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "updateGlobalVersion", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _versions = require("payload/versions");
|
12
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
12
|
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
13
|
+
const _getTableName = require("./schema/getTableName");
|
14
14
|
const _upsertRow = require("./upsertRow");
|
15
15
|
function _interop_require_default(obj) {
|
16
16
|
return obj && obj.__esModule ? obj : {
|
@@ -25,7 +25,11 @@ async function updateGlobalVersion({ id, global, locale, req = {}, versionData,
|
|
25
25
|
equals: id
|
26
26
|
}
|
27
27
|
};
|
28
|
-
const tableName =
|
28
|
+
const tableName = (0, _getTableName.getTableName)({
|
29
|
+
adapter: this,
|
30
|
+
config: globalConfig,
|
31
|
+
versions: true
|
32
|
+
});
|
29
33
|
const fields = (0, _versions.buildVersionGlobalFields)(globalConfig);
|
30
34
|
const { where } = await (0, _buildQuery.default)({
|
31
35
|
adapter: this,
|
@@ -41,11 +45,11 @@ async function updateGlobalVersion({ id, global, locale, req = {}, versionData,
|
|
41
45
|
db,
|
42
46
|
fields,
|
43
47
|
operation: 'update',
|
48
|
+
req,
|
44
49
|
tableName,
|
45
|
-
where
|
46
|
-
req
|
50
|
+
where
|
47
51
|
});
|
48
52
|
return result;
|
49
53
|
}
|
50
54
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVHbG9iYWxWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uLCBVcGRhdGVHbG9iYWxWZXJzaW9uQXJncyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBidWlsZFF1ZXJ5IGZyb20gJy4vcXVlcmllcy9idWlsZFF1ZXJ5J1xuaW1wb3J0IHsgZ2V0VGFibGVOYW1lIH0gZnJvbSAnLi9zY2hlbWEvZ2V0VGFibGVOYW1lJ1xuaW1wb3J0IHsgdXBzZXJ0Um93IH0gZnJvbSAnLi91cHNlcnRSb3cnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVHbG9iYWxWZXJzaW9uPFQgZXh0ZW5kcyBUeXBlV2l0aElEPihcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7XG4gICAgaWQsXG4gICAgZ2xvYmFsLFxuICAgIGxvY2FsZSxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgICB3aGVyZTogd2hlcmVBcmcsXG4gIH06IFVwZGF0ZUdsb2JhbFZlcnNpb25BcmdzPFQ+LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZyA9IHRoaXMucGF5bG9hZC5nbG9iYWxzLmNvbmZpZy5maW5kKFxuICAgICh7IHNsdWcgfSkgPT4gc2x1ZyA9PT0gZ2xvYmFsLFxuICApXG4gIGNvbnN0IHdoZXJlVG9Vc2UgPSB3aGVyZUFyZyB8fCB7IGlkOiB7IGVxdWFsczogaWQgfSB9XG4gIGNvbnN0IHRhYmxlTmFtZSA9IGdldFRhYmxlTmFtZSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBjb25maWc6IGdsb2JhbENvbmZpZyxcbiAgICB2ZXJzaW9uczogdHJ1ZSxcbiAgfSlcbiAgY29uc3QgZmllbGRzID0gYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbENvbmZpZylcblxuICBjb25zdCB7IHdoZXJlIH0gPSBhd2FpdCBidWlsZFF1ZXJ5KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGZpZWxkcyxcbiAgICBsb2NhbGUsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZVRvVXNlLFxuICB9KVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUeXBlV2l0aFZlcnNpb248VD4+KHtcbiAgICBpZCxcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGE6IHZlcnNpb25EYXRhLFxuICAgIGRiLFxuICAgIGZpZWxkcyxcbiAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgIHJlcSxcbiAgICB0YWJsZU5hbWUsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZUdsb2JhbFZlcnNpb24iLCJpZCIsImdsb2JhbCIsImxvY2FsZSIsInJlcSIsInZlcnNpb25EYXRhIiwid2hlcmUiLCJ3aGVyZUFyZyIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsImdsb2JhbENvbmZpZyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInNsdWciLCJ3aGVyZVRvVXNlIiwiZXF1YWxzIiwidGFibGVOYW1lIiwiZ2V0VGFibGVOYW1lIiwiYWRhcHRlciIsInZlcnNpb25zIiwiZmllbGRzIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIiwiYnVpbGRRdWVyeSIsInJlc3VsdCIsInVwc2VydFJvdyIsImRhdGEiLCJvcGVyYXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBV3NCQTs7O2VBQUFBOzs7MEJBUm1CO21FQUlsQjs4QkFDTTsyQkFDSDs7Ozs7O0FBRW5CLGVBQWVBLG9CQUVwQixFQUNFQyxFQUFFLEVBQ0ZDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxNQUFNLENBQUMsQ0FBbUIsRUFDMUJDLFdBQVcsRUFDWEMsT0FBT0MsUUFBUSxFQUNZO0lBRTdCLE1BQU1DLEtBQUssSUFBSSxDQUFDQyxRQUFRLENBQUNMLElBQUlNLGFBQWEsQ0FBQyxFQUFFRixNQUFNLElBQUksQ0FBQ0csT0FBTztJQUMvRCxNQUFNQyxlQUFzQyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FDMUUsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0EsU0FBU2Y7SUFFekIsTUFBTWdCLGFBQWFYLFlBQVk7UUFBRU4sSUFBSTtZQUFFa0IsUUFBUWxCO1FBQUc7SUFBRTtJQUNwRCxNQUFNbUIsWUFBWUMsSUFBQUEsMEJBQVksRUFBQztRQUM3QkMsU0FBUyxJQUFJO1FBQ2JQLFFBQVFIO1FBQ1JXLFVBQVU7SUFDWjtJQUNBLE1BQU1DLFNBQVNDLElBQUFBLGtDQUF3QixFQUFDYjtJQUV4QyxNQUFNLEVBQUVOLEtBQUssRUFBRSxHQUFHLE1BQU1vQixJQUFBQSxtQkFBVSxFQUFDO1FBQ2pDSixTQUFTLElBQUk7UUFDYkU7UUFDQXJCO1FBQ0FpQjtRQUNBZCxPQUFPWTtJQUNUO0lBRUEsTUFBTVMsU0FBUyxNQUFNQyxJQUFBQSxvQkFBUyxFQUFxQjtRQUNqRDNCO1FBQ0FxQixTQUFTLElBQUk7UUFDYk8sTUFBTXhCO1FBQ05HO1FBQ0FnQjtRQUNBTSxXQUFXO1FBQ1gxQjtRQUNBZ0I7UUFDQWQ7SUFDRjtJQUVBLE9BQU9xQjtBQUNUIn0=
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateVersion.d.ts","sourceRoot":"","sources":["../src/updateVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,KAAK,EAA6C,UAAU,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"updateVersion.d.ts","sourceRoot":"","sources":["../src/updateVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,KAAK,EAA6C,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,wBAAsB,aAAa,CAAC,CAAC,SAAS,UAAU,EACtD,IAAI,EAAE,eAAe,EACrB,EACE,EAAE,EACF,UAAU,EACV,MAAM,EACN,GAA0B,EAC1B,WAAW,EACX,KAAK,EAAE,QAAQ,GAChB,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAiCxB"}
|
package/dist/updateVersion.js
CHANGED
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "updateVersion", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _versions = require("payload/versions");
|
12
|
-
const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
|
13
12
|
const _buildQuery = /*#__PURE__*/ _interop_require_default(require("./queries/buildQuery"));
|
13
|
+
const _getTableName = require("./schema/getTableName");
|
14
14
|
const _upsertRow = require("./upsertRow");
|
15
15
|
function _interop_require_default(obj) {
|
16
16
|
return obj && obj.__esModule ? obj : {
|
@@ -25,7 +25,11 @@ async function updateVersion({ id, collection, locale, req = {}, versionData, wh
|
|
25
25
|
equals: id
|
26
26
|
}
|
27
27
|
};
|
28
|
-
const tableName =
|
28
|
+
const tableName = (0, _getTableName.getTableName)({
|
29
|
+
adapter: this,
|
30
|
+
config: collectionConfig,
|
31
|
+
versions: true
|
32
|
+
});
|
29
33
|
const fields = (0, _versions.buildVersionCollectionFields)(collectionConfig);
|
30
34
|
const { where } = await (0, _buildQuery.default)({
|
31
35
|
adapter: this,
|
@@ -41,11 +45,11 @@ async function updateVersion({ id, collection, locale, req = {}, versionData, wh
|
|
41
45
|
db,
|
42
46
|
fields,
|
43
47
|
operation: 'update',
|
48
|
+
req,
|
44
49
|
tableName,
|
45
|
-
where
|
46
|
-
req
|
50
|
+
where
|
47
51
|
});
|
48
52
|
return result;
|
49
53
|
}
|
50
54
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91cGRhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uLCBVcGRhdGVWZXJzaW9uQXJncyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi9xdWVyaWVzL2J1aWxkUXVlcnknXG5pbXBvcnQgeyBnZXRUYWJsZU5hbWUgfSBmcm9tICcuL3NjaGVtYS9nZXRUYWJsZU5hbWUnXG5pbXBvcnQgeyB1cHNlcnRSb3cgfSBmcm9tICcuL3Vwc2VydFJvdydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb248VCBleHRlbmRzIFR5cGVXaXRoSUQ+KFxuICB0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIsXG4gIHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGxvY2FsZSxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgICB3aGVyZTogd2hlcmVBcmcsXG4gIH06IFVwZGF0ZVZlcnNpb25BcmdzPFQ+LFxuKSB7XG4gIGNvbnN0IGRiID0gdGhpcy5zZXNzaW9uc1tyZXEudHJhbnNhY3Rpb25JRF0/LmRiIHx8IHRoaXMuZHJpenpsZVxuICBjb25zdCBjb2xsZWN0aW9uQ29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25dLmNvbmZpZ1xuICBjb25zdCB3aGVyZVRvVXNlID0gd2hlcmVBcmcgfHwgeyBpZDogeyBlcXVhbHM6IGlkIH0gfVxuICBjb25zdCB0YWJsZU5hbWUgPSBnZXRUYWJsZU5hbWUoe1xuICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgIHZlcnNpb25zOiB0cnVlLFxuICB9KVxuICBjb25zdCBmaWVsZHMgPSBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb25Db25maWcpXG5cbiAgY29uc3QgeyB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHRhYmxlTmFtZSxcbiAgICB3aGVyZTogd2hlcmVUb1VzZSxcbiAgfSlcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cHNlcnRSb3c8VHlwZVdpdGhWZXJzaW9uPFQ+Pih7XG4gICAgaWQsXG4gICAgYWRhcHRlcjogdGhpcyxcbiAgICBkYXRhOiB2ZXJzaW9uRGF0YSxcbiAgICBkYixcbiAgICBmaWVsZHMsXG4gICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICByZXEsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVWZXJzaW9uIiwiaWQiLCJjb2xsZWN0aW9uIiwibG9jYWxlIiwicmVxIiwidmVyc2lvbkRhdGEiLCJ3aGVyZSIsIndoZXJlQXJnIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiY29sbGVjdGlvbkNvbmZpZyIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsIndoZXJlVG9Vc2UiLCJlcXVhbHMiLCJ0YWJsZU5hbWUiLCJnZXRUYWJsZU5hbWUiLCJhZGFwdGVyIiwidmVyc2lvbnMiLCJmaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwiYnVpbGRRdWVyeSIsInJlc3VsdCIsInVwc2VydFJvdyIsImRhdGEiLCJvcGVyYXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBV3NCQTs7O2VBQUFBOzs7MEJBUnVCO21FQUl0Qjs4QkFDTTsyQkFDSDs7Ozs7O0FBRW5CLGVBQWVBLGNBRXBCLEVBQ0VDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxNQUFNLEVBQ05DLE1BQU0sQ0FBQyxDQUFtQixFQUMxQkMsV0FBVyxFQUNYQyxPQUFPQyxRQUFRLEVBQ007SUFFdkIsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0wsSUFBSU0sYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1DLG1CQUE4QyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDWixXQUFXLENBQUNhLE1BQU07SUFDL0YsTUFBTUMsYUFBYVQsWUFBWTtRQUFFTixJQUFJO1lBQUVnQixRQUFRaEI7UUFBRztJQUFFO0lBQ3BELE1BQU1pQixZQUFZQyxJQUFBQSwwQkFBWSxFQUFDO1FBQzdCQyxTQUFTLElBQUk7UUFDYkwsUUFBUUg7UUFDUlMsVUFBVTtJQUNaO0lBQ0EsTUFBTUMsU0FBU0MsSUFBQUEsc0NBQTRCLEVBQUNYO0lBRTVDLE1BQU0sRUFBRU4sS0FBSyxFQUFFLEdBQUcsTUFBTWtCLElBQUFBLG1CQUFVLEVBQUM7UUFDakNKLFNBQVMsSUFBSTtRQUNiRTtRQUNBbkI7UUFDQWU7UUFDQVosT0FBT1U7SUFDVDtJQUVBLE1BQU1TLFNBQVMsTUFBTUMsSUFBQUEsb0JBQVMsRUFBcUI7UUFDakR6QjtRQUNBbUIsU0FBUyxJQUFJO1FBQ2JPLE1BQU10QjtRQUNORztRQUNBYztRQUNBTSxXQUFXO1FBQ1h4QjtRQUNBYztRQUNBWjtJQUNGO0lBRUEsT0FBT21CO0FBQ1QifQ==
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upsertRow/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AASnC,eAAO,MAAM,SAAS,mHAYnB,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upsertRow/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AASnC,eAAO,MAAM,SAAS,mHAYnB,IAAI,eAmUN,CAAA"}
|
package/dist/upsertRow/index.js
CHANGED
@@ -112,7 +112,7 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
112
112
|
// INSERT LOCALES
|
113
113
|
// //////////////////////////////////
|
114
114
|
if (localesToInsert.length > 0) {
|
115
|
-
const localeTable = adapter.tables[`${tableName}
|
115
|
+
const localeTable = adapter.tables[`${tableName}${adapter.localesSuffix}`];
|
116
116
|
if (operation === 'update') {
|
117
117
|
await db.delete(localeTable).where((0, _drizzleorm.eq)(localeTable._parentID, insertedRow.id));
|
118
118
|
}
|
@@ -121,7 +121,7 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
121
121
|
// //////////////////////////////////
|
122
122
|
// INSERT RELATIONSHIPS
|
123
123
|
// //////////////////////////////////
|
124
|
-
const relationshipsTableName = `${tableName}
|
124
|
+
const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`;
|
125
125
|
if (operation === 'update') {
|
126
126
|
await (0, _deleteExistingRowsByPath.deleteExistingRowsByPath)({
|
127
127
|
adapter,
|
@@ -184,13 +184,14 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
184
184
|
const insertedBlockRows = {};
|
185
185
|
if (operation === 'update') {
|
186
186
|
for (const blockName of rowToInsert.blocksToDelete){
|
187
|
-
const blockTableName = `${tableName}
|
187
|
+
const blockTableName = adapter.blockTableNames[`${tableName}.${blockName}`];
|
188
188
|
const blockTable = adapter.tables[blockTableName];
|
189
189
|
await db.delete(blockTable).where((0, _drizzleorm.eq)(blockTable._parentID, insertedRow.id));
|
190
190
|
}
|
191
191
|
}
|
192
192
|
for (const [blockName, blockRows] of Object.entries(blocksToInsert)){
|
193
|
-
|
193
|
+
const blockTableName = adapter.blockTableNames[`${tableName}.${blockName}`];
|
194
|
+
insertedBlockRows[blockName] = await db.insert(adapter.tables[blockTableName]).values(blockRows.map(({ row })=>row)).returning();
|
194
195
|
insertedBlockRows[blockName].forEach((row, i)=>{
|
195
196
|
blockRows[i].row = row;
|
196
197
|
});
|
@@ -209,7 +210,7 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
209
210
|
return acc;
|
210
211
|
}, []);
|
211
212
|
if (blockLocaleRowsToInsert.length > 0) {
|
212
|
-
await db.insert(adapter.tables[`${
|
213
|
+
await db.insert(adapter.tables[`${blockTableName}${adapter.localesSuffix}`]).values(blockLocaleRowsToInsert).returning();
|
213
214
|
}
|
214
215
|
await (0, _insertArrays.insertArrays)({
|
215
216
|
adapter,
|
@@ -284,4 +285,4 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
284
285
|
return result;
|
285
286
|
};
|
286
287
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgcmVxLFxuICB0YWJsZU5hbWUsXG4gIHVwc2VydFRhcmdldCxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxUPiA9PiB7XG4gIC8vIFNwbGl0IG91dCB0aGUgaW5jb21pbmcgZGF0YSBpbnRvIHRoZSBjb3JyZXNwb25kaW5nOlxuICAvLyBiYXNlIHJvdywgbG9jYWxlcywgcmVsYXRpb25zaGlwcywgYmxvY2tzLCBhbmQgYXJyYXlzXG4gIGNvbnN0IHJvd1RvSW5zZXJ0ID0gdHJhbnNmb3JtRm9yV3JpdGUoe1xuICAgIGFkYXB0ZXIsXG4gICAgZGF0YSxcbiAgICBmaWVsZHMsXG4gICAgcGF0aCxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gRmlyc3QsIHdlIGluc2VydCB0aGUgbWFpbiByb3dcbiAgbGV0IGluc2VydGVkUm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIHRyeSB7XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHVwc2VydFRhcmdldCB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkXG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICByb3dUb0luc2VydC5yb3cuaWQgPSBpZFxuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0IH0pXG4gICAgICAgICAgLnJldHVybmluZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0LCB3aGVyZSB9KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZXNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgcmVsYXRpb25zVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IHRleHRzVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IG51bWJlcnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgYmxvY2tzVG9JbnNlcnQ6IHsgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdIH0gPSB7fVxuICAgIGNvbnN0IHNlbGVjdHNUb0luc2VydDogeyBbc2VsZWN0VGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH0gPSB7fVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGxvY2FsZSByb3dzIHdpdGggZGF0YSwgYWRkIHRoZSBwYXJlbnQgYW5kIGxvY2FsZSB0byBlYWNoXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmZvckVhY2goKFtsb2NhbGUsIGxvY2FsZVJvd10pID0+IHtcbiAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGxvY2FsZVJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICAgIGxvY2FsZXNUb0luc2VydC5wdXNoKGxvY2FsZVJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHJlbGF0aW9uc2hpcHMsIGFkZCBwYXJlbnQgdG8gZWFjaFxuICAgIGlmIChyb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgcmVsYXRpb24ucGFyZW50ID0gaW5zZXJ0ZWRSb3cuaWRcbiAgICAgICAgcmVsYXRpb25zVG9JbnNlcnQucHVzaChyZWxhdGlvbilcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHRleHRzLCBhZGQgcGFyZW50IHRvIGVhY2hcbiAgICBpZiAocm93VG9JbnNlcnQudGV4dHMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQudGV4dHMuZm9yRWFjaCgodGV4dFJvdykgPT4ge1xuICAgICAgICB0ZXh0Um93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIHRleHRzVG9JbnNlcnQucHVzaCh0ZXh0Um93KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbnVtYmVycywgYWRkIHBhcmVudCB0byBlYWNoXG4gICAgaWYgKHJvd1RvSW5zZXJ0Lm51bWJlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQubnVtYmVycy5mb3JFYWNoKChudW1iZXJSb3cpID0+IHtcbiAgICAgICAgbnVtYmVyUm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIG51bWJlcnNUb0luc2VydC5wdXNoKG51bWJlclJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHNlbGVjdHMsIGFkZCBwYXJlbnQgdG8gZWFjaCwgYW5kIHRoZW5cbiAgICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmZvckVhY2goKFtzZWxlY3RUYWJsZU5hbWUsIHNlbGVjdFJvd3NdKSA9PiB7XG4gICAgICAgIHNlbGVjdFJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3cucGFyZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdID0gW11cbiAgICAgICAgICBzZWxlY3RzVG9JbnNlcnRbc2VsZWN0VGFibGVOYW1lXS5wdXNoKHJvdylcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGJsb2NrcywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAgIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgICBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5ibG9ja3MpLmZvckVhY2goKGJsb2NrTmFtZSkgPT4ge1xuICAgICAgcm93VG9JbnNlcnQuYmxvY2tzW2Jsb2NrTmFtZV0uZm9yRWFjaCgoYmxvY2tSb3cpID0+IHtcbiAgICAgICAgYmxvY2tSb3cucm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGlmICghYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSkgYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSA9IFtdXG4gICAgICAgIGlmIChibG9ja1Jvdy5yb3cudXVpZCkge1xuICAgICAgICAgIGRlbGV0ZSBibG9ja1Jvdy5yb3cudXVpZFxuICAgICAgICB9XG4gICAgICAgIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0ucHVzaChibG9ja1JvdylcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgTE9DQUxFU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChsb2NhbGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYWxlVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXVxuXG4gICAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICBhd2FpdCBkYi5kZWxldGUobG9jYWxlVGFibGUpLndoZXJlKGVxKGxvY2FsZVRhYmxlLl9wYXJlbnRJRCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBkYi5pbnNlcnQobG9jYWxlVGFibGUpLnZhbHVlcyhsb2NhbGVzVG9JbnNlcnQpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBSRUxBVElPTlNISVBTXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fcmVsc2BcblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBhd2FpdCBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGgoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBkYixcbiAgICAgICAgbG9jYWxlQ29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICAgIHBhcmVudENvbHVtbk5hbWU6ICdwYXJlbnQnLFxuICAgICAgICBwYXJlbnRJRDogaW5zZXJ0ZWRSb3cuaWQsXG4gICAgICAgIHBhdGhDb2x1bW5OYW1lOiAncGF0aCcsXG4gICAgICAgIHJvd3M6IFsuLi5yZWxhdGlvbnNUb0luc2VydCwgLi4ucm93VG9JbnNlcnQucmVsYXRpb25zaGlwc1RvRGVsZXRlXSxcbiAgICAgICAgdGFibGVOYW1lOiByZWxhdGlvbnNoaXBzVGFibGVOYW1lLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAocmVsYXRpb25zVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uc2hpcHNUYWJsZU5hbWVdKS52YWx1ZXMocmVsYXRpb25zVG9JbnNlcnQpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBoYXNNYW55IFRFWFRTXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgdGV4dHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3RleHRzYFxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgICAgcGFyZW50Q29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgICAgcm93czogdGV4dHNUb0luc2VydCxcbiAgICAgICAgdGFibGVOYW1lOiB0ZXh0c1RhYmxlTmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKHRleHRzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RleHRzVGFibGVOYW1lXSkudmFsdWVzKHRleHRzVG9JbnNlcnQpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBoYXNNYW55IE5VTUJFUlNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBudW1iZXJzVGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9udW1iZXJzYFxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgICAgcGFyZW50Q29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgICAgcm93czogbnVtYmVyc1RvSW5zZXJ0LFxuICAgICAgICB0YWJsZU5hbWU6IG51bWJlcnNUYWJsZU5hbWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChudW1iZXJzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdKS52YWx1ZXMobnVtYmVyc1RvSW5zZXJ0KS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgQkxPQ0tTXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgaW5zZXJ0ZWRCbG9ja1Jvd3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGJsb2NrTmFtZSBvZiByb3dUb0luc2VydC5ibG9ja3NUb0RlbGV0ZSkge1xuICAgICAgICBjb25zdCBibG9ja1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tOYW1lfWBcbiAgICAgICAgY29uc3QgYmxvY2tUYWJsZSA9IGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXVxuICAgICAgICBhd2FpdCBkYi5kZWxldGUoYmxvY2tUYWJsZSkud2hlcmUoZXEoYmxvY2tUYWJsZS5fcGFyZW50SUQsIGluc2VydGVkUm93LmlkKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtibG9ja05hbWUsIGJsb2NrUm93c10gb2YgT2JqZWN0LmVudHJpZXMoYmxvY2tzVG9JbnNlcnQpKSB7XG4gICAgICBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdID0gYXdhaXQgZGJcbiAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke2Jsb2NrTmFtZX1gXSlcbiAgICAgICAgLnZhbHVlcyhibG9ja1Jvd3MubWFwKCh7IHJvdyB9KSA9PiByb3cpKVxuICAgICAgICAucmV0dXJuaW5nKClcblxuICAgICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXS5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgYmxvY2tSb3dzW2ldLnJvdyA9IHJvd1xuICAgICAgfSlcblxuICAgICAgY29uc3QgYmxvY2tMb2NhbGVJbmRleE1hcDogbnVtYmVyW10gPSBbXVxuXG4gICAgICBjb25zdCBibG9ja0xvY2FsZVJvd3NUb0luc2VydCA9IGJsb2NrUm93cy5yZWR1Y2UoKGFjYywgYmxvY2tSb3csIGkpID0+IHtcbiAgICAgICAgaWYgKE9iamVjdC5lbnRyaWVzKGJsb2NrUm93LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhibG9ja1Jvdy5sb2NhbGVzKS5mb3JFYWNoKChbYmxvY2tMb2NhbGUsIGJsb2NrTG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhibG9ja0xvY2FsZURhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgYmxvY2tMb2NhbGVEYXRhLl9wYXJlbnRJRCA9IGJsb2NrUm93LnJvdy5pZFxuICAgICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX2xvY2FsZSA9IGJsb2NrTG9jYWxlXG4gICAgICAgICAgICAgIGFjYy5wdXNoKGJsb2NrTG9jYWxlRGF0YSlcbiAgICAgICAgICAgICAgYmxvY2tMb2NhbGVJbmRleE1hcC5wdXNoKGkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKVxuXG4gICAgICBpZiAoYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCBkYlxuICAgICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9ibG9ja3NfJHtibG9ja05hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgICAudmFsdWVzKGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IGJsb2NrUm93cy5tYXAoKHsgYXJyYXlzIH0pID0+IGFycmF5cyksXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIEFSUkFZUyBSRUNVUlNJVkVMWVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGFycmF5VGFibGVOYW1lIG9mIE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmFycmF5cykpIHtcbiAgICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdBcnJheVJvd3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgZGIsXG4gICAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBhcnJheXM6IFtyb3dUb0luc2VydC5hcnJheXNdLFxuICAgICAgZGIsXG4gICAgICBwYXJlbnRSb3dzOiBbaW5zZXJ0ZWRSb3ddLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgU0VMRUNUU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGZvciAoY29uc3QgW3NlbGVjdFRhYmxlTmFtZSwgdGFibGVSb3dzXSBvZiBPYmplY3QuZW50cmllcyhzZWxlY3RzVG9JbnNlcnQpKSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZSA9IGFkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV1cbiAgICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgIGF3YWl0IGRiLmRlbGV0ZShzZWxlY3RUYWJsZSkud2hlcmUoZXEoc2VsZWN0VGFibGUucGFyZW50LCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgICB9XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoc2VsZWN0VGFibGUpLnZhbHVlcyh0YWJsZVJvd3MpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEVycm9yIEhhbmRsaW5nXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IGVycm9yLmNvZGUgPT09ICcyMzUwNSdcbiAgICAgID8gbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiBhZGFwdGVyLmZpZWxkQ29uc3RyYWludHNbdGFibGVOYW1lXVtlcnJvci5jb25zdHJhaW50XSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogcmVxLnQoJ2Vycm9yOnZhbHVlTXVzdEJlVW5pcXVlJyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVxPy50ID8/IGkxOG5Jbml0KHJlcS5wYXlsb2FkLmNvbmZpZy5pMThuKS50LFxuICAgICAgICApXG4gICAgICA6IGVycm9yXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFJFVFJJRVZFIE5FV0xZIFVQREFURUQgUk9XXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCBmaW5kTWFueUFyZ3MgPSBidWlsZEZpbmRNYW55QXJncyh7XG4gICAgYWRhcHRlcixcbiAgICBkZXB0aDogMCxcbiAgICBmaWVsZHMsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIGZpbmRNYW55QXJncy53aGVyZSA9IGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGluc2VydGVkUm93LmlkKVxuXG4gIGNvbnN0IGRvYyA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KGZpbmRNYW55QXJncylcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFRSQU5TRk9STSBEQVRBXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm08VD4oe1xuICAgIGNvbmZpZzogYWRhcHRlci5wYXlsb2FkLmNvbmZpZyxcbiAgICBkYXRhOiBkb2MsXG4gICAgZmllbGRzLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cHNlcnRSb3ciLCJpZCIsImFkYXB0ZXIiLCJkYXRhIiwiZGIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJwYXRoIiwicmVxIiwidGFibGVOYW1lIiwidXBzZXJ0VGFyZ2V0Iiwid2hlcmUiLCJyb3dUb0luc2VydCIsInRyYW5zZm9ybUZvcldyaXRlIiwiaW5zZXJ0ZWRSb3ciLCJ0YXJnZXQiLCJ0YWJsZXMiLCJyb3ciLCJpbnNlcnQiLCJ2YWx1ZXMiLCJvbkNvbmZsaWN0RG9VcGRhdGUiLCJzZXQiLCJyZXR1cm5pbmciLCJsb2NhbGVzVG9JbnNlcnQiLCJyZWxhdGlvbnNUb0luc2VydCIsInRleHRzVG9JbnNlcnQiLCJudW1iZXJzVG9JbnNlcnQiLCJibG9ja3NUb0luc2VydCIsInNlbGVjdHNUb0luc2VydCIsIk9iamVjdCIsImtleXMiLCJsb2NhbGVzIiwibGVuZ3RoIiwiZW50cmllcyIsImZvckVhY2giLCJsb2NhbGUiLCJsb2NhbGVSb3ciLCJfcGFyZW50SUQiLCJfbG9jYWxlIiwicHVzaCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbiIsInBhcmVudCIsInRleHRzIiwidGV4dFJvdyIsIm51bWJlcnMiLCJudW1iZXJSb3ciLCJzZWxlY3RzIiwic2VsZWN0VGFibGVOYW1lIiwic2VsZWN0Um93cyIsImJsb2NrcyIsImJsb2NrTmFtZSIsImJsb2NrUm93IiwidXVpZCIsImxvY2FsZVRhYmxlIiwiZGVsZXRlIiwiZXEiLCJyZWxhdGlvbnNoaXBzVGFibGVOYW1lIiwiZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoIiwibG9jYWxlQ29sdW1uTmFtZSIsInBhcmVudENvbHVtbk5hbWUiLCJwYXJlbnRJRCIsInBhdGhDb2x1bW5OYW1lIiwicm93cyIsInJlbGF0aW9uc2hpcHNUb0RlbGV0ZSIsInRleHRzVGFibGVOYW1lIiwibnVtYmVyc1RhYmxlTmFtZSIsImluc2VydGVkQmxvY2tSb3dzIiwiYmxvY2tzVG9EZWxldGUiLCJibG9ja1RhYmxlTmFtZSIsImJsb2NrVGFibGUiLCJibG9ja1Jvd3MiLCJtYXAiLCJpIiwiYmxvY2tMb2NhbGVJbmRleE1hcCIsImJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0IiwicmVkdWNlIiwiYWNjIiwiYmxvY2tMb2NhbGUiLCJibG9ja0xvY2FsZURhdGEiLCJpbnNlcnRBcnJheXMiLCJhcnJheXMiLCJwYXJlbnRSb3dzIiwiYXJyYXlUYWJsZU5hbWUiLCJkZWxldGVFeGlzdGluZ0FycmF5Um93cyIsInRhYmxlUm93cyIsInNlbGVjdFRhYmxlIiwiZXJyb3IiLCJjb2RlIiwiVmFsaWRhdGlvbkVycm9yIiwiZmllbGQiLCJmaWVsZENvbnN0cmFpbnRzIiwiY29uc3RyYWludCIsIm1lc3NhZ2UiLCJ0IiwiaTE4bkluaXQiLCJwYXlsb2FkIiwiY29uZmlnIiwiaTE4biIsImZpbmRNYW55QXJncyIsImJ1aWxkRmluZE1hbnlBcmdzIiwiZGVwdGgiLCJkb2MiLCJxdWVyeSIsImZpbmRGaXJzdCIsInJlc3VsdCIsInRyYW5zZm9ybSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWlCdkJBOzs7ZUFBQUE7Ozs0QkFkTTt3QkFDYTsyQkFDUDttQ0FLUztzQkFDUjt1QkFDUTt5Q0FDTTswQ0FDQzs4QkFDWjtBQUV0QixNQUFNQSxZQUFZLE9BQTZCLEVBQ3BEQyxFQUFFLEVBQ0ZDLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxFQUFFLEVBQ0ZDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxPQUFPLEVBQUUsRUFDVEMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLFlBQVksRUFDWkMsS0FBSyxFQUNBO0lBQ0wsc0RBQXNEO0lBQ3RELHVEQUF1RDtJQUN2RCxNQUFNQyxjQUFjQyxJQUFBQSx3QkFBaUIsRUFBQztRQUNwQ1g7UUFDQUM7UUFDQUU7UUFDQUU7UUFDQUU7SUFDRjtJQUVBLGdDQUFnQztJQUNoQyxJQUFJSztJQUVKLElBQUk7UUFDRixJQUFJUixjQUFjLFVBQVU7WUFDMUIsTUFBTVMsU0FBU0wsZ0JBQWdCUixRQUFRYyxNQUFNLENBQUNQLFVBQVUsQ0FBQ1IsRUFBRTtZQUUzRCxJQUFJQSxJQUFJO2dCQUNOVyxZQUFZSyxHQUFHLENBQUNoQixFQUFFLEdBQUdBO2dCQUNwQixDQUFDYSxZQUFZLEdBQUcsTUFBTVYsR0FDcEJjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQ1AsVUFBVSxFQUNoQ1UsTUFBTSxDQUFDUCxZQUFZSyxHQUFHLEVBQ3RCRyxrQkFBa0IsQ0FBQztvQkFBRUMsS0FBS1QsWUFBWUssR0FBRztvQkFBRUY7Z0JBQU8sR0FDbERPLFNBQVM7WUFDZCxPQUFPO2dCQUNKLENBQUNSLFlBQVksR0FBRyxNQUFNVixHQUNwQmMsTUFBTSxDQUFDaEIsUUFBUWMsTUFBTSxDQUFDUCxVQUFVLEVBQ2hDVSxNQUFNLENBQUNQLFlBQVlLLEdBQUcsRUFDdEJHLGtCQUFrQixDQUFDO29CQUFFQyxLQUFLVCxZQUFZSyxHQUFHO29CQUFFRjtvQkFBUUo7Z0JBQU0sR0FDekRXLFNBQVM7WUFDZDtRQUNGLE9BQU87WUFDSixDQUFDUixZQUFZLEdBQUcsTUFBTVYsR0FDcEJjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQ1AsVUFBVSxFQUNoQ1UsTUFBTSxDQUFDUCxZQUFZSyxHQUFHLEVBQ3RCSyxTQUFTO1FBQ2Q7UUFFQSxNQUFNQyxrQkFBNkMsRUFBRTtRQUNyRCxNQUFNQyxvQkFBK0MsRUFBRTtRQUN2RCxNQUFNQyxnQkFBMkMsRUFBRTtRQUNuRCxNQUFNQyxrQkFBNkMsRUFBRTtRQUNyRCxNQUFNQyxpQkFBOEQsQ0FBQztRQUNyRSxNQUFNQyxrQkFBNEUsQ0FBQztRQUVuRix3RUFBd0U7UUFDeEUsSUFBSUMsT0FBT0MsSUFBSSxDQUFDbEIsWUFBWW1CLE9BQU8sRUFBRUMsTUFBTSxHQUFHLEdBQUc7WUFDL0NILE9BQU9JLE9BQU8sQ0FBQ3JCLFlBQVltQixPQUFPLEVBQUVHLE9BQU8sQ0FBQyxDQUFDLENBQUNDLFFBQVFDLFVBQVU7Z0JBQzlEQSxVQUFVQyxTQUFTLEdBQUd2QixZQUFZYixFQUFFO2dCQUNwQ21DLFVBQVVFLE9BQU8sR0FBR0g7Z0JBQ3BCWixnQkFBZ0JnQixJQUFJLENBQUNIO1lBQ3ZCO1FBQ0Y7UUFFQSxpREFBaUQ7UUFDakQsSUFBSXhCLFlBQVk0QixhQUFhLENBQUNSLE1BQU0sR0FBRyxHQUFHO1lBQ3hDcEIsWUFBWTRCLGFBQWEsQ0FBQ04sT0FBTyxDQUFDLENBQUNPO2dCQUNqQ0EsU0FBU0MsTUFBTSxHQUFHNUIsWUFBWWIsRUFBRTtnQkFDaEN1QixrQkFBa0JlLElBQUksQ0FBQ0U7WUFDekI7UUFDRjtRQUVBLHlDQUF5QztRQUN6QyxJQUFJN0IsWUFBWStCLEtBQUssQ0FBQ1gsTUFBTSxHQUFHLEdBQUc7WUFDaENwQixZQUFZK0IsS0FBSyxDQUFDVCxPQUFPLENBQUMsQ0FBQ1U7Z0JBQ3pCQSxRQUFRRixNQUFNLEdBQUc1QixZQUFZYixFQUFFO2dCQUMvQndCLGNBQWNjLElBQUksQ0FBQ0s7WUFDckI7UUFDRjtRQUVBLDJDQUEyQztRQUMzQyxJQUFJaEMsWUFBWWlDLE9BQU8sQ0FBQ2IsTUFBTSxHQUFHLEdBQUc7WUFDbENwQixZQUFZaUMsT0FBTyxDQUFDWCxPQUFPLENBQUMsQ0FBQ1k7Z0JBQzNCQSxVQUFVSixNQUFNLEdBQUc1QixZQUFZYixFQUFFO2dCQUNqQ3lCLGdCQUFnQmEsSUFBSSxDQUFDTztZQUN2QjtRQUNGO1FBRUEscURBQXFEO1FBQ3JELCtCQUErQjtRQUMvQixJQUFJakIsT0FBT0MsSUFBSSxDQUFDbEIsWUFBWW1DLE9BQU8sRUFBRWYsTUFBTSxHQUFHLEdBQUc7WUFDL0NILE9BQU9JLE9BQU8sQ0FBQ3JCLFlBQVltQyxPQUFPLEVBQUViLE9BQU8sQ0FBQyxDQUFDLENBQUNjLGlCQUFpQkMsV0FBVztnQkFDeEVBLFdBQVdmLE9BQU8sQ0FBQyxDQUFDakI7b0JBQ2xCLElBQUksT0FBT0EsSUFBSXlCLE1BQU0sS0FBSyxhQUFhO3dCQUNyQ3pCLElBQUl5QixNQUFNLEdBQUc1QixZQUFZYixFQUFFO29CQUM3QjtvQkFDQSxJQUFJLENBQUMyQixlQUFlLENBQUNvQixnQkFBZ0IsRUFBRXBCLGVBQWUsQ0FBQ29CLGdCQUFnQixHQUFHLEVBQUU7b0JBQzVFcEIsZUFBZSxDQUFDb0IsZ0JBQWdCLENBQUNULElBQUksQ0FBQ3RCO2dCQUN4QztZQUNGO1FBQ0Y7UUFFQSxvREFBb0Q7UUFDcEQsK0JBQStCO1FBQy9CWSxPQUFPQyxJQUFJLENBQUNsQixZQUFZc0MsTUFBTSxFQUFFaEIsT0FBTyxDQUFDLENBQUNpQjtZQUN2Q3ZDLFlBQVlzQyxNQUFNLENBQUNDLFVBQVUsQ0FBQ2pCLE9BQU8sQ0FBQyxDQUFDa0I7Z0JBQ3JDQSxTQUFTbkMsR0FBRyxDQUFDb0IsU0FBUyxHQUFHdkIsWUFBWWIsRUFBRTtnQkFDdkMsSUFBSSxDQUFDMEIsY0FBYyxDQUFDd0IsVUFBVSxFQUFFeEIsY0FBYyxDQUFDd0IsVUFBVSxHQUFHLEVBQUU7Z0JBQzlELElBQUlDLFNBQVNuQyxHQUFHLENBQUNvQyxJQUFJLEVBQUU7b0JBQ3JCLE9BQU9ELFNBQVNuQyxHQUFHLENBQUNvQyxJQUFJO2dCQUMxQjtnQkFDQTFCLGNBQWMsQ0FBQ3dCLFVBQVUsQ0FBQ1osSUFBSSxDQUFDYTtZQUNqQztRQUNGO1FBRUEscUNBQXFDO1FBQ3JDLGlCQUFpQjtRQUNqQixxQ0FBcUM7UUFFckMsSUFBSTdCLGdCQUFnQlMsTUFBTSxHQUFHLEdBQUc7WUFDOUIsTUFBTXNCLGNBQWNwRCxRQUFRYyxNQUFNLENBQUMsQ0FBQyxFQUFFUCxVQUFVLFFBQVEsQ0FBQyxDQUFDO1lBRTFELElBQUlILGNBQWMsVUFBVTtnQkFDMUIsTUFBTUYsR0FBR21ELE1BQU0sQ0FBQ0QsYUFBYTNDLEtBQUssQ0FBQzZDLElBQUFBLGNBQUUsRUFBQ0YsWUFBWWpCLFNBQVMsRUFBRXZCLFlBQVliLEVBQUU7WUFDN0U7WUFFQSxNQUFNRyxHQUFHYyxNQUFNLENBQUNvQyxhQUFhbkMsTUFBTSxDQUFDSTtRQUN0QztRQUVBLHFDQUFxQztRQUNyQyx1QkFBdUI7UUFDdkIscUNBQXFDO1FBRXJDLE1BQU1rQyx5QkFBeUIsQ0FBQyxFQUFFaEQsVUFBVSxLQUFLLENBQUM7UUFFbEQsSUFBSUgsY0FBYyxVQUFVO1lBQzFCLE1BQU1vRCxJQUFBQSxrREFBd0IsRUFBQztnQkFDN0J4RDtnQkFDQUU7Z0JBQ0F1RCxrQkFBa0I7Z0JBQ2xCQyxrQkFBa0I7Z0JBQ2xCQyxVQUFVL0MsWUFBWWIsRUFBRTtnQkFDeEI2RCxnQkFBZ0I7Z0JBQ2hCQyxNQUFNO3VCQUFJdkM7dUJBQXNCWixZQUFZb0QscUJBQXFCO2lCQUFDO2dCQUNsRXZELFdBQVdnRDtZQUNiO1FBQ0Y7UUFFQSxJQUFJakMsa0JBQWtCUSxNQUFNLEdBQUcsR0FBRztZQUNoQyxNQUFNNUIsR0FBR2MsTUFBTSxDQUFDaEIsUUFBUWMsTUFBTSxDQUFDeUMsdUJBQXVCLEVBQUV0QyxNQUFNLENBQUNLO1FBQ2pFO1FBRUEscUNBQXFDO1FBQ3JDLHVCQUF1QjtRQUN2QixxQ0FBcUM7UUFFckMsTUFBTXlDLGlCQUFpQixDQUFDLEVBQUV4RCxVQUFVLE1BQU0sQ0FBQztRQUUzQyxJQUFJSCxjQUFjLFVBQVU7WUFDMUIsTUFBTW9ELElBQUFBLGtEQUF3QixFQUFDO2dCQUM3QnhEO2dCQUNBRTtnQkFDQXVELGtCQUFrQjtnQkFDbEJDLGtCQUFrQjtnQkFDbEJDLFVBQVUvQyxZQUFZYixFQUFFO2dCQUN4QjZELGdCQUFnQjtnQkFDaEJDLE1BQU10QztnQkFDTmhCLFdBQVd3RDtZQUNiO1FBQ0Y7UUFFQSxJQUFJeEMsY0FBY08sTUFBTSxHQUFHLEdBQUc7WUFDNUIsTUFBTTVCLEdBQUdjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQ2lELGVBQWUsRUFBRTlDLE1BQU0sQ0FBQ00sZUFBZUgsU0FBUztRQUNqRjtRQUVBLHFDQUFxQztRQUNyQyx5QkFBeUI7UUFDekIscUNBQXFDO1FBRXJDLE1BQU00QyxtQkFBbUIsQ0FBQyxFQUFFekQsVUFBVSxRQUFRLENBQUM7UUFFL0MsSUFBSUgsY0FBYyxVQUFVO1lBQzFCLE1BQU1vRCxJQUFBQSxrREFBd0IsRUFBQztnQkFDN0J4RDtnQkFDQUU7Z0JBQ0F1RCxrQkFBa0I7Z0JBQ2xCQyxrQkFBa0I7Z0JBQ2xCQyxVQUFVL0MsWUFBWWIsRUFBRTtnQkFDeEI2RCxnQkFBZ0I7Z0JBQ2hCQyxNQUFNckM7Z0JBQ05qQixXQUFXeUQ7WUFDYjtRQUNGO1FBRUEsSUFBSXhDLGdCQUFnQk0sTUFBTSxHQUFHLEdBQUc7WUFDOUIsTUFBTTVCLEdBQUdjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQ2tELGlCQUFpQixFQUFFL0MsTUFBTSxDQUFDTyxpQkFBaUJKLFNBQVM7UUFDckY7UUFFQSxxQ0FBcUM7UUFDckMsZ0JBQWdCO1FBQ2hCLHFDQUFxQztRQUVyQyxNQUFNNkMsb0JBQStELENBQUM7UUFFdEUsSUFBSTdELGNBQWMsVUFBVTtZQUMxQixLQUFLLE1BQU02QyxhQUFhdkMsWUFBWXdELGNBQWMsQ0FBRTtnQkFDbEQsTUFBTUMsaUJBQWlCLENBQUMsRUFBRTVELFVBQVUsUUFBUSxFQUFFMEMsVUFBVSxDQUFDO2dCQUN6RCxNQUFNbUIsYUFBYXBFLFFBQVFjLE1BQU0sQ0FBQ3FELGVBQWU7Z0JBQ2pELE1BQU1qRSxHQUFHbUQsTUFBTSxDQUFDZSxZQUFZM0QsS0FBSyxDQUFDNkMsSUFBQUEsY0FBRSxFQUFDYyxXQUFXakMsU0FBUyxFQUFFdkIsWUFBWWIsRUFBRTtZQUMzRTtRQUNGO1FBRUEsS0FBSyxNQUFNLENBQUNrRCxXQUFXb0IsVUFBVSxJQUFJMUMsT0FBT0ksT0FBTyxDQUFDTixnQkFBaUI7WUFDbkV3QyxpQkFBaUIsQ0FBQ2hCLFVBQVUsR0FBRyxNQUFNL0MsR0FDbENjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQyxDQUFDLEVBQUVQLFVBQVUsUUFBUSxFQUFFMEMsVUFBVSxDQUFDLENBQUMsRUFDekRoQyxNQUFNLENBQUNvRCxVQUFVQyxHQUFHLENBQUMsQ0FBQyxFQUFFdkQsR0FBRyxFQUFFLEdBQUtBLE1BQ2xDSyxTQUFTO1lBRVo2QyxpQkFBaUIsQ0FBQ2hCLFVBQVUsQ0FBQ2pCLE9BQU8sQ0FBQyxDQUFDakIsS0FBS3dEO2dCQUN6Q0YsU0FBUyxDQUFDRSxFQUFFLENBQUN4RCxHQUFHLEdBQUdBO1lBQ3JCO1lBRUEsTUFBTXlELHNCQUFnQyxFQUFFO1lBRXhDLE1BQU1DLDBCQUEwQkosVUFBVUssTUFBTSxDQUFDLENBQUNDLEtBQUt6QixVQUFVcUI7Z0JBQy9ELElBQUk1QyxPQUFPSSxPQUFPLENBQUNtQixTQUFTckIsT0FBTyxFQUFFQyxNQUFNLEdBQUcsR0FBRztvQkFDL0NILE9BQU9JLE9BQU8sQ0FBQ21CLFNBQVNyQixPQUFPLEVBQUVHLE9BQU8sQ0FBQyxDQUFDLENBQUM0QyxhQUFhQyxnQkFBZ0I7d0JBQ3RFLElBQUlsRCxPQUFPQyxJQUFJLENBQUNpRCxpQkFBaUIvQyxNQUFNLEdBQUcsR0FBRzs0QkFDM0MrQyxnQkFBZ0IxQyxTQUFTLEdBQUdlLFNBQVNuQyxHQUFHLENBQUNoQixFQUFFOzRCQUMzQzhFLGdCQUFnQnpDLE9BQU8sR0FBR3dDOzRCQUMxQkQsSUFBSXRDLElBQUksQ0FBQ3dDOzRCQUNUTCxvQkFBb0JuQyxJQUFJLENBQUNrQzt3QkFDM0I7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT0k7WUFDVCxHQUFHLEVBQUU7WUFFTCxJQUFJRix3QkFBd0IzQyxNQUFNLEdBQUcsR0FBRztnQkFDdEMsTUFBTTVCLEdBQ0hjLE1BQU0sQ0FBQ2hCLFFBQVFjLE1BQU0sQ0FBQyxDQUFDLEVBQUVQLFVBQVUsUUFBUSxFQUFFMEMsVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUNqRWhDLE1BQU0sQ0FBQ3dELHlCQUNQckQsU0FBUztZQUNkO1lBRUEsTUFBTTBELElBQUFBLDBCQUFZLEVBQUM7Z0JBQ2pCOUU7Z0JBQ0ErRSxRQUFRVixVQUFVQyxHQUFHLENBQUMsQ0FBQyxFQUFFUyxNQUFNLEVBQUUsR0FBS0E7Z0JBQ3RDN0U7Z0JBQ0E4RSxZQUFZZixpQkFBaUIsQ0FBQ2hCLFVBQVU7WUFDMUM7UUFDRjtRQUVBLHFDQUFxQztRQUNyQyw0QkFBNEI7UUFDNUIscUNBQXFDO1FBRXJDLElBQUk3QyxjQUFjLFVBQVU7WUFDMUIsS0FBSyxNQUFNNkUsa0JBQWtCdEQsT0FBT0MsSUFBSSxDQUFDbEIsWUFBWXFFLE1BQU0sRUFBRztnQkFDNUQsTUFBTUcsSUFBQUEsZ0RBQXVCLEVBQUM7b0JBQzVCbEY7b0JBQ0FFO29CQUNBeUQsVUFBVS9DLFlBQVliLEVBQUU7b0JBQ3hCUSxXQUFXMEU7Z0JBQ2I7WUFDRjtRQUNGO1FBRUEsTUFBTUgsSUFBQUEsMEJBQVksRUFBQztZQUNqQjlFO1lBQ0ErRSxRQUFRO2dCQUFDckUsWUFBWXFFLE1BQU07YUFBQztZQUM1QjdFO1lBQ0E4RSxZQUFZO2dCQUFDcEU7YUFBWTtRQUMzQjtRQUVBLHFDQUFxQztRQUNyQyx5QkFBeUI7UUFDekIscUNBQXFDO1FBRXJDLEtBQUssTUFBTSxDQUFDa0MsaUJBQWlCcUMsVUFBVSxJQUFJeEQsT0FBT0ksT0FBTyxDQUFDTCxpQkFBa0I7WUFDMUUsTUFBTTBELGNBQWNwRixRQUFRYyxNQUFNLENBQUNnQyxnQkFBZ0I7WUFDbkQsSUFBSTFDLGNBQWMsVUFBVTtnQkFDMUIsTUFBTUYsR0FBR21ELE1BQU0sQ0FBQytCLGFBQWEzRSxLQUFLLENBQUM2QyxJQUFBQSxjQUFFLEVBQUM4QixZQUFZNUMsTUFBTSxFQUFFNUIsWUFBWWIsRUFBRTtZQUMxRTtZQUNBLE1BQU1HLEdBQUdjLE1BQU0sQ0FBQ29FLGFBQWFuRSxNQUFNLENBQUNrRSxXQUFXL0QsU0FBUztRQUMxRDtJQUVBLHFDQUFxQztJQUNyQyxpQkFBaUI7SUFDakIscUNBQXFDO0lBQ3ZDLEVBQUUsT0FBT2lFLE9BQU87UUFDZCxNQUFNQSxNQUFNQyxJQUFJLEtBQUssVUFDakIsSUFBSUMsdUJBQWUsQ0FDakI7WUFDRTtnQkFDRUMsT0FBT3hGLFFBQVF5RixnQkFBZ0IsQ0FBQ2xGLFVBQVUsQ0FBQzhFLE1BQU1LLFVBQVUsQ0FBQztnQkFDNURDLFNBQVNyRixJQUFJc0YsQ0FBQyxDQUFDO1lBQ2pCO1NBQ0QsRUFDRHRGLEtBQUtzRixLQUFLQyxJQUFBQSxtQkFBUSxFQUFDdkYsSUFBSXdGLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLEVBQUVKLENBQUMsSUFFL0NQO0lBQ047SUFFQSxxQ0FBcUM7SUFDckMsNkJBQTZCO0lBQzdCLHFDQUFxQztJQUVyQyxNQUFNWSxlQUFlQyxJQUFBQSxvQ0FBaUIsRUFBQztRQUNyQ2xHO1FBQ0FtRyxPQUFPO1FBQ1BoRztRQUNBSTtJQUNGO0lBRUEwRixhQUFheEYsS0FBSyxHQUFHNkMsSUFBQUEsY0FBRSxFQUFDdEQsUUFBUWMsTUFBTSxDQUFDUCxVQUFVLENBQUNSLEVBQUUsRUFBRWEsWUFBWWIsRUFBRTtJQUVwRSxNQUFNcUcsTUFBTSxNQUFNbEcsR0FBR21HLEtBQUssQ0FBQzlGLFVBQVUsQ0FBQytGLFNBQVMsQ0FBQ0w7SUFFaEQscUNBQXFDO0lBQ3JDLGlCQUFpQjtJQUNqQixxQ0FBcUM7SUFFckMsTUFBTU0sU0FBU0MsSUFBQUEsZUFBUyxFQUFJO1FBQzFCVCxRQUFRL0YsUUFBUThGLE9BQU8sQ0FBQ0MsTUFBTTtRQUM5QjlGLE1BQU1tRztRQUNOakc7SUFDRjtJQUVBLE9BQU9vRztBQUNUIn0=
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgcmVxLFxuICB0YWJsZU5hbWUsXG4gIHVwc2VydFRhcmdldCxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxUPiA9PiB7XG4gIC8vIFNwbGl0IG91dCB0aGUgaW5jb21pbmcgZGF0YSBpbnRvIHRoZSBjb3JyZXNwb25kaW5nOlxuICAvLyBiYXNlIHJvdywgbG9jYWxlcywgcmVsYXRpb25zaGlwcywgYmxvY2tzLCBhbmQgYXJyYXlzXG4gIGNvbnN0IHJvd1RvSW5zZXJ0ID0gdHJhbnNmb3JtRm9yV3JpdGUoe1xuICAgIGFkYXB0ZXIsXG4gICAgZGF0YSxcbiAgICBmaWVsZHMsXG4gICAgcGF0aCxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gRmlyc3QsIHdlIGluc2VydCB0aGUgbWFpbiByb3dcbiAgbGV0IGluc2VydGVkUm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIHRyeSB7XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHVwc2VydFRhcmdldCB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkXG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICByb3dUb0luc2VydC5yb3cuaWQgPSBpZFxuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0IH0pXG4gICAgICAgICAgLnJldHVybmluZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0LCB3aGVyZSB9KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZXNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgcmVsYXRpb25zVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IHRleHRzVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IG51bWJlcnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgYmxvY2tzVG9JbnNlcnQ6IHsgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdIH0gPSB7fVxuICAgIGNvbnN0IHNlbGVjdHNUb0luc2VydDogeyBbc2VsZWN0VGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH0gPSB7fVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGxvY2FsZSByb3dzIHdpdGggZGF0YSwgYWRkIHRoZSBwYXJlbnQgYW5kIGxvY2FsZSB0byBlYWNoXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmZvckVhY2goKFtsb2NhbGUsIGxvY2FsZVJvd10pID0+IHtcbiAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGxvY2FsZVJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICAgIGxvY2FsZXNUb0luc2VydC5wdXNoKGxvY2FsZVJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHJlbGF0aW9uc2hpcHMsIGFkZCBwYXJlbnQgdG8gZWFjaFxuICAgIGlmIChyb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgcmVsYXRpb24ucGFyZW50ID0gaW5zZXJ0ZWRSb3cuaWRcbiAgICAgICAgcmVsYXRpb25zVG9JbnNlcnQucHVzaChyZWxhdGlvbilcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHRleHRzLCBhZGQgcGFyZW50IHRvIGVhY2hcbiAgICBpZiAocm93VG9JbnNlcnQudGV4dHMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQudGV4dHMuZm9yRWFjaCgodGV4dFJvdykgPT4ge1xuICAgICAgICB0ZXh0Um93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIHRleHRzVG9JbnNlcnQucHVzaCh0ZXh0Um93KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbnVtYmVycywgYWRkIHBhcmVudCB0byBlYWNoXG4gICAgaWYgKHJvd1RvSW5zZXJ0Lm51bWJlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQubnVtYmVycy5mb3JFYWNoKChudW1iZXJSb3cpID0+IHtcbiAgICAgICAgbnVtYmVyUm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIG51bWJlcnNUb0luc2VydC5wdXNoKG51bWJlclJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHNlbGVjdHMsIGFkZCBwYXJlbnQgdG8gZWFjaCwgYW5kIHRoZW5cbiAgICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmZvckVhY2goKFtzZWxlY3RUYWJsZU5hbWUsIHNlbGVjdFJvd3NdKSA9PiB7XG4gICAgICAgIHNlbGVjdFJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3cucGFyZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdID0gW11cbiAgICAgICAgICBzZWxlY3RzVG9JbnNlcnRbc2VsZWN0VGFibGVOYW1lXS5wdXNoKHJvdylcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGJsb2NrcywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAgIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgICBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5ibG9ja3MpLmZvckVhY2goKGJsb2NrTmFtZSkgPT4ge1xuICAgICAgcm93VG9JbnNlcnQuYmxvY2tzW2Jsb2NrTmFtZV0uZm9yRWFjaCgoYmxvY2tSb3cpID0+IHtcbiAgICAgICAgYmxvY2tSb3cucm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGlmICghYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSkgYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSA9IFtdXG4gICAgICAgIGlmIChibG9ja1Jvdy5yb3cudXVpZCkge1xuICAgICAgICAgIGRlbGV0ZSBibG9ja1Jvdy5yb3cudXVpZFxuICAgICAgICB9XG4gICAgICAgIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0ucHVzaChibG9ja1JvdylcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgTE9DQUxFU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChsb2NhbGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYWxlVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF1cblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgYXdhaXQgZGIuZGVsZXRlKGxvY2FsZVRhYmxlKS53aGVyZShlcShsb2NhbGVUYWJsZS5fcGFyZW50SUQsIGluc2VydGVkUm93LmlkKSlcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGxvY2FsZVRhYmxlKS52YWx1ZXMobG9jYWxlc1RvSW5zZXJ0KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgUkVMQVRJT05TSElQU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgICAgcGFyZW50Q29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgICAgcm93czogWy4uLnJlbGF0aW9uc1RvSW5zZXJ0LCAuLi5yb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzVG9EZWxldGVdLFxuICAgICAgICB0YWJsZU5hbWU6IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChyZWxhdGlvbnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0pLnZhbHVlcyhyZWxhdGlvbnNUb0luc2VydClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgVEVYVFNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB0ZXh0c1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fdGV4dHNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiB0ZXh0c1RvSW5zZXJ0LFxuICAgICAgICB0YWJsZU5hbWU6IHRleHRzVGFibGVOYW1lLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAodGV4dHNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGV4dHNUYWJsZU5hbWVdKS52YWx1ZXModGV4dHNUb0luc2VydCkucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgTlVNQkVSU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiBudW1iZXJzVG9JbnNlcnQsXG4gICAgICAgIHRhYmxlTmFtZTogbnVtYmVyc1RhYmxlTmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKG51bWJlcnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbbnVtYmVyc1RhYmxlTmFtZV0pLnZhbHVlcyhudW1iZXJzVG9JbnNlcnQpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBCTE9DS1NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBpbnNlcnRlZEJsb2NrUm93czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGZvciAoY29uc3QgYmxvY2tOYW1lIG9mIHJvd1RvSW5zZXJ0LmJsb2Nrc1RvRGVsZXRlKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYWRhcHRlci5ibG9ja1RhYmxlTmFtZXNbYCR7dGFibGVOYW1lfS4ke2Jsb2NrTmFtZX1gXVxuICAgICAgICBjb25zdCBibG9ja1RhYmxlID0gYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdXG4gICAgICAgIGF3YWl0IGRiLmRlbGV0ZShibG9ja1RhYmxlKS53aGVyZShlcShibG9ja1RhYmxlLl9wYXJlbnRJRCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2Jsb2NrTmFtZSwgYmxvY2tSb3dzXSBvZiBPYmplY3QuZW50cmllcyhibG9ja3NUb0luc2VydCkpIHtcbiAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYWRhcHRlci5ibG9ja1RhYmxlTmFtZXNbYCR7dGFibGVOYW1lfS4ke2Jsb2NrTmFtZX1gXVxuICAgICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKVxuICAgICAgICAudmFsdWVzKGJsb2NrUm93cy5tYXAoKHsgcm93IH0pID0+IHJvdykpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuXG4gICAgICBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICBibG9ja1Jvd3NbaV0ucm93ID0gcm93XG4gICAgICB9KVxuXG4gICAgICBjb25zdCBibG9ja0xvY2FsZUluZGV4TWFwOiBudW1iZXJbXSA9IFtdXG5cbiAgICAgIGNvbnN0IGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0ID0gYmxvY2tSb3dzLnJlZHVjZSgoYWNjLCBibG9ja1JvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmVudHJpZXMoYmxvY2tSb3cubG9jYWxlcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGJsb2NrUm93LmxvY2FsZXMpLmZvckVhY2goKFtibG9ja0xvY2FsZSwgYmxvY2tMb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGJsb2NrTG9jYWxlRGF0YSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX3BhcmVudElEID0gYmxvY2tSb3cucm93LmlkXG4gICAgICAgICAgICAgIGJsb2NrTG9jYWxlRGF0YS5fbG9jYWxlID0gYmxvY2tMb2NhbGVcbiAgICAgICAgICAgICAgYWNjLnB1c2goYmxvY2tMb2NhbGVEYXRhKVxuICAgICAgICAgICAgICBibG9ja0xvY2FsZUluZGV4TWFwLnB1c2goaSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgfSwgW10pXG5cbiAgICAgIGlmIChibG9ja0xvY2FsZVJvd3NUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHtibG9ja1RhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXSlcbiAgICAgICAgICAudmFsdWVzKGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IGJsb2NrUm93cy5tYXAoKHsgYXJyYXlzIH0pID0+IGFycmF5cyksXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIEFSUkFZUyBSRUNVUlNJVkVMWVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGFycmF5VGFibGVOYW1lIG9mIE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmFycmF5cykpIHtcbiAgICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdBcnJheVJvd3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgZGIsXG4gICAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBhcnJheXM6IFtyb3dUb0luc2VydC5hcnJheXNdLFxuICAgICAgZGIsXG4gICAgICBwYXJlbnRSb3dzOiBbaW5zZXJ0ZWRSb3ddLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgU0VMRUNUU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGZvciAoY29uc3QgW3NlbGVjdFRhYmxlTmFtZSwgdGFibGVSb3dzXSBvZiBPYmplY3QuZW50cmllcyhzZWxlY3RzVG9JbnNlcnQpKSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZSA9IGFkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV1cbiAgICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgIGF3YWl0IGRiLmRlbGV0ZShzZWxlY3RUYWJsZSkud2hlcmUoZXEoc2VsZWN0VGFibGUucGFyZW50LCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgICB9XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoc2VsZWN0VGFibGUpLnZhbHVlcyh0YWJsZVJvd3MpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEVycm9yIEhhbmRsaW5nXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IGVycm9yLmNvZGUgPT09ICcyMzUwNSdcbiAgICAgID8gbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiBhZGFwdGVyLmZpZWxkQ29uc3RyYWludHNbdGFibGVOYW1lXVtlcnJvci5jb25zdHJhaW50XSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogcmVxLnQoJ2Vycm9yOnZhbHVlTXVzdEJlVW5pcXVlJyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVxPy50ID8/IGkxOG5Jbml0KHJlcS5wYXlsb2FkLmNvbmZpZy5pMThuKS50LFxuICAgICAgICApXG4gICAgICA6IGVycm9yXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFJFVFJJRVZFIE5FV0xZIFVQREFURUQgUk9XXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCBmaW5kTWFueUFyZ3MgPSBidWlsZEZpbmRNYW55QXJncyh7XG4gICAgYWRhcHRlcixcbiAgICBkZXB0aDogMCxcbiAgICBmaWVsZHMsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIGZpbmRNYW55QXJncy53aGVyZSA9IGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGluc2VydGVkUm93LmlkKVxuXG4gIGNvbnN0IGRvYyA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KGZpbmRNYW55QXJncylcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFRSQU5TRk9STSBEQVRBXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm08VD4oe1xuICAgIGNvbmZpZzogYWRhcHRlci5wYXlsb2FkLmNvbmZpZyxcbiAgICBkYXRhOiBkb2MsXG4gICAgZmllbGRzLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cHNlcnRSb3ciLCJpZCIsImFkYXB0ZXIiLCJkYXRhIiwiZGIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJwYXRoIiwicmVxIiwidGFibGVOYW1lIiwidXBzZXJ0VGFyZ2V0Iiwid2hlcmUiLCJyb3dUb0luc2VydCIsInRyYW5zZm9ybUZvcldyaXRlIiwiaW5zZXJ0ZWRSb3ciLCJ0YXJnZXQiLCJ0YWJsZXMiLCJyb3ciLCJpbnNlcnQiLCJ2YWx1ZXMiLCJvbkNvbmZsaWN0RG9VcGRhdGUiLCJzZXQiLCJyZXR1cm5pbmciLCJsb2NhbGVzVG9JbnNlcnQiLCJyZWxhdGlvbnNUb0luc2VydCIsInRleHRzVG9JbnNlcnQiLCJudW1iZXJzVG9JbnNlcnQiLCJibG9ja3NUb0luc2VydCIsInNlbGVjdHNUb0luc2VydCIsIk9iamVjdCIsImtleXMiLCJsb2NhbGVzIiwibGVuZ3RoIiwiZW50cmllcyIsImZvckVhY2giLCJsb2NhbGUiLCJsb2NhbGVSb3ciLCJfcGFyZW50SUQiLCJfbG9jYWxlIiwicHVzaCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbiIsInBhcmVudCIsInRleHRzIiwidGV4dFJvdyIsIm51bWJlcnMiLCJudW1iZXJSb3ciLCJzZWxlY3RzIiwic2VsZWN0VGFibGVOYW1lIiwic2VsZWN0Um93cyIsImJsb2NrcyIsImJsb2NrTmFtZSIsImJsb2NrUm93IiwidXVpZCIsImxvY2FsZVRhYmxlIiwibG9jYWxlc1N1ZmZpeCIsImRlbGV0ZSIsImVxIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsInJlbGF0aW9uc2hpcHNTdWZmaXgiLCJkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGgiLCJsb2NhbGVDb2x1bW5OYW1lIiwicGFyZW50Q29sdW1uTmFtZSIsInBhcmVudElEIiwicGF0aENvbHVtbk5hbWUiLCJyb3dzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwidGV4dHNUYWJsZU5hbWUiLCJudW1iZXJzVGFibGVOYW1lIiwiaW5zZXJ0ZWRCbG9ja1Jvd3MiLCJibG9ja3NUb0RlbGV0ZSIsImJsb2NrVGFibGVOYW1lIiwiYmxvY2tUYWJsZU5hbWVzIiwiYmxvY2tUYWJsZSIsImJsb2NrUm93cyIsIm1hcCIsImkiLCJibG9ja0xvY2FsZUluZGV4TWFwIiwiYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQiLCJyZWR1Y2UiLCJhY2MiLCJibG9ja0xvY2FsZSIsImJsb2NrTG9jYWxlRGF0YSIsImluc2VydEFycmF5cyIsImFycmF5cyIsInBhcmVudFJvd3MiLCJhcnJheVRhYmxlTmFtZSIsImRlbGV0ZUV4aXN0aW5nQXJyYXlSb3dzIiwidGFibGVSb3dzIiwic2VsZWN0VGFibGUiLCJlcnJvciIsImNvZGUiLCJWYWxpZGF0aW9uRXJyb3IiLCJmaWVsZCIsImZpZWxkQ29uc3RyYWludHMiLCJjb25zdHJhaW50IiwibWVzc2FnZSIsInQiLCJpMThuSW5pdCIsInBheWxvYWQiLCJjb25maWciLCJpMThuIiwiZmluZE1hbnlBcmdzIiwiYnVpbGRGaW5kTWFueUFyZ3MiLCJkZXB0aCIsImRvYyIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidHJhbnNmb3JtIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBaUJ2QkE7OztlQUFBQTs7OzRCQWRNO3dCQUNhOzJCQUNQO21DQUtTO3NCQUNSO3VCQUNRO3lDQUNN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
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,
|
1
|
+
{"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,CA4E1F,CAAA"}
|
@@ -51,7 +51,7 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
51
51
|
insertedRows = await db.insert(adapter.tables[tableName]).values(row.rows).returning();
|
52
52
|
}
|
53
53
|
// Insert locale rows
|
54
|
-
if (adapter.tables[`${tableName}
|
54
|
+
if (adapter.tables[`${tableName}${adapter.localesSuffix}`] && row.locales.length > 0) {
|
55
55
|
if (!row.locales[0]._parentID) {
|
56
56
|
row.locales = row.locales.map((localeRow, i)=>{
|
57
57
|
if (typeof localeRow._getParentID === 'function') {
|
@@ -61,7 +61,7 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
61
61
|
return localeRow;
|
62
62
|
});
|
63
63
|
}
|
64
|
-
await db.insert(adapter.tables[`${tableName}
|
64
|
+
await db.insert(adapter.tables[`${tableName}${adapter.localesSuffix}`]).values(row.locales).returning();
|
65
65
|
}
|
66
66
|
// If there are sub arrays, call this function recursively
|
67
67
|
if (row.arrays.length > 0) {
|
@@ -75,4 +75,4 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
75
75
|
}
|
76
76
|
};
|
77
77
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgICBpZiAoIWFycmF5Um93LnJvdy5pZCkge1xuICAgICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9nZXRQYXJlbnRJRCA9IChyb3dzKSA9PiByb3dzW2ldLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9KVxuXG4gIC8vIEluc2VydCBhbGwgY29ycmVzcG9uZGluZyBhcnJheXNcbiAgLy8gKG9uZSBpbnNlcnQgcGVyIGFycmF5IHRhYmxlKVxuICBmb3IgKGNvbnN0IFt0YWJsZU5hbWUsIHJvd10gb2YgT2JqZWN0LmVudHJpZXMocm93c0J5VGFibGUpKSB7XG4gICAgLy8gdGhlIG5lc3RlZCBhcnJheXMgbmVlZCB0aGUgSUQgZm9yIHRoZSBwYXJlbnRJRCBmb3JlaWduIGtleVxuICAgIGxldCBpbnNlcnRlZFJvd3M6IEFyZ3NbJ3BhcmVudFJvd3MnXVxuICAgIGlmIChyb3cucm93cy5sZW5ndGggPiAwKSB7XG4gICAgICBpbnNlcnRlZFJvd3MgPSBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSkudmFsdWVzKHJvdy5yb3dzKS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIEluc2VydCBsb2NhbGUgcm93c1xuICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0gJiYgcm93LmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKCFyb3cubG9jYWxlc1swXS5fcGFyZW50SUQpIHtcbiAgICAgICAgcm93LmxvY2FsZXMgPSByb3cubG9jYWxlcy5tYXAoKGxvY2FsZVJvdywgaSkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlUm93Ll9nZXRQYXJlbnRJRCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGxvY2FsZVJvdy5fZ2V0UGFyZW50SUQoaW5zZXJ0ZWRSb3dzKVxuICAgICAgICAgICAgZGVsZXRlIGxvY2FsZVJvdy5fZ2V0UGFyZW50SURcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxvY2FsZVJvd1xuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgYXdhaXQgZGJcbiAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0pXG4gICAgICAgIC52YWx1ZXMocm93LmxvY2FsZXMpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIElmIHRoZXJlIGFyZSBzdWIgYXJyYXlzLCBjYWxsIHRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHlcbiAgICBpZiAocm93LmFycmF5cy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IHJvdy5hcnJheXMsXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZFJvd3MsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbImluc2VydEFycmF5cyIsImFkYXB0ZXIiLCJhcnJheXMiLCJkYiIsInBhcmVudFJvd3MiLCJyb3dzQnlUYWJsZSIsImZvckVhY2giLCJhcnJheXNCeVRhYmxlIiwicGFyZW50Um93SW5kZXgiLCJPYmplY3QiLCJlbnRyaWVzIiwidGFibGVOYW1lIiwiYXJyYXlSb3dzIiwibG9jYWxlcyIsInJvd3MiLCJwYXJlbnRJRCIsImlkIiwiYXJyYXlSb3ciLCJpIiwia2V5cyIsImxlbmd0aCIsInB1c2giLCJyb3ciLCJfcGFyZW50SUQiLCJhcnJheVJvd0xvY2FsZSIsImFycmF5Um93TG9jYWxlRGF0YSIsIl9sb2NhbGUiLCJfZ2V0UGFyZW50SUQiLCJpbnNlcnRlZFJvd3MiLCJpbnNlcnQiLCJ0YWJsZXMiLCJ2YWx1ZXMiLCJyZXR1cm5pbmciLCJsb2NhbGVzU3VmZml4IiwibWFwIiwibG9jYWxlUm93Il0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBdUJ2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZSxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBUTtJQUMxRSw0Q0FBNEM7SUFDNUMsTUFBTUMsY0FBMkIsQ0FBQztJQUVsQ0gsT0FBT0ksT0FBTyxDQUFDLENBQUNDLGVBQWVDO1FBQzdCQyxPQUFPQyxPQUFPLENBQUNILGVBQWVELE9BQU8sQ0FBQyxDQUFDLENBQUNLLFdBQVdDLFVBQVU7WUFDM0QsbURBQW1EO1lBQ25ELElBQUksQ0FBQ1AsV0FBVyxDQUFDTSxVQUFVLEVBQUU7Z0JBQzNCTixXQUFXLENBQUNNLFVBQVUsR0FBRztvQkFDdkJULFFBQVEsRUFBRTtvQkFDVlcsU0FBUyxFQUFFO29CQUNYQyxNQUFNLEVBQUU7Z0JBQ1Y7WUFDRjtZQUVBLE1BQU1DLFdBQVdYLFVBQVUsQ0FBQ0ksZUFBZSxDQUFDUSxFQUFFO1lBRTlDLDZDQUE2QztZQUM3QyxzQ0FBc0M7WUFDdENKLFVBQVVOLE9BQU8sQ0FBQyxDQUFDVyxVQUFVQztnQkFDM0IsSUFBSVQsT0FBT1UsSUFBSSxDQUFDRixTQUFTZixNQUFNLEVBQUVrQixNQUFNLEdBQUcsR0FBRztvQkFDM0NmLFdBQVcsQ0FBQ00sVUFBVSxDQUFDVCxNQUFNLENBQUNtQixJQUFJLENBQUNKLFNBQVNmLE1BQU07Z0JBQ3BEO2dCQUVBLGdEQUFnRDtnQkFDaERlLFNBQVNLLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHUjtnQkFDekJWLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRyxJQUFJLENBQUNPLElBQUksQ0FBQ0osU0FBU0ssR0FBRztnQkFFN0NiLE9BQU9DLE9BQU8sQ0FBQ08sU0FBU0osT0FBTyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDa0IsZ0JBQWdCQyxtQkFBbUI7b0JBQzVFQSxtQkFBbUJGLFNBQVMsR0FBR04sU0FBU0ssR0FBRyxDQUFDTixFQUFFO29CQUM5Q1MsbUJBQW1CQyxPQUFPLEdBQUdGO29CQUM3Qm5CLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRSxPQUFPLENBQUNRLElBQUksQ0FBQ0k7b0JBQ3BDLElBQUksQ0FBQ1IsU0FBU0ssR0FBRyxDQUFDTixFQUFFLEVBQUU7d0JBQ3BCUyxtQkFBbUJFLFlBQVksR0FBRyxDQUFDYixPQUFTQSxJQUFJLENBQUNJLEVBQUUsQ0FBQ0YsRUFBRTtvQkFDeEQ7Z0JBQ0Y7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxrQ0FBa0M7SUFDbEMsK0JBQStCO0lBQy9CLEtBQUssTUFBTSxDQUFDTCxXQUFXVyxJQUFJLElBQUliLE9BQU9DLE9BQU8sQ0FBQ0wsYUFBYztRQUMxRCw2REFBNkQ7UUFDN0QsSUFBSXVCO1FBQ0osSUFBSU4sSUFBSVIsSUFBSSxDQUFDTSxNQUFNLEdBQUcsR0FBRztZQUN2QlEsZUFBZSxNQUFNekIsR0FBRzBCLE1BQU0sQ0FBQzVCLFFBQVE2QixNQUFNLENBQUNuQixVQUFVLEVBQUVvQixNQUFNLENBQUNULElBQUlSLElBQUksRUFBRWtCLFNBQVM7UUFDdEY7UUFFQSxxQkFBcUI7UUFDckIsSUFBSS9CLFFBQVE2QixNQUFNLENBQUMsQ0FBQyxFQUFFbkIsVUFBVSxFQUFFVixRQUFRZ0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJWCxJQUFJVCxPQUFPLENBQUNPLE1BQU0sR0FBRyxHQUFHO1lBQ3BGLElBQUksQ0FBQ0UsSUFBSVQsT0FBTyxDQUFDLEVBQUUsQ0FBQ1UsU0FBUyxFQUFFO2dCQUM3QkQsSUFBSVQsT0FBTyxHQUFHUyxJQUFJVCxPQUFPLENBQUNxQixHQUFHLENBQUMsQ0FBQ0MsV0FBV2pCO29CQUN4QyxJQUFJLE9BQU9pQixVQUFVUixZQUFZLEtBQUssWUFBWTt3QkFDaERRLFVBQVVaLFNBQVMsR0FBR1ksVUFBVVIsWUFBWSxDQUFDQzt3QkFDN0MsT0FBT08sVUFBVVIsWUFBWTtvQkFDL0I7b0JBQ0EsT0FBT1E7Z0JBQ1Q7WUFDRjtZQUNBLE1BQU1oQyxHQUNIMEIsTUFBTSxDQUFDNUIsUUFBUTZCLE1BQU0sQ0FBQyxDQUFDLEVBQUVuQixVQUFVLEVBQUVWLFFBQVFnQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQzdERixNQUFNLENBQUNULElBQUlULE9BQU8sRUFDbEJtQixTQUFTO1FBQ2Q7UUFFQSwwREFBMEQ7UUFDMUQsSUFBSVYsSUFBSXBCLE1BQU0sQ0FBQ2tCLE1BQU0sR0FBRyxHQUFHO1lBQ3pCLE1BQU1wQixhQUFhO2dCQUNqQkM7Z0JBQ0FDLFFBQVFvQixJQUFJcEIsTUFBTTtnQkFDbEJDO2dCQUNBQyxZQUFZd0I7WUFDZDtRQUNGO0lBQ0Y7QUFDRiJ9
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/upsertRow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEzE,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,EAAE,SAAS,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/upsertRow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEzE,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,EAAE,SAAS,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,UAAU,GAAG,QAAQ,GAAG;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,KAAK,UAAU,GAAG,QAAQ,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.8.1",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -29,8 +29,8 @@
|
|
29
29
|
"devDependencies": {
|
30
30
|
"@types/pg": "8.10.2",
|
31
31
|
"@types/to-snake-case": "1.0.0",
|
32
|
-
"
|
33
|
-
"
|
32
|
+
"payload": "2.14.0",
|
33
|
+
"@payloadcms/eslint-config": "1.1.1"
|
34
34
|
},
|
35
35
|
"peerDependencies": {
|
36
36
|
"payload": "^2.0.0"
|