@umbraco/playwright-testhelpers 2.0.0-beta.79 → 2.0.0-beta.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/ApiHelpers.d.ts +3 -0
- package/dist/lib/helpers/ApiHelpers.js +45 -10
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/LoginApiHelper.d.ts +15 -0
- package/dist/lib/helpers/LoginApiHelper.js +85 -0
- package/dist/lib/helpers/LoginApiHelper.js.map +1 -0
- package/dist/lib/helpers/testExtension.js +1 -4
- package/dist/lib/helpers/testExtension.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,7 @@ import { MemberGroupApiHelper } from './MemberGroupApiHelper';
|
|
|
29
29
|
import { MemberApiHelper } from './MemberApiHelper';
|
|
30
30
|
import { MemberTypeApiHelper } from "./MemberTypeApiHelper";
|
|
31
31
|
import { DocumentBlueprintApiHelper } from "./DocumentBlueprintApiHelper";
|
|
32
|
+
import { LoginApiHelper } from "./LoginApiHelper";
|
|
32
33
|
export declare class ApiHelpers {
|
|
33
34
|
baseUrl: string;
|
|
34
35
|
page: Page;
|
|
@@ -62,6 +63,7 @@ export declare class ApiHelpers {
|
|
|
62
63
|
member: MemberApiHelper;
|
|
63
64
|
memberType: MemberTypeApiHelper;
|
|
64
65
|
documentBlueprint: DocumentBlueprintApiHelper;
|
|
66
|
+
login: LoginApiHelper;
|
|
65
67
|
constructor(page: Page);
|
|
66
68
|
getBearerToken(): Promise<string>;
|
|
67
69
|
getCookie(): Promise<string>;
|
|
@@ -85,4 +87,5 @@ export declare class ApiHelpers {
|
|
|
85
87
|
private dateToEpoch;
|
|
86
88
|
refreshAccessToken(): Promise<void>;
|
|
87
89
|
private updateLocalStorage;
|
|
90
|
+
private updateCookie;
|
|
88
91
|
}
|
|
@@ -33,6 +33,7 @@ const MemberGroupApiHelper_1 = require("./MemberGroupApiHelper");
|
|
|
33
33
|
const MemberApiHelper_1 = require("./MemberApiHelper");
|
|
34
34
|
const MemberTypeApiHelper_1 = require("./MemberTypeApiHelper");
|
|
35
35
|
const DocumentBlueprintApiHelper_1 = require("./DocumentBlueprintApiHelper");
|
|
36
|
+
const LoginApiHelper_1 = require("./LoginApiHelper");
|
|
36
37
|
class ApiHelpers {
|
|
37
38
|
baseUrl = umbraco_config_1.umbracoConfig.environment.baseUrl;
|
|
38
39
|
page;
|
|
@@ -66,6 +67,7 @@ class ApiHelpers {
|
|
|
66
67
|
member;
|
|
67
68
|
memberType;
|
|
68
69
|
documentBlueprint;
|
|
70
|
+
login;
|
|
69
71
|
constructor(page) {
|
|
70
72
|
this.page = page;
|
|
71
73
|
this.alias = new AliasHelper_1.AliasHelper();
|
|
@@ -98,6 +100,7 @@ class ApiHelpers {
|
|
|
98
100
|
this.member = new MemberApiHelper_1.MemberApiHelper(this);
|
|
99
101
|
this.memberType = new MemberTypeApiHelper_1.MemberTypeApiHelper(this);
|
|
100
102
|
this.documentBlueprint = new DocumentBlueprintApiHelper_1.DocumentBlueprintApiHelper(this);
|
|
103
|
+
this.login = new LoginApiHelper_1.LoginApiHelper(this, this.page);
|
|
101
104
|
}
|
|
102
105
|
async getBearerToken() {
|
|
103
106
|
let someStorage = await this.page.context().storageState();
|
|
@@ -192,7 +195,8 @@ class ApiHelpers {
|
|
|
192
195
|
// Should use a global value
|
|
193
196
|
const globalTestTimeout = 40;
|
|
194
197
|
// We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.
|
|
195
|
-
|
|
198
|
+
// The refresh token lasts for 300 seconds, while the access token lasts for 60 seconds (NOT TOTALLY SURE) this is why we add 240 seconds
|
|
199
|
+
const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - (globalTestTimeout + 240);
|
|
196
200
|
// We need the currentTimeInEpoch so we can check if the tokenRefreshTime is close to expiring.
|
|
197
201
|
const currentTimeInEpoch = await this.currentDateToEpoch();
|
|
198
202
|
if (tokenRefreshTime <= currentTimeInEpoch) {
|
|
@@ -219,26 +223,27 @@ class ApiHelpers {
|
|
|
219
223
|
form: {
|
|
220
224
|
grant_type: 'refresh_token',
|
|
221
225
|
client_id: 'umbraco-back-office',
|
|
222
|
-
redirect_uri: umbraco_config_1.umbracoConfig.environment.baseUrl + '/umbraco',
|
|
226
|
+
redirect_uri: umbraco_config_1.umbracoConfig.environment.baseUrl + '/umbraco/oauth_complete',
|
|
223
227
|
refresh_token: await this.getRefreshToken()
|
|
224
228
|
}
|
|
225
229
|
});
|
|
226
|
-
// TODO: If response code is not correct we should throw an error
|
|
227
|
-
const newIssuedTime = await this.currentDateToEpoch();
|
|
228
|
-
const jsonStorageValue = await response.json();
|
|
229
|
-
// We need to define a new issued_at time.
|
|
230
|
-
jsonStorageValue.issued_at = newIssuedTime;
|
|
231
230
|
if (response.status() === 200) {
|
|
231
|
+
const jsonStorageValue = await response.json();
|
|
232
232
|
return this.updateLocalStorage(jsonStorageValue);
|
|
233
233
|
}
|
|
234
234
|
console.log('Error refreshing access token.');
|
|
235
|
+
console.log('Attempting login...');
|
|
236
|
+
const storageStateValues = await this.login.login();
|
|
237
|
+
await this.updateCookie(storageStateValues.cookie);
|
|
238
|
+
await this.updateLocalStorage(storageStateValues.token);
|
|
235
239
|
}
|
|
236
240
|
async updateLocalStorage(localStorageValue) {
|
|
237
241
|
const currentStorageState = await this.page.context().storageState();
|
|
238
242
|
let currentLocalStorageValue = JSON.parse(currentStorageState.origins[0].localStorage[0].value);
|
|
243
|
+
const newIssuedTime = await this.currentDateToEpoch();
|
|
239
244
|
currentLocalStorageValue.access_token = localStorageValue.access_token;
|
|
240
245
|
currentLocalStorageValue.refresh_token = localStorageValue.refresh_token;
|
|
241
|
-
currentLocalStorageValue.issued_at =
|
|
246
|
+
currentLocalStorageValue.issued_at = newIssuedTime;
|
|
242
247
|
currentLocalStorageValue.expires_in = localStorageValue.expires_in.toString();
|
|
243
248
|
const filePath = process.env.STORAGE_STAGE_PATH;
|
|
244
249
|
// Updates the user.json file in our CMS project
|
|
@@ -254,10 +259,40 @@ class ApiHelpers {
|
|
|
254
259
|
const updatedJsonString = JSON.stringify(data, null, 2);
|
|
255
260
|
// Writes the updated JSON content to the file
|
|
256
261
|
fs.writeFileSync(filePath, updatedJsonString, 'utf-8');
|
|
257
|
-
// console.log('Access token updated successfully.');
|
|
258
262
|
}
|
|
259
263
|
catch (error) {
|
|
260
|
-
console.error('Error updating
|
|
264
|
+
console.error('Error updating token:', error);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async updateCookie(cookieString) {
|
|
269
|
+
const currentStorageState = await this.page.context().storageState();
|
|
270
|
+
let currentCookie = currentStorageState.cookies[0];
|
|
271
|
+
const parts = cookieString.split(';').map(part => part.trim());
|
|
272
|
+
// Extract the main key-value pair
|
|
273
|
+
const [nameValue, ...attributes] = parts;
|
|
274
|
+
const [, value] = nameValue.split('=');
|
|
275
|
+
// Updates the cookie value
|
|
276
|
+
currentCookie.value = value;
|
|
277
|
+
// Process each attribute
|
|
278
|
+
for (const attr of attributes) {
|
|
279
|
+
const [key, val] = attr.split('=');
|
|
280
|
+
if (key.trim().toLowerCase() === 'expires') {
|
|
281
|
+
// Updates the expires value and converts it to Epoch
|
|
282
|
+
currentCookie.expires = await this.dateToEpoch(new Date(val));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
const filePath = process.env.STORAGE_STAGE_PATH;
|
|
286
|
+
if (filePath) {
|
|
287
|
+
try {
|
|
288
|
+
const jsonString = fs.readFileSync(filePath, 'utf-8');
|
|
289
|
+
const data = JSON.parse(jsonString);
|
|
290
|
+
data.cookies[0] = currentCookie;
|
|
291
|
+
const updatedJsonString = JSON.stringify(data, null, 2);
|
|
292
|
+
fs.writeFileSync(filePath, updatedJsonString, 'utf-8');
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
console.error('Error updating cookie:', error);
|
|
261
296
|
}
|
|
262
297
|
}
|
|
263
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ReportHelper} from \"./ReportHelper\";\nimport {TelemetryDataApiHelper} from \"./TelemetryDataApiHelper\";\nimport {LanguageApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {TemplateApiHelper} from \"./TemplateApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {DataTypeApiHelper} from \"./DataTypeApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {TemporaryFileApiHelper} from \"./TemporaryFileApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {ObjectTypesApiHelper} from \"./ObjectTypesApiHelper\";\nimport {ModelsBuilderApiHelper} from \"./ModelsBuilderApiHelper\";\nimport {HealthCheckApiHelper} from \"./HealthCheckApiHelper\";\nimport {IndexerApiHelper} from \"./IndexerApiHelper\";\nimport {PublishedCacheApiHelper} from \"./PublishedCacheApiHelper\";\nimport {RedirectManagementApiHelper} from './RedirectManagementApiHelper';\nimport {MemberGroupApiHelper} from './MemberGroupApiHelper';\nimport {MemberApiHelper} from './MemberApiHelper';\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DocumentBlueprintApiHelper} from \"./DocumentBlueprintApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguageApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n documentType: DocumentTypeApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n mediaType: MediaTypeApiHelper;\n media: MediaApiHelper;\n objectTypes: ObjectTypesApiHelper;\n modelsBuilder: ModelsBuilderApiHelper;\n healthCheck: HealthCheckApiHelper;\n indexer: IndexerApiHelper;\n publishedCache: PublishedCacheApiHelper;\n redirectManagement: RedirectManagementApiHelper;\n memberGroup: MemberGroupApiHelper;\n member: MemberApiHelper;\n memberType: MemberTypeApiHelper;\n documentBlueprint: DocumentBlueprintApiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.alias = new AliasHelper();\n this.report = new ReportHelper(this);\n this.telemetry = new TelemetryDataApiHelper(this);\n this.language = new LanguageApiHelper(this);\n this.dictionary = new DictionaryApiHelper(this);\n this.relationType = new RelationTypeApiHelper(this);\n this.userGroup = new UserGroupApiHelper(this);\n this.template = new TemplateApiHelper(this);\n this.dataType = new DataTypeApiHelper(this);\n this.user = new UserApiHelper(this);\n this.temporaryFile = new TemporaryFileApiHelper(this);\n this.documentType = new DocumentTypeApiHelper(this);\n this.document = new DocumentApiHelper(this);\n this.package = new PackageApiHelper(this);\n this.script = new ScriptApiHelper(this);\n this.partialView = new PartialViewApiHelper(this);\n this.stylesheet = new StylesheetApiHelper(this);\n this.logViewer = new LogViewerApiHelper(this);\n this.mediaType = new MediaTypeApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.objectTypes = new ObjectTypesApiHelper(this);\n this.modelsBuilder = new ModelsBuilderApiHelper(this);\n this.healthCheck = new HealthCheckApiHelper(this);\n this.indexer = new IndexerApiHelper(this);\n this.publishedCache = new PublishedCacheApiHelper(this);\n this.redirectManagement = new RedirectManagementApiHelper(this);\n this.memberGroup = new MemberGroupApiHelper(this);\n this.member = new MemberApiHelper(this);\n this.memberType = new MemberTypeApiHelper(this);\n this.documentBlueprint = new DocumentBlueprintApiHelper(this);\n }\n\n async getBearerToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return 'Bearer ' + someObject.access_token;\n }\n\n async getCookie() {\n let someStorage = await this.page.context().storageState();\n let cookieString = \"\";\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\n }\n return cookieString;\n }\n\n async getHeaders() {\n return {\n 'Authorization': await this.getBearerToken(),\n 'Cookie': await this.getCookie(),\n }\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: await this.getHeaders(),\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n\n async saveCodeFile(codeFile) {\n if (codeFile == null) {\n return;\n }\n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile);\n }\n\n async post(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async delete(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.delete(url, options);\n }\n\n async put(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.put(url, options);\n }\n\n async postMultiPartForm(url: string, id, name: string, mimeType: string, filePath) {\n const options = {\n headers: await this.getHeaders(),\n multipart: {\n Id: id,\n File: {\n name: name,\n mimeType: mimeType,\n buffer: fs.readFileSync(filePath)\n }\n },\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n private async getTokenIssuedTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.issued_at);\n }\n\n private async getTokenExpireTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.expires_in);\n }\n\n private async getRefreshToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return someObject.refresh_token;\n }\n\n async isAccessTokenValid() {\n const tokenTimeIssued = await this.getTokenIssuedTime();\n const tokenExpireTime = await this.getTokenExpireTime();\n // Should use a global value\n const globalTestTimeout: number = 40;\n // We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.\n const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - globalTestTimeout;\n // We need the currentTimeInEpoch so we can check if the tokenRefreshTime is close to expiring.\n const currentTimeInEpoch = await this.currentDateToEpoch();\n\n if (tokenRefreshTime <= currentTimeInEpoch) {\n return await this.refreshAccessToken();\n }\n }\n\n private async currentDateToEpoch() {\n const currentTime = new Date(Date.now());\n return this.dateToEpoch(currentTime);\n }\n\n private async dateToEpoch(date: Date) {\n const dateToEpoch = date.getTime();\n // The epoch is in milliseconds, but we want it to be in seconds(Like it is in the token).\n const millisecondsToSeconds = dateToEpoch / 1000;\n // There is no need to have anything after .\n return Number(millisecondsToSeconds.toString().split('.')[0]);\n }\n\n async refreshAccessToken() {\n const response = await this.page.context().request.post(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Cookie: await this.getCookie()\n },\n form:\n {\n grant_type: 'refresh_token',\n client_id: 'umbraco-back-office',\n redirect_uri: umbracoConfig.environment.baseUrl + '/umbraco',\n refresh_token: await this.getRefreshToken()\n }\n });\n\n // TODO: If response code is not correct we should throw an error\n\n const newIssuedTime = await this.currentDateToEpoch();\n const jsonStorageValue = await response.json();\n // We need to define a new issued_at time.\n jsonStorageValue.issued_at = newIssuedTime;\n\n if (response.status() === 200) {\n return this.updateLocalStorage(jsonStorageValue);\n }\n console.log('Error refreshing access token.')\n }\n\n private async updateLocalStorage(localStorageValue) {\n const currentStorageState = await this.page.context().storageState();\n let currentLocalStorageValue = JSON.parse(currentStorageState.origins[0].localStorage[0].value);\n\n currentLocalStorageValue.access_token = localStorageValue.access_token;\n currentLocalStorageValue.refresh_token = localStorageValue.refresh_token;\n currentLocalStorageValue.issued_at = localStorageValue.issued_at;\n currentLocalStorageValue.expires_in = localStorageValue.expires_in.toString();\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n // Updates the user.json file in our CMS project\n if (filePath) {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n\n try {\n const data = JSON.parse(jsonString);\n const localStorage = data.origins[0].localStorage[0];\n if (localStorage.name === 'umb:userAuthTokenResponse') {\n localStorage.value = JSON.stringify(currentLocalStorageValue);\n }\n\n // Converts the object to JSON string\n const updatedJsonString = JSON.stringify(data, null, 2);\n\n // Writes the updated JSON content to the file\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n\n // console.log('Access token updated successfully.');\n } catch (error) {\n console.error('Error updating access token:', error);\n }\n }\n }\n\n // TODO: Maybe we need to do the same for the cookie? As the cookie expires after some time as well\n}"]}
|
|
1
|
+
{"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AACnD,iDAA4C;AAC5C,qEAAgE;AAChE,2DAAsD;AACtD,+DAA0D;AAC1D,mEAA8D;AAC9D,6DAAwD;AACxD,2DAAsD;AACtD,+CAA0C;AAC1C,2DAAsD;AACtD,mDAA8C;AAC9C,qEAAgE;AAChE,yDAAoD;AACpD,uDAAkD;AAClD,iEAA4D;AAC5D,+DAA0D;AAC1D,yBAAyB;AACzB,6DAAwD;AACxD,mEAA8D;AAC9D,2DAAsD;AACtD,6DAAwD;AACxD,qDAAgD;AAChD,iEAA4D;AAC5D,qEAAgE;AAChE,iEAA4D;AAC5D,yDAAoD;AACpD,uEAAkE;AAClE,+EAA0E;AAC1E,iEAA4D;AAC5D,uDAAkD;AAClD,+DAA0D;AAC1D,6EAAwE;AACxE,qDAAgD;AAEhD,MAAa,UAAU;IACrB,OAAO,GAAW,8BAAa,CAAC,WAAW,CAAC,OAAO,CAAC;IACpD,IAAI,CAAO;IACX,KAAK,CAAc;IACnB,MAAM,CAAe;IACrB,SAAS,CAAyB;IAClC,QAAQ,CAAoB;IAC5B,UAAU,CAAsB;IAChC,YAAY,CAAwB;IACpC,SAAS,CAAqB;IAC9B,QAAQ,CAAoB;IAC5B,QAAQ,CAAoB;IAC5B,IAAI,CAAgB;IACpB,aAAa,CAAyB;IACtC,YAAY,CAAwB;IACpC,QAAQ,CAAoB;IAC5B,OAAO,CAAmB;IAC1B,MAAM,CAAkB;IACxB,WAAW,CAAuB;IAClC,UAAU,CAAsB;IAChC,SAAS,CAAqB;IAC9B,SAAS,CAAqB;IAC9B,KAAK,CAAiB;IACtB,WAAW,CAAuB;IAClC,aAAa,CAAyB;IACtC,WAAW,CAAuB;IAClC,OAAO,CAAmB;IAC1B,cAAc,CAA0B;IACxC,kBAAkB,CAA8B;IAChD,WAAW,CAAuB;IAClC,MAAM,CAAkB;IACxB,UAAU,CAAsB;IAChC,iBAAiB,CAA6B;IAC9C,KAAK,CAAiB;IAEtB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,yDAA2B,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,+BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YACtC,YAAY,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SACxD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;YACL,eAAe,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE;YAC5C,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;SACjC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAsD;QAC3E,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAQ;QACzB,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO;SACR;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,8BAAa,CAAC,WAAW,CAAC,OAAO,GAAG,kDAAkD,EAAE,QAAQ,CAAC,CAAC;IAC3H,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAa;QACnC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,IAAa;QACrC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAa;QAClC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,EAAE,EAAE,IAAY,EAAE,QAAgB,EAAE,QAAQ;QAC/E,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAChC,SAAS,EAAE;gBACT,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAClC;aACF;YACD,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,4BAA4B;QAC5B,MAAM,iBAAiB,GAAW,EAAE,CAAC;QACrC,iIAAiI;QACjI,yIAAyI;QACzI,MAAM,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QACvF,+FAA+F;QAC/F,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3D,IAAI,gBAAgB,IAAI,kBAAkB,EAAE;YAC1C,OAAO,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACxC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,0FAA0F;QAC1F,MAAM,qBAAqB,GAAG,WAAW,GAAG,IAAI,CAAC;QACjD,4CAA4C;QAC5C,OAAO,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,8BAAa,CAAC,WAAW,CAAC,OAAO,GAAG,uDAAuD,EAAE;YACnJ,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;aAC/B;YACD,IAAI,EACF;gBACE,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,qBAAqB;gBAChC,YAAY,EAAE,8BAAa,CAAC,WAAW,CAAC,OAAO,GAAG,yBAAyB;gBAC3E,aAAa,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE;aAC5C;SACJ,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE;YAC7B,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;SAClD;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,iBAAiB;QAChD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QACrE,IAAI,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEtD,wBAAwB,CAAC,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACvE,wBAAwB,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;QACzE,wBAAwB,CAAC,SAAS,GAAG,aAAa,CAAC;QACnD,wBAAwB,CAAC,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE9E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAChD,gDAAgD;QAChD,IAAI,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,YAAY,CAAC,IAAI,KAAK,2BAA2B,EAAE;oBACrD,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;iBAC/D;gBAED,qCAAqC;gBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,8CAA8C;gBAC9C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;aACxD;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC7C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;QACrE,IAAI,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,kCAAkC;QAClC,MAAM,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC;QACzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,2BAA2B;QAC3B,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;gBAC1C,qDAAqD;gBACrD,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;SACF;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAEhD,IAAI,QAAQ,EAAE;YACZ,IAAI;gBACF,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;gBAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;aACxD;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;aAChD;SACF;IACH,CAAC;CACF;AAjSD,gCAiSC","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ReportHelper} from \"./ReportHelper\";\nimport {TelemetryDataApiHelper} from \"./TelemetryDataApiHelper\";\nimport {LanguageApiHelper} from \"./LanguageApiHelper\";\nimport {DictionaryApiHelper} from \"./DictionaryApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {TemplateApiHelper} from \"./TemplateApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {DataTypeApiHelper} from \"./DataTypeApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {TemporaryFileApiHelper} from \"./TemporaryFileApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport * as fs from \"fs\";\nimport {LogViewerApiHelper} from \"./LogViewerApiHelper\";\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {DocumentApiHelper} from \"./DocumentApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {ObjectTypesApiHelper} from \"./ObjectTypesApiHelper\";\nimport {ModelsBuilderApiHelper} from \"./ModelsBuilderApiHelper\";\nimport {HealthCheckApiHelper} from \"./HealthCheckApiHelper\";\nimport {IndexerApiHelper} from \"./IndexerApiHelper\";\nimport {PublishedCacheApiHelper} from \"./PublishedCacheApiHelper\";\nimport {RedirectManagementApiHelper} from './RedirectManagementApiHelper';\nimport {MemberGroupApiHelper} from './MemberGroupApiHelper';\nimport {MemberApiHelper} from './MemberApiHelper';\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DocumentBlueprintApiHelper} from \"./DocumentBlueprintApiHelper\";\nimport {LoginApiHelper} from \"./LoginApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n page: Page;\n alias: AliasHelper;\n report: ReportHelper;\n telemetry: TelemetryDataApiHelper;\n language: LanguageApiHelper;\n dictionary: DictionaryApiHelper;\n relationType: RelationTypeApiHelper;\n userGroup: UserGroupApiHelper;\n template: TemplateApiHelper;\n dataType: DataTypeApiHelper;\n user: UserApiHelper;\n temporaryFile: TemporaryFileApiHelper;\n documentType: DocumentTypeApiHelper;\n document: DocumentApiHelper;\n package: PackageApiHelper;\n script: ScriptApiHelper;\n partialView: PartialViewApiHelper;\n stylesheet: StylesheetApiHelper;\n logViewer: LogViewerApiHelper;\n mediaType: MediaTypeApiHelper;\n media: MediaApiHelper;\n objectTypes: ObjectTypesApiHelper;\n modelsBuilder: ModelsBuilderApiHelper;\n healthCheck: HealthCheckApiHelper;\n indexer: IndexerApiHelper;\n publishedCache: PublishedCacheApiHelper;\n redirectManagement: RedirectManagementApiHelper;\n memberGroup: MemberGroupApiHelper;\n member: MemberApiHelper;\n memberType: MemberTypeApiHelper;\n documentBlueprint: DocumentBlueprintApiHelper;\n login: LoginApiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.alias = new AliasHelper();\n this.report = new ReportHelper(this);\n this.telemetry = new TelemetryDataApiHelper(this);\n this.language = new LanguageApiHelper(this);\n this.dictionary = new DictionaryApiHelper(this);\n this.relationType = new RelationTypeApiHelper(this);\n this.userGroup = new UserGroupApiHelper(this);\n this.template = new TemplateApiHelper(this);\n this.dataType = new DataTypeApiHelper(this);\n this.user = new UserApiHelper(this);\n this.temporaryFile = new TemporaryFileApiHelper(this);\n this.documentType = new DocumentTypeApiHelper(this);\n this.document = new DocumentApiHelper(this);\n this.package = new PackageApiHelper(this);\n this.script = new ScriptApiHelper(this);\n this.partialView = new PartialViewApiHelper(this);\n this.stylesheet = new StylesheetApiHelper(this);\n this.logViewer = new LogViewerApiHelper(this);\n this.mediaType = new MediaTypeApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.objectTypes = new ObjectTypesApiHelper(this);\n this.modelsBuilder = new ModelsBuilderApiHelper(this);\n this.healthCheck = new HealthCheckApiHelper(this);\n this.indexer = new IndexerApiHelper(this);\n this.publishedCache = new PublishedCacheApiHelper(this);\n this.redirectManagement = new RedirectManagementApiHelper(this);\n this.memberGroup = new MemberGroupApiHelper(this);\n this.member = new MemberApiHelper(this);\n this.memberType = new MemberTypeApiHelper(this);\n this.documentBlueprint = new DocumentBlueprintApiHelper(this);\n this.login = new LoginApiHelper(this, this.page);\n }\n\n async getBearerToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return 'Bearer ' + someObject.access_token;\n }\n\n async getCookie() {\n let someStorage = await this.page.context().storageState();\n let cookieString = \"\";\n for (let cookie of someStorage.cookies) {\n cookieString += cookie.name + '=' + cookie.value + ';';\n }\n return cookieString;\n }\n\n async getHeaders() {\n return {\n 'Authorization': await this.getBearerToken(),\n 'Cookie': await this.getCookie(),\n }\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const options = {\n headers: await this.getHeaders(),\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n\n async saveCodeFile(codeFile) {\n if (codeFile == null) {\n return;\n }\n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile);\n }\n\n async post(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async delete(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.delete(url, options);\n }\n\n async put(url: string, data?: object) {\n const options = {\n headers: await this.getHeaders(),\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.put(url, options);\n }\n\n async postMultiPartForm(url: string, id, name: string, mimeType: string, filePath) {\n const options = {\n headers: await this.getHeaders(),\n multipart: {\n Id: id,\n File: {\n name: name,\n mimeType: mimeType,\n buffer: fs.readFileSync(filePath)\n }\n },\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n private async getTokenIssuedTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.issued_at);\n }\n\n private async getTokenExpireTime() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return Number(someObject.expires_in);\n }\n\n private async getRefreshToken() {\n let someStorage = await this.page.context().storageState();\n let someObject = JSON.parse(someStorage.origins[0].localStorage[0].value);\n return someObject.refresh_token;\n }\n\n async isAccessTokenValid() {\n const tokenTimeIssued = await this.getTokenIssuedTime();\n const tokenExpireTime = await this.getTokenExpireTime();\n // Should use a global value\n const globalTestTimeout: number = 40;\n // We want to have the date minus the globalTimeout, the reason for this is that while a test is running, the token could expire.\n // The refresh token lasts for 300 seconds, while the access token lasts for 60 seconds (NOT TOTALLY SURE) this is why we add 240 seconds\n const tokenRefreshTime = tokenTimeIssued + tokenExpireTime - (globalTestTimeout + 240);\n // We need the currentTimeInEpoch so we can check if the tokenRefreshTime is close to expiring.\n const currentTimeInEpoch = await this.currentDateToEpoch();\n\n if (tokenRefreshTime <= currentTimeInEpoch) {\n return await this.refreshAccessToken();\n }\n }\n\n private async currentDateToEpoch() {\n const currentTime = new Date(Date.now());\n return this.dateToEpoch(currentTime);\n }\n\n private async dateToEpoch(date: Date) {\n const dateToEpoch = date.getTime();\n // The epoch is in milliseconds, but we want it to be in seconds(Like it is in the token).\n const millisecondsToSeconds = dateToEpoch / 1000;\n // There is no need to have anything after .\n return Number(millisecondsToSeconds.toString().split('.')[0]);\n }\n\n async refreshAccessToken() {\n const response = await this.page.context().request.post(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Cookie: await this.getCookie()\n },\n form:\n {\n grant_type: 'refresh_token',\n client_id: 'umbraco-back-office',\n redirect_uri: umbracoConfig.environment.baseUrl + '/umbraco/oauth_complete',\n refresh_token: await this.getRefreshToken()\n }\n });\n\n if (response.status() === 200) {\n const jsonStorageValue = await response.json();\n return this.updateLocalStorage(jsonStorageValue);\n }\n\n console.log('Error refreshing access token.');\n console.log('Attempting login...');\n const storageStateValues = await this.login.login();\n await this.updateCookie(storageStateValues.cookie);\n await this.updateLocalStorage(storageStateValues.token);\n }\n\n private async updateLocalStorage(localStorageValue) {\n const currentStorageState = await this.page.context().storageState();\n let currentLocalStorageValue = JSON.parse(currentStorageState.origins[0].localStorage[0].value);\n const newIssuedTime = await this.currentDateToEpoch();\n\n currentLocalStorageValue.access_token = localStorageValue.access_token;\n currentLocalStorageValue.refresh_token = localStorageValue.refresh_token;\n currentLocalStorageValue.issued_at = newIssuedTime;\n currentLocalStorageValue.expires_in = localStorageValue.expires_in.toString();\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n // Updates the user.json file in our CMS project\n if (filePath) {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n try {\n const data = JSON.parse(jsonString);\n const localStorage = data.origins[0].localStorage[0];\n if (localStorage.name === 'umb:userAuthTokenResponse') {\n localStorage.value = JSON.stringify(currentLocalStorageValue);\n }\n\n // Converts the object to JSON string\n const updatedJsonString = JSON.stringify(data, null, 2);\n // Writes the updated JSON content to the file\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating token:', error);\n }\n }\n }\n\n private async updateCookie(cookieString: string) {\n const currentStorageState = await this.page.context().storageState();\n let currentCookie = currentStorageState.cookies[0];\n\n const parts = cookieString.split(';').map(part => part.trim());\n // Extract the main key-value pair\n const [nameValue, ...attributes] = parts;\n const [, value] = nameValue.split('=');\n // Updates the cookie value\n currentCookie.value = value;\n // Process each attribute\n for (const attr of attributes) {\n const [key, val] = attr.split('=');\n if (key.trim().toLowerCase() === 'expires') {\n // Updates the expires value and converts it to Epoch\n currentCookie.expires = await this.dateToEpoch(new Date(val));\n }\n }\n\n const filePath = process.env.STORAGE_STAGE_PATH;\n\n if (filePath) {\n try {\n const jsonString = fs.readFileSync(filePath, 'utf-8');\n const data = JSON.parse(jsonString);\n data.cookies[0] = currentCookie;\n const updatedJsonString = JSON.stringify(data, null, 2);\n fs.writeFileSync(filePath, updatedJsonString, 'utf-8');\n } catch (error) {\n console.error('Error updating cookie:', error);\n }\n }\n }\n}"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiHelpers } from "./ApiHelpers";
|
|
2
|
+
import { Page } from "@playwright/test";
|
|
3
|
+
export declare class LoginApiHelper {
|
|
4
|
+
api: ApiHelpers;
|
|
5
|
+
page: Page;
|
|
6
|
+
constructor(api: ApiHelpers, page: Page);
|
|
7
|
+
login(): Promise<{
|
|
8
|
+
cookie: string;
|
|
9
|
+
token: any;
|
|
10
|
+
}>;
|
|
11
|
+
getCookie(): Promise<string>;
|
|
12
|
+
createCodeChallenge(codeVerifier: string): Promise<string>;
|
|
13
|
+
getAuthorizationCode(codeChallenge: string, cookie: string, stateValue: string): Promise<string | null>;
|
|
14
|
+
getToken(cookie: string, codeVerifier: string, authorizationCode: any): Promise<any>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoginApiHelper = void 0;
|
|
4
|
+
const umbraco_config_1 = require("../../umbraco.config");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
class LoginApiHelper {
|
|
7
|
+
api;
|
|
8
|
+
page;
|
|
9
|
+
constructor(api, page) {
|
|
10
|
+
this.api = api;
|
|
11
|
+
this.page = page;
|
|
12
|
+
}
|
|
13
|
+
async login() {
|
|
14
|
+
const codeVerifier = "12345"; // A static state value for testing
|
|
15
|
+
const codeChallenge = await this.createCodeChallenge(codeVerifier);
|
|
16
|
+
const stateValue = 'myStateValue'; // A static state value for testing
|
|
17
|
+
const cookie = await this.getCookie();
|
|
18
|
+
const authorizationCode = await this.getAuthorizationCode(codeChallenge, cookie, stateValue);
|
|
19
|
+
const token = await this.getToken(cookie, codeVerifier, authorizationCode);
|
|
20
|
+
return { cookie, token };
|
|
21
|
+
}
|
|
22
|
+
async getCookie() {
|
|
23
|
+
const response = await this.page.request.post(this.api.baseUrl + '/umbraco/management/api/v1/security/back-office/login', {
|
|
24
|
+
headers: {
|
|
25
|
+
'Content-Type': 'application/json',
|
|
26
|
+
Referer: this.api.baseUrl,
|
|
27
|
+
Origin: this.api.baseUrl,
|
|
28
|
+
},
|
|
29
|
+
data: {
|
|
30
|
+
username: umbraco_config_1.umbracoConfig.user.login,
|
|
31
|
+
password: umbraco_config_1.umbracoConfig.user.password
|
|
32
|
+
},
|
|
33
|
+
ignoreHTTPSErrors: true
|
|
34
|
+
});
|
|
35
|
+
// Ensure the cookie is properly captured
|
|
36
|
+
return response.headers()['set-cookie'];
|
|
37
|
+
}
|
|
38
|
+
async createCodeChallenge(codeVerifier) {
|
|
39
|
+
return (0, crypto_1.createHash)('sha256').update(codeVerifier, 'utf8').digest('base64').replace(/=/g, '').trim();
|
|
40
|
+
}
|
|
41
|
+
async getAuthorizationCode(codeChallenge, cookie, stateValue) {
|
|
42
|
+
const authorizationUrl = `${this.api.baseUrl}/umbraco/management/api/v1/security/back-office/authorize?client_id=umbraco-back-office&response_type=code&redirect_uri=${encodeURIComponent(this.api.baseUrl + '/umbraco/oauth_complete')}&code_challenge_method=S256&code_challenge=${codeChallenge}&state=${stateValue}&scope=offline_access&prompt=consent&access_type=offline`;
|
|
43
|
+
const response = await this.page.request.get(authorizationUrl, {
|
|
44
|
+
headers: {
|
|
45
|
+
Cookie: cookie,
|
|
46
|
+
Referer: this.api.baseUrl,
|
|
47
|
+
},
|
|
48
|
+
ignoreHTTPSErrors: true,
|
|
49
|
+
maxRedirects: 0
|
|
50
|
+
});
|
|
51
|
+
// Parse the authorization code from the redirect URL
|
|
52
|
+
const locationHeader = response.headers()['location'];
|
|
53
|
+
if (!locationHeader) {
|
|
54
|
+
throw new Error('Authorization redirect location not found');
|
|
55
|
+
}
|
|
56
|
+
// Extract the authorization code from the location header
|
|
57
|
+
return new URLSearchParams(locationHeader.split('?')[1]).get('code');
|
|
58
|
+
}
|
|
59
|
+
async getToken(cookie, codeVerifier, authorizationCode) {
|
|
60
|
+
const response = await this.page.request.post(this.api.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {
|
|
61
|
+
headers: {
|
|
62
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
63
|
+
Cookie: cookie,
|
|
64
|
+
Origin: this.api.baseUrl
|
|
65
|
+
},
|
|
66
|
+
form: {
|
|
67
|
+
grant_type: 'authorization_code',
|
|
68
|
+
client_id: 'umbraco-back-office',
|
|
69
|
+
redirect_uri: this.api.baseUrl + '/umbraco/oauth_complete',
|
|
70
|
+
code: authorizationCode,
|
|
71
|
+
code_verifier: codeVerifier
|
|
72
|
+
},
|
|
73
|
+
ignoreHTTPSErrors: true
|
|
74
|
+
});
|
|
75
|
+
if (response.status() === 200) {
|
|
76
|
+
console.log('Login successful');
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.error('Login failed');
|
|
80
|
+
}
|
|
81
|
+
return await response.json();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.LoginApiHelper = LoginApiHelper;
|
|
85
|
+
//# sourceMappingURL=LoginApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LoginApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {Page} from \"@playwright/test\";\nimport {createHash} from \"crypto\";\n\nexport class LoginApiHelper {\n api: ApiHelpers;\n page: Page;\n\n constructor(api: ApiHelpers, page: Page) {\n this.api = api;\n this.page = page;\n }\n\n public async login() {\n const codeVerifier = \"12345\"; // A static state value for testing\n const codeChallenge = await this.createCodeChallenge(codeVerifier);\n const stateValue = 'myStateValue'; // A static state value for testing\n const cookie = await this.getCookie();\n const authorizationCode = await this.getAuthorizationCode(codeChallenge, cookie, stateValue);\n const token = await this.getToken(cookie, codeVerifier, authorizationCode);\n return {cookie, token};\n }\n\n async getCookie() {\n const response = await this.page.request.post(this.api.baseUrl + '/umbraco/management/api/v1/security/back-office/login', {\n headers: {\n 'Content-Type': 'application/json',\n Referer: this.api.baseUrl,\n Origin: this.api.baseUrl,\n },\n data: {\n username: umbracoConfig.user.login,\n password: umbracoConfig.user.password\n },\n ignoreHTTPSErrors: true\n });\n\n // Ensure the cookie is properly captured\n return response.headers()['set-cookie'];\n }\n\n async createCodeChallenge(codeVerifier: string) {\n return createHash('sha256').update(codeVerifier, 'utf8').digest('base64').replace(/=/g, '').trim();\n }\n\n async getAuthorizationCode(codeChallenge: string, cookie: string, stateValue: string) {\n const authorizationUrl = `${this.api.baseUrl}/umbraco/management/api/v1/security/back-office/authorize?client_id=umbraco-back-office&response_type=code&redirect_uri=${encodeURIComponent(this.api.baseUrl + '/umbraco/oauth_complete')}&code_challenge_method=S256&code_challenge=${codeChallenge}&state=${stateValue}&scope=offline_access&prompt=consent&access_type=offline`;\n const response = await this.page.request.get(authorizationUrl, {\n headers: {\n Cookie: cookie,\n Referer: this.api.baseUrl,\n },\n ignoreHTTPSErrors: true,\n maxRedirects: 0\n });\n\n // Parse the authorization code from the redirect URL\n const locationHeader = response.headers()['location'];\n if (!locationHeader) {\n throw new Error('Authorization redirect location not found');\n }\n // Extract the authorization code from the location header\n return new URLSearchParams(locationHeader.split('?')[1]).get('code');\n }\n\n async getToken(cookie: string, codeVerifier: string, authorizationCode) {\n const response = await this.page.request.post(this.api.baseUrl + '/umbraco/management/api/v1/security/back-office/token', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n Cookie: cookie,\n Origin: this.api.baseUrl\n },\n form: {\n grant_type: 'authorization_code',\n client_id: 'umbraco-back-office',\n redirect_uri: this.api.baseUrl + '/umbraco/oauth_complete',\n code: authorizationCode,\n code_verifier: codeVerifier\n },\n ignoreHTTPSErrors: true\n });\n\n if (response.status() === 200) {\n console.log('Login successful');\n } else {\n console.error('Login failed');\n }\n return await response.json();\n }\n}\n"]}
|
|
@@ -7,10 +7,7 @@ const test = test_1.test.extend({
|
|
|
7
7
|
umbracoApi: async ({ page }, use) => {
|
|
8
8
|
const umbracoApi = new _1.ApiHelpers(page);
|
|
9
9
|
// Runs the isAccessTokenValid before each implementation of umbracoApi in our tests (Which is every single one)
|
|
10
|
-
|
|
11
|
-
// TODO: Find a better solution, currently the refresh ends up as 'The specified refresh token is no longer valid' which resulted in failure when we were trying to refresh the token. There seems to be no issues with the refresh token in the UI. So we will need to investigate further.
|
|
12
|
-
// TODO: Remove the line below when we have a better solution
|
|
13
|
-
await umbracoApi.refreshAccessToken();
|
|
10
|
+
await umbracoApi.isAccessTokenValid();
|
|
14
11
|
await use(umbracoApi);
|
|
15
12
|
},
|
|
16
13
|
umbracoUi: async ({ page }, use) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../lib/helpers/testExtension.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,wBAAwC;AAExC,MAAM,IAAI,GAAG,WAAI,CAAC,MAAM,CAAwD;IAC9E,UAAU,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,IAAI,aAAU,CAAC,IAAI,CAAC,CAAC;QACxC,gHAAgH;QAChH,
|
|
1
|
+
{"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../lib/helpers/testExtension.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,wBAAwC;AAExC,MAAM,IAAI,GAAG,WAAI,CAAC,MAAM,CAAwD;IAC9E,UAAU,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,IAAI,aAAU,CAAC,IAAI,CAAC,CAAC;QACxC,gHAAgH;QAChH,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACtC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,EAAE,GAAG,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAA;AAEM,oBAAI","sourcesContent":["import {test as base} from \"@playwright/test\"\nimport {ApiHelpers, UiHelpers} from \".\";\n\nconst test = base.extend<{ umbracoApi: ApiHelpers } & { umbracoUi: UiHelpers }>({\n umbracoApi: async ({page}, use) => {\n const umbracoApi = new ApiHelpers(page);\n // Runs the isAccessTokenValid before each implementation of umbracoApi in our tests (Which is every single one)\n await umbracoApi.isAccessTokenValid();\n await use(umbracoApi);\n },\n\n umbracoUi: async ({page}, use) => {\n const umbracoApi = new UiHelpers(page);\n await use(umbracoApi);\n }\n})\n\nexport {test};"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"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.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.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.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.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.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/playwright/types/test.d.ts","../node_modules/playwright/test.d.ts","../node_modules/@playwright/test/index.d.ts","../umbraco.config.ts","../lib/helpers/ReportHelper.ts","../lib/helpers/TelemetryDataApiHelper.ts","../lib/helpers/LanguageApiHelper.ts","../lib/helpers/DictionaryApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../node_modules/@umbraco/json-models-builders/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/sliderDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textAreaDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/numericDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/datePickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListBuilder/blockListBlockBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/checkboxListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/contentPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridSpecifiedAllowanceBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridBlockBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridAreaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridBlockGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dropdownDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperBuilder/imageCropperCropBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerBuilder/mediaPickerCropBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/radioboxDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textStringDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/trueFalseDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/mediaPickerValueBuilder/mediaPickerValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/mediaPickerValueBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/urlPickerValueBuilder/urlPickerValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/urlPickerValueBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeAllowedDocumentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeAllowedTemplateBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeAllowedMediaTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/users/userBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/users/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupPermissionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/index.d.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/TemplateApiHelper.ts","../lib/helpers/DataTypeApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/TemporaryFileApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/LogViewerApiHelper.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/DocumentApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/ObjectTypesApiHelper.ts","../lib/helpers/ModelsBuilderApiHelper.ts","../lib/helpers/HealthCheckApiHelper.ts","../lib/helpers/IndexerApiHelper.ts","../lib/helpers/PublishedCacheApiHelper.ts","../lib/helpers/RedirectManagementApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DocumentBlueprintApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/UiBaseLocators.ts","../lib/helpers/StylesheetUiHelper.ts","../lib/helpers/PartialViewUiHelper.ts","../lib/helpers/ScriptUiHelper.ts","../lib/helpers/TemplateUiHelper.ts","../lib/helpers/LoginUiHelper.ts","../lib/helpers/LogViewerUiHelper.ts","../lib/helpers/TelemetryDataUiHelper.ts","../lib/helpers/DataTypeUiHelper.ts","../lib/helpers/RelationTypeUiHelper.ts","../lib/helpers/PackageUiHelper.ts","../lib/helpers/LanguageUiHelper.ts","../lib/helpers/ModelsBuilderUiHelper.ts","../lib/helpers/ExamineManagementUiHelper.ts","../lib/helpers/PublishedStatusUiHelper.ts","../lib/helpers/HealthCheckUiHelper.ts","../lib/helpers/ProfilingUiHelper.ts","../lib/helpers/WelcomeDashboardUiHelper.ts","../lib/helpers/ContentUiHelper.ts","../lib/helpers/DocumentTypeUiHelper.ts","../lib/helpers/RedirectManagementUiHelper.ts","../lib/helpers/MemberGroupUiHelper.ts","../lib/helpers/MemberUiHelper.ts","../lib/helpers/MemberTypeUiHelper.ts","../lib/helpers/MediaTypeUiHelper.ts","../lib/helpers/UserUiHelper.ts","../lib/helpers/UserGroupUiHelper.ts","../lib/helpers/MediaUiHelper.ts","../lib/helpers/DocumentBlueprintUiHelper.ts","../lib/helpers/DictionaryUiHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.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/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","5e0b584983b80e389db30120f1eac5bf6e51d4974d34f48d6fc04a5d4b60f8ca","32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","f572efaf802df1a14519a0e1217525d84e96bf70d0b3158e61c3e03a628dd43a",{"version":"47339283feea4e3d0b6d580c3787eb6a9bf5c50b224dfbf47048b2501347a142","affectsGlobalScope":true},"3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c","ec8997c2e5cea26befc76e7bf990750e96babb16977673a9ff3b5c0575d01e48",{"version":"ac566ad371d04b0c1a4e9303085f14385dd9cea96515646ca1a6a4bfb79c7968","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},{"version":"e598311445ebe4378af1cb00abfb7222659a7851aaa3d9549c64628857ab4838","signature":"d9e590839d9b5259ea85c4b7b8abedd8459bfadad3aa2ab707df5f06d838a879"},{"version":"16bc0fd4adf6f83440a9f0401fc64bd45c73ca0e5e3efa7a3df152e884420ccd","signature":"f4c914bf76148b4feba712d9e6b2b33b52ee537448d9002e48faaadd12d8f1e9"},{"version":"b167cb984d4a63a547354f22c011fa36b8c6ca52081a705de5a1a32f89369b77","signature":"474a342b5d6ca2d7fddb0b6677fc762f732d49829c88be7a8bb01ab12231bf69"},{"version":"68f09543fa1964b7589e02e2ae23600a3fe1095bc779724631c1155d875cd095","signature":"7931acf2186d2590d9ab45126666c3c6978bfbc5d5cf3912c515893f2f3b81db"},{"version":"ad9cb996e3a752abbfa8ebfb0e601bf6eb7f3b3d8c17390c600a73b408238afa","signature":"d521080ce5075b637966ad9caca3ec81b81ae03f4fad43e3f5d312208561093c"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","735f4251ea4b4790bcfa837d95e2128ca3259524e2b6f3b1d0c56a6edd5789ec","fbeb32592d935d0a8394e889bdd60dde93b35c3274a8823e2717bbe490086cc6","d70a15b0471ca6747cf3c14064536bd759e1a0d528f5624cd71ea1a4c058805a","312a2551e6cdcd53d3699f40ede6e682bdb17b1f15c6708f060fae2e29212bbd","2d0c888fee03ecc5d3395659bef30a1fb6a1851af29a28beddba1dbeccce2e3f","23b070999f9643c7d237483488008a8324f3e58c9710565bac5ce1251fb20e00","88d2d9a76bbfb7389e462ba02e24049c76561f093ab2d283562616fd7463cd07","a7647386550454047b62da8d4a5d04312208f23f22e6186b3a27ef3f10ebe618","d7eb5237961f5a6d62b25ef2f01f86dd2be6c4ccb049e4c8cc13cc88e4ffbf42","efcc13cba6fb27850812d508498facd63f2ca1d5c9f64cc145e12187c7272ed2","b8de75ee932693f19d2b084d476e51a57420d2fda88471748cb54628b150508d","5b594bcc58ede578b88b2570af727a6ef5813069a52bd596ec5fb39f368c546f","350ccc15287705af6302395c5b3a69fd855c62c4c65732fe47b19418171b190d","6b85b7398836a6e61e5314f6e1f0f4195e0068405758715628c125f65a391d99","2267458e9652d04bf6193bee1bc8480560efc76e1ca19fd6c5d229c31b20f139","1ffb0d838153e3b4c13e4b1d0381747edbf062cf41768ca0df90465dc1f8101d","6769985f8e56b9829e2bd87f6f618f72484a854040b752b3dc9f04b9f6ff6d6d","0f589f2143abbfeaa3c38651141a40b04c1320f304c7b06c9bae41b41b490ef4","f015f503439495b68ebe0e476109803d4dedbf209fad10d3457fa520b7808cbd","19aeeacd98eefad3aec0538e17d9a999bcd83f15f8a84534646250b00d08aa6f","1a279ac619bc23042fd8dd148b46d884341ada2546107e79bf0239c9b58c16fc","7b3ceccf06d79b8d68decb705be870c29dc244646252b3a4ddd4c0b7067aa571","b6e04ec3ad7799ecd11d8ef3b58b6833ee8277a23d3e5375ba6bf6cfcfccd7f3","ae9927efeaf5d7738047aecd10f716203cb5be6fed8fe480e1776e7984d5379f","ef0cfed3d4cbf4b6f43ef488eb0304182b1cf0c5669b495ac64966b7ec9750c5","558b92696d7cf4f323100fc8cf51ac4cb5aeadf3176dd0fcca84c3fe196f8412","7b97967c9c10ec8c8c9da742620fd2672666066d1cf3341873dea31a7d9c2da0","5e544d0c9724864d088addd0d30944b7f96fd68f418cf49baea16fdf57a01f03","4db0e1f3d35afda5c1919e838a1f29829a0048bf0daefc321c56e7eb1b38baea","c90e9d0d6eacd5ed89ebdfeb68037bc1f418b473261c1c70f442cfc86ac26652","8b286e0b720a01d1bab077d218fbe5a45fbbfe4587ae996e9250e3da4596165c","92aa042da3e124ffc27b5996c695dd241c6c5ef630b1c578e01e450553d05cd0","b021de85780940ad460ec30fb2aa40b64e73b97c880498c4ed984cab2aedc51f","5559a007c049b8c395a7a8835bae5c74cc46eb8b387099fe1da64cbc9b4d629a","a461cc5ab62a829a65e0663387d8ebad9c15e7d4392ffbf971e8682313ad9384","a881a280837ee611de1f906a21fcdabcb09e1a7cd559c6371baa0b9c55cdb697","7487f90ba023ddfdb3e4d68bc44ece8dfb9cb10823d2ef08ad76c052eb8a504a","1d018ec10663264ba121d22bb237fabf71d9147b949d69518bcb5770aa3a2f88","859334213ea02d45aec5b54ff1d54ef18b3a5ac715a52c0ef8a6ae75050b50a2","9cb6270351ef5ea1c6cbcf75097c63937f106f21ce46fe693482f46bc34bfb96","fb1192ef5c5db2eeac7f996bf882bd99062a742eba7d229519f8964d35f19423","46c0c38ca7829481d9f8989636eaecf3c85a48ce9f1467564cd14cc58eecc39d","aa212fd5fbc67d37391ed675ddbf279d777810aa3701b69f26b27f8cd6940f5b","a7070c25054200db28f04abf7e5829970f22870c50f4795abab0bec193c9cbb7","fbc73b8d844b5d4ca9b6f91cd1c3f8fc230dc79430016df3940c3b50d7743208","6f084acd88dd7c9e7a1c801e09597b3de7714898cfe98a6a4772c14ffeac1b0a","2ea4f3b7a09612b2510ba1699e0b7969b7e668345495d4efec4474143364bab8","fffd55ccb0e275d0cfe6aa05d95a42c0fcc6d0f749b30d7419bd5d08b2ca8fb9","79584f80c79a9c50842cf5486802d8e37652ab6b1a2f6241dfd97d7af52286ae","98e3cbe57ce44ac1c1af9dded0a70e070b4b733a7b2ee1ac4139b63b9cdda7e8","0434be58b83aa08b37601ddc9fe38efb5a95e4fce2c1d577c768288eea7ad580","33ad481a4f005ca22db6c3e8e3dd24ac7175d7b24bc0bf167787e7ea0ca8c2c0","332b1265e3c9166cc350ecb5881d3ef38bec57c2215f24928f6b78b6243f2aad","895440dd2b4c65c4b904cebfff11b835aa037fccf835bd6c0e99a2da95b5d24d","5eeb407ada49af95dd06c0055fff5554c4d4dcc3559f79099797bc0c911aa817","1be065122adefc5329252a7ee7d13bd480744049e1f57131e585b6c8763081f4","3ef0c952b7aa46d7ec44efc1f824377dd550bcf2f05e9f6eaa3bff52e0ab6630","271dd1bdc128e8bde40b8b4771d788816a2a56bb079f40c2af87cc7cbbea171d","4f3f090fa3b9300054f5ebef080c682c7c2c399024a16cb0d3b14b3e61b66bac","84c1a5494578c5affca53779468eff24fc912615128aaeba0443a7d084da1c81","d57106aed70ae121f2abbeafb903630c64b3d24ad708d331b5e39ee4154cdef2","317589f5460dfdb1386cd7feda7c57b03861c33c40f136da2239657ec9625028","755cb989f97ae212f7d67804513c0404e19d60085d50a2d821c1e7898622afb9","a73e2f83376a0533d2534cf39db9326f7b17e10258343d743dc8e4be9fa7d7e6","0104f554c856d43470d5143b76a858630948864dbb525ba503abf2495ea32d62","d2720cc47e5116280f94ea51b12443bdb6d34f6dbc2cc718eb22bc9fdf6d1c22","1c2088b528dbbfd94b68d0b391e5a753194beb4f816d01bcf45424a48490a3d8","1e9f7113fbfa4e026da90e21a0b8a0d2693ea17b396f840a35f763d00e52acd9","cc14dda6b48f2c3403ac82cbe03cb14769c11d9834fa7651d584f2c2194e568c","27955c2eada51f900146f6e08e98e7fc3c78b3c45299fa224d59751a2a67c2cf","fb9ba1c96f887d253a1cc6364e979ffea0c323945607f8c62b62dab15be4f0dd","eb3f968aec915281401fe9587625aaf032a5ded4d6e76cc79754572d638b711f","736a8b235bda37b5d1bb63730f2c149fc38ccd3e7f21e1ef27e3c136afce4ca4","b63b1bb2b9961efa84cb580dd9369838250b2d7dc26db0ae2396b75ec4df1b2c",{"version":"b90911de1515156ee23138731e27c3eba901c2390fa2caeb96350731050480d5","signature":"4a0dacea6d9687717d728fcaa64fd6c6135e01876920f0535da80b47058aa554"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"6fb2e60054648f522196c0bf8c154be32814cef9aaeff74a34b63b9ecc29c6bf","signature":"268255fe720a6ccc432b25021ac084c78a040eb586d3e3c6638d7ab602b52b47"},{"version":"51d3632454702e3501f0872cd3c33d31ed2d6e31ad76d7c5495403fe82c91ca4","signature":"c570b977d9d02cdbe8e1fae99112e1c94db6702500f1dca9f5e9d3ff31929765"},{"version":"110d5045a2b89b84bffc9b69e29dea2b7fa6be905e68ee9aa32a04e010b12769","signature":"5a28e38c7ae204c2b8a2d5b19b475f7c7444e09b089885cd721646a91d8449fd"},{"version":"0107034f755ac3674dde236b352420c5cccf0dfd0e4e7f60c45328349b68aaf9","signature":"43046af8e8411c3666e5067bfd09564f50023620c3b1a208898a8865fae624fd"},{"version":"cabd0d5b08b9df681c7d96ebb233547f3ff5afff1258fb4fd989c48cfa4b696d","signature":"0b46a5aa62769d95c500231b1c18bf8f75a79bb758ee37b1a212d4608abff3cc"},{"version":"801d15dc62fba78b6eba681a278e1513fae40bc2c1cc63b654689993027653af","signature":"f34e4769145e2478659e5fb416f7daa3329137c2d83ba78bb657582bdac5f50b"},{"version":"9aa03437de8e8312f9c38664eb81758f4aef3116c81fb0ba24502e079eaf531d","signature":"6abcd0c4ef723adaa273858de49546a5270b1498bec2329a7a7611a15b2778f2"},{"version":"39994d923da5374ed80db2024d50c50d79b896095ad9f6b9a8bd8a6c1eae542c","signature":"315ecd48c8734e40b31ab560638c16cbb27b001222a94cb50f50f640fee2a816"},{"version":"f1bd24334e503e833a2cecf306de16ba4c5cf2fefd6fda9d57c19d838f6cb8ec","signature":"35d0dad48d46ff699954fd32afe947a9191acfd3a0dbf1d9d75f4f8785d41cc3"},{"version":"c91035cfb71eb314a1a36c57c060797cc1b726cfb278c632b9fad2bbc0bdeb3d","signature":"f6d312763ab4f9e29d753994e05ee0831acdfe461acd09aedfd0d9579831fb3b"},{"version":"f2584cbee1c4db0ed99e8014beaf5426dd73a59bc7ed12373584752dd375f7f7","signature":"9be195febc077d263eb55ce87a3f6c2f3afe65a1fb960fa3e7a77d310d041c16"},{"version":"4168c3a7fe60b0621398ad39d77b926a19bf46949db420b60a1beb629a4c9591","signature":"15a64c85ff626de1630c32a968b0e6ba93831b9d66d6e5a8c7ab4d48ab5305ea"},{"version":"1b5b49f3d5d5cd378775d7e3c15aeff2c32bcdb4d76c74b14e602d1e45d91835","signature":"347f6e8fc2a5624842ca9cf3e8538f7a7b0e1fbe1857e2d03a021fc6d539a55d"},{"version":"58b36cc8aa8df872016ddc8269da9e1d09f894e0260baa6d576e55a6eebdfa4a","signature":"d7e67bbc423e3fe460466cc7e84fabf003d0756d9386d894062e6fb09f53e640"},{"version":"31b8e49f0e99e1470a80b9e273fac5700c56fe8d234059cd1bb2ad21b820b0b9","signature":"85bb21606bafbcba87c9fc4c9b64fcc55e1ed9f625bfdcfecb013a0ccce0835f"},{"version":"91e881ba6c6c9dea00855969f278cf4a0a182eb7a0014643cd702d4b6c2d823e","signature":"f8e4d7dd0140c412232ec41e3d92bd3e52eaa65c040d404313d3119693f4f9d7"},{"version":"093412a58431807d86f292735937204c5733c2b33cff45ca392dc2e1b0d710a1","signature":"36958eeed010fd5dbd61070cb9f1dcf65951f523cf00f9fe4f057e072cffcb0c"},{"version":"25c502fca47c551749ae8050e73c7e6346ea5e32b1fef84f6d6d461e9a872ce6","signature":"f789f70171e3c0b4ce8fee345c5b6fd6cb2e39835db65da25f1c218ce5970c4d"},{"version":"2c0a55550a7c81b013bb87470a726d5adcb38caa793853b285b59a1e9dbcae3c","signature":"047c892f5ed530ba1388c4bb4aa1376987caa69ea3b6a09accff3b3831bb7ea4"},{"version":"082479941b759c52dd1ec4c86e79cdd98221878a3c4bff7866b9d297f093347b","signature":"a1dbb77028ab261d8f1e556f050161f358f3e14410c94cfeaefc6ecb0aef9d8b"},{"version":"cb2868c73b78dd4ab29af567a3b7a890cd73756ac9ea11f4b1523dbabfb1b475","signature":"7bd245389f77c48754e28c66782ac10d36438dda660d7f61efdf2216b4a3ff29"},{"version":"fa6052471f16ff21b4339723cf5e59aeae57103695fe4ae901c441f690bf4de4","signature":"a2f2dda048d4e932f639ed87095a550e9d379d029c0cae7145b960eb207f39a8"},{"version":"9e731ea19fdd5786c9f684d93797bc4431fcff1774294fc1acf28b8c05a81fa9","signature":"7e75d7603e00629abab8924db82fb0e97f7c3b3d31875166c1350e0584eaea10"},{"version":"642f386f429d3631458f0dd5dfebe118499f4073a694d64b251b009705a2b971","signature":"f6a98f2d4855295373650e1589681eaecf3bcf1a09cfa0504889f8112e53a97e"},{"version":"44a66acc14cae40aa9a3edf0c7350fc03ea60cd2fd4c4d5b2b434cfc78863626","signature":"bb8f4231e89b77b07df78175e69051078407d14ad055fad1cf54aae3e2317567"},{"version":"3dd1c4d96c19f903943cdca624fde4eb6ed978e70003b9d43f6399d45920a5c2","signature":"64d53a5e3e95b2854bc5f0101f1e4707915c9999c659e0e7ee95a79a35dfad0f"},{"version":"3b179e760b68b74e742559a8c3199b5cf8e5f5f249c9e8c933ed9f45b1960e02","signature":"3653b6bc4a1f7cd5009ef78fa566ed5e07503a6a7ce7d85396fa2cc79c9a7b56"},{"version":"c75098503446eb1ad8eada48db9d46918113dc06c71aeabd6aa19ecadd6527a6","signature":"de1d2d1e4b674d4f0e0099db99973d48ffeee46d669d369ce681427608c79621"},{"version":"f34e21606e90852580aaae62257599d8e9a919d6adb542f8350ce76452dc6ee2","signature":"c6113855c06c16f77ad43ddb21272c512fec264feac915087ee6210fdf4b2833"},{"version":"6f9ae861b728341020df66ecda60b55abce010b3362362323e2e8ff03bc36ae3","signature":"286f241d68cc0cce828d17c33b24df5a52c817ca34ae56f9fb43365e8f35baa7"},{"version":"4efdc2ea4a22c2ec266cbd13c42dc0bb8965bdc2c7d6a5202fca48013e42cd0c","signature":"441a7dd1f6a3e908d08de6d57c14679d199699ae59ec4b2c6f6909ee4e7a01dd"},{"version":"8e07a85548939ee69ee931e3dd475a77646042c018febab089f06a36403111de","signature":"5b6af1305a4c918d33730d4c9043d4075b36f9ca51b6fdf5ec49c4874e9d75ce"},{"version":"443026f892363dacd3c6e5b8db4b2d8f5e00c0158413f56b4ea0fd3bd66cee59","signature":"465498afd1f73b5c21176540a7fc8049c167dfc38e55a3c6b2045c2ae2518ff6"},{"version":"78f26f2b05823a3b4144fd1c647abc161395db63cee753b744f1ba3861c7e26d","signature":"ab5340bffc5510ce203778896a174f7aeea83e2eb58485e49a8997f08149947d"},{"version":"61b024f06c15085b253732fbfa5f8da00eebd68e2142dd20b8d0e2026a260190","signature":"76196e924bfd1c52d90cd14b733dc39295f91d2fe6a1af1d19d8b4f3ecc46200"},{"version":"44be52888d4de8676e0e119860f32abb7c8d91fe66890f734a091b5946e5fd69","signature":"2371428db20903bd7351600dead95f6deda4c398b826becd7dc4accb39a6a295"},{"version":"520e594f171f1cf43306dc0b0a34d02930fc66d8d73ef38e4207f550b0862b03","signature":"91b55ca0210d7bf71a349496077c34339091ab3018e2f001613a5916c2bafdd4"},{"version":"70082ebcdffb51a4f232d04e7a72fa796d6f058e0a5ffaa81d51b2bdaa4dcacd","signature":"56544ec521b04c8619ecbb1fc134cd36e27f3fc52cbac2c6d0d66caa5e2bcf1c"},{"version":"f683588eb6f67d093e22010f727767dc12ccf947c4fcd56cfbf042e8b396dfc8","signature":"c89e2d183a3683530fc7c5fd94368e05bf62438940c1da5e3b73c71b00b1cbce"},{"version":"19a1a3e1f5321005e623b2ae3665f2968a7284f33f485e611d11f8c127fd6b46","signature":"a917c20caa02cf7636797e7872d5d5fd0355770e67808dc8c0525154fe5df041"},{"version":"c694cc36fdfeda4e7ad3ec79875a395d94c0e983469f6f8b1f747ef24674f4e0","signature":"708167176f8be143ef9e9adb420b236bd96b640ac8718a5d35c03248db221029"},{"version":"6ab351e24f0a799d04759e594e23875777e4a2adfeb494e1a0cba5e391da07c9","signature":"3bf19102eebc41e4a232a2434d49019f85df851e560191bb9657d043ff35d41b"},{"version":"4a0cfb0d136c13a6f5df928908838752f1f49ec89974acc27d69c3e93cbd5e50","signature":"e89d36d87b8f081e39accdb95e7d8b1518f56ca3250a52ff198f7490690232b6"},{"version":"2175e03fdcda9c3712aef45c56ede5298a4cf9143cc4936b43bed3fa30dd1fcc","signature":"c9f380595a1b20178f11f412b19da6914b49b12b862d9975a7e3108db1f7e842"},{"version":"78526f514c7d451d6473767d60135afc28b293a43f52f4bd63c9c8907539f459","signature":"f89afc38ed75b7dcc5a7f22aba7003eaac55766cf16f059034f47f0521353f30"},{"version":"f0f337daea9b8ef0a90c72de16b4127cc5b923848e8517a478acfc2000dfc5e6","signature":"b97dd1e64aa5e3342df88a0a89ffd5ac3dbae9784497cafff8c7bf2f9602ac53"},{"version":"dc4bb7cb57b62e8c0cc8506ea225432b72440a9aeda2ecc566e7a94efb362c08","signature":"d72955998ba844deea604724a13e2fc50416bedf6a3d07a4dcee02e55c227a03"},{"version":"9a3b8095210541246df24b835bc8911b0b68092a2f8062cef758ee4db5698d46","signature":"fa1ac0f2e39606267b5ca9bfdf0acacb1d0de33fe78d8e27ec81905150c7967c"},{"version":"16b0e97d18dee16d5ca821a0fdefe07047a58e994e8d15651a091f4b76299b00","signature":"c2b78ad093c430807ae5afa6c56a12577970453c0d23a5a39249d4c9f4f04c9a"},{"version":"024dbe04ab741c6bb1e4d2882cea3a3510d32d22af7da9783c10f570b43792c7","signature":"5d0d919a448daeb3f24ea39e50dd38c948063f4e2dffe9d8e3c9539868d96eea"},{"version":"7960a96d2f71d114c743bf00a74576c5d1b5e4ecc1b836599dce7e48196c1243","signature":"fc9e5765a2a6a6af96287dade21ae0e657f8f095aaf223dbdd98751abfccd69d"},{"version":"5547b082896f113bbe4c189a7f5aba61443bef27fdefc8874739478da653f39c","signature":"b1aac86d982a813a1aa943732dbd6449a660c77863576ab3b60bf1fcfc3aed93"},{"version":"e11a13fb679a17d101664035509b20d35d8204cf838c4f29adfdbb547f615370","signature":"668fd399c78b8a8ab6c3e3810acc20afa1c675f817db84c4a3575dbfb3022c6c"},{"version":"a78bd6cd5c482c963b576c1305f10da2d3300640eb7b4f79a37ad89e47379ebc","signature":"d9b61d07c211be80ca2e4733c50e376b1fc616230586cde831dcb9799d64bb89"},{"version":"16ec21eb0358f05f8ed3d27f48217ff0a8c01bd86d5aa9220902ee952f2413bf","signature":"4529a99d104e861d15b6b4036a3534c672f5e1c94a71da26cfd06b9a44107dc1"},{"version":"0e90d2f3f103086cd3cf30db51fa40ded0e25fab31e65e512a51fe4e41a99437","signature":"0bc6f26ea56f0e175343583b7f97f2b5fb884ceb24facefd96b2ec81b64377ee"},{"version":"3f878b9e4454fb63f4a7c6bc05c998cab5392fc6968a8231537b2bdf1d21eb11","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"0ae539fcb9305ceed033478dad6057ca783cd05639a5ffec46236b181329b73d","signature":"fb2248233522d52bc64ce2a6cbbb7a48063c27fe937586687f86ec9e59f356be"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","daece0d85f8783595463f509f7d82b03b2c210cc064cc793096b5f9c73a6db43","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"bd27e23daf177808fc4b00c86f7d67d64dc42bbc3c855ea41bfed7a529150a1d","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"603df4e91a0c2fd815c6619927468373fb00b6c13066334982ee684f5c7d40b2","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"527e6e7c1e60184879fe97517f0d51dbfab72c4625cef50179f27f46d7fd69a1","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,270],[43,49,50,51,52,53,54,55,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,241,270],[43,49,158,270],[43,130,156,270],[43,156,270],[43,130,132,156,270],[43,49,157,158,270],[43,49,50,158,270],[43,49,156,270],[43,132,156,270],[43,49,157,270],[43,49,50,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,270],[43,132,156,157,188,189,270],[43,49,190,270],[43,190,270],[48,270],[192,270],[227,270],[228,233,261,270],[229,240,241,248,258,269,270],[229,230,240,248,270],[231,270],[232,233,241,249,270],[233,258,266,270],[234,236,240,248,270],[235,270],[236,237,270],[240,270],[238,240,270],[240,241,242,258,269,270],[240,241,242,255,258,261,270],[225,270,274],[270],[236,240,243,248,258,269,270],[240,241,243,244,248,258,266,269,270],[243,245,258,266,269,270],[192,193,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276],[240,246,270],[247,269,270,274],[236,240,248,258,270],[249,270],[250,270],[227,251,270],[252,268,270,274],[253,270],[254,270],[240,255,256,270],[255,257,270,272],[228,240,258,259,260,261,270],[228,258,260,270],[258,259,270],[261,270],[262,270],[227,258,270],[240,264,265,270],[264,265,270],[233,248,258,266,270],[267,270],[248,268,270],[228,243,254,269,270],[233,270],[258,270,271],[247,270,272],[270,273],[228,233,240,242,251,258,269,270,272,274],[258,270,275],[69,70,270],[71,74,270],[74,270],[71,270],[69,70,71,72,270],[59,73,270],[66,270],[64,270],[59,65,270],[59,270],[78,270],[76,270],[59,77,270],[59,60,61,62,63,66,67,68,74,75,78,81,82,83,84,270],[79,270],[81,270],[59,80,270],[90,91,270],[87,89,92,270],[92,270],[90,91,92,270],[86,270],[90,270],[88,270],[125,126,270],[127,270],[125,126,127,270],[99,270],[94,95,96,97,98,270],[94,95,96,97,98,99,270],[58,85,93,100,106,110,112,115,119,124,128,270],[107,108,109,270],[107,108,270],[109,270],[101,102,103,104,105,270],[105,270],[101,102,103,104,270],[116,117,118,270],[116,117,270],[118,270],[120,121,122,123,270],[120,121,122,270],[123,270],[57,270],[113,114,270],[113,270],[114,270],[111,270],[56,129,270],[46,270],[44,45,229,240,241,258,270],[47,270],[202,206,269,270],[202,258,269,270],[197,270],[199,202,266,269,270],[248,266,270],[270,277],[197,270,277],[199,202,248,269,270],[194,195,198,201,228,240,258,269,270],[194,200,270],[198,202,228,261,269,270,277],[228,270,277],[218,228,270,277],[196,197,270,277],[202,270],[196,197,198,199,200,201,202,203,204,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,270],[202,209,210,270],[200,202,210,211,270],[201,270],[194,197,202,270],[202,206,210,211,270],[206,270],[200,202,205,269,270],[194,199,200,202,206,209,270],[228,258,270],[197,202,218,228,270,274,277],[46,49,51,52,53,54,55,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],[49,158],[46,156],[156],[49,156],[49],[49,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],[132,156,157,188,189],[49,190],[190]],"referencedMap":[[132,1],[156,2],[157,1],[176,3],[134,4],[166,3],[54,5],[187,3],[143,6],[155,4],[186,7],[142,6],[177,3],[171,3],[148,5],[173,3],[149,5],[53,5],[169,7],[141,5],[164,3],[163,3],[145,4],[144,6],[182,3],[185,3],[153,4],[152,5],[179,3],[154,6],[181,3],[180,3],[147,5],[170,3],[146,5],[137,5],[168,8],[139,5],[160,3],[174,3],[150,5],[172,3],[151,5],[178,3],[55,5],[167,3],[51,9],[138,5],[161,7],[140,5],[159,7],[52,5],[165,3],[133,10],[162,7],[136,5],[158,11],[188,12],[135,4],[131,4],[184,3],[183,8],[175,3],[190,13],[189,14],[191,15],[49,16],[192,17],[193,17],[227,18],[228,19],[229,20],[230,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,27],[239,28],[238,29],[240,28],[241,30],[242,31],[226,32],[276,33],[243,34],[244,35],[245,36],[277,37],[246,38],[247,39],[248,40],[249,41],[250,42],[251,43],[252,44],[253,45],[254,46],[255,47],[256,47],[257,48],[258,49],[260,50],[259,51],[261,52],[262,53],[263,54],[264,55],[265,56],[266,57],[267,58],[268,59],[269,60],[270,61],[271,62],[272,63],[273,64],[274,65],[275,66],[71,67],[70,68],[72,69],[69,70],[73,71],[74,72],[64,73],[65,74],[66,75],[67,76],[68,76],[59,33],[63,76],[75,76],[76,77],[77,78],[78,79],[85,80],[80,81],[79,82],[81,83],[62,76],[82,76],[60,76],[61,76],[83,76],[84,76],[92,84],[90,85],[91,86],[93,87],[87,88],[86,89],[89,90],[88,89],[127,91],[125,92],[126,92],[128,93],[96,94],[98,94],[99,95],[97,94],[95,94],[94,94],[100,96],[129,97],[110,98],[109,99],[107,100],[108,100],[106,101],[103,102],[105,103],[104,102],[102,102],[101,102],[119,104],[118,105],[116,106],[117,106],[124,107],[123,108],[120,109],[121,109],[122,109],[58,110],[57,33],[115,111],[114,112],[113,113],[112,114],[111,33],[56,33],[130,115],[44,33],[45,116],[46,117],[48,118],[47,116],[43,33],[8,33],[9,33],[11,33],[10,33],[2,33],[12,33],[13,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[3,33],[4,33],[23,33],[20,33],[21,33],[22,33],[24,33],[25,33],[26,33],[5,33],[27,33],[28,33],[29,33],[30,33],[6,33],[31,33],[32,33],[33,33],[34,33],[7,33],[35,33],[40,33],[41,33],[36,33],[37,33],[38,33],[39,33],[1,33],[42,33],[209,119],[216,120],[208,119],[223,121],[200,122],[199,123],[222,124],[217,125],[220,126],[202,127],[201,128],[197,129],[196,130],[219,131],[198,132],[203,133],[204,33],[207,133],[194,33],[225,134],[224,133],[211,135],[212,136],[214,137],[210,138],[213,139],[218,124],[205,140],[206,141],[215,142],[195,143],[221,144],[50,1]],"exportedModulesMap":[[156,145],[176,146],[134,147],[166,146],[54,147],[187,146],[143,147],[155,147],[186,146],[142,147],[177,146],[171,146],[148,148],[173,146],[149,148],[53,147],[169,146],[141,148],[164,146],[163,146],[145,147],[144,147],[182,146],[185,146],[153,147],[152,147],[179,146],[154,147],[181,146],[180,146],[147,148],[170,146],[146,148],[137,147],[168,146],[139,147],[160,146],[174,146],[150,148],[172,146],[151,147],[178,146],[55,147],[167,146],[51,149],[138,147],[161,146],[140,147],[159,146],[52,147],[165,146],[133,147],[162,146],[136,147],[158,150],[188,151],[135,147],[131,147],[184,146],[183,146],[175,146],[190,152],[189,153],[191,154],[49,16],[192,17],[193,17],[227,18],[228,19],[229,20],[230,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,27],[239,28],[238,29],[240,28],[241,30],[242,31],[226,32],[276,33],[243,34],[244,35],[245,36],[277,37],[246,38],[247,39],[248,40],[249,41],[250,42],[251,43],[252,44],[253,45],[254,46],[255,47],[256,47],[257,48],[258,49],[260,50],[259,51],[261,52],[262,53],[263,54],[264,55],[265,56],[266,57],[267,58],[268,59],[269,60],[270,61],[271,62],[272,63],[273,64],[274,65],[275,66],[71,67],[70,68],[72,69],[69,70],[73,71],[74,72],[64,73],[65,74],[66,75],[67,76],[68,76],[59,33],[63,76],[75,76],[76,77],[77,78],[78,79],[85,80],[80,81],[79,82],[81,83],[62,76],[82,76],[60,76],[61,76],[83,76],[84,76],[92,84],[90,85],[91,86],[93,87],[87,88],[86,89],[89,90],[88,89],[127,91],[125,92],[126,92],[128,93],[96,94],[98,94],[99,95],[97,94],[95,94],[94,94],[100,96],[129,97],[110,98],[109,99],[107,100],[108,100],[106,101],[103,102],[105,103],[104,102],[102,102],[101,102],[119,104],[118,105],[116,106],[117,106],[124,107],[123,108],[120,109],[121,109],[122,109],[58,110],[57,33],[115,111],[114,112],[113,113],[112,114],[111,33],[56,33],[130,115],[44,33],[45,116],[46,117],[48,118],[47,116],[43,33],[8,33],[9,33],[11,33],[10,33],[2,33],[12,33],[13,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[3,33],[4,33],[23,33],[20,33],[21,33],[22,33],[24,33],[25,33],[26,33],[5,33],[27,33],[28,33],[29,33],[30,33],[6,33],[31,33],[32,33],[33,33],[34,33],[7,33],[35,33],[40,33],[41,33],[36,33],[37,33],[38,33],[39,33],[1,33],[42,33],[209,119],[216,120],[208,119],[223,121],[200,122],[199,123],[222,124],[217,125],[220,126],[202,127],[201,128],[197,129],[196,130],[219,131],[198,132],[203,133],[204,33],[207,133],[194,33],[225,134],[224,133],[211,135],[212,136],[214,137],[210,138],[213,139],[218,124],[205,140],[206,141],[215,142],[195,143],[221,144]],"semanticDiagnosticsPerFile":[132,156,157,176,134,166,54,187,143,155,186,142,177,171,148,173,149,53,169,141,164,163,145,144,182,185,153,152,179,154,181,180,147,170,146,137,168,139,160,174,150,172,151,178,55,167,51,138,161,140,159,52,165,133,162,136,158,188,135,131,184,183,175,190,189,191,49,192,193,227,228,229,230,231,232,233,234,235,236,237,239,238,240,241,242,226,276,243,244,245,277,246,247,248,249,250,251,252,253,254,255,256,257,258,260,259,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,71,70,72,69,73,74,64,65,66,67,68,59,63,75,76,77,78,85,80,79,81,62,82,60,61,83,84,92,90,91,93,87,86,89,88,127,125,126,128,96,98,99,97,95,94,100,129,110,109,107,108,106,103,105,104,102,101,119,118,116,117,124,123,120,121,122,58,57,115,114,113,112,111,56,130,44,45,46,48,47,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,209,216,208,223,200,199,222,217,220,202,201,197,196,219,198,203,204,207,194,225,224,211,212,214,210,213,218,205,206,215,195,221,50],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
|
|
1
|
+
{"program":{"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.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.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.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.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.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/playwright/types/test.d.ts","../node_modules/playwright/test.d.ts","../node_modules/@playwright/test/index.d.ts","../umbraco.config.ts","../lib/helpers/ReportHelper.ts","../lib/helpers/TelemetryDataApiHelper.ts","../lib/helpers/LanguageApiHelper.ts","../lib/helpers/DictionaryApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../node_modules/@umbraco/json-models-builders/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/sliderDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textAreaDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/numericDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/datePickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListBuilder/blockListBlockBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/checkboxListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/contentPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridSpecifiedAllowanceBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridBlockBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridAreaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/blockGridBlockGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridBuiler/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/blockGridDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dropdownDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperBuilder/imageCropperCropBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/imageCropperDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerBuilder/mediaPickerCropBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/mediaPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/radioboxDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textStringDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/trueFalseDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/mediaPickerValueBuilder/mediaPickerValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/mediaPickerValueBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/urlPickerValueBuilder/urlPickerValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/urlPickerValueBuilder/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/documentBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/document/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeAllowedDocumentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeAllowedTemplateBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeAllowedMediaTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/mediaTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/mediaTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/users/userBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/users/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupPermissionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/memberBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/member/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeCompositionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeContainerBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/memberTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/memberTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsValueBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/documentBlueprintsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentBlueprints/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/index.d.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/TemplateApiHelper.ts","../lib/helpers/DataTypeApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/TemporaryFileApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/LogViewerApiHelper.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/DocumentApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/ObjectTypesApiHelper.ts","../lib/helpers/ModelsBuilderApiHelper.ts","../lib/helpers/HealthCheckApiHelper.ts","../lib/helpers/IndexerApiHelper.ts","../lib/helpers/PublishedCacheApiHelper.ts","../lib/helpers/RedirectManagementApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DocumentBlueprintApiHelper.ts","../lib/helpers/LoginApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/UiBaseLocators.ts","../lib/helpers/StylesheetUiHelper.ts","../lib/helpers/PartialViewUiHelper.ts","../lib/helpers/ScriptUiHelper.ts","../lib/helpers/TemplateUiHelper.ts","../lib/helpers/LoginUiHelper.ts","../lib/helpers/LogViewerUiHelper.ts","../lib/helpers/TelemetryDataUiHelper.ts","../lib/helpers/DataTypeUiHelper.ts","../lib/helpers/RelationTypeUiHelper.ts","../lib/helpers/PackageUiHelper.ts","../lib/helpers/LanguageUiHelper.ts","../lib/helpers/ModelsBuilderUiHelper.ts","../lib/helpers/ExamineManagementUiHelper.ts","../lib/helpers/PublishedStatusUiHelper.ts","../lib/helpers/HealthCheckUiHelper.ts","../lib/helpers/ProfilingUiHelper.ts","../lib/helpers/WelcomeDashboardUiHelper.ts","../lib/helpers/ContentUiHelper.ts","../lib/helpers/DocumentTypeUiHelper.ts","../lib/helpers/RedirectManagementUiHelper.ts","../lib/helpers/MemberGroupUiHelper.ts","../lib/helpers/MemberUiHelper.ts","../lib/helpers/MemberTypeUiHelper.ts","../lib/helpers/MediaTypeUiHelper.ts","../lib/helpers/UserUiHelper.ts","../lib/helpers/UserGroupUiHelper.ts","../lib/helpers/MediaUiHelper.ts","../lib/helpers/DocumentBlueprintUiHelper.ts","../lib/helpers/DictionaryUiHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.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/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","5e0b584983b80e389db30120f1eac5bf6e51d4974d34f48d6fc04a5d4b60f8ca","32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","f572efaf802df1a14519a0e1217525d84e96bf70d0b3158e61c3e03a628dd43a",{"version":"47339283feea4e3d0b6d580c3787eb6a9bf5c50b224dfbf47048b2501347a142","affectsGlobalScope":true},"3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c","ec8997c2e5cea26befc76e7bf990750e96babb16977673a9ff3b5c0575d01e48",{"version":"ac566ad371d04b0c1a4e9303085f14385dd9cea96515646ca1a6a4bfb79c7968","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},{"version":"e598311445ebe4378af1cb00abfb7222659a7851aaa3d9549c64628857ab4838","signature":"d9e590839d9b5259ea85c4b7b8abedd8459bfadad3aa2ab707df5f06d838a879"},{"version":"16bc0fd4adf6f83440a9f0401fc64bd45c73ca0e5e3efa7a3df152e884420ccd","signature":"f4c914bf76148b4feba712d9e6b2b33b52ee537448d9002e48faaadd12d8f1e9"},{"version":"b167cb984d4a63a547354f22c011fa36b8c6ca52081a705de5a1a32f89369b77","signature":"474a342b5d6ca2d7fddb0b6677fc762f732d49829c88be7a8bb01ab12231bf69"},{"version":"68f09543fa1964b7589e02e2ae23600a3fe1095bc779724631c1155d875cd095","signature":"7931acf2186d2590d9ab45126666c3c6978bfbc5d5cf3912c515893f2f3b81db"},{"version":"ad9cb996e3a752abbfa8ebfb0e601bf6eb7f3b3d8c17390c600a73b408238afa","signature":"d521080ce5075b637966ad9caca3ec81b81ae03f4fad43e3f5d312208561093c"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","735f4251ea4b4790bcfa837d95e2128ca3259524e2b6f3b1d0c56a6edd5789ec","fbeb32592d935d0a8394e889bdd60dde93b35c3274a8823e2717bbe490086cc6","d70a15b0471ca6747cf3c14064536bd759e1a0d528f5624cd71ea1a4c058805a","312a2551e6cdcd53d3699f40ede6e682bdb17b1f15c6708f060fae2e29212bbd","2d0c888fee03ecc5d3395659bef30a1fb6a1851af29a28beddba1dbeccce2e3f","23b070999f9643c7d237483488008a8324f3e58c9710565bac5ce1251fb20e00","88d2d9a76bbfb7389e462ba02e24049c76561f093ab2d283562616fd7463cd07","a7647386550454047b62da8d4a5d04312208f23f22e6186b3a27ef3f10ebe618","d7eb5237961f5a6d62b25ef2f01f86dd2be6c4ccb049e4c8cc13cc88e4ffbf42","efcc13cba6fb27850812d508498facd63f2ca1d5c9f64cc145e12187c7272ed2","b8de75ee932693f19d2b084d476e51a57420d2fda88471748cb54628b150508d","5b594bcc58ede578b88b2570af727a6ef5813069a52bd596ec5fb39f368c546f","350ccc15287705af6302395c5b3a69fd855c62c4c65732fe47b19418171b190d","6b85b7398836a6e61e5314f6e1f0f4195e0068405758715628c125f65a391d99","2267458e9652d04bf6193bee1bc8480560efc76e1ca19fd6c5d229c31b20f139","1ffb0d838153e3b4c13e4b1d0381747edbf062cf41768ca0df90465dc1f8101d","6769985f8e56b9829e2bd87f6f618f72484a854040b752b3dc9f04b9f6ff6d6d","0f589f2143abbfeaa3c38651141a40b04c1320f304c7b06c9bae41b41b490ef4","f015f503439495b68ebe0e476109803d4dedbf209fad10d3457fa520b7808cbd","19aeeacd98eefad3aec0538e17d9a999bcd83f15f8a84534646250b00d08aa6f","1a279ac619bc23042fd8dd148b46d884341ada2546107e79bf0239c9b58c16fc","7b3ceccf06d79b8d68decb705be870c29dc244646252b3a4ddd4c0b7067aa571","b6e04ec3ad7799ecd11d8ef3b58b6833ee8277a23d3e5375ba6bf6cfcfccd7f3","ae9927efeaf5d7738047aecd10f716203cb5be6fed8fe480e1776e7984d5379f","ef0cfed3d4cbf4b6f43ef488eb0304182b1cf0c5669b495ac64966b7ec9750c5","558b92696d7cf4f323100fc8cf51ac4cb5aeadf3176dd0fcca84c3fe196f8412","7b97967c9c10ec8c8c9da742620fd2672666066d1cf3341873dea31a7d9c2da0","5e544d0c9724864d088addd0d30944b7f96fd68f418cf49baea16fdf57a01f03","4db0e1f3d35afda5c1919e838a1f29829a0048bf0daefc321c56e7eb1b38baea","c90e9d0d6eacd5ed89ebdfeb68037bc1f418b473261c1c70f442cfc86ac26652","8b286e0b720a01d1bab077d218fbe5a45fbbfe4587ae996e9250e3da4596165c","92aa042da3e124ffc27b5996c695dd241c6c5ef630b1c578e01e450553d05cd0","b021de85780940ad460ec30fb2aa40b64e73b97c880498c4ed984cab2aedc51f","5559a007c049b8c395a7a8835bae5c74cc46eb8b387099fe1da64cbc9b4d629a","a461cc5ab62a829a65e0663387d8ebad9c15e7d4392ffbf971e8682313ad9384","a881a280837ee611de1f906a21fcdabcb09e1a7cd559c6371baa0b9c55cdb697","7487f90ba023ddfdb3e4d68bc44ece8dfb9cb10823d2ef08ad76c052eb8a504a","1d018ec10663264ba121d22bb237fabf71d9147b949d69518bcb5770aa3a2f88","859334213ea02d45aec5b54ff1d54ef18b3a5ac715a52c0ef8a6ae75050b50a2","9cb6270351ef5ea1c6cbcf75097c63937f106f21ce46fe693482f46bc34bfb96","fb1192ef5c5db2eeac7f996bf882bd99062a742eba7d229519f8964d35f19423","46c0c38ca7829481d9f8989636eaecf3c85a48ce9f1467564cd14cc58eecc39d","aa212fd5fbc67d37391ed675ddbf279d777810aa3701b69f26b27f8cd6940f5b","a7070c25054200db28f04abf7e5829970f22870c50f4795abab0bec193c9cbb7","fbc73b8d844b5d4ca9b6f91cd1c3f8fc230dc79430016df3940c3b50d7743208","6f084acd88dd7c9e7a1c801e09597b3de7714898cfe98a6a4772c14ffeac1b0a","2ea4f3b7a09612b2510ba1699e0b7969b7e668345495d4efec4474143364bab8","fffd55ccb0e275d0cfe6aa05d95a42c0fcc6d0f749b30d7419bd5d08b2ca8fb9","79584f80c79a9c50842cf5486802d8e37652ab6b1a2f6241dfd97d7af52286ae","98e3cbe57ce44ac1c1af9dded0a70e070b4b733a7b2ee1ac4139b63b9cdda7e8","0434be58b83aa08b37601ddc9fe38efb5a95e4fce2c1d577c768288eea7ad580","33ad481a4f005ca22db6c3e8e3dd24ac7175d7b24bc0bf167787e7ea0ca8c2c0","332b1265e3c9166cc350ecb5881d3ef38bec57c2215f24928f6b78b6243f2aad","895440dd2b4c65c4b904cebfff11b835aa037fccf835bd6c0e99a2da95b5d24d","5eeb407ada49af95dd06c0055fff5554c4d4dcc3559f79099797bc0c911aa817","1be065122adefc5329252a7ee7d13bd480744049e1f57131e585b6c8763081f4","3ef0c952b7aa46d7ec44efc1f824377dd550bcf2f05e9f6eaa3bff52e0ab6630","271dd1bdc128e8bde40b8b4771d788816a2a56bb079f40c2af87cc7cbbea171d","4f3f090fa3b9300054f5ebef080c682c7c2c399024a16cb0d3b14b3e61b66bac","84c1a5494578c5affca53779468eff24fc912615128aaeba0443a7d084da1c81","d57106aed70ae121f2abbeafb903630c64b3d24ad708d331b5e39ee4154cdef2","317589f5460dfdb1386cd7feda7c57b03861c33c40f136da2239657ec9625028","755cb989f97ae212f7d67804513c0404e19d60085d50a2d821c1e7898622afb9","a73e2f83376a0533d2534cf39db9326f7b17e10258343d743dc8e4be9fa7d7e6","0104f554c856d43470d5143b76a858630948864dbb525ba503abf2495ea32d62","d2720cc47e5116280f94ea51b12443bdb6d34f6dbc2cc718eb22bc9fdf6d1c22","1c2088b528dbbfd94b68d0b391e5a753194beb4f816d01bcf45424a48490a3d8","1e9f7113fbfa4e026da90e21a0b8a0d2693ea17b396f840a35f763d00e52acd9","cc14dda6b48f2c3403ac82cbe03cb14769c11d9834fa7651d584f2c2194e568c","27955c2eada51f900146f6e08e98e7fc3c78b3c45299fa224d59751a2a67c2cf","fb9ba1c96f887d253a1cc6364e979ffea0c323945607f8c62b62dab15be4f0dd","eb3f968aec915281401fe9587625aaf032a5ded4d6e76cc79754572d638b711f","736a8b235bda37b5d1bb63730f2c149fc38ccd3e7f21e1ef27e3c136afce4ca4","b63b1bb2b9961efa84cb580dd9369838250b2d7dc26db0ae2396b75ec4df1b2c",{"version":"b90911de1515156ee23138731e27c3eba901c2390fa2caeb96350731050480d5","signature":"4a0dacea6d9687717d728fcaa64fd6c6135e01876920f0535da80b47058aa554"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"6fb2e60054648f522196c0bf8c154be32814cef9aaeff74a34b63b9ecc29c6bf","signature":"268255fe720a6ccc432b25021ac084c78a040eb586d3e3c6638d7ab602b52b47"},{"version":"51d3632454702e3501f0872cd3c33d31ed2d6e31ad76d7c5495403fe82c91ca4","signature":"c570b977d9d02cdbe8e1fae99112e1c94db6702500f1dca9f5e9d3ff31929765"},{"version":"110d5045a2b89b84bffc9b69e29dea2b7fa6be905e68ee9aa32a04e010b12769","signature":"5a28e38c7ae204c2b8a2d5b19b475f7c7444e09b089885cd721646a91d8449fd"},{"version":"0107034f755ac3674dde236b352420c5cccf0dfd0e4e7f60c45328349b68aaf9","signature":"43046af8e8411c3666e5067bfd09564f50023620c3b1a208898a8865fae624fd"},{"version":"cabd0d5b08b9df681c7d96ebb233547f3ff5afff1258fb4fd989c48cfa4b696d","signature":"0b46a5aa62769d95c500231b1c18bf8f75a79bb758ee37b1a212d4608abff3cc"},{"version":"801d15dc62fba78b6eba681a278e1513fae40bc2c1cc63b654689993027653af","signature":"f34e4769145e2478659e5fb416f7daa3329137c2d83ba78bb657582bdac5f50b"},{"version":"9aa03437de8e8312f9c38664eb81758f4aef3116c81fb0ba24502e079eaf531d","signature":"6abcd0c4ef723adaa273858de49546a5270b1498bec2329a7a7611a15b2778f2"},{"version":"39994d923da5374ed80db2024d50c50d79b896095ad9f6b9a8bd8a6c1eae542c","signature":"315ecd48c8734e40b31ab560638c16cbb27b001222a94cb50f50f640fee2a816"},{"version":"f1bd24334e503e833a2cecf306de16ba4c5cf2fefd6fda9d57c19d838f6cb8ec","signature":"35d0dad48d46ff699954fd32afe947a9191acfd3a0dbf1d9d75f4f8785d41cc3"},{"version":"c91035cfb71eb314a1a36c57c060797cc1b726cfb278c632b9fad2bbc0bdeb3d","signature":"f6d312763ab4f9e29d753994e05ee0831acdfe461acd09aedfd0d9579831fb3b"},{"version":"f2584cbee1c4db0ed99e8014beaf5426dd73a59bc7ed12373584752dd375f7f7","signature":"9be195febc077d263eb55ce87a3f6c2f3afe65a1fb960fa3e7a77d310d041c16"},{"version":"4168c3a7fe60b0621398ad39d77b926a19bf46949db420b60a1beb629a4c9591","signature":"15a64c85ff626de1630c32a968b0e6ba93831b9d66d6e5a8c7ab4d48ab5305ea"},{"version":"1b5b49f3d5d5cd378775d7e3c15aeff2c32bcdb4d76c74b14e602d1e45d91835","signature":"347f6e8fc2a5624842ca9cf3e8538f7a7b0e1fbe1857e2d03a021fc6d539a55d"},{"version":"58b36cc8aa8df872016ddc8269da9e1d09f894e0260baa6d576e55a6eebdfa4a","signature":"d7e67bbc423e3fe460466cc7e84fabf003d0756d9386d894062e6fb09f53e640"},{"version":"31b8e49f0e99e1470a80b9e273fac5700c56fe8d234059cd1bb2ad21b820b0b9","signature":"85bb21606bafbcba87c9fc4c9b64fcc55e1ed9f625bfdcfecb013a0ccce0835f"},{"version":"91e881ba6c6c9dea00855969f278cf4a0a182eb7a0014643cd702d4b6c2d823e","signature":"f8e4d7dd0140c412232ec41e3d92bd3e52eaa65c040d404313d3119693f4f9d7"},{"version":"093412a58431807d86f292735937204c5733c2b33cff45ca392dc2e1b0d710a1","signature":"36958eeed010fd5dbd61070cb9f1dcf65951f523cf00f9fe4f057e072cffcb0c"},{"version":"25c502fca47c551749ae8050e73c7e6346ea5e32b1fef84f6d6d461e9a872ce6","signature":"f789f70171e3c0b4ce8fee345c5b6fd6cb2e39835db65da25f1c218ce5970c4d"},{"version":"2c0a55550a7c81b013bb87470a726d5adcb38caa793853b285b59a1e9dbcae3c","signature":"047c892f5ed530ba1388c4bb4aa1376987caa69ea3b6a09accff3b3831bb7ea4"},{"version":"082479941b759c52dd1ec4c86e79cdd98221878a3c4bff7866b9d297f093347b","signature":"a1dbb77028ab261d8f1e556f050161f358f3e14410c94cfeaefc6ecb0aef9d8b"},{"version":"cb2868c73b78dd4ab29af567a3b7a890cd73756ac9ea11f4b1523dbabfb1b475","signature":"7bd245389f77c48754e28c66782ac10d36438dda660d7f61efdf2216b4a3ff29"},{"version":"fa6052471f16ff21b4339723cf5e59aeae57103695fe4ae901c441f690bf4de4","signature":"a2f2dda048d4e932f639ed87095a550e9d379d029c0cae7145b960eb207f39a8"},{"version":"9e731ea19fdd5786c9f684d93797bc4431fcff1774294fc1acf28b8c05a81fa9","signature":"7e75d7603e00629abab8924db82fb0e97f7c3b3d31875166c1350e0584eaea10"},{"version":"976e1721fd93d426af13b32ed6a1631eb9fd82a545c77e1e60fa348cba1995f3","signature":"a4d7b16f6426f30dbf4008e5d10c5b69c68488c87c0f8e02a3b71880112de27f"},{"version":"6984f4d377bb71621694a246abc5accda8df798180509273e047e0fb19417c03","signature":"32e104b91aedc1a53409f54ded9792e12c0eb117992e5ec041db364fb3488490"},{"version":"44a66acc14cae40aa9a3edf0c7350fc03ea60cd2fd4c4d5b2b434cfc78863626","signature":"bb8f4231e89b77b07df78175e69051078407d14ad055fad1cf54aae3e2317567"},{"version":"3dd1c4d96c19f903943cdca624fde4eb6ed978e70003b9d43f6399d45920a5c2","signature":"64d53a5e3e95b2854bc5f0101f1e4707915c9999c659e0e7ee95a79a35dfad0f"},{"version":"3b179e760b68b74e742559a8c3199b5cf8e5f5f249c9e8c933ed9f45b1960e02","signature":"3653b6bc4a1f7cd5009ef78fa566ed5e07503a6a7ce7d85396fa2cc79c9a7b56"},{"version":"c75098503446eb1ad8eada48db9d46918113dc06c71aeabd6aa19ecadd6527a6","signature":"de1d2d1e4b674d4f0e0099db99973d48ffeee46d669d369ce681427608c79621"},{"version":"f34e21606e90852580aaae62257599d8e9a919d6adb542f8350ce76452dc6ee2","signature":"c6113855c06c16f77ad43ddb21272c512fec264feac915087ee6210fdf4b2833"},{"version":"6f9ae861b728341020df66ecda60b55abce010b3362362323e2e8ff03bc36ae3","signature":"286f241d68cc0cce828d17c33b24df5a52c817ca34ae56f9fb43365e8f35baa7"},{"version":"4efdc2ea4a22c2ec266cbd13c42dc0bb8965bdc2c7d6a5202fca48013e42cd0c","signature":"441a7dd1f6a3e908d08de6d57c14679d199699ae59ec4b2c6f6909ee4e7a01dd"},{"version":"8e07a85548939ee69ee931e3dd475a77646042c018febab089f06a36403111de","signature":"5b6af1305a4c918d33730d4c9043d4075b36f9ca51b6fdf5ec49c4874e9d75ce"},{"version":"443026f892363dacd3c6e5b8db4b2d8f5e00c0158413f56b4ea0fd3bd66cee59","signature":"465498afd1f73b5c21176540a7fc8049c167dfc38e55a3c6b2045c2ae2518ff6"},{"version":"78f26f2b05823a3b4144fd1c647abc161395db63cee753b744f1ba3861c7e26d","signature":"ab5340bffc5510ce203778896a174f7aeea83e2eb58485e49a8997f08149947d"},{"version":"61b024f06c15085b253732fbfa5f8da00eebd68e2142dd20b8d0e2026a260190","signature":"76196e924bfd1c52d90cd14b733dc39295f91d2fe6a1af1d19d8b4f3ecc46200"},{"version":"44be52888d4de8676e0e119860f32abb7c8d91fe66890f734a091b5946e5fd69","signature":"2371428db20903bd7351600dead95f6deda4c398b826becd7dc4accb39a6a295"},{"version":"520e594f171f1cf43306dc0b0a34d02930fc66d8d73ef38e4207f550b0862b03","signature":"91b55ca0210d7bf71a349496077c34339091ab3018e2f001613a5916c2bafdd4"},{"version":"70082ebcdffb51a4f232d04e7a72fa796d6f058e0a5ffaa81d51b2bdaa4dcacd","signature":"56544ec521b04c8619ecbb1fc134cd36e27f3fc52cbac2c6d0d66caa5e2bcf1c"},{"version":"f683588eb6f67d093e22010f727767dc12ccf947c4fcd56cfbf042e8b396dfc8","signature":"c89e2d183a3683530fc7c5fd94368e05bf62438940c1da5e3b73c71b00b1cbce"},{"version":"19a1a3e1f5321005e623b2ae3665f2968a7284f33f485e611d11f8c127fd6b46","signature":"a917c20caa02cf7636797e7872d5d5fd0355770e67808dc8c0525154fe5df041"},{"version":"c694cc36fdfeda4e7ad3ec79875a395d94c0e983469f6f8b1f747ef24674f4e0","signature":"708167176f8be143ef9e9adb420b236bd96b640ac8718a5d35c03248db221029"},{"version":"6ab351e24f0a799d04759e594e23875777e4a2adfeb494e1a0cba5e391da07c9","signature":"3bf19102eebc41e4a232a2434d49019f85df851e560191bb9657d043ff35d41b"},{"version":"4a0cfb0d136c13a6f5df928908838752f1f49ec89974acc27d69c3e93cbd5e50","signature":"e89d36d87b8f081e39accdb95e7d8b1518f56ca3250a52ff198f7490690232b6"},{"version":"2175e03fdcda9c3712aef45c56ede5298a4cf9143cc4936b43bed3fa30dd1fcc","signature":"c9f380595a1b20178f11f412b19da6914b49b12b862d9975a7e3108db1f7e842"},{"version":"78526f514c7d451d6473767d60135afc28b293a43f52f4bd63c9c8907539f459","signature":"f89afc38ed75b7dcc5a7f22aba7003eaac55766cf16f059034f47f0521353f30"},{"version":"f0f337daea9b8ef0a90c72de16b4127cc5b923848e8517a478acfc2000dfc5e6","signature":"b97dd1e64aa5e3342df88a0a89ffd5ac3dbae9784497cafff8c7bf2f9602ac53"},{"version":"dc4bb7cb57b62e8c0cc8506ea225432b72440a9aeda2ecc566e7a94efb362c08","signature":"d72955998ba844deea604724a13e2fc50416bedf6a3d07a4dcee02e55c227a03"},{"version":"9a3b8095210541246df24b835bc8911b0b68092a2f8062cef758ee4db5698d46","signature":"fa1ac0f2e39606267b5ca9bfdf0acacb1d0de33fe78d8e27ec81905150c7967c"},{"version":"16b0e97d18dee16d5ca821a0fdefe07047a58e994e8d15651a091f4b76299b00","signature":"c2b78ad093c430807ae5afa6c56a12577970453c0d23a5a39249d4c9f4f04c9a"},{"version":"024dbe04ab741c6bb1e4d2882cea3a3510d32d22af7da9783c10f570b43792c7","signature":"5d0d919a448daeb3f24ea39e50dd38c948063f4e2dffe9d8e3c9539868d96eea"},{"version":"7960a96d2f71d114c743bf00a74576c5d1b5e4ecc1b836599dce7e48196c1243","signature":"fc9e5765a2a6a6af96287dade21ae0e657f8f095aaf223dbdd98751abfccd69d"},{"version":"5547b082896f113bbe4c189a7f5aba61443bef27fdefc8874739478da653f39c","signature":"b1aac86d982a813a1aa943732dbd6449a660c77863576ab3b60bf1fcfc3aed93"},{"version":"e11a13fb679a17d101664035509b20d35d8204cf838c4f29adfdbb547f615370","signature":"668fd399c78b8a8ab6c3e3810acc20afa1c675f817db84c4a3575dbfb3022c6c"},{"version":"a78bd6cd5c482c963b576c1305f10da2d3300640eb7b4f79a37ad89e47379ebc","signature":"d9b61d07c211be80ca2e4733c50e376b1fc616230586cde831dcb9799d64bb89"},{"version":"16ec21eb0358f05f8ed3d27f48217ff0a8c01bd86d5aa9220902ee952f2413bf","signature":"4529a99d104e861d15b6b4036a3534c672f5e1c94a71da26cfd06b9a44107dc1"},{"version":"0e90d2f3f103086cd3cf30db51fa40ded0e25fab31e65e512a51fe4e41a99437","signature":"0bc6f26ea56f0e175343583b7f97f2b5fb884ceb24facefd96b2ec81b64377ee"},{"version":"39839643d823b7601a645cd7cc6614dc0f0c612e357d22f4db2458e22df01e6e","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"0ae539fcb9305ceed033478dad6057ca783cd05639a5ffec46236b181329b73d","signature":"fb2248233522d52bc64ce2a6cbbb7a48063c27fe937586687f86ec9e59f356be"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","daece0d85f8783595463f509f7d82b03b2c210cc064cc793096b5f9c73a6db43","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"bd27e23daf177808fc4b00c86f7d67d64dc42bbc3c855ea41bfed7a529150a1d","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"603df4e91a0c2fd815c6619927468373fb00b6c13066334982ee684f5c7d40b2","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"527e6e7c1e60184879fe97517f0d51dbfab72c4625cef50179f27f46d7fd69a1","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,271],[43,49,50,51,52,53,54,55,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,242,271],[43,49,159,271],[43,130,157,271],[43,157,271],[43,130,132,157,271],[43,49,158,159,271],[43,49,50,157,234,271],[43,49,50,159,271],[43,49,157,271],[43,132,157,271],[43,49,158,271],[43,49,50,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,271],[43,132,157,158,189,190,271],[43,49,191,271],[43,191,271],[48,271],[193,271],[228,271],[229,234,262,271],[230,241,242,249,259,270,271],[230,231,241,249,271],[232,271],[233,234,242,250,271],[234,259,267,271],[235,237,241,249,271],[236,271],[237,238,271],[241,271],[239,241,271],[241,242,243,259,270,271],[241,242,243,256,259,262,271],[226,271,275],[271],[237,241,244,249,259,270,271],[241,242,244,245,249,259,267,270,271],[244,246,259,267,270,271],[193,194,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277],[241,247,271],[248,270,271,275],[237,241,249,259,271],[250,271],[251,271],[228,252,271],[253,269,271,275],[254,271],[255,271],[241,256,257,271],[256,258,271,273],[229,241,259,260,261,262,271],[229,259,261,271],[259,260,271],[262,271],[263,271],[228,259,271],[241,265,266,271],[265,266,271],[234,249,259,267,271],[268,271],[249,269,271],[229,244,255,270,271],[234,271],[259,271,272],[248,271,273],[271,274],[229,234,241,243,252,259,270,271,273,275],[259,271,276],[69,70,271],[71,74,271],[74,271],[71,271],[69,70,71,72,271],[59,73,271],[66,271],[64,271],[59,65,271],[59,271],[78,271],[76,271],[59,77,271],[59,60,61,62,63,66,67,68,74,75,78,81,82,83,84,271],[79,271],[81,271],[59,80,271],[90,91,271],[87,89,92,271],[92,271],[90,91,92,271],[86,271],[90,271],[88,271],[125,126,271],[127,271],[125,126,127,271],[99,271],[94,95,96,97,98,271],[94,95,96,97,98,99,271],[58,85,93,100,106,110,112,115,119,124,128,271],[107,108,109,271],[107,108,271],[109,271],[101,102,103,104,105,271],[105,271],[101,102,103,104,271],[116,117,118,271],[116,117,271],[118,271],[120,121,122,123,271],[120,121,122,271],[123,271],[57,271],[113,114,271],[113,271],[114,271],[111,271],[56,129,271],[46,271],[44,45,230,241,242,259,271],[47,271],[203,207,270,271],[203,259,270,271],[198,271],[200,203,267,270,271],[249,267,271],[271,278],[198,271,278],[200,203,249,270,271],[195,196,199,202,229,241,259,270,271],[195,201,271],[199,203,229,262,270,271,278],[229,271,278],[219,229,271,278],[197,198,271,278],[203,271],[197,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,225,271],[203,210,211,271],[201,203,211,212,271],[202,271],[195,198,203,271],[203,207,211,212,271],[207,271],[201,203,206,270,271],[195,200,201,203,207,210,271],[229,259,271],[198,203,219,229,271,275,278],[46,49,51,52,53,54,55,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],[49,159],[46,157],[157],[49,157],[49],[49,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[132,157,158,189,190],[49,191],[191]],"referencedMap":[[132,1],[157,2],[158,1],[177,3],[134,4],[167,3],[54,5],[188,3],[143,6],[155,4],[187,7],[142,6],[178,3],[172,3],[148,5],[174,3],[149,5],[53,5],[170,7],[141,5],[165,3],[156,8],[164,3],[145,4],[144,6],[183,3],[186,3],[153,4],[152,5],[180,3],[154,6],[182,3],[181,3],[147,5],[171,3],[146,5],[137,5],[169,9],[139,5],[161,3],[175,3],[150,5],[173,3],[151,5],[179,3],[55,5],[168,3],[51,10],[138,5],[162,7],[140,5],[160,7],[52,5],[166,3],[133,11],[163,7],[136,5],[159,12],[189,13],[135,4],[131,4],[185,3],[184,9],[176,3],[191,14],[190,15],[192,16],[49,17],[193,18],[194,18],[228,19],[229,20],[230,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,28],[238,28],[240,29],[239,30],[241,29],[242,31],[243,32],[227,33],[277,34],[244,35],[245,36],[246,37],[278,38],[247,39],[248,40],[249,41],[250,42],[251,43],[252,44],[253,45],[254,46],[255,47],[256,48],[257,48],[258,49],[259,50],[261,51],[260,52],[262,53],[263,54],[264,55],[265,56],[266,57],[267,58],[268,59],[269,60],[270,61],[271,62],[272,63],[273,64],[274,65],[275,66],[276,67],[71,68],[70,69],[72,70],[69,71],[73,72],[74,73],[64,74],[65,75],[66,76],[67,77],[68,77],[59,34],[63,77],[75,77],[76,78],[77,79],[78,80],[85,81],[80,82],[79,83],[81,84],[62,77],[82,77],[60,77],[61,77],[83,77],[84,77],[92,85],[90,86],[91,87],[93,88],[87,89],[86,90],[89,91],[88,90],[127,92],[125,93],[126,93],[128,94],[96,95],[98,95],[99,96],[97,95],[95,95],[94,95],[100,97],[129,98],[110,99],[109,100],[107,101],[108,101],[106,102],[103,103],[105,104],[104,103],[102,103],[101,103],[119,105],[118,106],[116,107],[117,107],[124,108],[123,109],[120,110],[121,110],[122,110],[58,111],[57,34],[115,112],[114,113],[113,114],[112,115],[111,34],[56,34],[130,116],[44,34],[45,117],[46,118],[48,119],[47,117],[43,34],[8,34],[9,34],[11,34],[10,34],[2,34],[12,34],[13,34],[14,34],[15,34],[16,34],[17,34],[18,34],[19,34],[3,34],[4,34],[23,34],[20,34],[21,34],[22,34],[24,34],[25,34],[26,34],[5,34],[27,34],[28,34],[29,34],[30,34],[6,34],[31,34],[32,34],[33,34],[34,34],[7,34],[35,34],[40,34],[41,34],[36,34],[37,34],[38,34],[39,34],[1,34],[42,34],[210,120],[217,121],[209,120],[224,122],[201,123],[200,124],[223,125],[218,126],[221,127],[203,128],[202,129],[198,130],[197,131],[220,132],[199,133],[204,134],[205,34],[208,134],[195,34],[226,135],[225,134],[212,136],[213,137],[215,138],[211,139],[214,140],[219,125],[206,141],[207,142],[216,143],[196,144],[222,145],[50,1]],"exportedModulesMap":[[157,146],[177,147],[134,148],[167,147],[54,148],[188,147],[143,148],[155,148],[187,147],[142,148],[178,147],[172,147],[148,149],[174,147],[149,149],[53,148],[170,147],[141,149],[165,147],[156,150],[164,147],[145,148],[144,148],[183,147],[186,147],[153,148],[152,148],[180,147],[154,148],[182,147],[181,147],[147,149],[171,147],[146,149],[137,148],[169,147],[139,148],[161,147],[175,147],[150,149],[173,147],[151,148],[179,147],[55,148],[168,147],[51,150],[138,148],[162,147],[140,148],[160,147],[52,148],[166,147],[133,148],[163,147],[136,148],[159,151],[189,152],[135,148],[131,148],[185,147],[184,147],[176,147],[191,153],[190,154],[192,155],[49,17],[193,18],[194,18],[228,19],[229,20],[230,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,28],[238,28],[240,29],[239,30],[241,29],[242,31],[243,32],[227,33],[277,34],[244,35],[245,36],[246,37],[278,38],[247,39],[248,40],[249,41],[250,42],[251,43],[252,44],[253,45],[254,46],[255,47],[256,48],[257,48],[258,49],[259,50],[261,51],[260,52],[262,53],[263,54],[264,55],[265,56],[266,57],[267,58],[268,59],[269,60],[270,61],[271,62],[272,63],[273,64],[274,65],[275,66],[276,67],[71,68],[70,69],[72,70],[69,71],[73,72],[74,73],[64,74],[65,75],[66,76],[67,77],[68,77],[59,34],[63,77],[75,77],[76,78],[77,79],[78,80],[85,81],[80,82],[79,83],[81,84],[62,77],[82,77],[60,77],[61,77],[83,77],[84,77],[92,85],[90,86],[91,87],[93,88],[87,89],[86,90],[89,91],[88,90],[127,92],[125,93],[126,93],[128,94],[96,95],[98,95],[99,96],[97,95],[95,95],[94,95],[100,97],[129,98],[110,99],[109,100],[107,101],[108,101],[106,102],[103,103],[105,104],[104,103],[102,103],[101,103],[119,105],[118,106],[116,107],[117,107],[124,108],[123,109],[120,110],[121,110],[122,110],[58,111],[57,34],[115,112],[114,113],[113,114],[112,115],[111,34],[56,34],[130,116],[44,34],[45,117],[46,118],[48,119],[47,117],[43,34],[8,34],[9,34],[11,34],[10,34],[2,34],[12,34],[13,34],[14,34],[15,34],[16,34],[17,34],[18,34],[19,34],[3,34],[4,34],[23,34],[20,34],[21,34],[22,34],[24,34],[25,34],[26,34],[5,34],[27,34],[28,34],[29,34],[30,34],[6,34],[31,34],[32,34],[33,34],[34,34],[7,34],[35,34],[40,34],[41,34],[36,34],[37,34],[38,34],[39,34],[1,34],[42,34],[210,120],[217,121],[209,120],[224,122],[201,123],[200,124],[223,125],[218,126],[221,127],[203,128],[202,129],[198,130],[197,131],[220,132],[199,133],[204,134],[205,34],[208,134],[195,34],[226,135],[225,134],[212,136],[213,137],[215,138],[211,139],[214,140],[219,125],[206,141],[207,142],[216,143],[196,144],[222,145]],"semanticDiagnosticsPerFile":[132,157,158,177,134,167,54,188,143,155,187,142,178,172,148,174,149,53,170,141,165,156,164,145,144,183,186,153,152,180,154,182,181,147,171,146,137,169,139,161,175,150,173,151,179,55,168,51,138,162,140,160,52,166,133,163,136,159,189,135,131,185,184,176,191,190,192,49,193,194,228,229,230,231,232,233,234,235,236,237,238,240,239,241,242,243,227,277,244,245,246,278,247,248,249,250,251,252,253,254,255,256,257,258,259,261,260,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,71,70,72,69,73,74,64,65,66,67,68,59,63,75,76,77,78,85,80,79,81,62,82,60,61,83,84,92,90,91,93,87,86,89,88,127,125,126,128,96,98,99,97,95,94,100,129,110,109,107,108,106,103,105,104,102,101,119,118,116,117,124,123,120,121,122,58,57,115,114,113,112,111,56,130,44,45,46,48,47,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,210,217,209,224,201,200,223,218,221,203,202,198,197,220,199,204,205,208,195,226,225,212,213,215,211,214,219,206,207,216,196,222,50],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
|