synapse-react-client 3.1.24 → 3.1.25

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 (125) hide show
  1. package/dist/containers/SynapseNavDrawer.js +1 -3
  2. package/dist/containers/SynapseNavDrawer.js.map +1 -1
  3. package/dist/containers/auth/Login.d.ts +4 -1
  4. package/dist/containers/auth/Login.js +24 -53
  5. package/dist/containers/auth/Login.js.map +1 -1
  6. package/dist/containers/auth/LoginPage.d.ts +2 -2
  7. package/dist/containers/auth/LoginPage.js +3 -3
  8. package/dist/containers/auth/LoginPage.js.map +1 -1
  9. package/dist/containers/auth/TOTPForm.d.ts +6 -0
  10. package/dist/containers/auth/TOTPForm.js +38 -0
  11. package/dist/containers/auth/TOTPForm.js.map +1 -0
  12. package/dist/index.d.ts +2 -2
  13. package/dist/umd/synapse-react-client.development.js +29395 -28001
  14. package/dist/umd/synapse-react-client.development.js.map +4 -4
  15. package/dist/umd/synapse-react-client.production.min.js +87 -81
  16. package/dist/umd.index.d.ts +6 -4
  17. package/dist/umd.index.js +3 -1
  18. package/dist/umd.index.js.map +1 -1
  19. package/dist/utils/SynapseClient.d.ts +30 -16
  20. package/dist/utils/SynapseClient.js +99 -120
  21. package/dist/utils/SynapseClient.js.map +1 -1
  22. package/dist/utils/SynapseClientError.d.ts +4 -1
  23. package/dist/utils/SynapseClientError.js +2 -5
  24. package/dist/utils/SynapseClientError.js.map +1 -1
  25. package/dist/utils/SynapseConstants.d.ts +1 -0
  26. package/dist/utils/SynapseConstants.js +2 -1
  27. package/dist/utils/SynapseConstants.js.map +1 -1
  28. package/dist/utils/SynapseContext.d.ts +6 -4
  29. package/dist/utils/SynapseContext.js +26 -6
  30. package/dist/utils/SynapseContext.js.map +1 -1
  31. package/dist/utils/functions/ArrayUtils.d.ts +5 -0
  32. package/dist/utils/functions/ArrayUtils.js +25 -0
  33. package/dist/utils/functions/ArrayUtils.js.map +1 -0
  34. package/dist/utils/hooks/SynapseAPI/KeyFactory.d.ts +102 -0
  35. package/dist/utils/hooks/SynapseAPI/KeyFactory.js +308 -0
  36. package/dist/utils/hooks/SynapseAPI/KeyFactory.js.map +1 -0
  37. package/dist/utils/hooks/SynapseAPI/QueryClientUtils.d.ts +9 -0
  38. package/dist/utils/hooks/SynapseAPI/QueryClientUtils.js +18 -0
  39. package/dist/utils/hooks/SynapseAPI/QueryClientUtils.js.map +1 -0
  40. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessApprovals.js +2 -2
  41. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessApprovals.js.map +1 -1
  42. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessRequirements.js +13 -14
  43. package/dist/utils/hooks/SynapseAPI/dataaccess/useAccessRequirements.js.map +1 -1
  44. package/dist/utils/hooks/SynapseAPI/dataaccess/useDataAccessSubmission.js +17 -18
  45. package/dist/utils/hooks/SynapseAPI/dataaccess/useDataAccessSubmission.js.map +1 -1
  46. package/dist/utils/hooks/SynapseAPI/dataaccess/useGetApprovedSubmissionInfo.js +2 -2
  47. package/dist/utils/hooks/SynapseAPI/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  48. package/dist/utils/hooks/SynapseAPI/doi/useDOI.js +2 -2
  49. package/dist/utils/hooks/SynapseAPI/doi/useDOI.js.map +1 -1
  50. package/dist/utils/hooks/SynapseAPI/download/useDownloadList.d.ts +0 -8
  51. package/dist/utils/hooks/SynapseAPI/download/useDownloadList.js +13 -29
  52. package/dist/utils/hooks/SynapseAPI/download/useDownloadList.js.map +1 -1
  53. package/dist/utils/hooks/SynapseAPI/entity/useEntity.js +19 -19
  54. package/dist/utils/hooks/SynapseAPI/entity/useEntity.js.map +1 -1
  55. package/dist/utils/hooks/SynapseAPI/entity/useEntityBoundSchema.js +4 -5
  56. package/dist/utils/hooks/SynapseAPI/entity/useEntityBoundSchema.js.map +1 -1
  57. package/dist/utils/hooks/SynapseAPI/entity/useEntityBundle.js +2 -3
  58. package/dist/utils/hooks/SynapseAPI/entity/useEntityBundle.js.map +1 -1
  59. package/dist/utils/hooks/SynapseAPI/entity/useGetEntityChildren.js +4 -5
  60. package/dist/utils/hooks/SynapseAPI/entity/useGetEntityChildren.js.map +1 -1
  61. package/dist/utils/hooks/SynapseAPI/entity/useGetEntityHeaders.js +4 -4
  62. package/dist/utils/hooks/SynapseAPI/entity/useGetEntityHeaders.js.map +1 -1
  63. package/dist/utils/hooks/SynapseAPI/entity/useGetQueryResultBundle.js +8 -9
  64. package/dist/utils/hooks/SynapseAPI/entity/useGetQueryResultBundle.js.map +1 -1
  65. package/dist/utils/hooks/SynapseAPI/entity/useSchema.js +3 -1
  66. package/dist/utils/hooks/SynapseAPI/entity/useSchema.js.map +1 -1
  67. package/dist/utils/hooks/SynapseAPI/file/useFiles.js +4 -3
  68. package/dist/utils/hooks/SynapseAPI/file/useFiles.js.map +1 -1
  69. package/dist/utils/hooks/SynapseAPI/file/useUploadDestination.js +2 -2
  70. package/dist/utils/hooks/SynapseAPI/file/useUploadDestination.js.map +1 -1
  71. package/dist/utils/hooks/SynapseAPI/index.d.ts +2 -0
  72. package/dist/utils/hooks/SynapseAPI/index.js +2 -0
  73. package/dist/utils/hooks/SynapseAPI/index.js.map +1 -1
  74. package/dist/utils/hooks/SynapseAPI/oauth/useOAuthClient.js +6 -6
  75. package/dist/utils/hooks/SynapseAPI/oauth/useOAuthClient.js.map +1 -1
  76. package/dist/utils/hooks/SynapseAPI/search/useSearch.js +4 -4
  77. package/dist/utils/hooks/SynapseAPI/search/useSearch.js.map +1 -1
  78. package/dist/utils/hooks/SynapseAPI/team/useTeamMembers.js +4 -4
  79. package/dist/utils/hooks/SynapseAPI/team/useTeamMembers.js.map +1 -1
  80. package/dist/utils/hooks/SynapseAPI/trash/useTrashCan.js +6 -6
  81. package/dist/utils/hooks/SynapseAPI/trash/useTrashCan.js.map +1 -1
  82. package/dist/utils/hooks/SynapseAPI/user/useFavorites.js +8 -8
  83. package/dist/utils/hooks/SynapseAPI/user/useFavorites.js.map +1 -1
  84. package/dist/utils/hooks/SynapseAPI/user/useGetUserChallenges.js +2 -2
  85. package/dist/utils/hooks/SynapseAPI/user/useGetUserChallenges.js.map +1 -1
  86. package/dist/utils/hooks/SynapseAPI/user/useGetUserProjects.js +2 -2
  87. package/dist/utils/hooks/SynapseAPI/user/useGetUserProjects.js.map +1 -1
  88. package/dist/utils/hooks/SynapseAPI/user/useGetUserTeams.js +2 -2
  89. package/dist/utils/hooks/SynapseAPI/user/useGetUserTeams.js.map +1 -1
  90. package/dist/utils/hooks/SynapseAPI/user/usePersonalAccessToken.js +2 -2
  91. package/dist/utils/hooks/SynapseAPI/user/usePersonalAccessToken.js.map +1 -1
  92. package/dist/utils/hooks/SynapseAPI/user/useProjects.js +4 -4
  93. package/dist/utils/hooks/SynapseAPI/user/useProjects.js.map +1 -1
  94. package/dist/utils/hooks/SynapseAPI/user/useUserBundle.js +17 -24
  95. package/dist/utils/hooks/SynapseAPI/user/useUserBundle.js.map +1 -1
  96. package/dist/utils/hooks/SynapseAPI/user/useUserGroupHeader.js +6 -4
  97. package/dist/utils/hooks/SynapseAPI/user/useUserGroupHeader.js.map +1 -1
  98. package/dist/utils/hooks/index.d.ts +15 -0
  99. package/dist/utils/hooks/index.js +20 -0
  100. package/dist/utils/hooks/index.js.map +1 -0
  101. package/dist/utils/hooks/useDetectSSOCode.d.ts +8 -0
  102. package/dist/utils/hooks/useDetectSSOCode.js +90 -0
  103. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -0
  104. package/dist/utils/hooks/useFocus.d.ts +15 -0
  105. package/dist/utils/hooks/useFocus.js +25 -0
  106. package/dist/utils/hooks/useFocus.js.map +1 -0
  107. package/dist/utils/hooks/useLogin.d.ts +15 -0
  108. package/dist/utils/hooks/useLogin.js +166 -0
  109. package/dist/utils/hooks/useLogin.js.map +1 -0
  110. package/dist/utils/hooks/useTraceUpdate.d.ts +1 -0
  111. package/dist/utils/hooks/useTraceUpdate.js +22 -0
  112. package/dist/utils/hooks/useTraceUpdate.js.map +1 -0
  113. package/dist/utils/index.d.ts +3 -2
  114. package/dist/utils/index.js +5 -3
  115. package/dist/utils/index.js.map +1 -1
  116. package/dist/utils/synapseTypes/ErrorResponse.d.ts +22 -0
  117. package/dist/utils/synapseTypes/ErrorResponse.js +17 -0
  118. package/dist/utils/synapseTypes/ErrorResponse.js.map +1 -0
  119. package/dist/utils/synapseTypes/TwoFactorAuthLoginRequest.d.ts +12 -0
  120. package/dist/utils/synapseTypes/TwoFactorAuthLoginRequest.js +3 -0
  121. package/dist/utils/synapseTypes/TwoFactorAuthLoginRequest.js.map +1 -0
  122. package/package.json +9 -7
  123. package/dist/utils/hooks/SynapseAPI/entity/queryKeys.d.ts +0 -93
  124. package/dist/utils/hooks/SynapseAPI/entity/queryKeys.js +0 -69
  125. package/dist/utils/hooks/SynapseAPI/entity/queryKeys.js.map +0 -1
@@ -1,93 +0,0 @@
1
- import { QueryClient } from 'react-query';
2
- import { EntityBundleRequest, EntityChildrenRequest, QueryBundleRequest } from '../../../synapseTypes';
3
- /**
4
- * Co-location of react-query keys for queries related to Synapse entity data. Two objectives of this strategy are
5
- * - minimize the risk of inappropriate cache key collisions
6
- * - simplify clearing the approprate query caches when the entity data is updated
7
- *
8
- * For more information, see https://tkdodo.eu/blog/leveraging-the-query-function-context
9
- */
10
- export declare const entityQueryKeys: {
11
- /** Query key for all entities */
12
- all: {
13
- objectType: string;
14
- }[];
15
- entity: (id: string) => {
16
- id: string;
17
- objectType: string;
18
- }[];
19
- version: (id: string, versionNumber?: string | number) => {
20
- versionNumber: string | number | undefined;
21
- id: string;
22
- objectType: string;
23
- }[];
24
- versions: (id: string) => {
25
- scope: string;
26
- id: string;
27
- objectType: string;
28
- }[];
29
- versionsQuery: (id: string, limit: number, offset: number) => {
30
- versionQuery: {
31
- limit: number;
32
- offset: number;
33
- };
34
- scope: string;
35
- id: string;
36
- objectType: string;
37
- }[];
38
- json: (id: string) => {
39
- scope: string;
40
- id: string;
41
- objectType: string;
42
- }[];
43
- path: (id: string) => {
44
- scope: string;
45
- id: string;
46
- objectType: string;
47
- }[];
48
- bundle: (id: string, versionNumber: string | number | undefined, bundleRequest: EntityBundleRequest) => {
49
- scope: string;
50
- entityBundleRequest: EntityBundleRequest;
51
- versionNumber: string | number | undefined;
52
- id: string;
53
- objectType: string;
54
- }[];
55
- children: (request: EntityChildrenRequest, infinite: boolean) => {
56
- scope: string;
57
- isInfinite: boolean;
58
- entityChildrenRequest: EntityChildrenRequest;
59
- id: string;
60
- objectType: string;
61
- }[];
62
- tableQueryResult: (queryBundleRequest: QueryBundleRequest, infinite: boolean) => {
63
- scope: string;
64
- isInfinite: boolean;
65
- tableQueryBundleRequest: QueryBundleRequest;
66
- id: string;
67
- objectType: string;
68
- }[];
69
- tableQueryResultWithAsyncStatus: (queryBundleRequest: QueryBundleRequest, infinite: boolean) => {
70
- scope: string;
71
- isInfinite: boolean;
72
- tableQueryBundleRequest: QueryBundleRequest;
73
- id: string;
74
- objectType: string;
75
- }[];
76
- fullTableQueryResult: (queryBundleRequest: QueryBundleRequest) => {
77
- scope: string;
78
- tableQueryBundleRequest: QueryBundleRequest;
79
- id: string;
80
- objectType: string;
81
- }[];
82
- boundJSONSchema: (id: string) => {
83
- scope: string;
84
- id: string;
85
- objectType: string;
86
- }[];
87
- schemaValidationResults: (id: string) => {
88
- scope: string;
89
- id: string;
90
- objectType: string;
91
- }[];
92
- };
93
- export declare function invalidateAllQueriesForEntity(queryClient: QueryClient, id: string): Promise<void>;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invalidateAllQueriesForEntity = exports.entityQueryKeys = void 0;
4
- var tslib_1 = require("tslib");
5
- /**
6
- * Co-location of react-query keys for queries related to Synapse entity data. Two objectives of this strategy are
7
- * - minimize the risk of inappropriate cache key collisions
8
- * - simplify clearing the approprate query caches when the entity data is updated
9
- *
10
- * For more information, see https://tkdodo.eu/blog/leveraging-the-query-function-context
11
- */
12
- exports.entityQueryKeys = {
13
- /** Query key for all entities */
14
- all: [{ objectType: 'entity' }],
15
- // Data for an entity
16
- entity: function (id) { return [tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.all[0]), { id: id })]; },
17
- // Data for a particular version of an entity
18
- version: function (id, versionNumber) { return [
19
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { versionNumber: versionNumber }),
20
- ]; },
21
- // List of Entity Versions
22
- versions: function (id) { return [
23
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { scope: 'versions' }),
24
- ]; },
25
- versionsQuery: function (id, limit, offset) { return [
26
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.versions(id)[0]), { versionQuery: {
27
- limit: limit,
28
- offset: offset,
29
- } }),
30
- ]; },
31
- // JSON Representation of an entity
32
- json: function (id) { return [tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { scope: 'json' })]; },
33
- // Entity path
34
- path: function (id) { return [tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { scope: 'path' })]; },
35
- // Entity bundle
36
- bundle: function (id, versionNumber, bundleRequest) { return [
37
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.version(id, versionNumber)[0]), { scope: 'entityBundle', entityBundleRequest: bundleRequest }),
38
- ]; },
39
- children: function (request, infinite) {
40
- var _a;
41
- return [
42
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity((_a = request.parentId) !== null && _a !== void 0 ? _a : 'root')[0]), { scope: 'children', isInfinite: infinite, entityChildrenRequest: request }),
43
- ];
44
- },
45
- tableQueryResult: function (queryBundleRequest, infinite) { return [
46
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(queryBundleRequest.entityId)[0]), { scope: 'tableQueryResult', isInfinite: infinite, tableQueryBundleRequest: queryBundleRequest }),
47
- ]; },
48
- tableQueryResultWithAsyncStatus: function (queryBundleRequest, infinite) { return [
49
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(queryBundleRequest.entityId)[0]), { scope: 'tableQueryResultWithAsyncStatus', isInfinite: infinite, tableQueryBundleRequest: queryBundleRequest }),
50
- ]; },
51
- fullTableQueryResult: function (queryBundleRequest) { return [
52
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(queryBundleRequest.entityId)[0]), { scope: 'fullTableQueryResult', tableQueryBundleRequest: queryBundleRequest }),
53
- ]; },
54
- boundJSONSchema: function (id) { return [
55
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { scope: 'boundJSONSchema' }),
56
- ]; },
57
- schemaValidationResults: function (id) { return [
58
- tslib_1.__assign(tslib_1.__assign({}, exports.entityQueryKeys.entity(id)[0]), { scope: 'schemaValidationResults' }),
59
- ]; },
60
- };
61
- function invalidateAllQueriesForEntity(queryClient, id) {
62
- // TODO: Figure out how to handle cases where the change can affect other entities.
63
- // Some examples:
64
- // - deleting an entity should invalidate the parent's children
65
- // - moving an entity should invalidate the old and new parent's children
66
- return queryClient.invalidateQueries(exports.entityQueryKeys.entity(id));
67
- }
68
- exports.invalidateAllQueriesForEntity = invalidateAllQueriesForEntity;
69
- //# sourceMappingURL=queryKeys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryKeys.js","sourceRoot":"","sources":["../../../../../src/lib/utils/hooks/SynapseAPI/entity/queryKeys.ts"],"names":[],"mappings":";;;;AAOA;;;;;;GAMG;AACU,QAAA,eAAe,GAAG;IAC7B,iCAAiC;IACjC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC/B,qBAAqB;IACrB,MAAM,EAAE,UAAC,EAAU,IAAK,OAAA,uCAAM,uBAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAE,EAAE,EAAE,EAAE,IAAG,EAAvC,CAAuC;IAC/D,6CAA6C;IAC7C,OAAO,EAAE,UAAC,EAAU,EAAE,aAA+B,IAAK,OAAA;8CAEnD,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAChC,aAAa,EAAE,aAAa;KAE/B,EALyD,CAKzD;IAED,0BAA0B;IAC1B,QAAQ,EAAE,UAAC,EAAU,IAAK,OAAA;8CAEnB,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAChC,KAAK,EAAE,UAAU;KAEpB,EALyB,CAKzB;IACD,aAAa,EAAE,UAAC,EAAU,EAAE,KAAa,EAAE,MAAc,IAAK,OAAA;8CAEvD,uBAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAClC,YAAY,EAAE;gBACZ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;KAEJ,EAR6D,CAQ7D;IAED,mCAAmC;IACnC,IAAI,EAAE,UAAC,EAAU,IAAK,OAAA,uCAAM,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAE,KAAK,EAAE,MAAM,IAAG,EAArD,CAAqD;IAE3E,cAAc;IACd,IAAI,EAAE,UAAC,EAAU,IAAK,OAAA,uCAAM,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAE,KAAK,EAAE,MAAM,IAAG,EAArD,CAAqD;IAE3E,gBAAgB;IAChB,MAAM,EAAE,UACN,EAAU,EACV,aAA0C,EAC1C,aAAkC,IAC/B,OAAA;8CAEE,uBAAe,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KAChD,KAAK,EAAE,cAAc,EACrB,mBAAmB,EAAE,aAAa;KAErC,EANI,CAMJ;IAED,QAAQ,EAAE,UAAC,OAA8B,EAAE,QAAiB;;QAAK,OAAA;kDAE1D,uBAAe,CAAC,MAAM,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KACxD,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,QAAQ,EACpB,qBAAqB,EAAE,OAAO;SAEjC,CAAA;KAAA;IAED,gBAAgB,EAAE,UAChB,kBAAsC,EACtC,QAAiB,IACd,OAAA;8CAEE,uBAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KACzD,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,QAAQ,EACpB,uBAAuB,EAAE,kBAAkB;KAE9C,EAPI,CAOJ;IAED,+BAA+B,EAAE,UAC/B,kBAAsC,EACtC,QAAiB,IACd,OAAA;8CAEE,uBAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KACzD,KAAK,EAAE,iCAAiC,EACxC,UAAU,EAAE,QAAQ,EACpB,uBAAuB,EAAE,kBAAkB;KAE9C,EAPI,CAOJ;IAED,oBAAoB,EAAE,UAAC,kBAAsC,IAAK,OAAA;8CAE3D,uBAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KACzD,KAAK,EAAE,sBAAsB,EAC7B,uBAAuB,EAAE,kBAAkB;KAE9C,EANiE,CAMjE;IAED,eAAe,EAAE,UAAC,EAAU,IAAK,OAAA;8CAE1B,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAChC,KAAK,EAAE,iBAAiB;KAE3B,EALgC,CAKhC;IAED,uBAAuB,EAAE,UAAC,EAAU,IAAK,OAAA;8CAElC,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAChC,KAAK,EAAE,yBAAyB;KAEnC,EALwC,CAKxC;CACF,CAAA;AAED,SAAgB,6BAA6B,CAC3C,WAAwB,EACxB,EAAU;IAEV,mFAAmF;IACnF,iBAAiB;IACjB,gEAAgE;IAChE,0EAA0E;IAC1E,OAAO,WAAW,CAAC,iBAAiB,CAAC,uBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAClE,CAAC;AATD,sEASC"}