@limrun/api 0.58.0 → 0.59.0

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/ios-client.mjs CHANGED
@@ -434,12 +434,8 @@ export async function createInstanceClient(options) {
434
434
  if (message.type !== 'appExit') {
435
435
  return false;
436
436
  }
437
- const { execId, bundleId, logLineCount } = message;
438
- if (typeof execId !== 'string' ||
439
- typeof bundleId !== 'string' ||
440
- typeof logLineCount !== 'number' ||
441
- !Number.isInteger(logLineCount) ||
442
- logLineCount < 0) {
437
+ const { execId, bundleId } = message;
438
+ if (typeof execId !== 'string' || typeof bundleId !== 'string') {
443
439
  logger.warn('Received malformed appExit message:', message);
444
440
  return true;
445
441
  }
@@ -475,6 +471,8 @@ export async function createInstanceClient(options) {
475
471
  toggleKeyboardResult: () => undefined,
476
472
  launchAppResult: () => undefined,
477
473
  terminateAppResult: () => undefined,
474
+ watchAppResult: () => undefined,
475
+ unwatchAppResult: () => undefined,
478
476
  appLogTailResult: (msg) => msg.logs ?? '',
479
477
  listAppsResult: (msg) => JSON.parse(msg.apps || '[]'),
480
478
  listOpenFilesResult: (msg) => msg.files || [],
@@ -665,6 +663,7 @@ export async function createInstanceClient(options) {
665
663
  toggleKeyboard,
666
664
  launchApp,
667
665
  terminateApp,
666
+ watchApp,
668
667
  appLogTail,
669
668
  streamAppLog,
670
669
  streamSyslog,
@@ -868,29 +867,7 @@ export async function createInstanceClient(options) {
868
867
  const onExit = launchOptions.onExit;
869
868
  const execId = onExit ? generateId() : undefined;
870
869
  if (execId && onExit) {
871
- registerServerNotification('appExit', execId, async (message) => {
872
- const { bundleId, logLineCount } = message;
873
- if (typeof bundleId !== 'string' ||
874
- typeof logLineCount !== 'number' ||
875
- !Number.isInteger(logLineCount) ||
876
- logLineCount < 0) {
877
- logger.warn(`Received malformed appExit payload for execId ${execId}:`, message);
878
- return;
879
- }
880
- let logs = [];
881
- try {
882
- logs = splitAppLogTail(await sendRequest('appLogTail', { bundleId, lines: logLineCount }));
883
- }
884
- catch (error) {
885
- logger.error(`Failed to fetch app logs for exit execId ${execId}:`, error);
886
- }
887
- try {
888
- await onExit(logs);
889
- }
890
- catch (error) {
891
- logger.error(`Error in onExit callback for execId ${execId}:`, error);
892
- }
893
- });
870
+ registerServerNotification('appExit', execId, appExitHandler(execId, onExit));
894
871
  }
895
872
  return sendRequest('launchApp', {
896
873
  bundleId,
@@ -904,6 +881,55 @@ export async function createInstanceClient(options) {
904
881
  throw error;
905
882
  });
906
883
  };
884
+ /** Delivers one appExit to the callback, fetching the logs from servers that predate inline logs. */
885
+ const appExitHandler = (execId, onExit) => async (response) => {
886
+ const message = response;
887
+ let logs = [];
888
+ if (Array.isArray(message.logs)) {
889
+ logs = message.logs.map(String);
890
+ }
891
+ else if (Number.isInteger(message.logLineCount) && (message.logLineCount ?? 0) > 0) {
892
+ try {
893
+ logs = splitAppLogTail(await sendRequest('appLogTail', {
894
+ bundleId: message.bundleId,
895
+ lines: message.logLineCount,
896
+ }));
897
+ }
898
+ catch (error) {
899
+ logger.error(`Failed to fetch app logs for exit execId ${execId}:`, error);
900
+ }
901
+ }
902
+ const info = {
903
+ bundleId: message.bundleId,
904
+ // Servers before exit reasons only reported that the app ended.
905
+ reason: message.reason ?? 'exit',
906
+ ...(message.crash ? { crash: message.crash } : {}),
907
+ };
908
+ try {
909
+ await onExit(logs, info);
910
+ }
911
+ catch (error) {
912
+ logger.error(`Error in onExit callback for execId ${execId}:`, error);
913
+ }
914
+ };
915
+ const watchApp = async (bundleId, onExit) => {
916
+ const execId = generateId();
917
+ registerServerNotification('appExit', execId, appExitHandler(execId, onExit));
918
+ try {
919
+ await sendRequest('watchApp', { bundleId, execId });
920
+ }
921
+ catch (error) {
922
+ deleteServerNotification('appExit', execId);
923
+ throw error;
924
+ }
925
+ return {
926
+ execId,
927
+ stop: async () => {
928
+ deleteServerNotification('appExit', execId);
929
+ await sendRequest('unwatchApp', { execId });
930
+ },
931
+ };
932
+ };
907
933
  const terminateApp = (bundleId) => {
908
934
  return sendRequest('terminateApp', { bundleId });
909
935
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ios-client.mjs","sourceRoot":"","sources":["src/ios-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios-client.mjs","sourceRoot":"","sources":["src/ios-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAQ,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,qBAAqB,EAAsB,qBAAiB;AACtG,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAG1B,wCAAoC;AACrC,OAAO,EAAiD,UAAU,EAAE,0BAAsB;AAC1F,OAAO,EAAE,cAAc,EAAE,iCAA6B;AACtD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,0BAAsB;AACtE,OAAO,EAAE,uBAAuB,EAAE,qCAAiC;AACnE,OAAO,EAAE,KAAK,EAAE,mCAA+B;AAC/C,OAAO,EAAE,kBAAkB,EAAE,uCAAmC;AAChE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GAEtB,qDAAiD;AAClD,OAAO,EAAE,0BAA0B,EAAE,8CAA0C;AAC/E,OAAO,EACL,cAAc,IAAI,mBAAmB,EACrC,qBAAqB,IAAI,0BAA0B,GAEpD,yBAAqB;AACtB,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,uBAAmB;AACpE,OAAO,EAAE,aAAa,EAAsB,sCAAkC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,sCAAkC;AAEjE,OAAO,EAAE,SAAS,EAAE,yBAAqB;AAGzC,OAAO,EAAE,SAAS,EAAwB,yBAAqB;AAY/D,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AACpD,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAM,CAAC;AAE7C,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,GAAG,MAAM,eAAe,kBAAkB,CAAC,yBAAyB,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,UAAkB;IACvE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,CAAC;SAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC;IACpE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AA2FD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAA0C;IAE1C,MAAM,aAAa,GACjB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAA8B,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5F,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,EAAE,EAAE,aAAa,CAAC,EAAE;QACpB,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;KAC3C,CAAC;AACJ,CAAC;AAwmCD,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,sDAAQ,CAAA;AACV,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAgID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAW/C,IAAW,SAAS;QAClB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,YAAY,YAAwB,EAAE,EAAE,QAAQ,GAAG,OAAO,KAAoC,EAAE;QAC9F,KAAK,EAAE,CAAC;QAfF,iBAAY,GAAa,EAAE,CAAC;QAC5B,iBAAY,GAAa,EAAE,CAAC;QAC5B,qBAAgB,GAAG,EAAE,CAAC;QACtB,qBAAgB,GAAG,EAAE,CAAC;QACtB,kBAAa,GAAkB,IAAI,CAAC;QACpC,cAAS,GAAG,KAAK,CAAC;QAClB,gBAAW,GAAqE,IAAI,CAAC;QACrF,iBAAY,GAAwB,IAAI,CAAC;QAS/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACM,EAAE,CAAwC,KAAQ,EAAE,QAAkC;QAC7F,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAe,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACM,IAAI,CAAwC,KAAQ,EAAE,QAAkC;QAC/F,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAe,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACM,GAAG,CAAwC,KAAQ,EAAE,QAAkC;QAC9F,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAe,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC;oBACN,IAAI,EAAE,IAAI,CAAC,aAAc;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACjE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,CAAC;oBACN,IAAI;oBACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE1B,uBAAuB;QACvB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,8CAA8C;QAC9C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAE1C,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE1B,uBAAuB;QACvB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,8CAA8C;QAC9C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAE1C,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,WAAW,CAAC,IAAY;QACtB,+CAA+C;QAC/C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,0DAA0D;IAC1D,YAAY,CAAC,KAAY;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA8B;IACvE,MAAM,oBAAoB,GAAG,GAAG,OAAO,CAAC,MAAM;SAC3C,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,oBAAoB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAE7D,IAAI,EAAE,GAA0B,SAAS,CAAC;IAC1C,IAAI,eAAe,GAAoB,YAAY,CAAC;IACpD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAA4C,CAAC;IACjD,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,SAA6B,CAAC;IAClC,2EAA2E;IAC3E,MAAM,eAAe,GAAqC,IAAI,GAAG,EAAE,CAAC;IAEpE,uDAAuD;IACvD,MAAM,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAMjE,MAAM,mBAAmB,GAAwD,IAAI,GAAG,EAAE,CAAC;IAE3F,MAAM,iBAAiB,GAA+B,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAA+B,EAAE,CAAC;IAEzD,MAAM,oBAAoB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAErE,mBAAmB;IACnB,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;YACxB,IAAI,QAAQ,KAAK,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;YACvB,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;YACvB,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;YACxB,IAAI,QAAQ,KAAK,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,QAAyB,EAAQ,EAAE;QAChE,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YACjC,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YACzD,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxC,IAAI,CAAC;oBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAQ,EAAE;QACnD,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,EAAE,CAAC;QAExB,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnF,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5B,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,kBAAkB,EAAE,CAAC;YACxB,gFAAgF;YAChF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC/E,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YACD,EAAE,GAAG,SAAS,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;YACrC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACvC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,iBAAiB,EAAE,CAAC;QACpB,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,CACjC,IAAY,EACZ,cAAsB,EACtB,OAAkC,EAC5B,EAAE;QACR,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAqC,CAAC;QAC/F,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAC7B,IAAY,EACZ,cAAsB,EACiB,EAAE;QACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAE,cAAsB,EAAQ,EAAE;QAC9E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,YAAwC,CAAC;IAC7C,MAAM,kBAAkB,GACtB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5F,OAAO,IAAI,OAAO,CAAiB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE;QACzE,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,GAAS,EAAE;YACnC,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,IAAI,mBAAmB,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;gBAC1E,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBACtC,wBAAwB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,8BAA8B,oBAAoB,uBAAuB,CAAC,CAAC;gBACxF,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBACtC,wBAAwB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAElG,iBAAiB,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,mCAAmC,iBAAiB,OAAO,YAAY,OAAO,CAAC,CAAC;YAC7F,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAEtC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,MAAM,CAAC,KAAK,CAAC,oCAAoC,iBAAiB,MAAM,CAAC,CAAC;gBAC1E,cAAc,EAAE,CAAC;YACnB,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,6BAA6B;QAC7B,MAAM,UAAU,GAAG,GAAW,EAAE;YAC9B,OAAO,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,CAAC,CAAC;QAEF,MAAM,qBAAqB,GAAG,CAAC,OAAgC,EAA2B,EAAE;YAC1F,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;gBACpC,OAAO,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5F,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAiC,CAAC;YACnE,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;gBACrB,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;gBACzB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;gBAC7B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;gBACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC;QACJ,CAAC,CAAC;QAEF,4DAA4D;QAC5D,MAAM,WAAW,GAAG,CAClB,IAAY,EACZ,SAAkC,EAAE,EACpC,SAA0C,EAC1C,YAAoB,KAAK,EACb,EAAE;YACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;oBAC3E,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC;gBACjD,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEd,eAAe,CAAC,GAAG,CACjB,EAAE,EACF,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CACnF,CAAC;gBAEF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEjE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE;oBAC/C,IAAI,GAAG,EAAE,CAAC;wBACR,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC3B,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAY,EAAE;YACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAW,EAAE;YACzD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,2DAA2D,MAAM,EAAE,CAAC,CAAC;gBAClF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzC,MAAM,CAAC,KAAK,CAAC,oDAAoD,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,+DAA+D;QAC/D,MAAM,gBAAgB,GAAqD;YACzE,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAO;gBACnB,KAAK,EAAE,GAAG,CAAC,KAAM;gBACjB,MAAM,EAAE,GAAG,CAAC,MAAO;aACpB,CAAC;YACF,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YAC9D,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;YAC1B,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;YACF,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACrE,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACrE,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACpE,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;YACrC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;YAChC,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;YACnC,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;YACjC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;YACzC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAmB;YACvE,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAK;gBACf,WAAW,EAAE,GAAG,CAAC,WAAY;gBAC7B,YAAY,EAAE,GAAG,CAAC,YAAa;gBAC/B,KAAK,EAAE,GAAG,CAAC,KAAM;aAClB,CAAC;YACF,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;YAC9B,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC/B,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;aAC7B,CAAC;YACF,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;YACrC,oBAAoB,EAAE,CAAC,GAAG,EAAyB,EAAE,CAAC,CAAC;gBACrD,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;aAChC,CAAC;YACF,yBAAyB,EAAE,GAAG,EAAE,CAAC,SAAS;YAC1C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;YACzC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;YACzC,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;YACxC,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;YACxC,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAS;YACvC,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;YACpC,sBAAsB,EAAE,CAAC,GAAG,EAA6B,EAAE,CAAC,CAAC;gBAC3D,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK;aACxB,CAAC;YACF,4BAA4B,EAAE,GAAG,EAAE,CAAC,SAAS;YAC7C,sBAAsB,EAAE,CAAC,GAAG,EAAuB,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;YACzF,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;YACrC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI;YAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;YAC7B,oBAAoB,EAAE,CAAC,GAAG,EAAwB,EAAE,CAAC,CAAC;gBACpD,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;aAC3B,CAAC;YACF,WAAW,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;aAC7B,CAAC;YACF,gBAAgB,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;aAC7B,CAAC;SACH,CAAC;QAEF,MAAM,cAAc,GAAG,GAAS,EAAE;YAChC,iBAAiB,EAAE,CAAC;YACpB,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAEpC,MAAM,UAAU,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAC9E,EAAE,GAAG,IAAI,SAAS,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAElF,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAU,EAAE,EAAE;gBAC9B,IAAI,OAAuB,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,8BAA8B,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;gBAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,6EAA6E;gBAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,iDAAiD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5E,OAAO;oBACT,CAAC;oBAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACnC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,EAAE,6BAA6B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC5F,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACxC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,yDAAyD;gBACzD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,6DAA6D,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxF,OAAO;gBACT,CAAC;gBAED,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEnC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBAED,iEAAiE;gBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,MAAM,CAAC,GAAY,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC/D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAC5B,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,YAAY,EAAE,CAAC;oBACjB,aAAa,CAAC,YAAY,CAAC,CAAC;oBAC5B,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;gBAED,MAAM,eAAe,GACnB,CAAC,qBAAqB;oBACtB,CAAC,mBAAmB,CAAC,SAAS,IAAI,EAAE,CAAC;oBACrC,eAAe,KAAK,cAAc,CAAC;gBACrC,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBAEtC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAE1C,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;gBAEzC,IAAI,eAAe,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,mBAAmB,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;oBAChD,MAAM,CAAC,KAAK,CAAC,kDAAkD,SAAS,EAAE,CAAC,CAAC;oBAC5E,OAAO,EAAE,CAAC;oBACV,qBAAqB,CAAC,cAAc,CAAC,CAAC;oBACtC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;oBAC3C,wBAAwB,EAAE,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,gBAAgB,oBAAoB,EAAE,CAAC,CAAC;gBACrD,iBAAiB,GAAG,CAAC,CAAC;gBACtB,SAAS,GAAG,SAAS,CAAC;gBACtB,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAEnC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC9B,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBAC1C,EAAU,CAAC,IAAI,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC,EAAE,KAAM,CAAC,CAAC;gBAEX,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACH,gDAAgD;wBAChD,gBAAgB,GAAG,MAAM,eAAe,EAAE,CAAC;wBAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;oBACzD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;wBAClD,gBAAgB,CAAC,GAAY,CAAC,CAAC;wBAC/B,OAAO;oBACT,CAAC;oBAED,WAAW,GAAG,IAAI,CAAC;oBACnB,iBAAiB,CAAC;wBAChB,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,GAAG;wBACH,iBAAiB;wBACjB,UAAU;wBACV,gBAAgB;wBAChB,gBAAgB;wBAChB,eAAe;wBACf,QAAQ;wBACR,QAAQ;wBACR,cAAc;wBACd,SAAS;wBACT,YAAY;wBACZ,QAAQ;wBACR,UAAU;wBACV,YAAY;wBACZ,YAAY;wBACZ,QAAQ;wBACR,OAAO;wBACP,UAAU;wBACV,YAAY;wBACZ,eAAe;wBACf,cAAc;wBACd,YAAY;wBACZ,iBAAiB;wBACjB,UAAU;wBACV,iBAAiB;wBACjB,aAAa;wBACb,MAAM;wBACN,cAAc;wBACd,cAAc;wBACd,aAAa;wBACb,kBAAkB;wBAClB,iBAAiB;wBACjB,iBAAiB;wBACjB,gBAAgB;wBAChB,mBAAmB;wBACnB,kBAAkB;wBAClB,gBAAgB;wBAChB,sBAAsB;wBACtB,gBAAgB;wBAChB,SAAS;wBACT,OAAO;wBACP,iBAAiB;wBACjB,mBAAmB;wBACnB,sBAAsB;wBACtB,SAAS;wBACT,kBAAkB;wBAClB,WAAW;wBACX,eAAe;wBACf,UAAU;wBACV,cAAc;wBACd,qBAAqB;wBACrB,UAAU;wBACV,kBAAkB;wBAClB,uBAAuB;wBACvB,MAAM;wBACN,KAAK;wBACL,cAAc;wBACd,UAAU;wBACV,QAAQ;wBACR,QAAQ;wBACR,SAAS;wBACT,UAAU;wBACV,cAAc;wBACd,gBAAgB;wBAChB,IAAI;wBACJ,UAAU,EAAE,gBAAgB;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,2EAA2E;QAC3E,iDAAiD;QACjD,2EAA2E;QAE3E,MAAM,UAAU,GAAG,GAA4B,EAAE;YAC/C,OAAO,WAAW,CAAiB,YAAY,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAA0B,EAAwB,EAAE;YACvE,OAAO,WAAW,CAAc,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAmB,EAAE;YACrE,OAAO,WAAW,CAAS,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAiB,EAAE;YAClD,4EAA4E;YAC5E,4DAA4D;YAC5D,OAAO,WAAW,CAAO,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF;;;;;;;WAOG;QACH,MAAM,iBAAiB,GAAG,CACxB,CAAS,EACT,CAAS,EACT,WAAmB,EACnB,YAAoB,EACL,EAAE;YACjB,OAAO,WAAW,CAAO,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CACrB,QAA+B,EAC/B,OAA2B,EACA,EAAE;YAC7B,OAAO,WAAW,CAChB,YAAY,EACZ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EACzC,SAAS,EACT,OAAO,EAAE,SAAS,IAAI,sBAAsB,CAC7C,CAAC;QACJ,CAAC,CAAC;QAEF,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAW,EAAE;YACxD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,gIAAgI,CAAC,IAAI,CAC1I,OAAO,CACR,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,EACtB,QAA+B,EAC/B,OAA2B,EACA,EAAE;YAC7B,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC3B,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;YACD,qEAAqE;YACrE,kEAAkE;YAClE,qEAAqE;YACrE,mEAAmE;YACnE,8DAA8D;YAC9D,mEAAmE;YACnE,uDAAuD;YACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,sBAAsB,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,SAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC/C,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;YACD,oEAAoE;YACpE,kEAAkE;YAClE,oEAAoE;YACpE,+CAA+C;YAC/C,IAAI,UAAU,GAAG,gBAAgB,CAAC,YAAY,CAAC;YAC/C,IAAI,OAA+B,CAAC;YACpC,IAAI,gBAAgB,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;gBAClC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,CAAC;gBACrE,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YACvE,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI;gBAC/B,CAAC,MAAM,EAAE,CAAC,CAAC;gBACX,CAAC,IAAI,EAAE,CAAC,CAAC;aACD,EAAE,CAAC;gBACX,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;wBAAE,MAAM;oBAClC,MAAM,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACvE,2DAA2D;oBAC3D,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjB,IAAI,CAAC;wBACH,OAAO,MAAM,OAAO,EAAE,CAAC;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;4BAAE,MAAM,KAAK,CAAC;wBAC/C,SAAS,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,oCAAoC,CAAC,CAAC;QAClE,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,QAA+B,EAA0B,EAAE;YACnF,OAAO,WAAW,CAAgB,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,QAA+B,EAA0B,EAAE;YACnF,OAAO,WAAW,CAAgB,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,QAAgC,EAA0B,EAAE;YACjG,mEAAmE;YACnE,qEAAqE;YACrE,6CAA6C;YAC7C,MAAM,MAAM,GAAG,QAAQ,IAAI,SAAS,CAAC;YACrC,OAAO,WAAW,CAAgB,iBAAiB,EAAE;gBACnD,IAAI;gBACJ,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACnC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,UAAoB,EAAE,OAAyB,EAAiB,EAAE;YAChG,+DAA+D;YAC/D,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,OAAO,WAAW,CAAO,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,SAAoB,EAAiB,EAAE;YACpE,OAAO,WAAW,CAAO,UAAU,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,GAAkB,EAAE;YACzC,OAAO,WAAW,CAAO,gBAAgB,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,aAAgD,EAAiB,EAAE;YACtG,MAAM,aAAa,GACjB,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;YACpF,MAAM,aAAa,GACjB,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC;gBAChC,aAA0C,CAAC,IAAI;gBAClD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;YACvB,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,KAAK,qBAAqB,EAAE,CAAC;gBACrE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,uFAAuF,CAAC,CACnG,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACrB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,WAAW,CAAO,WAAW,EAAE;gBACpC,QAAQ;gBACR,IAAI;gBACJ,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,MAAM;aACP,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,MAAM,EAAE,CAAC;oBACX,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,qGAAqG;QACrG,MAAM,cAAc,GAClB,CAAC,MAAc,EAAE,MAA6B,EAA6B,EAAE,CAC7E,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,QAAqC,CAAC;YACtD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrF,IAAI,CAAC;oBACH,IAAI,GAAG,eAAe,CACpB,MAAM,WAAW,CAAS,YAAY,EAAE;wBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,KAAK,EAAE,OAAO,CAAC,YAAY;qBAC5B,CAAC,CACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAgB;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gEAAgE;gBAChE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;gBAChC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAE,MAA6B,EAAqB,EAAE;YAC5F,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,WAAW,CAAO,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC5C,MAAM,WAAW,CAAO,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAiB,EAAE;YACvD,OAAO,WAAW,CAAO,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAmB,EAAE;YACtE,OAAO,WAAW,CAAS,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAa,EAAE;YACnD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;YAChE,OAAO,IAAI,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,GAAc,EAAE;YACnC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;YACtD,OAAO,IAAI,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAA4B,EAAE;YAC7C,OAAO,WAAW,CAAiB,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAiB,EAAE;YAC7C,OAAO,WAAW,CAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,OAAgC,EAAkC,EAAE;YACnG,OAAO,WAAW,CAChB,iBAAiB,EACjB;gBACE,GAAG;gBACH,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,EACD,SAAS,EACT,OAAO,EAAE,SAAS,IAAI,MAAO,CAC9B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,KAAK,EAAE,eAAuD,EAAiB,EAAE;YACpG,MAAM,WAAW,CACf,gBAAgB,EAChB,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,aAAa,EAAE,EAC1E,SAAS,EACT,MAAO,CACR,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,EAAE,eAG9B,EAAkC,EAAE;YACnC,OAAO,WAAW,CAChB,gBAAgB,EAChB,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,aAAa,EAAE,EAC1E,SAAS,EACT,MAAO,CACR,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,WAA2B,EAAsB,EAAE;YAC5E,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACjF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC1E,OAAO,WAAW,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,MAAM,iBAAiB,GAAG,CAAC,OAA0B,EAA2B,EAAE,CAChF,WAAW,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAE,CAAS,EAAE,CAAS,EAAiB,EAAE,CACrF,WAAW,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,GAA8B,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAsB,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;gBAC7E,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,WAAW,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,WAAqC,EAAiB,EAAE;YAC9E,OAAO,WAAW,CAAO,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CACb,SAA2C,EAC3C,MAAc,EACd,OAAoF,EACrE,EAAE;YACjB,OAAO,WAAW,CAAO,QAAQ,EAAE;gBACjC,SAAS;gBACT,MAAM;gBACN,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CACrB,OAAwB,EACxB,OAAsD,EACvB,EAAE;YACjC,oEAAoE;YACpE,iEAAiE;YACjE,qDAAqD;YACrD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxG,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAK,CAAC;YACjF,OAAO,WAAW,CAChB,gBAAgB,EAChB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EACtC,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAAE,IAI7B,EAAiB,EAAE;YAClB,MAAM,OAAO,GAKT;gBACF,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;aAChC,CAAC;YACF,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;oBAC7E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAChE,MAAM,WAAW,CAAO,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAmD,EAAiB,EAAE;YACtG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,WAAW,CAAO,oBAAoB,EAAE;gBAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;YAClD,MAAM,WAAW,CAAO,mBAAmB,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAkC,EAAiB,EAAE;YACpF,MAAM,WAAW,CAAO,mBAAmB,EAAE,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;YACjD,MAAM,WAAW,CAAO,kBAAkB,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAC,QAG5B,EAAgB,EAAE,CACjB,oBAAoB,CAAiB;YACnC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,yBAAyB;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,QAAQ,CAAC,MAAM;YACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;QAEL,MAAM,kBAAkB,GAAG,CAAC,QAG3B,EAAgB,EAAE,CACjB,oBAAoB,CAAe;YACjC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,wBAAwB;YAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;QAEL,MAAM,aAAa,GAAG,KAAK,EAAE,MAAqD,EAAmB,EAAE;YACrG,MAAM,WAAW,CAAO,oBAAoB,EAAE;gBAC5C,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;aAChF,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,SAAiB,EACjB,iBAAsC,EACF,EAAE;YACtC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YACD,+DAA+D;YAC/D,mEAAmE;YACnE,OAAO,WAAW,CAA4B,kBAAkB,EAAE;gBAChE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,iBAAiB,EAAE,IAAI;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,KAAK,IAAmB,EAAE;YACvD,MAAM,WAAW,CAAO,wBAAwB,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,IAAkC,EAAE;YAChE,OAAO,WAAW,CAAsB,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,EACnB,kBAA0B,EAC1B,IAMC,EAC0B,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,+DAA+D,aAAa,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,QAAQ,GAAG,iBAAiB,UAAU,IAAI,IAAI,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;YACxC,MAAM,OAAO,GAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACvD,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,OAAO;wBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClB,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM;oBACR,KAAK,OAAO;wBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClB,MAAM;oBACR;wBACE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM;gBACV,CAAC;YACH,CAAC,CAAC;YACF,MAAM,cAAc,GAAsB;gBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM,cAAc,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;gBAC9E,aAAa;gBACb,GAAG,EAAE,OAAO;gBACZ,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;gBAC9B,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,qBAAqB;gBACrD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;gBAClD,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,cAAc,GAAG,eAAe,CAAC;gBACrC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,GAAG,EAAE,OAAO;gBACZ,WAAW,EAAE,KAAK,IAAI,EAAE;oBACtB,8DAA8D;oBAC9D,qCAAqC;oBACrC,MAAM,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBAClD,CAAC;aACF,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,MAAM;gBACT,YAAY,EAAE,KAAK,IAAI,EAAE;oBACvB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC/B,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,GAAyB,EAAE;YACtC,OAAO,WAAW,CAAc,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAc,EAA0B,EAAE;YACvD,OAAO,WAAW,CAAgB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC;gBACtC,UAAU,EAAE,gBAAgB;gBAC5B,QAAQ;gBACR,MAAM;gBACN,OAAO;aACR,CAAC,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,IAAc,EAA0B,EAAE;YAC5D,OAAO,WAAW,CAAgB,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,GAAwB,EAAE;YAChD,OAAO,WAAW,CAAa,YAAY,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,kDAAkD;QAClD,IAAI,gBAA4B,CAAC;QAEjC,MAAM,MAAM,GAAG,CAAC,IAAc,EAAE,OAAsB,EAAE,EAAmB,EAAE;YAC3E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YAExB,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC1B,8BAA8B;gBAC9B,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,mDAAmD,CAAC,CAAC;oBACxF,UAAU,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YACnD,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;YACtD,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAEpC,iFAAiF;YACjF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBAC1B,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,kDAAkD,CAAC,CAAC;oBACvF,UAAU,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC3B,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,iDAAiD,CAAC,CAAC;oBACtF,UAAU,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC5C,+DAA+D;gBAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;oBACpB,SAAS,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;oBAC3F,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,aAAa,GAAkB;gBACnC,IAAI,EAAE,QAAQ;gBACd,EAAE;gBACF,IAAI;gBACJ,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;aACvF,CAAC;YAEF,8EAA8E;YAC9E,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE;gBACrD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;oBACpD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC5B,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAA6B,EAAU,EAAE;YAC5E,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,EACpB,QAAgB,EAChB,WAAmB,EACnB,IAA6B,EACZ,EAAE;YACnB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,2FAA2F;gBAC3F,4EAA4E;gBAC5E,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE;oBACzD,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,cAAc,EAAE,0BAA0B;wBAC1C,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;wBACvD,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;qBACzC;oBACD,IAAI,EAAE,UAAiB;oBACvB,MAAM,EAAE,MAAa;iBACf,CAAC,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;gBAC3D,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,IAA6B,EAAmB,EAAE;YACtF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACzE,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,aAAa,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,IAA6B,EAA2B,EAAE;YAC7F,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,aAAa,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAgC,CAAC;YACtE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,IAA6B,EAAiB,EAAE;YACtF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACzE,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,aAAa,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,aAAkC,EAAiB,EAAE;YACnG,gEAAgE;YAChE,yDAAyD;YACzD,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,WAAW,CAAO,eAAe,EAAE;gBACvC,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,IAAI;aAClC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAkB,EAAE;YAC3C,OAAO,WAAW,CAAO,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAE,QAA6B,EAAiB,EAAE;YACjG,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,6BAA6B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzF,2EAA2E;YAC3E,6EAA6E;YAC7E,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;oBAC1C,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAW;aACX,CAAC,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;YACpE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,6BAA6B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnD,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,KAAK,EAClC,QAAgB,EAChB,eAAyC,EACR,EAAE;YACnC,MAAM,cAAc,GAAG,eAAe,EAAE,cAAc,IAAI,GAAG,CAAC;YAC9D,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,6BAA6B,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClG,oEAAoE;YACpE,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACjF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;oBACnD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;qBACzC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;oBACxC,MAAM,EAAE,UAAU,CAAC,MAAM;iBACnB,CAAC,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAMpC,CAAC;gBACF,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;iBACxD,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,YAA+B,EAA4B,EAAE;YACtG,MAAM,IAAI,GAAuD,EAAE,QAAQ,EAAE,CAAC;YAC9E,IAAI,YAAY,EAAE,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YACxC,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aACpB,CAAC,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAMpC,CAAC;YACF,MAAM,GAAG,GAAoB;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;YACF,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACtC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACzC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,aAAmC,EAA0B,EAAE;YAC/F,UAAU,CACR,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,8BAA8B,EAC9B,8BAA8B,CAC/B,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC;YACtE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE7C,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YACnF,OAAO,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE;gBACrD,SAAS,EAAE,aAAa,CAAC,SAAS,IAAI,WAAW;gBACjD,SAAS;gBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,QAAQ;aAC7C,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,aAA4B,EAAmB,EAAE;YAC1E,OAAO,yBAAyB,CAC9B,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,EAC1C,OAAO,CAAC,KAAK,EACb,4BAA4B,CAAC,aAAa,EAAE,QAAQ,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,IAA2B,EAAE;YACxD,OAAO,0BAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;YAC3D,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAAE,YAA8B,EAAmB,EAAE;YAC/E,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;gBACtC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,YAAqC,EAAmB,EAAE;YAC7F,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC;gBAC7C,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;aACF,CAAC,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,qBAAqB,GAAG,IAAI,CAAC;YAC7B,OAAO,EAAE,CAAC;YACV,qBAAqB,CAAC,cAAc,CAAC,CAAC;YACtC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YAC9C,wBAAwB,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,GAAoB,EAAE;YAC/C,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,uBAAuB,GAAG,CAAC,QAAiC,EAAgB,EAAE;YAClF,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE;gBACV,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limrun/api",
3
- "version": "0.58.0",
3
+ "version": "0.59.0",
4
4
  "description": "The official TypeScript library for the Limrun API",
5
5
  "author": "Limrun <contact@limrun.com>",
6
6
  "types": "./index.d.ts",
@@ -1,4 +1,5 @@
1
1
  import type { Entry as HAREntry, Request as HARRequest, Response as HARResponse } from 'har-format';
2
+ import * as zlib from 'zlib';
2
3
  import { DESTINATION_TUNNEL_DEFAULT_MAX_BODY_BYTES } from './destination-tunnel';
3
4
  import type {
4
5
  DestinationTunnelInspectionComplete,
@@ -93,8 +94,14 @@ function makeDestinationTunnelHAREntry(
93
94
  ): DestinationTunnelHAREntry {
94
95
  const requestBody = concatBytes(capture.requestBody, capture.requestBytes);
95
96
  const responseBody = concatBytes(capture.responseBody, capture.responseBytes);
96
- const { request, encoding: requestBodyEncoding } = addRequestBody(complete.request, requestBody);
97
- const response = addResponseBody(complete.response, responseBody);
97
+ const requestTruncated = complete._limrun.requestBodyTruncated === true || capture.requestTruncated;
98
+ const responseTruncated = complete._limrun.responseBodyTruncated === true || capture.responseTruncated;
99
+ const { request, encoding: requestBodyEncoding } = addRequestBody(
100
+ complete.request,
101
+ requestBody,
102
+ requestTruncated,
103
+ );
104
+ const response = addResponseBody(complete.response, responseBody, responseTruncated);
98
105
  return {
99
106
  ...(complete.pageref === undefined ? {} : { pageref: complete.pageref }),
100
107
  startedDateTime: complete.startedDateTime,
@@ -109,16 +116,20 @@ function makeDestinationTunnelHAREntry(
109
116
  _limrun: {
110
117
  ...complete._limrun,
111
118
  ...(requestBodyEncoding ? { requestBodyEncoding } : {}),
112
- requestBodyTruncated: complete._limrun.requestBodyTruncated === true || capture.requestTruncated,
113
- responseBodyTruncated: complete._limrun.responseBodyTruncated === true || capture.responseTruncated,
119
+ requestBodyTruncated: requestTruncated,
120
+ responseBodyTruncated: responseTruncated,
114
121
  },
115
122
  };
116
123
  }
117
124
 
118
- function addRequestBody(request: HARRequest, body: Uint8Array): { request: HARRequest; encoding?: 'base64' } {
125
+ function addRequestBody(
126
+ request: HARRequest,
127
+ body: Uint8Array,
128
+ truncated: boolean,
129
+ ): { request: HARRequest; encoding?: 'base64' } {
119
130
  if (body.byteLength === 0) return { request };
120
131
  const mimeType = request.postData?.mimeType ?? headerValue(request.headers, 'content-type');
121
- const encoded = encodedBody(body, mimeType);
132
+ const encoded = encodedBody(body, mimeType, headerValue(request.headers, 'content-encoding'), truncated);
122
133
  return {
123
134
  request: {
124
135
  ...request,
@@ -131,28 +142,112 @@ function addRequestBody(request: HARRequest, body: Uint8Array): { request: HARRe
131
142
  };
132
143
  }
133
144
 
134
- function addResponseBody(response: HARResponse, body: Uint8Array): HARResponse {
145
+ function addResponseBody(response: HARResponse, body: Uint8Array, truncated: boolean): HARResponse {
135
146
  if (body.byteLength === 0) return response;
136
147
  const content = { ...response.content };
137
148
  delete content.text;
138
149
  delete content.encoding;
150
+ const { decodedSize, ...encoded } = encodedBody(
151
+ body,
152
+ response.content.mimeType,
153
+ headerValue(response.headers, 'content-encoding'),
154
+ truncated,
155
+ );
139
156
  return {
140
157
  ...response,
141
158
  content: {
142
159
  ...content,
143
- ...encodedBody(body, response.content.mimeType),
160
+ ...(decodedSize === undefined ? {} : { size: decodedSize, compression: decodedSize - body.byteLength }),
161
+ ...encoded,
144
162
  },
145
163
  };
146
164
  }
147
165
 
166
+ /**
167
+ * Renders a captured body as HAR text. Content-Encoding is undone first so
168
+ * the HAR holds the decoded body, as HAR 1.2 and browser exports do. Anything
169
+ * that cannot be represented losslessly as UTF-8 text (unknown or corrupt
170
+ * encodings, truncated compressed bodies, non-UTF-8 bytes under a textual
171
+ * type) falls back to base64 of the bytes rather than lossy text.
172
+ *
173
+ * `decodedSize` is set only when a Content-Encoding was successfully removed.
174
+ */
148
175
  function encodedBody(
149
176
  body: Uint8Array,
150
177
  contentType: string | undefined,
151
- ): { text: string; encoding?: 'base64' } {
178
+ contentEncoding: string | undefined,
179
+ truncated: boolean,
180
+ ): { text: string; encoding?: 'base64'; decodedSize?: number } {
181
+ let decoded = body;
182
+ let decodedSize: number | undefined;
183
+ const codings = parseContentEncoding(contentEncoding);
184
+ if (codings.length > 0) {
185
+ // A truncated stream cannot be decoded reliably (zstd, for one, returns
186
+ // partial output without an error), so keep the raw bytes.
187
+ if (truncated) return { text: bytesToBase64(body), encoding: 'base64' };
188
+ try {
189
+ decoded = decodeContentCodings(body, codings);
190
+ decodedSize = decoded.byteLength;
191
+ } catch {
192
+ return { text: bytesToBase64(body), encoding: 'base64' };
193
+ }
194
+ }
195
+ const sized = decodedSize === undefined ? {} : { decodedSize };
152
196
  if (isTextualContentType(contentType)) {
153
- return { text: new TextDecoder().decode(body) };
197
+ try {
198
+ return { text: new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(decoded), ...sized };
199
+ } catch {
200
+ // Not valid UTF-8; fall through to base64.
201
+ }
202
+ }
203
+ return { text: bytesToBase64(decoded), encoding: 'base64', ...sized };
204
+ }
205
+
206
+ // Guards against decompression bombs; larger bodies fall back to base64 of the raw bytes.
207
+ const MAX_DECODED_BODY_BYTES = 64 * 1024 * 1024;
208
+
209
+ function parseContentEncoding(contentEncoding: string | undefined): string[] {
210
+ return (contentEncoding ?? '')
211
+ .split(',')
212
+ .map((coding) => coding.trim().toLowerCase())
213
+ .filter((coding) => coding !== '' && coding !== 'identity');
214
+ }
215
+
216
+ /** Undoes codings in reverse of the order they were applied. Throws on unknown or corrupt input. */
217
+ function decodeContentCodings(body: Uint8Array, codings: string[]): Uint8Array {
218
+ const options = { maxOutputLength: MAX_DECODED_BODY_BYTES };
219
+ let data: Uint8Array = body;
220
+ for (const coding of [...codings].reverse()) {
221
+ switch (coding) {
222
+ case 'gzip':
223
+ case 'x-gzip':
224
+ data = zlib.gunzipSync(data, options);
225
+ break;
226
+ case 'deflate':
227
+ // Servers send both zlib-wrapped (per spec) and raw deflate streams.
228
+ try {
229
+ data = zlib.inflateSync(data, options);
230
+ } catch {
231
+ data = zlib.inflateRawSync(data, options);
232
+ }
233
+ break;
234
+ case 'br':
235
+ data = zlib.brotliDecompressSync(data, options);
236
+ break;
237
+ case 'zstd': {
238
+ // Available from Node 22.15 / 23.8.
239
+ const zstdDecompressSync = (zlib as any).zstdDecompressSync as
240
+ | ((buffer: Uint8Array, options?: object) => Buffer)
241
+ | undefined;
242
+ if (!zstdDecompressSync) throw new Error('zstd decompression is not supported by this Node.js');
243
+ data = zstdDecompressSync(data, options);
244
+ break;
245
+ }
246
+ default:
247
+ throw new Error(`Unsupported content encoding: ${coding}`);
248
+ }
154
249
  }
155
- return { text: bytesToBase64(body), encoding: 'base64' };
250
+ return data;
156
251
  }
157
252
 
158
253
  function isTextualContentType(contentType: string | undefined): boolean {