Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@replit/crosis

Package Overview
Dependencies
Maintainers
24
Versions
120
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@replit/crosis - npm Package Compare versions

Comparing version
11.0.0
to
12.0.0
+6
dist/util/CrosisError.d.ts
export default class CrosisError extends Error {
readonly extras: Record<string, unknown> | null;
readonly tags: Record<string, string> | null;
constructor(message: string, extras?: Record<string, unknown> | null, tags?: Record<string, string> | null);
static fromError(error: Error): CrosisError;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class CrosisError extends Error {
constructor(message, extras = null, tags = null) {
super(message);
this.name = 'CrosisError';
this.extras = extras;
this.tags = tags;
}
static fromError(error) {
const crosisError = new CrosisError(error.message);
crosisError.stack = error.stack;
return crosisError;
}
}
exports.default = CrosisError;
//# sourceMappingURL=CrosisError.js.map
{"version":3,"file":"CrosisError.js","sourceRoot":"","sources":["../../src/util/CrosisError.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAY,SAAQ,KAAK;IAM5C,YACE,OAAe,EAEf,SAAyC,IAAI,EAC7C,OAAsC,IAAI;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAY;QAC3B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAEhC,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAzBD,8BAyBC"}
+12
-12

@@ -121,3 +121,3 @@ "use strict";

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'client closed') {
if (log.type === 'breadcrumb' && log.message === 'status:closed') {
expect(fetchConnectionMetadata).toHaveBeenCalledTimes(1);

@@ -128,3 +128,3 @@ expect(onConnect).not.toHaveBeenCalled();

}
if (log.type !== 'breadcrumb' || log.message !== 'retrying') {
if (log.type !== 'breadcrumb' || log.message !== 'status:retrying') {
return;

@@ -161,3 +161,3 @@ }

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'client closed') {
if (log.type === 'breadcrumb' && log.message === 'status:closed') {
expect(fetchConnectionMetadata.mock.calls.length).toBeGreaterThan(1);

@@ -168,3 +168,3 @@ expect(onConnect).not.toHaveBeenCalled();

}
if (log.type !== 'breadcrumb' || log.message !== 'retrying') {
if (log.type !== 'breadcrumb' || log.message !== 'status:retrying') {
return;

@@ -706,3 +706,3 @@ }

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'reconnecting') {
if (log.type === 'breadcrumb' && log.message === 'status:reconnecting') {
setTimeout(() => {

@@ -736,3 +736,3 @@ client.close();

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'polling fallback') {
if (log.type === 'breadcrumb' && log.message === 'websocket:polling fallback') {
didLogFallback = true;

@@ -758,3 +758,3 @@ }

}));
}, 50000);
}, 70000);
(0, concurrent_1.concurrent)('does not fallback to polling if host is unset', (done) => {

@@ -765,3 +765,3 @@ const client = getClient(done);

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'client closed') {
if (log.type === 'breadcrumb' && log.message === 'status:closed') {
expect(didLogFallback).toBe(false);

@@ -777,3 +777,3 @@ expect(onConnect).not.toHaveBeenCalled();

if (log.type === 'breadcrumb' &&
log.message === 'connecting' &&
log.message === 'status:connecting' &&
((_a = log.data) === null || _a === void 0 ? void 0 : _a.connectTries) === 4) {

@@ -784,3 +784,3 @@ setTimeout(() => {

}
if (log.type === 'breadcrumb' && log.message === 'polling fallback') {
if (log.type === 'breadcrumb' && log.message === 'websocket:polling fallback') {
didLogFallback = true;

@@ -801,3 +801,3 @@ }

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'connecting') {
if (log.type === 'breadcrumb' && log.message === 'status:connecting') {
setTimeout(() => {

@@ -842,3 +842,3 @@ client.close();

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'client closed') {
if (log.type === 'breadcrumb' && log.message === 'status:closed') {
expect(onAbort).toHaveBeenCalledTimes(1);

@@ -845,0 +845,0 @@ expect(onConnect).not.toHaveBeenCalled();

@@ -1,1 +0,1 @@

{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":";;;;;AAGA,0BAA0D;AAC1D,6CAAoD;AAEpD,iDAAqD;AACrD,+CAAuC;AACvC,4DAAyD;AACzD,gDAAqD;AACrD,8FAAsE;AAGtE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAG3B,MAAM,cAAc,GAAuB,EAAE,CAAC;AAG9C,SAAS,SAAS,CAAa,IAAuB;IACpD,MAAM,CAAC,GAAG,IAAI,UAAM,EAAO,CAAC;IAC5B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACrC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IACzC,GAAG,IAAA,+BAAqB,GAAE;IAC1B,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,QAAQ,CAAC,GAAG,EAAE;IACZ,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,SAAS,kCAAkC;IACzC,MAAM,2BAA2B;QAAjC;YAKE,SAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YAEhB,UAAK,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,MAAe,EAAE,EAAE;gBACvC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,qDAAG,IAAA,4BAAgB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;YACvE,CAAC,CAAC;QACJ,CAAC;;IATQ,gCAAI,GAAG,CAAC,CAAC;IAWlB,MAAM,0BAA0B,GAAG,2BAA+C,CAAC;IAGnF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,2BAAiB,EAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1E,MAAM,CAAC,IAAA,2BAAiB,EAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE1F,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,IAAA,uBAAU,EAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;IACpC,MAAM,MAAM,GAAG,SAAS,CAAuB,IAAI,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEjC,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG;KACb,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,+CAA+C,EAAE,CAAC,IAAI,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,SAAS,CAAuB,IAAI,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEjC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,QAAQ,IAAI,CAAC,CAAC;YAEd,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAClB,OAAO;oBACL,KAAK,EAAE,gCAA4B,CAAC,SAAS;iBAC9C,CAAC;aACH;YAED,OAAO;gBACL,GAAG,IAAA,+BAAqB,GAAE;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG;KACb,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,QAAQ,IAAI,CAAC,CAAC;YAEd,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAClB,OAAO;oBACL,GAAG,IAAA,+BAAqB,GAAE;oBAC1B,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,wCAAwC;iBAChD,CAAC;aACH;YAED,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QACD,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,kCAAkC,EAAE,CAAC,IAAI,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE5B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE;YAChE,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,EAAE,CAAC;YAEP,OAAO;SACR;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE;YAC3D,OAAO;SACR;QAED,cAAc,IAAI,CAAC,CAAC;QACpB,IAAI,cAAc,IAAI,CAAC,EAAE;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,OAAO,EAAE,CAAC;QACV,uBAAuB,EAAE,IAAI;QAC7B,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,uBAAuB,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,wCAAwC;gBAC/C,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE,4BAA4B;gBACvC,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,0CAA0C,EAAE,CAAC,IAAI,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE5B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE;YAChE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,EAAE,CAAC;YAEP,OAAO;SACR;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE;YAC3D,OAAO;SACR;QACD,cAAc,IAAI,CAAC,CAAC;QACpB,IAAI,cAAc,IAAI,CAAC,EAAE;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,OAAO,EAAE,CAAC;QACV,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,uBAAuB,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,wCAAwC;gBAC/C,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE,4BAA4B;gBACvC,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,iEAAiE,EAAE,CAAC,IAAI,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YAEV,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,8BAA8B,GAAG,KAAK,CAAC;gBAC3C,MAAM,CAAC,IAAI,CACT;oBACE,uBAAuB,EAAE,GAAG,EAAE;wBAC5B,8BAA8B,GAAG,IAAI,CAAC;wBACtC,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,GAAG,IAAA,+BAAqB,GAAE;4BAC1B,KAAK,EAAE,IAAI;yBACZ,CAAC,CAAC;oBACL,CAAC;oBACD,cAAc,EAAE,SAAS;oBACzB,OAAO,EAAE,IAAI;iBACd,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;oBAClB,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChC,MAAM,CAAC,8BAA8B,CAAC,CAAC,UAAU,EAAE,CAAC;oBAEpD,MAAM,CAAC,KAAK,EAAE,CAAC;oBAEf,OAAO,GAAG,EAAE;wBACV,IAAI,EAAE,CAAC;oBACT,CAAC,CAAC;gBACJ,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,kDAAkD,EAAE,CAAC,IAAI,EAAE,EAAE;IACtE,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,GAAG,EAAE;YAC5B,uBAAuB,IAAI,CAAC,CAAC;YAE7B,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QACD,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,eAAe,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,mBAAmB,EAAE;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,mBAAmB,GAAG,IAAI,CAAC;gBAG3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;aAAM;YACL,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,IAAI,aAAa,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,gBAAgB,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;YAMnC,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAExC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,qCAAqC,EAAE,CAAC,IAAI,EAAE,EAAE;IACzD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAiB,IAAI,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO;KACR,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAExC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B;QACE,OAAO,EAAE,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAExC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;KACH,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,UAAU,CACR,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YACtB,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,gEAAgE,EAAE,CAAC,IAAI,EAAE,EAAE;IACpF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAExC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,KAAK,EAAE,CAAC;QAER,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,gEAAgE,EAAE,CAAC,IAAI,EAAE,EAAE;IACpF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAExC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,KAAK,EAAE,CAAC;QAER,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAuB,IAAI,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEzB,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpC,GAAG,IAAA,+BAAqB,GAAE;YAC1B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG;KACb,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEtC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,WAAW,CAChB;QACE,OAAO;QACP,IAAI,EAAE,MAAM;KACb,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,qCAAqC,EAAE,CAAC,IAAI,EAAE,EAAE;IACzD,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAC1C,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,eAAe,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,6BAA6B,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAC9C,IAAI,aAAa,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,WAAW,CAChB;QACE,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,GAAG,CAAC;QAChC,OAAO,EAAE,OAAO;KACjB,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC,6BAA6B,EAAE;YAClC,UAAU,CAAC,GAAG,EAAE;gBAGd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClB,6BAA6B,GAAG,IAAI,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErC,gBAAgB,IAAI,CAAC,CAAC;YAEtB,OAAO;SACR;QAID,IAAI,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,WAAW,CAChB,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,+CAA+C,EAAE,CAAC,IAAI,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,WAAW,CAChB,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAE7B,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,GAAG,KAAK,CAAC;YAEd,UAAU,CAAC,GAAG,EAAE;gBAEd,MAAM,CAAC,IAAI,CACT;oBACE,uBAAuB,EAAE,GAAG,EAAE,CAC5B,OAAO,CAAC,OAAO,CAAC;wBACd,GAAG,IAAA,+BAAqB,GAAE;wBAC1B,KAAK,EAAE,IAAI;qBACZ,CAAC;oBACJ,cAAc,EAAE,SAAS;oBACzB,OAAO,EAAE,IAAI;iBACd,EACD,GAAG,EAAE,CAAC,GAAG,EAAE;oBACT,IAAI,EAAE,CAAC;gBACT,CAAC,CACF,CAAC;YACJ,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAE7B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,2CAA2C,EAAE,CAAC,IAAI,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAExD,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EACR,2FAA2F,EAC3F,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IAEtC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5E,KAAK,EAAE,CAAC;IAGR,MAAM,CAAC,WAAW,CAChB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,GAAG,EAAE,CAC5B,OAAO,CAAC,OAAO,CAAC;YACd,GAAG,IAAA,+BAAqB,GAAE;YAC1B,KAAK,EAAE,IAAI;SACZ,CAAC;QACJ,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAA,uBAAU,EACR,mGAAmG,EACnG,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,GAAG,EAAE,CAC5B,OAAO,CAAC,OAAO,CAAC;YACd,GAAG,IAAA,+BAAqB,GAAE;YAC1B,KAAK,EAAE,IAAI;SACZ,CAAC;QACJ,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,YAAqB,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACjC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAE7B,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACvC;YAED,YAAY,GAAG,OAAO,CAAC;YAEvB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;QAGF,KAAK,EAAE,CAAC;QAGR,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;YAEhD,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAGhD,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAEhD,MAAM,EAAE,CAAC;gBAET,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAA,uBAAU,EAAC,6DAA6D,EAAE,CAAC,IAAI,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;QAC7B,IAAI,OAAO,EAAE;YACX,OAAO;SACR;QAED,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAE3B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,CAAC,WAAW,CAChB,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACjC,IAAI,WAAW,EAAE;gBACf,QAAQ,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAE1D,OAAO;aACR;YAED,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,WAAW,GAAG,IAAI,CAAC;YAEnB,IAAI,YAAY,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,WAAW,CAChB,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACjC,IAAI,YAAY,EAAE;gBAChB,QAAQ,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAE1D,OAAO;aACR;YAED,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,WAAW,EAAE;gBACf,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,0CAA0C,EAAE,CAAC,IAAI,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,0BAA0B,GAAG,CAAC,CAAC;IACnC,IAAI,wBAAwB,GAAG,CAAC,CAAC;IAEjC,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,cAAc,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,mBAAmB,EAAE;YACxB,UAAU,CAAC,GAAG,EAAE;;gBAGd,MAAA,MAAM,CAAC,EAAE,0CAAE,KAAK,EAAE,CAAC;gBACnB,mBAAmB,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,OAAO,CAAC,WAAW,EAAE,EAAE;YACrB,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAChD;YAED,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,0BAA0B,IAAI,CAAC,CAAC;aACjC;iBAAM,IAAI,WAAW,CAAC,aAAa,KAAK,KAAK,EAAE;gBAC9C,wBAAwB,IAAI,CAAC,CAAC;aAC/B;YAED,IAAI,cAAc,KAAK,CAAC,EAAE;gBACxB,MAAM,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE5C,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EACR,iEAAiE,EACjE,KAAK,EAAE,IAAuB,EAAE,EAAE;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG;QAClB,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACrC,MAAM,CAAC,IAAI,CACT,WAAW,EACX,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAExC,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACnD;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;YAEjB,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,CAAC,KAAK,CAAC;oBACX,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,KAAK,EAAE,CAAC;aAChB;YAED,OAAO,CAAC,WAAW,EAAE,EAAE;gBACrB,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE;oBACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBAChD;gBAED,IAAI,SAAS,EAAE;oBACb,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjD,IAAI,EAAE,CAAC;iBACR;qBAAM;oBACL,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChD,SAAS,GAAG,IAAI,CAAC;iBAClB;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,IAAA,uBAAU,EAAC,qCAAqC,EAAE,CAAC,IAAI,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,cAAc,EAAE;YAC/D,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,IAAI,OAAO,EAAE;YAEX,MAAM,EAAE,CAAC;YAET,UAAU,CAAC,GAAG,EAAE;;gBAGd,MAAA,MAAM,CAAC,EAAE,0CAAE,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EACR,qBAAqB,EACrB,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,0BAA0B,GAAG,kCAAkC,EAAE,CAAC;IAExE,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,kBAAkB,EAAE;YACnE,cAAc,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,OAAO,EAAE,IAAI;QACb,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpC,GAAG,IAAA,+BAAqB,GAAE;YAC1B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,cAAc,EAAE,0BAA0B;QAC1C,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,kBAAkB;KAChC,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,EACD,KAAK,CACN,CAAC;AAEF,IAAA,uBAAU,EACR,+CAA+C,EAC/C,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE;YAChE,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEzC,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,0BAA0B,GAAG,kCAAkC,EAAE,CAAC;IAExE,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;;QACxB,IACE,GAAG,CAAC,IAAI,KAAK,YAAY;YACzB,GAAG,CAAC,OAAO,KAAK,YAAY;YAE5B,CAAA,MAAC,GAAG,CAAC,IAA4B,0CAAE,YAAY,MAAK,CAAC,EACrD;YACA,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,kBAAkB,EAAE;YACnE,cAAc,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,OAAO,EAAE,GAAG;QACZ,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,0BAA0B;QAC1C,OAAO,EAAE,IAAI;KACd,EACD,SAAS,CACV,CAAC;AACJ,CAAC,EACD,KAAK,CACN,CAAC;AAEF,IAAA,uBAAU,EACR,yCAAyC,EACzC,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,0BAA0B,GAAG,kCAAkC,EAAE,CAAC;IAExE,MAAM,OAAO,GAAG,IAAI,CAAC;IAErB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,YAAY,EAAE;YAC7D,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,EAAE,CAAC;gBAGT,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,OAAO;QACP,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpC,GAAG,IAAA,+BAAqB,GAAE;YAC1B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,cAAc,EAAE,0BAA0B;QAC1C,OAAO,EAAE,IAAI;KACd,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;AACJ,CAAC,EACD,KAAK,CACN,CAAC;AAEF,IAAA,uBAAU,EAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAAC,4BAA4B,CACjC,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,GAAG,EAAE,CAC5B,OAAO,CAAC,OAAO,CAAC;YACd,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC;SACzB,CAAC;QACJ,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,sCAAsC,EAAE,CAAC,IAAI,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE;YAEhE,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEzC,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,CAAC,WAAW,EAAE,EAAE,CACvC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAEhB,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;gBACzB,OAAO,EAAE,CAAC;gBACV,CAAC,CAAC;oBACA,KAAK,EAAE,gCAA4B,CAAC,OAAO;iBAC5C,CAAC,CAAC;YACL,CAAC,CAAC;YAGF,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QACJ,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,kEAAkE,EAAE,CAAC,IAAI,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE/B,IAAI,iBAAiB,GAA6D,IAAI,CAAC;IACvF,MAAM,CAAC,IAAI,CACT;QAEE,uBAAuB,EAAE,CAAC,WAAW,EAAE,EAAE,CACvC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,iBAAiB,GAAG,CAAC,CAAC;YAEtB,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;gBACzB,OAAO,EAAE,CAAC;YAEZ,CAAC,CAAC;QACJ,CAAC,CAAC;QACJ,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,YAAY,CACb,CAAC;IAEF,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;IAGvC,iBAAkB,CAAC,EAAE,KAAK,EAAE,gCAA4B,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,IAAI;KACd,EACD,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE9C,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,uBAAU,EAAC,4BAA4B,EAAE,CAAC,IAAI,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,SAAS,CAAuB,IAAI,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,YAAY,CACjB,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE;QAChC,IAAI,UAAU,CAAC,KAAK,KAAK,cAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;YAInD,OAAO;SACR;QAED,KAAK,EAAE,CAAC;QAER,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,cAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS;aACtC,CAAC,CACH,CAAC;SACH;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,cAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS;aACtC,CAAC,CACH,CAAC;SACH;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE;YAItB,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACxB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,cAAG,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ;aACrC,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,uBAAuB,EAAE,qBAAqB;QAC9C,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG;KACb,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}

@@ -52,3 +52,3 @@ "use strict";

client.onDebugLog((log) => {
if (log.type === 'breadcrumb' && log.message === 'unrecoverable error') {
if (log.type === 'breadcrumb' && log.message === 'onUnrecoverableError') {
expect(tryCount).toBe(1);

@@ -55,0 +55,0 @@ done();

@@ -1,1 +0,1 @@

{"version":3,"file":"retry.test.js","sourceRoot":"","sources":["../../src/__tests__/retry.test.ts"],"names":[],"mappings":";;;;;AAEA,0BAA4B;AAC5B,8EAAqC;AACrC,6CAAwC;AACxC,oCAAqC;AAGrC,MAAM,qBAAqB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAE3E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEtB,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAAE,EAAE;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;IAC9B,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,MAAM,cAAc,GAAwC,EAAE,CAAC;AAC/D,QAAQ,CAAC,GAAG,EAAE;IACZ,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,CAAC,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,UAAM,EAAwB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,6BAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CACT;YACE,uBAAuB,EAAE,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBAEX,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,GAAG,kBAAkB;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,cAAc,EAAE,uBAAS;YACzB,OAAO,EAAE,GAAG;SACb,EACD,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE;gBACtE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEzB,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,CAAC,IAAI,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,UAAM,EAAwB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,6BAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CACT;YACE,uBAAuB,EAAE,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBAEX,IAAI,QAAQ,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,CAAC;iBACR;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,GAAG,kBAAkB;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,cAAc,EAAE,uBAAS;YACzB,OAAO,EAAE,GAAG;SACb,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,iBAAS,CAAC,mBAAmB;gBACnC,MAAM,EAAE,qBAAqB;gBAC7B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
{"version":3,"file":"retry.test.js","sourceRoot":"","sources":["../../src/__tests__/retry.test.ts"],"names":[],"mappings":";;;;;AAEA,0BAA4B;AAC5B,8EAAqC;AACrC,6CAAwC;AACxC,oCAAqC;AAGrC,MAAM,qBAAqB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAE3E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEtB,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAAE,EAAE;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;IAC9B,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,MAAM,cAAc,GAAwC,EAAE,CAAC;AAC/D,QAAQ,CAAC,GAAG,EAAE;IACZ,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,CAAC,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,UAAM,EAAwB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,6BAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CACT;YACE,uBAAuB,EAAE,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBAEX,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,GAAG,kBAAkB;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,cAAc,EAAE,uBAAS;YACzB,OAAO,EAAE,GAAG;SACb,EACD,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,sBAAsB,EAAE;gBACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEzB,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,CAAC,IAAI,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,UAAM,EAAwB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,6BAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CACT;YACE,uBAAuB,EAAE,GAAG,EAAE;gBAC5B,QAAQ,EAAE,CAAC;gBAEX,IAAI,QAAQ,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,CAAC;iBACR;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,GAAG,kBAAkB;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,cAAc,EAAE,uBAAS;YACzB,OAAO,EAAE,GAAG;SACb,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,iBAAS,CAAC,mBAAmB;gBACnC,MAAM,EAAE,qBAAqB;gBAC7B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
import { api } from '@replit/protocol';
import type { ChannelCloseReason, RequestResult } from './types';
import CrosisError from './util/CrosisError';
export declare class Channel {

@@ -17,3 +18,3 @@ id: number;

send: (cmd: api.Command) => void;
onUnrecoverableError: (e: Error) => void;
onUnrecoverableError: (e: CrosisError) => void;
});

@@ -25,2 +26,3 @@ onCommand: (listener: (cmd: api.Command) => void) => (() => void);

handleClose: (reason: ChannelCloseReason) => void;
private getExtras;
}
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Channel = void 0;
const protocol_1 = require("@replit/protocol");
const CrosisError_1 = __importDefault(require("./util/CrosisError"));
class Channel {

@@ -9,6 +13,3 @@ constructor({ id, name, service, send, onUnrecoverableError, }) {

if (this.status === 'closed') {
const e = new Error('Trying to listen to commands on a closed channel ' +
(this.name ? `(${this.name})` : '') +
' for ' +
this.service);
const e = new CrosisError_1.default('Trying to listen to commands on a closed channel for ' + this.service, this.getExtras(), { service: this.service });
this.onUnrecoverableError(e);

@@ -24,3 +25,3 @@ throw e;

if (this.status === 'closed') {
const e = new Error('Calling send on closed channel for ' + this.service);
const e = new CrosisError_1.default('Calling send on closed channel for ' + this.service, this.getExtras(cmdJson), { service: this.service });
this.onUnrecoverableError(e);

@@ -30,3 +31,3 @@ throw e;

if (this.status === 'closing') {
const e = new Error('Cannot send any more commands after a close request on channel for ' + this.service);
const e = new CrosisError_1.default('Cannot send any more commands after a close request on channel for ' + this.service, this.getExtras(cmdJson), { service: this.service });
this.onUnrecoverableError(e);

@@ -69,2 +70,16 @@ throw e;

};
this.getExtras = (cmd = null) => {
const commandExtras = cmd
? {
command: cmd,
commandRef: cmd.ref,
commandKeys: Object.keys(cmd),
}
: {};
return {
...commandExtras,
channelName: this.name,
channelId: this.id,
};
};
this.id = id;

@@ -71,0 +86,0 @@ this.name = name;

@@ -1,1 +0,1 @@

{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}

@@ -5,2 +5,3 @@ import { api } from '@replit/protocol';

import type { GovalMetadata, OpenChannelCb, ChannelOptions, DebugLog, OpenOptions } from './types';
import CrosisError from './util/CrosisError';
export declare class Client<Ctx = null> {

@@ -41,3 +42,3 @@ private connectionState;

onFirewallDenied: () => void;
setUnrecoverableErrorHandler: (onUnrecoverableError: (e: Error) => void) => void;
setUnrecoverableErrorHandler: (onUnrecoverableError: (e: CrosisError) => void) => void;
getConnectionMetadata: () => GovalMetadata | null;

@@ -44,0 +45,0 @@ private connect;

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -9,2 +12,3 @@ exports.Client = void 0;

const types_1 = require("./types");
const CrosisError_1 = __importDefault(require("./util/CrosisError"));
const MAX_RETRY_COUNT = 10;

@@ -15,3 +19,3 @@ class Client {

if (this.chan0Cb) {
const error = new Error('You must call `close` before opening the client again');
const error = new CrosisError_1.default('You must call `close` before opening the client again');
this.onUnrecoverableError(error);

@@ -21,3 +25,3 @@ throw error;

if (this.destroyed) {
const error = new Error('Client has been destroyed and cannot be re-used');
const error = new CrosisError_1.default('Client has been destroyed and cannot be re-used');
this.onUnrecoverableError(error);

@@ -34,4 +38,3 @@ throw error;

type: 'breadcrumb',
message: 'open',
data: { polling: false },
message: 'status:open',
});

@@ -46,3 +49,3 @@ this.chan0Cb = cb;

if (sameNameChanRequests.some((cr) => !cr.closeRequested)) {
const error = new Error(`Channel with name ${options.name} already opened`);
const error = new CrosisError_1.default(`Channel with name ${options.name} already opened`);
this.onUnrecoverableError(error);

@@ -52,3 +55,3 @@ throw error;

if (this.destroyed) {
const error = new Error('Client has been destroyed and is unusable');
const error = new CrosisError_1.default('Client has been destroyed and is unusable');
this.onUnrecoverableError(error);

@@ -66,3 +69,2 @@ throw error;

this.channelRequests.push(channelRequest);
const serviceName = typeof options.service === 'string' ? options.service : 'from thunk';
if (this.getConnectionState() === types_1.ConnectionState.CONNECTED && !sameNameChanRequests.length) {

@@ -74,6 +76,7 @@ this.requestOpenChannel(channelRequest);

type: 'breadcrumb',
message: 'open channel delayed',
message: 'client:openChannel:delayed',
data: {
connectionState: this.getConnectionState(),
service: serviceName,
service: channelRequest.options.service,
name: channelRequest.options.name,
},

@@ -86,6 +89,7 @@ });

type: 'breadcrumb',
message: 'abandoning close request',
message: 'client:closeChannel:already requested',
data: {
channelId: channelRequest.channelId,
service: serviceName,
service: channelRequest.options.service,
name: channelRequest.options.name,
},

@@ -99,9 +103,8 @@ });

type: 'breadcrumb',
message: 'close channel deemed unnecessary',
message: 'client:closeChannel:channel not open',
data: {
channelsCount: Object.keys(this.channels).length,
requestsCount: this.channelRequests.length,
connectionState: this.getConnectionState(),
channelId: channelRequest.channelId,
service: serviceName,
service: channelRequest.options.service,
name: channelRequest.options.name,
},

@@ -121,3 +124,3 @@ });

if (!this.connectOptions) {
this.onUnrecoverableError(new Error('Expected connectionOptions'));
this.onUnrecoverableError(new CrosisError_1.default('Expected connectionOptions'));
return;

@@ -127,8 +130,7 @@ }

if (skip && skip(this.connectOptions.context)) {
const serviceName = typeof options.service === 'string' ? options.service : 'from thunk';
this.debug({
type: 'breadcrumb',
message: 'open channel skipped',
message: 'requestOpenChannel:explicit skip',
data: {
service: serviceName,
service: options.service,
name: options.name,

@@ -147,3 +149,3 @@ },

if (channelRequest.channelId) {
this.onUnrecoverableError(new Error('Unexpected channelId'));
this.onUnrecoverableError(new CrosisError_1.default('Unexpected channelId'));
return;

@@ -180,3 +182,3 @@ }

if (cmd.openChanRes == null) {
this.onUnrecoverableError(new Error('Expected openChanRes on command'));
this.onUnrecoverableError(new CrosisError_1.default('Expected openChanRes on command'));
return;

@@ -187,3 +189,3 @@ }

type: 'breadcrumb',
message: 'openChanres',
message: 'requestOpenChannel:openChanRes',
data: {

@@ -197,15 +199,15 @@ id,

if (!this.connectOptions) {
this.onUnrecoverableError(new Error('Expected connectionOptions'));
this.onUnrecoverableError(new CrosisError_1.default('Expected connectionOptions'));
return;
}
if (state === protocol_1.api.OpenChannelRes.State.ERROR) {
this.onUnrecoverableError(new Error(`Channel open resulted with an error: ${error || 'with no message'}`));
this.onUnrecoverableError(new CrosisError_1.default(`Channel open resulted with an error: ${error || 'with no message'}`));
return;
}
if (typeof id !== 'number' || typeof state !== 'number') {
this.onUnrecoverableError(new Error('Expected state and channel id'));
this.onUnrecoverableError(new CrosisError_1.default('Expected state and channel id'));
return;
}
if (this.channels[id] != null) {
this.onUnrecoverableError(new Error(`Channel with id ${id} already exists`));
this.onUnrecoverableError(new CrosisError_1.default(`Channel with id ${id} already exists`));
return;

@@ -235,3 +237,3 @@ }

if (!channelRequest.isOpen) {
this.onUnrecoverableError(new Error('Tried to request a channel close before opening'));
this.onUnrecoverableError(new CrosisError_1.default('Tried to request a channel close before opening'));
return;

@@ -244,3 +246,3 @@ }

if (!chan0) {
this.onUnrecoverableError(new Error('Tried to request a channel close but there was no chan0'));
this.onUnrecoverableError(new CrosisError_1.default('Tried to request a channel close but there was no chan0'));
return;

@@ -250,3 +252,3 @@ }

type: 'breadcrumb',
message: 'requestChannelClose',
message: 'requestCloseChannel',
data: {

@@ -267,3 +269,3 @@ id: channelId,

type: 'breadcrumb',
message: 'requestChannelClose:chan0Closed',
message: 'requestCloseChannel:chan0Closed',
data: {

@@ -278,3 +280,3 @@ id: channelId,

if (res.closeChanRes == null) {
this.onUnrecoverableError(new Error('Expected closeChanRes'));
this.onUnrecoverableError(new CrosisError_1.default('Expected closeChanRes'));
return;

@@ -284,7 +286,7 @@ }

if (id == null) {
this.onUnrecoverableError(new Error(`Expected id, got ${id}`));
this.onUnrecoverableError(new CrosisError_1.default(`Expected id, got ${id}`));
return;
}
if (id !== channelId) {
this.onUnrecoverableError(new Error(`Expected id from closeChanRes to be ${channelId} got ${id}`));
this.onUnrecoverableError(new CrosisError_1.default(`Expected id from closeChanRes to be ${channelId} got ${id}`));
return;

@@ -294,3 +296,3 @@ }

type: 'breadcrumb',
message: 'requestChannelClose:closeChanRes',
message: 'requestCloseChannel:closeChanRes',
data: {

@@ -322,6 +324,6 @@ id: channelId,

type: 'breadcrumb',
message: expectReconnect ? 'user temporary close' : 'user close',
message: expectReconnect ? 'close:temporary' : 'close:intentional',
});
if (!this.chan0Cb || !this.connectOptions) {
const error = new Error('Must call client.open before closing');
const error = new CrosisError_1.default('Must call client.open before closing');
this.onUnrecoverableError(error);

@@ -342,3 +344,3 @@ throw error;

this.destroyed = true;
this.debug({ type: 'breadcrumb', message: 'destroy' });
this.debug({ type: 'breadcrumb', message: 'status:destroy' });
if (this.getConnectionState() !== types_1.ConnectionState.DISCONNECTED) {

@@ -358,3 +360,3 @@ this.close({

if (!chan) {
const error = new Error(`No channel with number ${id}`);
const error = new CrosisError_1.default(`No channel with number ${id}`);
this.onUnrecoverableError(error);

@@ -403,3 +405,3 @@ throw error;

this.onFirewallDenied = () => {
this.onUnrecoverableError(new Error("Can't connect to unfirewalled repl from firewall mode"));
this.onUnrecoverableError(new CrosisError_1.default("Can't connect to unfirewalled repl from firewall mode"));
};

@@ -413,3 +415,3 @@ this.setUnrecoverableErrorHandler = (onUnrecoverableError) => {

type: 'breadcrumb',
message: 'connecting',
message: 'status:connecting',
data: {

@@ -424,3 +426,3 @@ connectionState: this.connectionState,

if (this.getConnectionState() !== types_1.ConnectionState.DISCONNECTED) {
const error = new Error('Client must be disconnected to connect');
const error = new CrosisError_1.default('Client must be disconnected to connect');
this.onUnrecoverableError(error);

@@ -430,3 +432,3 @@ throw error;

if (this.ws) {
const error = new Error('Unexpected existing websocket instance');
const error = new CrosisError_1.default('Unexpected existing websocket instance');
this.onUnrecoverableError(error);

@@ -436,3 +438,3 @@ throw error;

if (!this.connectOptions) {
const error = new Error('Expected connectionOptions');
const error = new CrosisError_1.default('Expected connectionOptions');
this.onUnrecoverableError(error);

@@ -442,19 +444,19 @@ throw error;

if (!this.chan0Cb) {
this.onUnrecoverableError(new Error('Expected chan0Cb'));
this.onUnrecoverableError(new CrosisError_1.default('Expected chan0Cb'));
return;
}
if (this.chan0CleanupCb) {
this.onUnrecoverableError(new Error('Unexpected chan0CleanupCb, are you sure you closed'));
this.onUnrecoverableError(new CrosisError_1.default('Unexpected chan0CleanupCb, are you sure you closed'));
return;
}
if (this.channelRequests.some((cr) => cr.isOpen)) {
this.onUnrecoverableError(new Error('All channels should be closed when we connect'));
this.onUnrecoverableError(new CrosisError_1.default('All channels should be closed when we connect'));
return;
}
if (Object.keys(this.channels).length) {
this.onUnrecoverableError(new Error('Found an an unexpected existing channels'));
this.onUnrecoverableError(new CrosisError_1.default('Found an an unexpected existing channels'));
return;
}
if (this.connectTimeoutId) {
this.onUnrecoverableError(new Error('Unexpected connectTimeoutId'));
this.onUnrecoverableError(new CrosisError_1.default('Unexpected connectTimeoutId'));
return;

@@ -485,3 +487,3 @@ }

if (this.fetchTokenAbortController) {
this.onUnrecoverableError(new Error('Expected fetchTokenAbortController to be null'));
this.onUnrecoverableError(new CrosisError_1.default('Expected fetchTokenAbortController to be null'));
return;

@@ -497,5 +499,8 @@ }

let err;
if (e instanceof Error) {
if (e instanceof CrosisError_1.default) {
err = e;
}
else if (e instanceof Error) {
err = new CrosisError_1.default(e.message);
}
else if (e &&

@@ -505,10 +510,11 @@ typeof e === 'object' &&

typeof e.message === 'string') {
err = new Error(e.message);
err = new CrosisError_1.default(e.message);
}
else if (typeof e === 'string') {
err = new Error(e);
err = new CrosisError_1.default(e);
}
else {
err = new Error('Unknown error when fetching connection metadata');
err = new CrosisError_1.default('Unknown error when fetching connection metadata');
}
err = new CrosisError_1.default(err.message, { ...err.extras, from: 'fetchConnectionMetadata' }, err.tags);
this.onUnrecoverableError(err);

@@ -522,6 +528,6 @@ return;

if (abortController.signal.aborted) {
this.onUnrecoverableError(new Error('Expected abort returned from fetchConnectionMetadata to be truthy when the controller aborts'));
this.onUnrecoverableError(new CrosisError_1.default('Expected abort returned from fetchConnectionMetadata to be truthy when the controller aborts'));
return;
}
this.onUnrecoverableError(new Error('Abort should only be truthy returned when the abort signal is triggered'));
this.onUnrecoverableError(new CrosisError_1.default('Abort should only be truthy returned when the abort signal is triggered'));
return;

@@ -537,3 +543,3 @@ }

chan0,
error: new Error('Retriable error'),
error: new CrosisError_1.default('Retriable error'),
});

@@ -543,3 +549,3 @@ return;

if (this.getConnectionState() !== types_1.ConnectionState.CONNECTING) {
this.onUnrecoverableError(new Error('Client entered wrong state during connect(); connected=' +
this.onUnrecoverableError(new CrosisError_1.default('Client entered wrong state during connect(); connected=' +
(this.getConnectionState() === types_1.ConnectionState.CONNECTED ? 'true' : 'false')));

@@ -549,3 +555,3 @@ return;

if (connectionMetadata.error) {
this.onUnrecoverableError(connectionMetadata.error);
this.onUnrecoverableError(CrosisError_1.default.fromError(connectionMetadata.error));
return;

@@ -558,3 +564,3 @@ }

type: 'breadcrumb',
message: 'polling fallback',
message: 'websocket:polling fallback',
});

@@ -576,10 +582,10 @@ }

if (!onFailed) {
this.onUnrecoverableError(new Error('Got websocket error but no `onFailed` cb'));
this.onUnrecoverableError(new CrosisError_1.default('Got websocket error but no `onFailed` cb'));
return;
}
onFailed(new Error('WebSocket errored'));
onFailed(new CrosisError_1.default('WebSocket errored'));
};
ws.onclose = (event) => {
if (!onFailed) {
this.onUnrecoverableError(new Error('Got websocket closure but no `onFailed` cb'));
this.onUnrecoverableError(new CrosisError_1.default('Got websocket closure but no `onFailed` cb'));
return;

@@ -613,3 +619,3 @@ }

}
onFailed(new Error(errorMessage), retriable);
onFailed(new CrosisError_1.default(errorMessage), retriable);
};

@@ -627,3 +633,3 @@ ws.onopen = () => {

cancelTimeout = () => {
this.debug({ type: 'breadcrumb', message: 'cancel timeout' });
this.debug({ type: 'breadcrumb', message: 'timeout:cancel' });
if (this.connectTimeoutId) {

@@ -635,3 +641,3 @@ clearTimeout(this.connectTimeoutId);

resetTimeout = () => {
this.debug({ type: 'breadcrumb', message: 'reset timeout' });
this.debug({ type: 'breadcrumb', message: 'timeout:reset' });
if (this.connectTimeoutId) {

@@ -641,8 +647,8 @@ clearTimeout(this.connectTimeoutId);

this.connectTimeoutId = setTimeout(() => {
this.debug({ type: 'breadcrumb', message: 'connect timeout' });
this.debug({ type: 'breadcrumb', message: 'timeout:hit' });
if (!onFailed) {
this.onUnrecoverableError(new Error('Connecting timed out but there was no `onFailed` cb'));
this.onUnrecoverableError(new CrosisError_1.default('Connecting timed out but there was no `onFailed` cb'));
return;
}
onFailed(new Error('timeout'));
onFailed(new CrosisError_1.default('timeout'));
}, timeout);

@@ -663,3 +669,3 @@ };

if (cmd.containerState.state == null) {
this.onUnrecoverableError(new Error('Got containerState but state was not defined'));
this.onUnrecoverableError(new CrosisError_1.default('Got containerState but state was not defined'));
return;

@@ -670,3 +676,3 @@ }

type: 'breadcrumb',
message: 'containerState',
message: 'container:state',
data: state,

@@ -684,6 +690,6 @@ });

if (!onFailed) {
this.onUnrecoverableError(new Error('Got SLEEP but there was no `onFailed` cb'));
this.onUnrecoverableError(new CrosisError_1.default('Got SLEEP but there was no `onFailed` cb'));
return;
}
onFailed(new Error('Got SLEEP as container state'));
onFailed(new CrosisError_1.default('Got SLEEP as container state'));
break;

@@ -701,3 +707,3 @@ default:

if (this.connectOptions !== currentConnectOptions || this.getChannel(0) !== currentChan0) {
this.onUnrecoverableError(new Error('onFailed got called but client is in a different connecting context'));
this.onUnrecoverableError(new CrosisError_1.default('onFailed got called but client is in a different connecting context'));
return;

@@ -719,11 +725,11 @@ }

if (this.retryTimeoutId) {
this.onUnrecoverableError(new Error('Unexpected existing retryTimeoutId'));
this.onUnrecoverableError(new CrosisError_1.default('Unexpected existing retryTimeoutId'));
return;
}
if (!this.chan0Cb) {
this.onUnrecoverableError(new Error('Expected chan0Cb when scheduling a retry'));
this.onUnrecoverableError(new CrosisError_1.default('Expected chan0Cb when scheduling a retry'));
return;
}
if (!this.connectOptions) {
this.onUnrecoverableError(new Error('Expected connectOptions when scheduling a retry'));
this.onUnrecoverableError(new CrosisError_1.default('Expected connectOptions when scheduling a retry'));
return;

@@ -734,3 +740,3 @@ }

type: 'breadcrumb',
message: 'redirectInitiatorFallback',
message: 'client:redirectInitiatorFallback',
data: {

@@ -748,3 +754,3 @@ connectionState: this.connectionState,

if (!this.chan0Cb) {
this.onUnrecoverableError(new Error('Scheduled retry is called after we closed?'));
this.onUnrecoverableError(new CrosisError_1.default('Scheduled retry is called after we closed?'));
return;

@@ -755,3 +761,3 @@ }

type: 'breadcrumb',
message: 'retrying',
message: 'status:retrying',
data: {

@@ -788,10 +794,3 @@ connectionState: this.connectionState,

if (this.ws == null) {
this.debug({
type: 'breadcrumb',
message: 'calling send on a closed client',
data: {
channelId: cmd.channel,
},
});
this.onUnrecoverableError(new Error('Calling send on a closed client'));
this.onUnrecoverableError(new CrosisError_1.default('Calling send on a closed client'));
return;

@@ -821,15 +820,15 @@ }

if (!this.ws) {
this.onUnrecoverableError(new Error('Expected Websocket instance'));
this.onUnrecoverableError(new CrosisError_1.default('Expected Websocket instance'));
return;
}
if (!this.connectOptions) {
this.onUnrecoverableError(new Error('Expected connectionOptions'));
this.onUnrecoverableError(new CrosisError_1.default('Expected connectionOptions'));
return;
}
if (!chan0) {
this.onUnrecoverableError(new Error('Expected chan0 to be truthy'));
this.onUnrecoverableError(new CrosisError_1.default('Expected chan0 to be truthy'));
return;
}
if (!this.chan0Cb) {
this.onUnrecoverableError(new Error('Expected chan0Cb to be truthy'));
this.onUnrecoverableError(new CrosisError_1.default('Expected chan0Cb to be truthy'));
return;

@@ -839,3 +838,3 @@ }

if (this.getConnectionState() === types_1.ConnectionState.DISCONNECTED) {
this.onUnrecoverableError(new Error('Got a close event on socket but client is in disconnected state'));
this.onUnrecoverableError(new CrosisError_1.default('Got a close event on socket but client is in disconnected state'));
return;

@@ -845,3 +844,3 @@ }

type: 'breadcrumb',
message: 'wsclose',
message: 'websocket:close',
data: {

@@ -863,3 +862,3 @@ event,

this.setConnectionState(types_1.ConnectionState.CONNECTED);
this.debug({ type: 'breadcrumb', message: 'connected!' });
this.debug({ type: 'breadcrumb', message: 'status:connected' });
this.channelRequests.forEach((channelRequest) => {

@@ -877,7 +876,7 @@ this.requestOpenChannel(channelRequest);

if (this.getConnectionState() === types_1.ConnectionState.DISCONNECTED) {
this.onUnrecoverableError(new Error('handleClose is called but client already disconnected'));
this.onUnrecoverableError(new CrosisError_1.default('handleClose is called but client already disconnected'));
return;
}
if (this.ws && this.fetchTokenAbortController) {
this.onUnrecoverableError(new Error('fetchTokenAbortController and websocket exist simultaneously'));
this.onUnrecoverableError(new CrosisError_1.default('fetchTokenAbortController and websocket exist simultaneously'));
return;

@@ -888,3 +887,3 @@ }

type: 'breadcrumb',
message: 'handle close',
message: 'client:handleClose',
data: {

@@ -912,11 +911,9 @@ closeReason: closeResult.closeReason,

const willChannelReconnect = willClientReconnect && !channelRequest.closeRequested;
const serviceName = typeof channelRequest.options.service === 'string'
? channelRequest.options.service
: 'from thunk';
this.debug({
type: 'breadcrumb',
message: 'handle channel close',
message: 'client:handleClose:closing channel',
data: {
channelId: channelRequest.channelId,
serviceName,
service: channelRequest.options.service,
name: channelRequest.options.name,
closeRequested: channelRequest.closeRequested,

@@ -962,5 +959,5 @@ channelRequestIsOpen: channelRequest.isOpen,

type: 'breadcrumb',
message: 'out of sync channel',
message: 'client:handleClose:out of sync',
data: {
id: channel.id,
channelId: channel.id,
status: channel.status,

@@ -973,3 +970,3 @@ service: channel.service,

this.channels = {};
this.onUnrecoverableError(new Error('channels out of sync, should have been cleaned up by channelRequests'));
this.onUnrecoverableError(new CrosisError_1.default('channels out of sync, should have been cleaned up by channelRequests'));
return;

@@ -985,5 +982,8 @@ }

else if (!this.chan0Cb && closeResult.closeReason !== types_1.ClientCloseReason.Error) {
this.onUnrecoverableError(new Error('`open` should have been called before `handleClose` (no cleanup or callback function, ' +
this.onUnrecoverableError(new CrosisError_1.default('`open` should have been called before `handleClose` (no cleanup or callback function, ' +
(willClientReconnect ? 'would reconnect' : 'would not reconnect') +
')'));
')', {
closeReason: closeResult.closeReason,
connectionState: this.getConnectionState(),
}));
return;

@@ -997,3 +997,3 @@ }

type: 'breadcrumb',
message: 'client closed',
message: 'status:closed',
});

@@ -1004,3 +1004,3 @@ return;

type: 'breadcrumb',
message: 'reconnecting',
message: 'status:reconnecting',
});

@@ -1013,3 +1013,3 @@ this.connect({ tryCount: 0, websocketFailureCount: 0 });

type: 'breadcrumb',
message: 'cleanupSocket',
message: 'websocket:cleanup',
data: {

@@ -1032,3 +1032,3 @@ hasWs: Boolean(ws),

type: 'breadcrumb',
message: 'wsclose',
message: 'websocket:close',
});

@@ -1041,3 +1041,3 @@ ws.close();

type: 'breadcrumb',
message: 'unrecoverable error',
message: 'onUnrecoverableError',
data: {

@@ -1069,9 +1069,9 @@ message: e.message,

if (!this.connectionMetadata) {
return this.onUnrecoverableError(new Error("client's connectionMetadata is null when redirecting to initiator"));
return this.onUnrecoverableError(new CrosisError_1.default("client's connectionMetadata is null when redirecting to initiator"));
}
if (!this.connectOptions) {
return this.onUnrecoverableError(new Error("client's connectOptions is null when redirecting to initiator"));
return this.onUnrecoverableError(new CrosisError_1.default("client's connectOptions is null when redirecting to initiator"));
}
if (!this.chan0Cb) {
return this.onUnrecoverableError(new Error("client's chan0Cb is null when redirecting to initiator"));
return this.onUnrecoverableError(new CrosisError_1.default("client's chan0Cb is null when redirecting to initiator"));
}

@@ -1100,3 +1100,3 @@ const context = this.connectOptions.context;

type: 'breadcrumb',
message: 'handling redirect',
message: 'client:handleRedirect',
data: {

@@ -1107,9 +1107,9 @@ connectionMetadata: this.connectionMetadata,

if (!this.connectionMetadata) {
return this.onUnrecoverableError(new Error("client's connectionMetadata is null when redirecting"));
return this.onUnrecoverableError(new CrosisError_1.default("client's connectionMetadata is null when redirecting"));
}
if (!this.connectOptions) {
return this.onUnrecoverableError(new Error("client's connectOptions is null when redirecting"));
return this.onUnrecoverableError(new CrosisError_1.default("client's connectOptions is null when redirecting"));
}
if (!this.chan0Cb) {
return this.onUnrecoverableError(new Error("client's chan0Cb is null when redirecting"));
return this.onUnrecoverableError(new CrosisError_1.default("client's chan0Cb is null when redirecting"));
}

@@ -1116,0 +1116,0 @@ const context = this.connectOptions.context;

@@ -1,1 +0,1 @@

{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
import type { api } from '@replit/protocol';
import type { Channel } from './channel';
import CrosisError from './util/CrosisError';
export declare enum ConnectionState {

@@ -50,12 +51,16 @@ CONNECTING = 0,

type: 'breadcrumb';
message: 'constructor' | 'connected!' | 'user close' | 'user temporary close' | 'client closed' | 'cancel timeout' | 'reset timeout' | 'connect timeout' | 'polling fallback' | 'reconnecting' | 'destroy';
message: 'constructor' | 'status:open' | 'status:connected' | 'status:closed' | 'status:reconnecting' | 'status:destroy' | 'close:intentional' | 'close:temporary' | 'timeout:cancel' | 'timeout:reset' | 'timeout:hit' | 'websocket:polling fallback';
} | {
type: 'breadcrumb';
message: 'open';
message: 'status:connecting';
data: {
polling: false;
connectionState: ConnectionState;
connectTries: number;
websocketFailureCount: number;
readyState: WebSocket['readyState'] | undefined;
chan0CbExists: boolean;
};
} | {
type: 'breadcrumb';
message: 'connecting';
message: 'status:retrying';
data: {

@@ -65,13 +70,22 @@ connectionState: ConnectionState;

websocketFailureCount: number;
readyState: WebSocket['readyState'] | undefined;
chan0CbExists: boolean;
error: CrosisError;
wsReadyState?: WebSocket['readyState'];
};
} | {
type: 'breadcrumb';
message: 'openChanres';
message: 'container:state';
data: api.ContainerState.State;
} | {
type: 'breadcrumb';
message: 'websocket:close';
data?: {
event: CloseEvent | Event;
};
} | {
type: 'breadcrumb';
message: 'websocket:cleanup';
data: {
id: number;
state: api.OpenChannelRes['state'];
error: string;
ref: string;
hasWs: boolean;
readyState: WebSocket['readyState'] | null;
connectionState: ConnectionState;
};

@@ -89,11 +103,19 @@ } | {

type: 'breadcrumb';
message: 'requestChannelClose';
message: 'requestOpenChannel:openChanRes';
data: {
id: number;
state: api.OpenChannelRes['state'];
error: string;
ref: string;
};
} | {
type: 'breadcrumb';
message: 'requestOpenChannel:explicit skip';
data: {
service: ChannelOptions<Ctx>['service'];
name: ChannelOptions<Ctx>['name'];
service: ChannelOptions<Ctx>['service'];
};
} | {
type: 'breadcrumb';
message: 'requestChannelClose:chan0Closed';
message: 'requestCloseChannel';
data: {

@@ -106,3 +128,3 @@ id: number;

type: 'breadcrumb';
message: 'requestChannelClose:closeChanRes';
message: 'requestCloseChannel:chan0Closed';
data: {

@@ -112,17 +134,15 @@ id: number;

service: ChannelOptions<Ctx>['service'];
closeStatus: api.CloseChannelRes.Status;
};
} | {
type: 'breadcrumb';
message: 'retrying';
message: 'requestCloseChannel:closeChanRes';
data: {
connectionState: ConnectionState;
connectTries: number;
websocketFailureCount: number;
error: Error;
wsReadyState?: WebSocket['readyState'];
id: number;
name: ChannelOptions<Ctx>['name'];
service: ChannelOptions<Ctx>['service'];
closeStatus: api.CloseChannelRes.Status;
};
} | {
type: 'breadcrumb';
message: 'redirectInitiatorFallback';
message: 'client:redirectInitiatorFallback';
data: {

@@ -132,3 +152,3 @@ connectionState: ConnectionState;

websocketFailureCount: number;
error: Error;
error: CrosisError;
wsReadyState?: WebSocket['readyState'];

@@ -138,16 +158,11 @@ };

type: 'breadcrumb';
message: 'containerState';
data: api.ContainerState.State;
} | {
type: 'breadcrumb';
message: 'wsclose';
data?: {
event: CloseEvent | Event;
message: 'client:handleRedirect';
data: {
connectionMetadata: GovalMetadata | null;
};
} | {
type: 'breadcrumb';
message: 'cleanupSocket';
message: 'client:handleClose';
data: {
hasWs: boolean;
readyState: WebSocket['readyState'] | null;
closeReason: ClientCloseReason;
connectionState: ConnectionState;

@@ -157,18 +172,7 @@ };

type: 'breadcrumb';
message: 'unrecoverable error';
message: 'client:handleClose:closing channel';
data: {
message: string;
};
} | {
type: 'breadcrumb';
message: 'handling redirect';
data: {
connectionMetadata: GovalMetadata | null;
};
} | {
type: 'breadcrumb';
message: 'handle channel close';
data: {
channelId: number | null;
serviceName: string | undefined;
service: ChannelOptions<Ctx>['service'];
name: ChannelOptions<Ctx>['name'];
closeRequested: boolean;

@@ -181,11 +185,5 @@ channelRequestIsOpen: boolean;

type: 'breadcrumb';
message: 'calling send on a closed client';
message: 'client:handleClose:out of sync';
data: {
channelId: number;
};
} | {
type: 'breadcrumb';
message: 'out of sync channel';
data: {
id: number | null;
channelId: number | null;
status: string;

@@ -197,14 +195,6 @@ service: string | undefined;

type: 'breadcrumb';
message: 'channels on close';
message: 'client:openChannel:delayed';
data: {
id: number | null;
status: string;
service: string | undefined;
service: ChannelOptions<Ctx>['service'];
name: ChannelOptions<Ctx>['name'];
};
} | {
type: 'breadcrumb';
message: 'handle close';
data: {
closeReason: ClientCloseReason;
connectionState: ConnectionState;

@@ -214,22 +204,15 @@ };

type: 'breadcrumb';
message: 'open channel delayed';
message: 'client:closeChannel:channel not open';
data: {
channelId: number | null;
service: ChannelOptions<Ctx>['service'];
name: ChannelOptions<Ctx>['name'];
connectionState: ConnectionState;
service: string | undefined;
};
} | {
type: 'breadcrumb';
message: 'close channel deemed unnecessary';
message: 'client:closeChannel:already requested';
data: {
connectionState: ConnectionState;
channelId: number | null;
service: string;
channelsCount: number;
requestsCount: number;
};
} | {
type: 'breadcrumb';
message: 'open channel skipped';
data: {
service: string | undefined;
service: ChannelOptions<Ctx>['service'];
name: ChannelOptions<Ctx>['name'];

@@ -239,15 +222,6 @@ };

type: 'breadcrumb';
message: 'abandoning close request';
message: 'onUnrecoverableError';
data: {
service: string;
channelId: number | null;
message: string;
};
} | {
type: 'breadcrumb';
message: 'requestOpenChannel: channel already exists';
data: {
id: number;
name: ChannelOptions<Ctx>['name'];
service: string;
};
};

@@ -254,0 +228,0 @@ export declare type DebugLog<Ctx> = DebugLogBreadcrumb<Ctx> | {

@@ -1,1 +0,1 @@

{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,iEAAc,CAAA;IACd,+DAAa,CAAA;IACb,qEAAgB,CAAA;AAClB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAED,IAAY,4BAWX;AAXD,WAAY,4BAA4B;IAItC,mDAAmB,CAAA;IAMnB,uDAAuB,CAAA;AACzB,CAAC,EAXW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAWvC;AA+CD,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAI3B,gDAA2B,CAAA;IAI3B,4CAAuB,CAAA;IAIvB,kDAA6B,CAAA;IAI7B,oCAAe,CAAA;AACjB,CAAC,EAjBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiB5B;AAoTY,QAAA,SAAS,GAAG;IACvB,yBAAyB,EAAE,IAAI;IAC/B,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI;CAC5B,CAAC"}
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,iEAAc,CAAA;IACd,+DAAa,CAAA;IACb,qEAAgB,CAAA;AAClB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAED,IAAY,4BAWX;AAXD,WAAY,4BAA4B;IAItC,mDAAmB,CAAA;IAMnB,uDAAuB,CAAA;AACzB,CAAC,EAXW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAWvC;AA+CD,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAI3B,gDAA2B,CAAA;IAI3B,4CAAuB,CAAA;IAIvB,kDAA6B,CAAA;IAI7B,oCAAe,CAAA;AACjB,CAAC,EAjBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiB5B;AAuRY,QAAA,SAAS,GAAG;IACvB,yBAAyB,EAAE,IAAI;IAC/B,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI;CAC5B,CAAC"}

@@ -25,5 +25,9 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConnectionStr = exports.getWebSocketClass = exports.defaultGetNextRetryDelay = void 0;
const urllib = __importStar(require("url"));
const CrosisError_1 = __importDefault(require("./CrosisError"));
const BACKOFF_FACTOR = 1.7;

@@ -49,3 +53,3 @@ const MAX_BACKOFF = 15000;

if (!isWebSocket(WebSocketClass)) {
throw new Error('Passed in WebSocket does not look like a standard WebSocket');
throw new CrosisError_1.default('Passed in WebSocket does not look like a standard WebSocket');
}

@@ -56,7 +60,7 @@ return WebSocketClass;

if (!isWebSocket(WebSocket)) {
throw new Error('Global WebSocket does not look like a standard WebSocket');
throw new CrosisError_1.default('Global WebSocket does not look like a standard WebSocket');
}
return WebSocket;
}
throw new Error('Please pass in a WebSocket class or add it to global');
throw new CrosisError_1.default('Please pass in a WebSocket class or add it to global');
}

@@ -63,0 +67,0 @@ exports.getWebSocketClass = getWebSocketClass;

@@ -1,1 +0,1 @@

{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/util/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAG9B,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,WAAW,GAAG,KAAK,CAAC;AAK1B,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,cAAc,IAAI,WAAW,GAAG,IAAI,CAAC;IAErD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AACnD,CAAC;AALD,4DAKC;AAED,SAAS,WAAW,CAAC,CAAU;IAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,KAAK,CAAC;KACd;IAED,OAAO,MAAM,IAAI,CAAC,IAAK,CAAe,CAAC,IAAI,KAAK,CAAC,CAAC;AACpD,CAAC;AAKD,SAAgB,iBAAiB,CAC/B,cAAyD;IAEzD,IAAI,cAAc,EAAE;QAClB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;SAChF;QAED,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QAED,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AApBD,8CAoBC;AAMD,SAAgB,gBAAgB,CAAC,kBAAiC,EAAE,WAAoB;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE;QACf,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,SAAS,kBAAkB,CAAC,KAAK,IAAI,kBAAkB,CACrE,kBAAkB,CAAC,IAAI,CACxB,EAAE,CAAC;KACL;SAAM;QACL,IAAI,CAAC,QAAQ,GAAG,SAAS,kBAAkB,CAAC,KAAK,EAAE,CAAC;KACrD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAbD,4CAaC"}
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/util/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAE9B,gEAAwC;AAExC,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,WAAW,GAAG,KAAK,CAAC;AAK1B,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,cAAc,IAAI,WAAW,GAAG,IAAI,CAAC;IAErD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AACnD,CAAC;AALD,4DAKC;AAED,SAAS,WAAW,CAAC,CAAU;IAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,KAAK,CAAC;KACd;IAED,OAAO,MAAM,IAAI,CAAC,IAAK,CAAe,CAAC,IAAI,KAAK,CAAC,CAAC;AACpD,CAAC;AAKD,SAAgB,iBAAiB,CAC/B,cAAyD;IAEzD,IAAI,cAAc,EAAE;QAClB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;YAChC,MAAM,IAAI,qBAAW,CAAC,6DAA6D,CAAC,CAAC;SACtF;QAED,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;YAC3B,MAAM,IAAI,qBAAW,CAAC,0DAA0D,CAAC,CAAC;SACnF;QAED,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,qBAAW,CAAC,sDAAsD,CAAC,CAAC;AAChF,CAAC;AApBD,8CAoBC;AAMD,SAAgB,gBAAgB,CAAC,kBAAiC,EAAE,WAAoB;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE;QACf,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,SAAS,kBAAkB,CAAC,KAAK,IAAI,kBAAkB,CACrE,kBAAkB,CAAC,IAAI,CACxB,EAAE,CAAC;KACL;SAAM;QACL,IAAI,CAAC,QAAQ,GAAG,SAAS,kBAAkB,CAAC,KAAK,EAAE,CAAC;KACrD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAbD,4CAaC"}
{
"name": "@replit/crosis",
"version": "11.0.0",
"version": "12.0.0",
"description": "Goval connection and channel manager",

@@ -5,0 +5,0 @@ "files": [

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const types_1 = require("../types");
const concurrent_1 = require("../__testutils__/concurrent");
const done_1 = require("../__testutils__/done");
const genConnectionMetadata_1 = __importDefault(require("../../debug/genConnectionMetadata"));
const WebSocket = require('ws');
jest.setTimeout(30 * 1000);
const testingClients = [];
function getClient(done) {
const c = new __1.Client();
c.setUnrecoverableErrorHandler(done);
testingClients.push(c);
return c;
}
const getConnectionMetadata = async () => ({
...(0, genConnectionMetadata_1.default)(),
error: null,
});
(0, concurrent_1.concurrent)('client connect', (done) => {
const client = getClient(done);
const ctx = { username: 'zyzz' };
const calls = [];
function setOffEndingStuff() {
client.close();
if (calls.length === 3) {
expect(calls).toEqual(['outer', 'inner-1', 'inner-2']);
done();
}
else {
setTimeout(() => {
try {
expect(calls).toEqual(['outer', 'inner-1', 'inner-2']);
}
catch (e) {
done(e);
}
done();
}, 5000);
}
}
client.onDebugLog((log) => {
if (log.type !== 'breadcrumb')
return;
if (log.message == 'reset timeout')
return;
if (log.message == 'cancel timeout')
return;
console.log(log);
});
const cbOuter = () => {
console.log('> outer open');
calls.push('outer');
};
const cbOneInner = () => {
console.log('>> connected open 1');
calls.push('inner-1');
};
const cbTwoInner = () => {
console.log('>> connected open 2');
calls.push('inner-2');
setOffEndingStuff();
};
console.log('request outer open');
const od = client.openChannel({ service: 'exec' }, cbOuter);
client.onConnectionStateChange((state) => {
if (state === types_1.ConnectionState.CONNECTED) {
console.log('> request open 1');
client.openChannel({ service: 'exec' }, cbOneInner);
console.log('> request dispose outer');
od();
console.log('> request open 2');
client.openChannel({ service: 'exec' }, cbTwoInner);
}
});
console.log('request client open');
client.open({
fetchConnectionMetadata: getConnectionMetadata,
WebSocketClass: WebSocket,
context: ctx,
}, (0, done_1.wrapWithDone)(done, () => {
console.log('> got chan0');
}));
});
//# sourceMappingURL=regression.test.js.map
{"version":3,"file":"regression.test.js","sourceRoot":"","sources":["../../src/__tests__/regression.test.ts"],"names":[],"mappings":"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"}