synapse-react-client 4.0.5 → 4.0.6-SWC-7803

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 (115) hide show
  1. package/dist/SWC.index.d.ts +2 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +45 -39
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/assets/DefaultColorfulPortalCardBackground.svg +50 -12
  6. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js +4 -4
  7. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js.map +1 -1
  8. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts +2 -1
  9. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts.map +1 -1
  10. package/dist/components/CreateProjectModal/CreateProjectModal.js +35 -30
  11. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  12. package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
  13. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  14. package/dist/components/DataGrid/DataGridWebSocket.js +47 -37
  15. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  16. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  17. package/dist/components/DataGrid/SynapseGrid.js +193 -152
  18. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  19. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +6 -1
  20. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  21. package/dist/components/DataGrid/useDataGridWebsocket.js +78 -69
  22. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  23. package/dist/components/SynapseTable/SynapseTable.d.ts +6 -1
  24. package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
  25. package/dist/components/SynapseTable/SynapseTable.js +123 -93
  26. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  27. package/dist/components/TextField/TextField.css +1 -0
  28. package/dist/components/TextField/TextField.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts.map +1 -1
  30. package/dist/components/TextField/TextField.js +30 -28
  31. package/dist/components/TextField/TextField.js.map +1 -1
  32. package/dist/components/TextField/TextField.module.scss +18 -0
  33. package/dist/components/TextField/TextField.module.scss.js +12 -0
  34. package/dist/components/TextField/TextField.module.scss.js.map +1 -0
  35. package/dist/components/styled/HoverPopover.css +1 -1
  36. package/dist/components/styled/HoverPopover.d.ts.map +1 -1
  37. package/dist/components/styled/HoverPopover.js +6 -5
  38. package/dist/components/styled/HoverPopover.js.map +1 -1
  39. package/dist/components/styled/HoverPopover.module.scss +2 -1
  40. package/dist/components/styled/HoverPopover.module.scss.js +1 -1
  41. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +5 -2
  42. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  43. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +46 -33
  44. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  45. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  46. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +52 -27
  47. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  48. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts +7 -0
  49. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -0
  50. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +323 -0
  51. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -0
  52. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts +7 -1
  53. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts.map +1 -1
  54. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js +7 -7
  55. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  56. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts +9 -5
  57. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
  58. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +79 -16
  59. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  60. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts +12 -0
  61. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -0
  62. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +20 -0
  63. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -0
  64. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts +3 -3
  65. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  66. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +54 -41
  67. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  68. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
  69. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  70. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +11 -4
  71. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  72. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts +3 -0
  73. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts.map +1 -0
  74. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js +7 -0
  75. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -0
  76. package/dist/mocks/curation/mockCurationTask.d.ts +10 -0
  77. package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -0
  78. package/dist/mocks/curation/mockCurationTask.js +24 -0
  79. package/dist/mocks/curation/mockCurationTask.js.map +1 -0
  80. package/dist/synapse-queries/KeyFactory.d.ts +8 -3
  81. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  82. package/dist/synapse-queries/KeyFactory.js +22 -7
  83. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  84. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +6 -3
  85. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  86. package/dist/synapse-queries/curation/task/useCurationTask.js +62 -18
  87. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  88. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
  89. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
  90. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  91. package/dist/synapse-queries/grid/useGridSession.d.ts +17 -2
  92. package/dist/synapse-queries/grid/useGridSession.d.ts.map +1 -1
  93. package/dist/synapse-queries/grid/useGridSession.js +63 -30
  94. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  95. package/dist/synapse-queries/index.js +103 -99
  96. package/dist/synapse-queries/team/index.js +18 -15
  97. package/dist/synapse-queries/team/useTeamMembers.d.ts +34 -0
  98. package/dist/synapse-queries/team/useTeamMembers.d.ts.map +1 -1
  99. package/dist/synapse-queries/team/useTeamMembers.js +110 -69
  100. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  101. package/dist/synapse-queries/types.d.ts +13 -0
  102. package/dist/synapse-queries/types.d.ts.map +1 -0
  103. package/dist/synapse-queries/types.js +2 -0
  104. package/dist/synapse-queries/types.js.map +1 -0
  105. package/dist/synapse-queries/user/index.js +12 -11
  106. package/dist/synapse-queries/user/useUserGroupHeader.d.ts +5 -0
  107. package/dist/synapse-queries/user/useUserGroupHeader.d.ts.map +1 -1
  108. package/dist/synapse-queries/user/useUserGroupHeader.js +28 -21
  109. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/dist/utils/hooks/useOverlay.d.ts +2 -2
  112. package/dist/utils/hooks/useOverlay.d.ts.map +1 -1
  113. package/dist/utils/hooks/useOverlay.js +41 -41
  114. package/dist/utils/hooks/useOverlay.js.map +1 -1
  115. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useUserGroupHeader.js","sources":["../../../src/synapse-queries/user/useUserGroupHeader.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { TYPE_FILTER, UserGroupHeader } from '@sage-bionetworks/synapse-types'\nimport {\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\n/**\n * Get a single UserGroupHeader, utilizing a react-query cache. This is always an unauthenticated call\n * (the user's current email address will never be returned in the result).\n * @param principalId\n * @param options\n * @returns\n */\nexport function useGetUserGroupHeader(\n principalId: string,\n options?: Partial<UseQueryOptions<UserGroupHeader, SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n const queryKey = keyFactory.getUserGroupHeaderQueryKey(principalId)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const responsePage = await SynapseClient.getGroupHeadersBatch(\n [principalId],\n accessToken,\n )\n if (responsePage.children.length !== 1) {\n throw new Error(\n `Expected one response in useGetUserGroupHeader for id: ${principalId}, got ${responsePage.children.length}`,\n )\n }\n return responsePage.children[0]\n },\n })\n}\n\n/**\n * Get an array of UserGroupHeaders, utilizing a react-query cache. This is always an unauthenticated call\n * (the users current email addresses will never be returned in the result).\n * @param principalIds\n * @param options\n * @returns\n */\nexport function useGetUserGroupHeaders(\n principalIds: string[],\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const queryKey = keyFactory.getUserGroupHeaderBatchQueryKey(principalIds)\n const queryFn = async () => {\n const response = await SynapseClient.getGroupHeadersBatch(\n principalIds,\n accessToken,\n )\n\n // Update the cache with each individual header\n response.children.forEach(userGroupHeader => {\n queryClient.setQueryData(\n keyFactory.getUserGroupHeaderQueryKey(userGroupHeader.ownerId),\n userGroupHeader,\n )\n })\n\n return response.children\n }\n\n return useQuery<UserGroupHeader[], SynapseClientError>({\n ...options,\n queryKey,\n queryFn,\n })\n}\n\nexport function useSearchUserGroupHeaders(\n prefix: string,\n filter?: TYPE_FILTER,\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n const queryKey = keyFactory.getUserGroupHeaderSearchQueryKey(prefix, filter)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const responsePage = await SynapseClient.getUserGroupHeaders(\n prefix,\n filter,\n undefined,\n undefined,\n accessToken,\n )\n return responsePage.children\n },\n })\n}\n\nexport function useGetUserGroupHeaderWithAlias(\n aliases: string[],\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n\n const queryKey = keyFactory.getUserGroupHeaderWithAliasQueryKey(aliases)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const response = await SynapseClient.postUserGroupHeadersWithAlias(\n aliases,\n accessToken,\n )\n return response.list\n },\n })\n}\n"],"names":["useGetUserGroupHeader","principalId","options","keyFactory","accessToken","useSynapseContext","queryKey","useQuery","responsePage","SynapseClient","useGetUserGroupHeaders","principalIds","queryClient","useQueryClient","response","userGroupHeader","useSearchUserGroupHeaders","prefix","filter","useGetUserGroupHeaderWithAlias","aliases"],"mappings":";;;;;;;;;;;AAiBO,SAASA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,YAAAC,GAAY,aAAAC,EAAA,IAAgBC,EAAA,GAC9BC,IAAWH,EAAW,2BAA2BF,CAAW;AAElE,SAAOM,EAAS;AAAA,IACd,GAAGL;AAAA,IACH,UAAAI;AAAA,IACA,SAAS,YAAY;AACnB,YAAME,IAAe,MAAMC,EAAc;AAAA,QACvC,CAACR,CAAW;AAAA,QACZG;AAAA,MAAA;AAEF,UAAII,EAAa,SAAS,WAAW;AACnC,cAAM,IAAI;AAAA,UACR,0DAA0DP,CAAW,SAASO,EAAa,SAAS,MAAM;AAAA,QAAA;AAG9G,aAAOA,EAAa,SAAS,CAAC;AAAA,IAChC;AAAA,EAAA,CACD;AACH;AASO,SAASE,EACdC,GACAT,GACA;AACA,QAAM,EAAE,YAAAC,GAAY,aAAAC,EAAA,IAAgBC,EAAA,GAC9BO,IAAcC,EAAA,GACdP,IAAWH,EAAW,gCAAgCQ,CAAY;AAkBxE,SAAOJ,EAAgD;AAAA,IACrD,GAAGL;AAAA,IACH,UAAAI;AAAA,IACA,SApBc,YAAY;AAC1B,YAAMQ,IAAW,MAAML,EAAc;AAAA,QACnCE;AAAA,QACAP;AAAA,MAAA;AAIF,aAAAU,EAAS,SAAS,QAAQ,CAAAC,MAAmB;AAC3C,QAAAH,EAAY;AAAA,UACVT,EAAW,2BAA2BY,EAAgB,OAAO;AAAA,UAC7DA;AAAA,QAAA;AAAA,MAEJ,CAAC,GAEMD,EAAS;AAAA,IAClB;AAAA,EAKE,CACD;AACH;AAEO,SAASE,EACdC,GACAC,GACAhB,GACA;AACA,QAAM,EAAE,YAAAC,GAAY,aAAAC,EAAA,IAAgBC,EAAA,GAC9BC,IAAWH,EAAW,iCAAiCc,GAAQC,CAAM;AAE3E,SAAOX,EAAS;AAAA,IACd,GAAGL;AAAA,IACH,UAAAI;AAAA,IACA,SAAS,aACc,MAAMG,EAAc;AAAA,MACvCQ;AAAA,MACAC;AAAA,MACA;AAAA,MACA;AAAA,MACAd;AAAA,IAAA,GAEkB;AAAA,EACtB,CACD;AACH;AAEO,SAASe,EACdC,GACAlB,GACA;AACA,QAAM,EAAE,YAAAC,GAAY,aAAAC,EAAA,IAAgBC,EAAA,GAE9BC,IAAWH,EAAW,oCAAoCiB,CAAO;AAEvE,SAAOb,EAAS;AAAA,IACd,GAAGL;AAAA,IACH,UAAAI;AAAA,IACA,SAAS,aACU,MAAMG,EAAc;AAAA,MACnCW;AAAA,MACAhB;AAAA,IAAA,GAEc;AAAA,EAClB,CACD;AACH;"}
1
+ {"version":3,"file":"useUserGroupHeader.js","sources":["../../../src/synapse-queries/user/useUserGroupHeader.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { TYPE_FILTER, UserGroupHeader } from '@sage-bionetworks/synapse-types'\nimport {\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { SynapseQueriesContext } from '../types'\n\nexport function getUserGroupHeaderQuery(\n principalId: string,\n context: SynapseQueriesContext,\n) {\n const { accessToken, keyFactory } = context\n return {\n queryKey: keyFactory.getUserGroupHeaderQueryKey(principalId),\n queryFn: async () => {\n const responsePage = await SynapseClient.getGroupHeadersBatch(\n [principalId],\n accessToken,\n )\n if (responsePage.children.length !== 1) {\n throw new Error(\n `Expected one response in getUserGroupHeaderQuery for id: ${principalId}, got ${responsePage.children.length}`,\n )\n }\n return responsePage.children[0]\n },\n }\n}\n\n/**\n * Get a single UserGroupHeader, utilizing a react-query cache. This is always an unauthenticated call\n * (the user's current email address will never be returned in the result).\n * @param principalId\n * @param options\n * @returns\n */\nexport function useGetUserGroupHeader(\n principalId: string,\n options?: Partial<UseQueryOptions<UserGroupHeader, SynapseClientError>>,\n) {\n const synapseContext = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useQuery({\n ...options,\n ...getUserGroupHeaderQuery(principalId, { ...synapseContext, queryClient }),\n })\n}\n\n/**\n * Get an array of UserGroupHeaders, utilizing a react-query cache. This is always an unauthenticated call\n * (the users current email addresses will never be returned in the result).\n * @param principalIds\n * @param options\n * @returns\n */\nexport function useGetUserGroupHeaders(\n principalIds: string[],\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const queryKey = keyFactory.getUserGroupHeaderBatchQueryKey(principalIds)\n const queryFn = async () => {\n const response = await SynapseClient.getGroupHeadersBatch(\n principalIds,\n accessToken,\n )\n\n // Update the cache with each individual header\n response.children.forEach(userGroupHeader => {\n queryClient.setQueryData(\n keyFactory.getUserGroupHeaderQueryKey(userGroupHeader.ownerId),\n userGroupHeader,\n )\n })\n\n return response.children\n }\n\n return useQuery<UserGroupHeader[], SynapseClientError>({\n ...options,\n queryKey,\n queryFn,\n })\n}\n\nexport function useSearchUserGroupHeaders(\n prefix: string,\n filter?: TYPE_FILTER,\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n const queryKey = keyFactory.getUserGroupHeaderSearchQueryKey(prefix, filter)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const responsePage = await SynapseClient.getUserGroupHeaders(\n prefix,\n filter,\n undefined,\n undefined,\n accessToken,\n )\n return responsePage.children\n },\n })\n}\n\nexport function useGetUserGroupHeaderWithAlias(\n aliases: string[],\n options?: Partial<UseQueryOptions<UserGroupHeader[], SynapseClientError>>,\n) {\n const { keyFactory, accessToken } = useSynapseContext()\n\n const queryKey = keyFactory.getUserGroupHeaderWithAliasQueryKey(aliases)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const response = await SynapseClient.postUserGroupHeadersWithAlias(\n aliases,\n accessToken,\n )\n return response.list\n },\n })\n}\n"],"names":["getUserGroupHeaderQuery","principalId","context","accessToken","keyFactory","responsePage","SynapseClient","useGetUserGroupHeader","options","synapseContext","useSynapseContext","useQueryClient","useQuery","useGetUserGroupHeaders","principalIds","queryClient","queryKey","response","userGroupHeader","useSearchUserGroupHeaders","prefix","filter","useGetUserGroupHeaderWithAlias","aliases"],"mappings":";;;;;;;;;;;AAWO,SAASA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeF;AACpC,SAAO;AAAA,IACL,UAAUE,EAAW,2BAA2BH,CAAW;AAAA,IAC3D,SAAS,YAAY;AACnB,YAAMI,IAAe,MAAMC,EAAc;AAAA,QACvC,CAACL,CAAW;AAAA,QACZE;AAAA,MAAA;AAEF,UAAIE,EAAa,SAAS,WAAW;AACnC,cAAM,IAAI;AAAA,UACR,4DAA4DJ,CAAW,SAASI,EAAa,SAAS,MAAM;AAAA,QAAA;AAGhH,aAAOA,EAAa,SAAS,CAAC;AAAA,IAChC;AAAA,EAAA;AAEJ;AASO,SAASE,EACdN,GACAO,GACA;AACA,QAAMC,IAAiBC,EAAA;AACH,SAAAC,EAAA,GAEbC,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,GAAGR,EAAwBC,GAAa,EAAE,GAAGQ,EAA4B,CAAC;AAAA,EAAA,CAC3E;AACH;AASO,SAASI,EACdC,GACAN,GACA;AACA,QAAM,EAAE,YAAAJ,GAAY,aAAAD,EAAA,IAAgBO,EAAA,GAC9BK,IAAcJ,EAAA,GACdK,IAAWZ,EAAW,gCAAgCU,CAAY;AAkBxE,SAAOF,EAAgD;AAAA,IACrD,GAAGJ;AAAA,IACH,UAAAQ;AAAA,IACA,SApBc,YAAY;AAC1B,YAAMC,IAAW,MAAMX,EAAc;AAAA,QACnCQ;AAAA,QACAX;AAAA,MAAA;AAIF,aAAAc,EAAS,SAAS,QAAQ,CAAAC,MAAmB;AAC3C,QAAAH,EAAY;AAAA,UACVX,EAAW,2BAA2Bc,EAAgB,OAAO;AAAA,UAC7DA;AAAA,QAAA;AAAA,MAEJ,CAAC,GAEMD,EAAS;AAAA,IAClB;AAAA,EAKE,CACD;AACH;AAEO,SAASE,EACdC,GACAC,GACAb,GACA;AACA,QAAM,EAAE,YAAAJ,GAAY,aAAAD,EAAA,IAAgBO,EAAA,GAC9BM,IAAWZ,EAAW,iCAAiCgB,GAAQC,CAAM;AAE3E,SAAOT,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAQ;AAAA,IACA,SAAS,aACc,MAAMV,EAAc;AAAA,MACvCc;AAAA,MACAC;AAAA,MACA;AAAA,MACA;AAAA,MACAlB;AAAA,IAAA,GAEkB;AAAA,EACtB,CACD;AACH;AAEO,SAASmB,EACdC,GACAf,GACA;AACA,QAAM,EAAE,YAAAJ,GAAY,aAAAD,EAAA,IAAgBO,EAAA,GAE9BM,IAAWZ,EAAW,oCAAoCmB,CAAO;AAEvE,SAAOX,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAQ;AAAA,IACA,SAAS,aACU,MAAMV,EAAc;AAAA,MACnCiB;AAAA,MACApB;AAAA,IAAA,GAEc;AAAA,EAClB,CACD;AACH;"}