@sanity/cli 6.0.0-alpha.20 → 6.0.0-alpha.21

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 (227) hide show
  1. package/README.md +405 -225
  2. package/dist/actions/auth/authServer.js +13 -11
  3. package/dist/actions/auth/authServer.js.map +1 -1
  4. package/dist/actions/auth/login/getProvider.js +43 -39
  5. package/dist/actions/auth/login/getProvider.js.map +1 -1
  6. package/dist/actions/auth/login/getSSOProvider.js +25 -19
  7. package/dist/actions/auth/login/getSSOProvider.js.map +1 -1
  8. package/dist/actions/auth/login/login.js +12 -33
  9. package/dist/actions/auth/login/login.js.map +1 -1
  10. package/dist/actions/auth/types.js.map +1 -1
  11. package/dist/actions/codemods/reactIconsV3.js +2 -2
  12. package/dist/actions/codemods/reactIconsV3.js.map +1 -1
  13. package/dist/actions/debug/formatters.js +22 -0
  14. package/dist/actions/debug/formatters.js.map +1 -0
  15. package/dist/actions/dev/getDashboardAppUrl.js +3 -3
  16. package/dist/actions/dev/getDashboardAppUrl.js.map +1 -1
  17. package/dist/actions/documents/validateDocuments.worker.js +2 -2
  18. package/dist/actions/documents/validateDocuments.worker.js.map +1 -1
  19. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +1 -1
  20. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -1
  21. package/dist/actions/documents/validation/reporters/prettyReporter/tree.js +108 -0
  22. package/dist/actions/documents/validation/reporters/prettyReporter/tree.js.map +1 -0
  23. package/dist/actions/graphql/SchemaError.js +4 -26
  24. package/dist/actions/graphql/SchemaError.js.map +1 -1
  25. package/dist/actions/graphql/extractFromSanitySchema.js +3 -4
  26. package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -1
  27. package/dist/actions/graphql/extractGraphQLAPIs.js +150 -0
  28. package/dist/actions/graphql/extractGraphQLAPIs.js.map +1 -0
  29. package/dist/actions/graphql/extractGraphQLAPIs.worker.js +12 -0
  30. package/dist/actions/graphql/extractGraphQLAPIs.worker.js.map +1 -0
  31. package/dist/actions/graphql/gen1/index.js +5 -5
  32. package/dist/actions/graphql/gen1/index.js.map +1 -1
  33. package/dist/actions/graphql/gen2/index.js +6 -6
  34. package/dist/actions/graphql/gen2/index.js.map +1 -1
  35. package/dist/actions/graphql/gen3/generateTypeQueries.js +2 -3
  36. package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -1
  37. package/dist/actions/graphql/gen3/index.js +6 -7
  38. package/dist/actions/graphql/gen3/index.js.map +1 -1
  39. package/dist/actions/graphql/getGraphQLAPIs.js +12 -35
  40. package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -1
  41. package/dist/actions/graphql/getGraphQLAPIs.worker.js +75 -106
  42. package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -1
  43. package/dist/actions/graphql/helpers.js +13 -0
  44. package/dist/actions/graphql/helpers.js.map +1 -1
  45. package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js +187 -0
  46. package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js.map +1 -0
  47. package/dist/actions/graphql/types.js +1 -1
  48. package/dist/actions/graphql/types.js.map +1 -1
  49. package/dist/actions/init/bootstrapLocalTemplate.js +2 -1
  50. package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -1
  51. package/dist/actions/init/bootstrapRemoteTemplate.js +6 -5
  52. package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -1
  53. package/dist/actions/init/createPackageManifest.js +5 -0
  54. package/dist/actions/init/createPackageManifest.js.map +1 -1
  55. package/dist/actions/init/templates/appQuickstart.js +2 -1
  56. package/dist/actions/init/templates/appQuickstart.js.map +1 -1
  57. package/dist/actions/init/templates/appSanityUi.js +2 -1
  58. package/dist/actions/init/templates/appSanityUi.js.map +1 -1
  59. package/dist/actions/init/types.js.map +1 -1
  60. package/dist/actions/media/importMedia.js +1 -2
  61. package/dist/actions/media/importMedia.js.map +1 -1
  62. package/dist/actions/projects/getManageUrl.js +1 -2
  63. package/dist/actions/projects/getManageUrl.js.map +1 -1
  64. package/dist/actions/schema/validateSchema.worker.js +1 -3
  65. package/dist/actions/schema/validateSchema.worker.js.map +1 -1
  66. package/dist/actions/telemetry/isTrueish.js +10 -0
  67. package/dist/actions/telemetry/isTrueish.js.map +1 -0
  68. package/dist/actions/telemetry/resolveConsent.js +2 -1
  69. package/dist/actions/telemetry/resolveConsent.js.map +1 -1
  70. package/dist/actions/telemetry/setConsent.js +2 -1
  71. package/dist/actions/telemetry/setConsent.js.map +1 -1
  72. package/dist/actions/versions/findSanityModulesVersions.js +1 -2
  73. package/dist/actions/versions/findSanityModulesVersions.js.map +1 -1
  74. package/dist/commands/backup/disable.js +21 -1
  75. package/dist/commands/backup/disable.js.map +1 -1
  76. package/dist/commands/backup/download.js +18 -4
  77. package/dist/commands/backup/download.js.map +1 -1
  78. package/dist/commands/backup/enable.js +21 -1
  79. package/dist/commands/backup/enable.js.map +1 -1
  80. package/dist/commands/backup/list.js +15 -1
  81. package/dist/commands/backup/list.js.map +1 -1
  82. package/dist/commands/cors/add.js +19 -1
  83. package/dist/commands/cors/add.js.map +1 -1
  84. package/dist/commands/cors/delete.js +21 -1
  85. package/dist/commands/cors/delete.js.map +1 -1
  86. package/dist/commands/cors/list.js +21 -1
  87. package/dist/commands/cors/list.js.map +1 -1
  88. package/dist/commands/dataset/alias/create.js +4 -2
  89. package/dist/commands/dataset/alias/create.js.map +1 -1
  90. package/dist/commands/dataset/alias/delete.js +4 -2
  91. package/dist/commands/dataset/alias/delete.js.map +1 -1
  92. package/dist/commands/dataset/alias/link.js +4 -2
  93. package/dist/commands/dataset/alias/link.js.map +1 -1
  94. package/dist/commands/dataset/alias/unlink.js +4 -2
  95. package/dist/commands/dataset/alias/unlink.js.map +1 -1
  96. package/dist/commands/dataset/copy.js +4 -2
  97. package/dist/commands/dataset/copy.js.map +1 -1
  98. package/dist/commands/dataset/create.js +4 -2
  99. package/dist/commands/dataset/create.js.map +1 -1
  100. package/dist/commands/dataset/delete.js +4 -2
  101. package/dist/commands/dataset/delete.js.map +1 -1
  102. package/dist/commands/dataset/embeddings/disable.js +4 -2
  103. package/dist/commands/dataset/embeddings/disable.js.map +1 -1
  104. package/dist/commands/dataset/embeddings/enable.js +6 -4
  105. package/dist/commands/dataset/embeddings/enable.js.map +1 -1
  106. package/dist/commands/dataset/embeddings/status.js +4 -2
  107. package/dist/commands/dataset/embeddings/status.js.map +1 -1
  108. package/dist/commands/dataset/export.js +7 -11
  109. package/dist/commands/dataset/export.js.map +1 -1
  110. package/dist/commands/dataset/list.js +4 -2
  111. package/dist/commands/dataset/list.js.map +1 -1
  112. package/dist/commands/dataset/visibility/get.js +4 -2
  113. package/dist/commands/dataset/visibility/get.js.map +1 -1
  114. package/dist/commands/dataset/visibility/set.js +4 -2
  115. package/dist/commands/dataset/visibility/set.js.map +1 -1
  116. package/dist/commands/debug.js +2 -1
  117. package/dist/commands/debug.js.map +1 -1
  118. package/dist/commands/documents/create.js +15 -5
  119. package/dist/commands/documents/create.js.map +1 -1
  120. package/dist/commands/documents/delete.js +17 -6
  121. package/dist/commands/documents/delete.js.map +1 -1
  122. package/dist/commands/documents/get.js +15 -6
  123. package/dist/commands/documents/get.js.map +1 -1
  124. package/dist/commands/documents/query.js +24 -12
  125. package/dist/commands/documents/query.js.map +1 -1
  126. package/dist/commands/documents/validate.js +29 -9
  127. package/dist/commands/documents/validate.js.map +1 -1
  128. package/dist/commands/graphql/deploy.js +55 -28
  129. package/dist/commands/graphql/deploy.js.map +1 -1
  130. package/dist/commands/graphql/list.js +14 -1
  131. package/dist/commands/graphql/list.js.map +1 -1
  132. package/dist/commands/graphql/undeploy.js +36 -14
  133. package/dist/commands/graphql/undeploy.js.map +1 -1
  134. package/dist/commands/hook/attempt.js +21 -1
  135. package/dist/commands/hook/attempt.js.map +1 -1
  136. package/dist/commands/hook/create.js +22 -2
  137. package/dist/commands/hook/create.js.map +1 -1
  138. package/dist/commands/hook/delete.js +21 -1
  139. package/dist/commands/hook/delete.js.map +1 -1
  140. package/dist/commands/hook/list.js +21 -1
  141. package/dist/commands/hook/list.js.map +1 -1
  142. package/dist/commands/hook/logs.js +19 -1
  143. package/dist/commands/hook/logs.js.map +1 -1
  144. package/dist/commands/init.js +13 -6
  145. package/dist/commands/init.js.map +1 -1
  146. package/dist/commands/login.js +13 -6
  147. package/dist/commands/login.js.map +1 -1
  148. package/dist/commands/logout.js +8 -6
  149. package/dist/commands/logout.js.map +1 -1
  150. package/dist/commands/media/create-aspect.js +3 -3
  151. package/dist/commands/media/create-aspect.js.map +1 -1
  152. package/dist/commands/media/delete-aspect.js +8 -1
  153. package/dist/commands/media/delete-aspect.js.map +1 -1
  154. package/dist/commands/media/deploy-aspect.js +20 -3
  155. package/dist/commands/media/deploy-aspect.js.map +1 -1
  156. package/dist/commands/media/export.js +8 -1
  157. package/dist/commands/media/export.js.map +1 -1
  158. package/dist/commands/media/import.js +9 -2
  159. package/dist/commands/media/import.js.map +1 -1
  160. package/dist/commands/schema/delete.js +19 -6
  161. package/dist/commands/schema/delete.js.map +1 -1
  162. package/dist/commands/schema/deploy.js +8 -2
  163. package/dist/commands/schema/deploy.js.map +1 -1
  164. package/dist/commands/tokens/add.js +23 -1
  165. package/dist/commands/tokens/add.js.map +1 -1
  166. package/dist/commands/tokens/delete.js +19 -1
  167. package/dist/commands/tokens/delete.js.map +1 -1
  168. package/dist/commands/tokens/list.js +19 -1
  169. package/dist/commands/tokens/list.js.map +1 -1
  170. package/dist/commands/users/invite.js +23 -1
  171. package/dist/commands/users/invite.js.map +1 -1
  172. package/dist/commands/users/list.js +23 -1
  173. package/dist/commands/users/list.js.map +1 -1
  174. package/dist/hooks/prerun/flushTelemetry.worker.js +1 -1
  175. package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -1
  176. package/dist/hooks/prerun/setupTelemetry.js +2 -1
  177. package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
  178. package/dist/prompts/promptForProject.js.map +1 -1
  179. package/dist/{actions/auth/login/promptProviders.js → prompts/promptForProviders.js} +3 -3
  180. package/dist/prompts/promptForProviders.js.map +1 -0
  181. package/dist/services/auth.js +36 -3
  182. package/dist/services/auth.js.map +1 -1
  183. package/dist/services/docs.js +2 -2
  184. package/dist/services/docs.js.map +1 -1
  185. package/dist/services/getUrlHeaders.js +0 -2
  186. package/dist/services/getUrlHeaders.js.map +1 -1
  187. package/dist/services/projects.js +4 -2
  188. package/dist/services/projects.js.map +1 -1
  189. package/dist/services/telemetry.js +2 -1
  190. package/dist/services/telemetry.js.map +1 -1
  191. package/dist/util/createExpiringConfig.js +64 -0
  192. package/dist/util/createExpiringConfig.js.map +1 -0
  193. package/dist/util/detectFramework.js +135 -0
  194. package/dist/util/detectFramework.js.map +1 -0
  195. package/dist/util/extractDocumentsFromNdjsonOrTarball.js +1 -2
  196. package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -1
  197. package/dist/util/isSchemaError.js +11 -0
  198. package/dist/util/isSchemaError.js.map +1 -0
  199. package/dist/util/isTar.js +8 -0
  200. package/dist/util/isTar.js.map +1 -0
  201. package/dist/util/sharedFlags.js +44 -14
  202. package/dist/util/sharedFlags.js.map +1 -1
  203. package/dist/util/telemetry/cleanupOldTelemetryFiles.js +30 -0
  204. package/dist/util/telemetry/cleanupOldTelemetryFiles.js.map +1 -0
  205. package/dist/util/telemetry/createTelemetryStore.js +95 -0
  206. package/dist/util/telemetry/createTelemetryStore.js.map +1 -0
  207. package/dist/util/telemetry/createTraceId.js +10 -0
  208. package/dist/util/telemetry/createTraceId.js.map +1 -0
  209. package/dist/util/telemetry/findTelemetryFiles.js +35 -0
  210. package/dist/util/telemetry/findTelemetryFiles.js.map +1 -0
  211. package/dist/util/telemetry/flushTelemetryFiles.js +118 -0
  212. package/dist/util/telemetry/flushTelemetryFiles.js.map +1 -0
  213. package/dist/util/telemetry/generateTelemetryFilePath.js +30 -0
  214. package/dist/util/telemetry/generateTelemetryFilePath.js.map +1 -0
  215. package/dist/util/telemetry/logger.js +59 -0
  216. package/dist/util/telemetry/logger.js.map +1 -0
  217. package/dist/util/telemetry/readNDJSON.js +28 -0
  218. package/dist/util/telemetry/readNDJSON.js.map +1 -0
  219. package/dist/util/telemetry/telemetryStoreDebug.js +7 -0
  220. package/dist/util/telemetry/telemetryStoreDebug.js.map +1 -0
  221. package/dist/util/telemetry/trace.js +150 -0
  222. package/dist/util/telemetry/trace.js.map +1 -0
  223. package/dist/util/update/updateChecker.js +2 -1
  224. package/dist/util/update/updateChecker.js.map +1 -1
  225. package/oclif.manifest.json +966 -529
  226. package/package.json +19 -22
  227. package/dist/actions/auth/login/promptProviders.js.map +0 -1
@@ -1,5 +1,6 @@
1
- import { createExpiringConfig, getUserConfig, isCi, subdebug } from '@sanity/cli-core';
1
+ import { getUserConfig, isCi, subdebug } from '@sanity/cli-core';
2
2
  import semver from 'semver';
3
+ import { createExpiringConfig } from '../createExpiringConfig.js';
3
4
  import { fetchLatestVersion } from './fetchLatestVersion.js';
4
5
  import { showUpdateNotification } from './showNotificationUpdate.js';
5
6
  const debug = subdebug('updateChecker');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/util/update/updateChecker.ts"],"sourcesContent":["import {createExpiringConfig, getUserConfig, isCi, subdebug} from '@sanity/cli-core'\nimport semver from 'semver'\n\nimport {fetchLatestVersion} from './fetchLatestVersion.js'\nimport {showUpdateNotification} from './showNotificationUpdate.js'\n\nconst debug = subdebug('updateChecker')\n\nconst TWELVE_HOURS = 12 * 60 * 60 * 1000 // 12 hours\nconst CHECK_TIMEOUT = 300\n\n/**\n * Check for CLI updates and notify the user if a new version is available.\n * This is designed to be non-blocking and will silently fail if anything goes wrong.\n *\n * @param config - The CLI config containing version and name\n */\nexport async function updateChecker(config: {\n name: string\n root: string\n version: string\n}): Promise<void> {\n debug(`Installed CLI version is ${config.version}`)\n // Skip in CI or if disabled\n if (isCi() || process.env.NO_UPDATE_NOTIFIER) {\n debug('Running on CI, or explicitly disabled, skipping update check')\n return\n }\n\n if (!process.stdout.isTTY) {\n return\n }\n\n const store = getUserConfig()\n\n let showNotificationUpdate = true\n\n // Cache for latest version from npm\n const latestVersionCache = createExpiringConfig({\n fetchValue: async () => fetchLatestVersion(config.name, CHECK_TIMEOUT),\n key: 'cliLatestRemoteVersion',\n onCacheHit: () => {\n debug('Less than 12 hours since last check, skipping update check')\n showNotificationUpdate = false\n },\n onFetch: () => debug('Checking for latest remote version'),\n store,\n ttl: TWELVE_HOURS,\n validateValue: (value): value is string => typeof value === 'string',\n })\n\n const latestVersion = await latestVersionCache.get()\n\n if (!latestVersion) {\n debug('No cached latest version result found')\n return\n }\n\n const comparison = semver.compare(latestVersion, config.version)\n\n if (comparison < 0) {\n debug('Remote version older than local')\n return\n }\n\n if (comparison === 0) {\n debug('No update found')\n return\n }\n\n debug('Update is available (%s)', latestVersion)\n\n if (showNotificationUpdate) {\n await showUpdateNotification(config.version, latestVersion)\n }\n}\n"],"names":["createExpiringConfig","getUserConfig","isCi","subdebug","semver","fetchLatestVersion","showUpdateNotification","debug","TWELVE_HOURS","CHECK_TIMEOUT","updateChecker","config","version","process","env","NO_UPDATE_NOTIFIER","stdout","isTTY","store","showNotificationUpdate","latestVersionCache","fetchValue","name","key","onCacheHit","onFetch","ttl","validateValue","value","latestVersion","get","comparison","compare"],"mappings":"AAAA,SAAQA,oBAAoB,EAAEC,aAAa,EAAEC,IAAI,EAAEC,QAAQ,QAAO,mBAAkB;AACpF,OAAOC,YAAY,SAAQ;AAE3B,SAAQC,kBAAkB,QAAO,0BAAyB;AAC1D,SAAQC,sBAAsB,QAAO,8BAA6B;AAElE,MAAMC,QAAQJ,SAAS;AAEvB,MAAMK,eAAe,KAAK,KAAK,KAAK,KAAK,WAAW;;AACpD,MAAMC,gBAAgB;AAEtB;;;;;CAKC,GACD,OAAO,eAAeC,cAAcC,MAInC;IACCJ,MAAM,CAAC,yBAAyB,EAAEI,OAAOC,OAAO,EAAE;IAClD,4BAA4B;IAC5B,IAAIV,UAAUW,QAAQC,GAAG,CAACC,kBAAkB,EAAE;QAC5CR,MAAM;QACN;IACF;IAEA,IAAI,CAACM,QAAQG,MAAM,CAACC,KAAK,EAAE;QACzB;IACF;IAEA,MAAMC,QAAQjB;IAEd,IAAIkB,yBAAyB;IAE7B,oCAAoC;IACpC,MAAMC,qBAAqBpB,qBAAqB;QAC9CqB,YAAY,UAAYhB,mBAAmBM,OAAOW,IAAI,EAAEb;QACxDc,KAAK;QACLC,YAAY;YACVjB,MAAM;YACNY,yBAAyB;QAC3B;QACAM,SAAS,IAAMlB,MAAM;QACrBW;QACAQ,KAAKlB;QACLmB,eAAe,CAACC,QAA2B,OAAOA,UAAU;IAC9D;IAEA,MAAMC,gBAAgB,MAAMT,mBAAmBU,GAAG;IAElD,IAAI,CAACD,eAAe;QAClBtB,MAAM;QACN;IACF;IAEA,MAAMwB,aAAa3B,OAAO4B,OAAO,CAACH,eAAelB,OAAOC,OAAO;IAE/D,IAAImB,aAAa,GAAG;QAClBxB,MAAM;QACN;IACF;IAEA,IAAIwB,eAAe,GAAG;QACpBxB,MAAM;QACN;IACF;IAEAA,MAAM,4BAA4BsB;IAElC,IAAIV,wBAAwB;QAC1B,MAAMb,uBAAuBK,OAAOC,OAAO,EAAEiB;IAC/C;AACF"}
1
+ {"version":3,"sources":["../../../src/util/update/updateChecker.ts"],"sourcesContent":["import {getUserConfig, isCi, subdebug} from '@sanity/cli-core'\nimport semver from 'semver'\n\nimport {createExpiringConfig} from '../createExpiringConfig.js'\nimport {fetchLatestVersion} from './fetchLatestVersion.js'\nimport {showUpdateNotification} from './showNotificationUpdate.js'\n\nconst debug = subdebug('updateChecker')\n\nconst TWELVE_HOURS = 12 * 60 * 60 * 1000 // 12 hours\nconst CHECK_TIMEOUT = 300\n\n/**\n * Check for CLI updates and notify the user if a new version is available.\n * This is designed to be non-blocking and will silently fail if anything goes wrong.\n *\n * @param config - The CLI config containing version and name\n */\nexport async function updateChecker(config: {\n name: string\n root: string\n version: string\n}): Promise<void> {\n debug(`Installed CLI version is ${config.version}`)\n // Skip in CI or if disabled\n if (isCi() || process.env.NO_UPDATE_NOTIFIER) {\n debug('Running on CI, or explicitly disabled, skipping update check')\n return\n }\n\n if (!process.stdout.isTTY) {\n return\n }\n\n const store = getUserConfig()\n\n let showNotificationUpdate = true\n\n // Cache for latest version from npm\n const latestVersionCache = createExpiringConfig({\n fetchValue: async () => fetchLatestVersion(config.name, CHECK_TIMEOUT),\n key: 'cliLatestRemoteVersion',\n onCacheHit: () => {\n debug('Less than 12 hours since last check, skipping update check')\n showNotificationUpdate = false\n },\n onFetch: () => debug('Checking for latest remote version'),\n store,\n ttl: TWELVE_HOURS,\n validateValue: (value): value is string => typeof value === 'string',\n })\n\n const latestVersion = await latestVersionCache.get()\n\n if (!latestVersion) {\n debug('No cached latest version result found')\n return\n }\n\n const comparison = semver.compare(latestVersion, config.version)\n\n if (comparison < 0) {\n debug('Remote version older than local')\n return\n }\n\n if (comparison === 0) {\n debug('No update found')\n return\n }\n\n debug('Update is available (%s)', latestVersion)\n\n if (showNotificationUpdate) {\n await showUpdateNotification(config.version, latestVersion)\n }\n}\n"],"names":["getUserConfig","isCi","subdebug","semver","createExpiringConfig","fetchLatestVersion","showUpdateNotification","debug","TWELVE_HOURS","CHECK_TIMEOUT","updateChecker","config","version","process","env","NO_UPDATE_NOTIFIER","stdout","isTTY","store","showNotificationUpdate","latestVersionCache","fetchValue","name","key","onCacheHit","onFetch","ttl","validateValue","value","latestVersion","get","comparison","compare"],"mappings":"AAAA,SAAQA,aAAa,EAAEC,IAAI,EAAEC,QAAQ,QAAO,mBAAkB;AAC9D,OAAOC,YAAY,SAAQ;AAE3B,SAAQC,oBAAoB,QAAO,6BAA4B;AAC/D,SAAQC,kBAAkB,QAAO,0BAAyB;AAC1D,SAAQC,sBAAsB,QAAO,8BAA6B;AAElE,MAAMC,QAAQL,SAAS;AAEvB,MAAMM,eAAe,KAAK,KAAK,KAAK,KAAK,WAAW;;AACpD,MAAMC,gBAAgB;AAEtB;;;;;CAKC,GACD,OAAO,eAAeC,cAAcC,MAInC;IACCJ,MAAM,CAAC,yBAAyB,EAAEI,OAAOC,OAAO,EAAE;IAClD,4BAA4B;IAC5B,IAAIX,UAAUY,QAAQC,GAAG,CAACC,kBAAkB,EAAE;QAC5CR,MAAM;QACN;IACF;IAEA,IAAI,CAACM,QAAQG,MAAM,CAACC,KAAK,EAAE;QACzB;IACF;IAEA,MAAMC,QAAQlB;IAEd,IAAImB,yBAAyB;IAE7B,oCAAoC;IACpC,MAAMC,qBAAqBhB,qBAAqB;QAC9CiB,YAAY,UAAYhB,mBAAmBM,OAAOW,IAAI,EAAEb;QACxDc,KAAK;QACLC,YAAY;YACVjB,MAAM;YACNY,yBAAyB;QAC3B;QACAM,SAAS,IAAMlB,MAAM;QACrBW;QACAQ,KAAKlB;QACLmB,eAAe,CAACC,QAA2B,OAAOA,UAAU;IAC9D;IAEA,MAAMC,gBAAgB,MAAMT,mBAAmBU,GAAG;IAElD,IAAI,CAACD,eAAe;QAClBtB,MAAM;QACN;IACF;IAEA,MAAMwB,aAAa5B,OAAO6B,OAAO,CAACH,eAAelB,OAAOC,OAAO;IAE/D,IAAImB,aAAa,GAAG;QAClBxB,MAAM;QACN;IACF;IAEA,IAAIwB,eAAe,GAAG;QACpBxB,MAAM;QACN;IACF;IAEAA,MAAM,4BAA4BsB;IAElC,IAAIV,wBAAwB;QAC1B,MAAMb,uBAAuBK,OAAOC,OAAO,EAAEiB;IAC/C;AACF"}