@oxyhq/services 5.16.25 → 5.16.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/ui/context/OxyContext.js +160 -37
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useTransferQueries.js +137 -0
- package/lib/commonjs/ui/hooks/useTransferQueries.js.map +1 -0
- package/lib/commonjs/ui/stores/transferStore.js +161 -0
- package/lib/commonjs/ui/stores/transferStore.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +160 -37
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useTransferQueries.js +132 -0
- package/lib/module/ui/hooks/useTransferQueries.js.map +1 -0
- package/lib/module/ui/stores/transferStore.js +155 -0
- package/lib/module/ui/stores/transferStore.js.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +15 -2
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useTransferQueries.d.ts +36 -0
- package/lib/typescript/ui/hooks/useTransferQueries.d.ts.map +1 -0
- package/lib/typescript/ui/stores/transferStore.d.ts +39 -0
- package/lib/typescript/ui/stores/transferStore.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/ui/context/OxyContext.tsx +178 -37
- package/src/ui/hooks/useTransferQueries.ts +154 -0
- package/src/ui/stores/transferStore.ts +201 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTransferStoreRestored = exports.useTransferStore = exports.useTransferCodesForPersistence = void 0;
|
|
7
|
+
var _zustand = require("zustand");
|
|
8
|
+
var _shallow = require("zustand/react/shallow");
|
|
9
|
+
const FIFTEEN_MINUTES = 15 * 60 * 1000;
|
|
10
|
+
const initialState = {
|
|
11
|
+
transferCodes: {},
|
|
12
|
+
activeTransferId: null,
|
|
13
|
+
isRestored: false
|
|
14
|
+
};
|
|
15
|
+
const useTransferStore = exports.useTransferStore = (0, _zustand.create)((set, get) => ({
|
|
16
|
+
...initialState,
|
|
17
|
+
storeTransferCode: (transferId, code, sourceDeviceId, publicKey) => {
|
|
18
|
+
set(state => ({
|
|
19
|
+
transferCodes: {
|
|
20
|
+
...state.transferCodes,
|
|
21
|
+
[transferId]: {
|
|
22
|
+
code,
|
|
23
|
+
sourceDeviceId,
|
|
24
|
+
publicKey,
|
|
25
|
+
timestamp: Date.now(),
|
|
26
|
+
state: 'pending'
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
activeTransferId: transferId
|
|
30
|
+
}));
|
|
31
|
+
},
|
|
32
|
+
getTransferCode: transferId => {
|
|
33
|
+
const state = get();
|
|
34
|
+
return state.transferCodes[transferId] || null;
|
|
35
|
+
},
|
|
36
|
+
clearTransferCode: transferId => {
|
|
37
|
+
set(state => {
|
|
38
|
+
const {
|
|
39
|
+
[transferId]: removed,
|
|
40
|
+
...rest
|
|
41
|
+
} = state.transferCodes;
|
|
42
|
+
const newActiveTransferId = state.activeTransferId === transferId ? null : state.activeTransferId;
|
|
43
|
+
return {
|
|
44
|
+
transferCodes: rest,
|
|
45
|
+
activeTransferId: newActiveTransferId
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
updateTransferState: (transferId, newState) => {
|
|
50
|
+
set(state => {
|
|
51
|
+
const existing = state.transferCodes[transferId];
|
|
52
|
+
if (!existing) {
|
|
53
|
+
return state;
|
|
54
|
+
}
|
|
55
|
+
const updated = {
|
|
56
|
+
...existing,
|
|
57
|
+
state: newState
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Clear active transfer if completed or failed
|
|
61
|
+
const newActiveTransferId = (newState === 'completed' || newState === 'failed') && state.activeTransferId === transferId ? null : state.activeTransferId;
|
|
62
|
+
return {
|
|
63
|
+
transferCodes: {
|
|
64
|
+
...state.transferCodes,
|
|
65
|
+
[transferId]: updated
|
|
66
|
+
},
|
|
67
|
+
activeTransferId: newActiveTransferId
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
getAllPendingTransfers: () => {
|
|
72
|
+
const state = get();
|
|
73
|
+
const pending = [];
|
|
74
|
+
Object.entries(state.transferCodes).forEach(([transferId, data]) => {
|
|
75
|
+
if (data.state === 'pending') {
|
|
76
|
+
pending.push({
|
|
77
|
+
transferId,
|
|
78
|
+
data
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
return pending;
|
|
83
|
+
},
|
|
84
|
+
getActiveTransferId: () => {
|
|
85
|
+
return get().activeTransferId;
|
|
86
|
+
},
|
|
87
|
+
setActiveTransferId: transferId => {
|
|
88
|
+
set({
|
|
89
|
+
activeTransferId: transferId
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
restoreFromStorage: (codes, activeTransferId) => {
|
|
93
|
+
const now = Date.now();
|
|
94
|
+
const validCodes = {};
|
|
95
|
+
|
|
96
|
+
// Only restore non-expired pending transfers
|
|
97
|
+
Object.entries(codes).forEach(([transferId, data]) => {
|
|
98
|
+
if (data.state === 'pending' && now - data.timestamp < FIFTEEN_MINUTES) {
|
|
99
|
+
validCodes[transferId] = data;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Verify active transfer is still valid
|
|
104
|
+
let validActiveTransferId = activeTransferId;
|
|
105
|
+
if (activeTransferId && (!validCodes[activeTransferId] || validCodes[activeTransferId].state !== 'pending')) {
|
|
106
|
+
validActiveTransferId = null;
|
|
107
|
+
}
|
|
108
|
+
set({
|
|
109
|
+
transferCodes: validCodes,
|
|
110
|
+
activeTransferId: validActiveTransferId,
|
|
111
|
+
isRestored: true
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
markRestored: () => {
|
|
115
|
+
set({
|
|
116
|
+
isRestored: true
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
cleanupExpired: () => {
|
|
120
|
+
const now = Date.now();
|
|
121
|
+
set(state => {
|
|
122
|
+
const validCodes = {};
|
|
123
|
+
let newActiveTransferId = state.activeTransferId;
|
|
124
|
+
Object.entries(state.transferCodes).forEach(([transferId, data]) => {
|
|
125
|
+
const age = now - data.timestamp;
|
|
126
|
+
if (age < FIFTEEN_MINUTES) {
|
|
127
|
+
validCodes[transferId] = data;
|
|
128
|
+
} else if (transferId === state.activeTransferId) {
|
|
129
|
+
newActiveTransferId = null;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
return {
|
|
133
|
+
transferCodes: validCodes,
|
|
134
|
+
activeTransferId: newActiveTransferId
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
reset: () => {
|
|
139
|
+
set(initialState);
|
|
140
|
+
}
|
|
141
|
+
}));
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Hook to get transfer codes for persistence
|
|
145
|
+
*/
|
|
146
|
+
const useTransferCodesForPersistence = () => {
|
|
147
|
+
return useTransferStore((0, _shallow.useShallow)(state => ({
|
|
148
|
+
transferCodes: state.transferCodes,
|
|
149
|
+
activeTransferId: state.activeTransferId
|
|
150
|
+
})));
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Hook to check if store has been restored
|
|
155
|
+
*/
|
|
156
|
+
exports.useTransferCodesForPersistence = useTransferCodesForPersistence;
|
|
157
|
+
const useTransferStoreRestored = () => {
|
|
158
|
+
return useTransferStore(state => state.isRestored);
|
|
159
|
+
};
|
|
160
|
+
exports.useTransferStoreRestored = useTransferStoreRestored;
|
|
161
|
+
//# sourceMappingURL=transferStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_zustand","require","_shallow","FIFTEEN_MINUTES","initialState","transferCodes","activeTransferId","isRestored","useTransferStore","exports","create","set","get","storeTransferCode","transferId","code","sourceDeviceId","publicKey","state","timestamp","Date","now","getTransferCode","clearTransferCode","removed","rest","newActiveTransferId","updateTransferState","newState","existing","updated","getAllPendingTransfers","pending","Object","entries","forEach","data","push","getActiveTransferId","setActiveTransferId","restoreFromStorage","codes","validCodes","validActiveTransferId","markRestored","cleanupExpired","age","reset","useTransferCodesForPersistence","useShallow","useTransferStoreRestored"],"sourceRoot":"../../../../src","sources":["ui/stores/transferStore.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAkCA,MAAME,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAEtC,MAAMC,YAAY,GAAG;EACnBC,aAAa,EAAE,CAAC,CAAqC;EACrDC,gBAAgB,EAAE,IAAqB;EACvCC,UAAU,EAAE;AACd,CAAC;AAEM,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,eAAM,EAAgB,CAACC,GAAG,EAAEC,GAAG,MAAM;EACnE,GAAGR,YAAY;EAEfS,iBAAiB,EAAEA,CAACC,UAAkB,EAAEC,IAAY,EAAEC,cAA6B,EAAEC,SAAiB,KAAK;IACzGN,GAAG,CAAEO,KAAK,KAAM;MACdb,aAAa,EAAE;QACb,GAAGa,KAAK,CAACb,aAAa;QACtB,CAACS,UAAU,GAAG;UACZC,IAAI;UACJC,cAAc;UACdC,SAAS;UACTE,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;UACrBH,KAAK,EAAE;QACT;MACF,CAAC;MACDZ,gBAAgB,EAAEQ;IACpB,CAAC,CAAC,CAAC;EACL,CAAC;EAEDQ,eAAe,EAAGR,UAAkB,IAAK;IACvC,MAAMI,KAAK,GAAGN,GAAG,CAAC,CAAC;IACnB,OAAOM,KAAK,CAACb,aAAa,CAACS,UAAU,CAAC,IAAI,IAAI;EAChD,CAAC;EAEDS,iBAAiB,EAAGT,UAAkB,IAAK;IACzCH,GAAG,CAAEO,KAAK,IAAK;MACb,MAAM;QAAE,CAACJ,UAAU,GAAGU,OAAO;QAAE,GAAGC;MAAK,CAAC,GAAGP,KAAK,CAACb,aAAa;MAC9D,MAAMqB,mBAAmB,GAAGR,KAAK,CAACZ,gBAAgB,KAAKQ,UAAU,GAAG,IAAI,GAAGI,KAAK,CAACZ,gBAAgB;MACjG,OAAO;QACLD,aAAa,EAAEoB,IAAI;QACnBnB,gBAAgB,EAAEoB;MACpB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDC,mBAAmB,EAAEA,CAACb,UAAkB,EAAEc,QAA4C,KAAK;IACzFjB,GAAG,CAAEO,KAAK,IAAK;MACb,MAAMW,QAAQ,GAAGX,KAAK,CAACb,aAAa,CAACS,UAAU,CAAC;MAChD,IAAI,CAACe,QAAQ,EAAE;QACb,OAAOX,KAAK;MACd;MAEA,MAAMY,OAAO,GAAG;QACd,GAAGD,QAAQ;QACXX,KAAK,EAAEU;MACT,CAAC;;MAED;MACA,MAAMF,mBAAmB,GACvB,CAACE,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,QAAQ,KAAKV,KAAK,CAACZ,gBAAgB,KAAKQ,UAAU,GACxF,IAAI,GACJI,KAAK,CAACZ,gBAAgB;MAE5B,OAAO;QACLD,aAAa,EAAE;UACb,GAAGa,KAAK,CAACb,aAAa;UACtB,CAACS,UAAU,GAAGgB;QAChB,CAAC;QACDxB,gBAAgB,EAAEoB;MACpB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDK,sBAAsB,EAAEA,CAAA,KAAM;IAC5B,MAAMb,KAAK,GAAGN,GAAG,CAAC,CAAC;IACnB,MAAMoB,OAA8D,GAAG,EAAE;IAEzEC,MAAM,CAACC,OAAO,CAAChB,KAAK,CAACb,aAAa,CAAC,CAAC8B,OAAO,CAAC,CAAC,CAACrB,UAAU,EAAEsB,IAAI,CAAC,KAAK;MAClE,IAAIA,IAAI,CAAClB,KAAK,KAAK,SAAS,EAAE;QAC5Bc,OAAO,CAACK,IAAI,CAAC;UAAEvB,UAAU;UAAEsB;QAAK,CAAC,CAAC;MACpC;IACF,CAAC,CAAC;IAEF,OAAOJ,OAAO;EAChB,CAAC;EAEDM,mBAAmB,EAAEA,CAAA,KAAM;IACzB,OAAO1B,GAAG,CAAC,CAAC,CAACN,gBAAgB;EAC/B,CAAC;EAEDiC,mBAAmB,EAAGzB,UAAyB,IAAK;IAClDH,GAAG,CAAC;MAAEL,gBAAgB,EAAEQ;IAAW,CAAC,CAAC;EACvC,CAAC;EAED0B,kBAAkB,EAAEA,CAACC,KAAuC,EAAEnC,gBAA+B,KAAK;IAChG,MAAMe,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtB,MAAMqB,UAA4C,GAAG,CAAC,CAAC;;IAEvD;IACAT,MAAM,CAACC,OAAO,CAACO,KAAK,CAAC,CAACN,OAAO,CAAC,CAAC,CAACrB,UAAU,EAAEsB,IAAI,CAAC,KAAK;MACpD,IAAIA,IAAI,CAAClB,KAAK,KAAK,SAAS,IAAKG,GAAG,GAAGe,IAAI,CAACjB,SAAS,GAAIhB,eAAe,EAAE;QACxEuC,UAAU,CAAC5B,UAAU,CAAC,GAAGsB,IAAI;MAC/B;IACF,CAAC,CAAC;;IAEF;IACA,IAAIO,qBAAqB,GAAGrC,gBAAgB;IAC5C,IAAIA,gBAAgB,KAAK,CAACoC,UAAU,CAACpC,gBAAgB,CAAC,IAAIoC,UAAU,CAACpC,gBAAgB,CAAC,CAACY,KAAK,KAAK,SAAS,CAAC,EAAE;MAC3GyB,qBAAqB,GAAG,IAAI;IAC9B;IAEAhC,GAAG,CAAC;MACFN,aAAa,EAAEqC,UAAU;MACzBpC,gBAAgB,EAAEqC,qBAAqB;MACvCpC,UAAU,EAAE;IACd,CAAC,CAAC;EACJ,CAAC;EAEDqC,YAAY,EAAEA,CAAA,KAAM;IAClBjC,GAAG,CAAC;MAAEJ,UAAU,EAAE;IAAK,CAAC,CAAC;EAC3B,CAAC;EAEDsC,cAAc,EAAEA,CAAA,KAAM;IACpB,MAAMxB,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtBV,GAAG,CAAEO,KAAK,IAAK;MACb,MAAMwB,UAA4C,GAAG,CAAC,CAAC;MACvD,IAAIhB,mBAAmB,GAAGR,KAAK,CAACZ,gBAAgB;MAEhD2B,MAAM,CAACC,OAAO,CAAChB,KAAK,CAACb,aAAa,CAAC,CAAC8B,OAAO,CAAC,CAAC,CAACrB,UAAU,EAAEsB,IAAI,CAAC,KAAK;QAClE,MAAMU,GAAG,GAAGzB,GAAG,GAAGe,IAAI,CAACjB,SAAS;QAChC,IAAI2B,GAAG,GAAG3C,eAAe,EAAE;UACzBuC,UAAU,CAAC5B,UAAU,CAAC,GAAGsB,IAAI;QAC/B,CAAC,MAAM,IAAItB,UAAU,KAAKI,KAAK,CAACZ,gBAAgB,EAAE;UAChDoB,mBAAmB,GAAG,IAAI;QAC5B;MACF,CAAC,CAAC;MAEF,OAAO;QACLrB,aAAa,EAAEqC,UAAU;QACzBpC,gBAAgB,EAAEoB;MACpB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDqB,KAAK,EAAEA,CAAA,KAAM;IACXpC,GAAG,CAACP,YAAY,CAAC;EACnB;AACF,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACO,MAAM4C,8BAA8B,GAAGA,CAAA,KAAM;EAClD,OAAOxC,gBAAgB,CACrB,IAAAyC,mBAAU,EAAE/B,KAAK,KAAM;IACrBb,aAAa,EAAEa,KAAK,CAACb,aAAa;IAClCC,gBAAgB,EAAEY,KAAK,CAACZ;EAC1B,CAAC,CAAC,CACJ,CAAC;AACH,CAAC;;AAED;AACA;AACA;AAFAG,OAAA,CAAAuC,8BAAA,GAAAA,8BAAA;AAGO,MAAME,wBAAwB,GAAGA,CAAA,KAAM;EAC5C,OAAO1C,gBAAgB,CAAEU,KAAK,IAAKA,KAAK,CAACX,UAAU,CAAC;AACtD,CAAC;AAACE,OAAA,CAAAyC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -22,6 +22,8 @@ import { translate } from '../../i18n';
|
|
|
22
22
|
import { updateAvatarVisibility, updateProfileWithAvatar } from '../utils/avatarUtils';
|
|
23
23
|
import { useAccountStore } from '../stores/accountStore';
|
|
24
24
|
import { logger as loggerUtil } from '../../utils/loggerUtils';
|
|
25
|
+
import { useTransferStore, useTransferCodesForPersistence } from '../stores/transferStore';
|
|
26
|
+
import { useCheckPendingTransfers } from '../hooks/useTransferQueries';
|
|
25
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
28
|
const OxyContext = /*#__PURE__*/createContext(null);
|
|
27
29
|
let cachedUseFollowHook = null;
|
|
@@ -288,15 +290,44 @@ export const OxyProvider = ({
|
|
|
288
290
|
oxyServices.clearCache();
|
|
289
291
|
}, [queryClient, storage, clearSessionState, logger, oxyServices]);
|
|
290
292
|
|
|
293
|
+
// Extract Zustand store functions early (before they're used in callbacks)
|
|
294
|
+
const getAllPendingTransfersStore = useTransferStore(state => state.getAllPendingTransfers);
|
|
295
|
+
const getActiveTransferIdStore = useTransferStore(state => state.getActiveTransferId);
|
|
296
|
+
const storeTransferCodeStore = useTransferStore(state => state.storeTransferCode);
|
|
297
|
+
const getTransferCodeStore = useTransferStore(state => state.getTransferCode);
|
|
298
|
+
const updateTransferStateStore = useTransferStore(state => state.updateTransferState);
|
|
299
|
+
const clearTransferCodeStore = useTransferStore(state => state.clearTransferCode);
|
|
300
|
+
|
|
301
|
+
// Transfer code management functions (must be defined before deleteIdentityAndClearAccount)
|
|
302
|
+
const getAllPendingTransfers = useCallback(() => {
|
|
303
|
+
return getAllPendingTransfersStore();
|
|
304
|
+
}, [getAllPendingTransfersStore]);
|
|
305
|
+
const getActiveTransferId = useCallback(() => {
|
|
306
|
+
return getActiveTransferIdStore();
|
|
307
|
+
}, [getActiveTransferIdStore]);
|
|
308
|
+
|
|
291
309
|
// Delete identity and clear all account data
|
|
292
310
|
// In accounts app, deleting identity means losing the account completely
|
|
293
311
|
const deleteIdentityAndClearAccount = useCallback(async (skipBackup = false, force = false, userConfirmed = false) => {
|
|
312
|
+
// CRITICAL: Check for active transfers before deletion (unless force is true)
|
|
313
|
+
// This prevents accidental identity loss during transfer
|
|
314
|
+
if (!force) {
|
|
315
|
+
const pendingTransfers = getAllPendingTransfers();
|
|
316
|
+
if (pendingTransfers.length > 0) {
|
|
317
|
+
const activeTransferId = getActiveTransferId();
|
|
318
|
+
const hasActiveTransfer = activeTransferId && pendingTransfers.some(t => t.transferId === activeTransferId);
|
|
319
|
+
if (hasActiveTransfer) {
|
|
320
|
+
throw new Error('Cannot delete identity: An active identity transfer is in progress. ' + 'Please wait for the transfer to complete or cancel it first. ' + 'If you proceed, you may lose access to your identity permanently.');
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
294
325
|
// First, clear all account data
|
|
295
326
|
await clearAllAccountData();
|
|
296
327
|
|
|
297
328
|
// Then delete the identity keys
|
|
298
329
|
await KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
|
|
299
|
-
}, [clearAllAccountData]);
|
|
330
|
+
}, [clearAllAccountData, getAllPendingTransfers, getActiveTransferId]);
|
|
300
331
|
|
|
301
332
|
// Network reconnect sync - TanStack Query automatically retries mutations on reconnect
|
|
302
333
|
// We only need to sync identity if it's not synced
|
|
@@ -379,6 +410,10 @@ export const OxyProvider = ({
|
|
|
379
410
|
}, syncError);
|
|
380
411
|
}
|
|
381
412
|
}
|
|
413
|
+
|
|
414
|
+
// Check for pending transfers that may have completed while offline
|
|
415
|
+
// This is handled by useCheckPendingTransfers hook which runs automatically
|
|
416
|
+
// when authenticated and online
|
|
382
417
|
}
|
|
383
418
|
|
|
384
419
|
// TanStack Query will automatically retry pending mutations
|
|
@@ -413,7 +448,7 @@ export const OxyProvider = ({
|
|
|
413
448
|
clearTimeout(checkTimeout);
|
|
414
449
|
}
|
|
415
450
|
};
|
|
416
|
-
}, [oxyServices, storage, syncIdentity, logger]);
|
|
451
|
+
}, [oxyServices, storage, syncIdentity, logger, hasIdentity, isAuthenticated]);
|
|
417
452
|
const {
|
|
418
453
|
getDeviceSessions,
|
|
419
454
|
logoutAllDeviceSessions,
|
|
@@ -525,38 +560,81 @@ export const OxyProvider = ({
|
|
|
525
560
|
// The JWT token's userId field contains the MongoDB ObjectId
|
|
526
561
|
const userId = oxyServices.getCurrentUserId() || user?.id;
|
|
527
562
|
|
|
528
|
-
//
|
|
529
|
-
|
|
530
|
-
const
|
|
563
|
+
// Use Zustand store for transfer state management
|
|
564
|
+
const TRANSFER_CODES_STORAGE_KEY = `${storageKeyPrefix}_transfer_codes`;
|
|
565
|
+
const ACTIVE_TRANSFER_STORAGE_KEY = `${storageKeyPrefix}_active_transfer_id`;
|
|
566
|
+
const isRestored = useTransferStore(state => state.isRestored);
|
|
567
|
+
const restoreFromStorage = useTransferStore(state => state.restoreFromStorage);
|
|
568
|
+
const markRestored = useTransferStore(state => state.markRestored);
|
|
569
|
+
const cleanupExpired = useTransferStore(state => state.cleanupExpired);
|
|
531
570
|
|
|
532
|
-
//
|
|
571
|
+
// Load transfer codes from storage on startup (only once)
|
|
533
572
|
useEffect(() => {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
573
|
+
if (!storage || !isStorageReady || isRestored) return;
|
|
574
|
+
const loadTransferCodes = async () => {
|
|
575
|
+
try {
|
|
576
|
+
// Load transfer codes
|
|
577
|
+
const storedCodes = await storage.getItem(TRANSFER_CODES_STORAGE_KEY);
|
|
578
|
+
const storedActiveTransferId = await storage.getItem(ACTIVE_TRANSFER_STORAGE_KEY);
|
|
579
|
+
const parsedCodes = storedCodes ? JSON.parse(storedCodes) : {};
|
|
580
|
+
const activeTransferId = storedActiveTransferId || null;
|
|
581
|
+
|
|
582
|
+
// Restore to Zustand store (store handles validation and expiration)
|
|
583
|
+
restoreFromStorage(parsedCodes, activeTransferId);
|
|
584
|
+
markRestored();
|
|
585
|
+
if (__DEV__ && Object.keys(parsedCodes).length > 0) {
|
|
586
|
+
logger('Restored transfer codes from storage', {
|
|
587
|
+
count: Object.keys(parsedCodes).length,
|
|
588
|
+
hasActiveTransfer: !!activeTransferId
|
|
589
|
+
});
|
|
545
590
|
}
|
|
546
|
-
})
|
|
591
|
+
} catch (error) {
|
|
592
|
+
if (__DEV__) {
|
|
593
|
+
logger('Failed to load transfer codes from storage', error);
|
|
594
|
+
}
|
|
595
|
+
// Mark as restored even on error to prevent retries
|
|
596
|
+
markRestored();
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
loadTransferCodes();
|
|
600
|
+
}, [storage, isStorageReady, isRestored, restoreFromStorage, markRestored, logger, storageKeyPrefix]);
|
|
601
|
+
|
|
602
|
+
// Persist transfer codes to storage whenever store changes
|
|
603
|
+
const {
|
|
604
|
+
transferCodes,
|
|
605
|
+
activeTransferId
|
|
606
|
+
} = useTransferCodesForPersistence();
|
|
607
|
+
useEffect(() => {
|
|
608
|
+
if (!storage || !isStorageReady || !isRestored) return;
|
|
609
|
+
const persistTransferCodes = async () => {
|
|
610
|
+
try {
|
|
611
|
+
await storage.setItem(TRANSFER_CODES_STORAGE_KEY, JSON.stringify(transferCodes));
|
|
612
|
+
if (activeTransferId) {
|
|
613
|
+
await storage.setItem(ACTIVE_TRANSFER_STORAGE_KEY, activeTransferId);
|
|
614
|
+
} else {
|
|
615
|
+
await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
|
|
616
|
+
}
|
|
617
|
+
} catch (error) {
|
|
618
|
+
if (__DEV__) {
|
|
619
|
+
logger('Failed to persist transfer codes', error);
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
};
|
|
623
|
+
persistTransferCodes();
|
|
624
|
+
}, [transferCodes, activeTransferId, storage, isStorageReady, isRestored, logger]);
|
|
625
|
+
|
|
626
|
+
// Cleanup expired transfer codes (every minute)
|
|
627
|
+
useEffect(() => {
|
|
628
|
+
const cleanup = setInterval(() => {
|
|
629
|
+
cleanupExpired();
|
|
547
630
|
}, 60000); // Check every minute
|
|
548
631
|
|
|
549
632
|
return () => clearInterval(cleanup);
|
|
550
|
-
}, [
|
|
551
|
-
|
|
552
|
-
// Transfer code management functions
|
|
553
|
-
const storeTransferCode = useCallback((transferId, code, sourceDeviceId, publicKey) => {
|
|
554
|
-
|
|
555
|
-
code,
|
|
556
|
-
sourceDeviceId,
|
|
557
|
-
publicKey,
|
|
558
|
-
timestamp: Date.now()
|
|
559
|
-
});
|
|
633
|
+
}, [cleanupExpired]);
|
|
634
|
+
|
|
635
|
+
// Transfer code management functions using Zustand store
|
|
636
|
+
const storeTransferCode = useCallback(async (transferId, code, sourceDeviceId, publicKey) => {
|
|
637
|
+
storeTransferCodeStore(transferId, code, sourceDeviceId, publicKey);
|
|
560
638
|
if (__DEV__) {
|
|
561
639
|
logger('Stored transfer code', {
|
|
562
640
|
transferId,
|
|
@@ -564,18 +642,27 @@ export const OxyProvider = ({
|
|
|
564
642
|
publicKey: publicKey.substring(0, 16) + '...'
|
|
565
643
|
});
|
|
566
644
|
}
|
|
567
|
-
}, [logger]);
|
|
645
|
+
}, [logger, storeTransferCodeStore]);
|
|
568
646
|
const getTransferCode = useCallback(transferId => {
|
|
569
|
-
return
|
|
570
|
-
}, []);
|
|
571
|
-
const
|
|
572
|
-
|
|
647
|
+
return getTransferCodeStore(transferId);
|
|
648
|
+
}, [getTransferCodeStore]);
|
|
649
|
+
const updateTransferState = useCallback(async (transferId, state) => {
|
|
650
|
+
updateTransferStateStore(transferId, state);
|
|
651
|
+
if (__DEV__) {
|
|
652
|
+
logger('Updated transfer state', {
|
|
653
|
+
transferId,
|
|
654
|
+
state
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
}, [logger, updateTransferStateStore]);
|
|
658
|
+
const clearTransferCode = useCallback(async transferId => {
|
|
659
|
+
clearTransferCodeStore(transferId);
|
|
573
660
|
if (__DEV__) {
|
|
574
661
|
logger('Cleared transfer code', {
|
|
575
662
|
transferId
|
|
576
663
|
});
|
|
577
664
|
}
|
|
578
|
-
}, [logger]);
|
|
665
|
+
}, [logger, clearTransferCodeStore]);
|
|
579
666
|
const refreshSessionsWithUser = useCallback(() => refreshSessions(userId), [refreshSessions, userId]);
|
|
580
667
|
const handleSessionRemoved = useCallback(sessionId => {
|
|
581
668
|
trackRemovedSession(sessionId);
|
|
@@ -584,6 +671,11 @@ export const OxyProvider = ({
|
|
|
584
671
|
toast.info('You have been signed out remotely.');
|
|
585
672
|
logout().catch(remoteError => logger('Failed to process remote sign out', remoteError));
|
|
586
673
|
}, [logger, logout]);
|
|
674
|
+
|
|
675
|
+
// Check pending transfers when authenticated and online using TanStack Query
|
|
676
|
+
const {
|
|
677
|
+
data: pendingTransferResults
|
|
678
|
+
} = useCheckPendingTransfers();
|
|
587
679
|
const handleIdentityTransferComplete = useCallback(async data => {
|
|
588
680
|
try {
|
|
589
681
|
logger('Received identity transfer complete notification', {
|
|
@@ -672,27 +764,55 @@ export const OxyProvider = ({
|
|
|
672
764
|
clearTransferCode(data.transferId);
|
|
673
765
|
return;
|
|
674
766
|
}
|
|
767
|
+
|
|
768
|
+
// NOTE: Target device verification already happened server-side when notifyTransferComplete was called
|
|
769
|
+
// The server verified that the target device is authenticated and has the matching public key
|
|
770
|
+
// Additional client-side verification is not necessary and would require source device authentication
|
|
771
|
+
// which may not be available. The existing checks (public key match, transfer code, device ID) are sufficient.
|
|
772
|
+
|
|
675
773
|
logger('All transfer verifications passed, deleting identity from source device', {
|
|
676
774
|
transferId: data.transferId,
|
|
677
775
|
sourceDeviceId: data.sourceDeviceId,
|
|
678
776
|
publicKey: data.publicKey.substring(0, 16) + '...'
|
|
679
777
|
});
|
|
680
778
|
try {
|
|
779
|
+
// Verify identity still exists before deletion (safety check)
|
|
780
|
+
const identityStillExists = await KeyManager.hasIdentity();
|
|
781
|
+
if (!identityStillExists) {
|
|
782
|
+
logger('Identity already deleted - skipping deletion', {
|
|
783
|
+
transferId: data.transferId
|
|
784
|
+
});
|
|
785
|
+
await updateTransferState(data.transferId, 'completed');
|
|
786
|
+
await clearTransferCode(data.transferId);
|
|
787
|
+
return;
|
|
788
|
+
}
|
|
681
789
|
await deleteIdentityAndClearAccount(false, false, true);
|
|
682
|
-
|
|
790
|
+
|
|
791
|
+
// Verify identity was actually deleted
|
|
792
|
+
const identityDeleted = !(await KeyManager.hasIdentity());
|
|
793
|
+
if (!identityDeleted) {
|
|
794
|
+
logger('Identity deletion failed - identity still exists', {
|
|
795
|
+
transferId: data.transferId
|
|
796
|
+
});
|
|
797
|
+
await updateTransferState(data.transferId, 'failed');
|
|
798
|
+
throw new Error('Identity deletion failed - identity still exists');
|
|
799
|
+
}
|
|
800
|
+
await updateTransferState(data.transferId, 'completed');
|
|
801
|
+
await clearTransferCode(data.transferId);
|
|
683
802
|
logger('Identity successfully deleted and transfer code cleared', {
|
|
684
803
|
transferId: data.transferId
|
|
685
804
|
});
|
|
686
805
|
toast.success('Identity successfully transferred and removed from this device');
|
|
687
806
|
} catch (deleteError) {
|
|
688
807
|
logger('Error during identity deletion', deleteError);
|
|
808
|
+
await updateTransferState(data.transferId, 'failed');
|
|
689
809
|
throw deleteError;
|
|
690
810
|
}
|
|
691
811
|
} catch (error) {
|
|
692
812
|
logger('Failed to delete identity after transfer', error);
|
|
693
813
|
toast.error(error?.message || 'Failed to remove identity from this device. Please try again manually from Security Settings.');
|
|
694
814
|
}
|
|
695
|
-
}, [deleteIdentityAndClearAccount, logger, getTransferCode, clearTransferCode, currentDeviceId, activeSessionId]);
|
|
815
|
+
}, [deleteIdentityAndClearAccount, logger, getTransferCode, clearTransferCode, updateTransferState, currentDeviceId, activeSessionId, oxyServices]);
|
|
696
816
|
useSessionSocket({
|
|
697
817
|
userId,
|
|
698
818
|
activeSessionId,
|
|
@@ -772,6 +892,9 @@ export const OxyProvider = ({
|
|
|
772
892
|
storeTransferCode,
|
|
773
893
|
getTransferCode,
|
|
774
894
|
clearTransferCode,
|
|
895
|
+
getAllPendingTransfers,
|
|
896
|
+
getActiveTransferId,
|
|
897
|
+
updateTransferState,
|
|
775
898
|
identitySyncState: {
|
|
776
899
|
isSynced: isIdentitySyncedStore ?? true,
|
|
777
900
|
isSyncing: isSyncing ?? false
|
|
@@ -791,7 +914,7 @@ export const OxyProvider = ({
|
|
|
791
914
|
useFollow: useFollowHook,
|
|
792
915
|
showBottomSheet: showBottomSheetForContext,
|
|
793
916
|
openAvatarPicker
|
|
794
|
-
}), [activeSessionId, currentDeviceId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, storeTransferCode, getTransferCode, clearTransferCode, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, isStorageReady, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker]);
|
|
917
|
+
}), [activeSessionId, currentDeviceId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, storeTransferCode, getTransferCode, clearTransferCode, getAllPendingTransfers, getActiveTransferId, updateTransferState, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, isStorageReady, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker]);
|
|
795
918
|
return /*#__PURE__*/_jsx(OxyContext.Provider, {
|
|
796
919
|
value: contextValue,
|
|
797
920
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","length","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","String","activeSession","find","currentDeviceId","getCurrentUserId","transferCodesRef","Map","cleanup","setInterval","fifteenMinutes","forEach","value","key","timestamp","delete","transferId","clearInterval","storeTransferCode","sourceDeviceId","publicKey","set","substring","getTransferCode","get","clearTransferCode","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","tenMinutes","age","ageMinutes","round","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","useTransferStore","useTransferCodesForPersistence","useCheckPendingTransfers","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","getAllPendingTransfersStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","String","activeSession","find","currentDeviceId","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","publicKey","substring","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","data","pendingTransferResults","handleIdentityTransferComplete","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","value","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":";;AACA,SACEA,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAEH,OAAO;AACd,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAW,QAAQ,YAAY;AAGxC,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,YAAY,QAAwB,qBAAqB;AAClE,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,gBAAgB,QAAQ,2BAA2B;AAE5D,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,oBAAoB,QAAQ,+BAA+B;AACpE,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,qBAAqB,EAAEC,uBAAuB,QAAQ,wBAAwB;AAEvF,SAASC,eAAe,IAAIC,qBAAqB,QAAQ,kCAAkC;AAC3F,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,UAAU,QAAyB,cAAc;AAC1D,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,sBAAsB,EAAEC,uBAAuB,QAAQ,sBAAsB;AACtF,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,MAAM,IAAIC,UAAU,QAAQ,yBAAyB;AAC9D,SAASC,gBAAgB,EAAEC,8BAA8B,QAAQ,yBAAyB;AAC1F,SAASC,wBAAwB,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiEvE,MAAMC,UAAU,gBAAGrC,aAAa,CAAyB,IAAI,CAAC;AAW9D,IAAIsC,mBAAyC,GAAG,IAAI;AAEpD,MAAMC,iBAAiB,GAAGA,CAAA,KAAqB;EAC7C,IAAID,mBAAmB,EAAE;IACvB,OAAOA,mBAAmB;EAC5B;EAEA,IAAI;IACF;IACA,MAAM;MAAEE;IAAU,CAAC,GAAGC,OAAO,CAAC,oBAAoB,CAAC;IACnDH,mBAAmB,GAAGE,SAA0B;IAChD,OAAOF,mBAAmB;EAC5B,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd,IAAIC,OAAO,EAAE;MACXZ,UAAU,CAACa,IAAI,CACb,yFAAyF,EACzF;QAAEC,SAAS,EAAE,YAAY;QAAEC,MAAM,EAAE;MAAoB,CAAC,EACxDJ,KACF,CAAC;IACH;IAEA,MAAMK,QAAuB,GAAGA,CAAA,KAAM;MACpC,MAAM,IAAIC,KAAK,CAAC,oFAAoF,CAAC;IACvG,CAAC;IAEDV,mBAAmB,GAAGS,QAAQ;IAC9B,OAAOT,mBAAmB;EAC5B;AACF,CAAC;AAED,OAAO,MAAMW,WAA8C,GAAGA,CAAC;EAC7DC,QAAQ;EACRC,WAAW,EAAEC,mBAAmB;EAChCC,OAAO;EACPC,gBAAgB,GAAG,aAAa;EAChCC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ,MAAMC,cAAc,GAAGpD,MAAM,CAAqB,IAAI,CAAC;EAEvD,IAAI,CAACoD,cAAc,CAACC,OAAO,EAAE;IAC3B,IAAIN,mBAAmB,EAAE;MACvBK,cAAc,CAACC,OAAO,GAAGN,mBAAmB;IAC9C,CAAC,MAAM,IAAIC,OAAO,EAAE;MAClBI,cAAc,CAACC,OAAO,GAAG,IAAIlD,WAAW,CAAC;QAAE6C;MAAQ,CAAC,CAAC;IACvD,CAAC,MAAM;MACL,MAAM,IAAIL,KAAK,CAAC,sEAAsE,CAAC;IACzF;EACF;EAEA,MAAMG,WAAW,GAAGM,cAAc,CAACC,OAAO;EAE1C,MAAM;IACJC,IAAI;IACJC,eAAe;IACfC,SAAS;IACTnB,KAAK;IACLoB,YAAY;IACZC,YAAY;IACZC,WAAW;IACX;IACAC,qBAAqB;IACrBC,SAAS;IACTC,iBAAiB;IACjBC;EACF,CAAC,GAAG1D,YAAY,CACdC,UAAU,CAAE0D,KAAgB,KAAM;IAChCV,IAAI,EAAEU,KAAK,CAACV,IAAI;IAChBC,eAAe,EAAES,KAAK,CAACT,eAAe;IACtCC,SAAS,EAAEQ,KAAK,CAACR,SAAS;IAC1BnB,KAAK,EAAE2B,KAAK,CAAC3B,KAAK;IAClBoB,YAAY,EAAEO,KAAK,CAACP,YAAY;IAChCC,YAAY,EAAEM,KAAK,CAACN,YAAY;IAChCC,WAAW,EAAEK,KAAK,CAACC,MAAM;IACzB;IACAL,qBAAqB,EAAEI,KAAK,CAACE,gBAAgB;IAC7CL,SAAS,EAAEG,KAAK,CAACH,SAAS;IAC1BC,iBAAiB,EAAEE,KAAK,CAACF,iBAAiB;IAC1CC,UAAU,EAAEC,KAAK,CAACD;EACpB,CAAC,CAAC,CACJ,CAAC;EAED,MAAM,CAACI,UAAU,EAAEC,aAAa,CAAC,GAAGnE,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAMoE,cAAc,GAAGrE,MAAM,CAAC,KAAK,CAAC;EACpC,MAAMsE,YAAY,GAAGjE,YAAY,CAACkE,QAAQ;EAE1C,MAAM9C,MAAM,GAAG7B,WAAW,CAAC,CAAC4E,OAAe,EAAEC,GAAa,KAAK;IAC7D,IAAInC,OAAO,EAAE;MACX,IAAImC,GAAG,KAAKC,SAAS,EAAE;QACrBC,OAAO,CAACpC,IAAI,CAAC,gBAAgBiC,OAAO,EAAE,EAAEC,GAAG,CAAC;MAC9C,CAAC,MAAM;QACLE,OAAO,CAACpC,IAAI,CAAC,gBAAgBiC,OAAO,EAAE,CAAC;MACzC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,WAAW,GAAG7E,OAAO,CAAC,MAAMc,cAAc,CAACoC,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEvF,MAAM;IAAE4B,OAAO;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGvE,UAAU,CAAC;IAAE2C,OAAO;IAAE1B;EAAO,CAAC,CAAC;;EAE5E;EACA;EACA3B,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+E,OAAO,IAAI,CAACE,cAAc,EAAE;IACjC,IAAI7E,QAAQ,CAAC8E,EAAE,KAAK,KAAK,EAAE,OAAO,CAAC;;IAEnC,MAAMC,uBAAuB,GAAG,MAAAA,CAAA,KAAY;MAC1C,IAAI;QACF;QACA,MAAMC,WAAW,GAAG,MAAM9D,UAAU,CAAC8D,WAAW,CAAC,CAAC;QAClD,IAAIA,WAAW,EAAE;UACf,MAAMC,OAAO,GAAG,MAAM/D,UAAU,CAACgE,uBAAuB,CAAC,CAAC;UAC1D,IAAI,CAACD,OAAO,EAAE;YACZ;YACA,MAAME,QAAQ,GAAG,MAAMjE,UAAU,CAACkE,yBAAyB,CAAC,CAAC;YAC7D,IAAIhD,OAAO,EAAE;cACXb,MAAM,CAAC4D,QAAQ,GACX,4CAA4C,GAC5C,6EACJ,CAAC;YACH;UACF,CAAC,MAAM;YACL;YACA,MAAMjE,UAAU,CAACmE,cAAc,CAAC,CAAC;UACnC;QACF,CAAC,MAAM;UACL;UACA,MAAMF,QAAQ,GAAG,MAAMjE,UAAU,CAACkE,yBAAyB,CAAC,CAAC;UAC7D,IAAID,QAAQ,IAAI/C,OAAO,EAAE;YACvBb,MAAM,CAAC,0CAA0C,CAAC;UACpD;QACF;MACF,CAAC,CAAC,OAAOY,KAAK,EAAE;QACd,IAAIC,OAAO,EAAE;UACXb,MAAM,CAAC,uCAAuC,EAAEY,KAAK,CAAC;QACxD;QACA;MACF;IACF,CAAC;IAED4C,uBAAuB,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACJ,OAAO,EAAEE,cAAc,EAAEtD,MAAM,CAAC,CAAC;;EAErC;EACA;;EAEA,MAAM;IACJ+D,eAAe;IACfC,QAAQ,EAAEC,uBAAuB;IACjCC,YAAY,EAAEC,mBAAmB;IACjCC,kBAAkB,EAAEC,yBAAyB;IAC7CC,WAAW;IACXC;EACF,CAAC,GAAGvF,qBAAqB,CAAC;IACxBoE,OAAO;IACPoB,WAAW,EAAErB,WAAW,CAACsB,QAAQ;IACjC/C,OAAO;IACP1B;EACF,CAAC,CAAC;EAEF,MAAM0E,WAAW,GAAGjF,cAAc,CAAC,CAAC;EAEpC,MAAM;IACJkF,QAAQ;IACRC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,eAAe;IACfC,iBAAiB;IACjBC,mBAAmB;IACnBC;EACF,CAAC,GAAGlG,oBAAoB,CAAC;IACvBoC,WAAW;IACX+B,OAAO;IACP5B,gBAAgB;IAChBQ,YAAY;IACZE,WAAW;IACXqC,uBAAuB;IACvB9C,iBAAiB;IACjBC,OAAO;IACP0D,YAAY,EAAGrC,OAAO,IAAKF,YAAY,CAAC;MAAEjC,KAAK,EAAEmC;IAAQ,CAAC,CAAC;IAC3D/C,MAAM;IACN2C,aAAa;IACb+B;EACF,CAAC,CAAC;EAEF,MAAM;IACJW,cAAc;IACdC,cAAc,EAAEC,kBAAkB;IAClCC,MAAM;IACNhD,MAAM;IACNiD,SAAS;IACThC,WAAW;IACXiC,YAAY;IACZjD,gBAAgB;IAChBkD,YAAY,EAAEC;EAChB,CAAC,GAAG1G,iBAAiB,CAAC;IACpBmC,WAAW;IACX+B,OAAO;IACPuB,QAAQ;IACRC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdI,mBAAmB;IACnBD,iBAAiB;IACjBF,aAAa;IACbR,uBAAuB;IACvB9C,iBAAiB;IACjBC,OAAO;IACPM,YAAY;IACZC,YAAY;IACZC,WAAW;IACXW,YAAY;IACZR,iBAAiB;IACjBC,UAAU;IACVtC;EACF,CAAC,CAAC;;EAEF;EACA,MAAM2F,YAAY,GAAGxH,WAAW,CAAC,MAAMyH,gBAAgB,CAAC,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;;EAE9E;EACA,MAAMN,cAAc,GAAGnH,WAAW,CAChC,OAAO0H,UAA+B,EAAEC,QAAiB,KAAmC;IAC1F;IACA,IAAI,OAAOD,UAAU,KAAK,QAAQ,EAAE;MAClC,MAAM,IAAI3E,KAAK,CAAC,2GAA2G,CAAC;IAC9H;;IAEA;IACA,IAAI,CAAC4E,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC7C,MAAM,IAAI5E,KAAK,CAAC,8CAA8C,CAAC;IACjE;IAEA,OAAOqE,kBAAkB,CAACM,UAAU,EAAEC,QAAQ,CAAC;EACjD,CAAC,EACD,CAACP,kBAAkB,CACrB,CAAC;;EAED;EACA;EACA,MAAMQ,mBAAmB,GAAG5H,WAAW,CAAC,YAA2B;IACjE;IACAuG,WAAW,CAACsB,KAAK,CAAC,CAAC;;IAEnB;IACA,IAAI5C,OAAO,EAAE;MACX,IAAI;QACF,MAAM1D,eAAe,CAAC0D,OAAO,CAAC;MAChC,CAAC,CAAC,OAAOxC,KAAK,EAAE;QACdZ,MAAM,CAAC,uCAAuC,EAAEY,KAAK,CAAC;MACxD;IACF;;IAEA;IACA,MAAMqE,iBAAiB,CAAC,CAAC;;IAEzB;IACA,IAAI7B,OAAO,EAAE;MACX,IAAI;QACF,MAAMA,OAAO,CAAC6C,UAAU,CAAC,qBAAqB,CAAC;MACjD,CAAC,CAAC,OAAOrF,KAAK,EAAE;QACdZ,MAAM,CAAC,qCAAqC,EAAEY,KAAK,CAAC;MACtD;IACF;;IAEA;IACAhC,YAAY,CAACsH,QAAQ,CAAC,CAAC,CAAC7D,iBAAiB,CAAC,KAAK,CAAC;IAChDzD,YAAY,CAACsH,QAAQ,CAAC,CAAC,CAAC5D,UAAU,CAAC,KAAK,CAAC;;IAEzC;IACAvC,eAAe,CAACmG,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;;IAElC;IACA9E,WAAW,CAAC+E,UAAU,CAAC,CAAC;EAC1B,CAAC,EAAE,CAAC1B,WAAW,EAAEtB,OAAO,EAAE6B,iBAAiB,EAAEjF,MAAM,EAAEqB,WAAW,CAAC,CAAC;;EAElE;EACA,MAAMgF,2BAA2B,GAAGnG,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAAC+D,sBAAsB,CAAC;EAC7F,MAAMC,wBAAwB,GAAGrG,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAACiE,mBAAmB,CAAC;EACvF,MAAMC,sBAAsB,GAAGvG,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAACmE,iBAAiB,CAAC;EACnF,MAAMC,oBAAoB,GAAGzG,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAACqE,eAAe,CAAC;EAC/E,MAAMC,wBAAwB,GAAG3G,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAACuE,mBAAmB,CAAC;EACvF,MAAMC,sBAAsB,GAAG7G,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAACyE,iBAAiB,CAAC;;EAEnF;EACA,MAAMV,sBAAsB,GAAGnI,WAAW,CAAC,MAAM;IAC/C,OAAOkI,2BAA2B,CAAC,CAAC;EACtC,CAAC,EAAE,CAACA,2BAA2B,CAAC,CAAC;EAEjC,MAAMG,mBAAmB,GAAGrI,WAAW,CAAC,MAAM;IAC5C,OAAOoI,wBAAwB,CAAC,CAAC;EACnC,CAAC,EAAE,CAACA,wBAAwB,CAAC,CAAC;;EAE9B;EACA;EACA,MAAMU,6BAA6B,GAAG9I,WAAW,CAAC,OAChD+I,UAAmB,GAAG,KAAK,EAC3BC,KAAc,GAAG,KAAK,EACtBC,aAAsB,GAAG,KAAK,KACZ;IAClB;IACA;IACA,IAAI,CAACD,KAAK,EAAE;MACV,MAAME,gBAAgB,GAAGf,sBAAsB,CAAC,CAAC;MACjD,IAAIe,gBAAgB,CAACC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAMC,gBAAgB,GAAGf,mBAAmB,CAAC,CAAC;QAC9C,MAAMgB,iBAAiB,GAAGD,gBAAgB,IAAIF,gBAAgB,CAACI,IAAI,CAAEC,CAAoC,IAAKA,CAAC,CAACC,UAAU,KAAKJ,gBAAgB,CAAC;QAEhJ,IAAIC,iBAAiB,EAAE;UACrB,MAAM,IAAItG,KAAK,CACb,sEAAsE,GACtE,+DAA+D,GAC/D,mEACF,CAAC;QACH;MACF;IACF;;IAEA;IACA,MAAM6E,mBAAmB,CAAC,CAAC;;IAE3B;IACA,MAAMpG,UAAU,CAACiI,cAAc,CAACV,UAAU,EAAEC,KAAK,EAAEC,aAAa,CAAC;EACnE,CAAC,EAAE,CAACrB,mBAAmB,EAAEO,sBAAsB,EAAEE,mBAAmB,CAAC,CAAC;;EAEtE;EACA;EACAnI,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+E,OAAO,EAAE;IAEd,IAAIyE,UAAU,GAAG,KAAK;IACtB,IAAIC,YAAmC,GAAG,IAAI;IAC9C,IAAIC,mBAAmB,GAAG,CAAC;IAC3B,MAAMC,4BAA4B,GAAG,IAAI,CAAC,CAAC;;IAE3C;IACA,MAAMC,QAAQ,GAAG;MACfC,mBAAmB,EAAE,CAAC;MACtBC,eAAe,EAAE,KAAK;MAAE;MACxBC,YAAY,EAAE,KAAK;MAAE;MACrBC,WAAW,EAAE,KAAK;MAAE;MACpBC,WAAW,EAAE,CAAC,CAAE;IAClB,CAAC;IAED,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;MAC9B,IAAIT,YAAY,EAAE;QAChBU,YAAY,CAACV,YAAY,CAAC;MAC5B;MACAA,YAAY,GAAGW,UAAU,CAAC,MAAM;QAC9BC,mBAAmB,CAAC,CAAC;MACvB,CAAC,EAAET,QAAQ,CAACE,eAAe,CAAC;IAC9B,CAAC;IAED,MAAMO,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,IAAI;QACF;QACA,MAAMrH,WAAW,CAACsH,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM;UAC1Cf,UAAU,GAAG,IAAI;UACjB,MAAM,IAAI3G,KAAK,CAAC,qBAAqB,CAAC;QACxC,CAAC,CAAC;;QAEF;QACA,IAAI+G,QAAQ,CAACC,mBAAmB,GAAG,CAAC,EAAE;UACpCD,QAAQ,CAACC,mBAAmB,GAAG,CAAC;UAChCD,QAAQ,CAACE,eAAe,GAAGF,QAAQ,CAACG,YAAY;QAClD;;QAEA;QACA,IAAIP,UAAU,EAAE;UACd,MAAMgB,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;UACtB,MAAME,gBAAgB,GAAGF,GAAG,GAAGd,mBAAmB;UAElD,IAAIgB,gBAAgB,IAAIf,4BAA4B,EAAE;YACpDhI,MAAM,CAAC,gDAAgD,CAAC;YACxD+H,mBAAmB,GAAGc,GAAG;;YAEzB;YACA,IAAI;cACF,MAAMG,gBAAgB,GAAG,MAAMvF,WAAW,CAAC,CAAC;cAC5C,IAAIuF,gBAAgB,EAAE;gBACpB;gBACA;gBACA,MAAMC,UAAU,GAAG,MAAM7F,OAAO,CAAC8F,OAAO,CAAC,qBAAqB,CAAC;gBAC/D,IAAID,UAAU,KAAK,MAAM,EAAE;kBACzB,MAAMtD,YAAY,CAAC,CAAC;gBACtB;cACF;YACF,CAAC,CAAC,OAAOwD,SAAc,EAAE;cACvB;cACA,IAAIA,SAAS,EAAEC,IAAI,KAAK,mBAAmB,IAAID,SAAS,EAAEpG,OAAO,KAAK,mBAAmB,EAAE;gBACzF,IAAIlC,OAAO,EAAE;kBACXZ,UAAU,CAACoJ,KAAK,CAAC,kCAAkC,EAAE;oBAAEtI,SAAS,EAAE,YAAY;oBAAEC,MAAM,EAAE;kBAAsB,CAAC,EAAEmI,SAAoB,CAAC;gBACxI;gBACA;cACF,CAAC,MAAM,IAAI,CAAC7J,uBAAuB,CAAC6J,SAAS,CAAC,EAAE;gBAC9C;gBACAnJ,MAAM,CAAC,qCAAqC,EAAEmJ,SAAS,CAAC;cAC1D,CAAC,MAAM,IAAItI,OAAO,EAAE;gBAClBZ,UAAU,CAACoJ,KAAK,CAAC,+CAA+C,EAAE;kBAAEtI,SAAS,EAAE,YAAY;kBAAEC,MAAM,EAAE;gBAAsB,CAAC,EAAEmI,SAAoB,CAAC;cACrJ;YACF;;YAEA;YACA;YACA;UACF;;UAEA;UACA;UACAtB,UAAU,GAAG,KAAK;QACpB;MACF,CAAC,CAAC,OAAOjH,KAAK,EAAE;QACd;QACAiH,UAAU,GAAG,IAAI;;QAEjB;QACAI,QAAQ,CAACC,mBAAmB,EAAE;;QAE9B;QACA,MAAMoB,iBAAiB,GAAGC,IAAI,CAACC,GAAG,CAChCD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAExB,QAAQ,CAACC,mBAAmB,GAAG,CAAC,CAAC,EAC7CD,QAAQ,CAACI,WAAW,GAAGJ,QAAQ,CAACG,YAClC,CAAC;QACDH,QAAQ,CAACE,eAAe,GAAGoB,IAAI,CAACC,GAAG,CACjCvB,QAAQ,CAACG,YAAY,GAAGkB,iBAAiB,EACzCrB,QAAQ,CAACI,WACX,CAAC;;QAED;QACA,IAAIJ,QAAQ,CAACC,mBAAmB,IAAID,QAAQ,CAACK,WAAW,EAAE;UACxDL,QAAQ,CAACE,eAAe,GAAGF,QAAQ,CAACI,WAAW;QACjD;MACF,CAAC,SAAS;QACR;QACAE,iBAAiB,CAAC,CAAC;MACrB;IACF,CAAC;;IAED;IACAG,mBAAmB,CAAC,CAAC;IAErB,OAAO,MAAM;MACX,IAAIZ,YAAY,EAAE;QAChBU,YAAY,CAACV,YAAY,CAAC;MAC5B;IACF,CAAC;EACH,CAAC,EAAE,CAACzG,WAAW,EAAE+B,OAAO,EAAEuC,YAAY,EAAE3F,MAAM,EAAEyD,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAE9E,MAAM;IAAE4H,iBAAiB;IAAEC,uBAAuB;IAAEC;EAAiB,CAAC,GAAGzK,mBAAmB,CAAC;IAC3FkC,WAAW;IACXuD,eAAe;IACflD,OAAO;IACPuD,iBAAiB;IACjBjF;EACF,CAAC,CAAC;EAEF,MAAM6J,aAAa,GAAGpJ,iBAAiB,CAAC,CAAC;EAEzC,MAAMqJ,0BAA0B,GAAG3L,WAAW,CAAC,YAA2B;IACxE,IAAI,CAACiF,OAAO,EAAE;MACZ;IACF;IAEAT,aAAa,CAAC,KAAK,CAAC;IAEpB,IAAI;MACF,MAAMoH,oBAAoB,GAAG,MAAM3G,OAAO,CAAC8F,OAAO,CAAC/F,WAAW,CAAC6G,UAAU,CAAC;MAC1E,MAAMC,gBAA0B,GAAGF,oBAAoB,GAAGG,IAAI,CAACC,KAAK,CAACJ,oBAAoB,CAAC,GAAG,EAAE;MAC/F,MAAMK,qBAAqB,GAAG,MAAMhH,OAAO,CAAC8F,OAAO,CAAC/F,WAAW,CAACyB,eAAe,CAAC;MAEhF,MAAMyF,aAA8B,GAAG,EAAE;MAEzC,IAAIJ,gBAAgB,CAAC3C,MAAM,GAAG,CAAC,EAAE;QAC/B,KAAK,MAAMgD,SAAS,IAAIL,gBAAgB,EAAE;UACxC,IAAI;YACF,MAAMM,UAAU,GAAG,MAAMlJ,WAAW,CAACmJ,eAAe,CAACF,SAAS,EAAE;cAAEG,mBAAmB,EAAE;YAAK,CAAC,CAAC;YAC9F,IAAIF,UAAU,EAAEG,KAAK,IAAIH,UAAU,CAAC1I,IAAI,EAAE;cACxC,MAAMgH,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;cACtBuB,aAAa,CAACM,IAAI,CAAC;gBACjBL,SAAS;gBACTM,QAAQ,EAAE,EAAE;gBACZC,SAAS,EAAE,IAAI/B,IAAI,CAACD,GAAG,CAACiC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACC,WAAW,CAAC,CAAC;gBAC1EC,UAAU,EAAEnC,GAAG,CAACkC,WAAW,CAAC,CAAC;gBAC7BE,MAAM,EAAEV,UAAU,CAAC1I,IAAI,CAACqJ,EAAE,EAAEC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBAC5CC,SAAS,EAAEd,SAAS,KAAKF;cAC3B,CAAC,CAAC;YACJ;UACF,CAAC,CAAC,OAAOiB,eAAe,EAAE;YACxB;YACA;YACA,IAAI,CAAChM,qBAAqB,CAACgM,eAAe,CAAC,IAAI,CAAC/L,uBAAuB,CAAC+L,eAAe,CAAC,EAAE;cACxFrL,MAAM,CAAC,uCAAuC,EAAEqL,eAAe,CAAC;YAClE,CAAC,MAAM,IAAIxK,OAAO,IAAIvB,uBAAuB,CAAC+L,eAAe,CAAC,EAAE;cAC9D;cACApL,UAAU,CAACoJ,KAAK,CAAC,oDAAoD,EAAE;gBAAEtI,SAAS,EAAE,YAAY;gBAAEC,MAAM,EAAE;cAA6B,CAAC,EAAEqK,eAA0B,CAAC;YACvK;UACF;QACF;QAEA,IAAIhB,aAAa,CAAC/C,MAAM,GAAG,CAAC,EAAE;UAC5BxC,cAAc,CAACuF,aAAa,EAAE;YAAEiB,KAAK,EAAE;UAAM,CAAC,CAAC;QACjD;MACF;MAEA,IAAIlB,qBAAqB,EAAE;QACzB,IAAI;UACF,MAAMrF,aAAa,CAACqF,qBAAqB,CAAC;QAC5C,CAAC,CAAC,OAAOmB,WAAW,EAAE;UACpB;UACA,IAAIlM,qBAAqB,CAACkM,WAAW,CAAC,EAAE;YACtC,MAAMnI,OAAO,CAAC6C,UAAU,CAAC9C,WAAW,CAACyB,eAAe,CAAC;YACrDE,cAAc,CACZuF,aAAa,CAACmB,MAAM,CAAEC,OAAO,IAAKA,OAAO,CAACnB,SAAS,KAAKF,qBAAqB,CAAC,EAC9E;cAAEkB,KAAK,EAAE;YAAM,CACjB,CAAC;YACD;UACF,CAAC,MAAM,IAAIhM,uBAAuB,CAACiM,WAAW,CAAC,EAAE;YAC/C;YACA,IAAI1K,OAAO,EAAE;cACXZ,UAAU,CAACoJ,KAAK,CAAC,2DAA2D,EAAE;gBAAEtI,SAAS,EAAE,YAAY;gBAAEC,MAAM,EAAE;cAA6B,CAAC,EAAEuK,WAAsB,CAAC;YAC1K;UACF,CAAC,MAAM;YACL;YACAvL,MAAM,CAAC,iCAAiC,EAAEuL,WAAW,CAAC;UACxD;QACF;MACF;IACF,CAAC,CAAC,OAAO3K,KAAK,EAAE;MACd,IAAIC,OAAO,EAAE;QACXZ,UAAU,CAACW,KAAK,CAAC,iBAAiB,EAAEA,KAAK,YAAYM,KAAK,GAAGN,KAAK,GAAG,IAAIM,KAAK,CAACwK,MAAM,CAAC9K,KAAK,CAAC,CAAC,EAAE;UAAEG,SAAS,EAAE,YAAY;UAAEC,MAAM,EAAE;QAA6B,CAAC,CAAC;MACnK;MACA,MAAMiE,iBAAiB,CAAC,CAAC;IAC3B,CAAC,SAAS;MACRtC,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CACDsC,iBAAiB,EACjBjF,MAAM,EACNqB,WAAW,EACX+B,OAAO,EACPD,WAAW,CAACyB,eAAe,EAC3BzB,WAAW,CAAC6G,UAAU,EACtBjF,aAAa,EACbD,cAAc,CACf,CAAC;EAEFzG,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+E,OAAO,IAAIR,cAAc,CAAChB,OAAO,EAAE;MACtC;IACF;IAEAgB,cAAc,CAAChB,OAAO,GAAG,IAAI;IAC7B,KAAKkI,0BAA0B,CAAC,CAAC;EACnC,CAAC,EAAE,CAACA,0BAA0B,EAAE1G,OAAO,CAAC,CAAC;EAEzC,MAAMuI,aAAa,GAAG/G,eAAe,GACjCD,QAAQ,CAACiH,IAAI,CAAEH,OAAO,IAAKA,OAAO,CAACnB,SAAS,KAAK1F,eAAe,CAAC,GACjE3B,SAAS;EACb,MAAM4I,eAAe,GAAGF,aAAa,EAAEf,QAAQ,IAAI,IAAI;;EAEvD;EACA;EACA;EACA,MAAMK,MAAM,GAAG5J,WAAW,CAACyK,gBAAgB,CAAC,CAAC,IAAIjK,IAAI,EAAEqJ,EAAE;;EAEzD;EACA,MAAMa,0BAA0B,GAAG,GAAGvK,gBAAgB,iBAAiB;EACvE,MAAMwK,2BAA2B,GAAG,GAAGxK,gBAAgB,qBAAqB;EAC5E,MAAMyK,UAAU,GAAG/L,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAAC0J,UAAU,CAAC;EAChE,MAAMC,kBAAkB,GAAGhM,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAAC2J,kBAAkB,CAAC;EAChF,MAAMC,YAAY,GAAGjM,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAAC4J,YAAY,CAAC;EACpE,MAAMC,cAAc,GAAGlM,gBAAgB,CAAEqC,KAAK,IAAKA,KAAK,CAAC6J,cAAc,CAAC;;EAExE;EACA/N,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+E,OAAO,IAAI,CAACE,cAAc,IAAI2I,UAAU,EAAE;IAE/C,MAAMI,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpC,IAAI;QACF;QACA,MAAMC,WAAW,GAAG,MAAMlJ,OAAO,CAAC8F,OAAO,CAAC6C,0BAA0B,CAAC;QACrE,MAAMQ,sBAAsB,GAAG,MAAMnJ,OAAO,CAAC8F,OAAO,CAAC8C,2BAA2B,CAAC;QAEjF,MAAMQ,WAAW,GAAGF,WAAW,GAAGpC,IAAI,CAACC,KAAK,CAACmC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM/E,gBAAgB,GAAGgF,sBAAsB,IAAI,IAAI;;QAEvD;QACAL,kBAAkB,CAACM,WAAW,EAAEjF,gBAAgB,CAAC;QACjD4E,YAAY,CAAC,CAAC;QAEd,IAAItL,OAAO,IAAI4L,MAAM,CAACC,IAAI,CAACF,WAAW,CAAC,CAAClF,MAAM,GAAG,CAAC,EAAE;UAClDtH,MAAM,CAAC,sCAAsC,EAAE;YAC7C2M,KAAK,EAAEF,MAAM,CAACC,IAAI,CAACF,WAAW,CAAC,CAAClF,MAAM;YACtCE,iBAAiB,EAAE,CAAC,CAACD;UACvB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC,OAAO3G,KAAK,EAAE;QACd,IAAIC,OAAO,EAAE;UACXb,MAAM,CAAC,4CAA4C,EAAEY,KAAK,CAAC;QAC7D;QACA;QACAuL,YAAY,CAAC,CAAC;MAChB;IACF,CAAC;IAEDE,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACjJ,OAAO,EAAEE,cAAc,EAAE2I,UAAU,EAAEC,kBAAkB,EAAEC,YAAY,EAAEnM,MAAM,EAAEwB,gBAAgB,CAAC,CAAC;;EAErG;EACA,MAAM;IAAEoL,aAAa;IAAErF;EAAiB,CAAC,GAAGpH,8BAA8B,CAAC,CAAC;EAC5E9B,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+E,OAAO,IAAI,CAACE,cAAc,IAAI,CAAC2I,UAAU,EAAE;IAEhD,MAAMY,oBAAoB,GAAG,MAAAA,CAAA,KAAY;MACvC,IAAI;QACF,MAAMzJ,OAAO,CAAC0J,OAAO,CAACf,0BAA0B,EAAE7B,IAAI,CAAC6C,SAAS,CAACH,aAAa,CAAC,CAAC;QAEhF,IAAIrF,gBAAgB,EAAE;UACpB,MAAMnE,OAAO,CAAC0J,OAAO,CAACd,2BAA2B,EAAEzE,gBAAgB,CAAC;QACtE,CAAC,MAAM;UACL,MAAMnE,OAAO,CAAC6C,UAAU,CAAC+F,2BAA2B,CAAC;QACvD;MACF,CAAC,CAAC,OAAOpL,KAAK,EAAE;QACd,IAAIC,OAAO,EAAE;UACXb,MAAM,CAAC,kCAAkC,EAAEY,KAAK,CAAC;QACnD;MACF;IACF,CAAC;IAEDiM,oBAAoB,CAAC,CAAC;EACxB,CAAC,EAAE,CAACD,aAAa,EAAErF,gBAAgB,EAAEnE,OAAO,EAAEE,cAAc,EAAE2I,UAAU,EAAEjM,MAAM,CAAC,CAAC;;EAElF;EACA3B,SAAS,CAAC,MAAM;IACd,MAAM2O,OAAO,GAAGC,WAAW,CAAC,MAAM;MAChCb,cAAc,CAAC,CAAC;IAClB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;;IAEX,OAAO,MAAMc,aAAa,CAACF,OAAO,CAAC;EACrC,CAAC,EAAE,CAACZ,cAAc,CAAC,CAAC;;EAEpB;EACA,MAAM1F,iBAAiB,GAAGvI,WAAW,CAAC,OAAOwJ,UAAkB,EAAEyB,IAAY,EAAE+D,cAA6B,EAAEC,SAAiB,KAAK;IAClI3G,sBAAsB,CAACkB,UAAU,EAAEyB,IAAI,EAAE+D,cAAc,EAAEC,SAAS,CAAC;IAEnE,IAAIvM,OAAO,EAAE;MACXb,MAAM,CAAC,sBAAsB,EAAE;QAAE2H,UAAU;QAAEwF,cAAc;QAAEC,SAAS,EAAEA,SAAS,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;MAAM,CAAC,CAAC;IAC/G;EACF,CAAC,EAAE,CAACrN,MAAM,EAAEyG,sBAAsB,CAAC,CAAC;EAEpC,MAAMG,eAAe,GAAGzI,WAAW,CAAEwJ,UAAkB,IAAK;IAC1D,OAAOhB,oBAAoB,CAACgB,UAAU,CAAC;EACzC,CAAC,EAAE,CAAChB,oBAAoB,CAAC,CAAC;EAE1B,MAAMG,mBAAmB,GAAG3I,WAAW,CAAC,OAAOwJ,UAAkB,EAAEpF,KAAyC,KAAK;IAC/GsE,wBAAwB,CAACc,UAAU,EAAEpF,KAAK,CAAC;IAE3C,IAAI1B,OAAO,EAAE;MACXb,MAAM,CAAC,wBAAwB,EAAE;QAAE2H,UAAU;QAAEpF;MAAM,CAAC,CAAC;IACzD;EACF,CAAC,EAAE,CAACvC,MAAM,EAAE6G,wBAAwB,CAAC,CAAC;EAEtC,MAAMG,iBAAiB,GAAG7I,WAAW,CAAC,MAAOwJ,UAAkB,IAAK;IAClEZ,sBAAsB,CAACY,UAAU,CAAC;IAElC,IAAI9G,OAAO,EAAE;MACXb,MAAM,CAAC,uBAAuB,EAAE;QAAE2H;MAAW,CAAC,CAAC;IACjD;EACF,CAAC,EAAE,CAAC3H,MAAM,EAAE+G,sBAAsB,CAAC,CAAC;EAEpC,MAAMuG,uBAAuB,GAAGnP,WAAW,CACzC,MAAM6G,eAAe,CAACiG,MAAM,CAAC,EAC7B,CAACjG,eAAe,EAAEiG,MAAM,CAC1B,CAAC;EAED,MAAMsC,oBAAoB,GAAGpP,WAAW,CACrCmM,SAAiB,IAAK;IACrBnF,mBAAmB,CAACmF,SAAS,CAAC;EAChC,CAAC,EACD,CAACnF,mBAAmB,CACtB,CAAC;EAED,MAAMqI,mBAAmB,GAAGrP,WAAW,CAAC,MAAM;IAC5CQ,KAAK,CAAC8O,IAAI,CAAC,oCAAoC,CAAC;IAChDjL,MAAM,CAAC,CAAC,CAACoG,KAAK,CAAE8E,WAAW,IAAK1N,MAAM,CAAC,mCAAmC,EAAE0N,WAAW,CAAC,CAAC;EAC3F,CAAC,EAAE,CAAC1N,MAAM,EAAEwC,MAAM,CAAC,CAAC;;EAEpB;EACA,MAAM;IAAEmL,IAAI,EAAEC;EAAuB,CAAC,GAAGxN,wBAAwB,CAAC,CAAC;EAEnE,MAAMyN,8BAA8B,GAAG1P,WAAW,CAChD,MAAOwP,IAAmH,IAAK;IAC7H,IAAI;MACF3N,MAAM,CAAC,kDAAkD,EAAE;QACzD2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;QAC3BwF,cAAc,EAAEQ,IAAI,CAACR,cAAc;QACnCtB,eAAe;QACfiC,gBAAgB,EAAElJ,eAAe,KAAK,IAAI;QAC1CwI,SAAS,EAAEO,IAAI,CAACP,SAAS,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;MAC/C,CAAC,CAAC;MAEF,MAAMU,cAAc,GAAGnH,eAAe,CAAC+G,IAAI,CAAChG,UAAU,CAAC;MAEvD,IAAI,CAACoG,cAAc,EAAE;QACnB/N,MAAM,CAAC,wCAAwC,EAAE;UAC/C2H,UAAU,EAAEgG,IAAI,CAAChG;QACnB,CAAC,CAAC;QACFhJ,KAAK,CAACiC,KAAK,CAAC,6EAA6E,CAAC;QAC1F;MACF;;MAEA;MACA,MAAMoN,gBAAgB,GAAGL,IAAI,CAACP,SAAS,KAAKW,cAAc,CAACX,SAAS;MACpE,IAAI,CAACY,gBAAgB,EAAE;QACrBhO,MAAM,CAAC,kCAAkC,EAAE;UACzC2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;UAC3BsG,iBAAiB,EAAEN,IAAI,CAACP,SAAS,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;UAC1Da,eAAe,EAAEH,cAAc,CAACX,SAAS,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAC/D,CAAC,CAAC;QACF1O,KAAK,CAACiC,KAAK,CAAC,kFAAkF,CAAC;QAC/F;MACF;;MAEA;MACA;MACA;MACA,MAAMuN,eAAe;MACnB;MACCR,IAAI,CAACR,cAAc,IAAIQ,IAAI,CAACR,cAAc,KAAKtB,eAAe;MAC/D;MACCkC,cAAc,CAACZ,cAAc,IAAIY,cAAc,CAACZ,cAAc,KAAKtB,eAAgB;;MAEtF;MACA,IAAI,CAACsC,eAAe,IAAIH,gBAAgB,EAAE;QACxChO,MAAM,CAAC,mFAAmF,EAAE;UAC1F2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;UAC3ByG,gBAAgB,EAAET,IAAI,CAACR,cAAc;UACrCkB,cAAc,EAAEN,cAAc,CAACZ,cAAc;UAC7CtB,eAAe;UACfiC,gBAAgB,EAAElJ,eAAe,KAAK;QACxC,CAAC,CAAC;QACF;MACF,CAAC,MAAM,IAAI,CAACuJ,eAAe,IAAI,CAACH,gBAAgB,EAAE;QAChD;QACAhO,MAAM,CAAC,+CAA+C,EAAE;UACtD2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;UAC3ByG,gBAAgB,EAAET,IAAI,CAACR,cAAc;UACrCtB;QACF,CAAC,CAAC;QACFlN,KAAK,CAACiC,KAAK,CAAC,sFAAsF,CAAC;QACnG;MACF;;MAEA;MACA;MACA,IAAI+M,IAAI,CAACW,YAAY,EAAE;QACrB,MAAMC,WAAW,GAAGZ,IAAI,CAACW,YAAY,CAACE,WAAW,CAAC,CAAC,KAAKT,cAAc,CAAC3E,IAAI,CAACoF,WAAW,CAAC,CAAC;QACzF,IAAI,CAACD,WAAW,EAAE;UAChBvO,MAAM,CAAC,0EAA0E,EAAE;YACjF2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;YAC3B8G,YAAY,EAAEd,IAAI,CAACW,YAAY;YAC/BI,UAAU,EAAEX,cAAc,CAAC3E,IAAI,CAACiE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;UACpD,CAAC,CAAC;UACF;UACA;QACF;MACF;;MAEA;MACA,MAAMsB,WAAW,GAAG7F,IAAI,CAACD,GAAG,CAAC,CAAC,GAAGkF,cAAc,CAACa,SAAS;MACzD,MAAMC,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;MACjC,IAAIF,WAAW,GAAGE,UAAU,EAAE;QAC5B7O,MAAM,CAAC,yCAAyC,EAAE;UAChD2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;UAC3BmH,GAAG,EAAEH,WAAW;UAChBI,UAAU,EAAExF,IAAI,CAACyF,KAAK,CAACL,WAAW,GAAG,KAAK;QAC5C,CAAC,CAAC;QACFhQ,KAAK,CAACiC,KAAK,CAAC,6FAA6F,CAAC;QAC1GoG,iBAAiB,CAAC2G,IAAI,CAAChG,UAAU,CAAC;QAClC;MACF;;MAEA;MACA;MACA;MACA;;MAEA3H,MAAM,CAAC,yEAAyE,EAAE;QAChF2H,UAAU,EAAEgG,IAAI,CAAChG,UAAU;QAC3BwF,cAAc,EAAEQ,IAAI,CAACR,cAAc;QACnCC,SAAS,EAAEO,IAAI,CAACP,SAAS,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;MAC/C,CAAC,CAAC;MAEF,IAAI;QACF;QACA,MAAM4B,mBAAmB,GAAG,MAAMtP,UAAU,CAAC8D,WAAW,CAAC,CAAC;QAC1D,IAAI,CAACwL,mBAAmB,EAAE;UACxBjP,MAAM,CAAC,8CAA8C,EAAE;YACrD2H,UAAU,EAAEgG,IAAI,CAAChG;UACnB,CAAC,CAAC;UACF,MAAMb,mBAAmB,CAAC6G,IAAI,CAAChG,UAAU,EAAE,WAAW,CAAC;UACvD,MAAMX,iBAAiB,CAAC2G,IAAI,CAAChG,UAAU,CAAC;UACxC;QACF;QAEA,MAAMV,6BAA6B,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;QAEvD;QACA,MAAMiI,eAAe,GAAG,EAAE,MAAMvP,UAAU,CAAC8D,WAAW,CAAC,CAAC,CAAC;QACzD,IAAI,CAACyL,eAAe,EAAE;UACpBlP,MAAM,CAAC,kDAAkD,EAAE;YACzD2H,UAAU,EAAEgG,IAAI,CAAChG;UACnB,CAAC,CAAC;UACF,MAAMb,mBAAmB,CAAC6G,IAAI,CAAChG,UAAU,EAAE,QAAQ,CAAC;UACpD,MAAM,IAAIzG,KAAK,CAAC,kDAAkD,CAAC;QACrE;QAEA,MAAM4F,mBAAmB,CAAC6G,IAAI,CAAChG,UAAU,EAAE,WAAW,CAAC;QACvD,MAAMX,iBAAiB,CAAC2G,IAAI,CAAChG,UAAU,CAAC;QAExC3H,MAAM,CAAC,yDAAyD,EAAE;UAChE2H,UAAU,EAAEgG,IAAI,CAAChG;QACnB,CAAC,CAAC;QAEFhJ,KAAK,CAACwQ,OAAO,CAAC,gEAAgE,CAAC;MACjF,CAAC,CAAC,OAAOC,WAAgB,EAAE;QACzBpP,MAAM,CAAC,gCAAgC,EAAEoP,WAAW,CAAC;QACrD,MAAMtI,mBAAmB,CAAC6G,IAAI,CAAChG,UAAU,EAAE,QAAQ,CAAC;QACpD,MAAMyH,WAAW;MACnB;IACF,CAAC,CAAC,OAAOxO,KAAU,EAAE;MACnBZ,MAAM,CAAC,0CAA0C,EAAEY,KAAK,CAAC;MACzDjC,KAAK,CAACiC,KAAK,CAACA,KAAK,EAAEmC,OAAO,IAAI,+FAA+F,CAAC;IAChI;EACF,CAAC,EACD,CAACkE,6BAA6B,EAAEjH,MAAM,EAAE4G,eAAe,EAAEI,iBAAiB,EAAEF,mBAAmB,EAAE+E,eAAe,EAAEjH,eAAe,EAAEvD,WAAW,CAChJ,CAAC;EAEDvC,gBAAgB,CAAC;IACfmM,MAAM;IACNrG,eAAe;IACfiH,eAAe;IACf7G,eAAe,EAAEsI,uBAAuB;IACxC9K,MAAM;IACNyC,iBAAiB;IACjB1D,OAAO,EAAEF,WAAW,CAACgO,UAAU,CAAC,CAAC;IACjCC,cAAc,EAAEA,CAAA,KAAMjO,WAAW,CAACiO,cAAc,CAAC,CAAC;IAClD1I,eAAe,EAAEA,eAAe;IAChC2I,eAAe,EAAE/B,mBAAmB;IACpCgC,gBAAgB,EAAEjC,oBAAoB;IACtCkC,0BAA0B,EAAE5B;EAC9B,CAAC,CAAC;EAEF,MAAM6B,uBAAuB,GAAGvR,WAAW,CACzC,MAAOmM,SAAiB,IAAoB;IAC1C,MAAMvF,aAAa,CAACuF,SAAS,CAAC;EAChC,CAAC,EACD,CAACvF,aAAa,CAChB,CAAC;;EAED;EACA,MAAM4K,yBAAyB,GAAGxR,WAAW,CAC1CyR,cAAkF,IAAK;IACtFpQ,qBAAqB,CAACoQ,cAAc,CAAC;EACvC,CAAC,EACD,EACF,CAAC;;EAED;EACA,MAAMC,gBAAgB,GAAG1R,WAAW,CAAC,MAAM;IACzCwR,yBAAyB,CAAC;MACxBG,MAAM,EAAE,gBAA6B;MACrCC,KAAK,EAAE;QACLC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAC1DC,WAAW,EAAE,MAAM;QAAE;QACrBC,QAAQ,EAAE,MAAOC,IAAS,IAAK;UAC7B,IAAI,CAACA,IAAI,CAACC,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1C5R,KAAK,CAACiC,KAAK,CAAChB,SAAS,CAACmE,eAAe,EAAE,gCAAgC,CAAC,IAAI,6BAA6B,CAAC;YAC1G;UACF;UACA,IAAI;YACF;YACA,MAAMlE,sBAAsB,CAACwQ,IAAI,CAACnF,EAAE,EAAE7J,WAAW,EAAE,YAAY,CAAC;;YAEhE;YACA,MAAMvB,uBAAuB,CAC3B;cAAE0Q,MAAM,EAAEH,IAAI,CAACnF;YAAG,CAAC,EACnB7J,WAAW,EACXuD,eAAe,EACfF,WAAW,EACXiB,YACF,CAAC;YAEDhH,KAAK,CAACwQ,OAAO,CAACvP,SAAS,CAACmE,eAAe,EAAE,kCAAkC,CAAC,IAAI,gBAAgB,CAAC;UACnG,CAAC,CAAC,OAAO0M,CAAM,EAAE;YACf9R,KAAK,CAACiC,KAAK,CAAC6P,CAAC,CAAC1N,OAAO,IAAInD,SAAS,CAACmE,eAAe,EAAE,uCAAuC,CAAC,IAAI,yBAAyB,CAAC;UAC5H;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC1C,WAAW,EAAE0C,eAAe,EAAE4L,yBAAyB,EAAE/K,eAAe,EAAEF,WAAW,EAAEiB,YAAY,CAAC,CAAC;EAEzG,MAAM+K,YAA6B,GAAGpS,OAAO,CAAC,OAAO;IACnDuD,IAAI;IACJ8C,QAAQ;IACRC,eAAe;IACfiH,eAAe;IACf/J,eAAe;IACfC,SAAS;IACT4O,YAAY,EAAEjO,UAAU;IACxBY,cAAc;IACd1C,KAAK;IACLmD,eAAe;IACfE,uBAAuB;IACvBE,mBAAmB;IACnBE,yBAAyB;IACzBgB,cAAc;IACdC,cAAc;IACdE,MAAM;IACN/B,WAAW;IACXiC,YAAY;IACZjD,gBAAgB;IAChBkD,YAAY;IACZsB,6BAA6B;IAC7BP,iBAAiB;IACjBE,eAAe;IACfI,iBAAiB;IACjBV,sBAAsB;IACtBE,mBAAmB;IACnBM,mBAAmB;IACnB8J,iBAAiB,EAAE;MACjBC,QAAQ,EAAE1O,qBAAqB,IAAI,IAAI;MACvCC,SAAS,EAAEA,SAAS,IAAI;IAC1B,CAAC;IACDI,MAAM;IACNiD,SAAS;IACTV,aAAa,EAAE2K,uBAAuB;IACtCoB,aAAa,EAAEtO,MAAM;IACrBwC,eAAe,EAAEsI,uBAAuB;IACxChJ,WAAW;IACXoF,iBAAiB;IACjBC,uBAAuB;IACvBC,gBAAgB;IAChB3E,iBAAiB;IACjBc,mBAAmB;IACnB1E,WAAW;IACXX,SAAS,EAAEmJ,aAAa;IACxBtK,eAAe,EAAEoQ,yBAAyB;IAC1CE;EACF,CAAC,CAAC,EAAE,CACFjL,eAAe,EACfiH,eAAe,EACfxG,cAAc,EACdC,cAAc,EACdE,MAAM,EACN/B,WAAW,EACXiC,YAAY,EACZjD,gBAAgB,EAChBkD,YAAY,EACZsB,6BAA6B,EAC7BP,iBAAiB,EACjBE,eAAe,EACfI,iBAAiB,EACjBV,sBAAsB,EACtBE,mBAAmB,EACnBM,mBAAmB,EACnB3E,qBAAqB,EACrBC,SAAS,EACT2B,eAAe,EACfE,uBAAuB,EACvBE,mBAAmB,EACnBE,yBAAyB,EACzBzD,KAAK,EACL8I,iBAAiB,EACjB5H,eAAe,EACfC,SAAS,EACTS,MAAM,EACNiD,SAAS,EACTkE,uBAAuB,EACvBtI,WAAW,EACXiM,uBAAuB,EACvB3I,QAAQ,EACRL,WAAW,EACXoL,uBAAuB,EACvBhN,UAAU,EACVY,cAAc,EACdsG,gBAAgB,EAChB7D,mBAAmB,EACnB8D,aAAa,EACbhI,IAAI,EACJ8N,yBAAyB,EACzBE,gBAAgB,CACjB,CAAC;EAEF,oBACEvP,IAAA,CAACC,UAAU,CAACwQ,QAAQ;IAACC,KAAK,EAAEN,YAAa;IAAAtP,QAAA,EACtCA;EAAQ,CACU,CAAC;AAE1B,CAAC;AAED,OAAO,MAAM6P,kBAAkB,GAAG9P,WAAW;AAE7C,OAAO,MAAM+P,MAAM,GAAGA,CAAA,KAAuB;EAC3C,MAAMC,OAAO,GAAG/S,UAAU,CAACmC,UAAU,CAAC;EACtC,IAAI,CAAC4Q,OAAO,EAAE;IACZ,MAAM,IAAIjQ,KAAK,CAAC,kDAAkD,CAAC;EACrE;EACA,OAAOiQ,OAAO;AAChB,CAAC;AAED,eAAe5Q,UAAU","ignoreList":[]}
|