@thoughtspot/visual-embed-sdk 1.49.3 → 1.50.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.
Files changed (113) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/authToken.spec.js +5 -0
  3. package/cjs/src/authToken.spec.js.map +1 -1
  4. package/cjs/src/embed/app.d.ts.map +1 -1
  5. package/cjs/src/embed/app.js +6 -0
  6. package/cjs/src/embed/app.js.map +1 -1
  7. package/cjs/src/embed/app.spec.js +11 -2
  8. package/cjs/src/embed/app.spec.js.map +1 -1
  9. package/cjs/src/embed/conversation.d.ts +12 -0
  10. package/cjs/src/embed/conversation.d.ts.map +1 -1
  11. package/cjs/src/embed/conversation.js.map +1 -1
  12. package/cjs/src/embed/conversation.spec.js +30 -0
  13. package/cjs/src/embed/conversation.spec.js.map +1 -1
  14. package/cjs/src/embed/embedConfig.spec.d.ts +2 -0
  15. package/cjs/src/embed/embedConfig.spec.d.ts.map +1 -0
  16. package/cjs/src/embed/embedConfig.spec.js +74 -0
  17. package/cjs/src/embed/embedConfig.spec.js.map +1 -0
  18. package/cjs/src/embed/host-events.spec.d.ts +2 -0
  19. package/cjs/src/embed/host-events.spec.d.ts.map +1 -0
  20. package/cjs/src/embed/host-events.spec.js +1219 -0
  21. package/cjs/src/embed/host-events.spec.js.map +1 -0
  22. package/cjs/src/mixpanel-service.spec.js +14 -0
  23. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  24. package/cjs/src/types.d.ts +93 -6
  25. package/cjs/src/types.d.ts.map +1 -1
  26. package/cjs/src/types.js +88 -3
  27. package/cjs/src/types.js.map +1 -1
  28. package/cjs/src/utils/custom-actions.spec.js +26 -0
  29. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  30. package/cjs/src/utils/processData.spec.js +30 -0
  31. package/cjs/src/utils/processData.spec.js.map +1 -1
  32. package/cjs/src/utils/reporting.spec.js +21 -0
  33. package/cjs/src/utils/reporting.spec.js.map +1 -1
  34. package/cjs/src/utils/sessionInfoService.spec.d.ts +2 -0
  35. package/cjs/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  36. package/cjs/src/utils/sessionInfoService.spec.js +130 -0
  37. package/cjs/src/utils/sessionInfoService.spec.js.map +1 -0
  38. package/cjs/src/utils.spec.js +158 -0
  39. package/cjs/src/utils.spec.js.map +1 -1
  40. package/dist/{index-DsSQndIB.js → index-B5xoN6Cp.js} +1 -1
  41. package/dist/src/embed/app.d.ts.map +1 -1
  42. package/dist/src/embed/conversation.d.ts +12 -0
  43. package/dist/src/embed/conversation.d.ts.map +1 -1
  44. package/dist/src/embed/embedConfig.spec.d.ts +2 -0
  45. package/dist/src/embed/embedConfig.spec.d.ts.map +1 -0
  46. package/dist/src/embed/host-events.spec.d.ts +2 -0
  47. package/dist/src/embed/host-events.spec.d.ts.map +1 -0
  48. package/dist/src/types.d.ts +93 -6
  49. package/dist/src/types.d.ts.map +1 -1
  50. package/dist/src/utils/sessionInfoService.spec.d.ts +2 -0
  51. package/dist/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  52. package/dist/tsembed-react.es.js +97 -6
  53. package/dist/tsembed-react.js +96 -5
  54. package/dist/tsembed.es.js +97 -6
  55. package/dist/tsembed.js +96 -5
  56. package/dist/visual-embed-sdk-react-full.d.ts +105 -6
  57. package/dist/visual-embed-sdk-react.d.ts +105 -6
  58. package/dist/visual-embed-sdk.d.ts +105 -6
  59. package/lib/package.json +1 -1
  60. package/lib/src/authToken.spec.js +5 -0
  61. package/lib/src/authToken.spec.js.map +1 -1
  62. package/lib/src/embed/app.d.ts.map +1 -1
  63. package/lib/src/embed/app.js +6 -0
  64. package/lib/src/embed/app.js.map +1 -1
  65. package/lib/src/embed/app.spec.js +11 -2
  66. package/lib/src/embed/app.spec.js.map +1 -1
  67. package/lib/src/embed/conversation.d.ts +12 -0
  68. package/lib/src/embed/conversation.d.ts.map +1 -1
  69. package/lib/src/embed/conversation.js.map +1 -1
  70. package/lib/src/embed/conversation.spec.js +30 -0
  71. package/lib/src/embed/conversation.spec.js.map +1 -1
  72. package/lib/src/embed/embedConfig.spec.d.ts +2 -0
  73. package/lib/src/embed/embedConfig.spec.d.ts.map +1 -0
  74. package/lib/src/embed/embedConfig.spec.js +72 -0
  75. package/lib/src/embed/embedConfig.spec.js.map +1 -0
  76. package/lib/src/embed/host-events.spec.d.ts +2 -0
  77. package/lib/src/embed/host-events.spec.d.ts.map +1 -0
  78. package/lib/src/embed/host-events.spec.js +1216 -0
  79. package/lib/src/embed/host-events.spec.js.map +1 -0
  80. package/lib/src/mixpanel-service.spec.js +14 -0
  81. package/lib/src/mixpanel-service.spec.js.map +1 -1
  82. package/lib/src/types.d.ts +93 -6
  83. package/lib/src/types.d.ts.map +1 -1
  84. package/lib/src/types.js +88 -3
  85. package/lib/src/types.js.map +1 -1
  86. package/lib/src/utils/custom-actions.spec.js +26 -0
  87. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  88. package/lib/src/utils/processData.spec.js +30 -0
  89. package/lib/src/utils/processData.spec.js.map +1 -1
  90. package/lib/src/utils/reporting.spec.js +21 -0
  91. package/lib/src/utils/reporting.spec.js.map +1 -1
  92. package/lib/src/utils/sessionInfoService.spec.d.ts +2 -0
  93. package/lib/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  94. package/lib/src/utils/sessionInfoService.spec.js +127 -0
  95. package/lib/src/utils/sessionInfoService.spec.js.map +1 -0
  96. package/lib/src/utils.spec.js +159 -1
  97. package/lib/src/utils.spec.js.map +1 -1
  98. package/lib/src/visual-embed-sdk.d.ts +105 -6
  99. package/package.json +1 -1
  100. package/src/authToken.spec.ts +6 -0
  101. package/src/embed/app.spec.ts +15 -2
  102. package/src/embed/app.ts +6 -0
  103. package/src/embed/conversation.spec.ts +32 -0
  104. package/src/embed/conversation.ts +12 -0
  105. package/src/embed/embedConfig.spec.ts +79 -0
  106. package/src/embed/host-events.spec.ts +1635 -0
  107. package/src/mixpanel-service.spec.ts +15 -0
  108. package/src/types.ts +96 -6
  109. package/src/utils/custom-actions.spec.ts +28 -0
  110. package/src/utils/processData.spec.ts +32 -0
  111. package/src/utils/reporting.spec.ts +27 -0
  112. package/src/utils/sessionInfoService.spec.ts +151 -0
  113. package/src/utils.spec.ts +195 -0
@@ -1,4 +1,4 @@
1
- import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, getRuntimeParameters, removeTypename, removeStyleProperties, setStyleProperties, isUndefined, storeValueInWindow, getValueFromWindow, handlePresentEvent, handleExitPresentMode, getTypeFromValue, arrayIncludesString, calculateVisibleElementData, getClippingAncestors, getEffectiveClippingAncestors, getScrollableAncestors, formatTemplate, isValidCssMargin, resetValueFromWindow, validateHttpUrl, setParamIfDefined, querySelectorAcrossShadowRoot, } from './utils';
1
+ import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, getRuntimeParameters, removeTypename, removeStyleProperties, setStyleProperties, isUndefined, storeValueInWindow, getValueFromWindow, handlePresentEvent, handleExitPresentMode, getTypeFromValue, arrayIncludesString, calculateVisibleElementData, getClippingAncestors, getEffectiveClippingAncestors, getScrollableAncestors, formatTemplate, isValidCssMargin, resetValueFromWindow, validateHttpUrl, setParamIfDefined, querySelectorAcrossShadowRoot, getSSOMarker, deepMerge, getHostEventsConfig, isWindowUndefined, getOffsetTop, getDOMNode, getOperationNameFromQuery, } from './utils';
2
2
  import { RuntimeFilterOp } from './types';
3
3
  import { logger } from './utils/logger';
4
4
  import { ERROR_MESSAGE } from './errors';
@@ -276,6 +276,12 @@ describe('Fullscreen Utility Functions', () => {
276
276
  handlePresentEvent(mockIframe);
277
277
  expect(logger.error).toHaveBeenCalledWith('Fullscreen API is not supported by this browser.');
278
278
  });
279
+ it('should catch error and log warning when requestFullscreen throws (covers line 506)', async () => {
280
+ // Covers line 506: catch block inside fullscreen method attempt
281
+ mockIframe.requestFullscreen.mockRejectedValue(new Error('permission denied'));
282
+ await handlePresentEvent(mockIframe);
283
+ expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('Failed to enter fullscreen'), expect.any(Error));
284
+ });
279
285
  it('should not attempt fullscreen when already in fullscreen mode', () => {
280
286
  Object.defineProperty(document, 'fullscreenElement', {
281
287
  writable: true,
@@ -788,6 +794,21 @@ describe('isValidCssMargin', () => {
788
794
  expect(isValidCssMargin('invalid')).toBe(false);
789
795
  expect(isValidCssMargin('10')).toBe(false); // missing unit
790
796
  });
797
+ it('should return false and log error when value is not a string (non-string type)', () => {
798
+ // Covers line 147-148: typeof value !== 'string' branch
799
+ expect(isValidCssMargin(42)).toBe(false);
800
+ expect(logger.error).toHaveBeenCalledWith('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
801
+ });
802
+ it('should return false when more than 4 space-separated parts are given', () => {
803
+ // Covers line 157-158: parts.length > 4 branch
804
+ expect(isValidCssMargin('10px 20px 30px 40px 50px')).toBe(false);
805
+ expect(logger.error).toHaveBeenCalledWith('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
806
+ });
807
+ it('should return true for valid multi-part margin (up to 4 parts)', () => {
808
+ expect(isValidCssMargin('10px 20px')).toBe(true);
809
+ expect(isValidCssMargin('10px 20px 30px 40px')).toBe(true);
810
+ expect(isValidCssMargin('auto')).toBe(true);
811
+ });
791
812
  });
792
813
  describe('getValueFromWindow and storeValueInWindow', () => {
793
814
  describe('SSR environment handling', () => {
@@ -890,4 +911,141 @@ describe('getValueFromWindow and storeValueInWindow', () => {
890
911
  });
891
912
  });
892
913
  });
914
+ // ---------------------------------------------------------------------------
915
+ // getSSOMarker
916
+ // ---------------------------------------------------------------------------
917
+ describe('getSSOMarker', () => {
918
+ test('returns tsSSOMarker query string with encoded markerId', () => {
919
+ expect(getSSOMarker('abc123')).toBe('tsSSOMarker=abc123');
920
+ });
921
+ test('URL-encodes special characters in markerId', () => {
922
+ expect(getSSOMarker('hello world')).toBe('tsSSOMarker=hello%20world');
923
+ expect(getSSOMarker('foo=bar&baz')).toBe('tsSSOMarker=foo%3Dbar%26baz');
924
+ });
925
+ test('handles empty string markerId', () => {
926
+ expect(getSSOMarker('')).toBe('tsSSOMarker=');
927
+ });
928
+ });
929
+ // ---------------------------------------------------------------------------
930
+ // deepMerge
931
+ // ---------------------------------------------------------------------------
932
+ describe('deepMerge', () => {
933
+ test('merges two flat objects', () => {
934
+ const result = deepMerge({ a: 1 }, { b: 2 });
935
+ expect(result).toEqual({ a: 1, b: 2 });
936
+ });
937
+ test('source overrides target for same keys', () => {
938
+ const result = deepMerge({ a: 1, b: 2 }, { b: 99 });
939
+ expect(result).toEqual({ a: 1, b: 99 });
940
+ });
941
+ test('deep merges nested objects', () => {
942
+ const result = deepMerge({ a: { x: 1, y: 2 } }, { a: { y: 99, z: 3 } });
943
+ expect(result).toEqual({ a: { x: 1, y: 99, z: 3 } });
944
+ });
945
+ test('handles empty source', () => {
946
+ const result = deepMerge({ a: 1 }, {});
947
+ expect(result).toEqual({ a: 1 });
948
+ });
949
+ test('handles empty target', () => {
950
+ const result = deepMerge({}, { b: 2 });
951
+ expect(result).toEqual({ b: 2 });
952
+ });
953
+ });
954
+ // ---------------------------------------------------------------------------
955
+ // getHostEventsConfig
956
+ // ---------------------------------------------------------------------------
957
+ describe('getHostEventsConfig', () => {
958
+ test('returns shouldBypassPayloadValidation and useHostEventsV2 from viewConfig', () => {
959
+ const viewConfig = { shouldBypassPayloadValidation: true, useHostEventsV2: false };
960
+ expect(getHostEventsConfig(viewConfig)).toEqual({
961
+ shouldBypassPayloadValidation: true,
962
+ useHostEventsV2: false,
963
+ });
964
+ });
965
+ test('returns undefined for missing keys', () => {
966
+ const result = getHostEventsConfig({});
967
+ expect(result.shouldBypassPayloadValidation).toBeUndefined();
968
+ expect(result.useHostEventsV2).toBeUndefined();
969
+ });
970
+ test('ignores unrelated config properties', () => {
971
+ const viewConfig = {
972
+ shouldBypassPayloadValidation: false,
973
+ useHostEventsV2: true,
974
+ liveboardId: 'lb-1',
975
+ };
976
+ expect(getHostEventsConfig(viewConfig)).toEqual({
977
+ shouldBypassPayloadValidation: false,
978
+ useHostEventsV2: true,
979
+ });
980
+ });
981
+ });
982
+ // ---------------------------------------------------------------------------
983
+ // isWindowUndefined
984
+ // ---------------------------------------------------------------------------
985
+ describe('isWindowUndefined', () => {
986
+ test('returns false when window is defined (browser/jsdom env)', () => {
987
+ // In jest/jsdom, window is always defined
988
+ expect(isWindowUndefined()).toBe(false);
989
+ });
990
+ });
991
+ // ---------------------------------------------------------------------------
992
+ // getOffsetTop
993
+ // ---------------------------------------------------------------------------
994
+ describe('getOffsetTop', () => {
995
+ test('returns rect.top + window.scrollY', () => {
996
+ const mockElement = {
997
+ getBoundingClientRect: () => ({ top: 50 }),
998
+ };
999
+ Object.defineProperty(window, 'scrollY', { value: 100, configurable: true });
1000
+ expect(getOffsetTop(mockElement)).toBe(150);
1001
+ });
1002
+ test('returns rect.top when scrollY is 0', () => {
1003
+ const mockElement = {
1004
+ getBoundingClientRect: () => ({ top: 30 }),
1005
+ };
1006
+ Object.defineProperty(window, 'scrollY', { value: 0, configurable: true });
1007
+ expect(getOffsetTop(mockElement)).toBe(30);
1008
+ });
1009
+ });
1010
+ // ---------------------------------------------------------------------------
1011
+ // getDOMNode
1012
+ // ---------------------------------------------------------------------------
1013
+ describe('getDOMNode', () => {
1014
+ test('returns the element from document.querySelector when passed a string selector', () => {
1015
+ const div = document.createElement('div');
1016
+ div.id = 'test-dom-node';
1017
+ document.body.appendChild(div);
1018
+ expect(getDOMNode('#test-dom-node')).toBe(div);
1019
+ document.body.removeChild(div);
1020
+ });
1021
+ test('returns the element directly when passed an HTMLElement', () => {
1022
+ const div = document.createElement('div');
1023
+ expect(getDOMNode(div)).toBe(div);
1024
+ });
1025
+ test('returns null for a selector that matches nothing', () => {
1026
+ expect(getDOMNode('#nonexistent-element-xyz')).toBeNull();
1027
+ });
1028
+ });
1029
+ // ---------------------------------------------------------------------------
1030
+ // getOperationNameFromQuery
1031
+ // ---------------------------------------------------------------------------
1032
+ describe('getOperationNameFromQuery', () => {
1033
+ test('extracts operation name from a query string', () => {
1034
+ expect(getOperationNameFromQuery('query GetUser { user { id } }')).toBe('GetUser');
1035
+ });
1036
+ test('extracts operation name from a mutation string', () => {
1037
+ expect(getOperationNameFromQuery('mutation CreateUser { createUser { id } }')).toBe('CreateUser');
1038
+ });
1039
+ test('returns undefined when no operation name is present', () => {
1040
+ expect(getOperationNameFromQuery('{ user { id } }')).toBeUndefined();
1041
+ });
1042
+ test('handles multiline query strings', () => {
1043
+ const query = `
1044
+ query FetchData {
1045
+ data { id }
1046
+ }
1047
+ `;
1048
+ expect(getOperationNameFromQuery(query)).toBe('FetchData');
1049
+ });
1050
+ });
893
1051
  //# sourceMappingURL=utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,6BAA6B,EAC7B,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,6BAA6B,EAC7B,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,yBAAyB,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,cAAc;AACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACnB;CACJ,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;SACZ,CAAC,CACL,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzB,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,kCAAkC;QAClC,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;SACb,CAAC,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CACF,cAAc,CAAC;YACX;gBACI,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,MAAM,CAAC;aACnB;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CACF,cAAc,CAAC;YACX;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG;YACZ;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,EAAE,CAAC;aACf;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,MAAM;gBAChC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAClB;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAChC,2FAA2F,CAC9F,CAAC;IACN,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,CACF,oBAAoB,CAAC;YACjB;gBACI,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;aACf;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG;YACX;gBACI,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,EAAE;aACZ;YACD;gBACI,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;aACf;YACD;gBACI,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,IAAI;aACd;SACJ,CAAC;QACF,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACrC,4EAA4E,CAC/E,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAC1D,0CAA0C,CAC7C,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,IAAI,gBAA0B,CAAC;QAC/B,UAAU,CAAC,GAAG,EAAE;YACZ,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,EAAE;YACX,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACzD,0CAA0C,CAC7C,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAClE,4CAA4C,CAC/C,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CACxE,6CAA6C,CAChD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,yBAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,mBAAmB;YAC/B,GAAG,EAAE;gBACD,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,mBAAmB;aAClC;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE;gBACD,IAAI,EAAE,MAAM;aACf;SACJ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE9C,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEhC,MAAM,kBAAkB,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YAE7D,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAEnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,GAAG,EAAE;gBACR,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE9C,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEhC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE/C,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAEnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG;gBACX,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,MAAM;aACnB,CAAC;YAEF,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,4BAA4B;YAC5B,MAAM,CAAC,GAAG,EAAE;gBACR,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACvD,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;YAEpC,MAAc,CAAC,WAAW,GAAG,IAAI,CAAC;YAEnC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,IAAI,sBAA2B,CAAC;IAChC,IAAI,UAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,gCAAgC;QAChC,sBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC;QACjD,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpC,cAAc;QACd,UAAU,GAAG;YACT,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;SACxB,CAAC;QAET,mCAAmC;QACnC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;YACjD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,0BAA0B;QAC1B,QAAQ,CAAC,cAAc,GAAG,sBAAsB,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,iBAA+B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAEzE,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE/B,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,OAAQ,UAAkB,CAAC,iBAAiB,CAAC;YAE7C,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,kDAAkD,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAChG,gEAAgE;YAC/D,UAAU,CAAC,iBAA+B,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE9F,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACpC,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EACrD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CACpB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACrE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;gBACjD,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;YAEH,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE/B,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,UAAU,CAAC,GAAG,EAAE;YACZ,2BAA2B;YAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;gBACjD,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;aAC1C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,cAA4B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAEpE,qBAAqB,EAAE,CAAC;YAExB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;gBACjD,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,qBAAqB,EAAE,CAAC;YAExB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACpE,yDAAyD;YACzD,QAAQ,CAAC,cAAc,GAAG,SAAgB,CAAC;YAE3C,qBAAqB,EAAE,CAAC;YAExB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,uDAAuD,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YACxD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAClD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAChC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,IAAI,WAAwB,CAAC;IAC7B,IAAI,mBAA2B,CAAC;IAChC,IAAI,kBAA0B,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE;QACZ,mCAAmC;QACnC,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;QACzC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC;QAEvC,yBAAyB;QACzB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;YACzC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YACxC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,sBAAsB;QACtB,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,qCAAqC;QACrC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;YACzC,KAAK,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YACxC,KAAK,EAAE,kBAAkB;SAC5B,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,+DAA+D;QAC/D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,2BAA2B,CAAC,IAA8B,CAAC,CAAC,CAAC,OAAO,CAAC;YACxE,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,kEAAkE;QAClE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC,EAAE;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,oEAAoE;QACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,CAAC,EAAE;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,EAAE,iCAAiC;SAChD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,kEAAkE;QAClE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,qEAAqE;QACrE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,EAAE,0CAA0C;SACzD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC,GAAG;YACT,IAAI,EAAE,CAAC,EAAE;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,EAAE,iCAAiC;SAChD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC,GAAG;YACT,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,CAAC,GAAG;YACZ,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,EAAE,6CAA6C;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,qEAAqE;QACrE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,CAAC,GAAG;YACV,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,CAAC,GAAG;YACX,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,CAAC,EAAE,mFAAmF;SAChG,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC,GAAG;YACT,IAAI,EAAE,CAAC,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACJ,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,IAAI,EAAE,oCAAoC;SACpD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,IAAI,EAAE,sBAAsB;SACtC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACxC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACjE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,CAAC,GAAG;YACT,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;SACJ,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5C,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACnE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,sBAAsB,CAAC,IAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACpC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,mBAAmB,GAAG,IAAI;aAC3B,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC;aACjC,eAAe,CAAC,IAAsC,CAAC,CAAC;QAE7D,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnD,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,oBAAoB,CAAC,IAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACnE,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACxC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC/C,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE9B,MAAM,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpE,EAAE,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAChG,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,EAAE,GAAG,eAAe,CAAC;QAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE9B,0DAA0D;QAC1D,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5D,MAAM,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnF,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC;QAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE9B,MAAM,CAAC,6BAA6B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7E,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC1F,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/E,SAAS,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACrF,MAAM,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,6BAA6B,CAAC,IAA8B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACnE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACxD,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACnE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,eAAe,CAAC;YACxD,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACH,CAAC,CAAC;QAEd,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,CACF,cAAc,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACrF,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC3C,MAAM,CACF,cAAc,CAAC,wCAAwC,EAAE;YACrD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;SACnB,CAAC,CACL,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC/C,MAAM,CACF,cAAc,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC5E,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACtF,wDAAwD;QACxD,MAAM,CAAC,gBAAgB,CAAC,EAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,+DAA+D,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,+CAA+C;QAC/C,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,+DAA+D,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACtC,IAAI,cAAwC,CAAC;QAC7C,UAAU,CAAC,GAAG,EAAE;YACZ,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACX,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,OAAO,MAAM,CAAC,MAAM,CAAC;YAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAE1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACrC,aAAa,CAAC,qBAAqB,CACtC,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,OAAO,MAAM,CAAC,MAAM,CAAC;YAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACrC,aAAa,CAAC,qBAAqB,CACtC,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,OAAO,MAAM,CAAC,MAAM,CAAC;YAErB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACrC,aAAa,CAAC,qBAAqB,CACtC,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,UAAU,CAAC,GAAG,EAAE;YACX,MAAc,CAAC,WAAW,GAAG,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAErC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAE7B,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,UAAU,EAAE,oBAAoB,CAAC;YAClC,CAAC,WAAW,EAAE,qBAAqB,CAAC;YACpC,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;YAC3D,CAAC,6BAA6B,EAAE,kCAAkC,CAAC;SACtE,CAAC,CAAC,yCAAyC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,CAAC;YAC7C,CAAC,eAAe,EAAE,sBAAsB,EAAE,OAAO,CAAC;YAClD,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,aAAa,CAAC;SAChE,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3D,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;YACzC,CAAC,cAAc,EAAE,EAAE,CAAC;YACpB,CAAC,sBAAsB,EAAE,aAAa,CAAC;SAC1C,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACjD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC;YACN,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;YAC9D,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,CAAC,yBAAyB,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;YAC9D,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;SAC1D,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;YACnE,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAC9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtE,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAC9E,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAC9E,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,UAAU,GAAQ,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACxF,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5C,6BAA6B,EAAE,IAAI;YACnC,eAAe,EAAE,KAAK;SACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,UAAU,GAAQ;YACpB,6BAA6B,EAAE,KAAK;YACpC,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,MAAM;SACtB,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5C,6BAA6B,EAAE,KAAK;YACpC,eAAe,EAAE,IAAI;SACxB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,0CAA0C;QAC1C,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAC9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,WAAW,GAAG;YAChB,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;SAC7C,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,WAAW,GAAG;YAChB,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;SAC7C,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAC9E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,EAAE,GAAG,eAAe,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAC9E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,yBAAyB,CAAC,2CAA2C,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG;;;;SAIb,CAAC;QACF,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -2096,7 +2096,8 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2096
2096
  * The list of actions to completely remove from the embedded view.
2097
2097
  * Hidden actions are not visible to the user at all (fully removed from the UI).
2098
2098
  * Use this when you want to remove an action entirely.
2099
- * To keep an action visible but non-interactive (grayed out), use {@link disabledActions} instead.
2099
+ * To keep an action visible but non-interactive (grayed out), use {@link
2100
+ * disabledActions} instead.
2100
2101
  *
2101
2102
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2102
2103
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -2116,7 +2117,8 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2116
2117
  * (...), and the contextual menu. These will be only actions that
2117
2118
  * are visible to the user.
2118
2119
  * Use this as an allowlist — only the actions listed here will be shown.
2119
- * All other actions will be hidden. Use either this or {@link hiddenActions}, not both.
2120
+ * All other actions will be hidden. Use either this or {@link hiddenActions}, not
2121
+ * both.
2120
2122
  *
2121
2123
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2122
2124
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -4835,10 +4837,11 @@ export enum EmbedEvent {
4835
4837
  */
4836
4838
  EmbedPageContextChanged = "EmbedPageContextChanged",
4837
4839
  /**
4838
- * Represents a special embed event that is triggered whenever any host event is subscribed.
4840
+ * Represents a special embed event that is triggered whenever any host event is
4841
+ * subscribed.
4839
4842
  *
4840
- * You can listen to this event when you need to dispatch a host event during load or render,
4841
- * particularly in situations where timing issues may occur.
4843
+ * You can listen to this event when you need to dispatch a host event during load or
4844
+ * render, particularly in situations where timing issues may occur.
4842
4845
  *
4843
4846
  * @example
4844
4847
  * ```js
@@ -7076,6 +7079,24 @@ export enum HostEvent {
7076
7079
  * ```
7077
7080
  */
7078
7081
  InitSpotterVizConversation = "InitSpotterVizConversation",
7082
+ /**
7083
+ * Opens the SpotterViz panel.
7084
+ * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7085
+ * @example
7086
+ * ```js
7087
+ * liveboardEmbed.trigger(HostEvent.OpenSpotterVizPanel);
7088
+ * ```
7089
+ */
7090
+ OpenSpotterVizPanel = "OpenSpotterVizPanel",
7091
+ /**
7092
+ * Closes the SpotterViz panel.
7093
+ * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7094
+ * @example
7095
+ * ```js
7096
+ * liveboardEmbed.trigger(HostEvent.CloseSpotterVizPanel);
7097
+ * ```
7098
+ */
7099
+ CloseSpotterVizPanel = "CloseSpotterVizPanel",
7079
7100
  /**
7080
7101
  * Clears browser cache and fetches new data for liveboard ChartViz Containers.
7081
7102
  * Requires `enableLiveboardDataCache` to be enabled.
@@ -8841,7 +8862,73 @@ export enum Action {
8841
8862
  * ```
8842
8863
  * @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
8843
8864
  */
8844
- RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache"
8865
+ RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache",
8866
+ /**
8867
+ * Controls visibility and disable state of the share action
8868
+ * in the Spotter Analyst interface.
8869
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8870
+ * @example
8871
+ * ```js
8872
+ * hiddenActions: [Action.SpotterAnalystShare]
8873
+ * disabledActions: [Action.SpotterAnalystShare]
8874
+ * ```
8875
+ */
8876
+ SpotterAnalystShare = "spotterAnalystShare",
8877
+ /**
8878
+ * Controls visibility and disable state of the edit action
8879
+ * in the Spotter Analyst interface.
8880
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8881
+ * @example
8882
+ * ```js
8883
+ * hiddenActions: [Action.SpotterAnalystEdit]
8884
+ * disabledActions: [Action.SpotterAnalystEdit]
8885
+ * ```
8886
+ */
8887
+ SpotterAnalystEdit = "spotterAnalystEdit",
8888
+ /**
8889
+ * Controls visibility and disable state of the create action
8890
+ * in the Spotter Analyst interface.
8891
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8892
+ * @example
8893
+ * ```js
8894
+ * hiddenActions: [Action.SpotterAnalystCreate]
8895
+ * disabledActions: [Action.SpotterAnalystCreate]
8896
+ * ```
8897
+ */
8898
+ SpotterAnalystCreate = "spotterAnalystCreate",
8899
+ /**
8900
+ * Controls visibility and disable state of the delete action
8901
+ * in the Spotter Analyst interface.
8902
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8903
+ * @example
8904
+ * ```js
8905
+ * hiddenActions: [Action.SpotterAnalystDelete]
8906
+ * disabledActions: [Action.SpotterAnalystDelete]
8907
+ * ```
8908
+ */
8909
+ SpotterAnalystDelete = "spotterAnalystDelete",
8910
+ /**
8911
+ * Controls visibility and disable state of the make a copy action
8912
+ * in the Spotter Analyst interface.
8913
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8914
+ * @example
8915
+ * ```js
8916
+ * hiddenActions: [Action.SpotterAnalystMakeACopy]
8917
+ * disabledActions: [Action.SpotterAnalystMakeACopy]
8918
+ * ```
8919
+ */
8920
+ SpotterAnalystMakeACopy = "spotterAnalystMakeACopy",
8921
+ /**
8922
+ * Controls visibility and disable state of the sidebar
8923
+ * in the Spotter Analyst interface.
8924
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
8925
+ * @example
8926
+ * ```js
8927
+ * hiddenActions: [Action.SpotterAnalystSidebar]
8928
+ * disabledActions: [Action.SpotterAnalystSidebar]
8929
+ * ```
8930
+ */
8931
+ SpotterAnalystSidebar = "spotterAnalystSidebar"
8845
8932
  }
8846
8933
  export enum PrefetchFeatures {
8847
8934
  FullApp = "FullApp",
@@ -10725,6 +10812,18 @@ export interface SpotterSidebarViewConfig {
10725
10812
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
10726
10813
  */
10727
10814
  spotterNewChatButtonTitle?: string;
10815
+ /**
10816
+ * Custom label text for the Spotter Analyst section in the sidebar.
10817
+ * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
10818
+ * @default Analyst
10819
+ */
10820
+ spotterAnalystLabel?: string;
10821
+ /**
10822
+ * Custom label text for the Spotter Analysts section in the sidebar.
10823
+ * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
10824
+ * @default Analysts
10825
+ */
10826
+ spotterAnalystsLabel?: string;
10728
10827
  }
10729
10828
  /**
10730
10829
  * Configuration for customizing Spotter chat UI branding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.49.3",
3
+ "version": "1.50.0",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -77,6 +77,12 @@ describe('AuthToken Unit tests', () => {
77
77
  loggerSpy.mockRestore();
78
78
  });
79
79
 
80
+ test('validateAuthToken: returns false when verifyTokenService throws (covers catch block)', async () => {
81
+ jest.spyOn(authServiceInstance, 'verifyTokenService').mockRejectedValueOnce(new Error('network error'));
82
+ const result = await validateAuthToken({ thoughtSpotHost: 'test', disableTokenVerification: false } as EmbedConfig, 'valid-token-string');
83
+ expect(result).toBe(false);
84
+ });
85
+
80
86
  describe('getAuthenticationToken: cached token skip validation condition', () => {
81
87
  beforeEach(() => {
82
88
  resetCachedAuthToken();
@@ -522,7 +522,7 @@ describe('App embed tests', () => {
522
522
  });
523
523
  });
524
524
 
525
- test('Should add homepageVersion=v4 when homePage is Focused to the iframe src', async () => {
525
+ test('Should add homepageVersion=v4 and updatedSpotterChatPrompt=true when homePage is Focused to the iframe src', async () => {
526
526
  await testUrlParams(
527
527
  {
528
528
  ...defaultViewConfig,
@@ -530,7 +530,20 @@ describe('App embed tests', () => {
530
530
  homePage: HomePage.Focused,
531
531
  },
532
532
  } as AppViewConfig,
533
- `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=false&navigationVersion=v2&homepageVersion=v4${defaultParams}${defaultParamsPost}#/home`,
533
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=false&navigationVersion=v2&homepageVersion=v4&updatedSpotterChatPrompt=true${defaultParams}${defaultParamsPost}#/home`,
534
+ );
535
+ });
536
+
537
+ test('Should respect explicit updatedSpotterChatPrompt=false even when homePage is Focused', async () => {
538
+ await testUrlParams(
539
+ {
540
+ ...defaultViewConfig,
541
+ discoveryExperience: {
542
+ homePage: HomePage.Focused,
543
+ },
544
+ updatedSpotterChatPrompt: false,
545
+ } as AppViewConfig,
546
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=false&navigationVersion=v2&homepageVersion=v4&updatedSpotterChatPrompt=false${defaultParams}${defaultParamsPost}#/home`,
534
547
  );
535
548
  });
536
549
 
package/src/embed/app.ts CHANGED
@@ -1218,6 +1218,12 @@ export class AppEmbed extends V1Embed {
1218
1218
 
1219
1219
  if (discoveryExperience.homePage === HomePage.Focused) {
1220
1220
  params[Param.HomepageVersion] = HomePage.Focused;
1221
+ // The Focused (V4) homepage experience requires the updated
1222
+ // Spotter chat prompt. Enable it automatically unless the
1223
+ // developer has explicitly set updatedSpotterChatPrompt.
1224
+ if (isUndefined(updatedSpotterChatPrompt)) {
1225
+ params[Param.UpdatedSpotterChatPrompt] = true;
1226
+ }
1221
1227
  }
1222
1228
  }
1223
1229
 
@@ -465,6 +465,12 @@ describe('ConversationEmbed', () => {
465
465
  ['SpotterChatConnectorResources', Action.SpotterChatConnectorResources],
466
466
  ['SpotterChatConnectors', Action.SpotterChatConnectors],
467
467
  ['SpotterChatModeSwitcher', Action.SpotterChatModeSwitcher],
468
+ ['SpotterAnalystShare', Action.SpotterAnalystShare],
469
+ ['SpotterAnalystEdit', Action.SpotterAnalystEdit],
470
+ ['SpotterAnalystCreate', Action.SpotterAnalystCreate],
471
+ ['SpotterAnalystDelete', Action.SpotterAnalystDelete],
472
+ ['SpotterAnalystMakeACopy', Action.SpotterAnalystMakeACopy],
473
+ ['SpotterAnalystSidebar', Action.SpotterAnalystSidebar],
468
474
  ])('should render with hiddenActions for %s', async (_, action) => {
469
475
  const viewConfig: SpotterEmbedViewConfig = {
470
476
  worksheetId: 'worksheetId',
@@ -503,6 +509,12 @@ describe('ConversationEmbed', () => {
503
509
  ['SpotterChatConnectorResources', Action.SpotterChatConnectorResources],
504
510
  ['SpotterChatConnectors', Action.SpotterChatConnectors],
505
511
  ['SpotterChatModeSwitcher', Action.SpotterChatModeSwitcher],
512
+ ['SpotterAnalystShare', Action.SpotterAnalystShare],
513
+ ['SpotterAnalystEdit', Action.SpotterAnalystEdit],
514
+ ['SpotterAnalystCreate', Action.SpotterAnalystCreate],
515
+ ['SpotterAnalystDelete', Action.SpotterAnalystDelete],
516
+ ['SpotterAnalystMakeACopy', Action.SpotterAnalystMakeACopy],
517
+ ['SpotterAnalystSidebar', Action.SpotterAnalystSidebar],
506
518
  ])('should render with disabledActions for %s', async (_, action) => {
507
519
  const disabledReason = 'testing disabled reason';
508
520
  const viewConfig: SpotterEmbedViewConfig = {
@@ -612,6 +624,26 @@ describe('SpotterEmbed APP_INIT embedParams', () => {
612
624
  expect(response.data.embedParams).toBeUndefined();
613
625
  });
614
626
 
627
+ it('should include spotterAnalystLabel in embedParams.spotterSidebarConfig when set', async () => {
628
+ const response = await getAppInitResponse({
629
+ worksheetId: 'ws1',
630
+ spotterSidebarConfig: {
631
+ spotterAnalystLabel: 'My Analyst',
632
+ },
633
+ });
634
+ expect(response.data.embedParams.spotterSidebarConfig.spotterAnalystLabel).toBe('My Analyst');
635
+ });
636
+
637
+ it('should include spotterAnalystsLabel in embedParams.spotterSidebarConfig when set', async () => {
638
+ const response = await getAppInitResponse({
639
+ worksheetId: 'ws1',
640
+ spotterSidebarConfig: {
641
+ spotterAnalystsLabel: 'My Analysts',
642
+ },
643
+ });
644
+ expect(response.data.embedParams.spotterSidebarConfig.spotterAnalystsLabel).toBe('My Analysts');
645
+ });
646
+
615
647
  it('should call handleError and exclude spotterDocumentationUrl from embedParams when URL is invalid', async () => {
616
648
  const embed = new SpotterEmbed(getRootEl(), {
617
649
  worksheetId: 'ws1',
@@ -89,6 +89,18 @@ export interface SpotterSidebarViewConfig {
89
89
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
90
90
  */
91
91
  spotterNewChatButtonTitle?: string;
92
+ /**
93
+ * Custom label text for the Spotter Analyst section in the sidebar.
94
+ * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
95
+ * @default Analyst
96
+ */
97
+ spotterAnalystLabel?: string;
98
+ /**
99
+ * Custom label text for the Spotter Analysts section in the sidebar.
100
+ * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
101
+ * @default Analysts
102
+ */
103
+ spotterAnalystsLabel?: string;
92
104
  }
93
105
 
94
106
  /**