@payloadcms/db-postgres 0.4.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAM7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,8PAgBpB,IAAI,KAAG,MA+TT,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAM7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,8PAgBpB,IAAI,KAAG,MAkUT,CAAA"}
@@ -20,7 +20,7 @@ function _interop_require_default(obj) {
20
20
  default: obj
21
21
  };
22
22
  }
23
- const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildTexts, buildNumbers, buildRelationships, disableNotNull, disableUnique = false, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName: incomingRootTableName, tableName, timestamps })=>{
23
+ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildNumbers, buildRelationships, buildTexts, disableNotNull, disableUnique = false, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName: incomingRootTableName, tableName, timestamps })=>{
24
24
  const rootTableName = incomingRootTableName || tableName;
25
25
  const columns = baseColumns;
26
26
  const indexes = {};
@@ -47,11 +47,11 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildText
47
47
  varchar: _pgcore.varchar
48
48
  };
49
49
  columns.id = idColTypeMap[idColType]('id').primaryKey();
50
- ({ hasLocalizedField, hasLocalizedManyTextField, hasLocalizedManyNumberField, hasLocalizedRelationshipField, hasManyTextField, hasManyNumberField } = (0, _traverseFields.traverseFields)({
50
+ ({ hasLocalizedField, hasLocalizedManyNumberField, hasLocalizedManyTextField, hasLocalizedRelationshipField, hasManyNumberField, hasManyTextField } = (0, _traverseFields.traverseFields)({
51
51
  adapter,
52
- buildTexts,
53
52
  buildNumbers,
54
53
  buildRelationships,
54
+ buildTexts,
55
55
  columns,
56
56
  disableNotNull,
57
57
  disableUnique,
@@ -122,25 +122,25 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildText
122
122
  const textsTableName = `${rootTableName}_texts`;
123
123
  const columns = {
124
124
  id: (0, _pgcore.serial)('id').primaryKey(),
125
- text: (0, _pgcore.varchar)('text'),
126
125
  order: (0, _pgcore.integer)('order').notNull(),
127
126
  parent: _parentIDColumnMap.parentIDColumnMap[idColType]('parent_id').references(()=>table.id, {
128
127
  onDelete: 'cascade'
129
128
  }).notNull(),
130
- path: (0, _pgcore.varchar)('path').notNull()
129
+ path: (0, _pgcore.varchar)('path').notNull(),
130
+ text: (0, _pgcore.varchar)('text')
131
131
  };
132
132
  if (hasLocalizedManyTextField) {
133
133
  columns.locale = adapter.enums.enum__locales('locale');
134
134
  }
135
135
  textsTable = (0, _pgcore.pgTable)(textsTableName, columns, (cols)=>{
136
136
  const indexes = {
137
- orderParentIdx: (0, _pgcore.index)('order_parent_idx').on(cols.order, cols.parent)
137
+ orderParentIdx: (0, _pgcore.index)(`${textsTableName}_order_parent_idx`).on(cols.order, cols.parent)
138
138
  };
139
139
  if (hasManyTextField === 'index') {
140
- indexes.text_idx = (0, _pgcore.index)('text_idx').on(cols.text);
140
+ indexes.text_idx = (0, _pgcore.index)(`${textsTableName}_text_idx`).on(cols.text);
141
141
  }
142
142
  if (hasLocalizedManyTextField) {
143
- indexes.localeParent = (0, _pgcore.index)('locale_parent').on(cols.locale, cols.parent);
143
+ indexes.localeParent = (0, _pgcore.index)(`${textsTableName}_locale_parent`).on(cols.locale, cols.parent);
144
144
  }
145
145
  return indexes;
146
146
  });
@@ -173,13 +173,13 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildText
173
173
  }
174
174
  numbersTable = (0, _pgcore.pgTable)(numbersTableName, columns, (cols)=>{
175
175
  const indexes = {
176
- orderParentIdx: (0, _pgcore.index)('order_parent_idx').on(cols.order, cols.parent)
176
+ orderParentIdx: (0, _pgcore.index)(`${numbersTableName}_order_parent_idx`).on(cols.order, cols.parent)
177
177
  };
178
178
  if (hasManyNumberField === 'index') {
179
- indexes.numberIdx = (0, _pgcore.index)('number_idx').on(cols.number);
179
+ indexes.numberIdx = (0, _pgcore.index)(`${numbersTableName}_number_idx`).on(cols.number);
180
180
  }
181
181
  if (hasLocalizedManyNumberField) {
182
- indexes.localeParent = (0, _pgcore.index)('locale_parent').on(cols.locale, cols.parent);
182
+ indexes.localeParent = (0, _pgcore.index)(`${numbersTableName}_locale_parent`).on(cols.locale, cols.parent);
183
183
  }
184
184
  return indexes;
185
185
  });
@@ -222,12 +222,12 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildText
222
222
  const relationshipsTableName = `${tableName}_rels`;
223
223
  relationshipsTable = (0, _pgcore.pgTable)(relationshipsTableName, relationshipColumns, (cols)=>{
224
224
  const result = {
225
- order: (0, _pgcore.index)('order_idx').on(cols.order),
226
- parentIdx: (0, _pgcore.index)('parent_idx').on(cols.parent),
227
- pathIdx: (0, _pgcore.index)('path_idx').on(cols.path)
225
+ order: (0, _pgcore.index)(`${relationshipsTableName}_order_idx`).on(cols.order),
226
+ parentIdx: (0, _pgcore.index)(`${relationshipsTableName}_parent_idx`).on(cols.parent),
227
+ pathIdx: (0, _pgcore.index)(`${relationshipsTableName}_path_idx`).on(cols.path)
228
228
  };
229
229
  if (hasLocalizedRelationshipField) {
230
- result.localeIdx = (0, _pgcore.index)('locale_idx').on(cols.locale);
230
+ result.localeIdx = (0, _pgcore.index)(`${relationshipsTableName}_locale_idx`).on(cols.locale);
231
231
  }
232
232
  return result;
233
233
  });
@@ -284,10 +284,10 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildText
284
284
  });
285
285
  adapter.relations[`relations_${tableName}`] = tableRelations;
286
286
  return {
287
- hasManyTextField,
288
287
  hasManyNumberField,
288
+ hasManyTextField,
289
289
  relationsToBuild
290
290
  };
291
291
  };
292
292
 
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0Q29uZmlnSURUeXBlIH0gZnJvbSAnLi9nZXRDb25maWdJRFR5cGUnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VDb2x1bW5zPzogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBiYXNlRXh0cmFDb25maWc/OiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyPlxuICBidWlsZFRleHRzPzogYm9vbGVhblxuICBidWlsZE51bWJlcnM/OiBib29sZWFuXG4gIGJ1aWxkUmVsYXRpb25zaGlwcz86IGJvb2xlYW5cbiAgZGlzYWJsZU5vdE51bGw6IGJvb2xlYW5cbiAgZGlzYWJsZVVuaXF1ZTogYm9vbGVhblxuICBmaWVsZHM6IEZpZWxkW11cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RSZWxhdGlvbnNoaXBzPzogU2V0PHN0cmluZz5cbiAgcm9vdFRhYmxlSURDb2xUeXBlPzogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgdGltZXN0YW1wcz86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIGhhc01hbnlUZXh0RmllbGQ6ICdpbmRleCcgfCBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZFRleHRzLFxuICBidWlsZE51bWJlcnMsXG4gIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgZGlzYWJsZU5vdE51bGwsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFJlbGF0aW9uc2hpcHMsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZTogaW5jb21pbmdSb290VGFibGVOYW1lLFxuICB0YWJsZU5hbWUsXG4gIHRpbWVzdGFtcHMsXG59OiBBcmdzKTogUmVzdWx0ID0+IHtcbiAgY29uc3Qgcm9vdFRhYmxlTmFtZSA9IGluY29taW5nUm9vdFRhYmxlTmFtZSB8fCB0YWJsZU5hbWVcbiAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IGJhc2VDb2x1bW5zXG4gIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG5cbiAgbGV0IGhhc0xvY2FsaXplZEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc01hbnlUZXh0RmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGNvbnN0IGxvY2FsZXNDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge31cbiAgY29uc3QgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG4gIGxldCBsb2NhbGVzVGFibGU6IEdlbmVyaWNUYWJsZVxuICBsZXQgdGV4dHNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIFJlbGF0aW9uc2hpcHMgdG8gdGhlIGJhc2UgY29sbGVjdGlvblxuICBjb25zdCByZWxhdGlvbnNoaXBzOiBTZXQ8c3RyaW5nPiA9IHJvb3RSZWxhdGlvbnNoaXBzIHx8IG5ldyBTZXQoKVxuXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIERyaXp6bGUgcmVsYXRpb25zXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZENvbFR5cGUgPSBnZXRDb25maWdJRFR5cGUoZmllbGRzKVxuXG4gIGNvbnN0IGlkQ29sVHlwZU1hcCA9IHtcbiAgICBpbnRlZ2VyOiBzZXJpYWwsXG4gICAgbnVtZXJpYyxcbiAgICB2YXJjaGFyLFxuICB9XG5cbiAgY29sdW1ucy5pZCA9IGlkQ29sVHlwZU1hcFtpZENvbFR5cGVdKCdpZCcpLnByaW1hcnlLZXkoKVxuICA7KHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55VGV4dEZpZWxkLFxuICAgIGhhc01hbnlOdW1iZXJGaWVsZCxcbiAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICBhZGFwdGVyLFxuICAgIGJ1aWxkVGV4dHMsXG4gICAgYnVpbGROdW1iZXJzLFxuICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICBjb2x1bW5zLFxuICAgIGRpc2FibGVOb3ROdWxsLFxuICAgIGRpc2FibGVVbmlxdWUsXG4gICAgZmllbGRzLFxuICAgIGluZGV4ZXMsXG4gICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgbmV3VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcGFyZW50VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkOiByb290UmVsYXRpb25zVG9CdWlsZCB8fCByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJvb3RUYWJsZUlEQ29sVHlwZTogcm9vdFRhYmxlSURDb2xUeXBlIHx8IGlkQ29sVHlwZSxcbiAgICByb290VGFibGVOYW1lLFxuICB9KSlcblxuICBpZiAodGltZXN0YW1wcykge1xuICAgIGNvbHVtbnMuY3JlYXRlZEF0ID0gdGltZXN0YW1wKCdjcmVhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgICBjb2x1bW5zLnVwZGF0ZWRBdCA9IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gIH1cblxuICBjb25zdCB0YWJsZSA9IHBnVGFibGUodGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgIGNvbnN0IGV4dHJhQ29uZmlnID0gT2JqZWN0LmVudHJpZXMoYmFzZUV4dHJhQ29uZmlnKS5yZWR1Y2UoKGNvbmZpZywgW2tleSwgZnVuY10pID0+IHtcbiAgICAgIGNvbmZpZ1trZXldID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sIHt9KVxuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4ZXMpLnJlZHVjZSgoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBleHRyYUNvbmZpZylcbiAgfSlcblxuICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdID0gdGFibGVcblxuICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICBjb25zdCBsb2NhbGVUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXG4gICAgbG9jYWxlc0NvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9wYXJlbnRJRCA9IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgLm5vdE51bGwoKVxuXG4gICAgbG9jYWxlc1RhYmxlID0gcGdUYWJsZShsb2NhbGVUYWJsZU5hbWUsIGxvY2FsZXNDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGxvY2FsZXNJbmRleGVzKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBfbG9jYWxlUGFyZW50OiB1bmlxdWUoYCR7bG9jYWxlVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50X2lkX3VuaXF1ZWApLm9uKFxuICAgICAgICAgICAgY29scy5fbG9jYWxlLFxuICAgICAgICAgICAgY29scy5fcGFyZW50SUQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbG9jYWxlVGFibGVOYW1lXSA9IGxvY2FsZXNUYWJsZVxuXG4gICAgY29uc3QgbG9jYWxlc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGxvY2FsZXNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBfcGFyZW50SUQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtsb2NhbGVzVGFibGUuX3BhcmVudElEXSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2xvY2FsZVRhYmxlTmFtZX1gXSA9IGxvY2FsZXNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlUZXh0RmllbGQgJiYgYnVpbGRUZXh0cykge1xuICAgIGNvbnN0IHRleHRzVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fdGV4dHNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgdGV4dDogdmFyY2hhcigndGV4dCcpLFxuICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJykubm90TnVsbCgpLFxuICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgIC5ub3ROdWxsKCksXG4gICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgIH1cblxuICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICB0ZXh0c1RhYmxlID0gcGdUYWJsZSh0ZXh0c1RhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIEluZGV4QnVpbGRlcj4gPSB7XG4gICAgICAgIG9yZGVyUGFyZW50SWR4OiBpbmRleCgnb3JkZXJfcGFyZW50X2lkeCcpLm9uKGNvbHMub3JkZXIsIGNvbHMucGFyZW50KSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc01hbnlUZXh0RmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy50ZXh0X2lkeCA9IGluZGV4KCd0ZXh0X2lkeCcpLm9uKGNvbHMudGV4dClcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZE1hbnlUZXh0RmllbGQpIHtcbiAgICAgICAgaW5kZXhlcy5sb2NhbGVQYXJlbnQgPSBpbmRleCgnbG9jYWxlX3BhcmVudCcpLm9uKGNvbHMubG9jYWxlLCBjb2xzLnBhcmVudClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXNcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbdGV4dHNUYWJsZU5hbWVdID0gdGV4dHNUYWJsZVxuXG4gICAgY29uc3QgdGV4dHNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyh0ZXh0c1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW3RleHRzVGFibGUucGFyZW50XSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3RleHRzVGFibGVOYW1lfWBdID0gdGV4dHNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCAmJiBidWlsZE51bWJlcnMpIHtcbiAgICBjb25zdCBudW1iZXJzVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fbnVtYmVyc2BcbiAgICBjb25zdCBjb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgaWQ6IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KCksXG4gICAgICBudW1iZXI6IG51bWVyaWMoJ251bWJlcicpLFxuICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJykubm90TnVsbCgpLFxuICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgIC5ub3ROdWxsKCksXG4gICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgIH1cblxuICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgIGNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKVxuICAgIH1cblxuICAgIG51bWJlcnNUYWJsZSA9IHBnVGFibGUobnVtYmVyc1RhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIEluZGV4QnVpbGRlcj4gPSB7XG4gICAgICAgIG9yZGVyUGFyZW50SWR4OiBpbmRleCgnb3JkZXJfcGFyZW50X2lkeCcpLm9uKGNvbHMub3JkZXIsIGNvbHMucGFyZW50KSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCA9PT0gJ2luZGV4Jykge1xuICAgICAgICBpbmRleGVzLm51bWJlcklkeCA9IGluZGV4KCdudW1iZXJfaWR4Jykub24oY29scy5udW1iZXIpXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgaW5kZXhlcy5sb2NhbGVQYXJlbnQgPSBpbmRleCgnbG9jYWxlX3BhcmVudCcpLm9uKGNvbHMubG9jYWxlLCBjb2xzLnBhcmVudClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXNcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbnVtYmVyc1RhYmxlTmFtZV0gPSBudW1iZXJzVGFibGVcblxuICAgIGNvbnN0IG51bWJlcnNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhudW1iZXJzVGFibGUsICh7IG9uZSB9KSA9PiAoe1xuICAgICAgcGFyZW50OiBvbmUodGFibGUsIHtcbiAgICAgICAgZmllbGRzOiBbbnVtYmVyc1RhYmxlLnBhcmVudF0sXG4gICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICB9KSxcbiAgICB9KSlcblxuICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtudW1iZXJzVGFibGVOYW1lfWBdID0gbnVtYmVyc1RhYmxlUmVsYXRpb25zXG4gIH1cblxuICBpZiAoYnVpbGRSZWxhdGlvbnNoaXBzKSB7XG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSkge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgaWQ6IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KCksXG4gICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLFxuICAgICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgIHBhdGg6IHZhcmNoYXIoJ3BhdGgnKS5ub3ROdWxsKCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICAgIH1cblxuICAgICAgcmVsYXRpb25zaGlwcy5mb3JFYWNoKChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFJlbGF0aW9uVG8gPSB0b1NuYWtlQ2FzZShyZWxhdGlvblRvKVxuICAgICAgICBsZXQgY29sVHlwZSA9ICdpbnRlZ2VyJ1xuICAgICAgICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEID0gYWRhcHRlci5wYXlsb2FkLmNvbGxlY3Rpb25zW1xuICAgICAgICAgIHJlbGF0aW9uVG9cbiAgICAgICAgXS5jb25maWcuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgICAgICBpZiAocmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRD8udHlwZSA9PT0gJ251bWJlcicpIGNvbFR5cGUgPSAnbnVtZXJpYydcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICd0ZXh0JykgY29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gICAgICAgIHJlbGF0aW9uc2hpcENvbHVtbnNbYCR7cmVsYXRpb25Ub31JRGBdID0gcGFyZW50SURDb2x1bW5NYXBbY29sVHlwZV0oXG4gICAgICAgICAgYCR7Zm9ybWF0dGVkUmVsYXRpb25Ub31faWRgLFxuICAgICAgICApLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbZm9ybWF0dGVkUmVsYXRpb25Ub10uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgfSlcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fcmVsc2BcblxuICAgICAgcmVsYXRpb25zaGlwc1RhYmxlID0gcGdUYWJsZShyZWxhdGlvbnNoaXBzVGFibGVOYW1lLCByZWxhdGlvbnNoaXBDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICAgIG9yZGVyOiBpbmRleCgnb3JkZXJfaWR4Jykub24oY29scy5vcmRlciksXG4gICAgICAgICAgcGFyZW50SWR4OiBpbmRleCgncGFyZW50X2lkeCcpLm9uKGNvbHMucGFyZW50KSxcbiAgICAgICAgICBwYXRoSWR4OiBpbmRleCgncGF0aF9pZHgnKS5vbihjb2xzLnBhdGgpLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSB7XG4gICAgICAgICAgcmVzdWx0LmxvY2FsZUlkeCA9IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5sb2NhbGUpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9KVxuXG4gICAgICBhZGFwdGVyLnRhYmxlc1tyZWxhdGlvbnNoaXBzVGFibGVOYW1lXSA9IHJlbGF0aW9uc2hpcHNUYWJsZVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMocmVsYXRpb25zaGlwc1RhYmxlLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGUucGFyZW50XSxcbiAgICAgICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICAgICAgICByZWxhdGlvbk5hbWU6ICdfcmVscycsXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICBjb25zdCByZWxhdGVkVGFibGVOYW1lID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgICBjb25zdCBpZENvbHVtbk5hbWUgPSBgJHtyZWxhdGlvblRvfUlEYFxuICAgICAgICAgIHJlc3VsdFtpZENvbHVtbk5hbWVdID0gb25lKGFkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGVbaWRDb2x1bW5OYW1lXV0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcmVsYXRlZFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9YF0gPSByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnNcbiAgICB9XG4gIH1cblxuICBjb25zdCB0YWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyh0YWJsZSwgKHsgbWFueSB9KSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHt9XG5cbiAgICByZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICB9KVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZEZpZWxkKSB7XG4gICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGxvY2FsZXNUYWJsZSlcbiAgICB9XG5cbiAgICBpZiAoaGFzTWFueVRleHRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll90ZXh0cyA9IG1hbnkodGV4dHNUYWJsZSlcbiAgICB9XG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IGhhc01hbnlUZXh0RmllbGQsIGhhc01hbnlOdW1iZXJGaWVsZCwgcmVsYXRpb25zVG9CdWlsZCB9XG59XG4iXSwibmFtZXMiOlsiYnVpbGRUYWJsZSIsImFkYXB0ZXIiLCJiYXNlQ29sdW1ucyIsImJhc2VFeHRyYUNvbmZpZyIsImJ1aWxkVGV4dHMiLCJidWlsZE51bWJlcnMiLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJkaXNhYmxlTm90TnVsbCIsImRpc2FibGVVbmlxdWUiLCJmaWVsZHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RSZWxhdGlvbnNoaXBzIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImluY29taW5nUm9vdFRhYmxlTmFtZSIsInRhYmxlTmFtZSIsInRpbWVzdGFtcHMiLCJjb2x1bW5zIiwiaW5kZXhlcyIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55VGV4dEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCIsImhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJsb2NhbGVzVGFibGUiLCJ0ZXh0c1RhYmxlIiwibnVtYmVyc1RhYmxlIiwicmVsYXRpb25zaGlwcyIsIlNldCIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInJlbGF0aW9uc1RvQnVpbGQiLCJNYXAiLCJpZENvbFR5cGUiLCJnZXRDb25maWdJRFR5cGUiLCJpZENvbFR5cGVNYXAiLCJpbnRlZ2VyIiwic2VyaWFsIiwibnVtZXJpYyIsInZhcmNoYXIiLCJpZCIsInByaW1hcnlLZXkiLCJ0cmF2ZXJzZUZpZWxkcyIsIm5ld1RhYmxlTmFtZSIsInBhcmVudFRhYmxlTmFtZSIsImNyZWF0ZWRBdCIsInRpbWVzdGFtcCIsIm1vZGUiLCJwcmVjaXNpb24iLCJ3aXRoVGltZXpvbmUiLCJkZWZhdWx0Tm93Iiwibm90TnVsbCIsInVwZGF0ZWRBdCIsInRhYmxlIiwicGdUYWJsZSIsImNvbHMiLCJleHRyYUNvbmZpZyIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJjb25maWciLCJrZXkiLCJmdW5jIiwiYWNjIiwiY29sTmFtZSIsInRhYmxlcyIsImxvY2FsZVRhYmxlTmFtZSIsIl9sb2NhbGUiLCJlbnVtcyIsImVudW1fX2xvY2FsZXMiLCJfcGFyZW50SUQiLCJwYXJlbnRJRENvbHVtbk1hcCIsInJlZmVyZW5jZXMiLCJvbkRlbGV0ZSIsIl9sb2NhbGVQYXJlbnQiLCJ1bmlxdWUiLCJvbiIsImxvY2FsZXNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9ucyIsIm9uZSIsInRleHRzVGFibGVOYW1lIiwidGV4dCIsIm9yZGVyIiwicGFyZW50IiwicGF0aCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJ0ZXh0X2lkeCIsImxvY2FsZVBhcmVudCIsInRleHRzVGFibGVSZWxhdGlvbnMiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwibnVtYmVySWR4IiwibnVtYmVyc1RhYmxlUmVsYXRpb25zIiwic2l6ZSIsInJlbGF0aW9uc2hpcENvbHVtbnMiLCJmb3JFYWNoIiwicmVsYXRpb25UbyIsImZvcm1hdHRlZFJlbGF0aW9uVG8iLCJ0b1NuYWtlQ2FzZSIsImNvbFR5cGUiLCJyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsInJlc3VsdCIsInBhcmVudElkeCIsInBhdGhJZHgiLCJsb2NhbGVJZHgiLCJyZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbk5hbWUiLCJyZWxhdGVkVGFibGVOYW1lIiwiaWRDb2x1bW5OYW1lIiwidGFibGVSZWxhdGlvbnMiLCJtYW55IiwidmFsIiwiX2xvY2FsZXMiLCJfdGV4dHMiLCJfbnVtYmVycyIsIl9yZWxzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBaUR2QkE7OztlQUFBQTs7OzRCQTVDYTt3QkFVbkI7dUJBQzBCO29FQUNUO2lDQUlRO21DQUNFO2dDQUNIOzs7Ozs7QUEwQnhCLE1BQU1BLGFBQWEsQ0FBQyxFQUN6QkMsT0FBTyxFQUNQQyxjQUFjLENBQUMsQ0FBQyxFQUNoQkMsa0JBQWtCLENBQUMsQ0FBQyxFQUNwQkMsVUFBVSxFQUNWQyxZQUFZLEVBQ1pDLGtCQUFrQixFQUNsQkMsY0FBYyxFQUNkQyxnQkFBZ0IsS0FBSyxFQUNyQkMsTUFBTSxFQUNOQyxvQkFBb0IsRUFDcEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxlQUFlQyxxQkFBcUIsRUFDcENDLFNBQVMsRUFDVEMsVUFBVSxFQUNMO0lBQ0wsTUFBTUgsZ0JBQWdCQyx5QkFBeUJDO0lBQy9DLE1BQU1FLFVBQTJDZjtJQUNqRCxNQUFNZ0IsVUFBa0UsQ0FBQztJQUV6RSxJQUFJQyxvQkFBb0I7SUFDeEIsSUFBSUMsZ0NBQWdDO0lBQ3BDLElBQUlDLG1CQUFzQztJQUMxQyxJQUFJQyxxQkFBd0M7SUFDNUMsSUFBSUMsNEJBQTRCO0lBQ2hDLElBQUlDLDhCQUE4QjtJQUVsQyxNQUFNQyxpQkFBa0QsQ0FBQztJQUN6RCxNQUFNQyxpQkFBeUUsQ0FBQztJQUNoRixJQUFJQztJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFFSix1Q0FBdUM7SUFDdkMsTUFBTUMsZ0JBQTZCbkIscUJBQXFCLElBQUlvQjtJQUU1RCxJQUFJQztJQUVKLG9CQUFvQjtJQUNwQixNQUFNQyxtQkFBd0MsSUFBSUM7SUFFbEQsTUFBTUMsWUFBWUMsSUFBQUEsZ0NBQWUsRUFBQzNCO0lBRWxDLE1BQU00QixlQUFlO1FBQ25CQyxTQUFTQyxjQUFNO1FBQ2ZDLFNBQUFBLGVB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
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0Q29uZmlnSURUeXBlIH0gZnJvbSAnLi9nZXRDb25maWdJRFR5cGUnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VDb2x1bW5zPzogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBiYXNlRXh0cmFDb25maWc/OiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyPlxuICBidWlsZE51bWJlcnM/OiBib29sZWFuXG4gIGJ1aWxkUmVsYXRpb25zaGlwcz86IGJvb2xlYW5cbiAgYnVpbGRUZXh0cz86IGJvb2xlYW5cbiAgZGlzYWJsZU5vdE51bGw6IGJvb2xlYW5cbiAgZGlzYWJsZVVuaXF1ZTogYm9vbGVhblxuICBmaWVsZHM6IEZpZWxkW11cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RSZWxhdGlvbnNoaXBzPzogU2V0PHN0cmluZz5cbiAgcm9vdFRhYmxlSURDb2xUeXBlPzogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgdGltZXN0YW1wcz86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbiAgaGFzTWFueVRleHRGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZE51bWJlcnMsXG4gIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgYnVpbGRUZXh0cyxcbiAgZGlzYWJsZU5vdE51bGwsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFJlbGF0aW9uc2hpcHMsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZTogaW5jb21pbmdSb290VGFibGVOYW1lLFxuICB0YWJsZU5hbWUsXG4gIHRpbWVzdGFtcHMsXG59OiBBcmdzKTogUmVzdWx0ID0+IHtcbiAgY29uc3Qgcm9vdFRhYmxlTmFtZSA9IGluY29taW5nUm9vdFRhYmxlTmFtZSB8fCB0YWJsZU5hbWVcbiAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IGJhc2VDb2x1bW5zXG4gIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG5cbiAgbGV0IGhhc0xvY2FsaXplZEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc01hbnlUZXh0RmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGNvbnN0IGxvY2FsZXNDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge31cbiAgY29uc3QgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG4gIGxldCBsb2NhbGVzVGFibGU6IEdlbmVyaWNUYWJsZVxuICBsZXQgdGV4dHNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIFJlbGF0aW9uc2hpcHMgdG8gdGhlIGJhc2UgY29sbGVjdGlvblxuICBjb25zdCByZWxhdGlvbnNoaXBzOiBTZXQ8c3RyaW5nPiA9IHJvb3RSZWxhdGlvbnNoaXBzIHx8IG5ldyBTZXQoKVxuXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIERyaXp6bGUgcmVsYXRpb25zXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZENvbFR5cGUgPSBnZXRDb25maWdJRFR5cGUoZmllbGRzKVxuXG4gIGNvbnN0IGlkQ29sVHlwZU1hcCA9IHtcbiAgICBpbnRlZ2VyOiBzZXJpYWwsXG4gICAgbnVtZXJpYyxcbiAgICB2YXJjaGFyLFxuICB9XG5cbiAgY29sdW1ucy5pZCA9IGlkQ29sVHlwZU1hcFtpZENvbFR5cGVdKCdpZCcpLnByaW1hcnlLZXkoKVxuICA7KHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTWFueVRleHRGaWVsZCxcbiAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICBhZGFwdGVyLFxuICAgIGJ1aWxkTnVtYmVycyxcbiAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgYnVpbGRUZXh0cyxcbiAgICBjb2x1bW5zLFxuICAgIGRpc2FibGVOb3ROdWxsLFxuICAgIGRpc2FibGVVbmlxdWUsXG4gICAgZmllbGRzLFxuICAgIGluZGV4ZXMsXG4gICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgbmV3VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcGFyZW50VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkOiByb290UmVsYXRpb25zVG9CdWlsZCB8fCByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJvb3RUYWJsZUlEQ29sVHlwZTogcm9vdFRhYmxlSURDb2xUeXBlIHx8IGlkQ29sVHlwZSxcbiAgICByb290VGFibGVOYW1lLFxuICB9KSlcblxuICBpZiAodGltZXN0YW1wcykge1xuICAgIGNvbHVtbnMuY3JlYXRlZEF0ID0gdGltZXN0YW1wKCdjcmVhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgICBjb2x1bW5zLnVwZGF0ZWRBdCA9IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gIH1cblxuICBjb25zdCB0YWJsZSA9IHBnVGFibGUodGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgIGNvbnN0IGV4dHJhQ29uZmlnID0gT2JqZWN0LmVudHJpZXMoYmFzZUV4dHJhQ29uZmlnKS5yZWR1Y2UoKGNvbmZpZywgW2tleSwgZnVuY10pID0+IHtcbiAgICAgIGNvbmZpZ1trZXldID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sIHt9KVxuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4ZXMpLnJlZHVjZSgoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBleHRyYUNvbmZpZylcbiAgfSlcblxuICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdID0gdGFibGVcblxuICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICBjb25zdCBsb2NhbGVUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXG4gICAgbG9jYWxlc0NvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9wYXJlbnRJRCA9IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgLm5vdE51bGwoKVxuXG4gICAgbG9jYWxlc1RhYmxlID0gcGdUYWJsZShsb2NhbGVUYWJsZU5hbWUsIGxvY2FsZXNDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGxvY2FsZXNJbmRleGVzKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBfbG9jYWxlUGFyZW50OiB1bmlxdWUoYCR7bG9jYWxlVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50X2lkX3VuaXF1ZWApLm9uKFxuICAgICAgICAgICAgY29scy5fbG9jYWxlLFxuICAgICAgICAgICAgY29scy5fcGFyZW50SUQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbG9jYWxlVGFibGVOYW1lXSA9IGxvY2FsZXNUYWJsZVxuXG4gICAgY29uc3QgbG9jYWxlc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGxvY2FsZXNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBfcGFyZW50SUQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtsb2NhbGVzVGFibGUuX3BhcmVudElEXSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2xvY2FsZVRhYmxlTmFtZX1gXSA9IGxvY2FsZXNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlUZXh0RmllbGQgJiYgYnVpbGRUZXh0cykge1xuICAgIGNvbnN0IHRleHRzVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fdGV4dHNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJykubm90TnVsbCgpLFxuICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgIC5ub3ROdWxsKCksXG4gICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgICAgdGV4dDogdmFyY2hhcigndGV4dCcpLFxuICAgIH1cblxuICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55VGV4dEZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICB0ZXh0c1RhYmxlID0gcGdUYWJsZSh0ZXh0c1RhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIEluZGV4QnVpbGRlcj4gPSB7XG4gICAgICAgIG9yZGVyUGFyZW50SWR4OiBpbmRleChgJHt0ZXh0c1RhYmxlTmFtZX1fb3JkZXJfcGFyZW50X2lkeGApLm9uKGNvbHMub3JkZXIsIGNvbHMucGFyZW50KSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc01hbnlUZXh0RmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy50ZXh0X2lkeCA9IGluZGV4KGAke3RleHRzVGFibGVOYW1lfV90ZXh0X2lkeGApLm9uKGNvbHMudGV4dClcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZE1hbnlUZXh0RmllbGQpIHtcbiAgICAgICAgaW5kZXhlcy5sb2NhbGVQYXJlbnQgPSBpbmRleChgJHt0ZXh0c1RhYmxlTmFtZX1fbG9jYWxlX3BhcmVudGApLm9uKGNvbHMubG9jYWxlLCBjb2xzLnBhcmVudClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXNcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbdGV4dHNUYWJsZU5hbWVdID0gdGV4dHNUYWJsZVxuXG4gICAgY29uc3QgdGV4dHNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyh0ZXh0c1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW3RleHRzVGFibGUucGFyZW50XSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3RleHRzVGFibGVOYW1lfWBdID0gdGV4dHNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCAmJiBidWlsZE51bWJlcnMpIHtcbiAgICBjb25zdCBudW1iZXJzVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fbnVtYmVyc2BcbiAgICBjb25zdCBjb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgaWQ6IHNlcmlhbCgnaWQnKS5wcmltYXJ5S2V5KCksXG4gICAgICBudW1iZXI6IG51bWVyaWMoJ251bWJlcicpLFxuICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJykubm90TnVsbCgpLFxuICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgIC5ub3ROdWxsKCksXG4gICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgIH1cblxuICAgIGlmIChoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgIGNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKVxuICAgIH1cblxuICAgIG51bWJlcnNUYWJsZSA9IHBnVGFibGUobnVtYmVyc1RhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIEluZGV4QnVpbGRlcj4gPSB7XG4gICAgICAgIG9yZGVyUGFyZW50SWR4OiBpbmRleChgJHtudW1iZXJzVGFibGVOYW1lfV9vcmRlcl9wYXJlbnRfaWR4YCkub24oY29scy5vcmRlciwgY29scy5wYXJlbnQpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTWFueU51bWJlckZpZWxkID09PSAnaW5kZXgnKSB7XG4gICAgICAgIGluZGV4ZXMubnVtYmVySWR4ID0gaW5kZXgoYCR7bnVtYmVyc1RhYmxlTmFtZX1fbnVtYmVyX2lkeGApLm9uKGNvbHMubnVtYmVyKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICAgIGluZGV4ZXMubG9jYWxlUGFyZW50ID0gaW5kZXgoYCR7bnVtYmVyc1RhYmxlTmFtZX1fbG9jYWxlX3BhcmVudGApLm9uKFxuICAgICAgICAgIGNvbHMubG9jYWxlLFxuICAgICAgICAgIGNvbHMucGFyZW50LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdID0gbnVtYmVyc1RhYmxlXG5cbiAgICBjb25zdCBudW1iZXJzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMobnVtYmVyc1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW251bWJlcnNUYWJsZS5wYXJlbnRdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7bnVtYmVyc1RhYmxlTmFtZX1gXSA9IG51bWJlcnNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGJ1aWxkUmVsYXRpb25zaGlwcykge1xuICAgIGlmIChyZWxhdGlvbnNoaXBzLnNpemUpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcENvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKSxcbiAgICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQ29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgICB9XG5cbiAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRSZWxhdGlvblRvID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgbGV0IGNvbFR5cGUgPSAnaW50ZWdlcidcbiAgICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCA9IGFkYXB0ZXIucGF5bG9hZC5jb2xsZWN0aW9uc1tcbiAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgIF0uY29uZmlnLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICdudW1iZXInKSBjb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAndGV4dCcpIGNvbFR5cGUgPSAndmFyY2hhcidcblxuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zW2Ake3JlbGF0aW9uVG99SURgXSA9IHBhcmVudElEQ29sdW1uTWFwW2NvbFR5cGVdKFxuICAgICAgICAgIGAke2Zvcm1hdHRlZFJlbGF0aW9uVG99X2lkYCxcbiAgICAgICAgKS5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW2Zvcm1hdHRlZFJlbGF0aW9uVG9dLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZSA9IHBnVGFibGUocmVsYXRpb25zaGlwc1RhYmxlTmFtZSwgcmVsYXRpb25zaGlwQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBvcmRlcjogaW5kZXgoYCR7cmVsYXRpb25zaGlwc1RhYmxlTmFtZX1fb3JkZXJfaWR4YCkub24oY29scy5vcmRlciksXG4gICAgICAgICAgcGFyZW50SWR4OiBpbmRleChgJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfV9wYXJlbnRfaWR4YCkub24oY29scy5wYXJlbnQpLFxuICAgICAgICAgIHBhdGhJZHg6IGluZGV4KGAke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9X3BhdGhfaWR4YCkub24oY29scy5wYXRoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICAgIHJlc3VsdC5sb2NhbGVJZHggPSBpbmRleChgJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfV9sb2NhbGVfaWR4YCkub24oY29scy5sb2NhbGUpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9KVxuXG4gICAgICBhZGFwdGVyLnRhYmxlc1tyZWxhdGlvbnNoaXBzVGFibGVOYW1lXSA9IHJlbGF0aW9uc2hpcHNUYWJsZVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMocmVsYXRpb25zaGlwc1RhYmxlLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGUucGFyZW50XSxcbiAgICAgICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICAgICAgICByZWxhdGlvbk5hbWU6ICdfcmVscycsXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICBjb25zdCByZWxhdGVkVGFibGVOYW1lID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgICBjb25zdCBpZENvbHVtbk5hbWUgPSBgJHtyZWxhdGlvblRvfUlEYFxuICAgICAgICAgIHJlc3VsdFtpZENvbHVtbk5hbWVdID0gb25lKGFkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICBmaWVsZHM6IFtyZWxhdGlvbnNoaXBzVGFibGVbaWRDb2x1bW5OYW1lXV0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcmVsYXRlZFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke3JlbGF0aW9uc2hpcHNUYWJsZU5hbWV9YF0gPSByZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnNcbiAgICB9XG4gIH1cblxuICBjb25zdCB0YWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyh0YWJsZSwgKHsgbWFueSB9KSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHt9XG5cbiAgICByZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICB9KVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZEZpZWxkKSB7XG4gICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGxvY2FsZXNUYWJsZSlcbiAgICB9XG5cbiAgICBpZiAoaGFzTWFueVRleHRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll90ZXh0cyA9IG1hbnkodGV4dHNUYWJsZSlcbiAgICB9XG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IGhhc01hbnlOdW1iZXJGaWVsZCwgaGFzTWFueVRleHRGaWVsZCwgcmVsYXRpb25zVG9CdWlsZCB9XG59XG4iXSwibmFtZXMiOlsiYnVpbGRUYWJsZSIsImFkYXB0ZXIiLCJiYXNlQ29sdW1ucyIsImJhc2VFeHRyYUNvbmZpZyIsImJ1aWxkTnVtYmVycyIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImJ1aWxkVGV4dHMiLCJkaXNhYmxlTm90TnVsbCIsImRpc2FibGVVbmlxdWUiLCJmaWVsZHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RSZWxhdGlvbnNoaXBzIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImluY29taW5nUm9vdFRhYmxlTmFtZSIsInRhYmxlTmFtZSIsInRpbWVzdGFtcHMiLCJjb2x1bW5zIiwiaW5kZXhlcyIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55VGV4dEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueVRleHRGaWVsZCIsImhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJsb2NhbGVzVGFibGUiLCJ0ZXh0c1RhYmxlIiwibnVtYmVyc1RhYmxlIiwicmVsYXRpb25zaGlwcyIsIlNldCIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInJlbGF0aW9uc1RvQnVpbGQiLCJNYXAiLCJpZENvbFR5cGUiLCJnZXRDb25maWdJRFR5cGUiLCJpZENvbFR5cGVNYXAiLCJpbnRlZ2VyIiwic2VyaWFsIiwibnVtZXJpYyIsInZhcmNoYXIiLCJpZCIsInByaW1hcnlLZXkiLCJ0cmF2ZXJzZUZpZWxkcyIsIm5ld1RhYmxlTmFtZSIsInBhcmVudFRhYmxlTmFtZSIsImNyZWF0ZWRBdCIsInRpbWVzdGFtcCIsIm1vZGUiLCJwcmVjaXNpb24iLCJ3aXRoVGltZXpvbmUiLCJkZWZhdWx0Tm93Iiwibm90TnVsbCIsInVwZGF0ZWRBdCIsInRhYmxlIiwicGdUYWJsZSIsImNvbHMiLCJleHRyYUNvbmZpZyIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJjb25maWciLCJrZXkiLCJmdW5jIiwiYWNjIiwiY29sTmFtZSIsInRhYmxlcyIsImxvY2FsZVRhYmxlTmFtZSIsIl9sb2NhbGUiLCJlbnVtcyIsImVudW1fX2xvY2FsZXMiLCJfcGFyZW50SUQiLCJwYXJlbnRJRENvbHVtbk1hcCIsInJlZmVyZW5jZXMiLCJvbkRlbGV0ZSIsIl9sb2NhbGVQYXJlbnQiLCJ1bmlxdWUiLCJvbiIsImxvY2FsZXNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9ucyIsIm9uZSIsInRleHRzVGFibGVOYW1lIiwib3JkZXIiLCJwYXJlbnQiLCJwYXRoIiwidGV4dCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJ0ZXh0X2lkeCIsImxvY2FsZVBhcmVudCIsInRleHRzVGFibGVSZWxhdGlvbnMiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwibnVtYmVySWR4IiwibnVtYmVyc1RhYmxlUmVsYXRpb25zIiwic2l6ZSIsInJlbGF0aW9uc2hpcENvbHVtbnMiLCJmb3JFYWNoIiwicmVsYXRpb25UbyIsImZvcm1hdHRlZFJlbGF0aW9uVG8iLCJ0b1NuYWtlQ2FzZSIsImNvbFR5cGUiLCJyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsInJlc3VsdCIsInBhcmVudElkeCIsInBhdGhJZHgiLCJsb2NhbGVJZHgiLCJyZWxhdGlvbnNoaXBzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbk5hbWUiLCJyZWxhdGVkVGFibGVOYW1lIiwiaWRDb2x1bW5OYW1lIiwidGFibGVSZWxhdGlvbnMiLCJtYW55IiwidmFsIiwiX2xvY2FsZXMiLCJfdGV4dHMiLCJfbnVtYmVycyIsIl9yZWxzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBaUR2QkE7OztlQUFBQTs7OzRCQTVDYTt3QkFVbkI7dUJBQzBCO29FQUNUO2lDQUlRO21DQUNFO2dDQUNIOzs7Ozs7QUEwQnhCLE1BQU1BLGFBQWEsQ0FBQyxFQUN6QkMsT0FBTyxFQUNQQyxjQUFjLENBQUMsQ0FBQyxFQUNoQkMsa0JBQWtCLENBQUMsQ0FBQyxFQUNwQkMsWUFBWSxFQUNaQyxrQkFBa0IsRUFDbEJDLFVBQVUsRUFDVkMsY0FBYyxFQUNkQyxnQkFBZ0IsS0FBSyxFQUNyQkMsTUFBTSxFQUNOQyxvQkFBb0IsRUFDcEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxlQUFlQyxxQkFBcUIsRUFDcENDLFNBQVMsRUFDVEMsVUFBVSxFQUNMO0lBQ0wsTUFBTUgsZ0JBQWdCQyx5QkFBeUJDO0lBQy9DLE1BQU1FLFVBQTJDZjtJQUNqRCxNQUFNZ0IsVUFBa0UsQ0FBQztJQUV6RSxJQUFJQyxvQkFBb0I7SUFDeEIsSUFBSUMsZ0NBQWdDO0lBQ3BDLElBQUlDLG1CQUFzQztJQUMxQyxJQUFJQyxxQkFBd0M7SUFDNUMsSUFBSUMsNEJBQTRCO0lBQ2hDLElBQUlDLDhCQUE4QjtJQUVsQyxNQUFNQyxp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
@@ -2,9 +2,10 @@ import type { GenericColumn } from '../types';
2
2
  type CreateIndexArgs = {
3
3
  columnName: string;
4
4
  name: string | string[];
5
+ tableName: string;
5
6
  unique?: boolean;
6
7
  };
7
- export declare const createIndex: ({ name, columnName, unique }: CreateIndexArgs) => (table: {
8
+ export declare const createIndex: ({ name, columnName, tableName, unique }: CreateIndexArgs) => (table: {
8
9
  [x: string]: GenericColumn;
9
10
  }) => import("drizzle-orm/pg-core").IndexBuilder;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../src/schema/createIndex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,iCAAkC,eAAe;;gDAcxE,CAAA"}
1
+ {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../src/schema/createIndex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,4CAA6C,eAAe;;gDAenF,CAAA"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "createIndex", {
9
9
  }
10
10
  });
11
11
  const _pgcore = require("drizzle-orm/pg-core");
12
- const createIndex = ({ name, columnName, unique })=>{
12
+ const createIndex = ({ name, columnName, tableName, unique })=>{
13
13
  return (table)=>{
14
14
  let columns;
15
15
  if (Array.isArray(name)) {
@@ -20,9 +20,9 @@ const createIndex = ({ name, columnName, unique })=>{
20
20
  table[name]
21
21
  ];
22
22
  }
23
- if (unique) return (0, _pgcore.uniqueIndex)(`${columnName}_idx`).on(columns[0], ...columns.slice(1));
24
- return (0, _pgcore.index)(`${columnName}_idx`).on(columns[0], ...columns.slice(1));
23
+ if (unique) return (0, _pgcore.uniqueIndex)(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1));
24
+ return (0, _pgcore.index)(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1));
25
25
  };
26
26
  };
27
27
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvY3JlYXRlSW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7IGluZGV4LCB1bmlxdWVJbmRleCB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiB9IGZyb20gJy4uL3R5cGVzJ1xuXG50eXBlIENyZWF0ZUluZGV4QXJncyA9IHtcbiAgY29sdW1uTmFtZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZyB8IHN0cmluZ1tdXG4gIHVuaXF1ZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUluZGV4ID0gKHsgbmFtZSwgY29sdW1uTmFtZSwgdW5pcXVlIH06IENyZWF0ZUluZGV4QXJncykgPT4ge1xuICByZXR1cm4gKHRhYmxlOiB7IFt4OiBzdHJpbmddOiBHZW5lcmljQ29sdW1uIH0pID0+IHtcbiAgICBsZXQgY29sdW1uc1xuICAgIGlmIChBcnJheS5pc0FycmF5KG5hbWUpKSB7XG4gICAgICBjb2x1bW5zID0gbmFtZVxuICAgICAgICAubWFwKChjb2x1bW5OYW1lKSA9PiB0YWJsZVtjb2x1bW5OYW1lXSlcbiAgICAgICAgLy8gZXhjbHVkZSBmaWVsZHMgd2VyZSBpbmNsdWRlZCBpbiBjb21wb3VuZCBpbmRleGVzIGJ1dCBkbyBub3QgZXhpc3Qgb24gdGhlIHRhYmxlXG4gICAgICAgIC5maWx0ZXIoKGNvbCkgPT4gdHlwZW9mIGNvbCAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbHVtbnMgPSBbdGFibGVbbmFtZV1dXG4gICAgfVxuICAgIGlmICh1bmlxdWUpIHJldHVybiB1bmlxdWVJbmRleChgJHtjb2x1bW5OYW1lfV9pZHhgKS5vbihjb2x1bW5zWzBdLCAuLi5jb2x1bW5zLnNsaWNlKDEpKVxuICAgIHJldHVybiBpbmRleChgJHtjb2x1bW5OYW1lfV9pZHhgKS5vbihjb2x1bW5zWzBdLCAuLi5jb2x1bW5zLnNsaWNlKDEpKVxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlSW5kZXgiLCJuYW1lIiwiY29sdW1uTmFtZSIsInVuaXF1ZSIsInRhYmxlIiwiY29sdW1ucyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImZpbHRlciIsImNvbCIsInVuaXF1ZUluZGV4Iiwib24iLCJzbGljZSIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBV3ZCQTs7O2VBQUFBOzs7d0JBVnNCO0FBVTVCLE1BQU1BLGNBQWMsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFtQjtJQUN2RSxPQUFPLENBQUNDO1FBQ04sSUFBSUM7UUFDSixJQUFJQyxNQUFNQyxPQUFPLENBQUNOLE9BQU87WUFDdkJJLFVBQVVKLEtBQ1BPLEdBQUcsQ0FBQyxDQUFDTixhQUFlRSxLQUFLLENBQUNGLFdBQVcsQ0FDdEMsaUZBQWlGO2FBQ2hGTyxNQUFNLENBQUMsQ0FBQ0MsTUFBUSxPQUFPQSxRQUFRO1FBQ3BDLE9BQU87WUFDTEwsVUFBVTtnQkFBQ0QsS0FBSyxDQUFDSCxLQUFLO2FBQUM7UUFDekI7UUFDQSxJQUFJRSxRQUFRLE9BQU9RLElBQUFBLG1CQUFXLEVBQUMsQ0FBQyxFQUFFVCxXQUFXLElBQUksQ0FBQyxFQUFFVSxFQUFFLENBQUNQLE9BQU8sQ0FBQyxFQUFFLEtBQUtBLFFBQVFRLEtBQUssQ0FBQztRQUNwRixPQUFPQyxJQUFBQSxhQUFLLEVBQUMsQ0FBQyxFQUFFWixXQUFXLElBQUksQ0FBQyxFQUFFVSxFQUFFLENBQUNQLE9BQU8sQ0FBQyxFQUFFLEtBQUtBLFFBQVFRLEtBQUssQ0FBQztJQUNwRTtBQUNGIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvY3JlYXRlSW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7IGluZGV4LCB1bmlxdWVJbmRleCB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiB9IGZyb20gJy4uL3R5cGVzJ1xuXG50eXBlIENyZWF0ZUluZGV4QXJncyA9IHtcbiAgY29sdW1uTmFtZTogc3RyaW5nXG4gIG5hbWU6IHN0cmluZyB8IHN0cmluZ1tdXG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIHVuaXF1ZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUluZGV4ID0gKHsgbmFtZSwgY29sdW1uTmFtZSwgdGFibGVOYW1lLCB1bmlxdWUgfTogQ3JlYXRlSW5kZXhBcmdzKSA9PiB7XG4gIHJldHVybiAodGFibGU6IHsgW3g6IHN0cmluZ106IEdlbmVyaWNDb2x1bW4gfSkgPT4ge1xuICAgIGxldCBjb2x1bW5zXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobmFtZSkpIHtcbiAgICAgIGNvbHVtbnMgPSBuYW1lXG4gICAgICAgIC5tYXAoKGNvbHVtbk5hbWUpID0+IHRhYmxlW2NvbHVtbk5hbWVdKVxuICAgICAgICAvLyBleGNsdWRlIGZpZWxkcyB3ZXJlIGluY2x1ZGVkIGluIGNvbXBvdW5kIGluZGV4ZXMgYnV0IGRvIG5vdCBleGlzdCBvbiB0aGUgdGFibGVcbiAgICAgICAgLmZpbHRlcigoY29sKSA9PiB0eXBlb2YgY29sICE9PSAndW5kZWZpbmVkJylcbiAgICB9IGVsc2Uge1xuICAgICAgY29sdW1ucyA9IFt0YWJsZVtuYW1lXV1cbiAgICB9XG4gICAgaWYgKHVuaXF1ZSlcbiAgICAgIHJldHVybiB1bmlxdWVJbmRleChgJHt0YWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1faWR4YCkub24oY29sdW1uc1swXSwgLi4uY29sdW1ucy5zbGljZSgxKSlcbiAgICByZXR1cm4gaW5kZXgoYCR7dGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9X2lkeGApLm9uKGNvbHVtbnNbMF0sIC4uLmNvbHVtbnMuc2xpY2UoMSkpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVJbmRleCIsIm5hbWUiLCJjb2x1bW5OYW1lIiwidGFibGVOYW1lIiwidW5pcXVlIiwidGFibGUiLCJjb2x1bW5zIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiZmlsdGVyIiwiY29sIiwidW5pcXVlSW5kZXgiLCJvbiIsInNsaWNlIiwiaW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFZdkJBOzs7ZUFBQUE7Ozt3QkFYc0I7QUFXNUIsTUFBTUEsY0FBYyxDQUFDLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBbUI7SUFDbEYsT0FBTyxDQUFDQztRQUNOLElBQUlDO1FBQ0osSUFBSUMsTUFBTUMsT0FBTyxDQUFDUCxPQUFPO1lBQ3ZCSyxVQUFVTCxLQUNQUSxHQUFHLENBQUMsQ0FBQ1AsYUFBZUcsS0FBSyxDQUFDSCxXQUFXLENBQ3RDLGlGQUFpRjthQUNoRlEsTUFBTSxDQUFDLENBQUNDLE1BQVEsT0FBT0EsUUFBUTtRQUNwQyxPQUFPO1lBQ0xMLFVBQVU7Z0JBQUNELEtBQUssQ0FBQ0osS0FBSzthQUFDO1FBQ3pCO1FBQ0EsSUFBSUcsUUFDRixPQUFPUSxJQUFBQSxtQkFBVyxFQUFDLENBQUMsRUFBRVQsVUFBVSxDQUFDLEVBQUVELFdBQVcsSUFBSSxDQUFDLEVBQUVXLEVBQUUsQ0FBQ1AsT0FBTyxDQUFDLEVBQUUsS0FBS0EsUUFBUVEsS0FBSyxDQUFDO1FBQ3ZGLE9BQU9DLElBQUFBLGFBQUssRUFBQyxDQUFDLEVBQUVaLFVBQVUsQ0FBQyxFQUFFRCxXQUFXLElBQUksQ0FBQyxFQUFFVyxFQUFFLENBQUNQLE9BQU8sQ0FBQyxFQUFFLEtBQUtBLFFBQVFRLEtBQUssQ0FBQztJQUNqRjtBQUNGIn0=
@@ -3,9 +3,9 @@ import type { Field, TabAsField } from 'payload/types';
3
3
  import type { GenericColumns, PostgresAdapter } from '../types';
4
4
  type Args = {
5
5
  adapter: PostgresAdapter;
6
- buildTexts: boolean;
7
6
  buildNumbers: boolean;
8
7
  buildRelationships: boolean;
8
+ buildTexts: boolean;
9
9
  columnPrefix?: string;
10
10
  columns: Record<string, PgColumnBuilder>;
11
11
  disableNotNull: boolean;
@@ -26,12 +26,12 @@ type Args = {
26
26
  };
27
27
  type Result = {
28
28
  hasLocalizedField: boolean;
29
- hasLocalizedManyTextField: boolean;
30
29
  hasLocalizedManyNumberField: boolean;
30
+ hasLocalizedManyTextField: boolean;
31
31
  hasLocalizedRelationshipField: boolean;
32
- hasManyTextField: 'index' | boolean;
33
32
  hasManyNumberField: 'index' | boolean;
33
+ hasManyTextField: 'index' | boolean;
34
34
  };
35
- export declare const traverseFields: ({ adapter, buildTexts, buildNumbers, buildRelationships, columnPrefix, columns, disableNotNull, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
35
+ export declare const traverseFields: ({ adapter, buildNumbers, buildRelationships, buildTexts, columnPrefix, columns, disableNotNull, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
36
36
  export {};
37
37
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAS/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,yBAAyB,EAAE,OAAO,CAAA;IAClC,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,4TAsBxB,IAAI,KAAG,MAwkBT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAS/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,4TAsBxB,IAAI,KAAG,MA4kBT,CAAA"}