Commit iniziale
This commit is contained in:
30
node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts
generated
vendored
Normal file
30
node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import { NetworkResponse } from "./NetworkResponse.js";
|
||||
/**
|
||||
* Options allowed by network request APIs.
|
||||
*/
|
||||
export type NetworkRequestOptions = {
|
||||
headers?: Record<string, string>;
|
||||
body?: string;
|
||||
};
|
||||
/**
|
||||
* Client network interface to send backend requests.
|
||||
* @interface
|
||||
*/
|
||||
export interface INetworkModule {
|
||||
/**
|
||||
* Interface function for async network "GET" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/
|
||||
* @param url
|
||||
* @param requestParams
|
||||
* @param enableCaching
|
||||
*/
|
||||
sendGetRequestAsync<T>(url: string, options?: NetworkRequestOptions, timeout?: number): Promise<NetworkResponse<T>>;
|
||||
/**
|
||||
* Interface function for async network "POST" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/
|
||||
* @param url
|
||||
* @param requestParams
|
||||
* @param enableCaching
|
||||
*/
|
||||
sendPostRequestAsync<T>(url: string, options?: NetworkRequestOptions): Promise<NetworkResponse<T>>;
|
||||
}
|
||||
export declare const StubbedNetworkModule: INetworkModule;
|
||||
//# sourceMappingURL=INetworkModule.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"INetworkModule.d.ts","sourceRoot":"","sources":["../../src/network/INetworkModule.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;OAKG;IACH,mBAAmB,CAAC,CAAC,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,oBAAoB,EAAE,cAWlC,CAAC"}
|
||||
20
node_modules/@azure/msal-common/dist/network/INetworkModule.mjs
generated
vendored
Normal file
20
node_modules/@azure/msal-common/dist/network/INetworkModule.mjs
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
||||
import { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
const StubbedNetworkModule = {
|
||||
sendGetRequestAsync: () => {
|
||||
return Promise.reject(createClientAuthError(methodNotImplemented));
|
||||
},
|
||||
sendPostRequestAsync: () => {
|
||||
return Promise.reject(createClientAuthError(methodNotImplemented));
|
||||
},
|
||||
};
|
||||
|
||||
export { StubbedNetworkModule };
|
||||
//# sourceMappingURL=INetworkModule.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/network/INetworkModule.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/INetworkModule.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"INetworkModule.mjs","sources":["../../src/network/INetworkModule.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.methodNotImplemented"],"mappings":";;;;;AAAA;;;AAGG;AA6CU,MAAA,oBAAoB,GAAmB;IAChD,mBAAmB,EAAE,MAAK;QACtB,OAAO,OAAO,CAAC,MAAM,CACjB,qBAAqB,CAACA,oBAAyC,CAAC,CACnE,CAAC;KACL;IACD,oBAAoB,EAAE,MAAK;QACvB,OAAO,OAAO,CAAC,MAAM,CACjB,qBAAqB,CAACA,oBAAyC,CAAC,CACnE,CAAC;KACL;;;;;"}
|
||||
6
node_modules/@azure/msal-common/dist/network/NetworkResponse.d.ts
generated
vendored
Normal file
6
node_modules/@azure/msal-common/dist/network/NetworkResponse.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export type NetworkResponse<T> = {
|
||||
headers: Record<string, string>;
|
||||
body: T;
|
||||
status: number;
|
||||
};
|
||||
//# sourceMappingURL=NetworkResponse.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/network/NetworkResponse.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/NetworkResponse.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"NetworkResponse.d.ts","sourceRoot":"","sources":["../../src/network/NetworkResponse.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
||||
19
node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts
generated
vendored
Normal file
19
node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { ShrOptions } from "../crypto/SignedHttpRequest.js";
|
||||
import { AuthenticationScheme } from "../utils/Constants.js";
|
||||
/**
|
||||
* Type representing a unique request thumbprint.
|
||||
*/
|
||||
export type RequestThumbprint = {
|
||||
clientId: string;
|
||||
authority: string;
|
||||
scopes: Array<string>;
|
||||
homeAccountIdentifier?: string;
|
||||
claims?: string;
|
||||
authenticationScheme?: AuthenticationScheme;
|
||||
resourceRequestMethod?: string;
|
||||
resourceRequestUri?: string;
|
||||
shrClaims?: string;
|
||||
sshKid?: string;
|
||||
shrOptions?: ShrOptions;
|
||||
};
|
||||
//# sourceMappingURL=RequestThumbprint.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RequestThumbprint.d.ts","sourceRoot":"","sources":["../../src/network/RequestThumbprint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC"}
|
||||
43
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts
generated
vendored
Normal file
43
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import { NetworkResponse } from "./NetworkResponse.js";
|
||||
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse.js";
|
||||
import { CacheManager } from "../cache/CacheManager.js";
|
||||
import { RequestThumbprint } from "./RequestThumbprint.js";
|
||||
import { BaseAuthRequest } from "../request/BaseAuthRequest.js";
|
||||
/** @internal */
|
||||
export declare class ThrottlingUtils {
|
||||
/**
|
||||
* Prepares a RequestThumbprint to be stored as a key.
|
||||
* @param thumbprint
|
||||
*/
|
||||
static generateThrottlingStorageKey(thumbprint: RequestThumbprint): string;
|
||||
/**
|
||||
* Performs necessary throttling checks before a network request.
|
||||
* @param cacheManager
|
||||
* @param thumbprint
|
||||
*/
|
||||
static preProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint): void;
|
||||
/**
|
||||
* Performs necessary throttling checks after a network request.
|
||||
* @param cacheManager
|
||||
* @param thumbprint
|
||||
* @param response
|
||||
*/
|
||||
static postProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint, response: NetworkResponse<ServerAuthorizationTokenResponse>): void;
|
||||
/**
|
||||
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
||||
* @param response
|
||||
*/
|
||||
static checkResponseStatus(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
||||
/**
|
||||
* Checks a NetworkResponse object's RetryAfter header
|
||||
* @param response
|
||||
*/
|
||||
static checkResponseForRetryAfter(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
||||
/**
|
||||
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
||||
* @param throttleTime
|
||||
*/
|
||||
static calculateThrottleTime(throttleTime: number): number;
|
||||
static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): void;
|
||||
}
|
||||
//# sourceMappingURL=ThrottlingUtils.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ThrottlingUtils.d.ts","sourceRoot":"","sources":["../../src/network/ThrottlingUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AAMnG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,gBAAgB;AAChB,qBAAa,eAAe;IACxB;;;OAGG;IACH,MAAM,CAAC,4BAA4B,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM;IAM1E;;;;OAIG;IACH,MAAM,CAAC,UAAU,CACb,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,iBAAiB,GAC9B,IAAI;IAiBP;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CACd,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,eAAe,CAAC,gCAAgC,CAAC,GAC5D,IAAI;IAqBP;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CACtB,QAAQ,EAAE,eAAe,CAAC,gCAAgC,CAAC,GAC5D,OAAO;IAOV;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAC7B,QAAQ,EAAE,eAAe,CAAC,gCAAgC,CAAC,GAC5D,OAAO;IAUV;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAc1D,MAAM,CAAC,cAAc,CACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,qBAAqB,CAAC,EAAE,MAAM,GAC/B,IAAI;CAiBV"}
|
||||
103
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs
generated
vendored
Normal file
103
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { ThrottlingConstants, Constants, HeaderNames } from '../utils/Constants.mjs';
|
||||
import { ServerError } from '../error/ServerError.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/** @internal */
|
||||
class ThrottlingUtils {
|
||||
/**
|
||||
* Prepares a RequestThumbprint to be stored as a key.
|
||||
* @param thumbprint
|
||||
*/
|
||||
static generateThrottlingStorageKey(thumbprint) {
|
||||
return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;
|
||||
}
|
||||
/**
|
||||
* Performs necessary throttling checks before a network request.
|
||||
* @param cacheManager
|
||||
* @param thumbprint
|
||||
*/
|
||||
static preProcess(cacheManager, thumbprint) {
|
||||
const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);
|
||||
const value = cacheManager.getThrottlingCache(key);
|
||||
if (value) {
|
||||
if (value.throttleTime < Date.now()) {
|
||||
cacheManager.removeItem(key);
|
||||
return;
|
||||
}
|
||||
throw new ServerError(value.errorCodes?.join(" ") || Constants.EMPTY_STRING, value.errorMessage, value.subError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Performs necessary throttling checks after a network request.
|
||||
* @param cacheManager
|
||||
* @param thumbprint
|
||||
* @param response
|
||||
*/
|
||||
static postProcess(cacheManager, thumbprint, response) {
|
||||
if (ThrottlingUtils.checkResponseStatus(response) ||
|
||||
ThrottlingUtils.checkResponseForRetryAfter(response)) {
|
||||
const thumbprintValue = {
|
||||
throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),
|
||||
error: response.body.error,
|
||||
errorCodes: response.body.error_codes,
|
||||
errorMessage: response.body.error_description,
|
||||
subError: response.body.suberror,
|
||||
};
|
||||
cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
||||
* @param response
|
||||
*/
|
||||
static checkResponseStatus(response) {
|
||||
return (response.status === 429 ||
|
||||
(response.status >= 500 && response.status < 600));
|
||||
}
|
||||
/**
|
||||
* Checks a NetworkResponse object's RetryAfter header
|
||||
* @param response
|
||||
*/
|
||||
static checkResponseForRetryAfter(response) {
|
||||
if (response.headers) {
|
||||
return (response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) &&
|
||||
(response.status < 200 || response.status >= 300));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
||||
* @param throttleTime
|
||||
*/
|
||||
static calculateThrottleTime(throttleTime) {
|
||||
const time = throttleTime <= 0 ? 0 : throttleTime;
|
||||
const currentSeconds = Date.now() / 1000;
|
||||
return Math.floor(Math.min(currentSeconds +
|
||||
(time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds +
|
||||
ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);
|
||||
}
|
||||
static removeThrottle(cacheManager, clientId, request, homeAccountIdentifier) {
|
||||
const thumbprint = {
|
||||
clientId: clientId,
|
||||
authority: request.authority,
|
||||
scopes: request.scopes,
|
||||
homeAccountIdentifier: homeAccountIdentifier,
|
||||
claims: request.claims,
|
||||
authenticationScheme: request.authenticationScheme,
|
||||
resourceRequestMethod: request.resourceRequestMethod,
|
||||
resourceRequestUri: request.resourceRequestUri,
|
||||
shrClaims: request.shrClaims,
|
||||
sshKid: request.sshKid,
|
||||
};
|
||||
const key = this.generateThrottlingStorageKey(thumbprint);
|
||||
cacheManager.removeItem(key);
|
||||
}
|
||||
}
|
||||
|
||||
export { ThrottlingUtils };
|
||||
//# sourceMappingURL=ThrottlingUtils.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ThrottlingUtils.mjs","sources":["../../src/network/ThrottlingUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;AAeH;MACa,eAAe,CAAA;AACxB;;;AAGG;IACH,OAAO,4BAA4B,CAAC,UAA6B,EAAA;AAC7D,QAAA,OAAO,CAAG,EAAA,mBAAmB,CAAC,iBAAiB,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAC7D,UAAU,CACb,CAAA,CAAE,CAAC;KACP;AAED;;;;AAIG;AACH,IAAA,OAAO,UAAU,CACb,YAA0B,EAC1B,UAA6B,EAAA;QAE7B,MAAM,GAAG,GAAG,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAEnD,QAAA,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;AACjC,gBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO;AACV,aAAA;YACD,MAAM,IAAI,WAAW,CACjB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,YAAY,EACrD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,QAAQ,CACjB,CAAC;AACL,SAAA;KACJ;AAED;;;;;AAKG;AACH,IAAA,OAAO,WAAW,CACd,YAA0B,EAC1B,UAA6B,EAC7B,QAA2D,EAAA;AAE3D,QAAA,IACI,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC;AAC7C,YAAA,eAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EACtD;AACE,YAAA,MAAM,eAAe,GAAqB;AACtC,gBAAA,YAAY,EAAE,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CACtD;AACD,gBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;AAC1B,gBAAA,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;AACrC,gBAAA,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB;AAC7C,gBAAA,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;aACnC,CAAC;AACF,YAAA,YAAY,CAAC,kBAAkB,CAC3B,eAAe,CAAC,4BAA4B,CAAC,UAAU,CAAC,EACxD,eAAe,CAClB,CAAC;AACL,SAAA;KACJ;AAED;;;AAGG;IACH,OAAO,mBAAmB,CACtB,QAA2D,EAAA;AAE3D,QAAA,QACI,QAAQ,CAAC,MAAM,KAAK,GAAG;AACvB,aAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,EACnD;KACL;AAED;;;AAGG;IACH,OAAO,0BAA0B,CAC7B,QAA2D,EAAA;QAE3D,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,QACI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC;AACxD,iBAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,EACnD;AACL,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;;AAGG;IACH,OAAO,qBAAqB,CAAC,YAAoB,EAAA;AAC7C,QAAA,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAElD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,GAAG,CACJ,cAAc;AACV,aAAC,IAAI,IAAI,mBAAmB,CAAC,6BAA6B,CAAC,EAC/D,cAAc;AACV,YAAA,mBAAmB,CAAC,iCAAiC,CAC5D,GAAG,IAAI,CACX,CAAC;KACL;IAED,OAAO,cAAc,CACjB,YAA0B,EAC1B,QAAgB,EAChB,OAAwB,EACxB,qBAA8B,EAAA;AAE9B,QAAA,MAAM,UAAU,GAAsB;AAClC,YAAA,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,YAAA,qBAAqB,EAAE,qBAAqB;YAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAC1D,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAChC;AACJ;;;;"}
|
||||
Reference in New Issue
Block a user