@iobroker/db-base 7.2.2 → 7.2.3-alpha.1-20260621-61726ea22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,28 +1,37 @@
1
1
  /**
2
2
  * States DB in memory - Server
3
3
  *
4
- * Copyright 2013-2024 bluefox <dogafox@gmail.com>
4
+ * Copyright 2013-2026 bluefox <dogafox@gmail.com>
5
5
  *
6
6
  * MIT License
7
7
  *
8
8
  */
9
9
  import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
10
+ /** Options describing how to connect to the database server */
10
11
  export interface ConnectionOptions {
12
+ /** Password for authentication, if required */
11
13
  pass?: string;
14
+ /** Name of the sentinel master to connect to */
12
15
  sentinelName?: string;
13
16
  /** array on sentinel */
14
17
  host: string | string[];
15
18
  /** array on sentinel */
16
19
  port: number | number[];
20
+ /** Additional connection options passed to the database driver */
17
21
  options: Record<string, any>;
22
+ /** Enable more verbose connection logging */
18
23
  enhancedLogging?: boolean;
24
+ /** Backup configuration */
19
25
  backup?: BackupOptions;
20
26
  /** relative path to the data dir */
21
27
  dataDir?: string;
22
28
  }
23
29
  type ChangeFunction = (id: string, state: any) => void;
30
+ /** Status information about the database */
24
31
  export interface DbStatus {
32
+ /** Type of the database backend (e.g. file, jsonl, redis) */
25
33
  type: string;
34
+ /** Whether this process runs the database server */
26
35
  server: boolean;
27
36
  }
28
37
  interface BackupOptions {
@@ -35,8 +44,11 @@ interface BackupOptions {
35
44
  period: number;
36
45
  path: string;
37
46
  }
47
+ /** Options describing where the database stores its files */
38
48
  export interface DbOptions {
49
+ /** Name of the directory used for backups */
39
50
  backupDirName: string;
51
+ /** Name of the database file */
40
52
  fileName: string;
41
53
  }
42
54
  interface FileDbSettings {
@@ -81,7 +93,13 @@ export declare class InMemoryFileDB {
81
93
  private readonly datasetName;
82
94
  private log;
83
95
  private readonly backupDir;
96
+ /**
97
+ * @param settings Settings for the database, the connection and backups
98
+ */
84
99
  constructor(settings: FileDbSettings);
100
+ /**
101
+ * Open the database by loading the dataset from disk
102
+ */
85
103
  open(): Promise<void>;
86
104
  /**
87
105
  * Loads a dataset file
@@ -97,12 +115,58 @@ export declare class InMemoryFileDB {
97
115
  * @returns obj dataset read as object
98
116
  */
99
117
  loadDataset(datasetName: string): Promise<Record<string, any>>;
118
+ /**
119
+ * Normalize the backup settings and create the backup directory
120
+ */
100
121
  initBackupDir(): void;
122
+ /**
123
+ * Subscribe a client to changes matching the given pattern
124
+ *
125
+ * @param client The client to register the subscription for
126
+ * @param type The subscription type (e.g. objects or states)
127
+ * @param pattern One or more patterns to subscribe to
128
+ * @param cb Called once the subscription has been registered
129
+ */
101
130
  handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;
131
+ /**
132
+ * Subscribe a client to changes matching the given pattern
133
+ *
134
+ * @param client The client to register the subscription for
135
+ * @param type The subscription type (e.g. objects or states)
136
+ * @param pattern One or more patterns to subscribe to
137
+ * @param options Subscription options
138
+ * @param cb Called once the subscription has been registered
139
+ */
102
140
  handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], options: any, cb?: () => void): void;
141
+ /**
142
+ * Remove a client's subscription for the given pattern
143
+ *
144
+ * @param client The client whose subscription should be removed
145
+ * @param type The subscription type (e.g. objects or states)
146
+ * @param pattern One or more patterns to unsubscribe from
147
+ * @param cb Called once the subscription has been removed
148
+ */
103
149
  handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void | Promise<void>;
150
+ /**
151
+ * Publish a change to a single client. Must be implemented by a subclass that handles client communication.
152
+ *
153
+ * @param _client The client to publish to
154
+ * @param _type The change type (e.g. objects or states)
155
+ * @param _id The ID of the changed object or state
156
+ * @param _obj The new value of the object or state
157
+ */
104
158
  publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number;
159
+ /**
160
+ * Delete outdated backup files according to the configured retention settings
161
+ *
162
+ * @param baseFilename Base file name of the backups that should be pruned
163
+ */
105
164
  deleteOldBackupFiles(baseFilename: string): void;
165
+ /**
166
+ * Format a timestamp into a "YYYY-MM-DD_HH-MM-SS" string used for backup file names
167
+ *
168
+ * @param date Timestamp in milliseconds
169
+ */
106
170
  getTimeStr(date: number): string;
107
171
  /**
108
172
  * Handle saving the dataset incl. backups
@@ -120,9 +184,25 @@ export declare class InMemoryFileDB {
120
184
  * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file
121
185
  */
122
186
  saveBackup(jsonString: string): void;
187
+ /**
188
+ * Get the current status of the database
189
+ */
123
190
  getStatus(): DbStatus;
191
+ /**
192
+ * Get the currently connected clients. Subclasses override this to return the real clients.
193
+ */
124
194
  getClients(): Record<string, any>;
195
+ /**
196
+ * Publish a change to all connected clients and local subscribers
197
+ *
198
+ * @param type The change type (e.g. objects or states)
199
+ * @param id The ID of the changed object or state
200
+ * @param obj The new value of the object or state
201
+ */
125
202
  publishAll(type: string, id: string, obj: any): number;
203
+ /**
204
+ * Destructor of the class. Called when shutting down to persist state and clear timers.
205
+ */
126
206
  destroy(): Promise<void>;
127
207
  }
128
208
  export {};
@@ -47,6 +47,9 @@ class InMemoryFileDB {
47
47
  datasetName;
48
48
  log;
49
49
  backupDir;
50
+ /**
51
+ * @param settings Settings for the database, the connection and backups
52
+ */
50
53
  constructor(settings) {
51
54
  this.settings = settings || {};
52
55
  this.change = this.settings.change;
@@ -89,6 +92,9 @@ class InMemoryFileDB {
89
92
  }
90
93
  this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);
91
94
  }
95
+ /**
96
+ * Open the database by loading the dataset from disk
97
+ */
92
98
  async open() {
93
99
  this.dataset = await this.loadDataset(this.datasetName);
94
100
  }
@@ -151,6 +157,9 @@ class InMemoryFileDB {
151
157
  }
152
158
  return ret;
153
159
  }
160
+ /**
161
+ * Normalize the backup settings and create the backup directory
162
+ */
154
163
  initBackupDir() {
155
164
  this.settings.backup.period = this.settings.backup.period === void 0 ? 120 : parseInt(String(this.settings.backup.period));
156
165
  if (isNaN(this.settings.backup.period)) {
@@ -172,6 +181,15 @@ class InMemoryFileDB {
172
181
  }
173
182
  import_fs_extra.default.ensureDirSync(this.backupDir);
174
183
  }
184
+ /**
185
+ * Subscribe a client to changes matching the given pattern
186
+ *
187
+ * @param client The client to register the subscription for
188
+ * @param type The subscription type (e.g. objects or states)
189
+ * @param pattern One or more patterns to subscribe to
190
+ * @param options Subscription options, or the callback if omitted
191
+ * @param cb Called once the subscription has been registered
192
+ */
175
193
  handleSubscribe(client, type, pattern, options, cb) {
176
194
  if (typeof options === "function") {
177
195
  cb = options;
@@ -194,6 +212,14 @@ class InMemoryFileDB {
194
212
  }
195
213
  typeof cb === "function" && cb();
196
214
  }
215
+ /**
216
+ * Remove a client's subscription for the given pattern
217
+ *
218
+ * @param client The client whose subscription should be removed
219
+ * @param type The subscription type (e.g. objects or states)
220
+ * @param pattern One or more patterns to unsubscribe from
221
+ * @param cb Called once the subscription has been removed
222
+ */
197
223
  handleUnsubscribe(client, type, pattern, cb) {
198
224
  const s = client?._subscribe?.[type];
199
225
  if (s) {
@@ -213,9 +239,22 @@ class InMemoryFileDB {
213
239
  }
214
240
  return import_js_controller_common_db.tools.maybeCallback(cb);
215
241
  }
242
+ /**
243
+ * Publish a change to a single client. Must be implemented by a subclass that handles client communication.
244
+ *
245
+ * @param _client The client to publish to
246
+ * @param _type The change type (e.g. objects or states)
247
+ * @param _id The ID of the changed object or state
248
+ * @param _obj The new value of the object or state
249
+ */
216
250
  publishToClients(_client, _type, _id, _obj) {
217
251
  throw new Error("no communication handling implemented");
218
252
  }
253
+ /**
254
+ * Delete outdated backup files according to the configured retention settings
255
+ *
256
+ * @param baseFilename Base file name of the backups that should be pruned
257
+ */
219
258
  deleteOldBackupFiles(baseFilename) {
220
259
  let files = import_fs_extra.default.readdirSync(this.backupDir);
221
260
  files.sort();
@@ -236,6 +275,11 @@ class InMemoryFileDB {
236
275
  }
237
276
  }
238
277
  }
278
+ /**
279
+ * Format a timestamp into a "YYYY-MM-DD_HH-MM-SS" string used for backup file names
280
+ *
281
+ * @param date Timestamp in milliseconds
282
+ */
239
283
  getTimeStr(date) {
240
284
  const dateObj = new Date(date);
241
285
  let text = `${dateObj.getFullYear().toString()}-`;
@@ -352,12 +396,25 @@ class InMemoryFileDB {
352
396
  }
353
397
  }
354
398
  }
399
+ /**
400
+ * Get the current status of the database
401
+ */
355
402
  getStatus() {
356
403
  return { type: "file", server: true };
357
404
  }
405
+ /**
406
+ * Get the currently connected clients. Subclasses override this to return the real clients.
407
+ */
358
408
  getClients() {
359
409
  return {};
360
410
  }
411
+ /**
412
+ * Publish a change to all connected clients and local subscribers
413
+ *
414
+ * @param type The change type (e.g. objects or states)
415
+ * @param id The ID of the changed object or state
416
+ * @param obj The new value of the object or state
417
+ */
361
418
  publishAll(type, id, obj) {
362
419
  if (id === void 0) {
363
420
  this.log.error(`${this.namespace} Can not publish empty ID`);
@@ -380,7 +437,9 @@ class InMemoryFileDB {
380
437
  }
381
438
  return publishCount;
382
439
  }
383
- // Destructor of the class. Called by shutting down.
440
+ /**
441
+ * Destructor of the class. Called when shutting down to persist state and clear timers.
442
+ */
384
443
  async destroy() {
385
444
  if (this.stateTimer) {
386
445
  clearTimeout(this.stateTimer);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/inMemFileDB.ts"],
4
- "sourcesContent": ["/**\n * States DB in memory - Server\n *\n * Copyright 2013-2024 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { tools } from '@iobroker/js-controller-common-db';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\nimport { createGzip } from 'node:zlib';\n\n// settings = {\n// change: function (id, state) {},\n// connected: function (nameOfServer) {},\n// logger: {\n// silly: function (msg) {},\n// debug: function (msg) {},\n// info: function (msg) {},\n// warn: function (msg) {},\n// error: function (msg) {}\n// },\n// connection: {\n// dataDir: 'relative path'\n// },\n// auth: null, //unused\n// secure: true/false,\n// certificates: as required by createServer\n// port: 9000,\n// host: localhost\n// };\n//\n\nexport interface ConnectionOptions {\n pass?: string;\n sentinelName?: string;\n /** array on sentinel */\n host: string | string[];\n /** array on sentinel */\n port: number | number[];\n options: Record<string, any>;\n enhancedLogging?: boolean;\n backup?: BackupOptions;\n /** relative path to the data dir */\n dataDir?: string;\n}\n\ntype ChangeFunction = (id: string, state: any) => void;\n\nexport interface DbStatus {\n type: string;\n server: boolean;\n}\n\ninterface BackupOptions {\n /** deactivates backup if true */\n disabled: boolean;\n /** minimum number of files */\n files: number;\n hours: number;\n /** minutes */\n period: number;\n path: string;\n}\n\nexport interface DbOptions {\n backupDirName: string;\n fileName: string;\n}\n\ninterface FileDbSettings {\n fileDB: DbOptions;\n jsonlDB: DbOptions;\n backup: BackupOptions;\n change?: ChangeFunction;\n connected: (nameOfServer: string) => void;\n logger: InternalLogger;\n connection: ConnectionOptions;\n /** unused */\n auth?: null;\n secure: boolean;\n /** as required by createServer TODO: if createServer is typed, add type */\n certificates: any;\n port: number;\n host: string;\n /** logging namespace */\n namespace?: string;\n}\n\ninterface Subscription {\n pattern: string;\n regex: RegExp;\n options: any;\n}\n\ninterface SubscriptionClient {\n _subscribe?: Record<string, Subscription[]>;\n}\n\n/**\n * The parent of the class structure, which provides basic JSON storage\n * and general subscription and publish functionality\n */\nexport class InMemoryFileDB {\n private settings: FileDbSettings;\n private readonly change: ChangeFunction | undefined;\n protected dataset: Record<string, any>;\n private readonly namespace: string;\n private lastSave: null | number;\n private stateTimer: NodeJS.Timeout | null;\n private callbackSubscriptionClient: SubscriptionClient;\n private readonly dataDir: string;\n private readonly datasetName: string;\n private log: InternalLogger;\n private readonly backupDir: string;\n\n constructor(settings: FileDbSettings) {\n this.settings = settings || {};\n\n this.change = this.settings.change;\n\n this.dataset = {};\n\n this.namespace = this.settings.namespace || '';\n this.lastSave = null;\n this.callbackSubscriptionClient = {};\n\n this.settings.backup = this.settings.connection.backup || {\n disabled: false, // deactivates\n files: 24, // minimum number of files\n hours: 48, // hours\n period: 120, // minutes\n path: '', // use default path\n };\n\n this.dataDir = this.settings.connection.dataDir || tools.getDefaultDataDir();\n if (!path.isAbsolute(this.dataDir)) {\n this.dataDir = path.normalize(path.join(tools.getControllerDir(), this.dataDir));\n }\n this.dataDir = this.dataDir.replace(/\\\\/g, '/');\n\n const fileName = this.settings.jsonlDB ? this.settings.jsonlDB.fileName : this.settings.fileDB.fileName;\n this.datasetName = path.join(this.dataDir, fileName);\n const parts = path.dirname(this.datasetName);\n fs.ensureDirSync(parts);\n\n this.stateTimer = null;\n\n this.backupDir = this.settings.backup.path || path.join(this.dataDir, this.settings.fileDB.backupDirName);\n\n this.log = tools.getLogger(this.settings.logger);\n\n if (!this.settings.backup.disabled) {\n try {\n this.initBackupDir();\n } catch (e) {\n this.log.error(\n `Database backups are disabled, because backup directory could not be initialized: ${e.message}`,\n );\n this.log.error(\n 'This leads to an increased risk of data loss, please check that the configured backup directory is available and restart the controller',\n );\n this.settings.backup.disabled = true;\n }\n }\n\n this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);\n }\n\n async open(): Promise<void> {\n // load values from file\n this.dataset = await this.loadDataset(this.datasetName);\n }\n\n /**\n * Loads a dataset file\n *\n * @param datasetName Filename of the file to load\n * @returns obj read data, normally as object\n */\n async loadDatasetFile(datasetName: string): Promise<Record<string, any>> {\n if (!(await fs.pathExists(datasetName))) {\n throw new Error(`Database file ${datasetName} does not exists.`);\n }\n return fs.readJSON(datasetName);\n }\n\n /**\n * Loads the dataset including pot. Fallback handling\n *\n * @param datasetName Filename of the file to load\n * @returns obj dataset read as object\n */\n async loadDataset(datasetName: string): Promise<Record<string, any>> {\n let ret = {};\n try {\n ret = await this.loadDatasetFile(datasetName);\n\n // loading worked, make sure that \"bak\" File is not broken\n try {\n await fs.readJSON(`${datasetName}.bak`);\n } catch (e) {\n this.log.info(\n `${this.namespace} Rewrite bak file, because error on verify ${datasetName}.bak: ${e.message}`,\n );\n try {\n const jsonString = JSON.stringify(ret);\n await fs.writeFile(`${datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${datasetName}.bak: ${e.message}`);\n }\n }\n } catch (err) {\n this.log.error(`${this.namespace} Cannot load ${datasetName}: ${err.message}. We try last Backup!`);\n\n try {\n ret = await this.loadDatasetFile(`${datasetName}.bak`);\n\n // it worked, lets overwrite old file and store the broken one for pot. forensic check\n try {\n if (await fs.pathExists(datasetName)) {\n try {\n await fs.move(datasetName, `${datasetName}.broken`, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot copy the broken file ${datasetName} to ${datasetName}.broken ${e.message}`,\n );\n }\n try {\n await fs.writeFile(datasetName, JSON.stringify(ret));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot restore backup file as new main ${datasetName}: ${e.message}`,\n );\n }\n }\n } catch {\n // ignore, file does not exist\n }\n } catch (err) {\n this.log.error(\n `${this.namespace} Cannot load ${datasetName}.bak: ${err.message}. Continue with empty dataset!`,\n );\n this.log.error(\n `${this.namespace} If this is no Migration or initial start please restore the last backup from ${this.backupDir}`,\n );\n }\n }\n return ret;\n }\n\n initBackupDir(): void {\n // Interval in minutes => to milliseconds\n this.settings.backup.period =\n this.settings.backup.period === undefined ? 120 : parseInt(String(this.settings.backup.period));\n if (isNaN(this.settings.backup.period)) {\n this.settings.backup.period = 120;\n }\n // Node.js timeouts overflow after roughly 24 days, defaulting to 1 millisecond, which causes chaos.\n // If a user configured the backup this way, we use our default of 120 minutes instead.\n const maxTimeoutMinutes = Math.floor((2 ** 31 - 1) / 60000);\n if (this.settings.backup.period > maxTimeoutMinutes) {\n this.log.warn(\n `${this.namespace} Configured backup period ${this.settings.backup.period} is larger than the supported maximum of ${maxTimeoutMinutes} minutes. Defaulting to 120 minutes.`,\n );\n this.settings.backup.period = 120;\n }\n this.settings.backup.period *= 60_000;\n\n this.settings.backup.files =\n this.settings.backup.files === undefined ? 24 : parseInt(String(this.settings.backup.files));\n if (isNaN(this.settings.backup.files)) {\n this.settings.backup.files = 24;\n }\n\n this.settings.backup.hours =\n this.settings.backup.hours === undefined ? 48 : parseInt(String(this.settings.backup.hours));\n if (isNaN(this.settings.backup.hours)) {\n this.settings.backup.hours = 48;\n }\n // Create backup directory\n fs.ensureDirSync(this.backupDir);\n }\n\n handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void;\n\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void {\n if (typeof options === 'function') {\n cb = options;\n options = undefined;\n }\n client._subscribe = client._subscribe || {};\n client._subscribe[type] = client._subscribe[type] || [];\n\n const s = client._subscribe[type];\n\n if (pattern instanceof Array) {\n pattern.forEach(pattern => {\n if (s.find(sub => sub.pattern === pattern)) {\n return;\n }\n\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n });\n } else {\n if (!s.find(sub => sub.pattern === pattern)) {\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n }\n }\n\n typeof cb === 'function' && cb();\n }\n\n handleUnsubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n cb?: () => void,\n ): void | Promise<void> {\n const s = client?._subscribe?.[type];\n if (s) {\n const removeEntry = (p: string): void => {\n const index = s.findIndex(sub => sub.pattern === p);\n if (index > -1) {\n s.splice(index, 1);\n }\n };\n\n if (pattern instanceof Array) {\n pattern.forEach(p => {\n removeEntry(p);\n });\n } else {\n removeEntry(pattern);\n }\n }\n\n return tools.maybeCallback(cb);\n }\n\n publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number {\n throw new Error('no communication handling implemented');\n }\n\n deleteOldBackupFiles(baseFilename: string): void {\n // delete files only if settings.backupNumber is not 0\n let files = fs.readdirSync(this.backupDir);\n files.sort();\n const limit = Date.now() - this.settings.backup.hours * 3600000;\n\n files = files.filter(f => f.endsWith(`${baseFilename}.gz`));\n\n while (files.length > this.settings.backup.files) {\n const file = files.shift();\n if (!file) {\n continue;\n }\n // extract time\n const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace('-', ':')}:00`).getTime();\n if (limit > ms) {\n try {\n fs.unlinkSync(path.join(this.backupDir, file));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot delete file \"${path.join(this.backupDir, file)}: ${e.message}`,\n );\n }\n }\n }\n }\n\n getTimeStr(date: number): string {\n const dateObj = new Date(date);\n\n let text = `${dateObj.getFullYear().toString()}-`;\n let v = dateObj.getMonth() + 1;\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getDate();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}_`;\n\n v = dateObj.getHours();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getMinutes();\n if (v < 10) {\n text += '0';\n }\n text += v.toString();\n\n return text;\n }\n\n /**\n * Handle saving the dataset incl. backups\n */\n async saveState(): Promise<void> {\n try {\n const jsonString = await this.saveDataset();\n\n if (!this.settings.backup.disabled && jsonString) {\n this.saveBackup(jsonString);\n }\n } finally {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n this.stateTimer = null;\n }\n }\n }\n\n /**\n * Saves the dataset into File incl. handling of a fallback backup file\n *\n * @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file\n */\n async saveDataset(): Promise<string> {\n const jsonString = JSON.stringify(this.dataset);\n\n try {\n await fs.writeFile(`${this.datasetName}.new`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save Dataset to ${this.datasetName}.new: ${e.message}`);\n return jsonString;\n }\n\n let bakOk = true;\n try {\n if (await fs.pathExists(this.datasetName)) {\n try {\n await fs.move(this.datasetName, `${this.datasetName}.bak`, { overwrite: true });\n } catch (e) {\n bakOk = false;\n this.log.error(`${this.namespace} Cannot backup file ${this.datasetName}.bak: ${e.message}`);\n }\n } else {\n bakOk = false;\n }\n } catch {\n bakOk = false;\n // ignore, file does not exist\n }\n\n try {\n await fs.move(`${this.datasetName}.new`, this.datasetName, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot move ${this.datasetName}.new to ${this.datasetName}: ${e.message}. Try direct write as fallback`,\n );\n try {\n await fs.writeFile(this.datasetName, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot directly write Dataset to ${this.datasetName}: ${e.message}`);\n return jsonString;\n }\n }\n\n if (!bakOk) {\n // it seems the bak File is not successfully there, write current content again\n try {\n await fs.writeFile(`${this.datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}.bak: ${e.message}`);\n }\n }\n\n return jsonString;\n }\n\n /**\n * Stores a compressed backup of the DB in definable intervals\n *\n * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file\n */\n saveBackup(jsonString: string): void {\n // save files for the last x hours\n const now = Date.now();\n\n // makes backups only if settings.backupInterval is not 0\n if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {\n this.lastSave = now;\n const backFileName = path.join(\n this.backupDir,\n `${this.getTimeStr(now)}_${this.settings.fileDB.fileName}.gz`,\n );\n\n try {\n if (!fs.existsSync(backFileName)) {\n const output = fs.createWriteStream(backFileName);\n output.on('error', err => {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}: ${err.stack}`);\n });\n\n const compress = createGzip();\n /* The following line will pipe everything written into compress to the file stream */\n compress.pipe(output);\n /* Since we're piped through the file stream, the following line will do:\n 'Hello World!'->gzip compression->file which is the desired effect */\n compress.write(jsonString);\n compress.end();\n\n // analyse older files\n this.deleteOldBackupFiles(this.settings.fileDB.fileName);\n }\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save backup ${backFileName}: ${e.message}`);\n }\n }\n }\n\n getStatus(): DbStatus {\n return { type: 'file', server: true };\n }\n\n getClients(): Record<string, any> {\n return {};\n }\n\n publishAll(type: string, id: string, obj: any): number {\n if (id === undefined) {\n this.log.error(`${this.namespace} Can not publish empty ID`);\n return 0;\n }\n\n const clients = this.getClients();\n let publishCount = 0;\n\n if (clients && typeof clients === 'object') {\n for (const i of Object.keys(clients)) {\n publishCount += this.publishToClients(clients[i], type, id, obj);\n }\n }\n\n // local subscriptions\n if (\n this.change &&\n this.callbackSubscriptionClient._subscribe &&\n this.callbackSubscriptionClient._subscribe[type]\n ) {\n for (const entry of this.callbackSubscriptionClient._subscribe[type]) {\n if (entry.regex.test(id)) {\n // @ts-expect-error we have checked 3 lines above\n setImmediate(() => this.change(id, obj));\n break;\n }\n }\n }\n\n return publishCount;\n }\n\n // Destructor of the class. Called by shutting down.\n async destroy(): Promise<void> {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n await this.saveState();\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * States DB in memory - Server\n *\n * Copyright 2013-2026 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { tools } from '@iobroker/js-controller-common-db';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\nimport { createGzip } from 'node:zlib';\n\n// settings = {\n// change: function (id, state) {},\n// connected: function (nameOfServer) {},\n// logger: {\n// silly: function (msg) {},\n// debug: function (msg) {},\n// info: function (msg) {},\n// warn: function (msg) {},\n// error: function (msg) {}\n// },\n// connection: {\n// dataDir: 'relative path'\n// },\n// auth: null, //unused\n// secure: true/false,\n// certificates: as required by createServer\n// port: 9000,\n// host: localhost\n// };\n//\n\n/** Options describing how to connect to the database server */\nexport interface ConnectionOptions {\n /** Password for authentication, if required */\n pass?: string;\n /** Name of the sentinel master to connect to */\n sentinelName?: string;\n /** array on sentinel */\n host: string | string[];\n /** array on sentinel */\n port: number | number[];\n /** Additional connection options passed to the database driver */\n options: Record<string, any>;\n /** Enable more verbose connection logging */\n enhancedLogging?: boolean;\n /** Backup configuration */\n backup?: BackupOptions;\n /** relative path to the data dir */\n dataDir?: string;\n}\n\ntype ChangeFunction = (id: string, state: any) => void;\n\n/** Status information about the database */\nexport interface DbStatus {\n /** Type of the database backend (e.g. file, jsonl, redis) */\n type: string;\n /** Whether this process runs the database server */\n server: boolean;\n}\n\ninterface BackupOptions {\n /** deactivates backup if true */\n disabled: boolean;\n /** minimum number of files */\n files: number;\n hours: number;\n /** minutes */\n period: number;\n path: string;\n}\n\n/** Options describing where the database stores its files */\nexport interface DbOptions {\n /** Name of the directory used for backups */\n backupDirName: string;\n /** Name of the database file */\n fileName: string;\n}\n\ninterface FileDbSettings {\n fileDB: DbOptions;\n jsonlDB: DbOptions;\n backup: BackupOptions;\n change?: ChangeFunction;\n connected: (nameOfServer: string) => void;\n logger: InternalLogger;\n connection: ConnectionOptions;\n /** unused */\n auth?: null;\n secure: boolean;\n /** as required by createServer TODO: if createServer is typed, add type */\n certificates: any;\n port: number;\n host: string;\n /** logging namespace */\n namespace?: string;\n}\n\ninterface Subscription {\n pattern: string;\n regex: RegExp;\n options: any;\n}\n\ninterface SubscriptionClient {\n _subscribe?: Record<string, Subscription[]>;\n}\n\n/**\n * The parent of the class structure, which provides basic JSON storage\n * and general subscription and publish functionality\n */\nexport class InMemoryFileDB {\n private settings: FileDbSettings;\n private readonly change: ChangeFunction | undefined;\n protected dataset: Record<string, any>;\n private readonly namespace: string;\n private lastSave: null | number;\n private stateTimer: NodeJS.Timeout | null;\n private callbackSubscriptionClient: SubscriptionClient;\n private readonly dataDir: string;\n private readonly datasetName: string;\n private log: InternalLogger;\n private readonly backupDir: string;\n\n /**\n * @param settings Settings for the database, the connection and backups\n */\n constructor(settings: FileDbSettings) {\n this.settings = settings || {};\n\n this.change = this.settings.change;\n\n this.dataset = {};\n\n this.namespace = this.settings.namespace || '';\n this.lastSave = null;\n this.callbackSubscriptionClient = {};\n\n this.settings.backup = this.settings.connection.backup || {\n disabled: false, // deactivates\n files: 24, // minimum number of files\n hours: 48, // hours\n period: 120, // minutes\n path: '', // use default path\n };\n\n this.dataDir = this.settings.connection.dataDir || tools.getDefaultDataDir();\n if (!path.isAbsolute(this.dataDir)) {\n this.dataDir = path.normalize(path.join(tools.getControllerDir(), this.dataDir));\n }\n this.dataDir = this.dataDir.replace(/\\\\/g, '/');\n\n const fileName = this.settings.jsonlDB ? this.settings.jsonlDB.fileName : this.settings.fileDB.fileName;\n this.datasetName = path.join(this.dataDir, fileName);\n const parts = path.dirname(this.datasetName);\n fs.ensureDirSync(parts);\n\n this.stateTimer = null;\n\n this.backupDir = this.settings.backup.path || path.join(this.dataDir, this.settings.fileDB.backupDirName);\n\n this.log = tools.getLogger(this.settings.logger);\n\n if (!this.settings.backup.disabled) {\n try {\n this.initBackupDir();\n } catch (e) {\n this.log.error(\n `Database backups are disabled, because backup directory could not be initialized: ${e.message}`,\n );\n this.log.error(\n 'This leads to an increased risk of data loss, please check that the configured backup directory is available and restart the controller',\n );\n this.settings.backup.disabled = true;\n }\n }\n\n this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);\n }\n\n /**\n * Open the database by loading the dataset from disk\n */\n async open(): Promise<void> {\n // load values from file\n this.dataset = await this.loadDataset(this.datasetName);\n }\n\n /**\n * Loads a dataset file\n *\n * @param datasetName Filename of the file to load\n * @returns obj read data, normally as object\n */\n async loadDatasetFile(datasetName: string): Promise<Record<string, any>> {\n if (!(await fs.pathExists(datasetName))) {\n throw new Error(`Database file ${datasetName} does not exists.`);\n }\n return fs.readJSON(datasetName);\n }\n\n /**\n * Loads the dataset including pot. Fallback handling\n *\n * @param datasetName Filename of the file to load\n * @returns obj dataset read as object\n */\n async loadDataset(datasetName: string): Promise<Record<string, any>> {\n let ret = {};\n try {\n ret = await this.loadDatasetFile(datasetName);\n\n // loading worked, make sure that \"bak\" File is not broken\n try {\n await fs.readJSON(`${datasetName}.bak`);\n } catch (e) {\n this.log.info(\n `${this.namespace} Rewrite bak file, because error on verify ${datasetName}.bak: ${e.message}`,\n );\n try {\n const jsonString = JSON.stringify(ret);\n await fs.writeFile(`${datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${datasetName}.bak: ${e.message}`);\n }\n }\n } catch (err) {\n this.log.error(`${this.namespace} Cannot load ${datasetName}: ${err.message}. We try last Backup!`);\n\n try {\n ret = await this.loadDatasetFile(`${datasetName}.bak`);\n\n // it worked, lets overwrite old file and store the broken one for pot. forensic check\n try {\n if (await fs.pathExists(datasetName)) {\n try {\n await fs.move(datasetName, `${datasetName}.broken`, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot copy the broken file ${datasetName} to ${datasetName}.broken ${e.message}`,\n );\n }\n try {\n await fs.writeFile(datasetName, JSON.stringify(ret));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot restore backup file as new main ${datasetName}: ${e.message}`,\n );\n }\n }\n } catch {\n // ignore, file does not exist\n }\n } catch (err) {\n this.log.error(\n `${this.namespace} Cannot load ${datasetName}.bak: ${err.message}. Continue with empty dataset!`,\n );\n this.log.error(\n `${this.namespace} If this is no Migration or initial start please restore the last backup from ${this.backupDir}`,\n );\n }\n }\n return ret;\n }\n\n /**\n * Normalize the backup settings and create the backup directory\n */\n initBackupDir(): void {\n // Interval in minutes => to milliseconds\n this.settings.backup.period =\n this.settings.backup.period === undefined ? 120 : parseInt(String(this.settings.backup.period));\n if (isNaN(this.settings.backup.period)) {\n this.settings.backup.period = 120;\n }\n // Node.js timeouts overflow after roughly 24 days, defaulting to 1 millisecond, which causes chaos.\n // If a user configured the backup this way, we use our default of 120 minutes instead.\n const maxTimeoutMinutes = Math.floor((2 ** 31 - 1) / 60000);\n if (this.settings.backup.period > maxTimeoutMinutes) {\n this.log.warn(\n `${this.namespace} Configured backup period ${this.settings.backup.period} is larger than the supported maximum of ${maxTimeoutMinutes} minutes. Defaulting to 120 minutes.`,\n );\n this.settings.backup.period = 120;\n }\n this.settings.backup.period *= 60_000;\n\n this.settings.backup.files =\n this.settings.backup.files === undefined ? 24 : parseInt(String(this.settings.backup.files));\n if (isNaN(this.settings.backup.files)) {\n this.settings.backup.files = 24;\n }\n\n this.settings.backup.hours =\n this.settings.backup.hours === undefined ? 48 : parseInt(String(this.settings.backup.hours));\n if (isNaN(this.settings.backup.hours)) {\n this.settings.backup.hours = 48;\n }\n // Create backup directory\n fs.ensureDirSync(this.backupDir);\n }\n\n /**\n * Subscribe a client to changes matching the given pattern\n *\n * @param client The client to register the subscription for\n * @param type The subscription type (e.g. objects or states)\n * @param pattern One or more patterns to subscribe to\n * @param cb Called once the subscription has been registered\n */\n handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;\n /**\n * Subscribe a client to changes matching the given pattern\n *\n * @param client The client to register the subscription for\n * @param type The subscription type (e.g. objects or states)\n * @param pattern One or more patterns to subscribe to\n * @param options Subscription options\n * @param cb Called once the subscription has been registered\n */\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void;\n\n /**\n * Subscribe a client to changes matching the given pattern\n *\n * @param client The client to register the subscription for\n * @param type The subscription type (e.g. objects or states)\n * @param pattern One or more patterns to subscribe to\n * @param options Subscription options, or the callback if omitted\n * @param cb Called once the subscription has been registered\n */\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void {\n if (typeof options === 'function') {\n cb = options;\n options = undefined;\n }\n client._subscribe = client._subscribe || {};\n client._subscribe[type] = client._subscribe[type] || [];\n\n const s = client._subscribe[type];\n\n if (pattern instanceof Array) {\n pattern.forEach(pattern => {\n if (s.find(sub => sub.pattern === pattern)) {\n return;\n }\n\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n });\n } else {\n if (!s.find(sub => sub.pattern === pattern)) {\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n }\n }\n\n typeof cb === 'function' && cb();\n }\n\n /**\n * Remove a client's subscription for the given pattern\n *\n * @param client The client whose subscription should be removed\n * @param type The subscription type (e.g. objects or states)\n * @param pattern One or more patterns to unsubscribe from\n * @param cb Called once the subscription has been removed\n */\n handleUnsubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n cb?: () => void,\n ): void | Promise<void> {\n const s = client?._subscribe?.[type];\n if (s) {\n const removeEntry = (p: string): void => {\n const index = s.findIndex(sub => sub.pattern === p);\n if (index > -1) {\n s.splice(index, 1);\n }\n };\n\n if (pattern instanceof Array) {\n pattern.forEach(p => {\n removeEntry(p);\n });\n } else {\n removeEntry(pattern);\n }\n }\n\n return tools.maybeCallback(cb);\n }\n\n /**\n * Publish a change to a single client. Must be implemented by a subclass that handles client communication.\n *\n * @param _client The client to publish to\n * @param _type The change type (e.g. objects or states)\n * @param _id The ID of the changed object or state\n * @param _obj The new value of the object or state\n */\n publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number {\n throw new Error('no communication handling implemented');\n }\n\n /**\n * Delete outdated backup files according to the configured retention settings\n *\n * @param baseFilename Base file name of the backups that should be pruned\n */\n deleteOldBackupFiles(baseFilename: string): void {\n // delete files only if settings.backupNumber is not 0\n let files = fs.readdirSync(this.backupDir);\n files.sort();\n const limit = Date.now() - this.settings.backup.hours * 3600000;\n\n files = files.filter(f => f.endsWith(`${baseFilename}.gz`));\n\n while (files.length > this.settings.backup.files) {\n const file = files.shift();\n if (!file) {\n continue;\n }\n // extract time\n const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace('-', ':')}:00`).getTime();\n if (limit > ms) {\n try {\n fs.unlinkSync(path.join(this.backupDir, file));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot delete file \"${path.join(this.backupDir, file)}: ${e.message}`,\n );\n }\n }\n }\n }\n\n /**\n * Format a timestamp into a \"YYYY-MM-DD_HH-MM-SS\" string used for backup file names\n *\n * @param date Timestamp in milliseconds\n */\n getTimeStr(date: number): string {\n const dateObj = new Date(date);\n\n let text = `${dateObj.getFullYear().toString()}-`;\n let v = dateObj.getMonth() + 1;\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getDate();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}_`;\n\n v = dateObj.getHours();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getMinutes();\n if (v < 10) {\n text += '0';\n }\n text += v.toString();\n\n return text;\n }\n\n /**\n * Handle saving the dataset incl. backups\n */\n async saveState(): Promise<void> {\n try {\n const jsonString = await this.saveDataset();\n\n if (!this.settings.backup.disabled && jsonString) {\n this.saveBackup(jsonString);\n }\n } finally {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n this.stateTimer = null;\n }\n }\n }\n\n /**\n * Saves the dataset into File incl. handling of a fallback backup file\n *\n * @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file\n */\n async saveDataset(): Promise<string> {\n const jsonString = JSON.stringify(this.dataset);\n\n try {\n await fs.writeFile(`${this.datasetName}.new`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save Dataset to ${this.datasetName}.new: ${e.message}`);\n return jsonString;\n }\n\n let bakOk = true;\n try {\n if (await fs.pathExists(this.datasetName)) {\n try {\n await fs.move(this.datasetName, `${this.datasetName}.bak`, { overwrite: true });\n } catch (e) {\n bakOk = false;\n this.log.error(`${this.namespace} Cannot backup file ${this.datasetName}.bak: ${e.message}`);\n }\n } else {\n bakOk = false;\n }\n } catch {\n bakOk = false;\n // ignore, file does not exist\n }\n\n try {\n await fs.move(`${this.datasetName}.new`, this.datasetName, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot move ${this.datasetName}.new to ${this.datasetName}: ${e.message}. Try direct write as fallback`,\n );\n try {\n await fs.writeFile(this.datasetName, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot directly write Dataset to ${this.datasetName}: ${e.message}`);\n return jsonString;\n }\n }\n\n if (!bakOk) {\n // it seems the bak File is not successfully there, write current content again\n try {\n await fs.writeFile(`${this.datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}.bak: ${e.message}`);\n }\n }\n\n return jsonString;\n }\n\n /**\n * Stores a compressed backup of the DB in definable intervals\n *\n * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file\n */\n saveBackup(jsonString: string): void {\n // save files for the last x hours\n const now = Date.now();\n\n // makes backups only if settings.backupInterval is not 0\n if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {\n this.lastSave = now;\n const backFileName = path.join(\n this.backupDir,\n `${this.getTimeStr(now)}_${this.settings.fileDB.fileName}.gz`,\n );\n\n try {\n if (!fs.existsSync(backFileName)) {\n const output = fs.createWriteStream(backFileName);\n output.on('error', err => {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}: ${err.stack}`);\n });\n\n const compress = createGzip();\n /* The following line will pipe everything written into compress to the file stream */\n compress.pipe(output);\n /* Since we're piped through the file stream, the following line will do:\n 'Hello World!'->gzip compression->file which is the desired effect */\n compress.write(jsonString);\n compress.end();\n\n // analyse older files\n this.deleteOldBackupFiles(this.settings.fileDB.fileName);\n }\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save backup ${backFileName}: ${e.message}`);\n }\n }\n }\n\n /**\n * Get the current status of the database\n */\n getStatus(): DbStatus {\n return { type: 'file', server: true };\n }\n\n /**\n * Get the currently connected clients. Subclasses override this to return the real clients.\n */\n getClients(): Record<string, any> {\n return {};\n }\n\n /**\n * Publish a change to all connected clients and local subscribers\n *\n * @param type The change type (e.g. objects or states)\n * @param id The ID of the changed object or state\n * @param obj The new value of the object or state\n */\n publishAll(type: string, id: string, obj: any): number {\n if (id === undefined) {\n this.log.error(`${this.namespace} Can not publish empty ID`);\n return 0;\n }\n\n const clients = this.getClients();\n let publishCount = 0;\n\n if (clients && typeof clients === 'object') {\n for (const i of Object.keys(clients)) {\n publishCount += this.publishToClients(clients[i], type, id, obj);\n }\n }\n\n // local subscriptions\n if (\n this.change &&\n this.callbackSubscriptionClient._subscribe &&\n this.callbackSubscriptionClient._subscribe[type]\n ) {\n for (const entry of this.callbackSubscriptionClient._subscribe[type]) {\n if (entry.regex.test(id)) {\n // @ts-expect-error we have checked 3 lines above\n setImmediate(() => this.change(id, obj));\n break;\n }\n }\n }\n\n return publishCount;\n }\n\n /**\n * Destructor of the class. Called when shutting down to persist state and clear timers.\n */\n async destroy(): Promise<void> {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n await this.saveState();\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["path", "fs", "e", "err", "pattern"]
7
7
  }
@@ -1,28 +1,37 @@
1
1
  /**
2
2
  * States DB in memory - Server
3
3
  *
4
- * Copyright 2013-2024 bluefox <dogafox@gmail.com>
4
+ * Copyright 2013-2026 bluefox <dogafox@gmail.com>
5
5
  *
6
6
  * MIT License
7
7
  *
8
8
  */
9
9
  import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
10
+ /** Options describing how to connect to the database server */
10
11
  export interface ConnectionOptions {
12
+ /** Password for authentication, if required */
11
13
  pass?: string;
14
+ /** Name of the sentinel master to connect to */
12
15
  sentinelName?: string;
13
16
  /** array on sentinel */
14
17
  host: string | string[];
15
18
  /** array on sentinel */
16
19
  port: number | number[];
20
+ /** Additional connection options passed to the database driver */
17
21
  options: Record<string, any>;
22
+ /** Enable more verbose connection logging */
18
23
  enhancedLogging?: boolean;
24
+ /** Backup configuration */
19
25
  backup?: BackupOptions;
20
26
  /** relative path to the data dir */
21
27
  dataDir?: string;
22
28
  }
23
29
  type ChangeFunction = (id: string, state: any) => void;
30
+ /** Status information about the database */
24
31
  export interface DbStatus {
32
+ /** Type of the database backend (e.g. file, jsonl, redis) */
25
33
  type: string;
34
+ /** Whether this process runs the database server */
26
35
  server: boolean;
27
36
  }
28
37
  interface BackupOptions {
@@ -35,8 +44,11 @@ interface BackupOptions {
35
44
  period: number;
36
45
  path: string;
37
46
  }
47
+ /** Options describing where the database stores its files */
38
48
  export interface DbOptions {
49
+ /** Name of the directory used for backups */
39
50
  backupDirName: string;
51
+ /** Name of the database file */
40
52
  fileName: string;
41
53
  }
42
54
  interface FileDbSettings {
@@ -81,7 +93,13 @@ export declare class InMemoryFileDB {
81
93
  private readonly datasetName;
82
94
  private log;
83
95
  private readonly backupDir;
96
+ /**
97
+ * @param settings Settings for the database, the connection and backups
98
+ */
84
99
  constructor(settings: FileDbSettings);
100
+ /**
101
+ * Open the database by loading the dataset from disk
102
+ */
85
103
  open(): Promise<void>;
86
104
  /**
87
105
  * Loads a dataset file
@@ -97,12 +115,58 @@ export declare class InMemoryFileDB {
97
115
  * @returns obj dataset read as object
98
116
  */
99
117
  loadDataset(datasetName: string): Promise<Record<string, any>>;
118
+ /**
119
+ * Normalize the backup settings and create the backup directory
120
+ */
100
121
  initBackupDir(): void;
122
+ /**
123
+ * Subscribe a client to changes matching the given pattern
124
+ *
125
+ * @param client The client to register the subscription for
126
+ * @param type The subscription type (e.g. objects or states)
127
+ * @param pattern One or more patterns to subscribe to
128
+ * @param cb Called once the subscription has been registered
129
+ */
101
130
  handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;
131
+ /**
132
+ * Subscribe a client to changes matching the given pattern
133
+ *
134
+ * @param client The client to register the subscription for
135
+ * @param type The subscription type (e.g. objects or states)
136
+ * @param pattern One or more patterns to subscribe to
137
+ * @param options Subscription options
138
+ * @param cb Called once the subscription has been registered
139
+ */
102
140
  handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], options: any, cb?: () => void): void;
141
+ /**
142
+ * Remove a client's subscription for the given pattern
143
+ *
144
+ * @param client The client whose subscription should be removed
145
+ * @param type The subscription type (e.g. objects or states)
146
+ * @param pattern One or more patterns to unsubscribe from
147
+ * @param cb Called once the subscription has been removed
148
+ */
103
149
  handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void | Promise<void>;
150
+ /**
151
+ * Publish a change to a single client. Must be implemented by a subclass that handles client communication.
152
+ *
153
+ * @param _client The client to publish to
154
+ * @param _type The change type (e.g. objects or states)
155
+ * @param _id The ID of the changed object or state
156
+ * @param _obj The new value of the object or state
157
+ */
104
158
  publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number;
159
+ /**
160
+ * Delete outdated backup files according to the configured retention settings
161
+ *
162
+ * @param baseFilename Base file name of the backups that should be pruned
163
+ */
105
164
  deleteOldBackupFiles(baseFilename: string): void;
165
+ /**
166
+ * Format a timestamp into a "YYYY-MM-DD_HH-MM-SS" string used for backup file names
167
+ *
168
+ * @param date Timestamp in milliseconds
169
+ */
106
170
  getTimeStr(date: number): string;
107
171
  /**
108
172
  * Handle saving the dataset incl. backups
@@ -120,9 +184,25 @@ export declare class InMemoryFileDB {
120
184
  * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file
121
185
  */
122
186
  saveBackup(jsonString: string): void;
187
+ /**
188
+ * Get the current status of the database
189
+ */
123
190
  getStatus(): DbStatus;
191
+ /**
192
+ * Get the currently connected clients. Subclasses override this to return the real clients.
193
+ */
124
194
  getClients(): Record<string, any>;
195
+ /**
196
+ * Publish a change to all connected clients and local subscribers
197
+ *
198
+ * @param type The change type (e.g. objects or states)
199
+ * @param id The ID of the changed object or state
200
+ * @param obj The new value of the object or state
201
+ */
125
202
  publishAll(type: string, id: string, obj: any): number;
203
+ /**
204
+ * Destructor of the class. Called when shutting down to persist state and clear timers.
205
+ */
126
206
  destroy(): Promise<void>;
127
207
  }
128
208
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"inMemFileDB.d.ts","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAwB9E,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,wBAAwB;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACnB,iCAAiC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa;IACb,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;CAChB;AAED,UAAU,kBAAkB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,0BAA0B,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,QAAQ,EAAE,cAAc;IAqD9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;;;;OAKG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAOxE;;;;;OAKG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA0DpE,aAAa,IAAI,IAAI;IAiCrB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC5G,eAAe,CACX,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,EAAE,GAAG,EACZ,EAAE,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI;IAmCP,iBAAiB,CACb,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,EAAE,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM;IAI5F,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IA2BhD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA+BhC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAehC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAqDpC;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAoCpC,SAAS,IAAI,QAAQ;IAIrB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM;IAkChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMjC"}
1
+ {"version":3,"file":"inMemFileDB.d.ts","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * States DB in memory - Server
3
3
  *
4
- * Copyright 2013-2024 bluefox <dogafox@gmail.com>
4
+ * Copyright 2013-2026 bluefox <dogafox@gmail.com>
5
5
  *
6
6
  * MIT License
7
7
  *
@@ -26,6 +26,9 @@ export class InMemoryFileDB {
26
26
  datasetName;
27
27
  log;
28
28
  backupDir;
29
+ /**
30
+ * @param settings Settings for the database, the connection and backups
31
+ */
29
32
  constructor(settings) {
30
33
  this.settings = settings || {};
31
34
  this.change = this.settings.change;
@@ -64,6 +67,9 @@ export class InMemoryFileDB {
64
67
  }
65
68
  this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);
66
69
  }
70
+ /**
71
+ * Open the database by loading the dataset from disk
72
+ */
67
73
  async open() {
68
74
  // load values from file
69
75
  this.dataset = await this.loadDataset(this.datasetName);
@@ -137,6 +143,9 @@ export class InMemoryFileDB {
137
143
  }
138
144
  return ret;
139
145
  }
146
+ /**
147
+ * Normalize the backup settings and create the backup directory
148
+ */
140
149
  initBackupDir() {
141
150
  // Interval in minutes => to milliseconds
142
151
  this.settings.backup.period =
@@ -165,6 +174,15 @@ export class InMemoryFileDB {
165
174
  // Create backup directory
166
175
  fs.ensureDirSync(this.backupDir);
167
176
  }
177
+ /**
178
+ * Subscribe a client to changes matching the given pattern
179
+ *
180
+ * @param client The client to register the subscription for
181
+ * @param type The subscription type (e.g. objects or states)
182
+ * @param pattern One or more patterns to subscribe to
183
+ * @param options Subscription options, or the callback if omitted
184
+ * @param cb Called once the subscription has been registered
185
+ */
168
186
  handleSubscribe(client, type, pattern, options, cb) {
169
187
  if (typeof options === 'function') {
170
188
  cb = options;
@@ -188,6 +206,14 @@ export class InMemoryFileDB {
188
206
  }
189
207
  typeof cb === 'function' && cb();
190
208
  }
209
+ /**
210
+ * Remove a client's subscription for the given pattern
211
+ *
212
+ * @param client The client whose subscription should be removed
213
+ * @param type The subscription type (e.g. objects or states)
214
+ * @param pattern One or more patterns to unsubscribe from
215
+ * @param cb Called once the subscription has been removed
216
+ */
191
217
  handleUnsubscribe(client, type, pattern, cb) {
192
218
  const s = client?._subscribe?.[type];
193
219
  if (s) {
@@ -208,9 +234,22 @@ export class InMemoryFileDB {
208
234
  }
209
235
  return tools.maybeCallback(cb);
210
236
  }
237
+ /**
238
+ * Publish a change to a single client. Must be implemented by a subclass that handles client communication.
239
+ *
240
+ * @param _client The client to publish to
241
+ * @param _type The change type (e.g. objects or states)
242
+ * @param _id The ID of the changed object or state
243
+ * @param _obj The new value of the object or state
244
+ */
211
245
  publishToClients(_client, _type, _id, _obj) {
212
246
  throw new Error('no communication handling implemented');
213
247
  }
248
+ /**
249
+ * Delete outdated backup files according to the configured retention settings
250
+ *
251
+ * @param baseFilename Base file name of the backups that should be pruned
252
+ */
214
253
  deleteOldBackupFiles(baseFilename) {
215
254
  // delete files only if settings.backupNumber is not 0
216
255
  let files = fs.readdirSync(this.backupDir);
@@ -234,6 +273,11 @@ export class InMemoryFileDB {
234
273
  }
235
274
  }
236
275
  }
276
+ /**
277
+ * Format a timestamp into a "YYYY-MM-DD_HH-MM-SS" string used for backup file names
278
+ *
279
+ * @param date Timestamp in milliseconds
280
+ */
237
281
  getTimeStr(date) {
238
282
  const dateObj = new Date(date);
239
283
  let text = `${dateObj.getFullYear().toString()}-`;
@@ -367,12 +411,25 @@ export class InMemoryFileDB {
367
411
  }
368
412
  }
369
413
  }
414
+ /**
415
+ * Get the current status of the database
416
+ */
370
417
  getStatus() {
371
418
  return { type: 'file', server: true };
372
419
  }
420
+ /**
421
+ * Get the currently connected clients. Subclasses override this to return the real clients.
422
+ */
373
423
  getClients() {
374
424
  return {};
375
425
  }
426
+ /**
427
+ * Publish a change to all connected clients and local subscribers
428
+ *
429
+ * @param type The change type (e.g. objects or states)
430
+ * @param id The ID of the changed object or state
431
+ * @param obj The new value of the object or state
432
+ */
376
433
  publishAll(type, id, obj) {
377
434
  if (id === undefined) {
378
435
  this.log.error(`${this.namespace} Can not publish empty ID`);
@@ -399,7 +456,9 @@ export class InMemoryFileDB {
399
456
  }
400
457
  return publishCount;
401
458
  }
402
- // Destructor of the class. Called by shutting down.
459
+ /**
460
+ * Destructor of the class. Called when shutting down to persist state and clear timers.
461
+ */
403
462
  async destroy() {
404
463
  if (this.stateTimer) {
405
464
  clearTimeout(this.stateTimer);
@@ -1 +1 @@
1
- {"version":3,"file":"inMemFileDB.js","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemFileDB.js","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/inMemFileDB.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[67,110,165,169],[67,110,165],[67,110,141,159,164],[67,110,165,166,167,168],[67,110],[67,110,191],[67,110,141,159],[67,110,123,159,160,161],[67,110,159],[67,110,196],[67,110,122,141,149,159],[67,110,123,152,159],[67,110,122,159],[67,107,110],[67,109,110],[110],[67,110,115,144],[67,110,111,116,122,123,130,141,152],[67,110,111,112,122,130],[62,63,64,67,110],[67,110,113,153],[67,110,114,115,123,131],[67,110,115,141,149],[67,110,116,118,122,130],[67,109,110,117],[67,110,118,119],[67,110,122],[67,110,120,122],[67,109,110,122],[67,110,122,123,124,141,152],[67,110,122,123,124,137,141,144],[67,105,110,157],[67,110,118,122,125,130,141,152],[67,110,122,123,125,126,130,141,149,152],[67,110,125,127,141,149,152],[65,66,67,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,122,128],[67,110,129,152,157],[67,110,118,122,130,141],[67,110,131],[67,110,132],[67,109,110,133],[67,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,135],[67,110,136],[67,110,122,137,138],[67,110,137,139,153,155],[67,110,122,141,142,143,144],[67,110,141,143],[67,110,141,142],[67,110,144],[67,110,145],[67,107,110,141],[67,110,122,147,148],[67,110,147,148],[67,110,115,130,141,149],[67,110,150],[67,110,130,151],[67,110,125,136,152],[67,110,115,153],[67,110,141,154],[67,110,129,155],[67,110,156],[67,110,115,122,124,133,141,152,155,157],[67,110,141,158],[67,110,122,151,159,208],[67,110,211,250],[67,110,211,235,250],[67,110,250],[67,110,211],[67,110,211,236,250],[67,110,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[67,110,236,250],[67,110,251],[67,110,123,141,158,159,253],[67,110,116,130,159,177,195],[67,110,256],[67,110,111,141,159],[67,110,175],[67,110,122,141,159],[67,110,111],[67,77,81,110,152],[67,77,110,141,152],[67,72,110],[67,74,77,110,149,152],[67,110,130,149],[67,72,110,159],[67,74,77,110,130,152],[67,69,70,73,76,110,122,141,152],[67,77,84,110],[67,69,75,110],[67,77,98,99,110],[67,73,77,110,144,152,159],[67,98,110,159],[67,71,72,110,159],[67,77,110],[67,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,110],[67,77,92,110],[67,77,84,85,110],[67,75,77,85,86,110],[67,76,110],[67,69,72,77,110],[67,77,81,85,86,110],[67,81,110],[67,75,77,80,110,152],[67,69,74,77,84,110],[67,110,141],[67,72,77,98,110,157,159],[67,110,141,159,176],[67,110,141,159,176,177,178,179],[67,110,125,159,177],[67,110,172,173,174,181,182,183,184],[67,110,180],[67,110,111,163,170,171],[67,110,185,186,188],[67,110,132,158,162,172,185],[67,110,122,130,172,187]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"c59ab0fda36f7cdc43ef1102659954735c80c6fb721ecc2bee0019db838d3d85","impliedFormat":1},{"version":"deeaf7b68c688b0a700bb8f3f175683263c8bb3a8d4932fc44d95d56402f4fca","impliedFormat":1},{"version":"4deacd1de0cc7b1ec1d7b97e1910a809b6e4742e9b3f62e70b0f8e5c60667058","impliedFormat":1},{"version":"132aac02cd3d0c950769ea248072647dfe8fbfb4441974fba85165ed700a872f","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"4fc0a98fcbe9b454937ab6fb0427519ffa0ace8eaa7f9daf3372f0ca0093ffcd","impliedFormat":99},{"version":"1d97ef8906b21669bb4600a3b9c9a670172142ab854ef7f93ee26f39f12d10e6","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"e67f962c7c3216ba02cc4563ff44063b36135e0fcdf92b11b0578228f6a007e4","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"65f1948d68440bf5caee2365014713e739945e04927fbb56c84549736b69ac53","impliedFormat":99},{"version":"fb88fab4d4b6d826ffb174c9829440655fd56a85596982675d47181b425869ad","impliedFormat":99},{"version":"e91edb63ea25dafbd0234231e1bd34948a43ea337b3de8eca1ed15f49620deeb","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"a623fb440e818cb1fb00c930df49fdbd0d4ff64f067f7df6d36bd5f23cc2799b","signature":"7d19f3777d50f0860736b2bb7e70c547164559312ded6d8b5af8b9618e1b2b90","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"bac5a7837c09b9817f57e3b46b1a206fd34f69e79dbd1a0040f85bb4c201e170","impliedFormat":99},{"version":"59675cd845eb32898bf53e8885260397cf22e6747850942897fdafad129c6201","signature":"b49941607b5a324776efa9bd3f548e75dc4285f9b6c2a23735875f6fa0d62a8d","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"ba24033c20bafd820c54353946afb1fbb2b1ff10d881dff3e9b4280646140113","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"e729ea1477029d2c5359a3e98b3a2f3d27c795a8bb57a0846b1e962a80f0febe","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[186,189]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"referencedMap":[[170,1],[166,2],[165,3],[167,2],[168,2],[169,4],[190,5],[192,6],[193,5],[194,7],[162,8],[195,9],[197,10],[198,11],[199,5],[160,12],[161,5],[200,9],[201,5],[202,5],[203,5],[191,5],[204,9],[205,13],[107,14],[108,14],[109,15],[67,16],[110,17],[111,18],[112,19],[62,5],[65,20],[63,5],[64,5],[113,21],[114,22],[115,23],[116,24],[117,25],[118,26],[119,26],[121,27],[120,28],[122,29],[123,30],[124,31],[106,32],[66,5],[125,33],[126,34],[127,35],[159,36],[128,37],[129,38],[130,39],[131,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,46],[139,47],[140,5],[141,48],[143,49],[142,50],[144,51],[145,52],[146,53],[147,54],[148,55],[149,56],[150,57],[151,58],[152,59],[153,60],[154,61],[155,62],[156,63],[157,64],[158,65],[206,5],[207,5],[209,66],[210,5],[208,5],[235,67],[236,68],[211,69],[214,69],[233,67],[234,67],[224,67],[223,70],[221,67],[216,67],[229,67],[227,67],[231,67],[215,67],[228,67],[232,67],[217,67],[218,67],[230,67],[212,67],[219,67],[220,67],[222,67],[226,67],[237,71],[225,67],[213,67],[250,72],[249,5],[244,71],[246,73],[245,71],[238,71],[239,71],[241,71],[243,71],[247,73],[248,73],[240,73],[242,73],[252,74],[251,5],[254,75],[175,5],[196,5],[255,76],[256,5],[257,77],[68,5],[164,78],[176,79],[253,80],[163,81],[60,5],[61,5],[12,5],[11,5],[2,5],[13,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[3,5],[21,5],[22,5],[4,5],[23,5],[27,5],[24,5],[25,5],[26,5],[28,5],[29,5],[30,5],[5,5],[31,5],[32,5],[33,5],[34,5],[6,5],[38,5],[35,5],[36,5],[37,5],[39,5],[7,5],[40,5],[45,5],[46,5],[41,5],[42,5],[43,5],[44,5],[8,5],[50,5],[47,5],[48,5],[49,5],[51,5],[9,5],[52,5],[53,5],[54,5],[56,5],[55,5],[57,5],[58,5],[10,5],[59,5],[1,5],[84,82],[94,83],[83,82],[104,84],[75,85],[74,86],[103,9],[97,87],[102,88],[77,89],[91,90],[76,91],[100,92],[72,93],[71,9],[101,94],[73,95],[78,96],[79,5],[82,96],[69,5],[105,97],[95,98],[86,99],[87,100],[89,101],[85,102],[88,103],[98,9],[80,104],[81,105],[90,106],[70,107],[93,98],[92,96],[96,5],[99,108],[177,109],[180,110],[178,9],[179,111],[185,112],[184,5],[173,5],[182,5],[181,113],[171,5],[174,5],[183,5],[172,114],[189,115],[187,5],[186,116],[188,117]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/inMemFileDB.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[67,110,165,169],[67,110,165],[67,110,141,159,164],[67,110,165,166,167,168],[67,110],[67,110,191],[67,110,141,159],[67,110,123,159,160,161],[67,110,159],[67,110,196],[67,110,122,141,149,159],[67,110,123,152,159],[67,110,122,159],[67,107,110],[67,109,110],[110],[67,110,115,144],[67,110,111,116,122,123,130,141,152],[67,110,111,112,122,130],[62,63,64,67,110],[67,110,113,153],[67,110,114,115,123,131],[67,110,115,141,149],[67,110,116,118,122,130],[67,109,110,117],[67,110,118,119],[67,110,122],[67,110,120,122],[67,109,110,122],[67,110,122,123,124,141,152],[67,110,122,123,124,137,141,144],[67,105,110,157],[67,110,118,122,125,130,141,152],[67,110,122,123,125,126,130,141,149,152],[67,110,125,127,141,149,152],[65,66,67,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,122,128],[67,110,129,152,157],[67,110,118,122,130,141],[67,110,131],[67,110,132],[67,109,110,133],[67,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,135],[67,110,136],[67,110,122,137,138],[67,110,137,139,153,155],[67,110,122,141,142,143,144],[67,110,141,143],[67,110,141,142],[67,110,144],[67,110,145],[67,107,110,141],[67,110,122,147,148],[67,110,147,148],[67,110,115,130,141,149],[67,110,150],[67,110,130,151],[67,110,125,136,152],[67,110,115,153],[67,110,141,154],[67,110,129,155],[67,110,156],[67,110,115,122,124,133,141,152,155,157],[67,110,141,158],[67,110,122,151,159,208],[67,110,211,250],[67,110,211,235,250],[67,110,250],[67,110,211],[67,110,211,236,250],[67,110,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[67,110,236,250],[67,110,251],[67,110,123,141,158,159,253],[67,110,116,130,159,177,195],[67,110,256],[67,110,111,141,159],[67,110,175],[67,110,122,141,159],[67,110,111],[67,77,81,110,152],[67,77,110,141,152],[67,72,110],[67,74,77,110,149,152],[67,110,130,149],[67,72,110,159],[67,74,77,110,130,152],[67,69,70,73,76,110,122,141,152],[67,77,84,110],[67,69,75,110],[67,77,98,99,110],[67,73,77,110,144,152,159],[67,98,110,159],[67,71,72,110,159],[67,77,110],[67,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,110],[67,77,92,110],[67,77,84,85,110],[67,75,77,85,86,110],[67,76,110],[67,69,72,77,110],[67,77,81,85,86,110],[67,81,110],[67,75,77,80,110,152],[67,69,74,77,84,110],[67,110,141],[67,72,77,98,110,157,159],[67,110,141,159,176],[67,110,141,159,176,177,178,179],[67,110,125,159,177],[67,110,172,173,174,181,182,183,184],[67,110,180],[67,110,111,163,170,171],[67,110,185,186,188],[67,110,132,158,162,172,185],[67,110,122,130,172,187]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"c59ab0fda36f7cdc43ef1102659954735c80c6fb721ecc2bee0019db838d3d85","impliedFormat":1},{"version":"deeaf7b68c688b0a700bb8f3f175683263c8bb3a8d4932fc44d95d56402f4fca","impliedFormat":1},{"version":"4deacd1de0cc7b1ec1d7b97e1910a809b6e4742e9b3f62e70b0f8e5c60667058","impliedFormat":1},{"version":"132aac02cd3d0c950769ea248072647dfe8fbfb4441974fba85165ed700a872f","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"4fc0a98fcbe9b454937ab6fb0427519ffa0ace8eaa7f9daf3372f0ca0093ffcd","impliedFormat":99},{"version":"4708a0d430b06be3b8a1c2acd9238255ce9604c706c9b168ce9cd7233e843978","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"8e2b2b72446a7aa3c2d92384f6c45ac60a959b43c57b44c4d8ef4f8bd0fcd2fe","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"b39f06393a3fd3164a1b5769c90de0bb28166d12a4a2780738e9078a34d08308","impliedFormat":99},{"version":"65f1948d68440bf5caee2365014713e739945e04927fbb56c84549736b69ac53","impliedFormat":99},{"version":"fb88fab4d4b6d826ffb174c9829440655fd56a85596982675d47181b425869ad","impliedFormat":99},{"version":"e91edb63ea25dafbd0234231e1bd34948a43ea337b3de8eca1ed15f49620deeb","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"1fa0a229548665d4a9b45e148054a3a1eb4459a71ef56cfbc7dad17f003385c9","signature":"34b3cc09772ccef6a8b12f45289af936a208ae2388cda77a9bb4b33d50284a88","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"bac5a7837c09b9817f57e3b46b1a206fd34f69e79dbd1a0040f85bb4c201e170","impliedFormat":99},{"version":"59675cd845eb32898bf53e8885260397cf22e6747850942897fdafad129c6201","signature":"b49941607b5a324776efa9bd3f548e75dc4285f9b6c2a23735875f6fa0d62a8d","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"ba24033c20bafd820c54353946afb1fbb2b1ff10d881dff3e9b4280646140113","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"e729ea1477029d2c5359a3e98b3a2f3d27c795a8bb57a0846b1e962a80f0febe","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[186,189]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"referencedMap":[[170,1],[166,2],[165,3],[167,2],[168,2],[169,4],[190,5],[192,6],[193,5],[194,7],[162,8],[195,9],[197,10],[198,11],[199,5],[160,12],[161,5],[200,9],[201,5],[202,5],[203,5],[191,5],[204,9],[205,13],[107,14],[108,14],[109,15],[67,16],[110,17],[111,18],[112,19],[62,5],[65,20],[63,5],[64,5],[113,21],[114,22],[115,23],[116,24],[117,25],[118,26],[119,26],[121,27],[120,28],[122,29],[123,30],[124,31],[106,32],[66,5],[125,33],[126,34],[127,35],[159,36],[128,37],[129,38],[130,39],[131,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,46],[139,47],[140,5],[141,48],[143,49],[142,50],[144,51],[145,52],[146,53],[147,54],[148,55],[149,56],[150,57],[151,58],[152,59],[153,60],[154,61],[155,62],[156,63],[157,64],[158,65],[206,5],[207,5],[209,66],[210,5],[208,5],[235,67],[236,68],[211,69],[214,69],[233,67],[234,67],[224,67],[223,70],[221,67],[216,67],[229,67],[227,67],[231,67],[215,67],[228,67],[232,67],[217,67],[218,67],[230,67],[212,67],[219,67],[220,67],[222,67],[226,67],[237,71],[225,67],[213,67],[250,72],[249,5],[244,71],[246,73],[245,71],[238,71],[239,71],[241,71],[243,71],[247,73],[248,73],[240,73],[242,73],[252,74],[251,5],[254,75],[175,5],[196,5],[255,76],[256,5],[257,77],[68,5],[164,78],[176,79],[253,80],[163,81],[60,5],[61,5],[12,5],[11,5],[2,5],[13,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[3,5],[21,5],[22,5],[4,5],[23,5],[27,5],[24,5],[25,5],[26,5],[28,5],[29,5],[30,5],[5,5],[31,5],[32,5],[33,5],[34,5],[6,5],[38,5],[35,5],[36,5],[37,5],[39,5],[7,5],[40,5],[45,5],[46,5],[41,5],[42,5],[43,5],[44,5],[8,5],[50,5],[47,5],[48,5],[49,5],[51,5],[9,5],[52,5],[53,5],[54,5],[56,5],[55,5],[57,5],[58,5],[10,5],[59,5],[1,5],[84,82],[94,83],[83,82],[104,84],[75,85],[74,86],[103,9],[97,87],[102,88],[77,89],[91,90],[76,91],[100,92],[72,93],[71,9],[101,94],[73,95],[78,96],[79,5],[82,96],[69,5],[105,97],[95,98],[86,99],[87,100],[89,101],[85,102],[88,103],[98,9],[80,104],[81,105],[90,106],[70,107],[93,98],[92,96],[96,5],[99,108],[177,109],[180,110],[178,9],[179,111],[185,112],[184,5],[173,5],[182,5],[181,113],[171,5],[174,5],[183,5],[172,114],[189,115],[187,5],[186,116],[188,117]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.9.3"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@iobroker/db-base",
3
3
  "type": "module",
4
- "version": "7.2.2",
4
+ "version": "7.2.3-alpha.1-20260621-61726ea22",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
7
7
  },
8
8
  "dependencies": {
9
- "@iobroker/js-controller-common-db": "7.2.2",
9
+ "@iobroker/js-controller-common-db": "7.2.3-alpha.1-20260621-61726ea22",
10
10
  "deep-clone": "^3.0.3",
11
11
  "fs-extra": "^11.3.2",
12
12
  "respjs": "^4.2.0"
@@ -53,5 +53,5 @@
53
53
  "files": [
54
54
  "build/"
55
55
  ],
56
- "gitHead": "a4a6e05f3e5f71205de0d1b1215baf33600aef9e"
56
+ "gitHead": "9be1a50a5669f452c650d7905035675e5fae207d"
57
57
  }