@loomhq/lens 12.17.1 → 12.18.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 (33) hide show
  1. package/README.md +39 -3
  2. package/dist/cjs/icons/index.js +224 -204
  3. package/dist/cjs/icons/index.js.map +4 -4
  4. package/dist/cjs/icons/playlist.js +52 -0
  5. package/dist/cjs/icons/playlist.js.map +7 -0
  6. package/dist/cjs/index.js +979 -879
  7. package/dist/cjs/index.js.map +4 -4
  8. package/dist/esm/icons/chunk-DNFVTET2.js +23 -0
  9. package/dist/esm/icons/chunk-DNFVTET2.js.map +7 -0
  10. package/dist/esm/icons/index.js +33 -29
  11. package/dist/esm/icons/playlist.js +8 -0
  12. package/dist/esm/icons/playlist.js.map +7 -0
  13. package/dist/esm/index.js +905 -805
  14. package/dist/esm/index.js.map +4 -4
  15. package/dist/types/app/useTheme.d.ts.map +1 -1
  16. package/dist/types/icons/index.d.ts +1 -0
  17. package/dist/types/icons/index.d.ts.map +1 -1
  18. package/dist/types/icons/playlist.d.ts +3 -0
  19. package/dist/types/icons/playlist.d.ts.map +1 -0
  20. package/dist/types/shared-docs/color-box.d.ts +1 -1
  21. package/dist/types/shared-docs/color-box.d.ts.map +1 -1
  22. package/dist/types/shared-docs/theme-colors.d.ts.map +1 -1
  23. package/dist/types/src/colors.d.ts.map +1 -1
  24. package/dist/types/src/components/icon/available-icons/index.d.ts +1 -0
  25. package/dist/types/src/components/icon/available-icons/index.d.ts.map +1 -1
  26. package/dist/types/src/components/icon/available-icons/playlist.d.ts +3 -0
  27. package/dist/types/src/components/icon/available-icons/playlist.d.ts.map +1 -0
  28. package/dist/types/src/css-variables/index.d.ts.map +1 -1
  29. package/dist/types/src/utilities/index.d.ts +1 -0
  30. package/dist/types/src/utilities/index.d.ts.map +1 -1
  31. package/dist/types/src/utilities/style-provider.d.ts +92 -0
  32. package/dist/types/src/utilities/style-provider.d.ts.map +1 -0
  33. package/package.json +7 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts", "../../src/colors.ts", "../../src/utilities/color.ts", "../../src/hooks/use-media.ts", "../../src/utilities/size.ts", "../../src/utilities/responsive.ts", "../../src/utilities/styles.ts", "../../src/utilities/case.ts", "../../src/variables.ts", "../../src/components/text/text.tsx", "../../src/console-messages.ts", "../../src/css-utilities/rules.ts", "../../src/css-utilities/generate-utilities.ts", "../../src/css-variables/index.ts", "../../src/components/avatar/avatar.tsx", "../../src/components/base-styles/base-styles.tsx", "../../src/components/button/button.tsx", "../../src/components/icon/icon.tsx", "../../src/components/loader/loader.tsx", "../../src/components/spacer/spacer.tsx", "../../src/components/text-input/text-input.tsx", "../../src/components/align/align.tsx", "../../src/components/container/container.tsx", "../../src/components/distribute/distribute.tsx", "../../src/components/error-container/error-container.tsx", "../../src/components/arrange/arrange.tsx", "../../src/components/icon/available-icons/alert-triangle.tsx", "../../src/components/layout/layout.tsx", "../../src/components/icon-button/icon-button.tsx", "../../src/components/checkbox/checkbox.tsx", "../../src/components/text-button/text-button.tsx", "../../src/components/select/select.tsx", "../../src/utilities/downshift.ts", "../../src/utilities/text.ts", "../../src/components/icon/available-icons/chevron-down.tsx", "../../src/components/menu/menu.tsx", "../../src/components/icon/available-icons/check.tsx", "../../src/components/icon/available-icons/close.tsx", "../../src/components/search-bar/search-bar.tsx", "../../src/components/icon/available-icons/search.tsx", "../../src/components/backdrop/backdrop.tsx", "../../src/hooks/use-prevent-scroll.ts", "../../src/components/modal/modal.tsx", "../../src/components/link/link.tsx", "../../src/components/textarea/textarea.tsx", "../../src/components/typeahead/typeahead.tsx", "../../src/components/dropdown/dropdown.tsx", "../../src/components/form-field/form-field.tsx", "../../src/components/radio/radio.tsx", "../../src/components/switch/switch.tsx", "../../src/components/notification-bar/notification-bar.tsx", "../../src/hooks/use-on-click-outside.ts", "../../src/hooks/use-focused-element.tsx", "../../src/hooks/use-push-page-down.ts", "../../src/components/icon/available-icons/info.tsx", "../../src/components/icon/available-icons/warning-alert.tsx", "../../src/components/toast/toast.tsx", "../../src/components/tooltip/tooltip.tsx", "../../src/components/skeleton/skeleton.tsx", "../../src/components/logo/logo.tsx", "../../src/components/logo-loader/logo-loader.tsx", "../../src/constants/routes.ts", "../../src/components/list/list.tsx", "../../src/components/tabs/tabs.tsx", "../../src/components/pill/pill.tsx", "../../src/components/popover/popover.tsx", "../../src/components/illustration/illustration.tsx", "../../src/components/split/split.tsx", "../../src/components/color-picker/color-picker.tsx", "../../src/components/ellipses-loader/ellipses-loader.tsx", "../../src/components/waveform-loader/waveform-loader.tsx", "../../src/components/indicator/indicator.tsx", "../../src/illustrations/accounts-and-billing.tsx", "../../src/illustrations/invite.tsx", "../../src/illustrations/archived.tsx", "../../src/illustrations/lead-with-transparency.tsx", "../../src/illustrations/ask-for-more.tsx", "../../src/illustrations/learning-and-development.tsx", "../../src/illustrations/business-plan.tsx", "../../src/illustrations/loom-plans.tsx", "../../src/illustrations/collaborate-with-teammates.tsx", "../../src/illustrations/option-grants.tsx", "../../src/illustrations/community.tsx", "../../src/illustrations/community-alt.tsx", "../../src/illustrations/parental-leave.tsx", "../../src/illustrations/content-limit.tsx", "../../src/illustrations/pto.tsx", "../../src/illustrations/custom-branding.tsx", "../../src/illustrations/record.tsx", "../../src/illustrations/desktop-app-and-chrome-extension.tsx", "../../src/illustrations/remote-first.tsx", "../../src/illustrations/device-compatibility.tsx", "../../src/illustrations/roadmap.tsx", "../../src/illustrations/downgrade.tsx", "../../src/illustrations/screenshot.tsx", "../../src/illustrations/embrace-the-weird.tsx", "../../src/illustrations/share-with-your-team.tsx", "../../src/illustrations/enterprise-plan.tsx", "../../src/illustrations/share.tsx", "../../src/illustrations/faq-and-security.tsx", "../../src/illustrations/starred.tsx", "../../src/illustrations/five-minute-limit.tsx", "../../src/illustrations/starter-plus-plan.tsx", "../../src/illustrations/getting-started.tsx", "../../src/illustrations/strong-upload-speed.tsx", "../../src/illustrations/growth-through-empathy.tsx", "../../src/illustrations/troubleshooting.tsx", "../../src/illustrations/health-plans.tsx", "../../src/illustrations/upgrade.tsx", "../../src/illustrations/how-to-use-loom.tsx", "../../src/illustrations/upload-drag-and-drop.tsx", "../../src/illustrations/use-cases.tsx", "../../src/illustrations/invite-members.tsx", "../../src/illustrations/wellness.tsx", "../../src/illustrations/comments.tsx", "../../src/illustrations/folders-empty-state-mobile.tsx", "../../src/illustrations/help-ios.tsx", "../../src/illustrations/my-videos-empty-state-mobile.tsx", "../../src/illustrations/recents-empty-state-mobile.tsx", "../../src/illustrations/chrome-notifications-empty-state.tsx", "../../src/illustrations/user.tsx", "../../src/illustrations/user-greyscale.tsx", "../../src/illustrations/all-can-edit.tsx", "../../src/illustrations/all-can-read.tsx", "../../src/illustrations/calendar.tsx", "../../src/illustrations/cannot-edit.tsx", "../../src/illustrations/capture-users.tsx", "../../src/illustrations/chat-avatars.tsx", "../../src/illustrations/coins.tsx", "../../src/illustrations/comment.tsx", "../../src/illustrations/compliance.tsx", "../../src/illustrations/done.tsx", "../../src/illustrations/dont-f-customer.tsx", "../../src/illustrations/file-cabinet.tsx", "../../src/illustrations/integration.tsx", "../../src/illustrations/letter-open.tsx", "../../src/illustrations/light-bulb-orbit.tsx", "../../src/illustrations/lightbulb.tsx", "../../src/illustrations/long-form-doc.tsx", "../../src/illustrations/migrations.tsx", "../../src/illustrations/padlock.tsx", "../../src/illustrations/people.tsx", "../../src/illustrations/people-greyscale.tsx", "../../src/illustrations/picture1.tsx", "../../src/illustrations/play-media.tsx", "../../src/illustrations/play-media-greyscale.tsx", "../../src/illustrations/rainstorm-incident.tsx", "../../src/illustrations/search.tsx", "../../src/illustrations/search-no-result.tsx", "../../src/illustrations/speed.tsx", "../../src/illustrations/user-management.tsx", "../../src/illustrations/video-call3.tsx"],
4
- "sourcesContent": ["// needed for emotion types\nimport '@emotion/react';\n\nexport * from './colors';\nexport * from './variables';\nexport * from './utilities';\nexport * from './css-utilities';\nexport * from './css-variables';\nexport * from './components';\nexport * from './illustrations';\nexport * from './hooks';\nexport * from './types';\n", "type HslaColor = { h: number; s: number; l: number; a: number; ads?: string };\nconst BaseColors = [\n 'red',\n 'redDark',\n 'blurpleLight',\n 'blurpleMedium',\n 'blurple',\n 'blurpleDark',\n 'blurpleStrong',\n 'offWhite',\n 'blueLight',\n 'blue',\n 'blueDark',\n 'magentaLight',\n 'magenta',\n 'magentaDark',\n 'orangeLight',\n 'orange',\n 'orangeDark',\n 'purple',\n 'purpleDark',\n 'purpleLight',\n 'tealLight',\n 'teal',\n 'tealDark',\n 'yellowLight',\n 'yellow',\n 'yellowDark',\n] as const;\nconst GreyColors = [\n 'grey8',\n 'grey7',\n 'grey6',\n 'grey5',\n 'grey4',\n 'grey3',\n 'grey2',\n 'grey1',\n 'white',\n] as const;\nconst SharedColors = [\n 'record',\n 'recordHover',\n 'recordActive',\n 'backdropDark',\n 'backdropTwilight',\n 'highlight',\n 'highlightHover',\n 'highlightActive',\n 'warning',\n] as const;\nconst SemanticColors = [\n 'primary',\n 'primaryHover',\n 'primaryActive',\n 'body',\n 'bodyDimmed',\n 'bodyInverse',\n 'background',\n 'backgroundHover',\n 'backgroundActive',\n 'backgroundNeutral',\n 'backgroundNeutralHover',\n 'backgroundNeutralActive',\n 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'focusRing',\n 'overlay',\n 'overlayHover',\n 'overlayActive',\n 'backdrop',\n 'border',\n 'disabledContent',\n 'disabledBackground',\n 'formFieldBorder',\n 'formFieldBackground',\n 'buttonBorder',\n 'upgrade',\n 'upgradeHover',\n 'upgradeActive',\n 'tabBackground',\n 'discoveryBackground',\n 'discoveryLightBackground',\n 'discoveryTitle',\n 'discoveryHighlight',\n 'info',\n 'success',\n 'danger',\n 'dangerHover',\n 'dangerActive',\n /** Illustration accent: primary in light mode, blurpleDark in dark. Resolves via CSS inheritance. */\n 'illustrationAccent',\n /** Illustration orange: yellowDark in light, darkOrange in dark. */\n 'illustrationOrange',\n /** Illustration line: lineStroke in light, grayLine in dark. */\n 'illustrationLine',\n /** Illustration purple: purpleLight in light, purpleDark in dark. */\n 'illustrationPurple',\n /** Illustration green: greenLight in light, greenDark in dark. */\n 'illustrationGreen',\n /** Illustration gray: grey3 in light, gray in dark. */\n 'illustrationGray',\n /** Illustration accent gray: grey4 in light, formFieldBorder in dark. */\n 'illustrationAccentGray',\n /** Illustration stroke: white in light, lineStroke in dark. */\n 'illustrationStroke',\n /** Illustration drawer: white in light, formFieldBackground in dark. */\n 'illustrationDrawer',\n /** Illustration paper: grey3 in light, grayLine in dark. */\n 'illustrationPaper',\n /** Illustration inner paper: grey3 in light, bodyDimmed in dark. */\n 'illustrationInnerPaper',\n /** Illustration green shade: greenDarkShadeLight in light, greenDarkShade in dark. */\n 'illustrationGreenShade',\n /** Illustration blue dark: staticDarkBlue in light, blueDark in dark. */\n 'illustrationBlueDark',\n /** Illustration face: white in light, face in dark. */\n 'illustrationFace',\n /** Illustration rainstorm gray: rainstormGray in light, grayLine in dark. */\n 'illustrationRainstormGray',\n /** Illustration check blue: primary in light, staticDarkBlue in dark. */\n 'illustrationCheckBlue',\n /** Illustration greyscale fill: grayLine in light, gray in dark. */\n 'illustrationGreyscaleFill',\n /** Illustration greyscale accent: grayMedium in light, grayDarkMid in dark. */\n 'illustrationGreyscaleAccent',\n /** Illustration greyscale mid: grayMid in light, grayDarkMid in dark. */\n 'illustrationGreyscaleMid',\n /** Illustration greyscale mid dark: grayMid in light, grayDark in dark. */\n 'illustrationGreyscaleMidDark',\n /** Illustration greyscale dark: grayDark in light, lineStroke in dark. */\n 'illustrationGreyscaleDark',\n /** Illustration greyscale stroke: lineStroke in light, grayLine in dark. */\n 'illustrationGreyscaleStroke',\n /** Illustration bg: white in light, transparent in dark. */\n 'illustrationBg',\n] as const;\n\ntype ThemesColorVariant = Record<\n (typeof SharedColors)[number] | (typeof SemanticColors)[number],\n HslaColor\n>;\ntype ThemesColors = {\n light: ThemesColorVariant;\n dark: ThemesColorVariant;\n};\n\nconst percent = (number: number, percentage: number) =>\n Math.round((number * percentage) / 100);\n\nexport const darken = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l - percent(color.l, percentage),\n});\n\nexport const lighten = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l + percent(color.l, percentage),\n});\n\nexport const saturate = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n s: color.s + percent(color.s, percentage),\n});\n\nexport const alphaFunction = (color: HslaColor, alpha: number): HslaColor => ({\n ...color,\n a: alpha,\n});\n\nconst hoverIncrease = 15.8;\nconst activeIncrease = 31.6;\nconst borderAlpha = 0.14;\nconst backdropAlpha = 0.46;\nconst backdropDarkAlpha = 0.9;\nconst backdropTwilightAlpha = 0.8;\nconst buttonBorderAlpha = 0.25;\nconst tabBackgroundAlpha = 0.06;\nconst highlightAlpha = 0.15;\nconst highlightHoverAlpha = 0.3;\nconst highlightActiveAlpha = 0.45;\n\nexport const hslaBaseColors: Record<(typeof BaseColors)[number], HslaColor> = {\n red: { h: 4, s: 64, l: 48, a: 1 },\n redDark: { h: 4, s: 56, l: 23, a: 1 },\n\n blurpleLight: { h: 214.3, s: 91.3, l: 95.5, a: 1 },\n blurpleMedium: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blurple: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blurpleDark: { h: 215.9, s: 79.9, l: 41, a: 1 },\n blurpleStrong: { h: 216.3, s: 69.2, l: 22.9, a: 1 },\n\n offWhite: { h: 0, s: 0, l: 97.25, a: 1 },\n\n blueLight: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blue: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blueDark: { h: 216.3, s: 69.2, l: 23, a: 1 },\n\n magentaLight: { h: 323, s: 92, l: 90, a: 1 },\n magenta: { h: 323, s: 42, l: 48, a: 1 },\n magentaDark: { h: 324, s: 37, l: 23, a: 1 },\n\n orangeLight: { h: 4, s: 100, l: 91.2, a: 1 },\n orange: { h: 11, s: 100, l: 62.2, a: 1 },\n orangeDark: { h: 10.9, s: 100, l: 42.2, a: 1 },\n\n purpleLight: { h: 277.3, s: 86.05, l: 91.57, a: 1 },\n purple: { h: 278.33, s: 85.71, l: 67.06, a: 1 },\n purpleDark: { h: 278.64, s: 48.36, l: 52.16, a: 1 },\n\n tealLight: { h: 155, s: 70, l: 84, a: 1 },\n teal: { h: 155, s: 62, l: 32, a: 1 },\n tealDark: { h: 155, s: 55, l: 19, a: 1 },\n\n yellowLight: { h: 43, s: 93, l: 82, a: 1 },\n yellow: { h: 45.5, s: 96, l: 57, a: 1 },\n yellowDark: { h: 39.8, s: 100, l: 49.4, a: 1 },\n};\n\nexport const hslaGreys: Record<(typeof GreyColors)[number], HslaColor> = {\n grey8: { h: 228, s: 6, l: 17, a: 1 },\n grey7: { h: 223, s: 6, l: 24.5, a: 1 },\n grey6: { h: 224, s: 5, l: 44, a: 1 },\n grey5: { h: 224, s: 5, l: 57, a: 1 },\n grey4: { h: 223, s: 5, l: 73, a: 1 },\n grey3: { h: 225, s: 6, l: 87.5, a: 1 },\n grey2: { h: 210, s: 7, l: 94.5, a: 1 },\n grey1: { h: 0, s: 0, l: 97.25, a: 1 },\n white: { h: 0, s: 0, l: 100, a: 1 },\n};\n\n/** HSL equivalents of illustrationColors hex values for theme-aware semantic colors. */\nconst illustrationHsla: Record<string, HslaColor> = {\n darkOrange: { h: 27, s: 100, l: 45, a: 1 },\n gray: { h: 220, s: 4, l: 31, a: 1 },\n grayDark: { h: 228, s: 4, l: 25, a: 1 },\n grayDarkMid: { h: 228, s: 4, l: 51, a: 1 },\n grayMedium: { h: 228, s: 5, l: 73, a: 1 },\n grayMid: { h: 228, s: 5, l: 57, a: 1 },\n lineStroke: { h: 210, s: 11, l: 7, a: 1 },\n grayLine: { h: 210, s: 5, l: 89, a: 1 },\n purpleDark: { h: 279, s: 68, l: 61, a: 1 },\n purpleLight: { h: 279, s: 86, l: 67, a: 1 },\n greenDark: { h: 84, s: 63, l: 37, a: 1 },\n greenLight: { h: 84, s: 54, l: 46, a: 1 },\n greenDarkShade: { h: 84, s: 39, l: 20, a: 1 },\n greenDarkShadeLight: { h: 84, s: 56, l: 32, a: 1 },\n face: { h: 210, s: 6, l: 7, a: 1 },\n rainstormGray: { h: 220, s: 5, l: 12, a: 1 },\n staticDarkBlue: { h: 214, s: 85, l: 23, a: 1 },\n};\n\nconst themeSharedColors: Record<(typeof SharedColors)[number], HslaColor> = {\n record: hslaBaseColors.orange,\n recordHover: darken(hslaBaseColors.orange, hoverIncrease),\n recordActive: darken(hslaBaseColors.orange, activeIncrease),\n backdropDark: alphaFunction(hslaGreys.grey8, backdropDarkAlpha),\n backdropTwilight: alphaFunction(\n hslaBaseColors.blurpleStrong,\n backdropTwilightAlpha\n ),\n highlight: alphaFunction(hslaBaseColors.blurple, highlightAlpha),\n highlightHover: alphaFunction(hslaBaseColors.blurple, highlightHoverAlpha),\n highlightActive: alphaFunction(hslaBaseColors.blurple, highlightActiveAlpha),\n warning: {\n h: 45.5,\n s: 96,\n l: 57,\n a: 1,\n ads: '--ds-background-warning-bold',\n },\n};\n\n// This object has a specific spread order for documentation purposes\nexport const themeColors: ThemesColors = {\n light: {\n primary: hslaBaseColors.blurple,\n primaryHover: hslaBaseColors.blurpleDark,\n primaryActive: hslaBaseColors.blurpleStrong,\n body: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 224, s: 5, l: 44, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-text-inverse' },\n background: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 209,\n s: 75.6,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 225.5,\n s: 56.9,\n l: 10,\n a: 0.14,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundNeutral: {\n h: 209,\n s: 76,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 226,\n s: 57,\n l: 1,\n a: 0.14,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 223,\n s: 61,\n l: 8,\n a: 0.28,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 228,\n s: 6,\n l: 17,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n focusRing: {\n h: 216.1,\n s: 81.4,\n l: 60,\n a: 1,\n ads: '--ds-border-focused',\n },\n overlay: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: hslaGreys.grey2,\n overlayActive: hslaGreys.grey3,\n backdrop: { h: 224, s: 72, l: 7, a: backdropAlpha, ads: '--ds-blanket' },\n border: { h: 225.5, s: 57, l: 10, a: borderAlpha, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 215,\n s: 80.25,\n l: 47.65,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 62,\n l: 32,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 4, s: 64, l: 48, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4.3,\n s: 65.7,\n l: 41.2,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4.5,\n s: 56.3,\n l: 23.3,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 223,\n s: 5,\n l: 73,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 9,\n a: 0.03,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 223.6, s: 5, l: 57, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 0,\n s: 0,\n l: 100,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 252,\n s: 13,\n l: 46,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 209,\n s: 75.6,\n l: 8,\n a: tabBackgroundAlpha,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: hslaBaseColors.purpleLight,\n upgradeActive: {\n h: 278.6,\n s: 84.5,\n l: 79.8,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: hslaBaseColors.purpleDark,\n discoveryLightBackground: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n illustrationAccent: hslaBaseColors.blurple,\n illustrationOrange: hslaBaseColors.yellowDark,\n illustrationLine: illustrationHsla.lineStroke,\n illustrationPurple: illustrationHsla.purpleLight,\n illustrationGreen: illustrationHsla.greenLight,\n illustrationGray: hslaGreys.grey3,\n illustrationAccentGray: hslaGreys.grey4,\n illustrationStroke: hslaGreys.white,\n illustrationDrawer: hslaGreys.white,\n illustrationPaper: hslaGreys.grey3,\n illustrationInnerPaper: hslaGreys.grey3,\n illustrationGreenShade: illustrationHsla.greenDarkShadeLight,\n illustrationBlueDark: illustrationHsla.staticDarkBlue,\n illustrationFace: hslaGreys.white,\n illustrationRainstormGray: illustrationHsla.rainstormGray,\n illustrationCheckBlue: hslaBaseColors.blurple,\n illustrationGreyscaleFill: illustrationHsla.grayLine,\n illustrationGreyscaleAccent: illustrationHsla.grayMedium,\n illustrationGreyscaleMid: illustrationHsla.grayMid,\n illustrationGreyscaleMidDark: illustrationHsla.grayMid,\n illustrationGreyscaleDark: illustrationHsla.grayDark,\n illustrationGreyscaleStroke: illustrationHsla.lineStroke,\n illustrationBg: hslaGreys.white,\n },\n\n dark: {\n primary: { h: 216.3, s: 83.2, l: 67.3, a: 1 },\n primaryHover: { h: 216.1, s: 85.1, l: 76.3, a: 1 },\n primaryActive: { h: 216.5, s: 92, l: 90.2, a: 1 },\n body: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 217.5, s: 4, l: 60.4, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-text-inverse' },\n background: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n // Same base hsl to backgroundHover\n backgroundNeutral: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 226,\n s: 49,\n l: 93,\n a: 0.25,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 225,\n s: 4.3,\n l: 81.6,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n focusRing: {\n h: 216.1,\n s: 85.1,\n l: 76.3,\n a: 1,\n ads: '--ds-background-accent-blue-subtle-hovered',\n },\n overlay: { h: 225, s: 4, l: 17.6, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: {\n h: 225,\n s: 4,\n l: 19.61,\n a: 1,\n ads: '--ds-surface-overlay-hovered',\n },\n overlayActive: {\n h: 225,\n s: 4.69,\n l: 25.1,\n a: 1,\n ads: '--ds-surface-overlay-pressed',\n },\n backdrop: { h: 210, s: 11, l: 7, a: 0.6, ads: '--ds-blanket' },\n border: { h: 236, s: 36.6, l: 92, a: 0.12, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 216.3,\n s: 83,\n l: 67.25,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 57,\n l: 55,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 3.75, s: 91, l: 69, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4,\n s: 96,\n l: 78,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4,\n s: 100,\n l: 91.2,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 225,\n s: 5,\n l: 33,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 1,\n a: 0.46,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 222, s: 4, l: 51.4, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 0,\n s: 0,\n l: 100,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 278,\n s: 44.2,\n l: 25.3,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278,\n s: 45,\n l: 44.7,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.5,\n s: 84.5,\n l: 72.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n illustrationAccent: hslaBaseColors.blurpleDark,\n illustrationOrange: illustrationHsla.darkOrange,\n illustrationLine: illustrationHsla.grayLine,\n illustrationPurple: illustrationHsla.purpleDark,\n illustrationGreen: illustrationHsla.greenDark,\n illustrationGray: illustrationHsla.gray,\n illustrationAccentGray: { h: 222, s: 4, l: 51.4, a: 1 }, // formFieldBorder\n illustrationStroke: illustrationHsla.lineStroke,\n illustrationDrawer: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n }, // formFieldBackground\n illustrationPaper: illustrationHsla.grayLine,\n illustrationInnerPaper: { h: 217.5, s: 4, l: 60.4, a: 1 }, // bodyDimmed\n illustrationGreenShade: illustrationHsla.greenDarkShade,\n illustrationBlueDark: hslaBaseColors.blueDark,\n illustrationFace: illustrationHsla.face,\n illustrationRainstormGray: illustrationHsla.grayLine,\n illustrationCheckBlue: illustrationHsla.staticDarkBlue,\n illustrationGreyscaleFill: illustrationHsla.gray,\n illustrationGreyscaleAccent: illustrationHsla.grayDarkMid,\n illustrationGreyscaleMid: illustrationHsla.grayDarkMid,\n illustrationGreyscaleMidDark: illustrationHsla.grayDark,\n illustrationGreyscaleDark: illustrationHsla.lineStroke,\n illustrationGreyscaleStroke: illustrationHsla.grayLine,\n illustrationBg: { h: 0, s: 0, l: 0, a: 0 },\n },\n};\n\nexport const illustrationColors = {\n staticDarkBlue: '#09326c',\n staticRed: '#ae2a19',\n};\n\nexport const hslaColors = {\n ...hslaBaseColors,\n ...hslaGreys,\n};\n\nexport const colorsNames = [\n ...Object.keys(hslaColors),\n ...Object.keys(themeColors.light),\n];\n", "import { hslaColors, themeColors } from '../colors';\nimport { gradients } from '../variables';\n\nexport const getColorAlpha = (\n color: keyof typeof hslaColors,\n alpha: number\n) => {\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${hslaColors[color].l}%,${alpha})`;\n};\n\nexport const getColorScale = (\n color: keyof typeof hslaColors,\n scaleType: string,\n scaleIncrement: number\n): string => {\n const scaledValue = () => {\n if (scaleType === 'dark') {\n return hslaColors[color].l - hslaColors[color].l * scaleIncrement;\n } else if (scaleType === 'light') {\n return hslaColors[color].l + hslaColors[color].l * scaleIncrement;\n }\n };\n\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${Math.round(\n scaledValue()\n )}%,${hslaColors[color].a})`;\n};\n\nexport const getColorValue = (color?: string): string | undefined => {\n if (color) {\n if (color in hslaColors || color in themeColors.light) {\n return `var(--lns-color-${color})`;\n }\n\n // Handle gradient colors\n if (color in gradients) {\n return `var(--lns-gradient-${color})`;\n }\n\n return color;\n }\n};\n", "import _debounce from 'lodash/debounce';\nimport React from 'react';\n\n/**\n * Provided an array of media queries and an associated\n * array of values, it will match a media query to a value\n * on resize and return it.\n * If no queries match, it will return a default value.\n */\nexport default function useMedia(queries, values, defaultValue) {\n const match = React.useCallback(() => {\n if (typeof window === 'undefined') {\n return defaultValue;\n }\n\n return (\n values[queries.findIndex(q => matchMedia(q).matches)] || defaultValue\n );\n }, [defaultValue, queries, values]);\n\n const [value, set] = React.useState(match);\n\n React.useEffect(() => {\n const handler = _debounce(() => set(match), 150);\n\n window.addEventListener('resize', handler);\n\n return () => window.removeEventListener('resize', handler);\n }, [match]);\n\n return value;\n}\n", "import { type Breakpoint, type Space, spaces, unit } from '../variables';\nimport { objectToBreakpoints } from './responsive';\n\nimport { arrayToBreakpoints } from '.';\n\nexport const u = (amount: number) =>\n amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;\n\n/**\n * @example\n * Sample values: \"large\", 42, \"80px\"\n */\nexport type Size = Space | number | string;\n\nexport const getSizeValue = (size: Size) => {\n if (size in spaces) {\n return `var(--lns-space-${size})`;\n }\n\n if (size && isNaN(size as number)) {\n return `${size}`;\n }\n\n if (size === 0) {\n return `0`;\n }\n\n if (size) {\n return `${u(size as number)}`;\n }\n};\n\nexport type SizeProp =\n | Size\n | Size[]\n | Partial<Record<Breakpoint | 'default', Size>>;\nexport const getSize = (property: string, size: SizeProp) => {\n if (size || size === 0) {\n if (Array.isArray(size)) {\n const rulesetsArray = size.map(sizeItem => {\n return `${property}: ${getSizeValue(sizeItem)}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof size === 'object') {\n const sizeValesObject: Partial<Record<Breakpoint, string>> = {};\n\n Object.entries(size).forEach(\n ([key, value]) => (sizeValesObject[key] = getSizeValue(value))\n );\n\n return objectToBreakpoints(property, sizeValesObject);\n }\n\n return `${property}: ${getSizeValue(size)};`;\n }\n};\n", "import useMedia from '../hooks/use-media';\nimport type { ResponsiveGridSections, ResponsiveType } from '../types';\nimport { type Breakpoint, breakpoints } from '../variables';\nimport { getSizeValue, type Size } from './size';\n\nexport const getMediaCss = (\n widthType: string,\n breakpoint: string,\n declaration: string\n) => `@media(${widthType}: ${breakpoint}){${declaration}}`;\n\nexport const arrayToBreakpoints = (values: string[]) => {\n const smallestBreakpoint = Object.values(breakpoints)[0];\n\n const maxWithRulesets = getMediaCss(\n 'max-width',\n smallestBreakpoint,\n values[0]\n );\n\n const minWithRulesets = values.reduce((rulesets, value, index) => {\n const breakpoint = `${Object.values(breakpoints)[index]}`;\n\n return rulesets + getMediaCss('min-width', breakpoint, value);\n }, '');\n\n return maxWithRulesets + minWithRulesets;\n};\n\nexport type BreakpointProperties = Breakpoint | 'default';\nexport type BreakpointObject = Partial<Record<BreakpointProperties, string>>;\n\nexport const objectToBreakpoints = (\n property: string,\n obj: BreakpointObject\n) => {\n const result = [];\n\n obj['default'] && result.push(`${property}: ${obj['default']};`);\n\n delete obj.default;\n\n Object.entries(obj).forEach(([key, value]) => {\n const breakpoint = key in breakpoints ? breakpoints[key] : key;\n\n result.push(`@media(min-width: ${breakpoint}){ ${property}: ${value} }`);\n });\n\n return result.join(' ');\n};\n\nexport const getResponsiveOneOf = (\n property: string,\n valueArray: ResponsiveType<string>\n) => {\n if (Array.isArray(valueArray)) {\n const oneOfValuesArray = valueArray.map(valueArrayItem => {\n return `${property}: ${valueArrayItem};`;\n });\n\n return arrayToBreakpoints(oneOfValuesArray);\n }\n\n if (typeof valueArray === 'object') {\n return objectToBreakpoints(property, valueArray);\n }\n\n return `${property}: ${valueArray};`;\n};\n\nexport const getAlignmentStyles = (\n prop: string | string[],\n alignments: Record<string, string>\n) => {\n if (prop) {\n if (Array.isArray(prop)) {\n const alignItemsArray = [];\n\n prop.map(propItem => {\n alignItemsArray.push(alignments[propItem]);\n });\n\n return getResponsiveOneOf('align-items', alignItemsArray);\n }\n\n return `align-items ${alignments[prop]};`;\n }\n};\n\nexport const getResponsiveBoolean = (\n property: string,\n valueArray: string[],\n booleanValue: boolean | boolean[]\n) => {\n if (Array.isArray(booleanValue)) {\n const booleanValuesArray = booleanValue.map(booleanItem => {\n const value = booleanItem === true ? valueArray[0] : valueArray[1];\n\n return `${property}: ${value};`;\n });\n\n return arrayToBreakpoints(booleanValuesArray);\n }\n\n return `${property}: ${valueArray[0]};`;\n};\n\nexport const getResponsiveNumber = (\n property: string,\n number: ResponsiveType<number | string>\n) => {\n if (number || number === 0) {\n if (Array.isArray(number)) {\n const rulesetsArray = number.map(numberItem => {\n return `${property}: ${numberItem}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof number === 'object' && !Array.isArray(number)) {\n return objectToBreakpoints(property, number);\n }\n\n return `${property}: ${number};`;\n }\n};\n\ntype SizeParam = Size | Size[];\nconst transformColumns = (columns: SizeParam) => {\n if (Array.isArray(columns)) {\n return columns.map(column => getSizeValue(column)).join(' ');\n }\n\n return columns;\n};\n\nexport const getResponsiveColumns = (\n columns: Record<Breakpoint, SizeParam>\n) => {\n if (columns) {\n if (typeof columns === 'object' && !Array.isArray(columns)) {\n const columnsValuesObject: BreakpointObject = {};\n\n Object.entries(columns).forEach(\n ([key, value]) => (columnsValuesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints('grid-template-columns', columnsValuesObject);\n }\n\n return `grid-template-columns: ${transformColumns(columns)};`;\n }\n};\n\nexport const getResponsiveGridSections = (\n gridSections: ResponsiveGridSections,\n sectionType: string\n) => {\n if (gridSections) {\n if (typeof gridSections === 'object' && !Array.isArray(gridSections)) {\n const gridSectionsValesObject = {};\n\n Object.entries(gridSections).forEach(\n ([key, value]) =>\n (gridSectionsValesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints(\n `grid-template-${sectionType}`,\n gridSectionsValesObject\n );\n }\n\n return `grid-template-${sectionType}: ${transformColumns(gridSections)};`;\n }\n};\n\nexport const Media = ({ children, queries, values, defaultValue }) => {\n const value = useMedia(queries, values, defaultValue);\n\n return children(value);\n};\n", "// TODO(LNS-185): Convert all utils to ts\nimport { getColorValue } from './color';\n\n// Type\nexport const getTextSize = size =>\n size &&\n `\n font-size: var(--lns-fontSize-${size});\n line-height: var(--lns-lineHeight-${size});\n letter-spacing: var(--lns-letterSpacing-${size});\n`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\n\nexport const getFontSetting = fontSetting =>\n fontSetting && `var(--lns-fontSetting-${fontSetting});`;\n\nexport const getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getShadow = size =>\n size && `box-shadow: var(--lns-shadow-${size});`;\n\nexport const getFocusRing = (color?: string, position?: string) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `box-shadow:${position ? position : ''} 0 0 0 2px ${focusColor};`;\n};\n\n// Use for elements who have background colour. The standard focus ring does\n// not provide sufficient contrast against most variant bg colours.\nexport const getOffsetFocusRing = (color?: string) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `\n outline: 2px solid ${focusColor};\n outline-offset: 1px;\n `;\n};\n\nexport const getListContainer = tag => {\n if (tag === 'ol' || tag === 'ul') {\n return `\n list-style-type: none;\n margin: 0;\n padding: 0\n `;\n }\n};\n\nexport const getPlacement = (maxHeight, placement) => {\n const placementStyles = {\n center: {\n bottom: 0,\n top: `calc((100vh - ${maxHeight}) / 2)`,\n position: 'relative',\n },\n bottom: {\n bottom: 0,\n top: 'unset',\n position: 'absolute',\n },\n undefined: {\n bottom: undefined,\n top: '15vh',\n position: 'relative',\n },\n };\n\n return placementStyles[placement];\n};\n", "export const pascalCaseToKebabCase = (string: string): string => {\n return string\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n};\n", "import { u } from './utilities';\n\nexport const unit = 8;\n\nexport const textSizes = {\n small: {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n 'body-sm': {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n medium: {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n 'body-md': {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n large: {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n 'body-lg': {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n xlarge: {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n 'heading-sm': {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n xxlarge: {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n 'heading-md': {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n xxxlarge: {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n 'heading-lg': {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n};\nexport type TextSize = keyof typeof textSizes;\n\nexport const fontWeights = {\n book: 400,\n regular: 400,\n medium: 500,\n bold: 653,\n};\n\n// NOTE(tatiana): For reasons unclear to me at this time,\n// I do not know why I have to do this silliness but\n// it's the only way I can get the correct version to show\n// in the Lens doc only\nexport const fontSettings = {\n normal: `'normal'`,\n tnum: `'tnum'`,\n};\n\nexport const radii = {\n none: u(0),\n 50: u(0.5),\n 100: u(1),\n medium: u(1),\n 150: u(1.5),\n 175: u(1.75),\n 200: u(2),\n large: u(2),\n 250: u(2.5),\n 300: u(3),\n xlarge: u(3),\n round: u(999),\n full: u(999),\n};\n\nexport const shadows = {\n small: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.05)`,\n medium: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.1)`,\n large: `0 ${u(0.75)} ${u(3)} hsla(0, 0%, 0%, 0.1)`,\n};\n\nexport const spaces = {\n xsmall: 0.5,\n small: 1,\n medium: 2,\n large: 3,\n xlarge: 5,\n xxlarge: 8,\n};\nexport type Space = keyof typeof spaces;\n\nexport const breakpoints = {\n xsmall: '31em',\n small: '48em',\n medium: '64em',\n large: '75em',\n};\nexport type Breakpoint = keyof typeof breakpoints;\n\nexport const gradients = {\n 'ai-primary':\n 'conic-gradient(from 270deg, #0469FF 90deg, #BF63F3 180deg, #FFA900 270deg, #0065FF 360deg)',\n 'ai-secondary':\n 'radial-gradient(138.41% 100% at 100% 100%, #E9F2FE 0%, #FFF 100%)',\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { textIsDimmedDeprecated } from '../../console-messages';\nimport type { LensSpanProps } from '../../types';\nimport {\n getColorValue,\n getFontSetting,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\nimport { type TextSize, textSizes, unit } from '../../variables';\n\nexport const dimAmount = 0.6;\n\n// We have to export this so the docs can read it\nexport enum FontFamily {\n 'sans-serif' = 'inherit', // We set this to inherit as the default as Atlassian Sans wil fall into place\n 'mono' = 'Atlassian Mono',\n}\n\ntype VariantsProps = {\n [key: string]: {\n size: TextProps['size'];\n fontWeight: TextProps['fontWeight'];\n };\n};\n\nexport const variants: VariantsProps = {\n body: {\n size: 'body-md',\n fontWeight: 'regular',\n },\n title: {\n size: 'body-lg',\n fontWeight: 'bold',\n },\n mainTitle: {\n size: 'heading-md',\n fontWeight: 'bold',\n },\n};\n\nconst getTextPxSize = size => textSizes[size].fontSize * unit;\n\nconst getTextUnitSize = size => u(textSizes[size].fontSize);\n\nexport const lineHeightToPx = size =>\n textSizes[size].fontSize * textSizes[size].lineHeight * unit;\n\nconst clampBuilder = (minSize, maxSize, minWindow, maxWindow) => {\n const slope = (maxSize - minSize) / (maxWindow - minWindow);\n const yAxisIntersection = -minWindow * slope + minSize;\n\n return `${yAxisIntersection}px + ${slope * 100}vw`;\n};\n\nconst TextWrapper = styled.span<TextWrapperProps>`\n display: ${props => (props.isInline ? 'inline' : 'block')};\n ${props => !props.sizeMinMax && getTextSize(props.size)};\n ${props => getFontWeight(props.fontWeight)};\n ${props => props.color && `color: ${getColorValue(props.color)}`};\n ${props =>\n props.fontSetting &&\n `font-feature-settings: ${getFontSetting(props.fontSetting)}`};\n ${props => props.isDimmed && `opacity: ${dimAmount}`};\n ${props => props.alignment && `text-align: ${props.alignment}`};\n ${props => props.overflowWrap && `overflow-wrap: ${props.overflowWrap};`};\n ${props =>\n props.hasEllipsis &&\n !props.ellipsisLines &&\n `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `};\n ${props =>\n props.hasEllipsis &&\n props.ellipsisLines &&\n `\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${props.ellipsisLines};\n `};\n ${props =>\n !props.hasEllipsis &&\n props.noWrap &&\n 'white-space: nowrap; overflow: hidden;'};\n ${props =>\n props.fontFamily && `font-family: ${FontFamily[props.fontFamily]};`};\n ${props =>\n props.sizeMinMax &&\n `\n min-height: 0vw;\n font-size: clamp(\n ${getTextUnitSize(props.sizeMinMax[0])},\n ${clampBuilder(\n getTextPxSize(props.sizeMinMax[0]),\n getTextPxSize(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${getTextUnitSize(props.sizeMinMax[1])}\n );\n\n line-height: clamp(\n ${lineHeightToPx(props.sizeMinMax[0])}px,\n ${clampBuilder(\n lineHeightToPx(props.sizeMinMax[0]),\n lineHeightToPx(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${lineHeightToPx(props.sizeMinMax[1])}px\n );\n `}\n`;\n\nconst Text = ({\n children,\n size = 'body-md',\n color,\n isInline,\n isDimmed,\n fontFamily = 'sans-serif',\n fontWeight = 'regular',\n hasEllipsis,\n ellipsisLines,\n noWrap,\n variant,\n htmlTag = 'span',\n alignment,\n sizeMinMax,\n fontSetting = 'normal',\n overflowWrap,\n ...props\n}: TextProps &\n React.ComponentProps<typeof TextWrapper> &\n Omit<\n LensSpanProps,\n keyof TextProps & React.ComponentProps<typeof TextWrapper>\n >) => {\n if (isDimmed) {\n // eslint-disable-next-line no-console\n console.warn(textIsDimmedDeprecated);\n }\n\n // All heading sizes should use fontWeight bold\n if (size.includes('heading-')) {\n fontWeight = 'bold';\n }\n\n return (\n <TextWrapper\n size={variant ? variants[variant].size : size}\n color={color}\n isInline={isInline}\n isDimmed={isDimmed}\n fontWeight={variant ? variants[variant].fontWeight : fontWeight}\n fontFamily={fontFamily}\n hasEllipsis={hasEllipsis}\n ellipsisLines={ellipsisLines}\n noWrap={noWrap}\n variant={variant}\n as={htmlTag}\n alignment={alignment}\n sizeMinMax={sizeMinMax}\n fontSetting={fontSetting}\n overflowWrap={overflowWrap}\n {...props}\n >\n {children}\n </TextWrapper>\n );\n};\n\nexport const availableSizes = [\n 'body-sm',\n 'body-md',\n 'body-lg',\n 'heading-sm',\n 'heading-md',\n 'heading-lg',\n];\nexport const deprecatedSizes = [\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'xxlarge',\n 'xxxlarge',\n];\nexport const availableFontWeights = ['regular', 'medium', 'bold'];\nexport const availableHtmlTags = ['h1', 'h2', 'h3', 'h4', 'p', 'span', 'div'];\nexport const alignments = ['left', 'right', 'center'];\n\ninterface TextProps {\n size?: TextSize;\n fontWeight?: 'book' | 'regular' | 'medium' | 'bold';\n fontFamily?: 'sans-serif' | 'mono';\n variant?: 'body' | 'title' | 'mainTitle';\n alignment?: 'left' | 'right' | 'center';\n color?: string;\n isInline?: boolean;\n isDimmed?: boolean;\n hasEllipsis?: boolean;\n noWrap?: boolean;\n ellipsisLines?: number;\n htmlTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';\n children?: React.ReactNode;\n sizeMinMax?: string[];\n fontSetting?: 'tnum' | 'normal';\n overflowWrap?: 'normal' | 'break-word' | 'anywhere';\n /** @deprecated Usage of dclassName results in non-standard components */\n className?: string;\n}\n\ninterface TextWrapperProps extends TextProps {\n as?: string;\n}\n\nexport default Text;\n", "export const textIsDimmedDeprecated = `Lens: Text prop 'isDimmed' is deprecated, use color=\"bodyDimmed\" instead.`;\nexport const customStylesWarning = `Lens: don't apply custom styles to components, learn more: https://lens.loom.dev/guides/development-best-practices/the-risk-of-modifying-components-with-custom-styles.`;\nexport const distributeDeprecatedWarning = `Lens: Distribute component is deprecated. Use Arrange or Split.`;\nexport const layoutDeprecatedWarning = `Lens: Layout component is deprecated. Use Arrange or Split.`;\n", "import { colorsNames } from '../colors';\nimport { variants, alignments } from '../components/text/text';\nimport { pascalCaseToKebabCase } from '../utilities';\nimport { fontWeights, textSizes, shadows, radii, spaces } from '../variables';\n\nconst sides = ['top', 'bottom', 'left', 'right'];\n\nconst spacesWithZero = { 0: '0', ...spaces };\n\nconst spacesWithAutoAndZero = { 0: '0', auto: 'auto', ...spaces };\n\nexport const colorRules = colorsNames.map(colorsName => {\n return {\n selector: 'c',\n modifier: colorsName,\n declarations: [\n {\n property: 'color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const backgroundColorRules = colorsNames.map(colorsName => {\n return {\n selector: 'bgc',\n modifier: colorsName,\n declarations: [\n {\n property: 'background-color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const textSizeRules = Object.keys(textSizes).map(size => {\n return {\n selector: 'text',\n modifier: size,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${size})`,\n },\n {\n property: 'letter-spacing',\n value: `var(--lns-letterSpacing-${size})`,\n },\n size.includes('heading-') || size.includes('xlarge')\n ? {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-bold)',\n }\n : {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-regular)',\n },\n ],\n };\n});\n\nexport const fontWeightRules = Object.keys(fontWeights).map(fontWeight => {\n return {\n selector: 'weight',\n modifier: fontWeight,\n declarations: [\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${fontWeight})`,\n },\n ],\n };\n});\n\nexport const textVariantRules = Object.entries(variants).map(([key, value]) => {\n return {\n selector: 'text',\n modifier: key,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${value.size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${value.size})`,\n },\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${value.fontWeight})`,\n },\n ],\n };\n});\n\nexport const textAlignmentRules = alignments.map(alignment => {\n return {\n selector: 'text',\n modifier: alignment,\n declarations: [\n {\n property: 'text-align',\n value: alignment,\n },\n ],\n };\n});\n\nexport const shadowRules = Object.keys(shadows).map(shadow => {\n return {\n selector: 'shadow',\n modifier: shadow,\n declarations: [\n {\n property: 'box-shadow',\n value: `var(--lns-shadow-${shadow})`,\n },\n ],\n };\n});\n\nexport const radiiRules = Object.keys(radii).map(radius => {\n return {\n selector: 'radius',\n modifier: radius,\n declarations: [\n {\n property: 'border-radius',\n value: `var(--lns-radius-${radius})`,\n },\n ],\n };\n});\n\ninterface SpacingSelector {\n selector: string;\n property: string;\n modifier: string;\n value: string;\n}\n\nexport const getSpacingSelectors = (\n property: string,\n sides: string[],\n spaces: any,\n shortSides?: string\n): SpacingSelector[] => {\n const result: SpacingSelector[] = [];\n\n sides.map(side => {\n const sideString = shortSides\n ? `${property.charAt(0)}${side.charAt(0)}`\n : side;\n\n Object.keys(spaces).map(space => {\n result.push({\n selector: sideString,\n property: `${property}${\n side && property ? `-${side}` : side ? side : ''\n }`,\n modifier: space,\n value:\n space === 'auto' || space === '0'\n ? space\n : `var(--lns-space-${space})`,\n });\n });\n });\n\n return result;\n};\n\nexport const marginRules = Object.values(\n getSpacingSelectors(\n 'margin',\n ['', ...sides],\n spacesWithAutoAndZero,\n 'shortSides'\n )\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const marginCrossRules = Object.values(\n getSpacingSelectors('margin', ['x', 'y'], spacesWithAutoAndZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'margin-x' ? 'margin-left' : 'margin-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'margin-x'\n ? 'margin-right'\n : 'margin-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingRules = Object.values(\n getSpacingSelectors('padding', ['', ...sides], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingCrossRules = Object.values(\n getSpacingSelectors('padding', ['x', 'y'], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-left'\n : 'padding-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-right'\n : 'padding-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const borderRules = ['', ...sides].map(side => {\n const selector =\n 'border' + side.replace(side.charAt(0), side.charAt(0).toUpperCase());\n\n const property = `border${side && `-${side}`}`;\n\n return {\n selector,\n declarations: [\n {\n property,\n value: `1px solid var(--lns-color-border)`,\n },\n ],\n };\n});\n\nconst displayOptions = [\n 'inline',\n 'block',\n 'flex',\n 'inlineBlock',\n 'inlineFlex',\n 'none',\n];\n\nexport const displayRules = displayOptions.map(displayOption => {\n return {\n selector: displayOption,\n declarations: [\n {\n property: 'display',\n value: pascalCaseToKebabCase(displayOption),\n },\n ],\n };\n});\n\nexport const flexWrapRules = [\n {\n selector: 'flexWrap',\n declarations: [\n {\n property: 'flex-wrap',\n value: 'wrap',\n },\n ],\n },\n];\n\nconst flexDirections = ['column', 'row'];\n\nexport const flexDirectionRules = flexDirections.map(flexDirection => {\n return {\n selector: 'flexDirection',\n modifier: flexDirection,\n declarations: [\n {\n property: 'flex-direction',\n value: flexDirection,\n },\n ],\n };\n});\n\nconst flexItemOptions = [\n 'stretch',\n 'center',\n 'baseline',\n 'flexStart',\n 'flexEnd',\n 'selfStart',\n 'selfEnd',\n];\n\nexport const flexItemRules = flexItemOptions.map(flexItemOption => {\n return {\n selector: 'items',\n modifier: flexItemOption,\n declarations: [\n {\n property: 'align-items',\n value: pascalCaseToKebabCase(flexItemOption),\n },\n ],\n };\n});\n\nconst justifyContentOptions = [\n 'flexStart',\n 'flexEnd',\n 'center',\n 'spaceBetween',\n 'spaceAround',\n 'spaceEvenly',\n];\n\nexport const JustifyContentRules = justifyContentOptions.map(\n justifyContentOption => {\n return {\n selector: 'justify',\n modifier: justifyContentOption,\n declarations: [\n {\n property: 'justify-content',\n value: pascalCaseToKebabCase(justifyContentOption),\n },\n ],\n };\n }\n);\n\nconst growOptions = ['0', '1'];\n\nexport const growRules = growOptions.map(growOption => {\n return {\n selector: 'grow',\n modifier: growOption,\n declarations: [\n {\n property: 'flex-grow',\n value: growOption,\n },\n ],\n };\n});\n\nconst shrinkOptions = ['0', '1'];\n\nexport const shrinkRules = shrinkOptions.map(shrinkOption => {\n return {\n selector: 'shrink',\n modifier: shrinkOption,\n declarations: [\n {\n property: 'flex-shrink',\n value: shrinkOption,\n },\n ],\n };\n});\n\nconst alignSelfOptions = [\n 'auto',\n 'flexStart',\n 'flexEnd',\n 'center',\n 'baseline',\n 'stretch',\n];\n\nexport const alignSelfRules = alignSelfOptions.map(alignSelfOption => {\n return {\n selector: 'self',\n modifier: alignSelfOption,\n declarations: [\n {\n property: 'align-self',\n value: pascalCaseToKebabCase(alignSelfOption),\n },\n ],\n };\n});\n\nconst overflowOptions = ['hidden', 'auto'];\n\nexport const overflowRules = overflowOptions.map(overflowOption => {\n return {\n selector: 'overflow',\n modifier: overflowOption,\n declarations: [\n {\n property: 'overflow',\n value: overflowOption,\n },\n ],\n };\n});\n\nconst positionOptions = ['relative', 'absolute', 'sticky', 'fixed'];\n\nexport const positionRules = positionOptions.map(positionOption => {\n return {\n selector: positionOption,\n declarations: [\n {\n property: 'position',\n value: positionOption,\n },\n ],\n };\n});\n\nexport const sidePositionRules = Object.values(\n getSpacingSelectors('', sides, spacesWithAutoAndZero)\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nconst widthOptions = ['auto', 'full', '0'];\n\nexport const widthRules = widthOptions.map(widthOption => {\n return {\n selector: 'width',\n modifier: widthOption,\n declarations: [\n {\n property: 'width',\n value: widthOption === 'full' ? '100%' : widthOption,\n },\n ],\n };\n});\n\nexport const minWidthRules = [\n {\n selector: 'minWidth',\n modifier: '0',\n declarations: [\n {\n property: 'min-width',\n value: '0',\n },\n ],\n },\n];\n\nconst heightOptions = ['auto', 'full', '0'];\n\nexport const heightRules = heightOptions.map(heightOption => {\n return {\n selector: 'height',\n modifier: heightOption,\n declarations: [\n {\n property: 'height',\n value: heightOption === 'full' ? '100%' : heightOption,\n },\n ],\n };\n});\n\nexport const ellipsisRules = [\n {\n selector: 'ellipsis',\n declarations: [\n {\n property: 'overflow',\n value: 'hidden',\n },\n {\n property: 'text-overflow',\n value: 'ellipsis',\n },\n {\n property: 'white-space',\n value: 'nowrap',\n },\n ],\n },\n];\n\nexport const accessibilityRules = [\n {\n selector: 'srOnly',\n declarations: [\n { property: 'position', value: 'absolute' },\n { property: 'width', value: '1px' },\n { property: 'height', value: '1px' },\n { property: 'padding', value: '0' },\n { property: 'margin', value: '-1px' },\n { property: 'overflow', value: 'hidden' },\n { property: 'clip', value: 'rect(0, 0, 0, 0)' },\n { property: 'white-space', value: 'nowrap' },\n { property: 'border-width', value: '0' },\n ],\n },\n];\n", "import { breakpoints } from '../variables';\n\nimport {\n colorRules,\n shadowRules,\n radiiRules,\n backgroundColorRules,\n marginRules,\n marginCrossRules,\n paddingRules,\n paddingCrossRules,\n textSizeRules,\n fontWeightRules,\n textVariantRules,\n textAlignmentRules,\n borderRules,\n displayRules,\n flexWrapRules,\n flexDirectionRules,\n flexItemRules,\n JustifyContentRules,\n growRules,\n shrinkRules,\n alignSelfRules,\n overflowRules,\n positionRules,\n sidePositionRules,\n widthRules,\n minWidthRules,\n heightRules,\n ellipsisRules,\n accessibilityRules,\n} from './rules';\n\nconst separator = '\\\\:';\n\nconst allRules = [\n ...colorRules,\n ...shadowRules,\n ...radiiRules,\n ...backgroundColorRules,\n ...marginRules,\n ...marginCrossRules,\n ...paddingRules,\n ...paddingCrossRules,\n ...textSizeRules,\n ...fontWeightRules,\n ...textVariantRules,\n ...textAlignmentRules,\n ...borderRules,\n ...displayRules,\n ...flexWrapRules,\n ...flexDirectionRules,\n ...flexItemRules,\n ...JustifyContentRules,\n ...growRules,\n ...shrinkRules,\n ...alignSelfRules,\n ...overflowRules,\n ...positionRules,\n ...sidePositionRules,\n ...widthRules,\n ...minWidthRules,\n ...heightRules,\n ...ellipsisRules,\n ...accessibilityRules,\n];\n\nexport const objectToRuleset = (rules: any[], prefix?: string) => {\n const result = [];\n const prefixString = prefix ? `${prefix}-` : '';\n\n rules.map(rule => {\n const declarations = [];\n\n rule.declarations.map(declaration => {\n declarations.push(`${declaration.property}:${declaration.value}`);\n });\n\n const string = `.${prefixString}${rule.selector}${\n rule.modifier ? separator : ''\n }${rule.modifier ? rule.modifier : ''}{${declarations.join(';')}}`;\n\n result.push(string);\n });\n\n return result.join('');\n};\n\nexport const shortBreakpoints = {\n xs: breakpoints.xsmall,\n sm: breakpoints.small,\n md: breakpoints.medium,\n lg: breakpoints.large,\n};\n\nexport const cssUtilities = () => {\n const getRulesetsInMedia = () => {\n const result = [];\n\n result.push(`${objectToRuleset(allRules)}`);\n\n Object.entries(shortBreakpoints).map(([key, value]) => {\n result.push(\n `@media(min-width:${value}){${objectToRuleset(allRules, key)}}`\n );\n });\n\n return result.join('');\n };\n\n return getRulesetsInMedia();\n};\n", "import { hslaBaseColors, hslaColors, hslaGreys, themeColors } from '../colors';\n\nimport { u } from '../utilities';\nimport {\n fontWeights,\n fontSettings,\n radii,\n shadows,\n spaces,\n textSizes,\n unit,\n gradients,\n} from '../variables';\n\ntype VarsObject = Record<string, string | number>;\n\nexport const getCssVarsFromObject = (\n prefix: string,\n varsObject: VarsObject\n): VarsObject => {\n const resultObj = {};\n\n Object.entries(varsObject).forEach(([varName, varValue]) => {\n const namePrefix = prefix ? `${prefix}-` : '';\n const value = `--lns-${namePrefix + varName}`;\n\n resultObj[value] = varValue;\n });\n\n return resultObj;\n};\n\nconst getTextSizesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(textSizes).forEach(([textSizeKey, textSizeValue]) => {\n const fontSizesObj = {};\n const lineHeightsObj = {};\n const letterSpacingObj = {};\n const fontSizeValue = `fontSize-${textSizeKey}`;\n const lineHeightValue = `lineHeight-${textSizeKey}`;\n const letterSpacingValue = `letterSpacing-${textSizeKey}`;\n\n fontSizesObj[fontSizeValue] = u(textSizeValue.fontSize);\n fontSizesObj[lineHeightValue] = textSizeValue.lineHeight;\n fontSizesObj[letterSpacingValue] = textSizeValue.letterSpacing;\n\n Object.assign(resultObj, fontSizesObj, lineHeightsObj, letterSpacingObj);\n });\n\n return resultObj;\n};\n\nconst getSpacesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(spaces).forEach(([spaceName, spaceValue]) => {\n const value = `space-${spaceName}`;\n\n resultObj[value] = u(spaceValue);\n });\n\n return resultObj;\n};\n\nconst getColorsObject = (): VarsObject => {\n const colorsObject = {};\n\n Object.keys({ ...hslaBaseColors, ...hslaGreys }).forEach(name => {\n const value = name;\n\n colorsObject[value] =\n `hsla(${hslaColors[name].h},${hslaColors[name].s}%,${hslaColors[name].l}%,${hslaColors[name].a})`;\n });\n\n return colorsObject;\n};\n\nconst getThemeColorsObject = (): VarsObject => {\n const reducer = (colors, prefix) =>\n Object.keys(colors).reduce((accumulator, name) => {\n const color = colors[name];\n const value = `${prefix}-color-${name}`;\n\n accumulator[value] = color.ads\n ? `var(${color.ads}, hsla(${color.h},${color.s}%,${color.l}%,${color.a}))`\n : `hsla(${color.h},${color.s}%,${color.l}%,${color.a})`;\n\n return accumulator;\n }, {});\n\n return {\n ...reducer(themeColors.light, 'themeLight'),\n ...reducer(themeColors.dark, 'themeDark'),\n };\n};\n\nexport const unitVariables = getCssVarsFromObject(undefined, {\n unit: `${unit / 16}rem`,\n});\n\nexport const fontWeightVariables = getCssVarsFromObject(\n 'fontWeight',\n fontWeights\n);\n\nexport const fontSettingVariables = getCssVarsFromObject(\n 'fontSetting',\n fontSettings\n);\n\nexport const textSizeVariables = getCssVarsFromObject(\n undefined,\n getTextSizesObject()\n);\n\nexport const radiusVariables = getCssVarsFromObject('radius', radii);\n\nexport const shadowVariables = getCssVarsFromObject('shadow', shadows);\n\nexport const spaceVariables = getCssVarsFromObject(\n undefined,\n getSpacesObject()\n);\n\nexport const formFieldVariables = getCssVarsFromObject(undefined, {\n formFieldBorderWidth: '1px',\n formFieldBorderWidthFocus: '2px',\n formFieldHeight: u(4.5),\n formFieldRadius: 'var(--lns-radius-175)',\n formFieldHorizontalPadding: u(2),\n formFieldBorderShadow: `\n inset 0 0 0 var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)\n `,\n formFieldBorderShadowFocus: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-blurple),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-focusRing)\n `,\n formFieldBorderShadowError: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-orangeLight)\n `,\n});\n\nconst colorVariables = getCssVarsFromObject('color', getColorsObject());\n\nconst themeColorVariables = getCssVarsFromObject(\n undefined,\n getThemeColorsObject()\n);\n\nexport const gradientVariables = getCssVarsFromObject('gradient', gradients);\n\nconst sizingVariables = [\n unitVariables,\n textSizeVariables,\n radiusVariables,\n shadowVariables,\n spaceVariables,\n formFieldVariables,\n];\n\nexport const getSizingVariablesCssVarsObject = (): VarsObject => {\n return Object.assign({}, ...sizingVariables);\n};\n\nexport const getVariablesCssVarsObject = (): VarsObject => {\n return Object.assign(\n {},\n fontWeightVariables,\n ...sizingVariables,\n fontSettingVariables\n );\n};\n\nexport const getColorsCssVarsObject = (): VarsObject => {\n return {\n ...colorVariables,\n ...themeColorVariables,\n ...gradientVariables,\n };\n};\n\nconst assignLightThemeColors = () => {\n return Object.keys(themeColors.light).map(\n color => `--lns-color-${color}: var(--lns-themeLight-color-${color});`\n );\n};\nconst assignDarkThemeColors = () => {\n return Object.keys(themeColors.dark).map(\n color => `--lns-color-${color}: var(--lns-themeDark-color-${color});`\n );\n};\n\nexport const getThemeStylesString = (customRootElement = ':root') => {\n const rootElement = customRootElement || ':root';\n\n return `\n ${rootElement},\n .theme-light,\n [data-lens-theme=\"light\"] {\n ${assignLightThemeColors().join('')}\n }\n\n .theme-dark,\n [data-lens-theme=\"dark\"] {\n ${assignDarkThemeColors().join('')}\n }\n `;\n};\n\nexport const getThemeStyles = () => {\n const style = document.createElement('style');\n\n style.innerHTML = getThemeStylesString();\n document.head.appendChild(style);\n};\n\nexport const getSizingCssVarsDeclarations = () => {\n const result = Object.entries(getSizingVariablesCssVarsObject()).map(\n cssVar => `${cssVar[0]}:${cssVar[1]};`\n );\n\n return result.join('');\n};\n\nexport const getAllCssVarsString = customRootElement => {\n const result = [];\n const rootElement = customRootElement || ':root';\n\n Object.entries(getVariablesCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n Object.entries(getColorsCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n return `\n ${rootElement} {\n ${result.join('')}\n }\n `;\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getRadius, getSizeValue, u } from '../../utilities';\n\nexport type AvatarColor = 'orange' | 'blue' | 'yellow' | 'teal';\n\nconst getColorMapping = (color: AvatarColor) => {\n switch (color) {\n case 'orange':\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n case 'blue':\n return {\n background: 'blueLight',\n text: 'blueDark',\n };\n case 'yellow':\n return {\n background: 'yellowLight',\n text: '#9E4C00',\n };\n case 'teal':\n return {\n background: 'tealLight',\n text: 'tealDark',\n };\n default:\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n }\n};\n\nconst getLetterSize = wrapperSize => `calc(${wrapperSize} / 2)`;\n\nconst getAvatarSize = avatarSize => {\n let width;\n let height;\n\n if (avatarSize === 'medium') {\n width = u(4);\n height = u(4);\n } else if (avatarSize === 'large') {\n width = u(7);\n height = u(7);\n } else {\n const sizeValue = getSizeValue(avatarSize);\n\n width = sizeValue;\n height = sizeValue;\n }\n\n const fontSize = getLetterSize(width);\n\n return {\n width,\n height,\n fontSize,\n };\n};\nconst AvatarWrapper = styled.span<\n AvatarWrapperProps & { backgroundColor?: string; color?: string }\n>`\n display: block;\n color: ${props =>\n props.color\n ? props.color.startsWith('#')\n ? props.color\n : `var(--lns-color-${props.color})`\n : 'var(--lns-color-blueLight)'};\n background-color: var(--lns-color-background);\n ${getRadius('full')};\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font-weight: var(--lns-fontWeight-bold);\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n position: relative;\n z-index: 0;\n\n &:after {\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n background-color: ${props =>\n props.hasBackgroundColor &&\n (props.backgroundColor\n ? `var(--lns-color-${props.backgroundColor})`\n : 'var(--lns-color-orange)')};\n }\n`;\n\nconst AvatarImage = styled.img<AvatarProps>`\n max-width: 100%;\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n`;\n\nconst Avatar = ({\n altText = '',\n size = 4,\n letter,\n imageSrc,\n children,\n themeColor = 'blue',\n ...props\n}: AvatarProps &\n React.ComponentProps<typeof AvatarWrapper> &\n Omit<\n LensSpanProps,\n keyof AvatarProps & React.ComponentProps<typeof AvatarWrapper>\n >) => {\n const getContent = () => {\n if (children) {\n return children;\n }\n\n if (imageSrc) {\n const height = getAvatarSize(size).height;\n const width = getAvatarSize(size).width;\n\n return (\n <AvatarImage\n size={size}\n alt={altText}\n src={imageSrc}\n height={height}\n width={width}\n />\n );\n }\n\n if (letter) {\n if (altText) {\n return <span aria-label={altText}>{letter}</span>;\n }\n\n return letter;\n }\n };\n\n const hasBackgroundColor = letter && !imageSrc && !children;\n const colorMapping = getColorMapping(themeColor || 'blue');\n\n return (\n <AvatarWrapper\n hasBackgroundColor={hasBackgroundColor}\n size={size}\n backgroundColor={colorMapping.background}\n color={colorMapping.text}\n {...props}\n >\n {getContent()}\n </AvatarWrapper>\n );\n};\n\ntype AvatarProps = {\n altText?: string;\n letter?: string;\n imageSrc?: string;\n size?: string | number;\n children?: React.ReactNode;\n height?: number;\n width?: number;\n hasBackgroundColor?: boolean;\n backgroundColor?: string;\n themeColor?: AvatarColor;\n};\n\ntype AvatarWrapperProps = {\n size?: string | number;\n hasBackgroundColor?: boolean;\n themeColor?: AvatarColor;\n};\n\nexport default Avatar;\n", "import { Global, css } from '@emotion/react';\n\nimport React from 'react';\n\nimport { cssUtilities } from '../../css-utilities';\nimport { getAllCssVarsString, getThemeStylesString } from '../../css-variables';\nimport { getColorValue, getTextSize } from '../../utilities';\n\nconst buildGlobalStylesheet = (rootElement = ':root', bodyElement = 'body') => {\n return `\n ${rootElement} {\n font-size: 100%;\n }\n ${bodyElement} {\n --lns-fontFamily-body: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-heading: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-code: \"Atlassian Mono\", ui-monospace, Menlo, \"Segoe UI Mono\", \"Ubuntu Mono\", monospace;\n\n font-family: var(--lns-fontFamily-body);\n color: var(--ds-text, ${getColorValue('body')});\n ${getTextSize('body-md')};\n }\n\n ${bodyElement} *,\n ${bodyElement} *:before,\n ${bodyElement} *:after {\n box-sizing: border-box;\n }\n\n ${bodyElement} * {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n ${getThemeStylesString(rootElement)}\n\n ${getAllCssVarsString(rootElement)}\n\n ${cssUtilities()}\n `;\n};\n\nconst BaseStyles = () => <Global styles={css(buildGlobalStylesheet())} />;\n\nexport default BaseStyles;\nexport { BaseStyles, buildGlobalStylesheet };\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useCallback } from 'react';\n\nimport traceUFOPress from '@atlaskit/react-ufo/trace-press';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getOffsetFocusRing,\n getFontWeight,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Icon from '../icon/icon';\nimport Loader from '../loader/loader';\nimport { shadows } from 'src/variables';\n\nconst sizesStyles = {\n small: {\n height: u(4),\n textSize: 'small',\n iconSize: 2,\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: u(4.5),\n textSize: 'medium',\n iconSize: 3,\n xSpace: u(2),\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n textSize: 'large',\n iconSize: 4,\n xSpace: u(2.5),\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst hasLoaderStyles = props => css`\n ${props.hasLoader && `display: none`};\n`;\n\nconst variantStyles = {\n neutral: {\n color: getColorValue('body'),\n background: 'transparent',\n borderColor: getColorValue('buttonBorder'),\n hover: getColorValue('backgroundHover'),\n active: getColorValue('backgroundActive'),\n floatingBackground: getColorValue('overlay'),\n floatingHover: getColorValue('overlayHover'),\n floatingActive: getColorValue('overlayActive'),\n },\n neutralSecondary: {\n color: getColorValue('body'),\n background: getColorValue('backgroundNeutral'),\n borderColor: null,\n hover: getColorValue('backgroundNeutralHover'),\n active: getColorValue('backgroundNeutralActive'),\n },\n primary: {\n color: getColorValue('white'),\n background: getColorValue('blurple'),\n borderColor: null,\n hover: getColorValue('primaryHover'),\n active: getColorValue('primaryActive'),\n },\n secondary: {\n color: getColorValue('primary'),\n background: getColorValue('highlight'),\n borderColor: null,\n hover: getColorValue('highlightHover'),\n active: null,\n },\n record: {\n color: getColorValue('white'),\n background: getColorValue('record'),\n borderColor: null,\n hover: getColorValue('recordHover'),\n active: getColorValue('recordActive'),\n },\n upgrade: {\n color: getColorValue('body'),\n background: getColorValue('upgrade'),\n borderColor: null,\n hover: getColorValue('upgradeHover'),\n active: getColorValue('upgradeActive'),\n focusRing: getFocusRing(),\n },\n danger: {\n color: getColorValue('bodyInverse'),\n background: getColorValue('danger'),\n borderColor: null,\n hover: getColorValue('dangerHover'),\n active: getColorValue('dangerActive'),\n },\n ai: {\n color: getColorValue('white'),\n background: getColorValue('ai-primary'),\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = props => ({\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n ${props.ariaDisabled && `aria-disabled: true`};\n pointer-events: none;\n background-color: ${getColorValue('disabledBackground')};\n color: ${getColorValue('disabledContent')};\n border: none;\n `,\n});\n\nconst widthStyles = props => ({\n auto: css`\n display: inline-flex;\n min-width: ${sizesStyles[props.size].height};\n `,\n full: css`\n display: flex;\n width: 100%;\n `,\n maxContent: css`\n display: inline-flex;\n width: max-content;\n min-width: max-content;\n `,\n});\n\nconst iconGap = u(1);\n\nconst ButtonWrapper = styled.button<ButtonWrapperProps>`\n appearance: none;\n padding: 0\n ${props => (props.hasChildren ? sizesStyles[props.size].xSpace : 0)};\n font: inherit;\n text-decoration: none;\n transition:\n 0.6s background,\n 0.6s border-color;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n white-space: nowrap;\n ${getFontWeight('bold')};\n border-radius: ${props => sizesStyles[props.size].radius};\n // TODO: remove hasFullWidth after deprecation period\n ${props =>\n props.hasFullWidth ? 'display: flex; width: 100%' : 'display: inline-flex'};\n ${props => widthStyles(props)[props.width]};\n height: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => props.isFloating && `box-shadow: ${shadows.medium}`};\n ${props =>\n props.disabled\n ? statusStyles(props).disabled\n : statusStyles(props).enabled};\n ${props =>\n !props.disabled &&\n `\n border: ${\n variantStyles[props.variant].borderColor\n ? `1px solid ${variantStyles[props.variant].borderColor}`\n : 'none'\n };\n background: ${\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingBackground\n : variantStyles[props.variant].background\n };\n background-position: left;\n background-size: 125%;\n color: ${variantStyles[props.variant].color};\n `};\n\n &:hover {\n transition:\n 0.3s background,\n 0.3s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingHover\n : variantStyles[props.variant].hover};\n background-position: 75% center;\n }\n\n &:active {\n transition:\n 0s background,\n 0s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingActive\n : variantStyles[props.variant].active};\n background-position: right;\n }\n\n &:focus-visible {\n ${props =>\n props['aria-expanded'] ? 'outline: none;' : getOffsetFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nconst IconSection = styled.span<{\n paddingLeft: string;\n paddingRight: string;\n hasLoader: boolean;\n}>`\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${hasLoaderStyles};\n`;\n\nconst LogoImage = styled.img<{\n size: 'small' | 'medium' | 'large';\n hasSpacing: boolean;\n hasLoader: boolean;\n}>`\n max-width: 1.45em;\n max-height: 1.45em;\n height: ${props => sizesStyles[props.size].height};\n width: ${props => sizesStyles[props.size].height};\n ${props => props.hasSpacing && `margin-right: 0.57em`};\n ${hasLoaderStyles};\n`;\n\nconst LoaderSection = styled.span`\n position: relative;\n display: flex;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.span<{ hasLoader: boolean }>`\n ${hasLoaderStyles};\n`;\n\nconst Button = ({\n size = 'medium',\n children,\n variant = 'neutral',\n hasFullWidth,\n width = 'auto',\n icon,\n iconPosition = 'left',\n iconBefore,\n iconAfter,\n logoSrc,\n hasLoader,\n isDisabled,\n ariaDisabled,\n htmlTag = 'button',\n interactionName,\n onClick,\n refHandler,\n ...props\n}: ButtonProps &\n React.ComponentProps<typeof ButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof ButtonProps & React.ComponentProps<typeof ButtonWrapper>\n >) => {\n const legacyIconLeft = icon && iconPosition === 'left' ? icon : null;\n const iconBeforeElement =\n iconBefore || legacyIconLeft ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft=\"0\"\n paddingRight={children ? iconGap : '0'}\n >\n <Icon\n icon={iconBefore || legacyIconLeft}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n const legacyIconRight = icon && iconPosition === 'right' ? icon : null;\n const iconAfterElement =\n iconAfter || legacyIconRight ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children ? iconGap : '0'}\n paddingRight=\"unset\"\n >\n <Icon\n icon={legacyIconRight || iconAfter}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n\n const onClickWithPressTracing = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (interactionName) {\n traceUFOPress(interactionName);\n }\n onClick?.(event);\n },\n [onClick, interactionName]\n );\n\n return (\n <ButtonWrapper\n size={size}\n variant={variant}\n hasFullWidth={hasFullWidth}\n width={width}\n icon={icon}\n iconPosition={iconPosition}\n logoSrc={logoSrc}\n disabled={isDisabled}\n ariaDisabled={ariaDisabled}\n as={htmlTag}\n hasChildren={children}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n onClick={\n interactionName === undefined ? onClick : onClickWithPressTracing\n }\n >\n {hasLoader && (\n <LoaderSection>\n <Loader color=\"currentColor\" />\n </LoaderSection>\n )}\n {iconBeforeElement}\n {logoSrc && (\n <LogoImage\n // Assumes image is only referencing information written within the button.\n alt=\"\"\n hasSpacing={Boolean(children)}\n src={logoSrc}\n size={size}\n // Assumes all images are 1:1 aspectRatio\n height={sizesStyles[size].height}\n width={sizesStyles[size].height}\n hasLoader={hasLoader}\n />\n )}\n <ChildrenSection hasLoader={hasLoader}>{children}</ChildrenSection>\n {iconAfterElement}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\n | 'neutralSecondary'\n | 'primary'\n | 'secondary'\n | 'record'\n | 'upgrade'\n | 'danger'\n | 'ai';\n\ntype Width = 'auto' | 'full' | 'maxContent';\ninterface ButtonProps {\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n children?: React.ReactNode;\n isDisabled?: boolean;\n ariaDisabled?: boolean;\n /** @deprecated Use width={'full'} instead */\n hasFullWidth?: boolean;\n width?: Width;\n /** @deprecated Use iconBefore or iconAfter instead */\n icon?: React.ReactNode;\n /** @deprecated Use iconBefore or iconAfter instead */\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: boolean;\n isFloating?: boolean;\n htmlTag?: 'button' | 'a';\n href?: string;\n download?: string;\n target?: string;\n type?: string;\n refHandler?: (ref: HTMLButtonElement) => void;\n /** Used to enable press tracing. See more at https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/press-interactions/#implementation */\n interactionName?: string;\n /** @deprecated Usage of className results in non-standard components */\n className?: string;\n /** @deprecated Usage of style results in non-standard components */\n style?: any;\n}\n\ninterface ButtonWrapperProps {\n hasNoPaddingRight?: boolean;\n hasNoPaddingLeft?: boolean;\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n hasFullWidth?: boolean;\n width?: Width;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n as?: string;\n disabled?: boolean;\n ariaDisabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\n isFloating?: boolean;\n}\n\nexport const availableSizes = Object.keys(sizesStyles);\nexport const availableVariants = Object.keys(variantStyles);\nexport const availableHtmlTags = ['button', 'a'];\nexport const availableIconPositions = ['left', 'right'];\n\nexport default Button;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue, getSize, type SizeProp } from '../../utilities';\n\nconst defaultIconSize = 3;\n\nconst IconWrapper = styled.span<IconProps>`\n display: block;\n color: ${props => getColorValue(props.color)};\n\n & > svg,\n & > img {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n }\n\n // TODO: remove data-testid once all icons are using ADS\n [data-testid='ads-refreshed-icon'] {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n\n svg {\n padding: 8%;\n height: 100%;\n width: 100%;\n }\n }\n`;\n\ntype IconProps = {\n size?: SizeProp;\n altText?: string;\n icon?: React.ReactNode;\n color?: string;\n};\n\nconst Icon = ({\n altText,\n icon,\n color = 'body',\n size = defaultIconSize,\n ...props\n}: IconProps &\n React.ComponentProps<typeof IconWrapper> &\n Omit<\n LensSpanProps,\n keyof IconProps & React.ComponentProps<typeof IconWrapper>\n >) => {\n const ref = React.useRef(null);\n\n return (\n <IconWrapper\n ref={ref}\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {icon}\n </IconWrapper>\n );\n};\n\nexport default Icon;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst speed = 1;\nconst dotsAmount = 8;\n\nconst sizes = {\n small: {\n totalSize: 18,\n },\n medium: {\n totalSize: 24,\n },\n large: {\n totalSize: 48,\n },\n};\n\nconst getDotSize = props => {\n return sizes[props.size].totalSize / 6;\n};\n\nconst getTotalSize = props => {\n return sizes[props.size].totalSize;\n};\n\nconst dotScale = keyframes`\n 50% {\n transform: scale(1);\n }\n`;\n\nconst LoaderWrapper = styled.span<LoaderWrapperProps>`\n display: inline-block;\n vertical-align: middle;\n height: ${props => getTotalSize(props)}px;\n width: ${props => getTotalSize(props)}px;\n`;\n\nconst Dots = styled.span`\n display: grid;\n grid-template-areas: 'stack';\n height: 100%;\n width: 100%;\n`;\n\nconst DotWrapper = styled.span<DotProps>`\n grid-area: stack;\n place-self: center;\n transform: rotate(${props => props.position * (360 / dotsAmount)}deg)\n translateY(${props => getTotalSize(props) / 2 - getDotSize(props) / 2}px);\n\n &:after {\n content: '';\n height: ${props => getDotSize(props)}px;\n width: ${props => getDotSize(props)}px;\n border-radius: ${props => getDotSize(props)}px;\n background-color: ${props => getColorValue(props.color)};\n display: block;\n transform: scale(0.65);\n animation: ${dotScale} ${speed}s\n ${props => (props.position * speed) / dotsAmount}s ease-in-out infinite;\n }\n`;\n\nconst Dot = ({ position, color, size }: DotProps) => (\n <DotWrapper color={color} position={position} size={size} />\n);\n\nconst Loader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: LoaderProps &\n React.ComponentProps<typeof LoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof LoaderProps & React.ComponentProps<typeof LoaderWrapper>\n >) => {\n let i;\n const dotsList = [];\n\n for (i = 0; i < dotsAmount; i++) {\n dotsList.push(<Dot color={color} position={i} size={size} key={i} />);\n }\n\n return (\n <LoaderWrapper size={size} {...props}>\n <Dots>{dotsList}</Dots>\n </LoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype LoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LoaderWrapperProps = {\n size?: string;\n};\n\ntype DotProps = {\n position?: number;\n color?: string;\n size?: string;\n};\n\nexport default Loader;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport { getSize } from '../../utilities';\n\nconst SpacerWrapper = styled.div<SpacerProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n vertical-align: middle;\n ${props => getSize('padding', props.all)};\n ${props => getSize('padding-top', props.top)};\n ${props => getSize('padding-right', props.right)};\n ${props => getSize('padding-bottom', props.bottom)};\n ${props => getSize('padding-left', props.left)};\n`;\n\nconst Spacer = ({\n children,\n all,\n y,\n x,\n top,\n right,\n bottom,\n left,\n isInline,\n ...props\n}: SpacerProps &\n React.ComponentProps<typeof SpacerWrapper> &\n Omit<\n LensDivProps,\n keyof SpacerProps & React.ComponentProps<typeof SpacerWrapper>\n >) => (\n <SpacerWrapper\n all={all}\n top={y || top}\n bottom={y || bottom}\n right={x || right}\n left={x || left}\n isInline={isInline}\n {...props}\n >\n {children}\n </SpacerWrapper>\n);\n\ntype SpacerProps = {\n all?: ResponsiveType<string | number>;\n y?: ResponsiveType<string | number>;\n x?: ResponsiveType<string | number>;\n left?: ResponsiveType<string | number>;\n right?: ResponsiveType<string | number>;\n top?: ResponsiveType<string | number>;\n bottom?: ResponsiveType<string | number>;\n isInline?: boolean;\n children?: React.ReactNode;\n};\n\nexport default Spacer;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getTextSize, u } from '../../utilities';\n\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\ntype SizesStylesProps = {\n [key: string]: {\n height: string;\n width: string;\n iconSize: number;\n padding: string | number;\n withIconPadding: string | number;\n passwordAdditionalPadding: string | number;\n textSize: string;\n radius: string;\n };\n};\n\nconst sizesStyles: SizesStylesProps = {\n small: {\n height: u(4),\n width: u(5),\n iconSize: 2,\n padding: u(1.75),\n withIconPadding: u(4.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'small',\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: 'var(--lns-formFieldHeight)',\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'medium',\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'large',\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst inputRightPadding = (\n props: InputFieldProps & Pick<TextInputProps, 'type'>\n): string | number => {\n let padding = props.addOn\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding;\n\n // Allow additional space for safari & other password filling icons to not overlap with addon\n if (props.type === 'password') {\n padding = `calc(${\n sizesStyles[props.inputSize].passwordAdditionalPadding\n } + ${padding})`;\n }\n\n return padding;\n};\n\nconst InputField = styled.input<InputFieldProps & Pick<TextInputProps, 'type'>>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: ${props => sizesStyles[props.inputSize].height};\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: ${props =>\n props.icon\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding};\n padding-right: ${props => inputRightPadding(props)};\n border-radius: ${props => sizesStyles[props.inputSize].radius};\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${props => getTextSize(sizesStyles[props.inputSize].textSize)};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst InputFieldWrapper = styled.div`\n position: relative;\n width: 100%;\n`;\n\nconst IconSection = styled.div<IconSectionProps>`\n position: absolute;\n pointer-events: none;\n width: ${props => sizesStyles[props.size].width};\n // Width isn't equal to iconPadding because we want more space on the left than the right\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst Image = styled.img<Pick<TextInputProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst AddOnWrapper = styled.div<IconSectionProps>`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${props => sizesStyles[props.size].width};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextInput = forwardRef(\n (\n {\n placeholder,\n onFocus,\n onChange,\n onBlur,\n onKeyDown,\n isDisabled,\n icon,\n type = 'text',\n value,\n hasError,\n size = 'medium',\n addOn,\n ...props\n }: TextInputProps & Omit<React.ComponentProps<typeof InputField>, 'size'>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputField = (\n <InputField\n type={type}\n placeholder={placeholder}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={isDisabled}\n icon={icon}\n ref={ref}\n value={value}\n hasError={hasError}\n inputSize={size}\n addOn={addOn}\n {...props}\n />\n );\n\n return icon || addOn ? (\n <InputFieldWrapper>\n {icon && (\n <IconSection size={size}>\n {typeof icon === 'string' ? (\n <Container\n radius=\"50\"\n width={sizesStyles[size].iconSize}\n height={sizesStyles[size].iconSize}\n overflow=\"hidden\"\n >\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={icon}\n size={sizesStyles[size].iconSize}\n color={getColorValue(isDisabled ? 'disabledContent' : 'body')}\n />\n )}\n </IconSection>\n )}\n {inputField}\n {addOn && <AddOnWrapper size={size}>{addOn}</AddOnWrapper>}\n </InputFieldWrapper>\n ) : (\n inputField\n );\n }\n);\n\ntype TextInputProps = {\n placeholder?: string;\n value?: string | number;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n isDisabled?: boolean;\n icon?: React.ReactNode | string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n id?: string;\n hasError?: boolean;\n size?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\ntype IconSectionProps = {\n size?: 'small' | 'medium' | 'large';\n};\ntype InputFieldProps = {\n icon?: React.ReactNode;\n hasError?: boolean;\n inputSize?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\nexport default TextInput;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport { getResponsiveOneOf } from '../../utilities';\n\nconst alignmentsPlaceItems = {\n topLeft: 'start',\n topCenter: 'start center',\n topRight: 'start end',\n centerLeft: 'center start',\n center: 'center',\n centerRight: 'center end',\n bottomLeft: 'end start',\n bottomCenter: 'end center',\n bottomRight: 'end',\n};\n\nconst getPlaceItems = (\n alignment: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >\n) => {\n if (Array.isArray(alignment)) {\n return alignment.map(\n alignmentArrayItem => alignmentsPlaceItems[alignmentArrayItem]\n );\n }\n\n if (typeof alignment === 'object') {\n const alignmentsPlaceItemsObject = {};\n\n Object.entries(alignment).forEach(([key, value]) => {\n return (alignmentsPlaceItemsObject[key] = alignmentsPlaceItems[value]);\n });\n\n return alignmentsPlaceItemsObject;\n }\n\n return alignmentsPlaceItems[alignment];\n};\n\nconst AlignWrapper = styled.div<AlignWrapperProps>`\n width: 100%;\n height: 100%;\n display: grid;\n ${props => getResponsiveOneOf('place-items', getPlaceItems(props.alignment))};\n`;\n\nconst Align = ({\n children,\n alignment = 'center',\n htmlTag = 'div',\n ...props\n}: AlignProps &\n React.ComponentProps<typeof AlignWrapper> &\n Omit<\n LensDivProps,\n keyof AlignProps & React.ComponentProps<typeof AlignWrapper>\n >) => {\n return (\n <AlignWrapper alignment={alignment} as={htmlTag} {...props}>\n {children}\n </AlignWrapper>\n );\n};\n\nexport const availableAlignments = Object.keys(alignmentsPlaceItems);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype AlignProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n};\n\ntype AlignWrapperProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n as?: string;\n};\n\nexport default Align;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n} from '../../utilities';\n\nconst getBorderSideAndColor = (side, color, width) => {\n const borderColor = color ? color : 'border';\n const borderWidth = getSizeValue(width);\n const borderStyle = `${borderWidth} solid ${getColorValue(borderColor)}`;\n\n if (side) {\n if (side === 'all') {\n return `border: ${borderStyle};`;\n }\n\n return `border-${side}: ${borderStyle};`;\n }\n};\n\nconst ContainerWrapper = styled.div<ContainerWrapperProps>`\n ${props => props.position && `position: ${props.position}`};\n ${props => props.overflow && `overflow: ${props.overflow}`};\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n ${props =>\n props.backgroundImage && `background-image: ${props.backgroundImage}`}\n ${props =>\n props.contentColor && `color: ${getColorValue(props.contentColor)}`};\n ${props =>\n getBorderSideAndColor(\n props.borderSide,\n props.borderColor,\n props.borderWidth\n )};\n ${props => getRadius(props.radius)};\n ${props => getShadow(props.shadow)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('margin', props.margin)};\n ${props => getSize('margin-top', props.marginTop)};\n ${props => getSize('margin-right', props.marginRight)};\n ${props => getSize('margin-bottom', props.marginBottom)};\n ${props => getSize('margin-left', props.marginLeft)};\n ${props => getSize('top', props.top)};\n ${props => getSize('right', props.right)};\n ${props => getSize('bottom', props.bottom)};\n ${props => getSize('left', props.left)};\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Container = ({\n children,\n backgroundColor,\n backgroundImage,\n contentColor,\n borderColor,\n radius,\n borderSide,\n borderWidth = '1px',\n shadow,\n padding,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n paddingTop,\n paddingBottom,\n margin,\n marginX,\n marginY,\n marginLeft,\n marginRight,\n marginTop,\n marginBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n position,\n overflow,\n zIndex,\n top,\n bottom,\n left,\n right,\n refHandler,\n ...props\n}: ContainerProps &\n React.ComponentProps<typeof ContainerWrapper> &\n Omit<\n LensDivProps,\n keyof ContainerProps & React.ComponentProps<typeof ContainerWrapper>\n >) => {\n return (\n <ContainerWrapper\n backgroundColor={backgroundColor}\n backgroundImage={backgroundImage}\n contentColor={contentColor}\n borderColor={borderColor}\n radius={radius}\n borderSide={borderSide}\n shadow={shadow}\n padding={padding}\n paddingLeft={paddingX || paddingLeft}\n paddingRight={paddingX || paddingRight}\n paddingTop={paddingY || paddingTop}\n paddingBottom={paddingY || paddingBottom}\n margin={margin}\n marginLeft={marginX || marginLeft}\n marginRight={marginX || marginRight}\n marginTop={marginY || marginTop}\n marginBottom={marginY || marginBottom}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n as={htmlTag}\n position={position}\n top={top}\n bottom={bottom}\n left={left}\n right={right}\n overflow={overflow}\n zIndex={zIndex}\n borderWidth={borderWidth}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n >\n {children}\n </ContainerWrapper>\n );\n};\n\nexport const availableBorderSides = ['all', 'left', 'right', 'top', 'bottom'];\nexport const availableRadii = [\n 'none',\n '50',\n '100',\n '150',\n '175',\n '200',\n '250',\n '300',\n 'round',\n];\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n 'span',\n 'form',\n];\n\ninterface SharedProps {\n backgroundColor?: string;\n backgroundImage?: string;\n contentColor?: string;\n borderColor?: string;\n radius?:\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'full'\n | 'none'\n | '50'\n | '100'\n | '150'\n | '175'\n | '200'\n | '250'\n | '300'\n | 'round';\n borderSide?: 'all' | 'left' | 'right' | 'top' | 'bottom';\n shadow?: 'small' | 'medium' | 'large';\n padding?: ResponsiveType<string | number> | null;\n paddingX?: ResponsiveType<string | number> | null;\n paddingY?: ResponsiveType<string | number> | null;\n paddingLeft?: ResponsiveType<string | number> | null;\n paddingRight?: ResponsiveType<string | number> | null;\n paddingTop?: ResponsiveType<string | number> | null;\n paddingBottom?: ResponsiveType<string | number> | null;\n margin?: ResponsiveType<string | number> | null;\n marginX?: ResponsiveType<string | number> | null;\n marginY?: ResponsiveType<string | number> | null;\n marginLeft?: ResponsiveType<string | number> | null;\n marginRight?: ResponsiveType<string | number> | null;\n marginTop?: ResponsiveType<string | number> | null;\n marginBottom?: ResponsiveType<string | number> | null;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n position?: string;\n overflow?: string;\n top?: ResponsiveType<string | number> | null;\n bottom?: ResponsiveType<string | number> | null;\n left?: ResponsiveType<string | number> | null;\n right?: ResponsiveType<string | number> | null;\n zIndex?: number | string;\n borderWidth?: string | number;\n // NOTE: Covers the most common types since the user can change the `as` value using `htmlTag`\n refHandler?:\n | ((ref: HTMLElement) => void)\n | ((ref: HTMLDivElement) => void)\n | ((ref: HTMLSpanElement) => void);\n}\n\ninterface ContainerProps extends SharedProps {\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main'\n | 'span'\n | 'form'\n | 'table';\n}\n\ninterface ContainerWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Container;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { distributeDeprecatedWarning } from '../../console-messages';\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n arrayToBreakpoints,\n getAlignmentStyles,\n getResponsiveBoolean,\n getSizeValue,\n} from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n};\n\nlet alreadyWarned = false;\n\nconst propToArray = prop => {\n if (!Array.isArray(prop)) {\n return [prop];\n }\n\n return prop;\n};\n\nconst formatItems = (items, targetRulesetLength) => {\n if (items.length === targetRulesetLength) {\n return items;\n }\n\n const lastItem = items[items.length - 1];\n\n return [...Array(targetRulesetLength)].map((_, i) => items[i] || lastItem);\n};\n\nconst getDirectionAndGap = (direction, gap) => {\n const targetRulesetLength = Math.max(\n propToArray(direction).length,\n propToArray(gap).length\n );\n\n const gapsArray = formatItems(propToArray(gap), targetRulesetLength);\n const directionsArray = formatItems(\n propToArray(direction),\n targetRulesetLength\n );\n\n const childrenSelector = '& > * + *';\n const gapsRulesets = gapsArray.map((gapItem, index) => {\n const marginTop = `${getSizeValue(gapItem)} 0 0 0`;\n const marginRight = `0 0 0 ${getSizeValue(gapItem)}`;\n\n const marginValue =\n directionsArray[index] === 'column' ? marginTop : marginRight;\n\n return `${childrenSelector}{ margin: ${marginValue}; }`;\n });\n\n const directionsRulesets = directionsArray.map(\n directionItem => `flex-direction: ${directionItem}`\n );\n\n return (\n arrayToBreakpoints(gapsRulesets) + arrayToBreakpoints(directionsRulesets)\n );\n};\n\nconst DistributeWrapper = styled.div<DistributeWrapperProps>`\n display: flex;\n flex-wrap: wrap;\n ${props => getDirectionAndGap(props.flexDirection, props.gap)};\n ${props => getAlignmentStyles(props.flexAlign, alignments)};\n ${props =>\n props.isSpread &&\n getResponsiveBoolean(\n 'justify-content',\n ['space-between', 'initial'],\n props.isSpread\n )};\n\n & > * {\n flex-shrink: 0;\n }\n`;\n\nconst Distribute = ({\n children,\n gap,\n direction = 'row',\n alignment = 'start',\n isSpread,\n htmlTag = 'div',\n ...props\n}: DistributeProps &\n React.ComponentProps<typeof DistributeWrapper> &\n Omit<\n LensDivProps,\n keyof DistributeProps & React.ComponentProps<typeof DistributeWrapper>\n >) => {\n if (!alreadyWarned) {\n // eslint-disable-next-line no-console\n console.warn(distributeDeprecatedWarning);\n alreadyWarned = true;\n }\n\n return (\n <DistributeWrapper\n gap={gap}\n flexDirection={direction}\n flexAlign={alignment}\n isSpread={isSpread}\n as={htmlTag}\n {...props}\n >\n {children}\n </DistributeWrapper>\n );\n};\n\nexport const availableDirections = ['row', 'column'];\nexport const availableAlignments = Object.keys(alignments);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype Alignment = 'start' | 'center' | 'end' | 'stretch';\ntype DistributeProps = {\n children: React.ReactNode;\n direction?: ResponsiveType<'row' | 'column'>;\n alignment?: Alignment | Alignment[];\n isSpread?: ResponsiveType<true | false>;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n gap?: string | number;\n};\n\ntype DistributeWrapperProps = {\n flexDirection?: ResponsiveType<'row' | 'column'>;\n flexAlign?: Alignment | Alignment[];\n isSpread?: boolean | boolean[];\n gap?: string | number;\n as?: string;\n};\n\nexport default Distribute;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport Arrange from '../arrange/arrange';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ninterface ErrorContainerProps {\n children: React.ReactNode;\n errorActive: boolean;\n errorMessage?: string;\n}\n\n// the border below is a stand-alone component to avoid messing with the layout of the children\n// the calculations in width, height, top, and left are to add padding between the border and the children\n// pointer-events: none is to allow the children to be clickable\n\nconst ErrorContainerBorder = styled.div`\n position: relative;\n ::before {\n content: '';\n width: calc(100% + var(--lns-space-medium));\n height: calc(100% + var(--lns-space-medium));\n position: absolute;\n top: calc(-1 * var(--lns-space-small));\n left: calc(-1 * var(--lns-space-small));\n outline: 1px solid var(--lns-color-danger);\n border-radius: var(--lns-radius-large);\n pointer-events: none;\n }\n`;\n\nconst ErrorContainer = ({\n children,\n errorActive,\n errorMessage = \"Oops, that didn't work. Try again.\",\n}: ErrorContainerProps) => {\n if (!errorActive) {\n return <>{children}</>;\n }\n\n return (\n <ErrorContainerBorder>\n <Arrange autoFlow=\"row\" gap=\"small\">\n {children}\n {errorMessage ? (\n <Arrange gap=\"xsmall\">\n <Icon icon={<SvgAlertTriangle />} size={2} color=\"danger\" />\n <Text size=\"body-sm\" color=\"danger\">\n {errorMessage}\n </Text>\n </Arrange>\n ) : null}\n </Arrange>\n </ErrorContainerBorder>\n );\n};\n\nexport default ErrorContainer;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport type {\n LensDivProps,\n ResponsiveGridSections,\n ResponsiveType,\n} from '../../types';\nimport { getResponsiveOneOf, getSize } from '../../utilities';\n\nimport { getResponsiveGridSections } from '../../utilities/responsive';\nimport { getListContainer } from '../../utilities/styles';\n\nconst ArrangeWrapper = styled.div<ArrangeWrapperProps>`\n display: grid;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props => getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.justifyItems &&\n getResponsiveOneOf('justify-items', props.justifyItems)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props =>\n !props.columns &&\n !props.rows &&\n !props.autoFlow &&\n 'grid-auto-flow: column'};\n ${props => getResponsiveGridSections(props.columns, 'columns')};\n ${props => getResponsiveGridSections(props.rows, 'rows')};\n ${props => getSize('gap', props.gap)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n\n ${props =>\n props.autoFlow && getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props =>\n props.columns &&\n props.autoFlow &&\n getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props => getListContainer(props.as)};\n`;\n\nconst Arrange = ({\n children,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n gap,\n columns,\n rows,\n alignItems = 'center',\n justifyContent = 'start',\n justifyItems,\n alignContent,\n autoFlow,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: ArrangeProps &\n React.ComponentProps<typeof ArrangeWrapper> &\n Omit<\n LensDivProps,\n keyof ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>\n >) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <ArrangeWrapper\n alignItems={alignItems}\n as={htmlTag}\n justifyContent={justifyContent}\n justifyItems={justifyItems}\n alignContent={alignContent}\n gap={gap}\n columns={columns}\n rows={rows}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n autoFlow={autoFlow}\n {...props}\n >\n {children}\n </ArrangeWrapper>\n );\n};\n\ninterface SharedProps {\n children?: React.ReactNode;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n gap?: ResponsiveType<string | number> | null;\n alignItems?: ResponsiveType<\n 'start' | 'end' | 'center' | 'stretch' | 'baseline'\n >;\n justifyItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;\n alignContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n justifyContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n autoFlow?: ResponsiveType<'column' | 'row'>;\n columns?: ResponsiveGridSections;\n rows?: ResponsiveGridSections;\n}\n\ninterface ArrangeProps extends SharedProps {\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n}\n\ninterface ArrangeWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Arrange;\n", "import WarningIcon from '@atlaskit/icon/core/warning';\nimport * as React from 'react';\n\nexport function SvgAlertTriangle() {\n return <WarningIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React, { Component } from 'react';\n\nimport { layoutDeprecatedWarning } from '../../console-messages';\nimport type { ResponsiveType } from '../../types';\nimport { getSize, getAlignmentStyles } from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n};\n\nconst LayoutWrapper = styled.div<LayoutProps>`\n display: flex;\n ${props => getAlignmentStyles(props.alignment, alignments)};\n\n & > * + * {\n ${props => props.gap && getSize('margin-left', props.gap)};\n }\n`;\n\nconst LayoutSectionWrapper = styled.div<LayoutSectionProps>`\n min-width: 0px;\n flex-shrink: 0;\n ${props => getSize('width', props.width)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => (props.width ? `flex-shrink: 0` : `flex: 1 1 0%`)};\n`;\n\nexport const LayoutSection = ({\n width,\n maxWidth,\n children,\n ...props\n}: LayoutSectionProps & React.ComponentProps<typeof LayoutSectionWrapper>) => {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return (\n <LayoutSectionWrapper width={width} maxWidth={maxWidth} {...props}>\n {children}\n </LayoutSectionWrapper>\n );\n};\n\n// eslint-disable-next-line react-prefer-function-component/react-prefer-function-component\nclass Layout extends Component<LayoutProps> {\n static Section = LayoutSection;\n\n render() {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return <LayoutWrapper {...this.props}>{this.props.children}</LayoutWrapper>;\n }\n}\n\ntype Alignments = 'start' | 'center' | 'end' | 'stretch';\ntype LayoutProps = {\n alignment?: Alignments | Alignments[];\n gap?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\ntype LayoutSectionProps = {\n width?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\nexport default Layout;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n size: u(3),\n iconSize: 2.25,\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n size: u(4),\n iconSize: 3,\n radius: 'var(--lns-radius-150)',\n },\n large: {\n size: u(5),\n iconSize: 4,\n radius: 'var(--lns-radius-175)',\n },\n};\n\nexport const IconButtonBox = styled.button<IconButtonBoxProps>`\n background-color: ${props =>\n getColorValue(\n props.isActive ? 'backgroundActive' : props.backgroundColor\n ) || 'transparent'};\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: ${props => sizeStyles[props.size].size};\n height: ${props => sizeStyles[props.size].size};\n position: relative;\n outline: 1px solid transparent;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: ${props => sizeStyles[props.size].radius};\n font: inherit;\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: ${props => sizeStyles[props.size].radius};\n }\n\n &:focus-visible:before {\n ${getFocusRing()};\n }\n\n &:focus::-moz-focus-inner {\n border: 0;\n }\n`;\n\ntype AllProps = IconButtonProps &\n React.ComponentProps<typeof IconButtonBox> &\n Omit<\n LensButtonProps,\n keyof IconButtonProps & React.ComponentProps<typeof IconButtonBox>\n >;\n\nconst IconButton = React.forwardRef(\n (\n {\n altText,\n icon,\n onClick,\n iconColor = 'body',\n backgroundColor,\n isActive,\n isDisabled,\n size = 'medium',\n htmlTag = 'button',\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => (\n <IconButtonBox\n aria-label={altText}\n onClick={htmlTag === 'button' ? onClick : undefined}\n isActive={isActive}\n disabled={isDisabled}\n size={size}\n backgroundColor={backgroundColor}\n as={htmlTag}\n ref={ref}\n {...props}\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledContent' : iconColor}\n />\n </IconButtonBox>\n )\n);\n\nIconButton.displayName = 'IconButton';\n\ntype IconButtonProps = {\n altText: string;\n icon?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n iconColor?: string;\n backgroundColor?: string;\n isActive?: boolean;\n isDisabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n href?: string;\n target?: string;\n};\n\ntype IconButtonBoxProps = {\n size?: 'small' | 'medium' | 'large';\n isActive?: boolean;\n backgroundColor?: string;\n as?: 'button' | 'a';\n};\n\nexport default IconButton;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nconst SvgCheckboxCheck = props => (\n <svg width={12} height={9} viewBox=\"0 0 12 9\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.707.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 011.414-1.414L4 6.586 10.293.293a1 1 0 011.414 0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SvgCheckboxMinus = props => (\n <svg width={12} height={2} viewBox=\"0 0 12 2\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1a1 1 0 011-1h10a1 1 0 110 2H1a1 1 0 01-1-1z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst CheckboxWrapper = styled.div`\n display: block;\n position: relative;\n`;\n\nconst CheckboxInput = styled.input`\n height: 100%;\n margin: 0;\n opacity: 0;\n position: absolute;\n width: 100%;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .CheckboxBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .CheckboxBox,\n &:indeterminate ~ .CheckboxBox {\n background-color: ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .CheckboxBox {\n pointer-events: none;\n }\n\n &:disabled ~ .CheckboxBox {\n background-color: ${getColorValue('disabledBackground')};\n\n .Icon {\n color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .CheckboxBox {\n ${getFocusRing()};\n }\n\n & ~ .CheckboxBox .Icon {\n display: none;\n color: ${getColorValue('background')};\n }\n\n &:checked ~ .CheckboxBox .IconCheck {\n display: block;\n }\n\n &:indeterminate ~ .CheckboxBox .IconMinus {\n display: block;\n }\n`;\n\nconst CheckboxBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n border-radius: ${u(0.5)};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n`;\n\nconst Checkbox = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n isIndeterminate,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: CheckboxProps & React.ComponentProps<typeof CheckboxInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const defaultRef = useRef<HTMLInputElement>();\n const checkboxRef =\n (ref as React.MutableRefObject<HTMLInputElement>) || defaultRef;\n\n const iconColor = getColorValue(\n isDisabled ? 'disabledContent' : 'currentColor'\n );\n\n useEffect(() => {\n checkboxRef.current.indeterminate = isIndeterminate;\n });\n\n return (\n <CheckboxWrapper>\n <CheckboxInput\n type=\"checkbox\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={checkboxRef}\n aria-checked={isChecked}\n {...props}\n />\n <CheckboxBox className=\"CheckboxBox\">\n <SvgCheckboxMinus className=\"Icon IconMinus\" color={iconColor} />\n <SvgCheckboxCheck className=\"Icon IconCheck\" color={iconColor} />\n </CheckboxBox>\n </CheckboxWrapper>\n );\n }\n);\n\ntype CheckboxProps = {\n isChecked?: boolean;\n isIndeterminate?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Checkbox;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n textSize: 'small',\n iconSize: 2.25,\n height: u(3),\n xSpace: u(1),\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n textSize: 'medium',\n iconSize: 3,\n height: u(4),\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n large: {\n textSize: 'large',\n iconSize: 4,\n height: u(6),\n xSpace: u(3),\n radius: 'var(--lns-radius-200)',\n },\n};\n\nconst TextButtonWrapper = styled.button<TextButtonWrapperProps>`\n background-color: ${props =>\n props.isActive ? getColorValue('backgroundActive') : 'transparent'};\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n font: inherit;\n text-decoration: none;\n border: none;\n appearance: none;\n height: ${props => sizeStyles[props.size].height};\n cursor: pointer;\n transition: 0.6s background-color;\n color: ${props => getColorValue(props.color || 'body')};\n ${getFontWeight('bold')};\n border-radius: ${props => sizeStyles[props.size].radius};\n ${props => getTextSize(sizeStyles[props.size].textSize)};\n padding: 0 ${props => sizeStyles[props.size].xSpace};\n ${props =>\n props.offsetSide &&\n `margin-${props.offsetSide}: calc(-1 * ${sizeStyles[props.size].xSpace})`};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n`;\n\ntype AllProps = TextButtonProps &\n React.ComponentProps<typeof TextButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>\n >;\n\nconst TextButton = React.forwardRef(\n (\n {\n onClick,\n size = 'medium',\n children,\n icon,\n iconPosition = 'left',\n isActive,\n isDisabled,\n htmlTag,\n offsetSide,\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const iconComponent = (\n <Container\n paddingLeft={iconPosition === 'right' && 'small'}\n paddingRight={iconPosition === 'left' && 'small'}\n htmlTag=\"span\"\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledColor' : undefined}\n />\n </Container>\n );\n\n return (\n <TextButtonWrapper\n onClick={onClick}\n size={size}\n icon={icon}\n iconPosition={iconPosition}\n disabled={isDisabled}\n isActive={isActive}\n as={htmlTag}\n offsetSide={offsetSide}\n ref={ref}\n {...props}\n >\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </TextButtonWrapper>\n );\n }\n);\n\nTextButton.displayName = 'TextButton';\n\ntype TextButtonProps = {\n onClick?: React.ReactEventHandler;\n isDisabled?: boolean;\n isActive?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n href?: string;\n target?: string;\n type?: string;\n};\n\ntype TextButtonWrapperProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n as?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n isActive?: boolean;\n};\n\nexport default TextButton;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n type HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport type { LensDivProps } from '../../types';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { unit } from '../../variables';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport SearchBar from '../search-bar/search-bar';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\n// Reserve padding for side-positioned menus to prevent them from touching viewport edges\nconst SIDE_MENU_PADDING_UNITS = 2;\n\nconst SelectWrapper = styled.div`\n position: relative;\n`;\n\nconst SelectHeaderWrapper = styled.button<SelectHeaderProps>`\n appearance: none;\n font: inherit;\n text-align: left;\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n align-items: center;\n cursor: pointer;\n width: 100%;\n min-height: ${u(4.5)};\n padding: 0 ${u(1.5)} 0 var(--lns-formFieldHorizontalPadding);\n color: ${getColorValue('body')};\n border: none;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n &:hover:not(:disabled) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:focus:hover {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n cursor: default;\n }\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst Image = styled.img<Pick<SelectProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return selectPlaceholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n const toggleLabel = getToggleButtonProps?.()['aria-label'];\n return {\n 'aria-expanded': isOpen,\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, toggleLabel, valueLabel]\n .filter(Boolean)\n .join(', '),\n };\n};\n\nconst SelectHeader = ({\n getToggleButtonProps,\n inputValue,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n hasError,\n isOpen,\n}: SelectHeaderProps & React.ComponentProps<typeof SelectHeaderWrapper>) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n\n const hasPlaceholder = !selectedOptionValue && !selectedItem;\n const iconColumn = hasIcon ? 'auto' : '';\n const columns = `${iconColumn} 1fr auto`;\n const color = isDisabled ? 'disabledContent' : undefined;\n\n return (\n <SelectHeaderWrapper\n {...getToggleButtonProps()}\n {...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n })}\n hasValue={inputValue || selectedOptionValue}\n disabled={isDisabled}\n columns={columns}\n hasError={hasError}\n >\n {hasIcon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={getIcon({ options, selectedItem, selectedOptionValue })}\n color={color}\n />\n ))}\n <Text hasEllipsis color={hasPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n })}\n </Text>\n <Icon icon={<SvgChevronDown />} color={color} />\n </SelectHeaderWrapper>\n );\n};\n\nconst CustomHeader = ({\n selectedOptionValue,\n selectedItem,\n trigger,\n getToggleButtonProps,\n options,\n selectPlaceholder,\n isDisabled,\n getInputProps,\n ariaMenuName,\n hasError,\n errorMessage,\n isOpen,\n}) => {\n const buttonProps = () => {\n return {\n ...getToggleButtonProps(),\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n }),\n };\n };\n const getSelectedItem = (): OptionsObject | undefined => {\n if (selectedItem) {\n return selectedItem;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue });\n }\n };\n\n const triggerContent = {\n ...getSelectedItem(),\n placeholder: selectPlaceholder,\n isDisabled,\n hasError,\n errorMessage,\n };\n\n return trigger(triggerContent, buttonProps());\n};\n\nconst getSelectedOption = (\n value: string,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | undefined => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value);\n }\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect = false\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n keyboardMove={keyboardMove && highlightedIndex === index}\n isSelected={isSelected}\n showDeselectIcon={allowsDeselect && isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst SelectMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n search,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect,\n ...menuProps\n}) => {\n if (!isGrouped(options)) {\n return (\n <Menu search={search} {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu search={search} {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Select = ({\n container,\n onChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n triggerOffset = 0,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n trigger,\n hasError,\n errorMessage = \"Oops, that didn't work.\",\n search,\n allowsDeselect = false,\n ...props\n}: SelectProps &\n Omit<React.ComponentProps<typeof SelectWrapper>, keyof SelectProps> &\n Omit<\n LensDivProps,\n keyof SelectProps & React.ComponentProps<typeof SelectWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n // Call backend search callback if provided\n search?.onSearch?.(value);\n };\n\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options) ?? null\n );\n\n const onDownshiftChange = item => {\n // If allowsDeselect is enabled and user clicks the already-selected item, deselect it\n const isCurrentlySelected =\n (selectedItem && item && item.value === selectedItem.value) ||\n (!selectedItem && item && item.value === selectedOptionValue);\n\n if (allowsDeselect && isCurrentlySelected) {\n setSelectedItem(null);\n setDownshiftIsOpen(false);\n // Cast to any because type says OptionsObject, but we pass null when allowsDeselect=true\n onChange && onChange(null as any);\n } else {\n setSelectedItem(item ?? null);\n\n // Only call onChange if we have a valid item\n if (item) {\n onChange && onChange(item);\n } else if (allowsDeselect) {\n // Cast to any because type says OptionsObject, but we pass null when allowsDeselect=true\n onChange && onChange(null as any);\n }\n // If no item and allowsDeselect is false, don't call onChange\n }\n };\n\n // Sync Downshift's isOpen state back to our component state\n const onStateChange = changes => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onStateChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n // [0] Determine if the menu is side-positioned\n // For side-positioned menus (leftTop, rightTop), disable auto-repositioning\n // so the menu stays fixed to the side and an internal scroll is created instead so that the position\n // is actually considered \"locked\"\n const isSideMenu = menuPosition === 'leftTop' || menuPosition === 'rightTop';\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: !isSideMenu,\n snap: !isSideMenu,\n triggerOffset,\n });\n\n // [1] Calculate max height for side menus based on available space from trigger to viewport bottom\n // This ensures the menu aligns with the trigger top and fits within the viewport\n const effectiveMenuMaxHeight = useMemo(() => {\n if (isSideMenu && typeof window !== 'undefined' && triggerBounds) {\n // [2] Calculate available vertical space from trigger top to viewport bottom\n const viewportHeight = window.innerHeight;\n const availableHeight = viewportHeight - triggerBounds.top;\n // [3] Reserve some space for padding/margin to prevent touching viewport edges\n const paddingReserve = SIDE_MENU_PADDING_UNITS * unit;\n const calculatedMaxHeight = Math.floor(\n Math.max(0, availableHeight - paddingReserve) / unit\n );\n\n return menuMaxHeight\n ? Math.min(menuMaxHeight as number, calculatedMaxHeight)\n : calculatedMaxHeight;\n }\n return menuMaxHeight;\n }, [isSideMenu, menuMaxHeight, triggerBounds]);\n\n useEffect(() => {\n const expectedSelectedItem =\n getSelectedOption(selectedOptionValue, options) ?? null;\n\n // Only update if the expected item is different from current state\n if (expectedSelectedItem?.value !== selectedItem?.value) {\n setSelectedItem(expectedSelectedItem);\n }\n }, [selectedOptionValue, options, selectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n // Reset search value when dropdown closes\n if (!downshiftIsOpen) {\n setSearchValue('');\n // Call onSearch with empty string to reset backend results\n search?.onSearch?.('');\n }\n // Only depend on search?.onSearch to avoid re-running when search object reference changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [downshiftIsOpen, onOpenChange, search?.onSearch]);\n\n const stateReducer = (state, changes) => {\n // Handle deselection when clicking on already-selected item: We have to bypass the default behaviour of downshift of selecting the item again so that we can \"deselect\"\n if (\n allowsDeselect &&\n changes.type === Downshift.stateChangeTypes.clickItem &&\n changes.selectedItem\n ) {\n const isCurrentlySelected =\n (state.selectedItem &&\n changes.selectedItem.value === state.selectedItem.value) ||\n (!state.selectedItem &&\n changes.selectedItem.value === selectedOptionValue);\n\n if (isCurrentlySelected) {\n // Return null to deselect instead of selecting again and close the menu\n return { ...changes, selectedItem: null, isOpen: false };\n }\n }\n\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n return { isOpen: false };\n }\n\n return changes;\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n // If backend search is provided, skip client-side filtering and return options as-is\n // The parent component is responsible for updating the options based on search results\n if (search.onSearch) {\n return options;\n }\n\n // Client-side filtering\n // For each group, filter the items based on the search value and then remove the groups that have no items\n if (isGrouped(options)) {\n let filteredGroups;\n\n if (search.searchType === 'startsWith') {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n ),\n }));\n } else {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ),\n }));\n }\n\n return filteredGroups.reduce((acc, group) => {\n if (group.items.length > 0) {\n acc.push(group);\n }\n return acc;\n }, []);\n // If the options are not grouped, filter the options based on the search value\n }\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n\n // If the search parameter is not provided, return the options as is\n }\n return options;\n // Only depend on search?.onSearch and search?.searchType to avoid re-computing when search object reference changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, searchValue, search?.onSearch, search?.searchType]);\n\n return (\n <SelectWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\" aria-expanded={undefined}>\n <div {...triggerProps}>\n {trigger ? (\n <CustomHeader\n getToggleButtonProps={() => ({\n ...getToggleButtonProps({ onKeyDown }),\n })}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n trigger={trigger}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n errorMessage={errorMessage}\n isOpen={isOpen}\n />\n ) : (\n <SelectHeader\n getToggleButtonProps={() => ({\n ...getToggleButtonProps({ onKeyDown }),\n })}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n options={options}\n inputValue={inputValue}\n isDisabled={isDisabled}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n isOpen={isOpen}\n />\n )}\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <SelectMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n position={menuPosition}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n maxWidth={menuMaxWidth}\n maxHeight={effectiveMenuMaxHeight}\n minWidth={menuMinWidth}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n keyboardMove={keyboardMove}\n setKeyboardMove={setKeyboardMove}\n allowsDeselect={allowsDeselect}\n />\n </div>\n )}\n {hasError && !downshiftIsOpen && (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n )}\n </div>\n );\n }}\n </Downshift>\n </SelectWrapper>\n );\n};\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n /**\n * Optional callback for backend search. When provided, client-side filtering is disabled\n * and this callback is called whenever the search input changes.\n * Use this to fetch search results from your backend API.\n */\n onSearch?: (searchValue: string) => void;\n};\n\ntype SelectProps = {\n /**\n * Callback when selection changes.\n * - When allowsDeselect is NOT set (default): selectedOption is always an OptionsObject\n * - When allowsDeselect=true: selectedOption can be null when user deselects\n *\n * Note: The type shows only OptionsObject for backwards compatibility, but at runtime\n * null is passed when allowsDeselect=true. If using allowsDeselect, check for null.\n */\n onChange?: (selectedOption: OptionsObject) => void;\n isDisabled?: boolean;\n placeholder?: React.ReactNode;\n selectedOptionValue?: string | null;\n menuZIndex?: number;\n menuMaxWidth?: string | number;\n menuMaxHeight?: string | number;\n menuMinWidth?: string | number;\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'rightTop'\n | 'leftTop';\n triggerOffset?: number;\n ariaMenuName?: string;\n options?: OptionsObject[] | GroupedOptionsObject[];\n container?: HTMLElement | (() => HTMLElement | null);\n onOuterClick?: () => void;\n onOpenChange?: (isOpen: boolean) => void;\n trigger?: (triggerContent, buttonProps) => void;\n hasError?: boolean;\n errorMessage?: string;\n search?: SearchProps;\n /**\n * When true, clicking the selected item will deselect it and pass null to onChange.\n * When false/undefined, clicking the selected item does nothing.\n */\n allowsDeselect?: boolean;\n};\n\ntype SelectHeaderProps = {\n getToggleButtonProps?: any;\n inputValue?: string;\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n selectPlaceholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n columns?: string;\n getInputProps?: any;\n ariaMenuName?: string;\n hasError?: boolean;\n isOpen?: boolean;\n};\n\nexport default Select;\n", "export const getDownshiftEnvironment = container => {\n const rootNode = container?.()?.getRootNode?.();\n\n if (String(rootNode) === '[object ShadowRoot]') {\n // Create a polyfill for Downshift to not throw errors when appended to a shadow DOM\n // See: https://github.com/downshift-js/downshift/issues/834\n rootNode.createElement = (...args) =>\n rootNode.ownerDocument.createElement(...args);\n\n const downshiftPolyfill = rootNode.createElement('div');\n\n downshiftPolyfill.id = 'a11y-status-message';\n downshiftPolyfill.style.display = 'none';\n\n rootNode.appendChild(downshiftPolyfill);\n\n // Necessary properties for Downshift to register clicks inside a shadow DOM.\n // See: https://github.com/downshift-js/downshift/issues/536\n return {\n document: rootNode,\n addEventListener: rootNode.addEventListener.bind(rootNode),\n removeEventListener: rootNode.removeEventListener.bind(rootNode),\n };\n }\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n return window;\n};\n", "import React from 'react';\n\nexport const getTextFromNode = (node: React.ReactNode) => {\n if (typeof node === 'string') {\n return node;\n }\n\n if (\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n typeof node === 'bigint'\n ) {\n return node.toString();\n }\n\n if (node === null || node === undefined) {\n return '';\n }\n\n if (isIterable(node)) {\n return Array.from(node).map(getTextFromNode).join('');\n }\n\n if (\n typeof node === 'object' &&\n 'props' in node &&\n node.props &&\n node.props.children !== undefined\n ) {\n return getTextFromNode(node.props.children);\n }\n\n return '';\n};\n\nconst isIterable = (\n node: React.ReactNode\n): node is Iterable<React.ReactNode> => {\n return typeof node[Symbol.iterator] === 'function';\n};\n", "import * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <span aria-hidden={true} data-testid=\"ads-refreshed-icon\">\n <svg viewBox=\"-2 -2 16 16\">\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M2.03 3.97 6 7.94l3.97-3.97 1.06 1.06-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getOffsetFocusRing,\n u,\n} from '../../utilities';\n\nimport { SvgCheck } from '../icon/available-icons/check';\nimport { SvgClose } from '../icon/available-icons/close';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ntype MenuPositionsProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left-start'\n | 'right-start';\n};\n\nexport const menuPositions: MenuPositionsProps = {\n left: 'bottom-start',\n right: 'bottom-end',\n ['topLeft']: 'top-start',\n ['topRight']: 'top-end',\n leftSide: 'left-start',\n rightSide: 'right-start',\n rightTop: 'right-start',\n leftTop: 'left-start',\n};\n\nconst MenuContainer = styled.div<MenuProps>`\n background-color: ${getColorValue('overlay')};\n display: flex;\n flex-direction: column;\n margin: 0;\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n z-index: ${props => props.zIndex};\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\n overflow: hidden;\n`;\n\nconst SearchWrapper = styled.div`\n flex-shrink: 0;\n`;\n\nconst MenuWrapper = styled.ul<MenuProps>`\n padding: ${props =>\n props.search ? `0 ${u(1.5)} ${u(1.5)} ${u(1.5)}` : u(1.5)};\n list-style: none;\n overflow: auto;\n margin: 0;\n flex: 1 1 auto;\n min-height: 0;\n`;\n\nconst MenuItemWrapper = styled.li<MenuItemProps>`\n display: ${({ hidden }) => (hidden ? 'none' : 'grid')};\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n ${getRadius('175')};\n align-items: center;\n min-height: ${u(5)};\n padding: 0 ${u(2)};\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:focus-visible {\n outline: 1px solid transparent;\n ${getOffsetFocusRing()};\n }\n ${props =>\n props.isHighlighted &&\n !props.isDisabled &&\n `\n background-color: ${getColorValue('backgroundHover')};\n `};\n ${props =>\n props.keyboardMove &&\n props.isHighlighted &&\n !props.isDisabled &&\n `\n outline: 1px solid transparent;\n ${getOffsetFocusRing()};\n `};\n ${props =>\n props.hasDivider &&\n `\n position: relative;\n margin-top: ${u(3)};\n &:before {\n content: '';\n border-top: 1px solid ${getColorValue('border')};\n position: absolute;\n top: ${u(-1.5)};\n left: ${u(-1.5)};\n width: calc(100% + ${u(3)});\n }\n `};\n\n /* Default state: show checkmark for selected items */\n .check-icon {\n display: block;\n }\n\n .deselect-icon {\n display: none;\n }\n\n /* When highlighted (mouse hover OR keyboard navigation) and allowsDeselect: swap to X */\n ${props =>\n props.showDeselectIcon && props.isHighlighted\n ? `\n .check-icon {\n display: none;\n }\n .deselect-icon {\n display: block;\n }\n `\n : ''}\n`;\n\nconst Image = styled.img<Pick<MenuItemProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nexport const MenuItem = ({\n isDisabled,\n isHighlighted,\n isSelected,\n icon,\n hasDivider,\n children,\n menuItemRole,\n keyboardMove,\n showDeselectIcon = false,\n ...props\n}: MenuItemProps & React.ComponentProps<typeof MenuItemWrapper>) => {\n const checkColumn = isSelected ? 'auto' : '';\n const iconColumn = icon ? 'auto' : '';\n const columns = `${iconColumn} 1fr ${checkColumn}`;\n const color = isDisabled ? 'disabledContent' : undefined;\n const updatedProps = menuItemRole\n ? {\n ...props,\n role: menuItemRole,\n }\n : props;\n\n return (\n <MenuItemWrapper\n isHighlighted={isHighlighted}\n isDisabled={isDisabled}\n keyboardMove={keyboardMove}\n columns={columns}\n hasDivider={hasDivider}\n tabIndex={isDisabled ? -1 : 0}\n data-highlighted={isHighlighted || undefined}\n showDeselectIcon={showDeselectIcon}\n {...updatedProps}\n >\n {icon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n ))}\n <Text color={color} hasEllipsis>\n {children}\n </Text>\n {isSelected && (\n <>\n <span className=\"check-icon\" aria-hidden=\"true\">\n <Icon icon={<SvgCheck />} color={color} />\n </span>\n <span className=\"deselect-icon\" aria-hidden=\"true\">\n <Icon icon={<SvgClose />} color={color} />\n </span>\n </>\n )}\n </MenuItemWrapper>\n );\n};\n\nconst Menu = ({\n position,\n zIndex,\n minWidth,\n maxWidth,\n maxHeight,\n children,\n role,\n downshiftMenuProps = () => null,\n search,\n ...props\n}: MenuProps & React.ComponentProps<typeof MenuContainer>) => {\n const updatedDownshiftMenuProps = role\n ? {\n ...downshiftMenuProps(),\n role,\n }\n : { ...downshiftMenuProps() };\n\n return (\n <MenuContainer\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n zIndex={zIndex}\n position={position}\n {...updatedDownshiftMenuProps}\n {...props}\n >\n {search && <SearchWrapper>{search}</SearchWrapper>}\n <MenuWrapper search={search}>{children}</MenuWrapper>\n </MenuContainer>\n );\n};\n\ntype MenuProps = {\n isDisabled?: boolean;\n position?: string;\n zIndex?: number;\n minWidth?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n children?: React.ReactNode;\n downshiftMenuProps?: any;\n search?: React.ReactElement;\n role?: React.AriaRole;\n};\n\ntype MenuItemProps = {\n isDisabled?: boolean;\n isHighlighted?: boolean;\n keyboardMove?: boolean;\n isSelected?: boolean;\n icon?: React.ReactNode | string;\n hasDivider?: boolean;\n children?: React.ReactNode;\n columns?: string;\n hidden?: boolean;\n menuItemRole?: React.AriaRole;\n showDeselectIcon?: boolean;\n};\n\nexport default Menu;\n", "import CheckMarkIcon from '@atlaskit/icon/core/check-mark';\nimport * as React from 'react';\n\nexport function SvgCheck() {\n return <CheckMarkIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import CloseIcon from '@atlaskit/icon/core/close';\nimport * as React from 'react';\n\nexport function SvgClose() {\n return <CloseIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { SvgSearch } from '../icon/available-icons/search';\nimport TextInput from '../text-input/text-input';\nimport { u } from '../../utilities';\n\nconst SearchBarContainer = styled.div`\n padding: ${u(1.5)} ${u(1.5)} 0;\n margin-bottom: ${u(1.5)};\n position: sticky;\n top: 0;\n`;\n\nconst SearchBar = ({\n ariaLabel,\n placeholder,\n value,\n onChange,\n getInputProps,\n}: {\n ariaLabel: string;\n placeholder: string;\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n getInputProps?: any;\n}) => {\n const inputProps = getInputProps\n ? getInputProps({\n placeholder,\n value,\n type: 'text',\n })\n : { placeholder, value, type: 'text' as const };\n\n // We need to support calling both Downshift and our custom onChange handler for backend search\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n // Call Downshift's onChange if it exists (from getInputProps)\n if (inputProps.onChange) {\n inputProps.onChange(e);\n }\n // Always call our custom onChange\n onChange(e);\n };\n\n return (\n <SearchBarContainer>\n <TextInput\n aria-label={ariaLabel}\n icon={<SvgSearch />}\n {...inputProps}\n onChange={handleChange}\n />\n </SearchBarContainer>\n );\n};\n\nexport default SearchBar;\n", "import SearchIcon from '@atlaskit/icon/core/search';\nimport * as React from 'react';\n\nexport function SvgSearch() {\n return <SearchIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\nimport { useTransition } from 'transition-hook';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport type { LensDivProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst duration = 300;\n\nconst BackdropWrapper = styled.div<BackdropProps>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: calc(100vh - calc(100vh - 100%));\n height: 100dvh;\n height: -webkit-fill-available;\n background: ${props => getColorValue(props.backgroundColor)};\n z-index: ${props => props.zIndex};\n overflow: hidden;\n`;\n\nconst ChildrenWrapper = styled.div`\n overflow: auto;\n height: 100%;\n`;\n\nconst Backdrop = React.forwardRef<\n HTMLDivElement,\n BackdropProps &\n React.ComponentProps<typeof BackdropWrapper> &\n Omit<\n LensDivProps,\n keyof BackdropProps & React.ComponentProps<typeof BackdropWrapper>\n >\n>(\n (\n {\n children,\n isOpen,\n zIndex = 1000,\n backgroundColor = 'backdropDark',\n ...props\n },\n ref\n ) => {\n const { stage, shouldMount } = useTransition(isOpen, duration);\n\n usePreventScroll('html', isOpen);\n\n return (\n <>\n {shouldMount && (\n <BackdropWrapper\n ref={ref}\n backgroundColor={backgroundColor}\n zIndex={zIndex}\n style={{\n transition: `opacity ${duration}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n }}\n {...props}\n >\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </BackdropWrapper>\n )}\n </>\n );\n }\n);\n\nBackdrop.displayName = 'Backdrop';\n\ntype BackdropProps = {\n isOpen?: boolean;\n children?: React.ReactNode;\n zIndex?: number;\n backgroundColor?: string;\n};\n\nexport default Backdrop;\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<level>, <boolean-condition>);\n *\n * `level` allows you to control whether the styles\n * are passed to html or body, whichever level makes more sense\n * for your application.\n **/\nfunction usePreventScroll(level: 'body' | 'html', enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n // Add styles if enabled\n const scrollBarWidth = window.innerWidth - html.clientWidth;\n const bodyPaddingRight =\n parseInt(\n window.getComputedStyle(body).getPropertyValue('padding-right'),\n /* Force radixValue to be base-10 system to avoid errors:\n * https://stackoverflow.com/questions/6611824/why-do-we-need-to-use-radix-parameter-when-calling-parseint\n */\n 10\n ) || 0;\n /**\n * [1] iOS and desktop Safari bug: Requires position to make `overflow: hidden`\n * prevent scrolling.\n * [2] Desktop Safari bug: Must override overflow in both directions\n * since `overflowY` won't prevent scroll if `overflowX` is applied.\n * [3] paddingRight takes into account scrollbars by running a check.\n **/\n\n switch (level) {\n case 'html': {\n html.style.position = 'relative'; /* [1] */\n html.style.overflow = 'hidden'; /* [2] */\n body.style.paddingRight = `${\n bodyPaddingRight + scrollBarWidth\n }px`; /* [3] */\n break;\n }\n case 'body': {\n body.style.setProperty('position', 'relative'); /* [1] */\n body.style.setProperty('overflow', 'hidden'); /* [2] */\n body.style.setProperty(\n 'padding-right',\n `${bodyPaddingRight + scrollBarWidth}px`\n ); /* [3] */\n break;\n }\n\n default:\n return;\n }\n }\n\n return () => {\n switch (level) {\n case 'html': {\n // TODO(LNS-221): Preserve previous style states rather than resetting to empty values for more robust utility\n html.style.position = ''; /* [1] */\n html.style.overflow = ''; /* [2] */\n body.style.paddingRight = ''; /* [3] */\n break;\n }\n case 'body': {\n body.style.removeProperty('position'); /* [1] */\n body.style.removeProperty('overflow'); /* [2] */\n body.style.removeProperty('padding-right'); /* [3] */\n break;\n }\n\n default:\n return;\n }\n };\n // TODO(LNS-215): Clear styles on return to make utility more extendable for other uses\n }, [safeDocument, enabled, level]);\n}\n\nexport default usePreventScroll;\n", "// TODO(LNS-183): Implement scroll-lock\nimport styled from '@emotion/styled';\nimport FocusTrap from 'focus-trap-react';\n\nimport React, { type PropsWithChildren, useEffect, useRef } from 'react';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport type { LensDialogProps } from '../../types';\nimport {\n getColorValue,\n getPlacement,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\nimport Backdrop from '../backdrop/backdrop';\nimport Container from '../container/container';\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst DEFAULT_MODAL_CARD_HEIGHT = '70vh';\n\nconst ContentWrapper = styled.div<ContentWrapperProps>`\n display: grid;\n grid-template-rows: ${props => props.rows};\n position: relative;\n`;\n\nconst ModalCardWrapper = styled.dialog<ModalCardProps>`\n top: ${props =>\n getPlacement(getSizeValue(props.maxHeight), props.placement).top};\n background-color: ${getColorValue('overlay')};\n color: ${getColorValue('body')};\n bottom: ${props => getPlacement(props.maxHeight, props.placement).bottom};\n ${getShadow('large')};\n ${getRadius('xlarge')};\n // Unsets bottom-radius for bottom-aligned modals\n border-bottom-left-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n border-bottom-right-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n margin: 0 auto;\n position: ${props => getPlacement(props.maxHeight, props.placement).position};\n overflow: auto;\n width: 100%;\n // TODO: LNS-150: Bake dialog resets into native resets file\n border: 0;\n padding: 0;\n &::backdrop {\n background: var(--lns-color-overlay);\n }\n`;\n\nconst CloseIconSection = styled.div`\n position: absolute;\n top: ${u(1.5)};\n right: ${u(1.5)};\n z-index: 1;\n`;\n\nconst RightButtonsSection = styled.div`\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n`;\n\nconst TitleSection = styled.div<TitleSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: ${props => props.bottom};\n flex-shrink: 0;\n`;\n\nconst ButtonsSection = styled.div<ButtonsSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-xlarge);\n padding-top: ${props =>\n props.hasDividers ? 'var(--lns-space-medium)' : props.top};\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.div<Omit<ChildrenSectionProps, 'title'>>`\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-top: ${props =>\n props.hasTitle && !props.noPadding\n ? 0\n : !props.hasTitle && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-bottom: ${props =>\n props.hasButtons && !props.noPadding\n ? 0\n : !props.hasButtons && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-left: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n padding-right: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n border-style: solid;\n border-color: ${getColorValue('border')};\n border-width: ${props => (props.hasDividers ? '1px 0' : '0')};\n`;\n\nconst ModalCardChildrenSection = styled.div<{ maxHeight: number | string }>`\n overflow: auto;\n\n ${props => getMaxHeight(props.maxHeight)};\n\n & > * {\n ${props => getMaxHeight(props.maxHeight)};\n }\n`;\n\nconst getMaxHeight = (maxHeight: number | string) => {\n if (typeof maxHeight === 'number') {\n return getSize('max-height', maxHeight);\n }\n\n return 'max-height: ' + maxHeight;\n};\n\nexport const ModalCard = ({\n children,\n onCloseClick,\n isOpen,\n maxWidth = 60,\n maxHeight = DEFAULT_MODAL_CARD_HEIGHT,\n placement = 'center',\n ariaLabel,\n ariaModal,\n ariaLabelledBy,\n ref,\n removeClose,\n initialFocus,\n closeOnEscape = true,\n ...props\n}: ModalCardProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n} & React.ComponentProps<typeof ModalCardWrapper> &\n Omit<\n LensDialogProps,\n keyof ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>\n >) => {\n const keyListener = e => {\n if (e.key === 'Escape' && closeOnEscape) {\n e.preventDefault();\n\n if (!removeClose) {\n onCloseClick(e);\n }\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePreventScroll('html', isOpen);\n\n return (\n <FocusTrap\n active={isOpen}\n focusTrapOptions={{\n clickOutsideDeactivates: false,\n allowOutsideClick: true,\n ...(initialFocus !== undefined ? { initialFocus } : {}),\n }}\n >\n {/* This dialog is interactable with the keyboard and need keyboard events -\n the keydown event is handled by the useEffect above.\n */}\n {/* eslint-disable-next-line styled-components-a11y/no-noninteractive-element-interactions, styled-components-a11y/click-events-have-key-events */}\n <ModalCardWrapper\n open={isOpen}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n placement={placement}\n onClick={e => e.stopPropagation()}\n ref={ref}\n aria-label={ariaLabel}\n aria-modal={ariaModal}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {!removeClose && onCloseClick && (\n <CloseIconSection>\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n size=\"small\"\n onClick={onCloseClick}\n />\n </CloseIconSection>\n )}\n <ModalCardChildrenSection\n // If we are hiding the close button, we have to make the child container tab-able to allow <FocusTrap/> to\n // render, since it fails if there is not at least one tab-able node.\n {...(removeClose ? { tabIndex: 0 } : { tabIndex: -1 })}\n maxHeight={maxHeight}\n >\n {children}\n </ModalCardChildrenSection>\n </ModalCardWrapper>\n </FocusTrap>\n );\n};\n\ntype AllProps = ModalProps & React.ComponentProps<typeof Backdrop>;\n\nconst Modal = React.forwardRef(\n (\n {\n children,\n id,\n isOpen,\n mainButton,\n secondaryButton,\n alternativeButton,\n title,\n noPadding,\n onCloseClick,\n onBackgroundClick,\n onKeyDown,\n hasDividers,\n maxHeight = '70vh',\n maxWidth = 60,\n placement = 'center',\n zIndex = 1000,\n ariaLabel,\n ariaModal = true,\n ariaLabelledBy,\n initialFocus,\n ...props\n }: AllProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n },\n ref: React.ForwardedRef<HTMLDialogElement>\n ) => {\n const backdropRef = useRef<HTMLDivElement>(null);\n const titleId = id ? `${id}-modal-title` : 'modal-title';\n const hasButtons =\n mainButton || secondaryButton || alternativeButton ? true : false;\n const closeClickHandler = e => {\n if (onBackgroundClick) {\n e.stopPropagation();\n onBackgroundClick(e);\n\n return;\n }\n\n onCloseClick(e);\n };\n\n // Hide all non-modal content from screen readers when modal is open\n useEffect(() => {\n if (!isOpen || !backdropRef.current) {\n return;\n }\n\n const container = backdropRef.current.parentElement;\n\n if (!container) {\n return;\n }\n\n // Hide all children of container except the modal backdrop\n const siblings = Array.from(container.children).filter(\n child => child !== backdropRef.current && child instanceof HTMLElement\n ) as HTMLElement[];\n\n siblings.forEach(sibling => {\n if (!sibling.hasAttribute('aria-hidden')) {\n sibling.setAttribute('aria-hidden', 'true');\n sibling.setAttribute('data-lens-modal-hidden', 'true');\n }\n });\n\n return () => {\n // Remove aria-hidden from all elements we marked\n const hiddenElements = document.querySelectorAll(\n '[data-lens-modal-hidden]'\n );\n hiddenElements.forEach(element => {\n element.removeAttribute('aria-hidden');\n element.removeAttribute('data-lens-modal-hidden');\n });\n };\n }, [isOpen]);\n\n return (\n <Backdrop ref={backdropRef} isOpen={isOpen} zIndex={zIndex} {...props}>\n <Container\n height=\"100%\"\n onClick={closeClickHandler}\n onKeyDown={onKeyDown}\n >\n <ModalCard\n ref={ref}\n id={id}\n isOpen={isOpen}\n maxHeight={maxHeight}\n maxWidth={maxWidth}\n placement={placement}\n onCloseClick={onCloseClick}\n ariaLabel={ariaLabel}\n ariaModal={ariaModal}\n ariaLabelledBy={ariaLabelledBy ?? titleId ?? undefined}\n initialFocus={initialFocus}\n >\n <ContentWrapper\n rows={`${title ? 'auto ' : ''} ${children ? '1fr ' : ''} ${\n hasButtons ? 'auto' : ''\n }`}\n >\n {title && (\n <TitleSection\n bottom={\n children\n ? 'var(--lns-space-medium)'\n : 'var(--lns-space-xlarge)'\n }\n >\n <Text htmlTag=\"h1\" variant=\"title\" id={titleId}>\n {title}\n </Text>\n </TitleSection>\n )}\n <ChildrenSection\n noPadding={noPadding}\n hasDividers={hasDividers}\n hasTitle={Boolean(title)}\n hasButtons={hasButtons}\n >\n {children && children}\n </ChildrenSection>\n\n {hasButtons && (\n <ButtonsSection\n top={children ? 'var(--lns-space-xlarge)' : 0}\n hasDividers={hasDividers}\n >\n {alternativeButton}\n <RightButtonsSection>\n {secondaryButton && (\n <Spacer right=\"small\" isInline>\n {secondaryButton}\n </Spacer>\n )}\n {mainButton}\n </RightButtonsSection>\n </ButtonsSection>\n )}\n </ContentWrapper>\n </ModalCard>\n </Container>\n </Backdrop>\n );\n }\n);\n\ntype ModalProps = PropsWithChildren<{\n isOpen?: boolean;\n mainButton?: React.ReactNode;\n secondaryButton?: React.ReactNode;\n alternativeButton?: React.ReactNode;\n title?: React.ReactNode;\n onCloseClick?: React.ReactEventHandler;\n onBackgroundClick?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n hasDividers?: boolean;\n maxHeight?: number | string;\n maxWidth?: number | string;\n noPadding?: boolean;\n placement?: 'center' | 'bottom';\n zIndex?: number;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n}>;\n\ntype ModalCardProps = PropsWithChildren<{\n id?: string;\n isOpen?: boolean;\n onKeyDown?: React.ReactEventHandler;\n onCloseClick?: React.ReactEventHandler;\n closeOnEscape?: boolean;\n placement?: string;\n maxHeight?: number | string;\n maxWidth?: number | string;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n removeClose?: boolean;\n}>;\n\ntype ChildrenSectionProps = {\n title?: React.ReactNode;\n hasButtons?: boolean;\n hasDividers?: boolean;\n hasTitle: boolean;\n noPadding?: boolean;\n};\n\ntype ButtonsSectionProps = {\n top?: string | number;\n hasDividers?: boolean;\n};\n\ntype TitleSectionProps = {\n bottom: number | string;\n};\n\ntype ContentWrapperProps = {\n rows: string;\n};\n\nexport default Modal;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensAnchorProps } from '../../types';\nimport { getColorValue, getFocusRing } from '../../utilities';\n\nconst variants = {\n neutral: {\n color: getColorValue('inherit'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n primary: {\n color: getColorValue('primary'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n subtle: {\n color: getColorValue('body'),\n focusRing: getFocusRing(),\n underline: 'hover',\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n pointer-events: none;\n color: ${getColorValue('disabledContent')};\n `,\n};\n\nconst buttonStyles = {\n isButton: css`\n background: none;\n border: none;\n font: inherit;\n `,\n};\n\nconst LinkWrapper = styled.a<LinkWrapperProps>`\n ${props => !props.disabled && `color: ${variants[props.variant].color}`};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.enabled)};\n ${props => props.as === 'button' && buttonStyles.isButton};\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'inactive' ? 'underline' : 'none'\n }`};\n border-radius: 0.28em;\n box-shadow: 0 0 0 1px transparent;\n text-underline-offset: 0.35em;\n transition: 0.3s box-shadow;\n ${props =>\n props.noWrap &&\n css`\n white-space: nowrap;\n `}\n &:hover {\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'hover' ? 'underline' : 'none'\n }`};\n }\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing()};\n }\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\n// This implementation can trigger false positives for accessibility rules\n// TODO: Improve button link semantics to avoid jsx-a11y/anchor-is-valid warnings\nconst Link = ({\n children,\n href,\n variant = 'primary',\n htmlTag = 'a',\n isDisabled,\n noWrap,\n ...props\n}: LinkProps &\n React.ComponentProps<typeof LinkWrapper> &\n Omit<\n LensAnchorProps,\n keyof LinkProps & React.ComponentProps<typeof LinkWrapper>\n >) => (\n <LinkWrapper\n href={href}\n variant={variant}\n as={htmlTag}\n disabled={isDisabled}\n noWrap={noWrap}\n {...props}\n >\n {children}\n </LinkWrapper>\n);\n\nexport const availableVariants = Object.keys(variants);\n\ntype LinkProps = {\n children?: React.ReactNode;\n href?: string;\n variant?: 'neutral' | 'primary' | 'subtle';\n htmlTag?: 'button' | 'a';\n isDisabled?: boolean;\n noWrap?: boolean;\n onClick?: React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n};\n\ntype LinkWrapperProps = {\n children?: React.ReactNode;\n href?: string;\n disabled?: boolean;\n noWrap?: boolean;\n variant?: 'neutral' | 'primary' | 'subtle';\n as?: string;\n target?: string;\n};\n\nexport default Link;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getColorValue, getRadius, getTextSize, u } from '../../utilities';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst sizesStyles = {\n small: {\n padding: `${u(1.5)} ${u(1.75)}`,\n textSize: 'small',\n },\n medium: {\n padding: `${u(1.5)} var(--lns-formFieldHorizontalPadding)`,\n textSize: 'medium',\n },\n};\n\nconst TextareaWrapper = styled.textarea<TextareaProps>`\n width: 100%;\n border: none;\n font-family: inherit;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding: ${props => sizesStyles[props.size].padding};\n ${getRadius('250')};\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n ${props =>\n props.error\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-formFieldBorder)'};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n resize: ${props => props.resize};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.error ? 'var(--lns-color-danger)' : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid\n ${props => (props.error ? 'var(--lns-color-orangeLight)' : 'transparent')};\n box-shadow: ${props =>\n props.error\n ? 'var(--lns-formFieldBorderShadowError)'\n : 'var(--lns-formFieldBorderShadowFocus)'};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst Textarea = React.forwardRef(\n (\n {\n onChange,\n value,\n rows = 4,\n isDisabled,\n placeholder,\n size = 'medium',\n resize = 'both',\n error = null,\n ...props\n }: TextareaProps & React.ComponentProps<typeof TextareaWrapper>,\n ref: React.ForwardedRef<HTMLTextAreaElement>\n ) => (\n <>\n <TextareaWrapper\n disabled={isDisabled}\n onChange={onChange}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n value={value}\n size={size}\n resize={resize}\n error={error}\n {...props}\n />\n {error ? (\n <>\n <Spacer bottom=\"xmsall\" />\n <Text color=\"danger\" fontWeight=\"regular\" size=\"body-md\">\n {error}\n </Text>\n </>\n ) : null}\n </>\n )\n);\n\ntype TextareaProps = {\n rows?: number;\n value?: string;\n placeholder?: string;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'small' | 'medium';\n resize?: 'none' | 'both' | 'horizontal' | 'vertical';\n error?: string;\n};\n\nexport default Textarea;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n type HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n forwardRef,\n useRef,\n useCallback,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport type { LensDivProps } from '../../types';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Loader from '../loader/loader';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst TypeaheadWrapper = styled.div`\n position: relative;\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return placeholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n ariaMenuName,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, valueLabel].filter(Boolean).join(', '),\n };\n};\n\nconst TypeaheadHeaderWrapper = styled.button`\n position: relative;\n width: 100%;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nconst TypeaheadInputField = styled.input<{\n hasIcon?: boolean;\n hasAddOn?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n}>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: var(--lns-formFieldHeight);\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n id: ${props => props.id};\n padding-left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n padding-right: ${props =>\n props.hasAddOn ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${getSize('font-size', 'medium')};\n\n &:hover:not(:disabled):not(:focus) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst IconSection = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${u(6)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n left: 0;\n`;\n\nconst AddOnSection = styled.div`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${u(6)};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextOverlay = styled.div<{ hasIcon?: boolean }>`\n position: absolute;\n top: 0;\n left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n right: ${u(5.5)};\n bottom: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: inherit;\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst TypeaheadImage = styled.img<{ isDisabled?: boolean }>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst TypeaheadHeader = ({\n selectedItem,\n selectedOptionValue,\n placeholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n isOpen,\n onInputFocus,\n hasError,\n hasLoader,\n inputValue,\n handleInputValueChange,\n inputRef,\n id,\n onKeyDown,\n}: TypeaheadHeaderProps) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n const color = isDisabled ? 'disabledContent' : undefined;\n\n const handleClickAndFocus = () => {\n if (!isDisabled) {\n onInputFocus();\n }\n };\n\n const baseInputProps = getInputProps({\n id,\n 'aria-labelledby': undefined,\n disabled: isDisabled,\n onFocus: handleClickAndFocus,\n onClick: handleClickAndFocus,\n value: inputValue,\n onBlur: () => {\n handleInputValueChange('');\n },\n onChange: e => handleInputValueChange(e.target.value),\n });\n\n const inputProps = {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isOpen,\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n ariaMenuName,\n }),\n ...baseInputProps,\n onKeyDown: (e: React.KeyboardEvent) => {\n onKeyDown?.(e);\n baseInputProps.onKeyDown?.(e);\n },\n };\n\n const showPlaceholder = !inputValue && !selectedOptionValue;\n\n return (\n <TypeaheadHeaderWrapper onClick={handleClickAndFocus} disabled={isDisabled}>\n {hasIcon && (\n <IconSection>\n {typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <TypeaheadImage src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n )}\n </IconSection>\n )}\n\n <TypeaheadInputField\n ref={inputRef}\n {...inputProps}\n hasIcon={hasIcon}\n hasAddOn={true}\n hasError={hasError}\n isDisabled={isDisabled}\n />\n\n {!inputValue && (\n <TextOverlay hasIcon={hasIcon}>\n <Text hasEllipsis color={showPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n })}\n </Text>\n </TextOverlay>\n )}\n\n <AddOnSection>\n {hasLoader ? (\n <Loader size=\"small\" />\n ) : (\n <Icon icon={<SvgChevronDown />} color={color} />\n )}\n </AddOnSection>\n </TypeaheadHeaderWrapper>\n );\n};\n\nconst getSelectedOption = (\n value: string | null,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | null => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value) ?? null;\n }\n\n return null;\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string | null,\n prevSelectedItem: OptionsObject | null\n) => {\n const didChange = (selectedOptionValue || null) != prevSelectedItem?.value;\n\n return didChange;\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n keyboardMove={keyboardMove && highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst TypeaheadMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n hasAvailableOptions,\n ...menuProps\n}) => {\n const defaultLoadingMessage = loadingMessage || <Loader />;\n const defaultEmptyResultsMessage = emptyResultsMessage || 'No results';\n\n if (isLoading) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultLoadingMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!hasAvailableOptions) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultEmptyResultsMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!isGrouped(options)) {\n return (\n <Menu {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text\n id={groupId}\n size=\"body-sm\"\n fontWeight=\"bold\"\n htmlTag={group.headingTag || 'h2'}\n >\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Typeahead = forwardRef(\n (\n {\n container,\n onOptionChange,\n onInputValueChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n errorMessage,\n id,\n ...props\n }: TypeaheadProps &\n Omit<\n React.ComponentProps<typeof TypeaheadWrapper>,\n keyof TypeaheadProps\n > &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const environment = getDownshiftEnvironment(container);\n const internalInputRef = useRef<HTMLInputElement>(null);\n\n const inputRef = useCallback(\n (node: HTMLInputElement) => {\n internalInputRef.current = node;\n if (ref) {\n typeof ref === 'function' ? ref(node) : (ref.current = node);\n }\n },\n [ref]\n );\n\n const [inputValue, setInputValue] = useState<string>('');\n const [downshiftIsOpen, setDownshiftIsOpen] = useState<boolean>(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n const [prevSelectedItem, setPrevSelectedItem] =\n useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options)\n );\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n prevSelectedItem\n );\n\n const handleInputValueChange = (value: string) => {\n setInputValue(value);\n onInputValueChange && onInputValueChange(value);\n };\n\n const onDownshiftChange = item => {\n const value = item || null;\n\n setSelectedItem(value);\n onOptionChange && onOptionChange(value);\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const item = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(item);\n setSelectedItem(item);\n // Reset the input value when the selected option value changes\n setInputValue('');\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n if (!downshiftIsOpen) {\n internalInputRef.current?.blur();\n }\n }, [downshiftIsOpen, onOpenChange]);\n\n const hasAvailableOptions = useMemo(() => {\n if (!Array.isArray(options)) {\n return false;\n }\n\n return isGrouped(options)\n ? options.some(group => group.items.length > 0)\n : options.length > 0;\n }, [options]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n return (\n <TypeaheadWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n <TypeaheadHeader\n inputRef={inputRef}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n inputValue={inputValue}\n handleInputValueChange={handleInputValueChange}\n isOpen={downshiftIsOpen && isOpen}\n onInputFocus={() => {\n setDownshiftIsOpen(true);\n }}\n hasLoader={isLoading}\n hasError={Boolean(errorMessage)}\n id={id}\n onKeyDown={onKeyDown}\n />\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <TypeaheadMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n hasAvailableOptions={hasAvailableOptions}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n keyboardMove={keyboardMove}\n setKeyboardMove={setKeyboardMove}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n emptyResultsMessage={emptyResultsMessage}\n position={menuPosition}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n />\n </div>\n )}\n {Boolean(errorMessage) && !downshiftIsOpen ? (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n </TypeaheadWrapper>\n );\n }\n);\n\nTypeahead.displayName = 'Typeahead';\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n headingTag?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span';\n};\n\ntype TypeaheadProps = {\n menuZIndex?: number;\n menuMaxHeight?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n\n options: OptionsObject[] | GroupedOptionsObject[];\n selectedOptionValue: string | null;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n isLoading?: boolean;\n loadingMessage?: React.ReactNode;\n emptyResultsMessage?: React.ReactNode;\n errorMessage?: string;\n\n container?: HTMLElement;\n ariaMenuName?: string;\n menuMaxWidth?: string | number;\n menuMinWidth?: string | number;\n\n onInputValueChange?: (inputValue: string) => void;\n onOptionChange?: (selectedOption: OptionsObject | null) => void;\n onOpenChange?: (isOpen: boolean) => void;\n onOuterClick?: () => void;\n};\n\ntype TypeaheadHeaderProps = {\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n getInputProps?: any;\n ariaMenuName?: string;\n isOpen: boolean;\n onInputFocus: () => void;\n hasError?: boolean;\n hasLoader?: boolean;\n inputValue?: string;\n handleInputValueChange?: (inputValue: string) => void;\n inputRef?: React.RefCallback<HTMLInputElement>;\n id?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { type ChildrenFunction } from 'downshift';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport SearchBar from '../search-bar/search-bar';\n\ntype GetInputProps = Parameters<\n ChildrenFunction<Downshift>\n>[0]['getInputProps'];\n\ninterface GetAccessibilityProps {\n ariaMenuName: string | undefined;\n getInputProps: GetInputProps;\n isOpen: boolean;\n}\n\nconst getAccessibilityProps = ({\n ariaMenuName,\n getInputProps,\n isOpen,\n}: GetAccessibilityProps): {\n 'aria-activedescendant': string;\n 'aria-expanded': boolean;\n 'aria-label': string;\n} => {\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n\n 'aria-expanded': isOpen,\n\n // Provides a screen-readable label for the dropdown\n 'aria-label': ariaMenuName ? ariaMenuName : '',\n };\n};\n\nconst TriggerSection = styled.div`\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst Dropdown = ({\n ariaMenuName,\n menuPosition = 'left',\n menuZIndex = 1100,\n options,\n trigger,\n triggerCallback,\n isOpen: isOpenFromProps,\n menuMinWidth = 24,\n menuMaxWidth = 48,\n menuMaxHeight,\n container,\n onOuterClick,\n triggerOffset = 0,\n onOpenChange,\n search,\n role,\n menuItemRole,\n ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n const isOpen = isOpenFromProps || downshiftIsOpen;\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n container,\n placement: menuPositions[menuPosition],\n ResizeObserver,\n auto: true,\n snap: true,\n triggerOffset,\n });\n\n useEffect(() => {\n onOpenChange && onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n // If the search parameter is not provided, return the options as is\n }\n return options;\n }, [options, searchValue, search]);\n\n return (\n <Downshift\n stateReducer={stateReducer}\n itemToString={item => (item ? item.title : '')}\n onSelect={item =>\n item && !item.disabled && item.onClick && item.onClick()\n }\n onOuterClick={onOuterClick}\n environment={environment}\n >\n {({\n getInputProps,\n getItemProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n isOpen,\n }) => (\n <div\n {...props}\n {...(triggerCallback\n ? {\n // the Downshift component appears to set the following props,\n // which we do not want applied to this element\n role: null,\n 'aria-haspopup': null,\n 'aria-expanded': null,\n 'aria-labelledby': null,\n }\n : {})}\n >\n <div {...triggerProps}>\n {triggerCallback ? (\n triggerCallback({\n ...getToggleButtonProps({ onKeyDown }),\n ...getAccessibilityProps({\n ariaMenuName,\n getInputProps,\n isOpen,\n }),\n })\n ) : (\n <TriggerSection\n {...getToggleButtonProps({ onKeyDown, tabIndex: 0 })}\n >\n {trigger}\n </TriggerSection>\n )}\n </div>\n {isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{ ...layerProps.style, zIndex: menuZIndex }}\n >\n <Menu\n position={menuPosition}\n minWidth={menuMinWidth}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n role={role}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n keyboardMove={\n keyboardMove && highlightedIndex === index\n }\n isDisabled={item.disabled}\n isSelected={item.selected}\n icon={item.icon}\n hasDivider={item.hasDivider}\n getItemProps={getItemProps}\n menuItemRole={menuItemRole}\n index={index}\n {...getItemProps({\n key: index,\n index,\n item,\n disabled: item.disabled,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n >\n {item.title}\n </MenuItem>\n );\n })}\n </Menu>\n </div>\n )}\n </div>\n )}\n </Downshift>\n );\n};\n\ntype OptionsObject = {\n key?: string;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n disabled?: boolean;\n selected?: boolean;\n hasDivider?: boolean;\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n};\n\ntype TriggerProps =\n | {\n /** @deprecated Use triggerCallback and possibly with ariaMenuName for better accessibility support */\n trigger: React.ReactNode;\n triggerCallback?: never;\n }\n | {\n trigger?: never;\n triggerCallback: (buttonProps) => React.ReactNode;\n };\n\ntype DropdownProps = TriggerProps & {\n ariaMenuName?: string;\n // TODO: Update the menuPositions to match Tooltip placement Props\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'leftSide'\n | 'rightSide';\n options?: OptionsObject[];\n isOpen?: boolean;\n menuZIndex?: number;\n menuMinWidth?: number | string;\n menuMaxWidth?: number | string;\n menuMaxHeight?: number | string;\n container?: HTMLElement | (() => HTMLElement) | string;\n onOuterClick?: () => void;\n triggerOffset?: number;\n onOpenChange?: (isOpen: boolean) => void;\n search?: SearchProps;\n role?: React.AriaRole;\n menuItemRole?: React.AriaRole;\n};\n\nexport default Dropdown;\n", "import styled from '@emotion/styled';\nimport React, { type ReactNode, isValidElement } from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport Checkbox from '../checkbox/checkbox';\nimport Radio from '../radio/radio';\nimport Switch from '../switch/switch';\n\nconst directionStyles = {\n row: {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n alignItems: 'center',\n },\n label: { marginLeft: 'var(--lns-space-small)' },\n errorMessage: { marginLeft: 'var(--lns-space-small)' },\n },\n 'row-reverse': {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n alignItems: 'center',\n },\n label: {},\n },\n column: {\n wrapper: {},\n label: { marginBottom: 'var(--lns-space-xsmall)' },\n },\n};\n\nconst FormFieldWrapper = styled.div<FormFieldProps>`\n ${props => props.direction && directionStyles[props.direction].wrapper};\n`;\n\nconst Label = styled.label<FormFieldProps>`\n display: block;\n ${props => props.direction && directionStyles[props.direction]?.label};\n ${props => props.isLabelClickable && 'cursor: pointer'};\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\ntype InteractiveComponentType =\n | React.ComponentType<any>\n | React.ForwardRefExoticComponent<any>;\n\n// Include any Lens Components that should have a clickable label here\nconst interactiveComponents: InteractiveComponentType[] = [\n Radio,\n Checkbox,\n Switch,\n];\n\nconst isInteractiveComponent = (\n component: any\n): component is InteractiveComponentType => {\n return interactiveComponents.includes(component);\n};\n\nconst FormField = ({\n label,\n children,\n errorMessage,\n labelFor,\n direction = 'column',\n ...props\n}: FormFieldProps &\n React.ComponentProps<typeof FormFieldWrapper> &\n Omit<\n LensDivProps,\n keyof FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>\n >) => {\n // Checks if child component is interactive\n const isLabelClickable = React.Children.toArray(children).some(\n child =>\n isValidElement(child) &&\n // The child might be a div, span, etc (type string) so we\n // have to typeguard before we check if our child is of interactive\n typeof child.type !== 'string' &&\n isInteractiveComponent(child.type)\n );\n\n const labelElement = label && (\n <Label\n direction={direction}\n htmlFor={labelFor}\n isLabelClickable={isLabelClickable}\n >\n {label}\n </Label>\n );\n\n return (\n <FormFieldWrapper direction={direction} {...props}>\n {direction === 'row' && (\n <>\n {children}\n {labelElement}\n </>\n )}\n {direction === 'column' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {direction === 'row-reverse' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n </FormFieldWrapper>\n );\n};\n\ntype FormFieldProps = {\n label?: ReactNode;\n errorMessage?: string | null;\n labelFor?: string;\n children?: React.ReactNode;\n direction?: 'row' | 'column' | 'row-reverse';\n isLabelClickable?: boolean;\n};\n\nexport default FormField;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getFocusRing, getRadius, u } from '../../utilities';\n\nconst RadioLabel = styled.label`\n display: block;\n position: relative;\n\n .RadioBox:after {\n background-color: transparent;\n }\n`;\n\nconst RadioInput = styled.input`\n position: absolute;\n opacity: 0;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .RadioBox {\n pointer-events: none;\n }\n\n &:disabled ~ .RadioBox {\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:checked {\n & ~ .RadioBox:after {\n background-color: ${getColorValue('blurple')};\n }\n\n &:disabled ~ .RadioBox:after {\n background-color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .RadioBox {\n ${getFocusRing()};\n }\n`;\n\nconst RadioBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n ${getRadius('full')};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n\n &:after {\n content: '';\n width: ${u(1)};\n height: ${u(1)};\n ${getRadius('full')};\n background-color: ${getColorValue('white')};\n }\n`;\n\nconst Radio = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: RadioProps & React.ComponentProps<typeof RadioInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n return (\n <RadioLabel htmlFor={props.id}>\n <RadioInput\n type=\"radio\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={ref}\n {...props}\n />\n <RadioBox className=\"RadioBox\" />\n </RadioLabel>\n );\n }\n);\n\ntype RadioProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Radio;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensInputProps } from '../../types';\nimport { getColorValue, getOffsetFocusRing } from '../../utilities';\n\nconst sizes = {\n medium: {\n switchHeight: 16,\n switchWidth: 32,\n knobOffset: 2,\n },\n large: {\n switchHeight: 20,\n switchWidth: 36,\n knobOffset: 2,\n },\n};\n\nconst colorStyles = {\n knob: {\n active: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n inactive: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n },\n track: {\n active: {\n enabled: getColorValue('blurple'),\n disabled: getColorValue('disabledBackground'),\n },\n inactive: {\n enabled: getColorValue('grey6'),\n disabled: getColorValue('disabledBackground'),\n },\n },\n};\n\nconst getKnobTravel = props => {\n return (\n sizes[props.switchSize].switchWidth - sizes[props.switchSize].switchHeight\n );\n};\n\nconst getKnobSize = props => {\n return (\n sizes[props.switchSize].switchHeight -\n sizes[props.switchSize].knobOffset * 2\n );\n};\n\nconst SwitchLabel = styled.label`\n display: block;\n position: relative;\n`;\n\nconst SwitchInput = styled.input<SwitchInputProps>`\n position: absolute;\n opacity: 0;\n cursor: pointer;\n\n // to overlap SwitchBox and occupy the same space\n z-index: 1;\n margin: 0;\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n\n &:focus-visible ~ .SwitchBox {\n ${getOffsetFocusRing()};\n }\n &:not(:checked) {\n & + .SwitchBox {\n background-color: ${colorStyles.track.inactive.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.inactive.disabled};\n }\n }\n &:checked {\n & + .SwitchBox {\n background-color: ${colorStyles.track.active.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.active.disabled};\n }\n & + .SwitchBox:after {\n transform: translateX(${props => getKnobTravel(props)}px);\n }\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst SwitchBox = styled.div<SwitchBoxProps>`\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n position: relative;\n border-radius: var(--lns-radius-full);\n transition: 0.2s;\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:after {\n content: '';\n position: absolute;\n top: ${props => sizes[props.switchSize].knobOffset}px;\n left: ${props => sizes[props.switchSize].knobOffset}px;\n width: ${props => getKnobSize(props)}px;\n height: ${props => getKnobSize(props)}px;\n border-radius: var(--lns-radius-full);\n transition: 0.15s;\n background-color: ${props =>\n props.isDisabled\n ? colorStyles.knob.active.disabled\n : colorStyles.knob.active.enabled};\n }\n`;\n\nconst Switch = ({\n isActive,\n isDisabled,\n onChange,\n size = 'medium',\n ariaLabelledby,\n ariaLabel,\n ariaDescribedby,\n ...props\n}: SwitchProps &\n Omit<React.ComponentProps<typeof SwitchInput>, 'size'> &\n Omit<\n LensInputProps,\n keyof SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>\n >) => {\n if (ariaLabelledby && ariaLabel) {\n throw new Error(\n 'ariaLabelledby and ariaLabel serve the same purpose and therefore cannot be used at the same time. Choose the one that best suites your needs.'\n );\n }\n\n return (\n <SwitchLabel htmlFor={props.id}>\n <SwitchInput\n {...props}\n checked={isActive}\n disabled={isDisabled}\n onChange={onChange}\n type=\"checkbox\"\n switchSize={size}\n aria-labelledby={ariaLabelledby}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-checked={isActive}\n />\n <SwitchBox\n className=\"SwitchBox\"\n isDisabled={isDisabled}\n isActive={isActive}\n switchSize={size}\n />\n </SwitchLabel>\n );\n};\n\ntype SwitchProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'medium' | 'large';\n ariaLabelledby?: string;\n ariaLabel?: string;\n ariaDescribedby?: string;\n};\n\ntype SwitchInputProps = {\n switchSize?: 'medium' | 'large';\n};\n\ntype SwitchBoxProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n switchSize?: 'medium' | 'large';\n};\n\nexport default Switch;\n", "import styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport type { SeverityLevels } from './types';\nimport { usePushPageDown } from '../../hooks';\nimport type { LensAsideProps } from '../../types';\nimport { u } from '../../utilities';\nimport Align from '../align/align';\nimport Arrange from '../arrange/arrange';\nimport Container from '../container/container';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport { SvgClose } from '../icon/available-icons/close';\nimport { SvgInfo } from '../icon/available-icons/info';\nimport { SvgWarningAlert } from '../icon/available-icons/warning-alert';\nimport Icon from '../icon/icon';\nimport IconButton from '../icon-button/icon-button';\n\nconst severityStyles = {\n info: {\n bgColor: 'var(--lns-color-blurple)',\n icon: <SvgInfo />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n warning: {\n bgColor: 'var(--lns-color-warning)',\n icon: <SvgWarningAlert />,\n color: 'var(--lns-color-grey8)',\n fontFamily: 'inherit',\n },\n error: {\n bgColor: 'var(--lns-color-danger)',\n icon: <SvgAlertTriangle />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n internal: {\n icon: <span role=\"img\">\uD83D\uDD14</span>,\n color: 'var(--lns-color-tealLight)',\n bgColor: 'var(--lns-color-grey8)',\n fontFamily: 'var(--lns-fontFamily-code)',\n },\n};\n\nconst DURATION = 350;\nconst NotificationBarWrapper = styled.aside<NotificationBarWrapperProps>`\n --paddingXOffset: var(--lns-space-large);\n --alignItems: start;\n\n display: grid;\n align-items: var(--alignItems);\n justify-content: space-between;\n grid-template-columns: 1fr auto;\n ${props => `background-color: ${severityStyles[props.severity].bgColor}`};\n ${props => `font-family: ${severityStyles[props.severity].fontFamily}`};\n\n ${props => `color: ${severityStyles[props.severity].color}`};\n position: fixed;\n padding: var(--lns-space-medium) var(--paddingXOffset);\n top: 0;\n left: 0;\n transition:\n ${DURATION}ms box-shadow,\n ${DURATION}ms transform;\n width: 100%;\n box-sizing: border-box;\n z-index: 1100;\n opacity: ${props => (props.isOpen ? '1' : '0')};\n transform: ${props =>\n props.isOpen ? 'translateY(0px)' : 'translateY(-100%)'};\n @media (min-width: 872px) {\n --alignItems: center;\n }\n`;\n\nconst NotificationBar = ({\n children,\n onCloseClick,\n isOpen,\n severity = 'info',\n id,\n}: NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper> &\n Omit<\n LensAsideProps,\n keyof NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper>\n >) => {\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n onCloseClick && onCloseClick();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePushPageDown(isOpen);\n\n // NOTE: The UI for internal alert is slightly different.\n const isInternalAlert = severity === 'internal';\n\n return isOpen ? (\n <NotificationBarWrapper isOpen={isOpen} severity={severity} id={id}>\n <Arrange\n alignItems={{ default: 'start', small: 'center' }}\n justifyContent=\"space-between\"\n autoFlow={isInternalAlert ? 'column' : undefined}\n columns={!isInternalAlert ? ['1fr auto'] : undefined}\n >\n <Container\n paddingY={{ default: 'xsmall', xsmall: 0 }}\n // Visually offsets the close X so that text appears centre-aligned\n paddingLeft={\n !isInternalAlert ? { default: 0, medium: u(3.5) } : undefined\n }\n width=\"100%\"\n >\n <Arrange\n autoFlow=\"column\"\n gap={isInternalAlert ? 'medium' : 'small'}\n justifyContent=\"center\"\n >\n {severityStyles[severity]?.icon ? (\n <Align alignment=\"topLeft\">\n <Icon\n icon={severityStyles[severity].icon}\n color={\n severityStyles[severity].color ?? 'var(--lns-color-white)'\n }\n />\n </Align>\n ) : null}{' '}\n {children}\n </Arrange>\n </Container>\n </Arrange>\n {onCloseClick && (\n <IconButton\n iconColor={severityStyles[severity].color ?? 'var(--lns-color-white)'}\n tabIndex={0}\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n )}\n </NotificationBarWrapper>\n ) : null;\n};\n\ntype NotificationBarProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n severity: SeverityLevels;\n};\n\ntype NotificationBarWrapperProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n severity: SeverityLevels;\n};\n\nexport default NotificationBar;\n", "import React from 'react';\n\nexport default function useOnClickOutside(ref, handler) {\n React.useEffect(() => {\n const listener = event => {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, handler]);\n}\n", "import { useCallback, useEffect, useState } from 'react';\n\nexport default function useFocusedElement<Element extends HTMLElement>(\n ref: React.RefObject<Element>\n): boolean {\n const [isFocused, setIsFocused] = useState(false);\n\n const handleFocus = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusin' && e.target === currentRef) {\n setIsFocused(true);\n }\n },\n [ref]\n );\n\n const handleBlur = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusout' && e.target === currentRef) {\n setIsFocused(false);\n }\n },\n [ref]\n );\n\n useEffect(() => {\n // Note: `focusin` is sent whenever an element OR its children gain focus (or, it supports \"event bubbling\"). If you need to isolate it to only the parent, create a new function using 'focus' and 'blur' respectively.\n\n document.addEventListener('focusin', handleFocus);\n document.addEventListener('focusout', handleBlur);\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n document.removeEventListener('focusout', handleBlur);\n };\n }, [handleFocus, handleBlur]);\n\n return Boolean(isFocused);\n}\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<boolean-condition>);\n **/\nfunction usePushPageDown(enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n body.style.setProperty('padding-top', '3.25rem');\n body.style.setProperty('transition', 'padding-top 350ms');\n /* [1] */\n }\n\n return () => {\n body.style.removeProperty('padding-top');\n };\n }, [safeDocument, enabled]);\n}\n\nexport default usePushPageDown;\n", "import InformationCircleIcon from '@atlaskit/icon/core/information-circle';\nimport * as React from 'react';\n\nexport function SvgInfo() {\n return <InformationCircleIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import React from 'react';\n\nexport const SvgWarningAlert = props => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.42 2.293A1 1 0 0 1 8.127 2h7.245a1 1 0 0 1 .708.293l5.127 5.127a1 1 0 0 1 .293.707v7.245a1 1 0 0 1-.293.708l-5.127 5.127a1 1 0 0 1-.707.293H8.128a1 1 0 0 1-.708-.293L2.293 16.08A1 1 0 0 1 2 15.373V8.128a1 1 0 0 1 .293-.708L7.42 2.293ZM8.542 4 4 8.542v6.416L8.542 19.5h6.416l4.542-4.542V8.542L14.958 4H8.542Zm2.208 11.25a1 1 0 0 1 1-1h.009a1 1 0 1 1 0 2h-.009a1 1 0 0 1-1-1Zm2-7a1 1 0 1 0-2 0v3.5a1 1 0 1 0 2 0v-3.5Z\"\n />\n </svg>\n);\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport { getColorValue, getRadius, getShadow, u } from '../../utilities';\n\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nconst WEBAPP = 'web-app';\nconst CHROME_EXTENSION = 'chrome-extension';\nconst toastDurations = { short: 3000, medium: 5000, long: 8000 };\n\nconst enter = (toastDuration, platform) => keyframes`\n 0% {\n opacity: 0;\n transform: translate(-50%, ${u(platform === CHROME_EXTENSION ? -8 : 8)});\n }\n // (300 / toastDuration) * 100 evaluates to 10% for short. Longer durations will have the same speed of animation\n ${(300 / toastDuration) * 100}% {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n // 100 - (300 / toastDuration) * 100 evaluates to 90% for short. Longer durations will have the same speed of animation\n ${100 - (300 / toastDuration) * 100}% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nconst getTop = platform => {\n switch (platform) {\n case WEBAPP:\n return 'unset';\n case CHROME_EXTENSION:\n return u(4);\n default:\n return 'unset';\n }\n};\n\nconst getBottom = platform => {\n switch (platform) {\n case WEBAPP:\n return u(4);\n case CHROME_EXTENSION:\n return 'unset';\n default:\n return u(4);\n }\n};\n\nconst ToastWrapper = styled.div<ToastWrapperProps>`\n animation: ${props => enter(props.toastDuration, props.platform)}\n ${props => props.toastDuration}ms forwards;\n background-color: ${getColorValue('backgroundInverse')};\n ${getRadius('250')};\n top: ${props => getTop(props.platform)};\n bottom: ${props => getBottom(props.platform)};\n ${getShadow('large')};\n color: ${getColorValue('bodyInverse')};\n display: grid;\n grid-auto-flow: column;\n gap: var(--lns-space-small);\n justify-content: space-between;\n left: 50%;\n max-width: ${u(50)}; // Fallback when min() function is not supported\n max-width: min(90%, ${u(50)});\n padding: ${u(1.5)} var(--lns-space-medium) ${u(1.5)} var(--lns-space-large);\n position: fixed;\n transform: translateX(-50%);\n width: max-content;\n z-index: ${props => props.zIndex};\n`;\n\nconst ChildrenSection = styled.div`\n align-self: center;\n`;\n\nconst Toast = ({\n children,\n isOpen,\n onCloseClick,\n zIndex = 1100,\n duration = 'short',\n platform = 'web-app',\n}: ToastProps &\n React.ComponentProps<typeof ToastWrapper> &\n Omit<\n LensDivProps,\n keyof ToastProps & React.ComponentProps<typeof ToastWrapper>\n >) => {\n const toastDuration = toastDurations[duration];\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (isOpen) {\n onCloseClick();\n }\n }, toastDuration);\n\n return () => clearTimeout(timer);\n }, [isOpen]);\n\n return (\n <>\n {isOpen && (\n <ToastWrapper\n role=\"presentation\"\n onClick={e => e.stopPropagation()}\n zIndex={zIndex}\n isOpen={isOpen}\n toastDuration={toastDuration}\n platform={platform}\n >\n <ChildrenSection aria-live=\"polite\">{children}</ChildrenSection>\n {onCloseClick && (\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n iconColor=\"bodyInverse\"\n />\n )}\n </ToastWrapper>\n )}\n </>\n );\n};\n\ntype ToastProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n zIndex?: number;\n duration?: 'short' | 'medium' | 'long';\n platform?: 'web-app' | 'chrome-extension';\n};\n\ntype ToastWrapperProps = {\n zIndex?: number;\n isOpen?: boolean;\n toastDuration?: number;\n platform?: 'web-app' | 'chrome-extension';\n};\n\nexport default Toast;\n", "import styled from '@emotion/styled';\nimport React, { useState, useRef, useEffect } from 'react';\n\nimport { useHover, useLayer, mergeRefs } from 'react-laag';\n\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getShadow,\n getSize,\n getTextSize,\n type Size,\n u,\n} from '../../utilities';\nimport { textSizes } from '../../variables';\nimport Arrange from '../arrange/arrange';\nimport Text from '../text/text';\n\ntype PlacementProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'left-end'\n | 'left-center'\n | 'left-start'\n | 'right-end'\n | 'right-center'\n | 'right-start'\n | 'center';\n};\n\ntype DelaySpeed = 'immediate' | 'long';\n\nconst placements: PlacementProps = {\n topLeft: 'top-start',\n topCenter: 'top-center',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom-center',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left-center',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right-center',\n rightBottom: 'right-end',\n};\n\nconst tooltipMinHeight = 4;\nconst textHeight = textSizes.small.fontSize * textSizes.small.lineHeight;\n// eslint-disable-next-line @loomhq/loom/no-consecutive-uppercase-letters-for-acronyms\nconst tooltipYPadding = (tooltipMinHeight - textHeight) / 2;\n\nconst TooltipBoxWrapper = styled.div<TooltipBoxProps>`\n background-color: ${getColorValue('backgroundInverse')};\n color: ${getColorValue('bodyInverse')};\n ${getRadius('150')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n ${getShadow('medium')};\n ${props => getSize('max-width', props.maxWidth)};\n z-index: 1100;\n padding: ${u(tooltipYPadding)} ${u(1.5)};\n z-index: ${props => props.zIndex};\n`;\n\nconst ShortcutWrapper = styled.div`\n background-color: ${getColorValue('grey7')};\n border-radius: 3px;\n color: ${getColorValue('grey3')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n padding-left: ${u(0.5)};\n padding-right: ${u(0.5)};\n`;\n\nexport const ShortcutBox = ({\n children,\n}: React.ComponentProps<typeof ShortcutWrapper>) => (\n <ShortcutWrapper>{children}</ShortcutWrapper>\n);\n\nexport const TooltipBox = ({\n children,\n maxWidth,\n onMouseEnter,\n onMouseLeave,\n layerProps,\n zIndex,\n ...rest\n}: TooltipBoxProps & React.ComponentProps<typeof TooltipBoxWrapper>) => (\n // These are being added to hide the tooltip when users hover over\n /* eslint-disable-next-line styled-components-a11y/no-static-element-interactions */\n <TooltipBoxWrapper\n maxWidth={maxWidth}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n zIndex={zIndex}\n {...layerProps}\n {...rest}\n >\n {children}\n </TooltipBoxWrapper>\n);\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore: Ignoring because it was introduced through an unrelated PR that did not affect this file. When this file is touched next, it should be fixed properly\nconst TooltipChildren = styled.div<TooltipProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n ${props => props.verticalAlign && `vertical-align: ${props.verticalAlign}`};\n &:focus-visible {\n // Note: 0px solid transparent prevents focus rings from disappearing for -ms-high-contrast.\n // TODO(LNS-183): Provide more robust polyfill/support for :focus for older versions of Safari, which don't support :focus-visible\n outline: 0px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n`;\n\nfunction getInitialDelaySpeed(delay: DelaySpeed) {\n switch (delay) {\n case 'immediate':\n return 200;\n case 'long':\n return 800;\n default:\n return 200;\n }\n}\n\nconst Tooltip = ({\n ariaLive = false,\n children,\n content,\n shortcut,\n placement = 'topCenter',\n keepOpen = true,\n triggerOffset = 4,\n maxWidth = 26,\n isInline = true,\n isDisabled,\n container,\n tabIndex = 0,\n zIndex = 1100,\n verticalAlign = 'middle',\n delay = 'immediate',\n tooltipId,\n ...rest\n}: TooltipProps) => {\n const [show, hoverProps] = useHover({\n delayEnter: getInitialDelaySpeed(delay),\n delayLeave: 200,\n });\n\n const [isOverTooltip, setIsOverTooltip] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Helps us keep the tooltip open when opened with a key press\n // instead of a mouse click.\n const [enterOrSpaceKeyDown, setEnterOrSpaceKeyDown] = useState(false);\n\n const focusRef = useRef();\n const isTooltipDisabled = !content || isDisabled;\n\n // Hide the tooltip as soon as isDisabled becomes true, and show it if a user has focused or hovered on it AND it is not disabled\n useEffect(() => {\n if (isTooltipDisabled) {\n setIsOpen(false);\n\n return;\n }\n\n const keepTooltipOpenOnHover = isOverTooltip && keepOpen;\n\n if (show || keepTooltipOpenOnHover) {\n setIsOpen(true);\n }\n\n // We have to watch this separately since hover and focus are managed separately. So, an element can be keyboard focused while another element is mouse hovered.\n // Also, we don't want to close the tooltip if the user has pressed the Enter or Space key to open it.\n if (!show && !keepTooltipOpenOnHover && !enterOrSpaceKeyDown) {\n setIsOpen(false);\n }\n }, [\n content,\n isDisabled,\n isOverTooltip,\n isTooltipDisabled,\n keepOpen,\n setIsOpen,\n show,\n enterOrSpaceKeyDown,\n ]);\n\n const handleFocus = () => {\n setEnterOrSpaceKeyDown(false);\n\n if (!isTooltipDisabled) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = () => {\n setIsOpen(false);\n setEnterOrSpaceKeyDown(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation(); // Prevent event from reaching modal or other listeners\n handleBlur();\n }\n };\n\n // Use capture phase (true) to ensure this fires BEFORE other listeners (including modal)\n window.addEventListener('keydown', keyListener, true);\n\n return () => {\n window.removeEventListener('keydown', keyListener, true);\n };\n }, [isOpen, setIsOpen]);\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n placement: placements[placement],\n ResizeObserver,\n triggerOffset,\n container,\n auto: true,\n });\n\n return (\n <>\n {/* eslint-disable-next-line styled-components-a11y/click-events-have-key-events, styled-components-a11y/no-static-element-interactions */}\n <TooltipChildren\n {...triggerProps}\n {...hoverProps}\n onClick={e => {\n // onClick callbacks react to 'Enter' and 'Space' key presses\n // as well as mouse clicks. detail > 0 if it's a mouse click/double click..\n if (e.detail === 0) {\n setEnterOrSpaceKeyDown(true);\n }\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n isInline={isInline}\n verticalAlign={verticalAlign}\n tabIndex={isTooltipDisabled ? -1 : tabIndex}\n ref={mergeRefs(triggerProps.ref, focusRef)}\n >\n {children}\n </TooltipChildren>\n {ariaLive && (\n <span className=\"srOnly\" aria-live=\"polite\">\n {isOpen && content}\n </span>\n )}\n {isOpen &&\n renderLayer(\n <div {...layerProps} style={{ ...layerProps.style, zIndex }}>\n <TooltipBox\n maxWidth={maxWidth}\n onMouseEnter={() => setIsOverTooltip(true)}\n onMouseLeave={() => setIsOverTooltip(false)}\n role=\"tooltip\"\n id={tooltipId}\n {...rest}\n >\n <Arrange gap=\"small\">\n <Text size=\"small\" fontWeight=\"bold\">\n {content}\n </Text>\n {shortcut && (\n <Arrange gap=\"xsmall\">\n {shortcut.map((char, index) => (\n <ShortcutBox key={index}>{char}</ShortcutBox>\n ))}\n </Arrange>\n )}\n </Arrange>\n </TooltipBox>\n </div>\n )}\n </>\n );\n};\n\nexport const availablePlacements = Object.keys(placements);\n\ntype TooltipBoxProps = {\n children?: React.ReactNode;\n maxWidth?: Size | [];\n onMouseEnter?: React.ReactEventHandler;\n onMouseLeave?: React.ReactEventHandler;\n layerProps?: any;\n zIndex?: number;\n};\n\nexport type TooltipProps = {\n ariaLive?: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | (() => HTMLElement) | string;\n content?: React.ReactNode;\n shortcut?: string[];\n isDisabled?: boolean;\n isInline?: boolean;\n keepOpen?: boolean;\n maxWidth?: Size | [];\n placement?:\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n triggerOffset?: number;\n verticalAlign?: string;\n zIndex?: number;\n delay?: DelaySpeed;\n tabIndex?: number;\n tooltipId?: string;\n};\n\nexport default Tooltip;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getRadius, getTextSize } from '../../utilities';\nimport type { TextSize } from '../../variables';\n\nconst SkeletonAnimation = css`\n @media (prefers-reduced-motion: no-preference) {\n animation: shimmer 2s infinite linear;\n background: linear-gradient(\n to right,\n var(--lns-color-disabledBackground) 4%,\n var(--lns-color-backgroundHover) 25%,\n var(--lns-color-disabledBackground) 36%\n );\n background-size: 1000px 100%;\n @keyframes shimmer {\n 0% {\n background-position: -1000px 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n }\n }\n`;\n\nconst SkeletonTextWrapper = styled.div<SkeletonTextProps>`\n ${props => getTextSize(props.size)};\n color: transparent;\n position: relative;\n &::after {\n content: '';\n position: absolute;\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-full);\n width: 100%;\n display: block;\n height: 71.45%;\n top: 0.2em;\n ${props => props.animated && SkeletonAnimation}\n }\n\n ${props =>\n props.lines > 1 &&\n `\n &:nth-of-type(3n+1) {\n width: calc(100% - 2.25rem);\n }\n &:nth-of-type(3n) {\n width: calc(100% - 4.125rem);\n }\n }\n `};\n`;\n\nconst SkeletonContainerWrapper = styled.div<SkeletonContainerProps>`\n background-color: var(--lns-color-disabledBackground);\n ${props => getRadius(props.radius)};\n height: ${props => props.height};\n width: ${props => props.width};\n ${props => props.animated && SkeletonAnimation}\n`;\n\nexport const SkeletonText = ({\n size = 'body-md',\n lines = 1,\n animated = false,\n}: SkeletonTextProps & React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n {[...Array(lines)].map((_, i) => (\n <SkeletonTextWrapper\n key={i}\n size={size}\n lines={lines}\n animated={animated}\n >\n Loading\n </SkeletonTextWrapper>\n ))}\n </>\n );\n};\n\nexport const SkeletonContainer = ({\n animated = false,\n height = '40px',\n radius = 'full',\n width = '40px',\n}: SkeletonContainerProps &\n React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n <SkeletonContainerWrapper\n animated={animated}\n height={height}\n radius={radius}\n width={width}\n />\n </>\n );\n};\n\ntype SkeletonTextProps = {\n animated?: boolean;\n lines?: number;\n size?: TextSize;\n};\n\ntype SkeletonContainerProps = {\n animated?: boolean;\n height?: string;\n radius?: 'medium' | 'large' | 'xlarge' | 'full' | '175';\n width?: string;\n};\n\nexport default SkeletonText;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getSize, getColorValue } from '../../utilities';\n\nconst LoomAiGradientDef = (customId: string) => {\n return (\n <defs>\n <radialGradient\n id={`ai-logo-${customId}-gradient-1`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"100%\"\n fx=\"0%\"\n fy=\"0%\"\n >\n <stop offset=\"30%\" stopColor=\"#97ACFD\" />\n <stop offset=\"33%\" stopColor=\"#B3B2F4\" />\n <stop offset=\"43%\" stopColor=\"#DEB0E0\" />\n <stop offset=\"50%\" stopColor=\"#DFC6E5\" />\n <stop offset=\"72%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-2`}\n r=\"100%\"\n fx=\"40%\"\n fy=\"72%\"\n >\n <stop offset=\"20%\" stopColor=\"#615CF500\" />\n <stop offset=\"32%\" stopColor=\"#615CF550\" />\n <stop offset=\"48%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-3`}\n r=\"100%\"\n fx=\"0%\"\n fy=\"100%\"\n >\n <stop offset=\"25%\" stopColor=\"#6663F6\" />\n <stop offset=\"38%\" stopColor=\"#6E68F450\" />\n <stop offset=\"45%\" stopColor=\"#6E68F400\" />\n </radialGradient>\n </defs>\n );\n};\n\nconst symbolLogoPath =\n 'M30 15.4433C30 16.6091 29.0933 16.8581 27.9562 16.9301C22.5158 17.2323 16.7962 22.686 16.4795 28.112C16.422 29.2634 16.173 30.1702 15.0072 30.1702C13.8414 30.1702 13.578 29.2634 13.5205 28.0976C13.2038 22.686 7.48416 17.2323 2.05814 16.9301C0.906735 16.8581 0 16.6091 0 15.4433C0 14.2775 0.906735 14.043 2.05814 13.971C7.48416 13.6687 13.2038 7.65433 13.5205 2.22831C13.578 1.0769 13.827 0.170166 15.0072 0.170166C16.1874 0.170166 16.422 1.0769 16.4795 2.22831C16.7962 7.65433 22.5158 13.6687 27.9419 13.971C29.0933 14.043 30 14.2919 30 15.4433Z';\n\nconst SymbolLogoSvg = ({ brand, symbolColor, customId, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 30 31\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={symbolLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={symbolLogoPath} fill={getColorValue(symbolColor)} />\n )}\n </svg>\n );\n\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947V18.6756H32.3962ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 31 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n </svg>\n );\n }\n};\n\nconst WordmarkLogoSvg = ({ brand, wordmarkColor, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg\n aria-label=\"Loom AI\"\n viewBox=\"0 0 94 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom AI</title>\n <path d=\"M4.12637 22.4624H0V0H4.12637V22.4624Z\" />\n <path d=\"M13.3999 19.1737C15.4166 19.1737 17.2781 17.7155 17.2781 14.8301C17.2781 11.9448 15.4166 10.4866 13.3999 10.4866C11.3833 10.4866 9.52175 11.9448 9.52175 14.8301C9.52175 17.6845 11.3833 19.1737 13.3999 19.1737ZM13.3999 6.7325C17.9606 6.7325 21.4045 10.1143 21.4045 14.8301C21.4045 19.515 17.9606 22.9277 13.3999 22.9277C8.83919 22.9277 5.39538 19.515 5.39538 14.8301C5.39538 10.1143 8.83919 6.7325 13.3999 6.7325Z\" />\n <path d=\"M29.7548 19.1737C31.7714 19.1737 33.6329 17.7155 33.6329 14.8301C33.6329 11.9448 31.7714 10.4866 29.7548 10.4866C27.7381 10.4866 25.8766 11.9448 25.8766 14.8301C25.8766 17.6845 27.7381 19.1737 29.7548 19.1737ZM29.7548 6.7325C34.3155 6.7325 37.7593 10.1143 37.7593 14.8301C37.7593 19.515 34.3155 22.9277 29.7548 22.9277C25.194 22.9277 21.7502 19.515 21.7502 14.8301C21.7502 10.1143 25.194 6.7325 29.7548 6.7325Z\" />\n <path d=\"M43.1622 22.4624H39.0358V7.19788H42.976V9.05941C43.8137 7.57019 45.7683 6.76353 47.4437 6.76353C49.5224 6.76353 51.1978 7.66326 51.9734 9.30761C53.1834 7.44609 54.7967 6.76353 56.8134 6.76353C59.6367 6.76353 62.3359 8.46992 62.3359 12.5653V22.4624H58.3336V13.403C58.3336 11.7586 57.5269 10.5176 55.6344 10.5176C53.8659 10.5176 52.8111 11.8827 52.8111 13.5271V22.4624H48.7157V13.403C48.7157 11.7586 47.878 10.5176 46.0165 10.5176C44.2171 10.5176 43.1622 11.8517 43.1622 13.5271V22.4624Z\" />\n <path d=\"M84.1324 22.4624L82.3019 17.4363H73.3666L71.5361 22.4624H67.0064L75.4453 0.46538H80.4093L88.7862 22.4624H84.1324ZM77.8342 5.21226L74.7937 13.5271H80.8747L77.8342 5.21226Z\" />\n <path d=\"M94 22.4624H89.6565V0.46538H94V22.4624Z\" />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 104 30\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M32.4383 7.29662C34.6059 7.29671 36.4904 7.77257 38.0897 8.72422C39.6888 9.67592 40.9247 11.0053 41.797 12.7102C42.6692 14.402 43.1045 16.3852 43.1045 18.6585C43.1044 20.9186 42.6693 22.9018 41.797 24.6068C40.9247 26.2985 39.6888 27.6207 38.0897 28.5724C36.4904 29.524 34.6059 29.9999 32.4383 30C30.2704 30 28.379 29.5241 26.7664 28.5724C25.1672 27.6208 23.9315 26.2985 23.0591 24.6068C22.1868 22.9018 21.7517 20.9186 21.7516 18.6585C21.7516 16.3851 22.1869 14.402 23.0591 12.7102C23.9315 11.0051 25.1671 9.67594 26.7664 8.72422C28.379 7.77249 30.2704 7.29662 32.4383 7.29662ZM32.4383 11.7584C31.3279 11.7584 30.3954 12.0564 29.642 12.6513C28.902 13.2461 28.3393 14.0587 27.956 15.0895C27.5861 16.1204 27.4009 17.3105 27.4009 18.6585C27.4009 19.9801 27.586 21.163 27.956 22.2071C28.3393 23.238 28.9019 24.0506 29.642 24.6454C30.3954 25.2402 31.3279 25.5382 32.4383 25.5382C33.5351 25.5381 34.4608 25.2401 35.2141 24.6454C35.9673 24.0506 36.53 23.2307 36.9001 22.1867C37.2831 21.1428 37.4733 19.9666 37.4734 18.6585C37.4734 17.324 37.2831 16.1406 36.9001 15.1099C36.5301 14.0661 35.9671 13.246 35.2141 12.6513C34.4608 12.0565 33.5351 11.7585 32.4383 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.9839 7.29662C59.1517 7.29662 61.036 7.77249 62.6354 8.72422C64.2348 9.67596 65.4702 11.005 66.3426 12.7102C67.215 14.4021 67.6524 16.385 67.6524 18.6585C67.6523 20.9186 67.215 22.9018 66.3426 24.6068C65.4702 26.2985 64.2346 27.6208 62.6354 28.5724C61.036 29.524 59.1516 30 56.9839 30C54.8166 29.9999 52.9267 29.5238 51.3143 28.5724C49.7151 27.6208 48.4795 26.2984 47.6071 24.6068C46.7347 22.9018 46.2974 20.9186 46.2973 18.6585C46.2973 16.3849 46.7346 14.4021 47.6071 12.7102C48.4795 11.005 49.7149 9.67596 51.3143 8.72422C52.9267 7.77274 54.8165 7.29671 56.9839 7.29662ZM56.9839 11.7584C55.8739 11.7585 54.9432 12.0566 54.1899 12.6513C53.4497 13.2461 52.8873 14.0585 52.504 15.0895C52.1339 16.1205 51.9488 17.3104 51.9488 18.6585C51.9488 19.9801 52.1339 21.163 52.504 22.2071C52.8873 23.2381 53.4497 24.0506 54.1899 24.6454C54.9431 25.2399 55.874 25.5381 56.9839 25.5382C58.081 25.5382 59.0064 25.2402 59.7598 24.6454C60.5133 24.0505 61.0756 23.231 61.4457 22.1867C61.8289 21.1427 62.0212 19.9667 62.0213 18.6585C62.0213 17.3239 61.8288 16.1407 61.4457 15.1099C61.0756 14.0657 60.5132 13.2461 59.7598 12.6513C59.0063 12.0564 58.081 11.7584 56.9839 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M5.69001 24.7655H18.7174V29.5445H0V0H5.69001V24.7655Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M96.2633 7.2581C97.5984 7.2581 98.7952 7.54891 99.8527 8.13052C100.923 8.71205 101.762 9.56357 102.37 10.6866C102.991 11.8101 103.302 13.1852 103.302 14.8108V29.5445H97.7498V15.7625C97.7497 14.4545 97.3936 13.49 96.6803 12.8688C95.9667 12.2345 95.1007 11.9173 94.0834 11.9171C93.2908 11.9171 92.6027 12.0882 92.0213 12.4315C91.453 12.7751 91.0084 13.2511 90.6911 13.8591C90.3871 14.4671 90.2357 15.176 90.2357 15.9823V29.5445H84.8629V15.5654C84.8629 14.4552 84.5262 13.5682 83.8523 12.9073C83.1781 12.2464 82.3106 11.9171 81.2531 11.9171C80.5396 11.9172 79.8853 12.088 79.2907 12.4315C78.6959 12.7619 78.22 13.2521 77.8631 13.8998C77.5196 14.5343 77.3487 15.3205 77.3487 16.2588V29.5445H71.797V7.61387H77.0111L77.1652 11.7584C77.4644 10.9601 77.8429 10.2729 78.3005 9.69635C78.9746 8.86369 79.7606 8.24832 80.6594 7.8518C81.558 7.45546 82.496 7.25818 83.4738 7.2581C85.0733 7.2581 86.383 7.75323 87.4009 8.74462C88.2044 9.52754 88.8088 10.6088 89.225 11.985C89.5312 11.1783 89.9349 10.4756 90.4351 9.87537C91.1621 9.00295 92.0273 8.34693 93.032 7.91072C94.0364 7.47471 95.1136 7.2581 96.2633 7.2581Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n\n default:\n return (\n <svg\n aria-label=\"Loom\"\n viewBox=\"0 0 62 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom</title>\n <path d=\"M.109 21.973V.027h4.028v21.946H.109zM38.742 7.059h3.846v1.82c.818-1.456 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.997v-8.852c0-1.607-.817-2.82-2.635-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V7.059zM13.24 22.405c-4.537 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM29.667 22.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\" />\n </svg>\n );\n }\n};\n\nconst combinedLogoPath =\n 'M100 7.76427C100 8.35691 99.539 8.48348 98.961 8.52007C96.1953 8.67371 93.2877 11.4461 93.1267 14.2045C93.0975 14.7898 92.9709 15.2508 92.3783 15.2508C91.7856 15.2508 91.6517 14.7898 91.6225 14.1972C91.4615 11.4461 88.5539 8.67371 85.7955 8.52007C85.2102 8.48348 84.7492 8.35691 84.7492 7.76427C84.7492 7.17162 85.2102 7.05237 85.7955 7.01578C88.5539 6.86213 91.4615 3.80464 91.6225 1.04628C91.6517 0.460948 91.7783 0 92.3783 0C92.9782 0 93.0975 0.460948 93.1267 1.04628C93.2877 3.80464 96.1953 6.86213 98.9537 7.01578C99.539 7.05237 100 7.17894 100 7.76427Z';\n\nconst CombinedLogoSvg = ({\n brand,\n wordmarkColor,\n symbolColor,\n customId,\n ...props\n}) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={combinedLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={combinedLogoPath} fill={getColorValue(symbolColor)} />\n )}\n <g fill={wordmarkColor}>\n <path d=\"M4.1997 29.5909H0.570312V9.83386H4.1997V29.5909Z\" />\n <path d=\"M12.3563 26.6983C14.1301 26.6983 15.7674 25.4157 15.7674 22.8778C15.7674 20.34 14.1301 19.0574 12.3563 19.0574C10.5826 19.0574 8.94526 20.34 8.94526 22.8778C8.94526 25.3884 10.5826 26.6983 12.3563 26.6983ZM12.3563 15.7555C16.3678 15.7555 19.3968 18.73 19.3968 22.8778C19.3968 26.9984 16.3678 30.0002 12.3563 30.0002C8.34491 30.0002 5.31587 26.9984 5.31587 22.8778C5.31587 18.73 8.34491 15.7555 12.3563 15.7555Z\" />\n <path d=\"M26.7414 26.6983C28.5152 26.6983 30.1525 25.4157 30.1525 22.8778C30.1525 20.34 28.5152 19.0574 26.7414 19.0574C24.9676 19.0574 23.3303 20.34 23.3303 22.8778C23.3303 25.3884 24.9676 26.6983 26.7414 26.6983ZM26.7414 15.7555C30.7528 15.7555 33.7819 18.73 33.7819 22.8778C33.7819 26.9984 30.7528 30.0002 26.7414 30.0002C22.73 30.0002 19.7009 26.9984 19.7009 22.8778C19.7009 18.73 22.73 15.7555 26.7414 15.7555Z\" />\n <path d=\"M38.534 29.5909H34.9047V16.1648H38.3703V17.8022C39.1071 16.4923 40.8263 15.7828 42.2999 15.7828C44.1282 15.7828 45.6018 16.5742 46.284 18.0205C47.3483 16.3831 48.7673 15.7828 50.5411 15.7828C53.0243 15.7828 55.3984 17.2837 55.3984 20.8858V29.5909H51.8782V21.6226C51.8782 20.1763 51.1687 19.0847 49.5041 19.0847C47.9486 19.0847 47.0208 20.2854 47.0208 21.7317V29.5909H43.4187V21.6226C43.4187 20.1763 42.6819 19.0847 41.0446 19.0847C39.4619 19.0847 38.534 20.2581 38.534 21.7317V29.5909Z\" />\n <path d=\"M74.5698 29.5909L72.9598 25.1701H65.1006L63.4906 29.5909H59.5064L66.929 10.2432H71.2951L78.6631 29.5909H74.5698ZM69.0302 14.4184L66.3559 21.7317H71.7045L69.0302 14.4184Z\" />\n <path d=\"M83.249 29.5909H79.4285V10.2432H83.249V29.5909Z\" />\n </g>\n </svg>\n );\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 103 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n <g fill={wordmarkColor}>\n <path d=\"M47.6001 29.5076V10H51.1816V29.5076H47.6001Z\" />\n <path d=\"M81.9516 16.2509H85.3718V17.8682C86.0987 16.575 87.7961 15.8739 89.2499 15.8739C91.0549 15.8739 92.5086 16.6556 93.1818 18.0832C94.2314 16.4659 95.633 15.8739 97.3834 15.8739C99.8338 15.8739 102.177 17.356 102.177 20.9122V29.5076H98.7027V21.6402C98.7027 20.2119 98.0019 19.1345 96.3591 19.1345C94.8238 19.1345 93.9079 20.3202 93.9079 21.7485V29.5084H90.3541V21.6402C90.3541 20.2119 89.6272 19.1345 88.0104 19.1345C86.4483 19.1345 85.5323 20.2933 85.5323 21.7485V29.5084H81.9516V16.2509Z\" />\n <path d=\"M59.2755 29.8916C55.2407 29.8916 52.3189 26.899 52.3189 22.8795C52.3189 18.9241 55.2312 15.8603 59.2755 15.8603C63.3394 15.8603 66.232 18.9526 66.232 22.8795C66.232 26.8697 63.3086 29.8916 59.2755 29.8916ZM59.2755 19.1051C57.1944 19.1051 55.5018 20.7983 55.5018 22.8803C55.5018 24.9624 57.1944 26.6555 59.2755 26.6555C61.3565 26.6555 63.0484 24.9624 63.0484 22.8803C63.0484 20.7983 61.3565 19.1051 59.2755 19.1051Z\" />\n <path d=\"M73.8823 29.8916C69.8476 29.8916 66.9258 26.899 66.9258 22.8795C66.9258 18.9241 69.8381 15.8603 73.8823 15.8603C77.9463 15.8603 80.8389 18.9526 80.8389 22.8795C80.8389 26.8697 77.9139 29.8916 73.8823 29.8916ZM73.8823 19.0601C71.7776 19.0601 70.0652 20.7738 70.0652 22.8788C70.0652 24.9837 71.7776 26.6974 73.8823 26.6974C75.9871 26.6974 77.6995 24.9837 77.6995 22.8788C77.6988 20.7738 75.9863 19.0601 73.8823 19.0601Z\" />\n </g>\n </svg>\n );\n case 'product':\n return (\n <svg viewBox=\"0 0 112 40\" fill=\"none\" aria-label=\"Loom\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947L32.3962 18.6756ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.3743 15.1855C71.6352 15.1855 72.7252 15.459 73.6442 16.0059C74.5709 16.5527 75.2848 17.3237 75.7861 18.3187C76.2874 19.3061 76.5381 20.4568 76.5381 21.7708C76.5381 23.0773 76.2874 24.2242 75.7861 25.2116C75.2848 26.199 74.5709 26.9661 73.6442 27.513C72.7252 28.0599 71.6352 28.3333 70.3743 28.3333C69.1135 28.3333 68.0197 28.0599 67.0931 27.513C66.174 26.9661 65.4639 26.199 64.9626 25.2116C64.4613 24.2242 64.2106 23.0773 64.2106 21.7708C64.2106 20.4568 64.4613 19.3061 64.9626 18.3187C65.4639 17.3237 66.174 16.5527 67.0931 16.0059C68.0197 15.459 69.1135 15.1855 70.3743 15.1855ZM70.3743 17.7376C69.7287 17.7376 69.1895 17.9161 68.7565 18.2731C68.3312 18.6225 68.0084 19.101 67.7881 19.7087C67.5754 20.3087 67.4691 20.9923 67.4691 21.7594C67.4691 22.519 67.5754 23.2026 67.7881 23.8102C68.0084 24.4179 68.3312 24.9002 68.7565 25.2572C69.1895 25.6066 69.7287 25.7812 70.3743 25.7812C71.02 25.7812 71.5592 25.6066 71.9922 25.2572C72.4251 24.9002 72.7479 24.4179 72.9606 23.8102C73.1733 23.2026 73.2796 22.519 73.2796 21.7594C73.2796 20.9999 73.1733 20.3163 72.9606 19.7087C72.7479 19.101 72.4251 18.6225 71.9922 18.2731C71.5592 17.9161 71.02 17.7376 70.3743 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M84.6387 15.1855C85.8995 15.1855 86.9895 15.459 87.9085 16.0059C88.8352 16.5527 89.5491 17.3237 90.0505 18.3187C90.5518 19.3061 90.8024 20.4568 90.8024 21.7708C90.8024 23.0773 90.5518 24.2242 90.0505 25.2116C89.5491 26.199 88.8352 26.9661 87.9085 27.513C86.9895 28.0599 85.8995 28.3333 84.6387 28.3333C83.3778 28.3333 82.2841 28.0599 81.3574 27.513C80.4384 26.9661 79.7282 26.199 79.2269 25.2116C78.7256 24.2242 78.4749 23.0773 78.4749 21.7708C78.4749 20.4568 78.7256 19.3061 79.2269 18.3187C79.7282 17.3237 80.4384 16.5527 81.3574 16.0059C82.2841 15.459 83.3778 15.1855 84.6387 15.1855ZM84.6387 17.7376C83.9931 17.7376 83.4538 17.9161 83.0208 18.2731C82.5955 18.6225 82.2727 19.101 82.0524 19.7087C81.8397 20.3087 81.7334 20.9923 81.7334 21.7594C81.7334 22.519 81.8397 23.2026 82.0524 23.8102C82.2727 24.4179 82.5955 24.9002 83.0208 25.2572C83.4538 25.6066 83.9931 25.7812 84.6387 25.7812C85.2843 25.7812 85.8236 25.6066 86.2565 25.2572C86.6895 24.9002 87.0123 24.4179 87.2249 23.8102C87.4376 23.2026 87.5439 22.519 87.5439 21.7594C87.5439 20.9999 87.4376 20.3163 87.2249 19.7087C87.0123 19.101 86.6895 18.6225 86.2565 18.2731C85.8236 17.9161 85.2843 17.7376 84.6387 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M54.9365 25.3483H62.3421V28.0827H51.6667V11.1068H54.9365V25.3483Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M107.368 15.1514C108.135 15.1514 108.823 15.3185 109.43 15.6527C110.046 15.9869 110.528 16.4768 110.877 17.1224C111.234 17.768 111.413 18.5579 111.413 19.4922V28.0827H108.211V20.0505C108.211 19.2985 108.006 18.744 107.596 18.387C107.186 18.0301 106.688 17.8516 106.104 17.8516C105.655 17.8516 105.264 17.9503 104.93 18.1478C104.603 18.3377 104.349 18.6073 104.167 18.9567C103.992 19.3061 103.905 19.7125 103.905 20.1758V28.0827H100.794V19.9365C100.794 19.2985 100.601 18.7934 100.213 18.4212C99.8334 18.0414 99.3397 17.8516 98.7321 17.8516C98.3143 17.8516 97.9346 17.9465 97.5928 18.1364C97.251 18.3263 96.9813 18.6073 96.7839 18.9795C96.5864 19.3441 96.4876 19.796 96.4876 20.3353V28.0827H93.2747V15.3451H96.2712L96.3786 17.806C96.5512 17.3255 96.7692 16.9151 97.0345 16.5755C97.4219 16.0894 97.8738 15.7324 98.3903 15.5046C98.9068 15.2691 99.4461 15.1514 100.008 15.1514C100.927 15.1514 101.668 15.44 102.23 16.0173C102.677 16.4764 103.023 17.1235 103.273 17.9574C103.451 17.4646 103.688 17.038 103.984 16.6781C104.417 16.1616 104.922 15.778 105.5 15.5273C106.085 15.2767 106.707 15.1514 107.368 15.1514Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n case 'marketing':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 170 48\" fill=\"none\" {...props}>\n <path\n d=\"M154.37 25.212V38H150.414V24.108C150.414 19.968 148.758 18.128 144.986 18.128C141.306 18.128 138.776 20.566 138.776 25.212V38H134.82V15H138.776V18.772C140.248 16.058 142.962 14.54 146.044 14.54C149.954 14.54 152.622 16.518 153.772 20.152C155.06 16.61 158.142 14.54 161.96 14.54C167.112 14.54 169.964 18.036 169.964 24.522V38H166.008V25.212C166.008 20.474 164.352 18.128 160.58 18.128C156.9 18.128 154.37 20.566 154.37 25.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M119.367 38.46C112.467 38.46 108.419 33.354 108.419 26.454C108.419 19.554 112.467 14.54 119.367 14.54C126.221 14.54 130.223 19.554 130.223 26.454C130.223 33.354 126.221 38.46 119.367 38.46ZM119.367 18.22C114.445 18.22 112.283 22.084 112.283 26.454C112.283 30.824 114.445 34.78 119.367 34.78C124.243 34.78 126.359 30.824 126.359 26.454C126.359 22.084 124.243 18.22 119.367 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M94.3452 38.46C87.4452 38.46 83.3972 33.354 83.3972 26.454C83.3972 19.554 87.4452 14.54 94.3452 14.54C101.199 14.54 105.201 19.554 105.201 26.454C105.201 33.354 101.199 38.46 94.3452 38.46ZM94.3452 18.22C89.4232 18.22 87.2612 22.084 87.2612 26.454C87.2612 30.824 89.4232 34.78 94.3452 34.78C99.2212 34.78 101.337 30.824 101.337 26.454C101.337 22.084 99.2212 18.22 94.3452 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M64.094 7.77783H68.234V34.0438H81.942V37.9998H64.094V7.77783Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H36C42.6274 0 48 5.37258 48 12V36C48 42.6274 42.6274 48 36 48H12C5.37258 48 0 42.6274 0 36V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3572)\">\n <path\n d=\"M38.0625 22.9644H29.9846L36.9804 18.9253L35.4441 16.2635L28.4482 20.3026L32.4864 13.3073L29.8246 11.77L25.7864 18.7653V10.688H22.7136V18.7661L18.6738 11.77L16.0129 13.3065L20.0518 20.3018L13.0559 16.2635L11.5195 18.9246L18.5154 22.9636H10.4375V26.0366H18.5146L11.5195 30.0757L13.0559 32.7375L20.0511 28.6991L16.0121 35.6945L18.6738 37.2309L22.7128 30.2349V38.313H25.7857V30.2356L29.8239 37.2309L32.4855 35.6945L28.4466 28.6984L35.4425 32.7375L36.979 30.0757L29.9838 26.0373H38.0609V22.9644H38.0625ZM24.25 28.6798C21.933 28.6798 20.0549 26.8018 20.0549 24.4847C20.0549 22.1676 21.933 20.2895 24.25 20.2895C26.567 20.2895 28.445 22.1676 28.445 24.4847C28.445 26.8018 26.567 28.6798 24.25 28.6798Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3572\">\n <rect\n width=\"39\"\n height=\"39\"\n fill=\"white\"\n transform=\"translate(4.75 5)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case 'attributed':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 232 75\" fill=\"none\" {...props}>\n <path\n d=\"M181.37 52.212V65H177.414V51.108C177.414 46.968 175.758 45.128 171.986 45.128C168.306 45.128 165.776 47.566 165.776 52.212V65H161.82V42H165.776V45.772C167.248 43.058 169.962 41.54 173.044 41.54C176.954 41.54 179.622 43.518 180.772 47.152C182.06 43.61 185.142 41.54 188.96 41.54C194.112 41.54 196.964 45.036 196.964 51.522V65H193.008V52.212C193.008 47.474 191.352 45.128 187.58 45.128C183.9 45.128 181.37 47.566 181.37 52.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.367 65.46C139.467 65.46 135.419 60.354 135.419 53.454C135.419 46.554 139.467 41.54 146.367 41.54C153.221 41.54 157.223 46.554 157.223 53.454C157.223 60.354 153.221 65.46 146.367 65.46ZM146.367 45.22C141.445 45.22 139.283 49.084 139.283 53.454C139.283 57.824 141.445 61.78 146.367 61.78C151.243 61.78 153.359 57.824 153.359 53.454C153.359 49.084 151.243 45.22 146.367 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M121.345 65.46C114.445 65.46 110.397 60.354 110.397 53.454C110.397 46.554 114.445 41.54 121.345 41.54C128.199 41.54 132.201 46.554 132.201 53.454C132.201 60.354 128.199 65.46 121.345 65.46ZM121.345 45.22C116.423 45.22 114.261 49.084 114.261 53.454C114.261 57.824 116.423 61.78 121.345 61.78C126.221 61.78 128.337 57.824 128.337 53.454C128.337 49.084 126.221 45.22 121.345 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M91.094 34.7778H95.234V61.0438H108.942V64.9998H91.094V34.7778Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M155.186 11.9857C155.186 14.5147 156.33 16.5017 160.967 17.4049C163.676 18.007 164.278 18.4285 164.278 19.3316C164.278 20.2348 163.676 20.7767 161.749 20.7767C159.521 20.7767 156.872 19.994 155.126 18.9704V23.0648C156.511 23.7271 158.317 24.5099 161.749 24.5099C166.566 24.5099 168.433 22.3423 168.433 19.2112M168.433 19.2714C168.433 16.2608 166.867 14.8759 162.351 13.9125C159.883 13.3706 159.281 12.8287 159.281 12.046C159.281 11.0826 160.184 10.6611 161.81 10.6611C163.797 10.6611 165.723 11.2632 167.59 12.1062V8.19237C166.265 7.53004 164.278 7.04834 161.93 7.04834C157.474 7.04834 155.186 8.97513 155.186 12.1062\"\n fill={wordmarkColor}\n />\n <path\n d=\"M216.844 7.16846V24.329H220.517V11.2629L222.022 14.695L227.2 24.329H231.776V7.16846H228.164V18.2475L226.779 14.9961L222.624 7.16846H216.844Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M193.602 7.16846H189.628V24.329H193.602V7.16846Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M185.052 19.2109C185.052 16.2003 183.486 14.8154 178.97 13.852C176.501 13.3101 175.899 12.7682 175.899 11.9854C175.899 11.022 176.802 10.6005 178.428 10.6005C180.415 10.6005 182.342 11.2027 184.209 12.0456V8.13183C182.884 7.46949 180.897 6.98779 178.549 6.98779C174.093 6.98779 171.805 8.91459 171.805 12.0456C171.805 14.5745 172.949 16.5615 177.585 17.4647C180.295 18.0669 180.897 18.4883 180.897 19.3915C180.897 20.2947 180.295 20.8366 178.368 20.8366C176.14 20.8366 173.491 20.0539 171.745 19.0302V23.1247C173.13 23.787 174.936 24.5698 178.368 24.5698C183.125 24.5698 185.052 22.4021 185.052 19.2109Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M124.237 7.16846V24.329H132.426L133.69 20.5958H128.211V7.16846H124.237Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M108.04 7.16846V10.8414H112.436V24.329H116.47V10.8414H121.227V7.16846H108.04Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M102.199 7.16846H96.961L91 24.329H95.5761L96.4191 21.4388C97.4427 21.7398 98.5265 21.9205 99.6104 21.9205C100.694 21.9205 101.778 21.7398 102.802 21.4388L103.645 24.329H108.221C108.16 24.329 102.199 7.16846 102.199 7.16846ZM99.5501 18.3077C98.7674 18.3077 98.0448 18.1873 97.3825 18.0067L99.5501 10.5403L101.718 18.0067C101.055 18.1873 100.333 18.3077 99.5501 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.576 7.16846H141.337L135.316 24.329H139.892L140.735 21.4388C141.759 21.7398 142.843 21.9205 143.927 21.9205C145.01 21.9205 146.094 21.7398 147.118 21.4388L147.961 24.329H152.537L146.576 7.16846ZM143.927 18.3077C143.144 18.3077 142.421 18.1873 141.759 18.0067L143.927 10.5403L146.094 18.0067C145.432 18.1873 144.709 18.3077 143.927 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M207.992 7.16846H202.754L196.793 24.329H201.369L202.212 21.4388C203.236 21.7398 204.319 21.9205 205.403 21.9205C206.487 21.9205 207.571 21.7398 208.595 21.4388L209.438 24.329H214.014L207.992 7.16846ZM205.403 18.3077C204.621 18.3077 203.898 18.1873 203.236 18.0067L205.403 10.5403L207.571 18.0067C206.909 18.1873 206.126 18.3077 205.403 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 18.75C0 8.39466 8.39466 0 18.75 0H56.25C66.6053 0 75 8.39466 75 18.75V56.25C75 66.6053 66.6053 75 56.25 75H18.75C8.39466 75 0 66.6053 0 56.25V18.75Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3571)\">\n <path\n d=\"M59.4729 35.8821H46.8511L57.7822 29.571L55.3817 25.412L44.4506 31.723L50.7602 20.7928L46.6012 18.3909L40.2915 29.3211V16.7002H35.4902V29.3223L29.1781 18.3909L25.0204 20.7916L31.3312 31.7218L20.4001 25.412L17.9995 29.5698L28.9306 35.8809H16.3088V40.6824H28.9294L17.9995 46.9934L20.4001 51.1525L31.33 44.8426L25.0192 55.7728L29.1781 58.1735L35.489 47.2422V59.8643H40.2904V47.2434L46.6 58.1735L50.7589 55.7728L44.4481 44.8415L55.3792 51.1525L57.7799 46.9934L46.85 40.6835H59.4704V35.8821H59.4729ZM37.8909 44.8124C34.2705 44.8124 31.3361 41.878 31.3361 38.2575C31.3361 34.637 34.2705 31.7025 37.8909 31.7025C41.5112 31.7025 44.4456 34.637 44.4456 38.2575C44.4456 41.878 41.5112 44.8124 37.8909 44.8124Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3571\">\n <rect\n width=\"60.9375\"\n height=\"60.9375\"\n fill=\"white\"\n transform=\"translate(7.42188 7.8125)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M38.109 25.973V4.027h4.028v21.946h-4.028zM76.742 11.059h3.846v1.82c.818-1.455 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.996v-8.852c0-1.607-.818-2.82-2.636-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V11.059zM51.24 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM67.667 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n }\n};\n\nconst LogoWrapper = styled.span<LogoWrapperProps>`\n display: block;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n\n & > svg.lns-logoSvg {\n display: block;\n width: 100%;\n height: 100%;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n }\n`;\n\nconst Logo = ({\n variant = 'combined',\n maxWidth,\n symbolColor,\n wordmarkColor = 'body',\n brand = 'product',\n customId = '',\n ...props\n}: LogoProps &\n React.ComponentProps<typeof LogoWrapper> &\n Omit<\n LensSpanProps,\n keyof LogoProps & React.ComponentProps<typeof LogoWrapper>\n >) => (\n <LogoWrapper variant={variant} maxWidth={maxWidth} {...props}>\n {variant === 'combined' && (\n <CombinedLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n wordmarkColor={getColorValue(wordmarkColor)}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'symbol' && (\n <SymbolLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'wordmark' && (\n <WordmarkLogoSvg\n brand={brand}\n wordmarkColor={getColorValue(wordmarkColor)}\n className=\"lns-logoSvg\"\n />\n )}\n </LogoWrapper>\n);\n\nexport const availableVariants = ['combined', 'symbol', 'wordmark'];\n\ntype LogoProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n symbolColor?: string;\n wordmarkColor?: string;\n customId?: string;\n};\n\ntype LogoWrapperProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n};\n\nexport default Logo;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LENS_CDN } from '../../constants/routes';\n\nconst sizeToPx = {\n small: '40px',\n medium: '80px',\n};\n\nconst LogoLoaderWrapper = styled.span<LogoLoaderProps>`\n animation: ${props => props.animation};\n background-image: url(${LENS_CDN}/${props => props.brand}-loader.svg);\n background-size: cover;\n background-position: left center;\n display: block;\n height: ${props => sizeToPx[props.size]};\n width: ${props => sizeToPx[props.size]};\n\n @keyframes spin {\n 100% {\n background-position: right center;\n }\n }\n`;\n\nconst LogoLoader = ({\n animation = 'spin 2s infinite steps(49) forwards',\n brand = 'loom',\n size = 'medium',\n}: LogoLoaderProps & React.ComponentProps<typeof LogoLoaderWrapper>) => {\n return <LogoLoaderWrapper animation={animation} brand={brand} size={size} />;\n};\n\ntype LogoLoaderProps = {\n animation?: string;\n brand?: 'loom' | 'ai';\n size?: 'small' | 'medium';\n};\n\nexport default LogoLoader;\n", "export const LENS_CDN = 'https://cdn.loom.com/assets/lens';\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getRadius,\n getSize,\n getSizeValue,\n getColorValue,\n} from '../../utilities';\n\nconst ssrComment = `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */`;\n\nconst variantStyles = {\n border: css`\n .ListRowWrapper:last-child {\n border-bottom: 1px solid ${getColorValue('border')};\n }\n\n .ListRowWrapper,\n .ListRowWrapper:first-child ${ssrComment} {\n border-top: 1px solid ${getColorValue('border')};\n }\n `,\n stripe: css`\n .ListRowWrapper {\n &:nth-child(odd) ${ssrComment} {\n background-color: ${getColorValue('backgroundSecondary')};\n }\n }\n\n .ListRowWrapper {\n ${getRadius('medium')};\n }\n `,\n clear: css``,\n};\n\nconst ListWrapper = styled.div<ListProps>`\n .ListRowWrapper {\n grid-template-columns: ${props => props.columns && props.columns};\n ${props => getSize('gap', props.gap)};\n }\n\n ${props => variantStyles[props.variant]};\n`;\n\nconst ListRowWrapper = styled.div<ListRowWrapperProps>`\n display: grid;\n align-items: center;\n text-decoration: none;\n color: inherit;\n\n ${props => getSize('height', props.height)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n\n ${props =>\n props.paddingY &&\n `\n ${getSize('padding-top', props.paddingY)}\n ${getSize('padding-bottom', props.paddingY)}\n `};\n\n ${props =>\n props.paddingX &&\n `\n ${getSize('padding-left', props.paddingX)}\n ${getSize('padding-right', props.paddingX)}\n `};\n\n ${props => (props.onClick || props.href) && `cursor: pointer;`};\n\n &.ListRowWrapper:nth-child(even),\n &.ListRowWrapper:nth-child(odd) ${ssrComment} {\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n\n &:hover {\n ${props =>\n (props.onClick || props.href) &&\n `\n background-color: ${getColorValue('backgroundHover')};\n border-color: transparent;\n ${getRadius('medium')};\n `};\n }\n }\n`;\n\nexport const ListRow = ({\n children,\n htmlTag = 'li',\n className,\n backgroundColor,\n onClick,\n href,\n role,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n const nonInteractiveElements = [\n 'div',\n 'span',\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'section',\n 'article',\n 'header',\n 'footer',\n 'main',\n 'aside',\n 'nav',\n ];\n\n const isAutoInteractive = !htmlTag && onClick;\n\n let isNonInteractive = false;\n const actualHtmlTag = htmlTag || 'div';\n if (!isAutoInteractive) {\n isNonInteractive = nonInteractiveElements.includes(actualHtmlTag);\n }\n\n const interactiveProps =\n !isNonInteractive || isAutoInteractive\n ? {\n onClick,\n onKeyDown: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick?.(e);\n }\n },\n }\n : {};\n\n return (\n <ListRowWrapper\n role={role || (htmlTag === 'li' ? 'listitem' : undefined)}\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n href={href}\n {...interactiveProps}\n {...props}\n >\n {children}\n </ListRowWrapper>\n );\n};\n\nconst formatColumns = columns =>\n columns.map(columnValue => getSizeValue(columnValue)).join(' ');\n\nconst List = ({\n children,\n columns,\n gap,\n variant = 'stripe',\n htmlTag = 'ul',\n ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n let processedChildren = children;\n if (htmlTag === 'ul') {\n processedChildren = React.Children.map(children, child => {\n if (React.isValidElement(child) && child.type === ListRow) {\n return React.cloneElement(child as React.ReactElement<ListRowProps>, {\n htmlTag: 'li',\n });\n }\n return child;\n });\n }\n\n return (\n <ListWrapper\n as={htmlTag}\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n role={htmlTag === 'ul' ? 'list' : undefined}\n {...props}\n >\n {processedChildren}\n </ListWrapper>\n );\n};\n\ninterface SharedProps {\n padding?: ResponsiveType<string | number>;\n paddingTop?: ResponsiveType<string | number>;\n paddingBottom?: ResponsiveType<string | number>;\n paddingLeft?: ResponsiveType<string | number>;\n paddingRight?: ResponsiveType<string | number>;\n paddingY?: ResponsiveType<string | number>;\n paddingX?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n backgroundColor?: string;\n}\n\ninterface ListRowProps extends SharedProps {\n className?: string;\n htmlTag?: keyof JSX.IntrinsicElements;\n children?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n href?: string;\n role?: string;\n}\n\ninterface ListRowWrapperProps extends SharedProps {\n className?: string;\n as?: string;\n children?: React.ReactNode;\n href?: string;\n onClick?: React.ReactEventHandler;\n}\n\ntype ListProps = {\n columns?: (string | number)[];\n gap?: ResponsiveType<string | number>;\n variant?: 'clear' | 'border' | 'stripe';\n htmlTag?: keyof JSX.IntrinsicElements;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\nexport default List;\n", "import styled from '@emotion/styled';\nimport React, { useCallback, useMemo, useRef, useId } from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getRadius,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Tooltip, { type TooltipProps } from '../tooltip/tooltip';\nimport Icon from '../icon/icon';\n\nconst TabsContext = React.createContext<{ isPilledDesign?: boolean }>({});\n\nconst negativeScrollOffset = scrollOffset =>\n `calc(-1 * ${getSizeValue(scrollOffset)})`;\n\nconst Wrapper = styled.div<WrapperProps>`\n ${props =>\n props.scrollOffset &&\n `margin: 0 ${negativeScrollOffset(props.scrollOffset)};\n `};\n`;\n\nconst TabsNav = styled.div<TabsNavProps>`\n --activeIndicatorHeight: 3px;\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${props =>\n props.hasBottomBorder && 'border-bottom: 1px solid var(--lns-color-border)'}\n\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n button {\n ${props => props.hasFullTabs && `width: 100%;`};\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.div<TabsNavProps>`\n ${getRadius('200')};\n background-color: var(--lns-color-backgroundSecondary);\n\n padding: var(--lns-space-xsmall);\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n flex: 1 0;\n }\n\n button {\n width: 100%;\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabWrapper = styled.button<TabWrapperProps>`\n appearance: none;\n font: inherit;\n background: transparent;\n border: 0;\n ${getRadius('medium')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n padding: 0 0 calc(var(--lns-space-small) + var(--activeIndicatorHeight)) 0;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `border-color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('body')};\n transition: 0.3s color;\n }\n\n &::after {\n bottom: 0;\n ${getRadius('medium')};\n content: '';\n height: var(--activeIndicatorHeight);\n position: absolute;\n width: 100%;\n ${props =>\n props.isActive && `background-color: ${getColorValue('primary')}`};\n }\n`;\n\nconst TabWrapperPilled = styled.button<TabWrapperProps>`\n padding: ${u(1)} 0;\n\n appearance: none;\n font: inherit;\n background: transparent;\n border: none;\n ${getRadius('175')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `background-color: ${getColorValue('background')};\n color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('primary')};\n transition: 0.3s color;\n }\n`;\n\n/** @deprecated Use tabs prop instead */\nexport const Tab = ({\n children,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n ...props\n}: TabProps &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabProps & React.ComponentProps<typeof TabWrapper>\n >) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n if (isPilledDesign) {\n return (\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapperPilled>\n );\n }\n\n return (\n <TabWrapper\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n );\n};\n\n/** @deprecated Use tabs prop instead */\nconst TabsDeprecated = ({\n children,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabsContent = isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNav>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{tabsContent}</Wrapper>;\n }\n\n return (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n};\n\nconst ConditionalTooltip = ({\n tooltipProps,\n children,\n tooltipId,\n}: {\n tooltipProps: TooltipProps;\n children: React.ReactNode;\n tooltipId: string;\n}) => {\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps} tooltipId={tooltipId} tabIndex={-1}>\n {children}\n </Tooltip>\n );\n }\n return children;\n};\n\nexport const TabNew = React.forwardRef<\n HTMLButtonElement,\n TabItem &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabItem & React.ComponentProps<typeof TabWrapper>\n >\n>(\n (\n {\n tabContent,\n tooltipProps,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n onKeyDown,\n onClick,\n ...props\n },\n ref\n ) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n const tooltipId = useId();\n\n const componentProps = {\n as: htmlTag,\n isActive,\n icon,\n role: 'tab',\n 'aria-selected': isActive,\n disabled: isDisabled,\n tabIndex: isActive ? 0 : -1,\n 'aria-describedby': tooltipProps ? tooltipId : undefined,\n onKeyDown,\n onClick,\n ref,\n ...props,\n };\n\n return (\n <ConditionalTooltip tooltipProps={tooltipProps} tooltipId={tooltipId}>\n {isPilledDesign ? (\n <TabWrapperPilled {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapperPilled>\n ) : (\n <TabWrapper {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapper>\n )}\n </ConditionalTooltip>\n );\n }\n);\n\nTabNew.displayName = 'TabNew';\n\nexport const TabsNew = ({\n tabs,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabRefs = useRef<{ [key: string]: HTMLButtonElement | null }>({});\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent, currentTabIndex: number) => {\n let newIndex = currentTabIndex;\n\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n newIndex =\n currentTabIndex > 0 ? currentTabIndex - 1 : tabs.length - 1;\n break;\n case 'ArrowRight':\n event.preventDefault();\n newIndex =\n currentTabIndex < tabs.length - 1 ? currentTabIndex + 1 : 0;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n tabRefs.current[newIndex]?.focus();\n },\n [tabs.length]\n );\n\n const setTabRef = useCallback(\n (tabIndex: number) => (ref: HTMLButtonElement | null) => {\n tabRefs.current[tabIndex] = ref;\n },\n []\n );\n\n const tabsToRender = useMemo(\n () =>\n tabs.map((tabProps, index) => (\n <TabNew\n key={index}\n ref={setTabRef(index)}\n onKeyDown={e => handleKeyDown(e, index)}\n {...tabProps}\n />\n )),\n [tabs, handleKeyDown, setTabRef]\n );\n\n const tabsContent = useMemo(\n () =>\n isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNav>\n ),\n [\n tabsToRender,\n hasFullTabs,\n scrollOffset,\n hasBottomBorder,\n isPilledDesign,\n props,\n ]\n );\n\n const wrappedContent = (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{wrappedContent}</Wrapper>;\n }\n\n return wrappedContent;\n};\n\nconst Tabs = ({ children, tabs, ...props }: TabsProps) => {\n if (children && tabs) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Both children and tabs props are provided. Please use only one of them.'\n );\n }\n\n if (!children && !tabs) {\n // eslint-disable-next-line no-console\n console.error('Either children or tabs must be provided.');\n\n return null;\n }\n\n if (children) {\n return <TabsDeprecated {...props}>{children}</TabsDeprecated>;\n }\n\n return <TabsNew tabs={tabs} {...props} />;\n};\n\ntype TabsProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n /** @deprecated Use tabs[] prop instead */\n children?: React.ReactNode;\n tabs?: TabItem[];\n isPilledDesign?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype TooltipPropsForTabItem = Omit<\n TooltipProps,\n 'children' | 'tooltipId' | 'tabIndex'\n>;\n\ntype TabItem = {\n tabContent: React.ReactNode;\n tooltipProps?: TooltipPropsForTabItem;\n icon?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isActive?: boolean;\n isDisabled?: boolean;\n onClick?: () => void;\n};\n\n/** @deprecated Don't use this component directly, instead pass in tabs[] prop to <Tabs> */\ntype TabProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isPilledDesign?: boolean;\n isDisabled?: boolean;\n};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\n isDisabled?: boolean;\n};\n\ntype TabsNavProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype WrapperProps = {\n scrollOffset?: number | string;\n};\n\nexport default Tabs;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst PillWrapper = styled.div<PillWrapperProps>`\n display: inline-grid;\n grid-auto-flow: column;\n align-items: center;\n vertical-align: middle;\n padding: 0 ${u(1.5)};\n min-height: ${u(3.25)};\n color: ${props => getColorValue(props.color)};\n background-color: ${props => getColorValue(props.backgroundColor)};\n ${getRadius('100')};\n ${getTextSize('small')};\n ${getFontWeight('bold')};\n ${getSize('gap', 'xsmall')};\n`;\n\nconst Pill = ({\n color,\n backgroundColor,\n children,\n icon,\n iconPosition = 'left',\n ...props\n}: PillProps &\n React.ComponentProps<typeof PillWrapper> &\n Omit<\n LensDivProps,\n keyof PillProps & React.ComponentProps<typeof PillWrapper>\n >) => {\n const iconComponent = (\n <Container\n htmlTag=\"span\"\n paddingLeft={iconPosition === 'right' && 'xsmall'}\n paddingRight={iconPosition === 'left' && 'xsmall'}\n >\n <Icon icon={icon} color=\"currentColor\" size={2} />\n </Container>\n );\n\n return (\n <PillWrapper color={color} backgroundColor={backgroundColor} {...props}>\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </PillWrapper>\n );\n};\n\ntype PillProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n color?: string;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\ntype PillWrapperProps = {\n color?: string;\n backgroundColor?: string;\n};\n\nexport default Pill;\n", "import styled from '@emotion/styled';\nimport {\n type Placement,\n autoUpdate,\n flip,\n offset as floatingUiOffset,\n limitShift,\n shift,\n useFloating,\n} from '@floating-ui/react-dom';\nimport React, { useEffect } from 'react';\n\nimport ReactDOM from 'react-dom';\n\nimport { useTransition } from 'transition-hook';\n\nimport { unit } from '../../variables';\n\ntype PlacementProps =\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n\nconst placements = {\n topLeft: 'top-start',\n topCenter: 'top',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right',\n rightBottom: 'right-end',\n};\n\nconst Wrapper = styled.div<{\n childrenZIndex: number;\n}>`\n position: relative;\n width: fit-content;\n // transform forces the popover to calculate the position from the trigger instead of the viewport\n transform: translate(0);\n z-index: ${props => props.childrenZIndex};\n`;\n\nconst ContentWrapper = styled.div<{\n zIndex: string | number;\n}>`\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Popover = ({\n children,\n content,\n offset = 0.5,\n boundaryOffset = 0.5,\n isOpen,\n zIndex = 500,\n childrenZIndex = 1,\n placement = 'topCenter',\n rootId,\n boundaryElement = 'body',\n transitionDuration = 0,\n transitionDelay = 0,\n ...props\n}: PopoverProps) => {\n const unitOffset = offset * unit;\n const unitBoundaryOffset = boundaryOffset * unit;\n const isBrowser = typeof window !== 'undefined';\n const rootNode =\n rootId && isBrowser ? document.getElementById(rootId) : undefined;\n\n const { stage, shouldMount } = useTransition(\n isOpen,\n transitionDuration + transitionDelay\n );\n const getBoundaryElement = () => {\n if (boundaryElement === 'body' && isBrowser) {\n return document.body;\n }\n\n return boundaryElement as Element;\n };\n\n const { x, y, reference, floating, strategy, update, refs } = useFloating({\n placement: placements[placement] as Placement,\n middleware: [\n shift({\n padding: unitBoundaryOffset,\n boundary: boundaryElement ? getBoundaryElement() : undefined,\n limiter: limitShift(),\n }),\n flip({\n fallbackPlacements: ['top', 'bottom'],\n fallbackStrategy: 'initialPlacement',\n }),\n floatingUiOffset(unitOffset),\n ],\n strategy: 'fixed',\n });\n\n useEffect(() => {\n if (!refs.reference.current || !refs.floating.current) {\n return;\n }\n\n // Only call this when the floating element is rendered\n return autoUpdate(refs.reference.current, refs.floating.current, update);\n }, [refs.reference, refs.floating, update, shouldMount]);\n\n const contentProps = {\n zIndex,\n ref: floating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n transition: `opacity ${transitionDuration}ms ${transitionDelay}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n },\n };\n\n return (\n <Wrapper ref={reference} {...props} childrenZIndex={childrenZIndex}>\n {children}\n\n {shouldMount && (\n <>\n {!rootNode && (\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>\n )}\n\n {rootNode &&\n ReactDOM.createPortal(\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>,\n rootNode\n )}\n </>\n )}\n </Wrapper>\n );\n};\n\ntype PopoverProps = {\n children?: React.ReactNode;\n content?: React.ReactNode;\n offset?: number;\n boundaryOffset?: number;\n zIndex?: number | string;\n isOpen?: boolean;\n placement?: PlacementProps;\n rootId?: string;\n boundaryElement?: 'body' | Element;\n transitionDuration?: number;\n transitionDelay?: number;\n childrenZIndex?: number;\n};\n\nexport default Popover;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getSize, getColorValue } from '../../utilities';\n\nconst IllustrationWrapper = styled.span<IllustrationWrapperProps>`\n display: block;\n color: ${props =>\n props.color ? getColorValue(props.color) : getColorValue('grey8')};\n ${props => props.size && getSize('width', props.size)};\n ${props => props.size && getSize('height', props.size)};\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nconst Illustration = ({\n altText,\n illustration,\n src,\n color = 'orange',\n size = 12,\n ...props\n}: IllustrationProps & React.ComponentProps<typeof IllustrationWrapper>) => {\n return (\n <IllustrationWrapper\n aria-hidden=\"true\"\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {src || illustration}\n </IllustrationWrapper>\n );\n};\n\ntype IllustrationProps = {\n altText?: string;\n src?: React.ReactNode;\n size?: number | string;\n /** @deprecated Not applicable to Atlassian Design System Illustrations */\n color?: string;\n /** @deprecated Use src instead */\n illustration?: React.ReactNode;\n};\n\ntype IllustrationWrapperProps = {\n color?: string;\n size?: number | string;\n};\n\nexport default Illustration;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { Children, cloneElement } from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport type { ResponsiveType } from '../../types';\nimport {\n getResponsiveNumber,\n getResponsiveOneOf,\n getSize,\n} from '../../utilities';\n\nimport { getListContainer } from '../../utilities/styles';\n\nconst getSizeStyles = props => css`\n ${getSize('width', props.width)};\n ${getSize('height', props.height)};\n ${getSize('min-width', props.minWidth)};\n ${getSize('min-height', props.minHeight)};\n ${getSize('max-width', props.maxWidth)};\n ${getSize('max-height', props.maxHeight)};\n`;\n\nconst SplitWrapper = styled.div<SplitWrapperProps>`\n display: flex;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props =>\n props.justifyContent &&\n getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props => getResponsiveOneOf('flex-wrap', props.wrap)};\n ${props =>\n props.direction && getResponsiveOneOf('flex-direction', props.direction)};\n ${props => props.gap && getSize('gap', props.gap)};\n ${props => props.rowGap && getSize('row-gap', props.rowGap)};\n ${props => props.columnGap && getSize('column-gap', props.columnGap)};\n ${props => getSizeStyles(props)};\n ${props => getListContainer(props.as)};\n`;\n\nconst SplitSectionWrapper = styled.div<SplitSectionWrapperProps>`\n ${props => getResponsiveNumber('flex-grow', props.grow)};\n ${props => getResponsiveNumber('flex-shrink', props.shrink)};\n ${props => props.basis && getSize('flex-basis', props.basis)};\n ${props => getSizeStyles(props)};\n`;\n\nexport const SplitSection = ({\n children,\n grow,\n shrink,\n basis,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitSectionProps & React.ComponentProps<typeof SplitSectionWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitSectionWrapper\n as={htmlTag}\n grow={grow}\n shrink={shrink}\n basis={basis}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {children}\n </SplitSectionWrapper>\n );\n};\n\nconst Split = ({\n children,\n gap = 'initial',\n rowGap,\n columnGap,\n alignItems = 'center',\n justifyContent,\n alignContent,\n wrap = 'wrap',\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitProps & React.ComponentProps<typeof SplitWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitWrapper\n as={htmlTag}\n gap={gap}\n rowGap={rowGap}\n columnGap={columnGap}\n alignItems={alignItems}\n justifyContent={justifyContent}\n alignContent={alignContent}\n wrap={wrap}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {htmlTag === 'ul' || htmlTag === 'ol'\n ? Children.map(children, (child: React.ReactElement) => {\n if (child.type === SplitSection || child.type === Split) {\n return cloneElement(child, { htmlTag: 'li' });\n }\n\n return child;\n })\n : children}\n </SplitWrapper>\n );\n};\n\ninterface SharedProps {\n width?: ResponsiveType<number | string>;\n height?: ResponsiveType<number | string>;\n minWidth?: ResponsiveType<number | string>;\n minHeight?: ResponsiveType<number | string>;\n maxWidth?: ResponsiveType<number | string>;\n maxHeight?: ResponsiveType<number | string>;\n children?: React.ReactNode;\n}\n\ninterface SplitProps extends SharedProps {\n alignItems?: ResponsiveType<\n 'start' | 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'\n >;\n justifyContent?: ResponsiveType<\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n >;\n alignContent?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'start'\n | 'end'\n | 'baseline';\n wrap?: ResponsiveType<'nowrap' | 'wrap' | 'wrap-reverse'>;\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n gap?: ResponsiveType<number | string>;\n rowGap?: ResponsiveType<number | string>;\n columnGap?: ResponsiveType<number | string>;\n direction?: ResponsiveType<\n 'column' | 'column-reverse' | 'row' | 'row-reverse'\n >;\n className?: never;\n style?: never;\n}\n\ninterface SplitWrapperProps extends SplitProps {\n as?: string;\n}\n\ninterface SplitSectionProps extends SharedProps {\n grow?: ResponsiveType<number | string>;\n shrink?: ResponsiveType<number | string>;\n basis?: ResponsiveType<number | string>;\n className?: never;\n style?: never;\n htmlTag?: 'div' | 'li';\n}\n\ninterface SplitSectionWrapperProps extends SplitSectionProps {\n as?: string;\n}\n\nexport default Split;\n", "import styled from '@emotion/styled';\nimport React, { type FC, useState } from 'react';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\n\nimport type { LensDivProps } from '../../types';\nimport { u, getRadius } from '../../utilities';\n\nconst ColorfulWrapper = styled.div`\n padding: var(--lns-space-medium);\n & .react-colorful {\n width: auto;\n height: auto;\n }\n & .react-colorful__saturation {\n height: ${u(14)};\n border-bottom: none;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius(100)};\n margin-bottom: var(--lns-space-small);\n }\n\n & .react-colorful__hue {\n height: ${u(2)};\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius('50')};\n margin-bottom: var(--lns-space-medium);\n }\n\n & .react-colorful__saturation-pointer {\n width: ${u(1)};\n height: ${u(1)};\n cursor: pointer;\n border: 2px solid white;\n box-shadow: 0 0 0 3px var(--lns-color-border);\n border-radius: var(--lns-radius-medium);\n }\n & .react-colorful__hue-pointer {\n width: ${u(1)};\n height: ${u(2.5)};\n border-radius: 2px;\n box-shadow: 0 0 0 2px var(--lns-color-border);\n cursor: pointer;\n border: 2px solid white;\n }\n`;\n\nconst ColorPickerContainer = styled.div`\n position: relative;\n width: ${u(31)};\n background-color: var(--lns-color-overlay);\n ${getRadius('250')};\n box-shadow:\n 0 0 0 1px var(--lns-color-border),\n var(--lns-shadow-medium);\n`;\n\nconst InputContainer = styled.div`\n position: relative;\n width: 100%;\n\n input {\n padding: 0 0 0 ${u(4)};\n height: ${u(4)};\n width: 100%;\n font: inherit;\n font-size: var(--lns-fontSize-small);\n border: none;\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n ${getRadius('150')};\n transition: 0.3s box-shadow;\n background-color: var(--lns-color-overlay);\n color: var(--lns-color-body);\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n }\n`;\n\nconst ColorBox = styled.div<{ color: string }>`\n position: absolute;\n width: ${u(3)};\n height: ${u(3)};\n left: var(--lns-space-xsmall);\n top: var(--lns-space-xsmall);\n border: 1px solid rgba(0, 0, 0, 0.1);\n ${getRadius('100')};\n background-color: ${props => props.color};\n`;\n\nconst ButtonWrapper = styled.div`\n position: relative;\n border-radius: var(--lns-radius-medium);\n padding: 0 var(--lns-space-medium) var(--lns-space-medium)\n var(--lns-space-medium);\n`;\n\nconst SwatchesContainer = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${u(3)});\n gap: ${u(1)} ${u(1)};\n border-bottom: 1px solid var(--lns-color-border);\n padding: var(--lns-space-medium);\n`;\n\nconst Swatch = styled.div<SwatchProps>`\n cursor: pointer;\n width: ${u(3)};\n height: ${u(3)};\n ${getRadius('100')};\n background-color: ${props => props.color};\n border: ${props =>\n props.selected === props.color\n ? '1px solid white'\n : '1px solid var(--lns-color-border)'};\n box-shadow: ${props =>\n props.selected === props.color && '0 0 0 2px var(--lns-color-focusRing)'};\n`;\n\nconst SwatchSelector: FC<{\n swatches: string[];\n currentColor: string;\n onSwatchClick: (swatch: string) => void;\n}> = ({ swatches, currentColor, onSwatchClick }) => {\n const selectedSwatch = swatches.includes(currentColor) && currentColor;\n\n return (\n <SwatchesContainer>\n {swatches.map(swatch => (\n <Swatch\n key={swatch}\n color={swatch}\n selected={selectedSwatch}\n onClick={() => onSwatchClick(swatch)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onSwatchClick(swatch);\n }\n }}\n />\n ))}\n </SwatchesContainer>\n );\n};\n\nconst ColorSelector = ({ color, setColor }) => {\n return (\n <ColorfulWrapper>\n <HexColorPicker color={color} onChange={setColor} />\n <InputContainer>\n <HexColorInput prefixed color={color} onChange={setColor} />\n <ColorBox color={color} />\n </InputContainer>\n </ColorfulWrapper>\n );\n};\n\nconst ColorPicker = ({\n defaultColor = '#ffffff',\n confirmButton,\n swatches,\n onChange,\n ...props\n}: ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n > &\n Omit<\n LensDivProps,\n keyof ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n >\n >) => {\n const [tempColor, setTempColor] = useState(\n defaultColor ? defaultColor : '#FFFFFF'\n );\n\n const handleOnChange = (hex: string) => {\n setTempColor(hex);\n onChange(hex);\n };\n\n const onSwatchClick = (swatch: string) => {\n handleOnChange(swatch);\n };\n\n return (\n <ColorPickerContainer {...props}>\n {swatches && (\n <SwatchSelector\n swatches={swatches}\n currentColor={tempColor}\n onSwatchClick={onSwatchClick}\n />\n )}\n <ColorSelector color={tempColor} setColor={handleOnChange} />\n {confirmButton && <ButtonWrapper>{confirmButton}</ButtonWrapper>}\n </ColorPickerContainer>\n );\n};\n\ntype SwatchProps = {\n color?: string;\n selected?: string;\n};\n\ntype ColorPickerProps = {\n defaultColor?: string;\n confirmButton?: React.ReactNode;\n swatches?: string[];\n onChange?: (selectedColor: string) => void;\n};\n\nexport default ColorPicker;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue, u } from '../../utilities';\n\nconst speed = 2.0;\n\nconst sizes = {\n small: {\n totalSize: u(2.25),\n height: u(0.5625),\n dotSize: u(0.375),\n gap: u(0.25),\n },\n medium: {\n totalSize: u(3),\n height: u(0.75),\n dotSize: u(0.5),\n gap: u(0.375),\n },\n large: {\n totalSize: u(6),\n height: u(1.5),\n dotSize: u(1),\n gap: u(0.75),\n },\n};\n\nconst getTotalSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].totalSize;\nconst getHeight = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].height;\nconst getDotSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\nconst getGap = (props: EllipsesLoaderWrapperProps) => sizes[props.size].gap;\nconst getBounceDistance = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\n\nconst createDotBounce = (bounceDistance: string) => keyframes`\n 0%, 40%, 100% {\n transform: translateY(50%);\n }\n 20% {\n transform: translateY(calc(50% - ${bounceDistance}));\n }\n`;\n\n/** Dot colours for the \"ai\" variant: blue, purple, yellowDark */\nconst AI_DOT_COLORS = [\n getColorValue('blue'),\n getColorValue('purple'),\n getColorValue('yellowDark'),\n] as const;\n\nconst EllipsesLoaderWrapper = styled.span<EllipsesLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: ${props => getHeight(props)};\n width: ${props => getTotalSize(props)};\n gap: ${props => getGap(props)};\n`;\n\nconst Dot = styled.span<DotProps>`\n width: ${props => getDotSize(props)};\n height: ${props => getDotSize(props)};\n border-radius: 50%;\n background-color: ${props =>\n props.color === 'ai' && props.dotIndex !== undefined\n ? AI_DOT_COLORS[props.dotIndex]\n : getColorValue(props.color)};\n transform: translateY(50%);\n animation: ${props => createDotBounce(getBounceDistance(props))} ${speed}s\n ease-in-out infinite;\n animation-fill-mode: both;\n animation-delay: ${props => props.delay}s;\n`;\n\nconst EllipsesLoader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper>\n >) => {\n return (\n <EllipsesLoaderWrapper size={size} {...props}>\n <Dot color={color} size={size} delay={0} dotIndex={0} />\n <Dot color={color} size={size} delay={0.2} dotIndex={1} />\n <Dot color={color} size={size} delay={0.4} dotIndex={2} />\n </EllipsesLoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype EllipsesLoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype EllipsesLoaderWrapperProps = {\n size: 'small' | 'medium' | 'large';\n};\n\ntype DotProps = {\n color?: string;\n size: 'small' | 'medium' | 'large';\n delay?: number;\n dotIndex?: 0 | 1 | 2;\n};\n\nexport default EllipsesLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { getColorValue, u } from '../../utilities';\nimport type { LensSpanProps } from '../../types';\nconst sizes = {\n medium: {\n totalSize: u(3), // 24px\n barHeight: u(2.25), // 18px\n },\n};\nconst speeds = {\n fast: 1.2,\n slow: 1.7,\n};\n\nconst AI_PRIMARY_ANIMATED_LINEAR_GRADIENT =\n 'linear-gradient(270deg, #565ADD 10.58%, #DC43BE 41.83%, #565ADD 69.23%, #565ADD 96.63%)';\nconst GRADIENT_ANIMATION_SPEED = 2.0;\nconst BARS_COUNT = 5;\nconst BAR_WIDTH = u(0.25); // 2px = 0.25 units\nconst getBarHeight = props => sizes[props.size || 'medium'].barHeight;\nconst getTotalSize = props => sizes[props.size || 'medium'].totalSize;\nconst getAnimationSpeed = props => speeds[props.speed || 'fast'];\nconst ripple = keyframes`\n 0%, 100% {\n transform: scaleY(0.3);\n }\n 50% {\n transform: scaleY(1);\n }\n`;\n\n// We only animate the background when it's the ai-primary gradient\nconst backgroundAnimation = keyframes`\n 0% {\n background-position: 0% center;\n }\n 100% {\n background-position: 100% center;\n }\n`;\n\n// The fade-in is to mask that the bars start at the same height. Without this\n// you can see the bars load in at full height then \"glitch\" into animation\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ntype WaveformLoaderWrapperProps = {\n size?: 'medium';\n color?: string;\n};\ntype BarProps = {\n index: number;\n size?: 'medium';\n speed: 'fast' | 'slow';\n color?: string;\n};\n\nconst WaveformLoaderWrapper = styled.span<WaveformLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: space-evenly;\n height: ${props => getTotalSize(props)};\n width: ${props => getTotalSize(props)};\n position: relative;\n`;\nconst Bar = styled.span<BarProps>`\n width: ${BAR_WIDTH};\n height: ${props => getBarHeight(props)};\n background: ${props =>\n props.color === 'ai-primary'\n ? AI_PRIMARY_ANIMATED_LINEAR_GRADIENT\n : getColorValue(props.color)};\n background-size: ${props => getTotalSize(props)}\n ${props => getTotalSize(props)};\n background-position: ${props => {\n const barCenterRatio = (props.index + 1) / (BARS_COUNT + 1);\n const offsetRatio = barCenterRatio - 0.5;\n return `calc(${getTotalSize(props)} * ${offsetRatio}) center`;\n }};\n opacity: 0; /* Ensure it starts invisible */\n transform: scaleY(0.3);\n transform-origin: center;\n animation:\n ${fadeIn} 50ms ease-out forwards,\n ${ripple} ${props => getAnimationSpeed(props)}s ease-in-out infinite,\n ${backgroundAnimation} ${GRADIENT_ANIMATION_SPEED}s linear infinite;\n\n animation-delay: ${props =>\n -1 + props.index * (getAnimationSpeed(props) / BARS_COUNT)}s;\n position: relative;\n`;\n\nexport const WaveformLoader = ({\n size = 'medium',\n speed = 'fast',\n color = 'body',\n ...props\n}: WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper>\n >) => {\n const barsList = Array.from({ length: BARS_COUNT }, (_, index) => (\n <Bar key={index} index={index} size={size} speed={speed} color={color} />\n ));\n return (\n <WaveformLoaderWrapper size={size} color={color} {...props}>\n {barsList}\n </WaveformLoaderWrapper>\n );\n};\nexport const availableSizes = Object.keys(sizes);\nexport const availableSpeeds = Object.keys(speeds);\ntype WaveformLoaderProps = {\n color?: string;\n size?: 'medium';\n speed?: 'fast' | 'slow';\n};\nexport default WaveformLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst ringAnimation = keyframes`\n 0% {\n transform: scale(1);\n opacity: 0;\n }\n 50% {\n transform: scale(1.6);\n opacity: 0.4;\n }\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n`;\n\nconst indicatorStyles = {\n dot: {\n size: '8px',\n borderWidth: '1px',\n borderColor: getColorValue('background'),\n },\n positioning: {\n top: '-2px',\n right: '-2px',\n },\n animation: {\n duration: '2s',\n timing: 'ease-out',\n iteration: 'infinite',\n },\n};\n\nconst colorStyles = {\n blue: getColorValue('blue'),\n orange: getColorValue('orange'),\n};\n\nconst IndicatorContainer = styled.span`\n position: relative;\n display: inline-block;\n`;\n\nconst IndicatorWrapper = styled.span`\n position: absolute;\n height: ${indicatorStyles.dot.size};\n width: ${indicatorStyles.dot.size};\n top: ${indicatorStyles.positioning.top};\n right: ${indicatorStyles.positioning.right};\n`;\n\nconst IndicatorDot = styled.span<Omit<IndicatorProps, 'children'>>`\n position: absolute;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-full);\n background-color: ${props => colorStyles[props.color || 'blue']};\n border: ${indicatorStyles.dot.borderWidth} solid\n ${indicatorStyles.dot.borderColor};\n\n &::after {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-full);\n background-color: ${props => colorStyles[props.color || 'blue']};\n opacity: 0;\n animation: ${props => (props.withPulse ? ringAnimation : 'none')}\n ${indicatorStyles.animation.duration} ${indicatorStyles.animation.timing}\n ${indicatorStyles.animation.iteration};\n display: ${props => (props.withPulse ? 'block' : 'none')};\n }\n`;\n\nconst Indicator = ({\n withPulse = true,\n color = 'blue',\n children,\n ...props\n}: IndicatorProps &\n React.ComponentProps<typeof IndicatorContainer> &\n Omit<\n LensSpanProps,\n keyof IndicatorProps & React.ComponentProps<typeof IndicatorContainer>\n >) => {\n const dotElement = <IndicatorDot withPulse={withPulse} color={color} />;\n\n return (\n <IndicatorContainer {...props}>\n {children}\n <IndicatorWrapper>{dotElement}</IndicatorWrapper>\n </IndicatorContainer>\n );\n};\n\ntype IndicatorProps = {\n withPulse?: boolean;\n color?: 'blue' | 'orange';\n children: React.ReactNode;\n};\n\nexport default Indicator;\n", "import * as React from 'react';\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationAccountsBilling(props) {\n return (\n <svg\n viewBox=\"0 0 102 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M96.072 5.826H5.928v90.145h90.144V5.826z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M69.38 59.21c14.74 0 26.691-11.95 26.691-26.692S84.121 5.826 69.38 5.826c-14.741 0-26.692 11.95-26.692 26.692S54.638 59.21 69.38 59.21zM1 95.973h100M1 77.28h100M1 59.213h100M5.928 1v58.213M24.605 1v58.213M42.674 1v58.213\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationAccountsBilling;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationInvite(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50.028 25.007A24.999 24.999 0 0034.586 1.905a25.022 25.022 0 00-27.26 5.42 25.002 25.002 0 0017.688 42.687V25.007h25.014z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M74.986 50.012a25.02 25.02 0 0023.11-15.436 24.993 24.993 0 00-5.422-27.25 25.017 25.017 0 00-42.702 17.681h25.014v25.005z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.972 74.99a25 25 0 0015.442 23.102 25.025 25.025 0 0027.26-5.42 25.002 25.002 0 00-17.688-42.687V74.99H49.972z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M25.014 100.003a25.003 25.003 0 0023.103-15.44 25.017 25.017 0 00-5.42-27.259A25.005 25.005 0 00.006 74.991h25.007v25.012z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInvite;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationArchived(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 .002v100h100v-100H0zm90 90H10v-80h80v80z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M87 13.002H53.68c8.41 1.53 15 8.2 16.46 16.63H87v-16.63zM46.32 13.002H13v16.63h16.86c1.45-8.43 8.05-15.1 16.46-16.63zM13 32.632v15.87h18.19c3.12-7.32 10.35-12.47 18.81-12.47 8.46 0 15.69 5.15 18.81 12.47H87v-15.87H13zM13 67.372h20.4c3.71-5.15 9.76-8.52 16.59-8.52 6.84 0 12.88 3.36 16.59 8.52H87v-15.87H13v15.87zM13 87.002h23.47c3.61-3.18 8.34-5.12 13.53-5.12 5.19 0 9.92 1.93 13.53 5.12H87v-16.63H13v16.63z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationArchived;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLeadwithTransparency(props) {\n return (\n <svg\n viewBox=\"0 0 110 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 100.888a54.867 54.867 0 0031.361-9.8H23.64a54.867 54.867 0 0031.361 9.8zM20.482 88.728h69.025a54.887 54.887 0 008.8-8.911H11.682a56.245 56.245 0 008.8 8.911zM9.262 76.492h91.476a54.95 54.95 0 004.411-7.957H4.851a54.95 54.95 0 004.41 7.957zM3.124 64.255h103.752a54.896 54.896 0 001.969-7.002H1.166a53.117 53.117 0 001.958 7.002zM0 46.015c0 2.03.121 4.039.33 6.003h109.34c.22-1.975.33-3.973.33-6.003v-.033H0v.033zM.363 39.782h109.274a54.71 54.71 0 00-.814-5.07H1.177a55.308 55.308 0 00-.814 5.07zM3.2 27.556H106.8a58.547 58.547 0 00-1.672-4.115H4.873A51.945 51.945 0 003.2 27.556zM9.405 15.32h91.19a59.831 59.831 0 00-2.321-3.161H11.726a59.814 59.814 0 00-2.321 3.16zM23.716.888a57.211 57.211 0 00-2.959 2.195h68.475A52.837 52.837 0 0086.273.888H23.716z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLeadwithTransparency;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationAskforMore(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationAskforMore;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLearningDevelopment(props) {\n return (\n <svg\n viewBox=\"0 0 142 142\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.945 50.767l50.766 50.766 50.765-50.766 19.944 19.944-51.672 51.673c-10.514 10.514-27.56 10.514-38.075 0L.001 70.711l19.944-19.944z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.509 55.733l-27.901-27.63L23.57 47.14l28.354 28.084c10.264 10.264 26.904 10.264 37.168 0l28.48-28.362-19.038-19.037L70.51 55.733z\"\n fill=\"currentColor\"\n />\n <circle\n cx={70.71}\n cy={24.88}\n transform=\"rotate(-45 70.71 24.88)\"\n fill=\"currentColor\"\n r={17.592}\n />\n </svg>\n );\n}\n\nexport default IllustrationLearningDevelopment;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationBusinessPlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47.333 0H0v47.333h47.333V0zM74 0H52.667v21.333H74V0zM52.667 26H74v21.333H52.667V26zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.667V100H100V52.667zM78.667 26H100v21.333H78.667V26zm3-10.333h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM84.334 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm15.668 15.667H97v2.666h-2.666v-2.666zm-3 5.666v-8.666H100v8.666h-8.666zM97 3h-2.666v2.667H97V3zm-5.666-3v8.667H100V0h-8.666z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationBusinessPlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLoomPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 12.288L12.287 0v87.71h37.706L37.706 100H0v-87.71zM49.994 63.743l12.287-12.276v36.245h37.72L87.714 100h-37.72V63.743zM49.994 33.336l12.287-12.288v18.129h37.72L87.714 51.465h-37.72V33.336z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.993 12.288L62.28 0v9.064H100L87.713 21.353h-37.72v-9.065z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLoomPlans;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCollaboratewithTeammatesSharedLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm17.12 10.344h-6.54v6.54h6.54v-6.54zm6.392-.61l6.396 1.364-1.364 6.396-6.397-1.365 1.365-6.396zM17.89 23.208l-6.396-1.365-1.365 6.396 6.396 1.365 1.365-6.396zM50.496 8.99l4.507 4.74-4.74 4.507-4.507-4.74 4.74-4.507zm-32.25 41.271l-4.507-4.74L9 50.03l4.507 4.74 4.74-4.508zm18.708-41.1l5.702 3.204-3.203 5.702-5.702-3.204 3.203-5.702zM17.906 36.999l-5.702-3.204L9 39.497l5.702 3.204 3.204-5.702zm46.62-27.57l2.216 6.153L60.59 17.8l-2.216-6.154 6.153-2.216zm-46.12 53.986l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zM77.57 9.96l.82 6.488-6.489.82-.82-6.488 6.489-.82zM17.577 77.17l-1.733-6.306-6.307 1.733 1.733 6.306 6.307-1.733zm7.303-55.86l5.627 3.334-3.333 5.627-5.627-3.333 3.333-5.627zm29.716 6.384l-2.311-6.118-6.119 2.311 2.312 6.118 6.118-2.31zm-15.582-6.457l3.744 5.363-5.363 3.744-3.744-5.363 5.363-3.744zm27.458 7.017l-1.45-6.378-6.378 1.451 1.45 6.377 6.378-1.45zm11.731-5.521l-.411 6.527-6.527-.411.41-6.527 6.528.41zm-47.559 15.49l-4.362-4.873-4.873 4.362 4.362 4.873 4.873-4.361zm22.144-4.204l1.542 6.356-6.356 1.541-1.542-6.355 6.356-1.542zm-10.132 5.2l-3.201-5.703-5.704 3.2 3.201 5.704 5.704-3.201zm23.253-4.438l-.165 6.538-6.538-.165.165-6.538 6.538.165zm12.84.891l-6.31-1.72-1.719 6.31 6.31 1.72 1.72-6.31zm-51.5 10.013l3.238 5.683-5.683 3.237-3.238-5.683 5.683-3.237zm26.346 7.784l.11-6.539-6.54-.11-.11 6.54 6.54.11zm-13.008-7.287l1.58 6.347-6.347 1.58-1.58-6.348 6.347-1.58zM66.6 47.896l-6.29-1.793-1.792 6.29 6.29 1.793 1.792-6.29zm6.863-2.197l5.718 3.174-3.174 5.718-5.719-3.174 3.175-5.718zM28.985 58.767l-6.513.598.598 6.513 6.513-.598-.598-6.513zm19.734-.761l5.978 2.654-2.655 5.978-5.977-2.655 2.654-5.977zm-7.014 1.293l-6.523-.477-.478 6.522 6.523.478.478-6.523zm20.341-1.573l5.108 4.084-4.084 5.108-5.108-4.084 4.084-5.108zm17.236 5.44l-3.703-5.39-5.391 3.702 3.703 5.391 5.39-3.703zm-55.967 7.587l6.458 1.034-1.034 6.458-6.458-1.034 1.034-6.458zm31.473 2.343l-5.81-3.004-3.003 5.81 5.81 3.004 3.003-5.81zm-19.53-2.16l6.51.615-.615 6.512-6.512-.616.616-6.511zm31.919 3.807l-4.375-4.862-4.862 4.374 4.374 4.862 4.863-4.374zm8.616-4.746l3.444 5.56-5.56 3.444-3.444-5.56 5.56-3.444zM17.121 83.406h-6.54v6.54h6.54v-6.54zm7.036-1.184l6.1 2.356-2.356 6.101-6.1-2.356 2.356-6.101zm30.846 4.345l-4.507-4.74-4.74 4.508 4.508 4.739 4.739-4.507zm-18.049-4.57l5.702 3.205-3.203 5.701L33.75 87.7l3.203-5.702zm29.788 6.422l-2.216-6.154-6.153 2.217 2.216 6.153 6.153-2.216zm10.827-5.623l.82 6.489-6.489.82-.82-6.489 6.489-.82zm12.605-72.452h-6.54v6.54h6.54v-6.54zm-5.627 11.5l6.396 1.365-1.365 6.396-6.396-1.365 1.365-6.396zm6.752 28.417l-4.507-4.74-4.739 4.508 4.507 4.74 4.74-4.508zm-6.044-16.466L90.957 37l-3.204 5.702-5.701-3.204 3.203-5.702zm6.205 29.62l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zm-2.563 7.449l1.733 6.306-6.306 1.733-1.734-6.306 6.307-1.733zm1.276 12.542h-6.54v6.54h6.54v-6.54z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCollaboratewithTeammatesSharedLibrary;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationOptionGrants(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 53.596h47.333v47.333H.001zM52.667 53.596H100v47.333H52.667zM52.667 26.929H74v21.333H52.667zM52.667.929H74v21.333H52.667zM78.667 26.929H100v21.333H78.667zM78.667 13.596h8.667v8.667h-8.667zM78.667.929h8.667v8.667h-8.667zM91.335 13.596h8.667v8.667h-8.667zM91.335.929h8.667v8.667h-8.667zM0 .929h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationOptionGrants;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCommunity(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.467 36.689c5.566-3.544 9.253-9.73 9.253-16.769C71.72 8.92 62.713 0 51.603 0c-8.12 0-15.118 4.766-18.295 11.627a17.717 17.717 0 00-15.593-9.231C7.942 2.396.02 10.241.02 19.919c0 7.906 5.286 14.589 12.55 16.77C5.296 38.874 0 45.565 0 53.48c0 8.41 5.977 15.439 13.954 17.146-5.396 1.6-9.329 6.554-9.329 12.419 0 7.158 5.86 12.96 13.089 12.96s13.089-5.802 13.089-12.96c0-5.865-3.933-10.819-9.33-12.419a17.725 17.725 0 0011.834-8.813 20.078 20.078 0 007.207 8.31c-3.692 3.111-6.034 7.745-6.034 12.92 0 9.365 7.667 16.957 17.124 16.957 9.457 0 17.123-7.592 17.123-16.956 0-5.176-2.342-9.81-6.033-12.92 4.51-2.953 7.75-7.655 8.733-13.13 1.583 6.234 7.282 10.85 14.069 10.85 8.011 0 14.505-6.431 14.505-14.364 0-7.934-6.494-14.365-14.505-14.365-6.787 0-12.486 4.616-14.069 10.85-1-5.566-4.332-10.334-8.96-13.276zm-29.16 8.458a20.083 20.083 0 017.433-8.458 20.063 20.063 0 01-7.433-8.477A17.705 17.705 0 0122.86 36.69a17.725 17.725 0 0110.447 8.457zM59.671 19.92c0 4.413-3.612 7.99-8.069 7.99-4.456 0-8.069-3.577-8.069-7.99s3.613-7.99 8.07-7.99c4.456 0 8.069 3.577 8.069 7.99zm4.036 33.56c0 6.619-5.42 11.985-12.104 11.985-6.685 0-12.104-5.366-12.104-11.986 0-6.619 5.42-11.985 12.104-11.985 6.685 0 12.104 5.366 12.104 11.986zm-41.96.001c0 2.207-1.806 3.995-4.034 3.995-2.228 0-4.034-1.788-4.034-3.995 0-2.206 1.806-3.995 4.034-3.995 2.228 0 4.035 1.789 4.035 3.995zm61.309 29.562c0-1.335 1.092-2.416 2.44-2.416 1.347 0 2.439 1.081 2.439 2.416 0 1.334-1.092 2.415-2.44 2.415-1.347 0-2.44-1.081-2.44-2.415zm2.44-10.37c-5.784 0-10.472 4.643-10.472 10.37 0 5.726 4.688 10.368 10.471 10.368s10.472-4.642 10.472-10.368c0-5.727-4.689-10.37-10.472-10.37zm.345-55.186c-1.347 0-2.44 1.081-2.44 2.416 0 1.334 1.093 2.415 2.44 2.415s2.44-1.081 2.44-2.415c0-1.335-1.093-2.416-2.44-2.416zm-10.47 2.416c0-5.727 4.687-10.37 10.47-10.37s10.471 4.643 10.471 10.37c0 5.726-4.688 10.368-10.47 10.368-5.784 0-10.472-4.642-10.472-10.368zM44.52 83.043c0-3.873 3.171-7.014 7.084-7.014 3.912 0 7.084 3.14 7.084 7.015 0 3.874-3.172 7.014-7.084 7.014-3.913 0-7.084-3.14-7.084-7.014zm-26.806-3.018c-1.684 0-3.05 1.352-3.05 3.02 0 1.667 1.366 3.02 3.05 3.02 1.684 0 3.05-1.353 3.05-3.02 0-1.668-1.366-3.02-3.05-3.02zm-6.398-60.106c0-3.5 2.865-6.337 6.4-6.337 3.533 0 6.398 2.837 6.398 6.337 0 3.5-2.865 6.337-6.399 6.337s-6.399-2.837-6.399-6.337zm74.18 27.15c-3.576 0-6.474 2.87-6.474 6.41 0 3.541 2.898 6.411 6.474 6.411 3.575 0 6.474-2.87 6.474-6.41 0-3.541-2.899-6.411-6.474-6.411zM27.397 53.48c0 5.296-4.335 9.589-9.683 9.589-5.347 0-9.682-4.293-9.682-9.589 0-5.295 4.335-9.588 9.682-9.588 5.348 0 9.683 4.293 9.683 9.588z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunity;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCommunityAlt(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 8.727C26.31 8.727 8.727 26.31 8.727 48c0 6.558 1.608 12.74 4.45 18.175a35.829 35.829 0 01-.462-5.749c0-19.647 15.927-35.573 35.574-35.573 19.646 0 35.573 15.926 35.573 35.573 0 1.395-.08 2.77-.236 4.123a39.123 39.123 0 003.647-16.55C87.273 26.31 69.69 8.728 48 8.728zm.708 78.539c.328-.006.655-.016.98-.03a27 27 0 001.832-.156c6.84-1.128 12.056-7.069 12.056-14.227 0-7.964-6.456-14.42-14.42-14.42-7.964 0-14.42 6.456-14.42 14.42 0 7.814 6.215 14.176 13.972 14.413zM26.177 75.655a23.374 23.374 0 01-.168-2.802c0-12.784 10.363-23.148 23.147-23.148 12.648 0 22.928 10.145 23.144 22.742a26.734 26.734 0 002.835-12.02c0-14.828-12.02-26.847-26.846-26.847-14.827 0-26.847 12.02-26.847 26.846a26.722 26.722 0 004.735 15.229zm22.58 20.342a36.51 36.51 0 01-.635.002H48C21.49 96 0 74.51 0 48 0 21.49 21.49 0 48 0s48 21.49 48 48c0 25.236-19.475 45.923-44.216 47.853a23.393 23.393 0 01-3.027.144z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunityAlt;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationParentalLeave(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M49.027 25.443a24.514 24.514 0 10-24.513 24.513V25.443h24.513zM75.486 49.956a24.513 24.513 0 10-24.513-24.513h24.513v24.513zM50.973 76.415a24.514 24.514 0 1024.513-24.513v24.513H50.973zM24.514 51.902a24.513 24.513 0 1024.513 24.513H24.514V51.902z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationParentalLeave;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationContentLimit(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm10 10h80v80H10V10zm10 10h60v10H20V20zm30 27h22c-2.57-9.778-11.443-17-22.008-17C39.411 30 30.554 37.222 28 47h22zm0 0c9.389 0 17 7.387 17 16.5S59.389 80 50 80s-17-7.387-17-16.5S40.611 47 50 47z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationContentLimit;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationPto(props) {\n return (\n <svg\n viewBox=\"0 0 110 111\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 110.929c30.376 0 55-24.624 55-55s-24.624-55-55-55-55 24.624-55 55 24.624 55 55 55zm-6.108-79.595l6.11-24.877 6.09 24.877h-12.2zm-18.63-18.26l7.149 24.595 10.563-6.091-17.711-18.504zm.387 35.831L12.145 31.194l24.595 7.148-6.091 10.563zM5.528 55.93l24.877 6.092V49.82L5.528 55.93zM36.74 73.498l-24.595 7.148L30.65 62.935l6.091 10.563zm-6.477 25.266l17.711-18.503-10.563-6.092-7.148 24.595zm30.83-18.257L55 105.384l-6.109-24.877h12.2zm18.622 18.257L72.567 74.17l-10.563 6.092 17.711 18.503zm-.383-35.829l18.503 17.711-24.595-7.148 6.092-10.563zm25.121-7.005l-24.877-6.11v12.202l24.877-6.092zM73.24 38.342l24.595-7.148-18.503 17.711-6.092-10.563zm6.475-25.268L62.004 31.578l10.563 6.091 7.148-24.595zM52.271 44.978l2.73-11.092 2.71 11.091h-5.44zm-8.293-8.136l3.187 10.95 4.7-2.71-7.887-8.24zm.177 15.953l-8.24-7.888 10.951 3.187-2.711 4.7zm-11.198 3.134l11.092 2.712V53.2l-11.092 2.728zm13.91 7.816l-10.952 3.187 8.24-7.888 2.711 4.7zm-2.889 11.252l7.888-8.24-4.7-2.711-3.188 10.95zm13.734-8.12L55 77.951l-2.728-11.074h5.44zm8.293 8.12l-3.187-10.951-4.7 2.711 7.887 8.24zm-.18-15.953l8.24 7.888-10.95-3.187 2.71-4.7zm11.202-3.115L65.953 53.2v5.44l11.074-2.71zm-13.912-7.835l10.95-3.187-8.24 7.888-2.71-4.7zm2.89-11.252l-7.888 8.24 4.701 2.71 3.187-10.95z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationPto;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCustomBranding(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.657 63.942L19.983 19.267l-.708.707 44.708 44.708L9.227 33.067l-.5.866L63.4 65.5h-.063L2.407 49.176l-.26.966L59.475 65.5H0v3h55.604L1.889 82.89l.776 2.898 53.719-14.391L8.227 99.2l1.5 2.598 48.184-27.82-39.343 39.343.709.708-.002.001.708.708v-.002l.707.706 39.298-39.299-27.787 48.128 2.598 1.5 27.83-48.202-14.404 53.764 2.898.776L65.5 78.447V134h3V78.395l14.39 53.715.98-.262v.002l.966-.258v-.003l.953-.255-14.392-53.719L99.2 125.772l2.598-1.5-27.803-48.154 39.326 39.325.711-.711.007.007.707-.708-.007-.007.703-.702-39.325-39.326 48.154 27.803 1.5-2.598-48.157-27.804 53.719 14.391.776-2.897L78.395 68.5H134v-3H74.525l57.326-15.358-.259-.966L70.661 65.5h-.064l54.674-31.567-.5-.866-54.697 31.58 44.673-44.673-.707-.707-44.728 44.728 31.621-54.768-.866-.5-31.576 54.69 16.345-61.01-.966-.26L67.5 63.252V0h-1v63.15L50.157 2.148l-.966.258 16.368 61.098L33.933 8.727l-.866.5 31.59 54.715z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCustomBranding;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRecord(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g clipPath=\"url(#Record_svg__clip0)\" fill=\"currentColor\">\n <path d=\"M79.819 62.343c6.818-16.462-.999-35.334-17.46-42.153-16.463-6.82-35.336.998-42.155 17.46-6.819 16.462.998 35.335 17.46 42.154 16.463 6.819 35.335-.999 42.154-17.46zM53.659 0h-7.303v8.763h7.303V0zM40.498.773l-6.87 1.84 2.268 8.465 6.87-1.84L40.498.772zM28.003 4.978l-5.996 3.46 4.38 7.59 5.996-3.46-4.38-7.59zM17.048 12.274l-4.761 4.76 6.196 6.197 4.761-4.76-6.196-6.197zM8.34 22.174L5.07 27.84l7.588 4.381 3.271-5.666-7.588-4.381zM2.522 33.984L.878 40.121l8.464 2.268 1.644-6.137-8.464-2.268zM8.763 46.926H0v6.163h8.763v-6.163zM9.362 57.697L.898 59.965l1.595 5.953 8.464-2.268-1.595-5.953zM12.806 68.033l-7.589 4.382 2.987 5.173 7.589-4.382-2.987-5.173zM18.811 77.097l-6.196 6.197 4.09 4.09 6.196-6.197-4.09-4.09zM26.969 84.311L22.587 91.9l4.844 2.797 4.382-7.59-4.844-2.796zM36.721 89.14l-2.27 8.464 5.22 1.4 2.27-8.464-5.22-1.4zM52.607 91.237h-5.214V100h5.214v-8.763zM63.083 89.192l-4.839 1.296 2.268 8.464 4.839-1.296-2.268-8.464zM72.698 84.501l-4.173 2.41 4.381 7.59 4.174-2.41-4.382-7.59zM80.772 77.506L77.5 80.78l6.196 6.196 3.274-3.274-6.197-6.196zM86.813 68.694l-2.22 3.845 7.59 4.382 2.22-3.845-7.59-4.382zM90.385 58.633l-1.1 4.105 8.464 2.268 1.1-4.105-8.464-2.268zM100 47.962h-8.763v4.06H100v-4.06zM97.796 35.184l-8.464 2.267 1.002 3.739 8.464-2.268-1.002-3.738zM92.37 23.41l-7.589 4.381 1.84 3.188 7.59-4.382-1.84-3.187zM84.1 13.424l-6.197 6.195 2.467 2.469 6.198-6.195-2.467-2.469zM73.564 5.885l-4.383 7.588 2.858 1.65 4.383-7.587-2.858-1.651zM61.446 1.297l-2.27 8.465 3.005.805 2.27-8.464-3.005-.806z\" />\n </g>\n <defs>\n <clipPath id=\"Record_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationRecord;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDesktopAppandChromeExtension(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.676 50.418L55.95.916l-1.164.207 8.727 49.502c.195-.042.384-.083.58-.119.194-.035.39-.059.584-.088zM44.664 3.828l-1.158.42L60.694 51.48c.378-.153.768-.29 1.158-.42L44.664 3.829zM34.058 8.656l-1.11.644 25.128 43.528c.36-.225.733-.443 1.111-.644L34.058 8.656zM24.444 15.243l-1.022.856L55.73 54.606c.33-.302.668-.586 1.022-.857L24.444 15.243zM16.117 23.403l-.892 1.058L53.73 56.769c.283-.366.579-.715.892-1.058L16.117 23.403zM9.336 32.88l-.715 1.241 43.534 25.135c.225-.425.461-.839.715-1.247L9.336 32.88zM4.295 43.387l-.508 1.394 47.24 17.194c.147-.473.318-.94.507-1.394L4.295 43.387zM1.153 54.606l-.266 1.519 49.502 8.727c.065-.509.153-1.017.266-1.513L1.153 54.606zM0 66.205v1.59h50.27a15.808 15.808 0 010-1.59H0zM50.375 69.076L.867 77.803l.296 1.66 49.508-8.726c-.066-.272-.119-.55-.166-.828a13.631 13.631 0 01-.13-.833zM3.746 89.102l.597 1.636 47.245-17.194a16.817 16.817 0 01-.591-1.636L3.747 89.102zM8.525 99.725l.893 1.548 43.534-25.135a16.699 16.699 0 01-.892-1.548L8.525 99.725zM15.086 109.361l1.182 1.413 38.518-32.32c-.42-.45-.816-.916-1.182-1.406L15.086 109.36zM23.207 117.715l1.448 1.217 32.32-38.518c-.503-.378-.993-.78-1.454-1.211l-32.314 38.512zM32.662 124.54l1.678.969 25.141-43.54c-.579-.29-1.14-.62-1.678-.975l-25.14 43.546zM43.152 129.623l1.873.679 17.2-47.25c-.638-.19-1.264-.42-1.873-.68l-17.2 47.251zM54.36 132.807l2.008.355 8.733-49.52a16.216 16.216 0 01-2.009-.354l-8.733 49.519zM65.951 134h2.092V83.718c-.703.047-1.4.042-2.092 0V134zM68.846 83.646l8.733 49.525 2.109-.372-8.733-49.525c-.343.082-.697.16-1.052.224-.348.06-.703.107-1.057.148zM88.883 130.337l2.063-.751-17.2-47.25c-.662.29-1.353.543-2.062.75l17.2 47.251zM99.528 125.585l1.944-1.123L76.325 80.91a16.63 16.63 0 01-1.944 1.123l25.147 43.552zM109.189 119.063l1.761-1.477-32.326-38.523c-.55.531-1.14 1.022-1.76 1.477l32.325 38.523zM117.575 110.967l1.506-1.796-38.53-32.332a16.83 16.83 0 01-1.506 1.797l38.53 32.331zM124.423 101.539l1.2-2.074-43.558-25.147a16.44 16.44 0 01-1.2 2.074l43.558 25.147zM129.54 91.069l.839-2.299-47.257-17.2c-.224.792-.508 1.56-.839 2.299l47.257 17.2zM132.764 79.867l.431-2.458-49.531-8.733c-.083.839-.23 1.66-.432 2.458l49.532 8.733zM133.999 68.272v-2.546h-50.3c.065.857.065 1.707.006 2.546H134zM83.666 65.383l49.543-8.732-.449-2.559-49.543 8.733a15.696 15.696 0 01.45 2.558zM130.415 45.33l-.904-2.493-47.269 17.205c.36.798.662 1.631.904 2.494l47.269-17.206zM125.7 34.671l-1.353-2.34-43.564 25.153a16.98 16.98 0 011.353 2.34L125.7 34.671zM119.213 24.988l-1.767-2.11-38.542 32.338c.644.65 1.235 1.353 1.773 2.103l38.536-32.331zM111.141 16.573l-2.145-1.802-32.338 38.542a17.328 17.328 0 012.145 1.802l32.338-38.542zM101.732 9.69l-2.47-1.424-25.159 43.576c.863.407 1.69.88 2.47 1.424L101.732 9.69zM74.07 51.817L91.28 4.537l-2.73-.993-17.188 47.227-.011.053c.939.255 1.849.585 2.718.993z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.346 50.825l.017-.047 8.728-49.496-2.908-.514-8.662 49.1v.455a16.15 16.15 0 012.825.502z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.354 50.825l.011-.053-.017.047c0 .006.006.006.006.006zM68.522 49.868V0h-3.043v50.323a16.573 16.573 0 012.966-.012l.077-.443z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.52 50.317v-.449l-.077.444c.024 0 .053.005.077.005z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDesktopAppandChromeExtension;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRemoteFirst(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 105c27.615 0 50-22.386 50-50S82.615 5 55 5C27.386 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M60.849 5.33c13.693 12.157 22.34 29.89 22.34 49.653 0 19.744-8.63 37.495-22.322 49.652M49.131 5.33c-13.693 12.157-22.34 29.89-22.34 49.653 0 19.744 8.629 37.495 22.322 49.652\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M97.467 26.024C86.589 36.9 71.58 43.61 54.999 43.61c-16.07 0-30.658-6.307-41.444-16.6M97.467 83.958C86.589 73.08 71.58 66.37 54.999 66.37c-16.07 0-30.658 6.307-41.444 16.6M104.981 55H5M55 104.982V5\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationRemoteFirst;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDeviceCompatibility(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 0C24.626 0 0 24.626 0 55s24.626 55 55 55 55-24.626 55-55S85.374 0 55 0zm0 109.525L.49 55 55 .49l54.525 54.525L55 109.525z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.923 27.923v54.139H82.06V27.923H27.923zm27.076 52.074c-13.798 0-24.982-11.184-24.982-24.982S41.201 30.032 55 30.032c13.799 0 24.983 11.185 24.983 24.983 0 13.783-11.184 24.982-24.983 24.982z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDeviceCompatibility;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRoadmap(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M100 100H0V0h100v100zM10 90h80V10H10v80z\" fill=\"currentColor\" />\n <path\n d=\"M50.008 39.806L80 54v-9.806L50.008 30 20 44.194V54l30.008-14.194zM80 20H20v10h60V20z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRoadmap;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDowngrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm32.854 35.063L10.163 10h79.674L67.146 35.063h22.691L63.96 53.295h25.877L61.804 66.97h28.033l-25.895 9.357h25.895l-23.902 6.477h23.902L50 90l-39.837-7.197h23.902l-23.902-6.477h25.895l-25.895-9.357h28.033L10.163 53.295H36.04L10.163 35.063h22.691z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDowngrade;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationScreenshot(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 0H0v100h100V0zM10 17.071V90h72.929L64.594 71.665v8.412h-10V54.594h25.434v10h-8.363L90 82.929V10H17.071l18.43 18.43.07-8.546 9.999.08-.204 25.443H19.973v-10h8.363L10 17.07zm19.745 37.701h-10v25.483H45.18v-10h-8.365l33.44-33.452v8.425h10V19.745H54.822v10h8.35L29.745 63.18v-8.409z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationScreenshot;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationEmbracetheWeird(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50.028 9.658C27.178 12.136 9.39 31.491 9.39 55c0 8.832 2.51 17.078 6.857 24.063-2.302-8.325-2.151-17.035.801-24.035l-.015-.03.245-.498a25.44 25.44 0 01.81-1.65c6.717-13.595 20.721-22.947 36.91-22.948 12.318-.013 23.354 5.414 30.887 13.98.329-5.954-1.19-12.893-4.87-19.106-5.552-9.378-15.74-16.548-30.987-15.116v-.002zm42.655 45.894l.272-.551-.017-.034c2.956-7.012 3.1-15.739.787-24.075A45.397 45.397 0 01100.61 55c0 23.515-17.795 42.873-40.654 45.344v-.004c-15.246 1.431-25.435-5.739-30.987-15.117-3.678-6.212-5.198-13.148-4.87-19.102 7.534 8.562 18.582 13.976 30.902 13.976 16.2 0 30.185-9.394 36.896-22.95.28-.52.542-1.052.786-1.595zM55 0C24.624 0 0 24.624 0 55s24.624 55 55 55 55-24.624 55-55S85.376 0 55 0zm27.39 54.998c-3.929-6.688-10.221-11.812-17.719-14.21 4.53 3.092 7.504 8.297 7.504 14.195 0 5.93-3.012 11.157-7.582 14.243 7.533-2.393 13.855-7.527 17.798-14.228zM27.592 55c3.927-6.69 10.223-11.806 17.728-14.205-4.525 3.093-7.494 8.294-7.494 14.188 0 5.934 3.01 11.165 7.585 14.25C37.858 66.845 31.527 61.71 27.591 55zM55 47.198a7.785 7.785 0 000 15.57c4.287 0 7.784-3.49 7.784-7.785A7.785 7.785 0 0055 47.198z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEmbracetheWeird;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationSharewithYourTeamTeamLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g\n clipPath=\"url(#Share_with_Your_Team_(Team_Library)_svg__clip0)\"\n fill=\"currentColor\"\n >\n <path d=\"M33.33 24.946V8.384L24.946 0v24.946H0l8.384 8.384H33.33v-8.384zM58.286 33.33h8.385V8.384L58.286 0v24.946H33.331l8.394 8.384h16.561z\" />\n <path d=\"M100 8.384L91.614 0v24.946H66.67l8.385 8.384H100V8.384zM33.33 58.286V41.724l-8.384-8.394v24.956H0l8.384 8.384H33.33v-8.384zM33.33 58.286l8.395 8.384H66.67V41.724l-8.385-8.394v24.956H33.331zM66.67 58.286l8.384 8.384H100V41.724l-8.385-8.394v24.956H66.67zM24.946 66.67v24.946H0L8.384 100H33.33V75.054l-8.384-8.384zM58.286 66.67v24.946H33.331L41.725 100H66.67V75.054l-8.385-8.384zM66.67 91.616L75.053 100h24.945V75.054l-8.384-8.384v24.946H66.67z\" />\n </g>\n <defs>\n <clipPath id=\"Share_with_Your_Team_(Team_Library)_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationSharewithYourTeamTeamLibrary;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationEnterprisePlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 52.667h47.333V100H.001zM52.667 52.667H100V100H52.667zM52.667 26H74v21.333H52.667zM52.667 0H74v21.333H52.667zM78.667 26H100v21.333H78.667zM78.667 12.667h8.667v8.667h-8.667zM78.667 0h8.667v8.667h-8.667zM91.335 12.667h8.667v8.667h-8.667zM91.335 0h8.667v8.667h-8.667zM0 0h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEnterprisePlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationShare(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M34.27 50.002v15.73H50c-8.69 0-15.73-7.04-15.73-15.73zM65.73 50.002v-15.73H50c8.69 0 15.73 7.04 15.73 15.73zM50 34.272H34.27v15.73c0-8.69 7.04-15.73 15.73-15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50 65.732h15.73v-15.73c0 8.69-7.04 15.73-15.73 15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M0 .002v100h100v-100H0zm81.46 10c3.48 1.79 6.2 4.84 7.57 8.54h-7.57v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H65.73v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H36.01c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 0v8.54H20.28c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 80c-3.48-1.79-6.2-4.84-7.57-8.54h7.57v8.54zm0-10.28c-5.07-2.61-8.54-7.89-8.54-13.99h8.54v13.99zm0-15.73c-5.07-2.61-8.54-7.89-8.54-13.99 0-6.1 3.47-11.38 8.54-13.99v27.98zm0-29.72H10c0-6.1 3.47-11.38 8.54-13.99v13.99zm0-15.73h-7.57c1.37-3.7 4.09-6.75 7.57-8.54v8.54zm62.92 71.46v-8.54h7.57c-1.37 3.7-4.09 6.75-7.57 8.54zm0-10.28v-13.99H90c0 6.1-3.47 11.38-8.54 13.99zm0-29.72v-13.99c5.07 2.61 8.54 7.89 8.54 13.99 0 6.1-3.47 11.38-8.54 13.99v-13.99c0 8.69-7.04 15.73-15.73 15.73h15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54v-8.54-15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54-6.1 0-11.38-3.47-13.99-8.54H50c-8.69 0-15.73-7.04-15.73-15.73v24.27c-6.1 0-11.38-3.47-13.99-8.54h13.99c-8.69 0-15.73-7.04-15.73-15.73h15.73c-8.69 0-15.73-7.04-15.73-15.73 0-8.69 7.04-15.73 15.73-15.73H18.54c0-8.69 7.04-15.73 15.73-15.73v15.73c0-8.69 7.04-15.73 15.73-15.73 8.69 0 15.73 7.04 15.73 15.73v-15.73c8.69 0 15.73 7.04 15.73 15.73v-13.99c5.07 2.61 8.54 7.89 8.54 13.99H65.73c8.69 0 15.73 7.04 15.73 15.73z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationShare;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationFaQandSecurity(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50 70c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"\n fill=\"currentColor\"\n />\n <path d=\"M31 50V0H0v100h99.999V69H31V50z\" fill=\"currentColor\" />\n <path d=\"M100 66V0H34v31h35v35h31z\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport default IllustrationFaQandSecurity;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStarred(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M38.963 0C17.45 0 0 18.136 0 40.495v8.507h9.444C30.967 49.002 48 30.41 48 8.05V.002L38.963 0zM100.002 38.965c0-21.513-18.136-38.963-40.495-38.963H51v9.444c0 21.523 18.592 38.556 40.951 38.556H100l.002-9.037zM61.039 100.004c21.513 0 38.963-18.136 38.963-40.495v-8.507h-9.444c-21.523 0-38.556 18.592-38.556 40.951v8.049l9.037.002zM0 61.039c0 21.513 18.136 38.963 40.495 38.963h8.507v-9.444c0-21.523-18.592-38.556-40.952-38.556H.002L0 61.039z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarred;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction Illustration5MinuteLimit(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 10c-24.853 0-45 20.147-45 45s20.147 45 45 45 45-20.147 45-45-20.147-45-45-45zM0 55C0 24.624 24.624 0 55 0s55 24.624 55 55-24.624 55-55 55S0 85.376 0 55zm33.8-35.64H76v10H43.8v20.19h11.75v-9.87c14.131 0 25.59 11.459 25.59 25.59S69.681 90.86 55.55 90.86 29.96 79.401 29.96 65.27h10c0 8.609 6.981 15.59 15.59 15.59s15.59-6.981 15.59-15.59c0-8.535-6.863-15.47-15.37-15.588v9.868H33.8V19.36z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default Illustration5MinuteLimit;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStarterPlusPlan(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55.666 3h15.333v15.333H55.666V3zm-3 18.333V0h21.333v21.333H52.666zM70.999 29H55.666v15.333h15.333V29zm-18.333-3v21.333h21.333V26H52.666zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.666V100h47.333V52.667zM97 29H81.668v15.333H97V29zm-18.332-3v21.333H100V26H78.666zm3-10.333h2.666v2.666h-2.666v-2.666zm-3 5.666v-8.666h8.666v8.666h-8.666zM84.332 3h-2.666v2.667h2.666V3zm-5.666-3v8.667h8.666V0h-8.666zm15.667 15.667h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM97.001 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm-44 0H0v47.333h47.333V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarterPlusPlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationGettingStarted(props) {\n return (\n <svg\n viewBox=\"0 0 106 106\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M53 101c26.51 0 48-21.49 48-48S79.51 5 53 5 5 26.49 5 53s21.49 48 48 48z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.986c26.51 0 48-14.563 48-32.527 0-17.965-21.49-32.528-48-32.528S5 50.494 5 68.46c0 17.964 21.49 32.527 48 32.527z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.998c26.51 0 48-8.682 48-19.39 0-10.71-21.49-19.391-48-19.391S5 70.898 5 81.607c0 10.71 21.49 19.391 48 19.391z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.984c26.51 0 48-3.908 48-8.728S79.51 83.53 53 83.53 5 87.436 5 92.256s21.49 8.728 48 8.728z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGettingStarted;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStrongUploadSpeed(props) {\n return (\n <svg\n viewBox=\"0 0 111 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M.223 57.064l-.208-.356a55.069 55.069 0 002.244 13.991l44.404-40.904-46.44 27.27zM3.27 73.804C10.953 94.924 31.208 110 55 110c23.926 0 44.285-15.269 51.865-36.582l-51.582-47.53L3.27 73.804zm88.867-9.358v24.36L64.838 63.584v39.003a1.49 1.49 0 01-1.486 1.486H47.287a1.49 1.49 0 01-1.486-1.486V63.585l-27.388 25.22V64.446l36.914-33.983 36.81 33.983zM107.861 70.299a54.916 54.916 0 002.125-13.442L63.873 29.78 107.861 70.3zM63.115 25.873l46.886 27.537c-.148-5.228-1.01-10.293-2.526-15.06l-44.36-12.477zM2.482 38.543C.966 43.356.119 48.465 0 53.753l47.436-27.864L2.482 38.543z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.241 34.934C98.216 14.482 78.302 0 55.001 0 31.625 0 11.68 14.57 3.7 35.112l51.582-14.511 50.958 14.333z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStrongUploadSpeed;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationGrowththroughEmpathy(props) {\n return (\n <svg\n viewBox=\"0 0 104 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M98.75 100.001c0-25.889-20.986-46.876-46.874-46.876C25.987 53.125 5 74.112 5 100.001\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M16.704 100.001c0-19.416 15.74-35.171 35.172-35.171 19.43 0 35.171 15.74 35.171 35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M28.213 100.001c0-13.07 10.593-23.648 23.648-23.648 13.054 0 23.662 10.579 23.662 23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M39.736 100c0-6.692 5.432-12.124 12.124-12.124 6.693 0 12.124 5.432 12.124 12.124M5 0c0 25.889 20.987 46.875 46.875 46.875C77.764 46.875 98.751 25.89 98.751 0\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M87.047 0c0 19.416-15.74 35.171-35.172 35.171-19.43 0-35.171-15.74-35.171-35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M75.538 0c0 13.07-10.593 23.648-23.648 23.648-13.054 0-23.662-10.579-23.662-23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M64.015 0c0 6.693-5.432 12.124-12.124 12.124S39.767 6.693 39.767.002\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGrowththroughEmpathy;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationTroubleshooting(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5 55h99.984c0 27.61-22.375 50-50 50S5 82.61 5 55z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M55 105c27.614 0 50-22.386 50-50S82.614 5 55 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M23.534 55C23.534 37.62 37.62 23.534 55 23.534c17.382 0 31.466 14.085 31.466 31.466\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M42.053 55c0-7.138 5.794-12.932 12.932-12.932 7.138 0 12.932 5.794 12.932 12.932\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationTroubleshooting;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHealthPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 .929H0v100h100v-100zm-54.528 18.32v4.298l9.051-4.299h-9.05zm0 14.937v-5.883h9.051l-9.05 5.883zm0 3.166v7.467l9.051-7.467h-9.05zm0 18.1V46.4h9.051l-9.05 9.05zm0 1.586v7.467l9.051-7.467h-9.05zm0 16.517v-5.883h9.051l-9.05 5.883zm0 4.75v4.3l9.051-4.3h-9.05zM88.01 91.66v-2.715h2.715l-2.715 2.715zm0-13.354v4.3l2.715-4.3H88.01zm0-4.75v-5.883h2.715l-2.715 5.883zm0-16.517v7.467l2.715-7.467H88.01zm0-1.586V46.4h2.715l-2.715 9.05zm0-18.1v7.467l2.715-7.467H88.01zm0-3.166v-5.883h2.715l-2.715 5.883zm0-14.938v4.3l2.715-4.3H88.01zm0-6.334V10.2h2.715l-2.715 2.716zm-10.633 76.03v2.715l4.3-2.715h-4.3zm0-6.34v-4.299h4.3l-4.3 4.3zm0-14.932v5.883l4.3-5.883h-4.3zm0-3.167v-7.467h4.3l-4.3 7.467zm0-18.104v9.05l4.3-9.05h-4.3zm0-1.582v-7.467h4.3l-4.3 7.467zm0-16.516v5.883l4.3-5.883h-4.3zm0-4.756v-4.299h4.3l-4.3 4.3zm0-13.348v2.716l4.3-2.716h-4.3zM66.741 91.66v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-10.634 76.03v2.715l7.467-2.715h-7.467zm0-6.339v-4.3h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883h-7.467zm0-3.168v-7.467h7.467l-7.467 7.467zm0-18.104v9.051l7.467-9.05h-7.467zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883h-7.467zm0-4.755v-4.3h7.467l-7.467 4.3zm.001-13.348v2.715l7.467-2.715h-7.467zm-10.636 2.715v-2.716h9.051l-9.05 2.716zm-9.051 76.029v2.715l7.467-2.715H36.42zm0-6.34v-4.299h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883H36.42zm0-3.167v-7.467h7.467l-7.467 7.467zm0-18.104v9.05l7.467-9.05H36.42zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883H36.42zm0-4.756v-4.299h7.467l-7.467 4.3zm0-13.348v2.716l7.467-2.716H36.42zm-9.05 81.46v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-9.05 76.03v2.715l4.299-2.715h-4.3zm0-6.34v-4.299h4.299l-4.3 4.3zm0-14.932v5.883l4.299-5.883h-4.3zm0-3.167v-7.467h4.299l-4.3 7.467zm0-18.104v9.05l4.299-9.05h-4.3zm0-1.582v-7.467h4.299l-4.3 7.467zm0-16.516v5.883l4.299-5.883h-4.3zm0-4.756v-4.299h4.299l-4.3 4.3zm0-13.348v2.716l4.299-2.716h-4.3zm27.151 81.46v-2.715h9.051l-9.05 2.715zM9.27 88.944v2.715l2.715-2.715H9.27zm0-6.34v-4.299h2.715l-2.715 4.3zm0-14.932v5.883l2.715-5.883H9.27zm0-3.167v-7.467h2.715L9.27 64.505zm0-18.104v9.05l2.715-9.05H9.27zm0-1.582v-7.467h2.715L9.27 44.819zm0-16.516v5.883l2.715-5.883H9.27zm0-4.756v-4.299h2.715l-2.715 4.3zm0-13.348v2.715l2.716-2.715H9.268z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHealthPlans;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUpgrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 100H0V0h100v100zM67.146 64.937L89.837 90H10.163l22.691-25.063H10.163L36.04 46.705H10.163L38.196 33.03H10.163l25.895-9.357H10.163l23.902-6.477H10.163L50 10l39.837 7.197H65.935l23.902 6.477H63.942l25.895 9.357H61.804l28.033 13.674H63.96l25.877 18.232H67.146z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUpgrade;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHowtoUseLoom(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M61.125 97.536H48.768v12.373h12.357V97.536zM81.608 88.743l-10.701 6.179 6.186 10.714 10.701-6.178-6.186-10.715zM94.92 70.897l-6.178 10.7 10.715 6.187 6.178-10.701-10.714-6.186zM89.445 61.127V48.77H78.014l9.91-5.724-6.178-10.71-9.895 5.724 5.724-9.895-10.71-6.179-5.724 9.895V20.45H48.769V31.88l-5.724-9.895-10.71 6.179 5.723 9.91-9.91-5.723-6.179 10.71 9.91 5.724H20.45v12.356h11.43l-9.91 5.724 6.179 10.71 9.91-5.723-5.723 9.91 10.71 6.178 5.724-9.91v11.431h12.356V78.032l5.724 9.91 10.71-6.178-5.724-9.895 9.895 5.724 6.179-10.71-9.91-5.724h11.447v-.031zM54.947 71.413c-9.095 0-16.465-7.37-16.465-16.465 0-9.095 7.37-16.465 16.465-16.465 9.095 0 16.465 7.37 16.465 16.465 0 9.095-7.37 16.465-16.465 16.465zM109.91 48.77H97.538v12.356h12.372V48.77zM99.46 22.114l-10.714 6.187L94.925 39l10.714-6.186-6.178-10.7zM77.082 4.276L70.896 14.99l10.701 6.179 6.186-10.715-10.7-6.178zM61.125 0H48.768v12.373h12.357V0zM32.825 4.281L22.124 10.46l6.186 10.714 10.701-6.178-6.186-10.715zM10.449 22.127L4.27 32.828l10.714 6.186 6.178-10.7-10.714-6.187zM12.373 48.77H0v12.356h12.373V48.77zM14.99 70.881L4.274 77.067l6.178 10.701 10.715-6.186-6.179-10.7zM28.311 88.746L22.125 99.46l10.701 6.179 6.186-10.715-10.7-6.178z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHowtoUseLoom;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUploadDragAndDrop(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUploadDragAndDrop;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUseCases(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 0v100h100V0H0zm90 90H61.91l20.87-12.52L90 89.52V90zm0-71.25H29.01L90 26.56v8.82l-42.3-5.42L90 42.3v9.12l-27.61-8.05L90 56.78v9.73l-15.29-7.42L90 71.34v11.22L76.02 71.35 61.06 90H49.84l24.82-30.94-8.62-4.19L48.98 90h-9.73l22.71-46.76-9.21-2.68L38.34 90h-9.12l17.53-60.15-10.48-1.35L28.4 90h-8.82l9.12-71.25h-9.94V90H10V10h80v8.75z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUseCases;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationInviteMembers(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M67.59 60.288V0h-1.175v60.292L55.941.914l-1.157.204 10.474 59.374L44.636 3.841l-1.104.401 20.622 56.651L34.01 8.681l-1.017.588 30.144 52.213-38.752-46.184-.9.755 38.753 46.185-46.185-38.752-.755.9 46.184 38.752L9.27 32.993 8.68 34.01l52.212 30.144-56.65-20.622-.403 1.104 56.652 20.622L1.118 54.785l-.204 1.157 59.377 10.473H0v1.175h60.288L.914 78.058l.204 1.157 59.374-10.468L3.84 89.364l.402 1.104 56.651-20.617L8.681 99.99l.588 1.017 52.213-30.14-46.184 38.747.755.9 46.186-38.747-38.753 46.18.9.755 38.751-46.178-30.144 52.207 1.017.588 30.144-52.207-20.622 56.645 1.104.402 20.622-56.646-10.473 59.369 1.156.204 10.474-59.373V134h1.175V73.717l10.468 59.369 1.157-.204-10.468-59.37 20.617 56.647 1.104-.401-20.617-56.646 30.139 52.206 1.017-.587-30.14-52.208 38.747 46.179.9-.755-38.747-46.18 46.18 38.747.755-.9-46.179-38.746 52.208 30.139.588-1.017L73.112 69.85l56.646 20.617.401-1.104-56.646-20.617 59.369 10.468.204-1.157-59.37-10.468H134v-1.175H73.714l59.372-10.474-.204-1.156-59.369 10.473 56.646-20.622-.401-1.104-56.646 20.622 52.207-30.144-.588-1.017-52.208 30.144 46.179-38.752-.755-.9-46.18 38.753 38.747-46.185-.9-.755-38.746 46.184L101.007 9.27 99.99 8.68 69.85 60.893l20.617-56.65-1.104-.402-20.617 56.651L79.215 1.118 78.058.914 67.59 60.288z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInviteMembers;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationWellness(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M66.667.929a33.333 33.333 0 010 66.666V.93zM0 34.263a33.333 33.333 0 0166.667 0H0zM33.333 100.929a33.338 33.338 0 01-23.57-9.763 33.333 33.333 0 0123.57-56.903v66.666z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.999 67.596a33.332 33.332 0 01-64.13 12.756 33.332 33.332 0 01-2.537-12.756h66.667zM33.334.93H.001v33.333h33.333z\"\n fill=\"currentColor\"\n />\n <path fill=\"currentColor\" d=\"M100 67.595H66.667v33.333H100z\" />\n </svg>\n );\n}\n\nexport default IllustrationWellness;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationComments(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M96 0H0v96h96V0zM84 12H12v72h72V12z\"\n fill=\"currentColor\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.2 19.2h57.6v12H19.2zM19.2 38.4h57.6v12H19.2zM19.2 57.6h31.2v12H19.2z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationComments;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllutrationFoldersEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 67.2V96h96V0H67.2v67.2H0z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 28.8V60h28.8V28.8H60V0H0v28.8z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllutrationFoldersEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHelpIos(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M22.8 12c5.965 0 10.8 4.835 10.8 10.8 0 .254-.008.505-.026.754C38.542 16.58 46.912 12 56.4 12 71.643 12 84 23.82 84 38.4c0 14.58-12.357 26.4-27.6 26.4-5.744 0-11.078-1.678-15.496-4.55A15.527 15.527 0 0143.2 68.4c0 8.616-6.984 15.6-15.6 15.6C18.985 84 12 77.016 12 68.4s6.985-15.6 15.6-15.6c2.444 0 4.757.562 6.816 1.564C30.892 49.93 28.8 44.399 28.8 38.4c0-2.6.393-5.11 1.125-7.483A10.76 10.76 0 0122.8 33.6c-5.964 0-10.8-4.835-10.8-10.8C12 16.835 16.836 12 22.8 12z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v96H0V0zm12 12v72h72V12H12z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHelpIos;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationMyVideosEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M96 0H0v96h96V0zM84 12v72H12V12h72z\" fill=\"currentColor\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M85.023 48.341L48.341 11.66 11.66 48.341 48.34 85.023l36.682-36.682zm-56.69 0L48.34 28.333 28.333 48.34zm20.842 19.175L68.35 48.34 49.175 29.167v38.349z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationMyVideosEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRecentsEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v28.704H47.844V12L12 48l35.844 36V67.305H96V96H0V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRecentsEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationChromeNotificationsEmptyState(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n cx={15.84}\n cy={15.84}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 15.84c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04C36.48 9.877 41.502 4.8 48 4.8c6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle cx={80.16} cy={15.84} r={15.84} fill=\"currentColor\" />\n <path\n d=\"M26.88 48c0 6.498-5.077 11.52-11.04 11.52C9.877 59.52 4.8 54.498 4.8 48c0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={48}\n cy={48}\n r={11.52}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M91.2 48c0 6.498-5.077 11.52-11.04 11.52-5.963 0-11.04-5.022-11.04-11.52 0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={15.84}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 80.16c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04 0-5.963 5.022-11.04 11.52-11.04 6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={80.16}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n </svg>\n );\n}\n\nexport default IllustrationChromeNotificationsEmptyState;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nexport default function User(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={orange}>\n <path d=\"m78.7483 223.198c.07-.41.1-.85.09-1.32s-.05-.92-.13-1.33c-.48-2.49-2.23-4-4.67-4.36-.42-.06-.85-.09-1.3-.08s-.92.05-1.35.13c-2.42.44-4.13 1.99-4.55 4.48-.07.42-.1.87-.1 1.34s.05.9.13 1.32c.48 2.47 2.23 3.98 4.67 4.35.43.07.88.1 1.36.09s.89-.05 1.3-.12c2.43-.43 4.14-1.99 4.55-4.49z\" />\n <path d=\"m78.0483 173.388c.13-.81.2-1.67.18-2.58s-.1-1.79-.26-2.61c-.94-4.85-4.36-7.81-9.11-8.51-.81-.12-1.66-.18-2.54-.16s-1.8.1-2.64.25c-4.73.86-8.06 3.89-8.87 8.74-.14.82-.2 1.69-.19 2.61s.1 1.77.26 2.57c.94 4.82 4.35 7.77 9.11 8.5.84.13 1.73.19 2.65.18.88-.01 1.73-.09 2.54-.23 4.74-.84 8.08-3.89 8.88-8.76z\" />\n <path d=\"m146.748 112.908c.62-3.79.92-7.82.86-12.07-.06-4.3098-.47-8.3798-1.21-12.1998-4.41-22.73-20.43-36.56-42.68-39.86-3.8005-.56-7.7705-.83-11.9005-.77-4.31.06-8.44.46-12.37 1.17-22.16 4.01-37.77 18.24-41.56 40.95-.64 3.84-.94 7.92-.88 12.2298.06 4.25.47 8.27 1.2 12.04 4.38 22.57 20.39 36.39 42.69 39.8 3.95.6 8.08.89 12.39.83 4.13-.06 8.1005-.43 11.8805-1.1 22.18-3.92 37.83-18.21 41.58-41.02z\" />\n </g>\n <path\n d=\"m111.457 86.5384c.02 1.48-.08 2.89-.3 4.21-1.31 7.96-6.77 12.9396-14.5097 14.3096-1.31.23-2.64.36-4.14.38s-2.94-.08-4.32-.29c-7.78-1.18-13.36-5.9996-14.89-13.8796-.26-1.32-.4-2.72-.42-4.2-.02-1.51.09-2.93.31-4.27 1.32-7.93 6.77-12.89 14.5-14.29 1.37-.25 2.81-.39 4.31-.41 1.44-.02 2.83.07 4.15.27 7.7597 1.16 13.3497 5.98 14.8897 13.91.25 1.34.4 2.76.42 4.26z\"\n fill={blue}\n />\n <path\n d=\"m92.577 108.628c19.529-.339 32.308 9.059 31.85 34.306l.07 3.934c-5.64 3.401-12.14 5.781-19.34 7.051-3.78.67-7.75 1.04-11.88 1.1-4.31.06-8.44-.23-12.39-.83-6.72-1.02-12.85-3.01-18.28-5.88l-.07-4.301c-.44-25.23 11.71-35.06 30.04-35.38z\"\n fill={blue}\n />\n <path\n d=\"m237.097 148.658c.62-3.79.92-7.82.86-12.07-.06-4.31-.47-8.38-1.21-12.2-4.41-22.73-20.43-36.5598-42.68-39.8598-3.8-.56-7.77-.83-11.9-.77-4.31.06-8.44.46-12.37 1.17-22.16 4.01-37.77 18.2398-41.56 40.9498-.64 3.84-.94 7.92-.88 12.23.06 4.25.47 8.27 1.2 12.04 4.38 22.57 20.39 36.39 42.69 39.8 3.95.6 8.08.89 12.39.83 4.13-.06 8.1-.43 11.88-1.1 22.18-3.92 37.83-18.21 41.58-41.02z\"\n fill={orange}\n />\n <path\n d=\"m201.807 122.288c.02 1.48-.08 2.89-.3 4.21-1.31 7.96-6.77 12.94-14.51 14.31-1.31.23-2.7.36-4.14.38-1.5.02-2.94-.08-4.32-.29-7.78-1.18-13.36-6-14.89-13.88-.26-1.32-.4-2.72-.42-4.2-.02-1.51.09-2.93.31-4.27 1.32-7.93 6.77-12.89 14.5-14.29 1.37-.25 2.81-.39 4.31-.41 1.44-.02 2.83.07 4.15.27 7.76 1.16 13.35 5.98 14.89 13.91.25 1.34.4 2.76.42 4.26z\"\n fill={blue}\n />\n <path\n d=\"m182.929 144.388c19.528-.34 32.308 9.059 31.85 34.305l.07 3.935c-5.64 3.4-12.14 5.78-19.34 7.05-3.78.67-7.75 1.04-11.88 1.1-4.31.06-8.44-.23-12.39-.83-6.72-1.02-12.85-3.01-18.28-5.88l-.07-4.3c-.44-25.23 11.71-35.06 30.04-35.38z\"\n fill={blue}\n />\n <path\n d=\"m148.638 195.028c.38-2.29.55-4.71.52-7.28-.04-2.6-.29-5.05-.73-7.36-2.66-13.71-12.32-22.04-25.73-24.04-2.29-.34-4.69-.5-7.18-.46s-5.09.28-7.46.71c-13.3597 2.42-22.7696 11-25.0596 24.7-.39 2.31-.57 4.77-.53 7.38.04 2.56.28 4.99.72 7.26 2.64 13.61 12.29 21.94 25.7396 24 2.38.36 4.87.54 7.47.5 2.49-.03 4.88-.26 7.16-.66 13.38-2.36 22.81-10.98 25.08-24.74z\"\n fill={orange}\n />\n <path\n d=\"m127.357 179.118c.01.9-.05 1.74-.18 2.54v-.01c-.79 4.8-4.08 7.81-8.75 8.63-.8.14-1.63.22-2.5.23-.91.02-1.78-.04-2.61-.17-4.69-.71-8.06-3.62-8.98-8.37-.15-.79-.24-1.64-.25-2.53-.01-.9.06-1.76.19-2.57.79-4.78 4.08-7.78 8.74-8.62.82-.15 1.73-.24 2.6-.25s1.7.04 2.5.16c4.68.7 8.05 3.61 8.98 8.39.16.81.25 1.66.26 2.57z\"\n fill={blue}\n />\n <path\n d=\"m115.967 192.448c11.78-.2 19.49 5.46 19.21 20.69l.04 2.38c-3.4 2.05-7.32 3.48-11.66 4.25-2.28.4-4.67.63-7.16.66-2.6.04-5.09-.14-7.47-.5-4.05-.62-7.75-1.82-11.0202-3.55l-.05-2.59c-.27-15.22 7.0602-21.15 18.1102-21.34z\"\n fill={blue}\n />\n <path\n d=\"m146.747 112.908c.62-3.79.92-7.82.86-12.07-.03-2.3-.17-4.52-.4-6.67-9.93 7.15-16.66 17.85-18.97 31.72-.64 3.84-.94 7.92-.88 12.23.03 2.28.17 4.49.4 6.64 9.96-7.15 16.7-17.9 18.99-31.85z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m148.617 181.489c-.06-.37-.12-.74-.19-1.1-2.08-10.73-8.46-18.15-17.57-21.83 3.55 9.81 9.67 17.52 17.75 22.93z\"\n fill={illustrationColors.staticRed}\n />\n </svg>\n );\n}\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction UserGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const mid = getColorValue('illustrationGreyscaleMid');\n\n return (\n <svg fill=\"none\" height=\"200\" viewBox=\"0 0 200 200\" width=\"200\" {...props}>\n <path\n d=\"M57.2697 162.326C57.3206 162.028 57.3424 161.708 57.3352 161.366C57.3279 161.024 57.2988 160.697 57.2406 160.398C56.8915 158.588 55.6188 157.489 53.8442 157.228C53.5388 157.184 53.2261 157.162 52.8988 157.169C52.5715 157.177 52.2297 157.206 51.917 157.264C50.157 157.584 48.9133 158.711 48.6079 160.522C48.557 160.828 48.5352 161.155 48.5352 161.497C48.5352 161.838 48.5715 162.151 48.6297 162.457C48.9788 164.253 50.2515 165.351 52.0261 165.62C52.3388 165.671 52.6661 165.693 53.0152 165.686C53.3642 165.678 53.6624 165.649 53.9606 165.598C55.7279 165.286 56.9715 164.151 57.2697 162.333V162.326Z\"\n fill={fill}\n />\n <path\n d=\"M56.7634 126.101C56.858 125.512 56.9089 124.886 56.8943 124.224C56.8798 123.563 56.8216 122.923 56.7053 122.326C56.0216 118.799 53.5343 116.646 50.0798 116.137C49.4907 116.05 48.8725 116.006 48.2325 116.021C47.5925 116.035 46.9234 116.094 46.3125 116.203C42.8725 116.828 40.4507 119.032 39.8616 122.559C39.7598 123.155 39.7162 123.788 39.7234 124.457C39.7307 125.126 39.7962 125.744 39.9125 126.326C40.5962 129.832 43.0762 131.977 46.538 132.508C47.1489 132.603 47.7962 132.646 48.4653 132.639C49.1053 132.632 49.7234 132.574 50.3125 132.472C53.7598 131.861 56.1889 129.643 56.7707 126.101H56.7634Z\"\n fill={fill}\n />\n <path\n d=\"M106.727 82.1152C107.177 79.3588 107.396 76.4279 107.352 73.337C107.308 70.2024 107.01 67.2424 106.472 64.4642C103.265 47.9333 91.6138 37.8752 75.432 35.4752C72.6684 35.0679 69.7811 34.8715 66.7774 34.9152C63.6429 34.9588 60.6393 35.2497 57.7811 35.7661C41.6647 38.6824 30.312 49.0315 27.5556 65.5479C27.0902 68.3406 26.872 71.3079 26.9156 74.4424C26.9593 77.5333 27.2574 80.457 27.7883 83.1988C30.9738 99.6133 42.6174 109.664 58.8356 112.144C61.7083 112.581 64.712 112.792 67.8465 112.748C70.8502 112.704 73.7374 112.435 76.4865 111.948C92.6174 109.097 103.999 98.7042 106.727 82.1152Z\"\n fill={fill}\n />\n <path\n d=\"M81.0595 62.9368C81.0741 64.0132 81.0013 65.0386 80.8413 65.9986C79.8886 71.7877 75.9177 75.4095 70.2886 76.4059C69.3359 76.5732 68.3686 76.6677 67.2777 76.6823C66.1868 76.6968 65.1395 76.6241 64.1359 76.4714C58.4777 75.6132 54.4195 72.1077 53.3068 66.3768C53.1177 65.4168 53.0159 64.3986 53.0013 63.3223C52.9868 62.2241 53.0668 61.1914 53.2268 60.2168C54.1868 54.4495 58.1504 50.8423 63.7722 49.8241C64.7686 49.6423 65.8159 49.5405 66.9068 49.5259C67.9541 49.5114 68.965 49.5768 69.925 49.7223C75.5686 50.5659 79.6341 54.0714 80.7541 59.8386C80.9359 60.8132 81.045 61.8459 81.0595 62.9368Z\"\n fill={mid}\n />\n <path\n d=\"M67.3283 79.0023C81.5311 78.7551 90.8253 85.5905 90.492 103.951L90.5429 106.813C86.4411 109.286 81.7138 111.017 76.4774 111.941C73.7283 112.428 70.8411 112.697 67.8374 112.741C64.7029 112.784 61.6992 112.573 58.8265 112.137C53.9392 111.395 49.4811 109.948 45.532 107.861L45.4811 104.733C45.1611 86.3841 53.9974 79.2351 67.3283 79.0023Z\"\n fill={mid}\n />\n <path\n d=\"M172.434 108.115C172.884 105.359 173.103 102.428 173.059 99.337C173.015 96.2024 172.717 93.2424 172.179 90.4642C168.972 73.9333 157.321 63.8752 141.139 61.4752C138.375 61.0679 135.488 60.8715 132.484 60.9152C129.35 60.9588 126.346 61.2497 123.488 61.7661C107.372 64.6824 96.019 75.0315 93.2627 91.5479C92.7972 94.3406 92.579 97.3079 92.6227 100.442C92.6663 103.533 92.9645 106.457 93.4954 109.199C96.6808 125.613 108.324 135.664 124.543 138.144C127.415 138.581 130.419 138.792 133.554 138.748C136.557 138.704 139.444 138.435 142.194 137.948C158.324 135.097 169.706 124.704 172.434 108.115Z\"\n fill={fill}\n />\n <path\n d=\"M146.769 88.9368C146.784 90.0132 146.711 91.0386 146.551 91.9986C145.598 97.7877 141.627 101.41 135.998 102.406C135.045 102.573 134.034 102.668 132.987 102.682C131.896 102.697 130.849 102.624 129.845 102.471C124.187 101.613 120.129 98.1077 119.016 92.3768C118.827 91.4168 118.725 90.3986 118.711 89.3223C118.696 88.2241 118.776 87.1914 118.936 86.2168C119.896 80.4495 123.86 76.8423 129.482 75.8241C130.478 75.6423 131.525 75.5405 132.616 75.5259C133.664 75.5114 134.674 75.5768 135.634 75.7223C141.278 76.5659 145.344 80.0714 146.464 85.8386C146.645 86.8132 146.754 87.8459 146.769 88.9368Z\"\n fill={mid}\n />\n <path\n d=\"M133.039 105.009C147.242 104.762 156.536 111.598 156.203 129.959L156.254 132.82C152.152 135.293 147.425 137.024 142.188 137.948C139.439 138.435 136.552 138.704 133.548 138.748C130.414 138.791 127.41 138.58 124.537 138.144C119.65 137.402 115.192 135.955 111.243 133.868L111.192 130.74C110.872 112.391 119.708 105.242 133.039 105.009Z\"\n fill={mid}\n />\n <path\n d=\"M108.1 141.838C108.377 140.173 108.5 138.413 108.478 136.544C108.449 134.653 108.268 132.871 107.948 131.191C106.013 121.22 98.9875 115.162 89.2348 113.708C87.5694 113.46 85.8239 113.344 84.013 113.373C82.2021 113.402 80.3112 113.577 78.5875 113.889C68.8712 115.649 62.0275 121.889 60.3621 131.853C60.0784 133.533 59.9475 135.322 59.9766 137.22C60.0057 139.082 60.1803 140.849 60.5003 142.5C62.4203 152.398 69.4384 158.457 79.2203 159.955C80.9512 160.217 82.7621 160.348 84.653 160.318C86.4639 160.297 88.2021 160.129 89.8603 159.838C99.5912 158.122 106.449 151.853 108.1 141.846V141.838Z\"\n fill={fill}\n />\n <path\n d=\"M92.6239 130.268C92.6312 130.922 92.5875 131.533 92.493 132.115V132.108C91.9184 135.599 89.5257 137.788 86.1293 138.384C85.5475 138.486 84.9439 138.544 84.3112 138.551C83.6493 138.566 83.0166 138.522 82.413 138.428C79.0021 137.911 76.5512 135.795 75.8821 132.341C75.773 131.766 75.7075 131.148 75.7003 130.501C75.693 129.846 75.7439 129.221 75.8384 128.631C76.413 125.155 78.8057 122.973 82.1948 122.362C82.7912 122.253 83.453 122.188 84.0857 122.181C84.7184 122.173 85.3221 122.21 85.9039 122.297C89.3075 122.806 91.7584 124.922 92.4348 128.399C92.5512 128.988 92.6166 129.606 92.6239 130.268Z\"\n fill={mid}\n />\n <path\n d=\"M84.3402 139.963C92.9075 139.817 98.5148 143.933 98.3111 155.01L98.3402 156.741C95.8675 158.232 93.0166 159.272 89.8602 159.832C88.202 160.123 86.4639 160.29 84.6529 160.312C82.762 160.341 80.9511 160.21 79.2202 159.948C76.2748 159.497 73.5839 158.624 71.2057 157.366L71.1693 155.483C70.9729 144.413 76.3039 140.101 84.3402 139.963Z\"\n fill={mid}\n />\n <path\n d=\"M106.724 82.1149C107.175 79.3586 107.394 76.4277 107.35 73.3367C107.328 71.664 107.226 70.0495 107.059 68.4858C99.8372 73.6858 94.9427 81.4677 93.2627 91.5549C92.7972 94.3477 92.579 97.3149 92.6227 100.449C92.6445 102.108 92.7463 103.715 92.9136 105.279C100.157 100.079 105.059 92.2604 106.724 82.1149Z\"\n fill={accent}\n />\n <path\n d=\"M108.084 131.992C108.041 131.723 107.997 131.454 107.946 131.192C106.433 123.388 101.793 117.992 95.168 115.315C97.7498 122.45 102.201 128.057 108.077 131.992H108.084Z\"\n fill={accent}\n />\n </svg>\n );\n}\n\nexport default UserGreyscale;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction AllCanEdit(props) {\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n const stroke = getColorValue('illustrationStroke');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m149.5 171.824c-22.25 0-39.2-11.52-46.52-31.65-1.28-3.47-2.27-7.25-2.95-11.22-.69-4.03-1.03-7.97-1-11.71.17-21.5497 12.4-38.1497 33.54-45.5397 3.65-1.28 7.53-2.28 11.51-2.96 3.78-.67 7.61-1.02 11.36-1.07 22.37-.23 39.49 11.33 46.9 31.71 1.3 3.5897 2.3 7.4097 2.98 11.3697.63 3.63.97 7.23 1 10.72l.02.02v.83c-.14 21.67-12.37 38.3-33.57 45.61-3.48 1.21-7.21 2.16-11.06 2.82-4 .69-7.98 1.05-11.83 1.07-.12 0-.25 0-.37 0zm6.57-100.1497c-.2 0-.39 0-.59 0-3.54.04-7.14.38-10.72 1-3.77.65-7.43 1.59-10.87 2.8-19.74 6.9-30.7 21.75-30.86 41.7997-.03 3.51.29 7.21.94 11 .64 3.74 1.57 7.28 2.77 10.53 6.85 18.84 22.15 29.15 43.11 29.02 3.63-.02 7.39-.36 11.17-1.01 3.64-.62 7.15-1.52 10.43-2.66 19.32-6.66 30.54-21.69 30.87-41.29v-.57c.02-3.51-.3-7.16-.94-10.85-.64-3.74-1.58-7.33-2.8-10.69-6.73-18.4997-22.21-29.0697-42.51-29.0697z\"\n fill={gray}\n />\n <path\n d=\"m211.38 172.104c.28-1.68.41-3.47.38-5.36-.03-1.92-.21-3.72-.54-5.42-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34-1.91.03-3.75.2-5.49.52-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43s.21 3.67.53 5.35c1.95 10.02 9.05 16.16 18.95 17.67 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.21z\"\n fill={gray}\n />\n <path\n d=\"m201.47 185.445c.2-11.21-5.47-15.38-14.14-15.23-8.14.14-13.53 4.51-13.34 15.71l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={accent}\n />\n <path\n d=\"m195.58 162.265c.1-.59.14-1.21.13-1.87s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.83-6.44 6.34-.1.59-.15 1.23-.14 1.89s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={accent}\n />\n <path\n d=\"m140.66 76.8245c.28-1.68.41-3.47.38-5.36-.03-1.92-.21-3.72-.54-5.42-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34s-3.75.2-5.49.52c-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43s.21 3.67.53 5.35c1.95 10.02 9.05 16.16 18.95 17.67 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.21z\"\n fill={gray}\n />\n <path\n d=\"m130.75 90.1646c.2-11.21-5.47-15.38-14.14-15.23-8.14.14-13.53 4.51-13.34 15.71l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={accent}\n />\n <path\n d=\"m124.86 66.9843c.1-.59.14-1.2099.13-1.8699s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.8299-6.44 6.3399-.1.59-.15 1.2301-.14 1.8901s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={accent}\n />\n <path\n d=\"m225.67 90.2845c.28-1.68.41-3.47.38-5.36s-.21-3.72-.54-5.42c-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34-1.91.03-3.75.2-5.49.52-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43.03 1.89.21 3.67.53 5.35 1.95 10.0195 9.05 16.1595 18.95 17.6695 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.2095z\"\n fill={accent}\n />\n <path\n d=\"m215.76 103.625c.2-11.2105-5.47-15.3805-14.14-15.2305-8.14.14-13.53 4.51-13.34 15.7105l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={gray}\n />\n <path\n d=\"m209.87 80.4443c.1-.59.14-1.21.13-1.87s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.83-6.44 6.34-.1.59-.15 1.23-.14 1.89s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={gray}\n />\n <path\n d=\"m49 224.005s64.83 7.71 98.2-.35v-117.41s-52.91 12.96-98.2-.7c0 0 .72 118.98 0 118.46z\"\n fill={gray}\n />\n <g stroke={stroke} strokeMiterlimit=\"10\" strokeWidth=\"7\">\n <path d=\"m62.9 145.154h70.41\" />\n <path d=\"m62.9 162.404h70.41\" />\n <path d=\"m62.9 179.654h70.41\" />\n <path d=\"m62.9 196.904h70.41\" />\n </g>\n <path\n d=\"m129.34 125.214c-3.3-2.92-8.33-2.61-11.24.69l-4.53 5.13 11.9 10.59 4.57-5.17c2.92-3.29 2.61-8.33-.69-11.24z\"\n fill={blue}\n />\n <path\n d=\"m108.78 136.434-20.85 23.57v.01l-7.76 20.79 19.69-10.24 20.85-23.57z\"\n fill={blue}\n />\n <path d=\"m82.94 173.375-2.77 7.43 7.03-3.66z\" fill={blue} />\n </svg>\n );\n}\n\nexport default AllCanEdit;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction AllCanRead(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const strokeColor = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"164\" viewBox=\"0 0 164 164\" width=\"164\" {...props}>\n <path\n d=\"M89.228 103.102C75.9589 103.102 65.8505 96.2317 61.4851 84.2269C60.7218 82.1575 60.1314 79.9033 59.7259 77.5357C59.3144 75.1324 59.1116 72.7827 59.1295 70.5523C59.2309 57.7006 66.5244 47.801 79.1315 43.3939C81.3083 42.6305 83.6222 42.0342 85.9957 41.6286C88.2499 41.2291 90.534 41.0204 92.7704 40.9905C106.111 40.8534 116.321 47.7473 120.74 59.9012C121.515 62.0422 122.111 64.3203 122.517 66.6819C122.893 68.8467 123.095 70.9936 123.113 73.0749L123.125 73.0868V73.5818C123.042 86.505 115.748 96.4225 103.105 100.782C101.03 101.504 98.8056 102.07 96.5096 102.464C94.1241 102.875 91.7506 103.09 89.4546 103.102C89.383 103.102 89.3055 103.102 89.2339 103.102H89.228ZM93.1461 43.376C93.0268 43.376 92.9135 43.376 92.7942 43.376C90.6831 43.3998 88.5362 43.6026 86.4012 43.9724C84.1529 44.36 81.9702 44.9206 79.9187 45.6422C68.1465 49.7571 61.6104 58.6131 61.515 70.5702C61.4971 72.6634 61.6879 74.87 62.0755 77.1302C62.4572 79.3606 63.0118 81.4717 63.7275 83.4099C67.8126 94.6454 76.9369 100.794 89.4367 100.716C91.6015 100.704 93.8438 100.502 96.0981 100.114C98.2689 99.7443 100.362 99.2076 102.318 98.5277C113.84 94.5559 120.531 85.5926 120.728 73.9038V73.5639C120.74 71.4707 120.549 69.294 120.167 67.0934C119.786 64.863 119.225 62.722 118.498 60.7182C114.484 49.6855 105.252 43.382 93.1461 43.382V43.376Z\"\n fill={fill}\n />\n <path\n d=\"M126.202 103.233C126.369 102.231 126.447 101.164 126.429 100.037C126.411 98.8916 126.304 97.8181 126.107 96.8043C124.938 90.787 120.698 87.1253 114.806 86.2487C113.798 86.0996 112.748 86.028 111.651 86.0459C110.512 86.0638 109.415 86.1652 108.377 86.356C102.509 87.4175 98.376 91.1866 97.3741 97.1979C97.2071 98.2117 97.1236 99.2971 97.1415 100.436C97.1594 101.575 97.2668 102.625 97.4576 103.627C98.6205 109.602 102.855 113.264 108.759 114.164C109.802 114.325 110.9 114.397 112.039 114.385C113.13 114.367 114.186 114.272 115.182 114.093C121.056 113.055 125.2 109.268 126.19 103.233H126.202Z\"\n fill={fill}\n />\n <path\n d=\"M120.292 111.183C120.412 104.498 117.03 102.011 111.86 102.1C107.005 102.184 103.791 104.79 103.904 111.469L103.922 112.608C105.359 113.366 106.982 113.896 108.765 114.165C109.808 114.326 110.906 114.397 112.045 114.385C113.136 114.367 114.192 114.272 115.187 114.093C117.096 113.759 118.813 113.127 120.31 112.226L120.292 111.183Z\"\n fill={accent}\n />\n <path\n d=\"M116.78 97.3651C116.839 97.0132 116.863 96.6435 116.857 96.2499C116.851 95.8563 116.815 95.4746 116.744 95.1227C116.338 93.0235 114.859 91.7473 112.802 91.4372C112.45 91.3835 112.086 91.3597 111.705 91.3656C111.323 91.3716 110.923 91.4074 110.56 91.473C108.514 91.8427 107.071 93.1607 106.719 95.2539C106.659 95.6058 106.63 95.9875 106.636 96.3811C106.641 96.7747 106.677 97.1444 106.749 97.4963C107.154 99.5835 108.633 100.86 110.691 101.17C111.055 101.224 111.436 101.253 111.836 101.247C112.235 101.241 112.581 101.206 112.933 101.146C114.985 100.782 116.428 99.4643 116.774 97.3591L116.78 97.3651Z\"\n fill={accent}\n />\n <path\n d=\"M84.0275 46.4118C84.1945 45.4099 84.2721 44.3424 84.2542 43.2153C84.2363 42.0703 84.1289 40.9968 83.9321 39.983C82.7632 33.9657 78.5231 30.304 72.631 29.4274C71.6232 29.2783 70.5736 29.2067 69.4763 29.2246C68.379 29.2425 67.2399 29.3439 66.2022 29.5347C60.334 30.5963 56.2012 34.3653 55.1993 40.3766C55.0323 41.3904 54.9488 42.4758 54.9667 43.6149C54.9846 44.7539 55.092 45.8035 55.2828 46.8054C56.4457 52.781 60.6799 56.4427 66.5839 57.3432C67.6275 57.5042 68.7248 57.5757 69.8639 57.5638C70.9552 57.5459 72.0108 57.4505 73.0067 57.2716C78.8809 56.2339 83.0256 52.447 84.0156 46.4118H84.0275Z\"\n fill={fill}\n />\n <path\n d=\"M78.1234 54.3611C78.2427 47.6758 74.8613 45.189 69.6908 45.2784C64.8364 45.3619 61.622 47.968 61.7353 54.6473L61.7532 55.7864C63.1905 56.5438 64.8126 57.0745 66.5957 57.3429C67.6393 57.5039 68.7366 57.5755 69.8757 57.5635C70.967 57.5456 72.0226 57.4502 73.0185 57.2713C74.9269 56.9374 76.6444 56.3052 78.1413 55.4047L78.1234 54.3611Z\"\n fill={accent}\n />\n <path\n d=\"M74.6049 40.5433C74.6645 40.1914 74.6883 39.8217 74.6824 39.4281C74.6764 39.0345 74.6406 38.6528 74.5691 38.301C74.1635 36.2018 72.6846 34.9255 70.6271 34.6154C70.2753 34.5618 69.9115 34.5379 69.5298 34.5439C69.1481 34.5498 68.7486 34.5856 68.3848 34.6512C66.3393 35.021 64.8961 36.3389 64.5442 38.4322C64.4846 38.784 64.4547 39.1657 64.4607 39.5593C64.4667 39.9529 64.5025 40.3226 64.574 40.6745C64.9795 42.7618 66.4585 44.038 68.516 44.3481C68.8798 44.4018 69.2614 44.4316 69.661 44.4256C70.0606 44.4196 70.4065 44.3839 70.7583 44.3242C72.8098 43.9604 74.253 42.6425 74.5989 40.5373L74.6049 40.5433Z\"\n fill={accent}\n />\n <path\n d=\"M134.724 54.4387C134.891 53.4368 134.969 52.3693 134.951 51.2422C134.933 50.115 134.826 49.0237 134.629 48.0099C133.46 41.9926 129.22 38.3309 123.328 37.4542C122.32 37.3051 121.27 37.2336 120.173 37.2515C119.034 37.2694 117.937 37.3707 116.899 37.5616C111.031 38.6231 106.898 42.3921 105.896 48.4035C105.729 49.4173 105.646 50.5027 105.664 51.6417C105.681 52.7689 105.789 53.8304 105.98 54.8323C107.142 60.8078 111.377 64.4695 117.281 65.37C118.324 65.531 119.422 65.6026 120.561 65.5907C121.652 65.5728 122.708 65.4774 123.704 65.2985C129.578 64.2608 133.722 60.4739 134.712 54.4387H134.724Z\"\n fill={accent}\n />\n <path\n d=\"M128.821 62.3882C128.94 55.7029 125.559 53.2161 120.388 53.3055C115.534 53.389 112.319 55.9951 112.433 62.6744L112.45 63.8135C113.888 64.5709 115.51 65.1016 117.293 65.37C118.337 65.531 119.434 65.6026 120.573 65.5906C121.664 65.5727 122.72 65.4773 123.716 65.2984C125.624 64.9645 127.342 64.3323 128.839 63.4318L128.821 62.3882Z\"\n fill={fill}\n />\n <path\n d=\"M125.302 48.5704C125.362 48.2185 125.386 47.8488 125.38 47.4552C125.374 47.0616 125.338 46.6799 125.266 46.3281C124.861 44.2289 123.382 42.9526 121.324 42.6425C120.973 42.5889 120.609 42.565 120.227 42.571C119.845 42.5769 119.446 42.6127 119.082 42.6783C117.037 43.0481 115.593 44.366 115.241 46.4593C115.182 46.8111 115.152 47.1928 115.158 47.5864C115.164 47.98 115.2 48.3497 115.271 48.7016C115.677 50.7889 117.156 52.0651 119.213 52.3752C119.577 52.4289 119.959 52.4587 120.358 52.4527C120.758 52.4467 121.104 52.411 121.456 52.3513C123.507 51.9875 124.95 50.6696 125.296 48.5644L125.302 48.5704Z\"\n fill={fill}\n />\n <path\n d=\"M29.2217 133.063C29.2217 133.063 67.8839 137.661 87.7846 132.855V62.8357C87.7846 62.8357 56.231 70.5645 29.2217 62.4182C29.2217 62.4182 29.6511 133.374 29.2217 133.063Z\"\n fill={fill}\n />\n <path\n d=\"M37.5054 86.04H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 96.333H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 106.62H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 116.908H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n </svg>\n );\n}\n\nexport default AllCanRead;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Calendar(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m217.84 60.1699-10.45 161.0201h25.43l-7.18-161.0201z\"\n fill={blue}\n />\n <path\n d=\"m51.45 60.1699-10.45 161.0201h180.21l5.53-161.0201z\"\n fill={orange}\n />\n <path\n d=\"m226.75 60.1699h-8.91l-10.45 161.0201h13.82l5.05-147.0201z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m233.76 54h-191.51v37.17h191.51z\" fill={orange} />\n <path\n d=\"m49.43 91.1699h176.25l1.06-31h-175.29z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={line}>\n <path d=\"m77.9198 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m129.17 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m180.42 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m202.23 125.409c3.73-.1 3.74-1.22 0-1.35-5.29-.18-10.85-.29-17.99-.32-8.1.03-10.12.25-15.6.21-9.27-.03-24.91-.39-28.68-.48-.56-.01-1.11-.02-1.67-.01-3.99.03-21.51.14-36.59.01-10.6501-.03-17.2401-.05-20.6901-.06-8.13-.02-14.21.08-20.17.27-3.28.11-3.28 1.08 0 1.2 5.96.23 12.04.37 20.17.4 3.16.01 9.74.3 19.0401.38 1.51.01 3.03 0 4.53-.04 12.96-.32 29.79-.16 29.79-.16s25.11.09 35.7.12c7.98.02 11.82.03 14.18.04 7.15.02 12.7-.05 18-.2z\" />\n <path d=\"m202.23 167.938c3.73-.1 3.74-1.22 0-1.35-5.29-.18-10.85-.29-17.99-.32-8.1.03-10.12.25-15.6.21-9.27-.03-24.91-.39-28.68-.48-.56-.01-1.11-.02-1.67-.01-3.99.03-21.51.14-36.59.01-10.6501-.03-17.2401-.05-20.6901-.06-8.13-.02-14.21.08-20.17.27-3.28.11-3.28 1.08 0 1.2 5.96.23 12.04.37 20.17.4 3.16.01 9.74.3 19.0401.38 1.51.01 3.03 0 4.53-.04 12.96-.32 29.79-.16 29.79-.16s25.11.09 35.7.12c7.98.02 11.82.03 14.18.04 7.15.02 12.7-.05 18-.2z\" />\n </g>\n </svg>\n );\n}\n\nexport default Calendar;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction CannotEdit(props) {\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n const line = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <clipPath id=\"a\">\n <path d=\"m0 0h275v275h-275z\" />\n </clipPath>\n <g clipPath=\"url(#a)\">\n <path\n d=\"m252.19 144h-10.33l-4.97-12.52h-27.99c.44-25.89 3.08-49.87 7.82-71.48h-135.86c-.4 3.92-.76 7.89-1.1 11.88h-39.17l4.97 12.53h49.51l4.97 12.53h-21.99c0 .16-.02.32-.03.48l-.19-.48h-59.83l4.97 12.53h17.63l4.97 12.53h31.62c-.11 5.4-.17 10.83-.17 16.32 0 17.97.55 35.37 1.6 52.21h-23.58l4.97 12.53h-14.95l4.97 12.53h166.35c-2.33-10.82-4.12-22.23-5.38-34.19h-21.76l-4.97-12.53h17.38l-4.97-12.53 60.49.18-4.97-12.53z\"\n fill={gray}\n />\n <g fill={accent}>\n <path d=\"m77.1799 122h28.8201l-4.97-12.53h-23.8501z\" />\n <path d=\"m81.11 215.6h28.82l-4.97-12.54h-24.74z\" />\n <path d=\"m208.17 143.83h-18.28l4.97 12.54h4.58 8.73z\" />\n </g>\n <path\n d=\"m161.94 117.29c-2.34-2.07-5.91-1.85-7.98.49l-3.22 3.64 8.45 7.52 3.25-3.67c2.07-2.34 1.85-5.91-.49-7.98z\"\n fill={line}\n />\n <path\n d=\"m147.34 125.25-14.8 16.74-5.51 14.76 13.98-7.27v.01l14.81-16.74z\"\n fill={line}\n />\n <path d=\"m129 151.479-1.97 5.27 4.99-2.6z\" fill={line} />\n <path\n d=\"m124.07 113.84 44.88 44.88\"\n stroke={line}\n strokeMiterlimit={10}\n strokeWidth=\"5.94\"\n />\n <path\n d=\"m177.58 143.5c.4-2.24.61-4.62.61-7.14s-.21-4.97-.62-7.23c-2.42-13.49-11.8-21.81-24.94-23.95-2.24-.36-4.59-.55-7.04-.55-2.55 0-5 .2-7.33.59-13.15 2.2-22.51 10.49-24.94 23.91-.41 2.27-.62 4.68-.62 7.23s.21 4.9.61 7.14c2.41 13.4 11.77 21.71 24.95 23.91 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.95z\"\n stroke={line}\n strokeMiterlimit={10}\n strokeWidth=\"5.94\"\n />\n </g>\n </svg>\n );\n}\n\nexport default CannotEdit;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction CaptureUsers(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m100.964 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.3296-17.1798-15.4396-27.6298-32.2596-30.1298-2.87-.43-5.8699-.62-8.9999-.58s-6.38.35-9.3501.88c-16.75 3.03-28.5499 13.79-31.4099 30.9598-.48 2.9-.71 5.98-.67 9.25.04 3.21.35 6.25.91 9.1 3.31 17.06 15.41 27.51 32.27 30.08 2.98.46 6.11.67 9.37.63 3.2599-.04 6.12-.32 8.98-.83 16.77-2.96 28.6-13.76 31.4295-31.01z\"\n fill={purple}\n />\n <path\n d=\"m84.0945 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m74.0641 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2s-2.23.12-3.26.31c-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m173.514 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.33-17.1798-15.44-27.6298-32.26-30.1298-2.87-.43-5.87-.62-9-.58s-6.38.35-9.35.88c-16.75 3.03-28.5497 13.79-31.4097 30.9598-.48 2.9-.71 5.98-.67 9.25s.35 6.25.91 9.1c3.31 17.06 15.4097 27.51 32.2697 30.08 2.98.46 6.11.67 9.37.63s6.12-.32 8.98-.83c16.77-2.96 28.6-13.76 31.43-31.01z\"\n fill={purple}\n />\n <path\n d=\"m156.644 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m146.615 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2s-2.23.12-3.26.31c-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m101.624 123.936c-.04-3.26-.36-6.34-.92-9.22-.9097-4.68-2.4897-8.85-4.6197-12.5-2.34 3.95-4 8.5-4.86 13.63-.48 2.9-.71 5.98-.67 9.25.04 3.22.35 6.25.91 9.1.91 4.7 2.51 8.87 4.67 12.54 2.34-3.96 3.9897-8.53 4.8397-13.67.47-2.87.7-5.91.65-9.12z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m245.804 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.33-17.1798-15.44-27.6298-32.26-30.1298-2.87-.43-5.87-.62-9-.58s-6.38.35-9.35.88c-16.75 3.03-28.55 13.79-31.41 30.9598-.48 2.9-.71 5.98-.67 9.25.04 3.21.35 6.25.91 9.1 3.31 17.06 15.41 27.51 32.27 30.08 2.98.46 6.11.67 9.37.63s6.12-.32 8.98-.83c16.77-2.96 28.6-13.76 31.43-31.01z\"\n fill={purple}\n />\n <path\n d=\"m228.934 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m218.904 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2-1.14.02-2.23.12-3.26.31-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m173.914 123.936c-.04-3.26-.36-6.34-.92-9.22-.91-4.68-2.49-8.85-4.62-12.5-2.34 3.95-4 8.5-4.86 13.63-.48 2.9-.71 5.98-.67 9.25.04 3.22.35 6.25.91 9.1.91 4.7 2.51 8.87 4.67 12.54 2.34-3.96 3.99-8.53 4.84-13.67.47-2.87.7-5.91.65-9.12z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m256.834 172.276c.28-1.73.42-3.57.39-5.51-.03-1.97-.22-3.83-.55-5.58-2.01-10.39-9.33-16.7-19.5-18.21-1.73-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.65.53-10.12 1.83-17.26 8.33-18.99 18.71-.29 1.75-.43 3.62-.4 5.59.03 1.94.21 3.78.55 5.5 2 10.31 9.32 16.63 19.5 18.18 1.8.28 3.69.41 5.66.38 1.89-.03 3.7-.2 5.43-.5 10.14-1.79 17.29-8.32 19-18.74z\"\n fill={orange}\n />\n <path\n d=\"m206.765 164.846c2.63-.1 5.17-.35 7.61-.78 12.78-2.26 22.68-9.08 27.92-19.83-1.61-.57-3.32-.99-5.12-1.26-1.73-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.65.53-10.12 1.83-17.26 8.33-18.99 18.71-.16.96-.26 1.95-.33 2.98z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={gray}>\n <path d=\"m219.532 167.372c-.73.12-.73 1.23 0 1.35 1.04.17 2.14.25 3.54.26 1.59-.05 1.99-.28 3.07-.26 1.83 0 4.91.31 5.65.39.11.01.22.01.33 0 .79-.04 4.24-.21 7.2-.13h4.07c1.6 0 2.8-.12 3.97-.33.65-.12.65-1.09 0-1.2-1.17-.21-2.37-.33-3.97-.33-.62 0-1.92-.27-3.75-.31-.3 0-.6.01-.89.05-2.55.36-5.87.26-5.87.26s-4.94 0-7.03 0c-1.57 0-2.33 0-2.79 0-1.41 0-2.5.1-3.54.26z\" />\n <path d=\"m234.012 154.073c-.12-.73-1.23-.73-1.35 0-.17 1.04-.25 2.14-.26 3.54.05 1.59.28 1.99.26 3.07 0 1.83-.31 4.91-.39 5.65-.01.11-.01.22 0 .33.04.79.21 4.24.13 7.2v4.07c0 1.6.12 2.8.33 3.97.12.65 1.09.65 1.2 0 .21-1.17.33-2.37.33-3.97 0-.62.27-1.92.31-3.75 0-.3-.01-.6-.05-.89-.36-2.55-.26-5.87-.26-5.87s0-4.94 0-7.03c0-1.57 0-2.33 0-2.79 0-1.41-.1-2.5-.26-3.54z\" />\n </g>\n </svg>\n );\n}\n\nexport default CaptureUsers;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction ChatAvatars(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m183.1 60.9533c.16-.99.24-2.04.22-3.15-.02-1.13-.12-2.19-.32-3.19-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2-1.13.02-2.2.12-3.23.31-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2s.12 2.16.31 3.15c1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={orange}\n />\n <path\n d=\"m173.89 54.0629c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.11-.71-.11-1.1-.01-.39.02-.76.08-1.11.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m168.95 59.8432c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m194.82 220.604c.16-.99.24-2.04.22-3.15s-.12-2.19-.32-3.19c-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2s-2.2.12-3.23.31c-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2.02 1.11.12 2.16.31 3.15 1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={orange}\n />\n <path\n d=\"m185.6 213.713c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.1-.71-.11-1.1s.02-.76.08-1.11c.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m180.67 219.484c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m69.1801 169.283c.16-.99.24-2.04.22-3.15s-.12-2.19-.32-3.19c-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2s-2.2.12-3.23.31c-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2.02 1.11.12 2.16.31 3.15 1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={purple}\n />\n <path\n d=\"m59.9598 162.393c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.11-.71-.11-1.1-.01-.39.02-.76.08-1.11.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m55.0295 168.173c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m202.1 172.746-79.031-.786.844-84.7959 119.654 1.1904-.844 84.7955-21.124-.21-9.92 16.793z\"\n fill={purple}\n />\n <path\n d=\"m87.3095 142.48 74.6965.744-.601 60.357-43.594-.434-9.421 15.946-9.1025-16.13-12.5785-.126z\"\n fill={orange}\n />\n <path\n d=\"m31 66.8438h109.5v60.1702h-76.6745l-9.3659 16.219-9.3659-16.219h-14.0937z\"\n fill={orange}\n />\n <path\n d=\"m140.5 127.003v-39.6797l-16.59-.17-.39 39.8497z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m123.355 142.841-.29 29.119 38.639.384.289-29.118z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={line}>\n <path d=\"m50.1895 86.0834c-1.5.12-1.5 1.23 0 1.35 2.12.17 4.36.25 7.23.26 3.25-.05 4.06-.28 6.27-.26 3.72 0 10.01.31 11.52.39.22.01.45.01.67 0 1.6-.04 8.64-.21 14.69-.13h8.31c3.2695 0 5.7095-.12 8.0995-.33 1.32-.12 1.32-1.09 0-1.2-2.4-.21-4.84-.33-8.0995-.33-1.27 0-3.91-.27-7.65-.31-.61 0-1.22.01-1.82.05-5.2.36-11.96.26-11.96.26h-20.03c-2.87 0-5.1.1-7.23.26z\" />\n <path d=\"m50.1895 106.244c-1.5.12-1.5 1.23 0 1.35 2.12.17 4.36.25 7.23.26 3.25-.05 4.06-.28 6.27-.26 3.72 0 10.01.31 11.52.39.22.01.45.01.67 0 1.6-.04 8.64-.21 14.69-.13h8.31c3.2695 0 5.7095-.12 8.0995-.33 1.32-.12 1.32-1.09 0-1.2-2.4-.21-4.84-.33-8.0995-.33-1.27 0-3.91-.27-7.65-.31-.61 0-1.22.01-1.82.05-5.2.36-11.96.26-11.96.26h-20.03c-2.87 0-5.1.1-7.23.26z\" />\n <path d=\"m226.649 127.453c1.66-1.88.85-2.65-.97-.94-1.29 1.19-2.59 2.39-4.19 3.3-1.58.93-3.46 1.56-5.71 1.7-2.54.11-4.14-.07-5.44-.5-1.33-.36-2.4-.91-3.81-1.96-2.41-1.73-4.97-5.19-8.43-7.22-1.71-1.05-3.57-1.48-5.08-1.77-.76-.08-1.44-.11-2.02-.16s-1.05.03-1.38.03c-.4.02-.8.05-1.2.09-.7.17-2.03.38-3.67 1.11-1.61.74-3.43 2.03-5.08 3.68-1.67 1.62-3.25 3.55-5.17 5.01-1.9 1.48-4.21 2.35-6.57 2.52-3.36.3-6.01-.45-7.82-1.54-1.83-1.07-2.99-2.26-3.83-3.01-1.94-1.84-3.73-3.59-5.78-4.75-2.03-1.18-4.2-1.69-6.28-1.77-2.32.01-2.19.99-.1 1.2 1.91.28 3.76.87 5.5 2.01 1.77 1.12 3.38 2.77 5.37 4.67.8.71 1.92 1.97 3.85 3.22 1.89 1.26 4.77 2.35 8.1 2.23 1.08-.09 2.17-.13 3.22-.47 2.28-.57 4.54-1.87 6.3-3.46 1.78-1.58 3.22-3.29 4.6-4.6 1.37-1.31 2.64-2.29 3.65-2.76.25-.13.47-.25.66-.35.2-.08.38-.14.52-.19.28-.1.44-.16.44-.16s.23-.09.64-.24c.44-.09 1.06-.25 1.84-.39 1.57-.17 3.84-.27 6.12.42 4.68 1.27 8.2 6.53 11.43 8.49 2.35 1.58 4.48 2.13 6.05 2.34 1.58.16 2.68.18 3.5.11 1.25-.1 2.44-.32 3.53-.68 1.09-.37 2.07-.86 2.95-1.42 1.76-1.13 3.06-2.51 4.25-3.83v.04z\" />\n <path d=\"m144.23 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.06.64s0 .48.03.74c.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.35.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n <path d=\"m107.35 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.05.64-.02.23-.01.48.03.74.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.36.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n <path d=\"m125.79 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.06.64s-.01.48.03.74c.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.35.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n </g>\n </svg>\n );\n}\n\nexport default ChatAvatars;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Coins(props) {\n const orange = getColorValue('illustrationOrange');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={orange}>\n <path d=\"m71.2402 183.529 2.95-34.3 102.9398-25.05-2.95 34.3z\" />\n <path d=\"m175.29 214.849-6.34-29.04-109.95 3.21v25.83z\" />\n <path d=\"m216.72 241.469-7.9-36.17-136.9401 4v32.17z\" />\n </g>\n <path\n d=\"m71.8799 214.849h103.4101l-1.86-8.52-101.5501 2.97z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m103.129 119.819c5.92 1.65 12.38 2.41 19.11 2.41s12.65-.77 18.37-2.38c12.3-3.42 22.31-10.79 27.37-22.86 2.26-5.43 3.58-11.79 3.58-19.24s-1.32-14.01-3.62-19.52c-5.06-12.12-15.07-19.44-27.33-22.86-5.72-1.61-11.95-2.37-18.37-2.37-6.77 0-13.2.76-19.11 2.41-12.4195 3.46-22.3395 10.79-27.3595 22.82-2.3 5.51-3.58 11.95-3.58 19.52s1.29 13.81 3.54 19.24c5.02 12.03 14.95 19.36 27.3995 22.82z\"\n fill={orange}\n />\n <path\n d=\"m133.449 59.7071c1.25.4 1.97.39 2.1.1.12-.28-.38-.85-1.63-1.37-1.78-.74-3.64-1.38-5.73-1.91-2.09-.52-4.4-.93-7.07-.95-3.03.04-4.96.65-6.47 1.41-1.5.79-2.74 1.68-3.97 3.42-.97 1.47-1.94 3.27-2.29 5.48-.16 1.09-.13 2.27.17 3.38.3 1.12.85 2.14 1.51 3.01 1.33 1.74 3 2.8701 4.38 3.68 1.4.8 2.55 1.29 3.19 1.57.38.15.77.31 1.16.43.7.24 2 .6301 3.74 1.0401.85.2 1.9.3899 2.87.5899.99.22 2.04.52 3.1.94 2.1.84 4.26 2.25 5.49 4.37 1.24 2.09 1.51 4.86.57 7.01-.62 1.55-1.74 2.65-2.91 3.4-1.16.78-2.42 1.14-3.5 1.47-2.26.5401-3.99.63-5.16.65-2.79.04-5.23-.35-7.44-.89-2.21-.55-4.21-1.23-6.13-2.05-1.05-.46-1.66-.52-1.81-.29s.23.78 1.27 1.37c1.9 1.05 3.92 1.92 6.22 2.61 2.3.68 4.9 1.16 7.9 1.13.58-.04 1.33.02 2.22-.08.45-.04.93-.0699 1.45-.13.52-.09 1.07-.19 1.66-.29.59-.09 1.21-.31 1.87-.49.32-.11.65-.26.99-.39.34-.12.68-.29 1.02-.49 1.36-.72 2.78-1.84 3.77-3.48.67-1.0499 1.05-2.27 1.17-3.47.28-2.6-.48-5.4199-2.14-7.53-1.63-2.13-3.91-3.43-5.92-4.23-2-.8099-3.91-1.14-5.09-1.4-1.22-.27-1.93-.48-1.93-.48s-1.07-.26-2.73-.84c-1.65-.58-3.92-1.49-5.98-3.02-1.01-.78-1.96-1.71-2.57-2.82-.63-1.1-.9-2.36-.8-3.58.08-1.23.48-2.41.97-3.44.22-.52.53-1 .78-1.45.28-.41.53-.8.83-1.11.85-.97 1.81-1.59 2.7-2.02.9-.43 1.74-.66 2.48-.81 1.49-.29 2.56-.32 3.37-.32 2.46 0 4.67.35 6.68.76 2.02.42 3.87.93 5.65 1.49v.02z\"\n fill={line}\n />\n <path\n d=\"m122.609 97.8786c-.12-.23-1.23-.23-1.35 0-.16.33-.25.69-.26 1.14.05.51.29.63.26.97 0 .5804-.3 1.5804-.37 1.8304-.01.04-.01.07 0 .11.04.25.22 1.34.15 2.3 0 .67.01 1.09.02 1.3.01.51.13.88.34 1.22.12.19 1.07.03 1.19-.18.21-.4.32-.79.33-1.28 0-.19.26-.63.31-1.2 0-.09-.01-.18-.05-.27-.36-.75-.27-1.79-.27-1.79v-3.0504c0-.44-.1-.77-.27-1.1z\"\n fill={line}\n />\n <path\n d=\"m122.4 48.8078c-.03-.07-.12-.09-.25-.15-.07-.03-.14-.04-.21-.03-.04 0-.07 0-.11.02l-.05.02h.01s-.12.04-.29.09c-.07.02-.14.02-.21 0-.12-.02-.21.06-.24.1-.16.31-.24.65-.24 1.08.06.49.29.61.27.94 0 .56-.3 1.52-.37 1.75-.01.03-.01.07 0 .1.04.24.22 1.31.15 2.22 0 .65.01 1.05.01 1.26.01.49.13.86.34 1.23.12.2 1.09.19 1.2 0 .21-.36.32-.73.33-1.23 0-.19.26-.59.31-1.16 0-.09-.01-.18-.05-.28-.37-.79-.27-1.81-.27-1.81s0-1.53-.01-2.18c0-.49-.01-.72-.02-.87-.01-.44-.11-.77-.28-1.11h-.02z\"\n fill={line}\n />\n </svg>\n );\n}\n\nexport default Coins;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Comment(props) {\n const gray = getColorValue('illustrationGray');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m230.42 86.6797h-186.42v113.5203h186.42z\" fill={gray} />\n <path\n d=\"m137.21 193.17-26.09 4.33s2.51 11.93-3.46 22.68c.8.07 1.6.12 2.42.12 14.99 0 27.13-12.15 27.13-27.13z\"\n fill={gray}\n />\n <path\n d=\"m221.56 93.87c.4-2.24.61-4.62.61-7.14s-.21-4.97-.62-7.23c-2.42-13.49-11.8-21.81-24.94-23.95-2.24-.36-4.59-.55-7.04-.55-2.55 0-5 .2-7.33.59-13.15 2.2-22.51 10.49-24.94 23.91-.41 2.27-.62 4.68-.62 7.23 0 2.52.21 4.9.61 7.14 2.41 13.4 11.77 21.71 24.95 23.91 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.95z\"\n fill={blue}\n />\n <path\n d=\"m221.56 93.8705c.4-2.24.61-4.62.61-7.14h-65.49c0 2.52.21 4.9.61 7.14 2.41 13.3995 11.77 21.7095 24.95 23.9095 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.9495z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g clipRule=\"evenodd\" fill={line} fillRule=\"evenodd\">\n <path d=\"m210.64 92h-42.44v-7h42.44z\" />\n <path d=\"m185.92 109.72v-42.4505h7v42.4505z\" />\n <path d=\"m207.24 132.56h-140.06v-7h140.06z\" />\n <path d=\"m207.24 151.91h-140.06v-7h140.06z\" />\n <path d=\"m171.82 171.25h-104.64v-7h104.64z\" />\n </g>\n </svg>\n );\n}\n\nexport default Comment;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Compliance(props) {\n const orange = getColorValue('illustrationOrange');\n const green = getColorValue('illustrationGreen');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m197.355 66.979v69.54c0 42.7-12.75 69.24-34.24 83.41-13.66 9-30.85 13.02-50.54 13.02-19.6905 0-36.4205-3.44-50.0705-11.12-24.25-13.64-37.97-40.62-36.38-85.31v-69.27c7.1 1.6 14.74 2.48 22.74 2.48 28.44 0 52.7205-11.11 62.3305-26.73 9.62 15.62 33.88 26.73 62.32 26.73 8.41 0 16.45-.96 23.85-2.74h-.01z\"\n fill={orange}\n />\n <path\n d=\"m147.764 147.008 73.33-76.3996 27.13 25.12-106.53 91.4496-50.1496-46.22 26.0796-30.1z\"\n fill={green}\n />\n <path\n d=\"m197.454 95.2383v44.0597l-55.76 47.87-50.1496-46.22 26.0796-30.1 30.14 36.17z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m105.755 211.972c2.94.05 4.41-.3 4.41-.59 0-.33-1.46-.59-4.36-.76-4.11-.23-8.3105-.68-12.7905-1.52-4.47-.86-9.25-2.11-14.3-4.3-2.86-1.23-5.09-2.44-6.93-3.59-.46-.28-.92-.53-1.34-.81-.41-.29-.81-.57-1.19-.84-.75-.56-1.52-1.01-2.15-1.57-1.3-1.08-2.55-2.05-3.7-3.27-.58-.61-1.25-1.16-1.81-1.89-.59-.71-1.21-1.45-1.89-2.26-2.15-2.85-4.36-6.44-6.14-10.44-1.72-4.03-3.03-8.4-3.96-12.59-.83-4.21-1.37-8.21-1.6-11.53-.1-1.66-.23-3.14-.26-4.39-.02-1.25-.04-2.27-.05-3 0-.87-.06-1.73-.05-2.6.07-3.1.01-11.53-.03-22.14-.01-5.3-.03-11.15-.04-17.15 0-3 0-6.04 0-9.0597 0-1.51 0-3.02 0-4.53 0-.73 0-1.46 0-2.19 0-.09-.02-.2.1-.14.35.07.69.14 1.02.2.51.09 1.01.18 1.51.27.99.17 1.97.32 2.92.43 1.9.25 3.71.41 5.43.51 3.44.23 6.51.12 9.21 0 1.35-.11 2.61-.17 3.78-.3 1.17-.14 2.25-.28 3.25-.4 1.98-.36 3.65-.6 4.98-.93 3.17-.65 6.06-1.6 8.77-2.56 2.68-1.05 5.18-2.14 7.45-3.46 4.5605-2.55 8.4205-5.6 11.3905-9.36.85-1 1.31-1.89 1.59-2.49s.35-.94.23-1.01-.41.12-.86.59c-.45.46-1.02 1.22-1.88 2.14-3.01 3.48-6.8105 6.27-11.2805 8.65-2.22 1.22-4.67 2.24-7.27 3.23-2.64.9-5.45 1.81-8.54 2.44-2.38.54-6.12 1.17-11.07 1.41-4.94.24-11.13.15-18.19-1.13l-1.72-.33-1.52-.32-.86-.18-.43-.09c-.06 0-.17-.06-.19-.01v.22l.02 3.08.03 1.77c.36 20.3097.26 46.6697.26 46.6697s-.03 2.47-.09 6.43c.1 3.97.19 9.46 1.12 15.41.86 5.95 2.45 12.35 4.84 17.98 2.35 5.65 5.52 10.43 8.29 13.62 4.14 4.86 8.07 7.61 11.09 9.52 3.03 1.94 5.3 2.94 7.01 3.69 5.22 2.26 10.15 3.49 14.74 4.28 4.6.77 8.8805 1.1 13.0505 1.16z\"\n fill={gray}\n />\n </svg>\n );\n}\n\nexport default Compliance;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Done(props) {\n const green = getColorValue('illustrationGreen');\n const checkBlue = getColorValue('illustrationCheckBlue');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.23 158.759c1.16-6.5 1.76-13.39 1.76-20.71s-.62-14.4-1.8-20.98c-7.02-39.14-34.22-63.26-72.35-69.47-6.51-1.05-13.33-1.6-20.42-1.6s-14.51.58-21.27 1.72c-38.15 6.37-65.29 30.44-72.34 69.35-1.19 6.57-1.81 13.57-1.81 20.98s.61 14.21 1.77 20.71c6.99 38.87 34.16 62.98 72.37 69.35 6.76 1.13 13.87 1.72 21.27 1.72s13.92-.54 20.42-1.6c38.19-6.2 65.4-30.38 72.38-69.47z\"\n fill={green}\n />\n <path\n d=\"m151.03 137.368 73.12-76.1698 27.04 25.04-106.21 91.1698-49.9995-46.07 25.9995-30.02 30.04 36.06z\"\n fill={checkBlue}\n />\n <path\n d=\"m211.21 117.079c-2.08-11.54-5.91-21.8001-11.26-30.6601l-48.91 50.9501-30.04-36.06-26 30.02 50 46.07 66.72-57.27c-.15-1.03-.31-2.05-.49-3.06z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Done;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction DontFCustomer(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m153.772 184.609h-30.26v44.42h30.26z\" fill={orange} />\n <path\n d=\"m164.481 53.9492h-54.2l-38.3201 38.32v54.1998l38.3201 38.32h54.2l38.32-38.32v-54.1998z\"\n fill={orange}\n />\n <path\n d=\"m167.77 192.75h-60.79l-42.98-42.98v-60.79l42.98-42.98h60.79l42.98 42.98v60.79zm-54.2-15.91h47.61l33.67-33.67v-47.61l-33.67-33.67h-47.61l-33.67 33.67v47.61z\"\n fill={purple}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m71.9609 92.2692 38.3201-38.32h54.2l38.32 38.32v54.1998l-38.32 38.32h-10.709v7.96h-30.26v-7.96h-13.231l-38.3201-38.32zm89.2201 84.5798 33.67-33.67v-47.6098l-33.67-33.67h-47.61l-33.6701 33.67v47.6098l33.6701 33.67z\"\n fill={illustrationColors.staticRed}\n fillRule=\"evenodd\"\n />\n <g fill={line}>\n <path d=\"m168.141 125.318c.17-2.41-.16-3.61-.44-3.6-.33 0-.63 1.17-.9 3.44-.43 3.23-1.47 6.45-3.15 9.64-1.7 3.16-4.07 6.34-7.48 9.08-3.89 3.07-6.82 4.26-9.34 5.2-.65.18-1.28.36-1.9.54-.31.08-.62.18-.94.26-.32.05-.65.11-.98.16-.66.1-1.34.25-2.07.31-.73.04-1.51.08-2.36.12-2.85 0-6.21-.41-9.5-1.56-3.29-1.12-6.47-2.96-9.06-5.16-2.6-2.2-4.55-4.75-5.9-6.98-.33-.57-.65-1.09-.93-1.6-.24-.52-.47-1.01-.67-1.46-.44-.88-.68-1.64-.87-2.18-.2-.65-.5-1.26-.64-1.93-.14-.59-.41-1.41-.63-2.47-.14-1.07-.46-2.35-.48-3.84-.2-2.95.03-6.72 1.35-10.63 1.3-3.91 3.64-7.95 6.96-11.24 3.35-3.24 7.57-5.81 12.01-7.04 6.28-1.82 11.75-1.17 15.72-.08 4.02 1.12 6.66 2.79 8.42 3.92 4.06 2.86 6.94 6.25 8.94 9.73 1.99 3.49 3.13 7.09 3.62 10.74.33 4.01 1.31 4.12 1.2-.12-.3-3.82-1.32-7.68-3.34-11.43-2.02-3.74-5.03-7.4-9.36-10.46-1.72-1.1-4.39-2.9-8.4-4.18-3.97-1.26-9.3-1.98-15.31-.76-.96.25-1.94.47-2.88.78-.93.36-1.87.68-2.76 1.09-3.87 1.77-7.61 4.52-10.52 7.86-2.94 3.32-5.02 7.2-6.17 10.82-1.17 3.62-1.43 6.9-1.5 9.21 0 1.16.09 2.08.11 2.71.01.63.08.97.08.97s.08.5.22 1.41c.09.45.12 1.02.29 1.65.16.63.35 1.35.55 2.15.94 3.12 2.77 7.37 6.05 11.1.83.92 1.66 1.87 2.64 2.7.91.9 1.96 1.65 3 2.42.5.41 1.09.7 1.63 1.05.56.32 1.09.7 1.67.97 1.16.55 2.29 1.16 3.48 1.54 4.69 1.78 9.42 2.13 12.84 1.84 5.2-.36 8.86-1.84 11.46-3.16.67-.3 1.25-.65 1.78-.98.53-.32 1.03-.62 1.48-.9.85-.63 1.57-1.16 2.18-1.62 3.62-2.93 6.11-6.35 7.83-9.75 1.7-3.42 2.67-6.87 2.96-10.27z\" />\n <path d=\"m156.211 99.4975c.86-1.28-.02-1.97-1.06-.83-1.47 1.6205-2.96 3.3705-4.78 5.6905-2.02 2.66-2.35 3.46-3.76 5.23-2.35 3.01-6.57 7.91-7.59 9.08-.15.17-.29.35-.43.54-.98 1.32-5.3 7.12-9.19 11.97-2.7 3.46-4.38 5.61-5.25 6.73-2.06 2.65-3.51 4.69-4.86 6.76-.74 1.14.02 1.73.95.74 1.68-1.81 3.32-3.71 5.39-6.35.8-1.03 2.69-3 5.08-5.99.39-.49.76-.99 1.11-1.5 3.01-4.44 7.36-9.84 7.36-9.84s6.38-8.16 9.07-11.6c2.02-2.6 3-3.84 3.6-4.61 1.81-2.33 3.15-4.19 4.36-6.0105z\" />\n </g>\n </svg>\n );\n}\n\nexport default DontFCustomer;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction FileCabinet(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n const drawer = getColorValue('illustrationDrawer');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m189.59 111.22s4.25-48.82-.19-67.22h-108.9397s7.15 42.25-.39 67.22c0 0 109.8097-.39 109.5197 0z\"\n fill={orange}\n />\n <path\n d=\"m170.941 79.1197c1.51-.1 1.52-1.22 0-1.35-2.13-.18-4.38-.29-7.26-.32-3.27.03-4.09.25-6.3.21-3.74-.03-10.06-.39-11.58-.48-.22-.01-.45-.02-.68-.01-1.61.03-8.68.14-14.77.01-4.3-.03-6.96-.05-8.35-.06-3.28-.02-5.74.08-8.15.27-1.32.11-1.33 1.08 0 1.2 2.41.23 4.86.37 8.14.4 1.28.01 3.93.3 7.68.38.61.01 1.22 0 1.83-.04 5.24-.32 12.03-.16 12.03-.16s10.14.09 14.41.12c3.22.02 4.77.03 5.72.04 2.88.02 5.13-.05 7.27-.2z\"\n fill={line}\n />\n <path\n d=\"m170.681 60.5806c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28 0-.55-.02-.83 0-1.99.03-10.7.14-18.19 0-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6302.11-1.6402 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57 0 4.84.3 9.46.38.75 0 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={line}\n />\n <path\n d=\"m116.06 87.9705-5.9-13.41h-46.9901v3.25h.01v94.1005h142.9901v-83.9405z\"\n fill={purple}\n />\n <path\n d=\"m171.46 101.5v17.43c-18.4 4.44-67.22.19-67.22.19.2.15.2-8.74.15-17.62h-50.39v129.21h167.7v-129.21z\"\n fill={blue}\n />\n <path\n d=\"m104.971 190.13v-9.86h58.2l5.81 9.86z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m182.921 166.471-4.88-22.33-84.5703 2.47v19.86z\" fill={drawer} />\n </svg>\n );\n}\n\nexport default FileCabinet;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Integration(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={line}>\n <path d=\"m55.3084 111.633c.02.17.92.83 1.09.8.24-.05.42-.15.57-.34.12-.25-.02-.45.11-.58.19-.26.75-.5.89-.56.02 0 .03-.02.04-.04.05-.13.26-.72.63-1.08.21-.29.34-.48.41-.57.16-.23.19-.46.14-.75-.03-.16-.81-.73-.97-.71-.29.04-.51.14-.68.36-.06.09-.41.11-.64.34-.04.04-.05.09-.05.16.03.57-.39.97-.39.97s-.51.69-.73.98c-.16.22-.24.33-.28.39-.14.2-.18.41-.15.65v-.02z\" />\n <path d=\"m64.8303 98.6843c-.07.29.83.95 1.09.8.37-.22.68-.5 1.01-.93.32-.52.22-.78.48-1.09.41-.56 1.35-1.32 1.58-1.5.03-.03.06-.06.08-.1.14-.27.78-1.42 1.51-2.28.47-.64.76-1.04.91-1.25.35-.49.53-.93.62-1.41.05-.27-.73-.84-.97-.71-.44.23-.8.53-1.16 1.02-.14.19-.65.43-1.1.96-.07.09-.13.19-.16.3-.28 1-1.11 1.95-1.11 1.95s-1.11 1.51-1.58 2.15c-.35.48-.52.71-.62.86-.31.43-.48.82-.59 1.24z\" />\n <path d=\"m77.7496 81.104c.02.17.92.83 1.09.8.24-.05.42-.15.57-.34.12-.25-.02-.45.11-.58.19-.26.75-.5001.89-.5601.02 0 .03-.0199.04-.0399.05-.13.26-.72.63-1.08.21-.29.34-.48.41-.57.16-.23.19-.46.14-.75-.03-.16-.81-.73-.97-.71-.29.04-.51.14-.68.36-.06.09-.41.11-.64.34-.04.04-.05.09-.05.16.03.57-.39.9699-.39.9699s-.51.6901-.72.9801c-.16.22-.24.33-.28.39-.14.2-.18.41-.15.65z\" />\n <path d=\"m83.57 192.224c.17.03 1.04-.67 1.05-.84.02-.24-.03-.45-.18-.64-.21-.18-.44-.09-.53-.25-.2-.25-.29-.86-.31-1 0-.02-.01-.04-.03-.05-.12-.08-.62-.44-.88-.89-.23-.28-.37-.46-.45-.55-.18-.21-.4-.3-.69-.33-.16 0-.92.59-.94.75-.04.29 0 .52.17.75.07.08 0 .43.16.7.03.05.07.07.14.09.56.12.84.63.84.63s.53.67.76.95c.17.21.26.31.31.37.16.19.35.28.59.31z\" />\n <path d=\"m74.38 180.765c.24.12 1.11-.58 1.05-.84-.09-.37-.25-.71-.53-1.08-.37-.38-.64-.34-.84-.64-.38-.47-.78-1.47-.87-1.71-.01-.04-.03-.07-.06-.09-.2-.18-1.05-.97-1.6-1.79-.44-.54-.71-.88-.85-1.05-.34-.41-.68-.65-1.09-.82-.23-.09-.98.51-.94.75.08.44.24.82.56 1.24.13.16.19.67.53 1.17.06.08.13.15.23.2.81.44 1.42 1.36 1.42 1.36s1.02 1.28 1.46 1.83c.33.41.49.6.58.72.3.36.6.59.94.76z\" />\n <path d=\"m62.38 165.775c.24.12 1.11-.58 1.05-.84-.09-.37-.25-.71-.53-1.08-.37-.38-.64-.34-.84-.64-.38-.47-.78-1.47-.87-1.71-.01-.04-.03-.07-.06-.09-.2-.18-1.05-.97-1.6-1.79-.44-.54-.71-.88-.85-1.05-.34-.41-.68-.65-1.09-.82-.23-.09-.98.51-.94.75.08.44.24.82.56 1.24.13.16.19.67.53 1.17.06.08.13.15.23.2.81.44 1.42 1.36 1.42 1.36s1.02 1.28 1.46 1.83c.33.41.49.6.58.72.3.36.6.59.94.76z\" />\n <path d=\"m50.4196 150.865c.17.03 1.04-.67 1.05-.84.02-.24-.03-.45-.18-.64-.21-.18-.44-.09-.53-.25-.2-.25-.29-.86-.31-1.01 0-.02 0-.04-.03-.05-.12-.08-.62-.44-.88-.89-.23-.28-.37-.46-.45-.55-.18-.21-.4-.3-.69-.33-.16 0-.92.59-.94.75-.04.29 0 .52.17.75.07.08 0 .43.16.7.03.04.07.07.14.09.56.12.84.63.84.63s.53.67.76.95c.17.21.26.31.31.37.16.19.35.28.59.32z\" />\n <path d=\"m156.399 194.475c.07-.16-.4-1.17-.56-1.23-.23-.08-.44-.08-.67.02-.23.16-.2.4-.38.46-.29.13-.9.07-1.05.05-.02 0-.04 0-.06.02-.11.09-.58.5-1.08.64-.33.15-.53.25-.64.3-.25.12-.39.31-.49.59-.05.15.35 1.04.5 1.09.27.11.51.13.76.02.1-.04.41.11.72.02.05 0 .09-.05.12-.11.25-.51.82-.66.82-.66s.78-.35 1.11-.5c.25-.12.36-.17.44-.21.22-.11.35-.27.45-.49h.01z\" />\n <path d=\"m140.719 201.615c.23-.23-.23-1.25-.56-1.23-.47.03-.92.14-1.46.38-.59.32-.64.6-1.06.77-.69.32-2 .57-2.31.63-.05 0-.09.03-.13.05-.28.17-1.53.93-2.69 1.37-.8.37-1.29.59-1.55.71-.61.29-1.02.6-1.37.99-.2.22.2 1.1.5 1.1.54 0 1.04-.11 1.65-.39.24-.11.84-.09 1.56-.36.12-.04.22-.11.32-.2.82-.77 2.13-1.26 2.13-1.26s1.88-.85 2.68-1.22c.6-.28.88-.41 1.06-.49.53-.25.91-.52 1.24-.85z\" />\n <path d=\"m118.848 211.585c.07-.16-.4-1.17-.56-1.23-.23-.08-.44-.08-.67.02-.23.16-.2.4-.38.46-.29.13-.9.07-1.05.05-.02 0-.04 0-.06.02-.11.09-.58.5-1.08.64-.33.15-.53.25-.64.3-.25.12-.39.31-.49.59-.05.15.35 1.04.5 1.1.27.11.51.13.76.02.1-.04.41.11.72.02.05 0 .09-.05.12-.11.25-.51.82-.66.82-.66s.78-.35 1.11-.5c.25-.12.36-.17.44-.21.22-.11.35-.27.45-.49v-.02z\" />\n <path d=\"m204.859 97.1555c-.11-.13-1.22-.2-1.35-.08-.18.17-.28.35-.3.6.04.28.26.36.23.55-.02.32-.36.83-.44.95 0 .02-.02.04 0 .06.03.14.17.74.06 1.2495-.02.36-.03.59-.04.7 0 .28.09.49.29.71.11.12 1.08.18 1.2.07.22-.19.35-.39.38-.67 0-.11.29-.32.35-.63 0-.05 0-.1-.04-.16-.34-.46-.2-1.0295-.2-1.0295s.05-.85.08-1.21c0-.27.02-.4.02-.48 0-.24-.07-.44-.22-.63h-.01z\" />\n <path d=\"m203.82 114.696c-.1-.32-1.21-.39-1.35-.08-.19.44-.31.9-.35 1.51 0 .69.23.87.18 1.34-.05.78-.43 2.09-.53 2.4 0 .05-.02.09-.02.14.02.34.1 1.83-.05 3.1-.05.9-.08 1.46-.1 1.75-.03.69.05 1.21.23 1.73.1.28 1.07.34 1.2.07.24-.49.39-1 .44-1.69.02-.27.32-.81.41-1.59.02-.13 0-.26-.03-.39-.3-1.12-.11-2.54-.11-2.54s.13-2.12.19-3.02c.04-.68.06-1 .07-1.2.03-.6-.03-1.08-.17-1.54z\" />\n <path d=\"m202.34 139.366c-.11-.13-1.22-.2-1.35-.08-.18.17-.28.35-.3.6.04.28.26.36.23.55-.02.32-.36.83-.44.95 0 .02-.02.04 0 .06.03.14.17.74.06 1.25-.02.36-.03.59-.04.7 0 .28.09.49.29.71.11.12 1.08.18 1.2.07.22-.19.35-.39.38-.67 0-.11.29-.32.35-.63 0-.05 0-.1-.04-.16-.34-.46-.2-1.03-.2-1.03s.05-.85.08-1.21c0-.27.02-.4.02-.48 0-.24-.07-.44-.22-.63h-.01z\" />\n <path d=\"m118.389 62.5045c-.14.11-.23 1.22-.11 1.34.17.18.35.28.59.31.28-.03.37-.25.55-.21.32.03.82.38.94.47.02.01.04.02.06.01.14-.03.75-.15 1.25-.03.36.03.59.04.7.05.28.02.49-.08.71-.27.12-.11.2-1.07.1-1.2-.18-.23-.38-.36-.66-.39-.11-.01-.31-.3-.62-.37-.05-.01-.1 0-.16.04-.47.32-1.03.17-1.03.17s-.85-.08-1.21-.11c-.27-.02-.4-.03-.48-.04-.24-.01-.44.06-.63.21z\" />\n <path d=\"m133.219 63.7643c-.26.1-.35 1.21-.11 1.34.34.19.7.31 1.18.36.54 0 .7-.23 1.06-.17.62.05 1.63.45 1.88.55.04.01.07.02.11.02.27-.02 1.45-.09 2.45.08.71.06 1.15.09 1.38.11.54.04.96-.04 1.37-.22.23-.1.31-1.06.1-1.2-.38-.25-.77-.39-1.31-.45-.21-.02-.63-.32-1.24-.42-.1-.02-.2 0-.31.03-.89.29-2 .09-2 .09s-1.67-.15-2.38-.21c-.53-.04-.79-.06-.94-.08-.48-.03-.85.02-1.22.16h-.02z\" />\n <path d=\"m152.738 65.4242c-.26.09-.35 1.21-.11 1.34.34.19.7.31 1.18.36.54 0 .7-.23 1.06-.17.62.05 1.63.45 1.88.55.04.01.07.02.11.02.27-.02 1.45-.09 2.45.08.71.06 1.15.09 1.38.11.54.04.96-.04 1.37-.22.23-.1.31-1.06.1-1.2-.38-.25-.77-.39-1.31-.45-.21-.02-.63-.32-1.24-.42-.1-.02-.2 0-.31.03-.89.29-2 .09-2 .09s-1.67-.15-2.38-.21c-.53-.04-.79-.06-.94-.07-.48-.03-.85.02-1.22.16z\" />\n <path d=\"m172.158 67.0749c-.14.11-.23 1.22-.11 1.34.17.18.35.28.59.31.28-.03.37-.25.55-.21.31.03.82.38.94.47.02.01.04.02.06.01.14-.03.75-.15 1.25-.03.36.03.59.04.7.05.28.02.49-.08.71-.27.12-.11.2-1.07.1-1.2-.18-.23-.38-.36-.66-.39-.11-.01-.31-.29-.62-.37-.05-.01-.1 0-.16.04-.47.32-1.03.17-1.03.17s-.85-.08-1.21-.11c-.27-.02-.4-.03-.48-.04-.24-.01-.44.06-.63.21z\" />\n </g>\n <path\n d=\"m83.3874 31.9994-20.2312 41.5904 41.5908 20.2312 20.231-41.5905z\"\n fill={purple}\n />\n <path\n d=\"m158.339 144.757s-8.38 51.81.38 78.47h87.23s-14.09-42.28.76-78.47c0 0-88.95.57-88.38 0z\"\n fill={orange}\n />\n <path\n d=\"m66.51 148.016s3.65-22.57-.17-34.19h-38.01s6.14 18.42-.33 34.19c0 0 38.76-.25 38.51 0z\"\n fill={orange}\n />\n <path d=\"m235.87 57.4365-59.95 8.14v36.4605l59.95-6.2205z\" fill={blue} />\n <path\n d=\"m66.2383 198.366 19.58 43.98 35.2197-9.42-17.71-44.48z\"\n fill={blue}\n />\n </svg>\n );\n}\n\nexport default Integration;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction LetterOpen(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const paperColor = getColorValue('illustrationPaper');\n const innerPaperColor = getColorValue('illustrationInnerPaper');\n const lineColor = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m137.33 58.999-85.33 71.36v86.19h170.66v-86.19z\" fill={blue} />\n <path d=\"m202.51 86.1885h-130.3596v130.3595h130.3596z\" fill={orange} />\n <path\n d=\"m169.84 86.1885h-65.03l-32.6596 27.3195v103.04h130.3596v-103.04z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m191.81 96.8789h-108.9702v108.9701h108.9702z\"\n fill={paperColor}\n />\n <g fill={orange}>\n <path d=\"m181.48 108.528h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 124.639h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 140.759h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 156.868h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 172.988h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 189.099h-86.3599v4h86.3599z\" />\n </g>\n <path d=\"m154.76 216.549-102.5803-86.17.17 86.17z\" fill={blue} />\n <path d=\"m119.891 216.549 102.58-86.17-.16 86.17z\" fill={blue} />\n <path\n d=\"m119.891 216.548h34.87l-17.43-14.65z\"\n fill={illustrationColors.staticDarkBlue}\n />\n {/* Layered envelope for depth */}\n <path d=\"m137.33 58.999-85.33 71.36v86.19h170.66v-86.19z\" fill={blue} />\n <path d=\"m202.51 86.1885h-130.3596v130.3595h130.3596z\" fill={orange} />\n <path\n d=\"m169.84 86.1885h-65.03l-32.6596 27.3195v103.04h130.3596v-103.04z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m191.81 96.8789h-108.9702v108.9701h108.9702z\"\n fill={innerPaperColor}\n />\n <path\n d=\"m164.386 176.252c1.5-.1 1.51-1.22.01-1.35-2.13-.18-4.36-.29-7.23-.32-3.26.03-4.07.25-6.28.21-3.73-.03-10.02-.39-11.53-.48-.22-.01-.45-.02-.67-.01-1.61.03-8.65.14-14.72.01-4.28-.03-6.93-.05-8.32-.06-3.27-.02-5.72.08-8.12.27-1.32.11-1.33 1.08 0 1.2 2.4.23 4.84.37 8.11.4 1.27.01 3.92.3 7.65.38.61.01 1.22 0 1.82-.04 5.21-.32 11.98-.16 11.98-.16s10.1.09 14.36.12c3.21.02 4.75.03 5.7.04 2.87.02 5.11-.05 7.24-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 115.56c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 135.791c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 156.021c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path d=\"m154.76 216.549-102.5803-86.17.17 86.17z\" fill={blue} />\n <path d=\"m119.891 216.549 102.58-86.17-.16 86.17z\" fill={blue} />\n <path\n d=\"m119.891 216.548h34.87l-17.43-14.65z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default LetterOpen;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction LightBulbOrbit(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.57 148.71c.91-5.12 1.39-10.57 1.39-16.32s-.48-11.36-1.42-16.54c-5.54-30.8597-26.98-49.8797-57.04-54.7697-5.13-.83-10.51-1.26-16.1-1.26s-11.44.46-16.77 1.35c-30.0801 5.02-51.4801 23.99-57.0301 54.6797-.94 5.19-1.43 10.7-1.43 16.54s.48 11.2 1.4 16.32c5.51 30.65 26.93 49.65 57.0601 54.68 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c30.11-4.9 51.57-23.95 57.07-54.77z\"\n fill={orange}\n />\n <path\n d=\"m113.69 212c-.71 19.89 9.24 27.47 24.63 27.47 14.45 0 24.16-7.58 24.16-27.47v-22.74h-48.79z\"\n fill={blue}\n />\n <path\n d=\"m113.69 189.26v12.42c2.57.68 5.22 1.25 7.94 1.71 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c2.73-.44 5.39-1.01 7.98-1.68v-12.54z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={gray}>\n <path d=\"m220.21 115.041c-4.7-.42-7.08-.3-7.11 0-.03.31 2.29.81 6.97 1.34 6.63.77 13.42 1.63 20.72 2.89 3.65.64 7.43 1.37 11.31 2.39 1.94.51 3.91 1.1 5.82 1.88.95.39 1.9.82 2.73 1.36.81.51 1.52 1.27 1.49 1.71.04.51-.79 1.36-1.69 1.87-.9.56-1.88 1-2.84 1.38-1.91.76-3.75 1.29-5.45 1.76-3.41.91-6.33 1.51-9.04 2.04-5.44 1.03-10.12 1.75-16.99 2.55-11.61 1.37-27.31 2.47-41.29 3.03-13.98.58-26.23.7-30.99.74-1.41.02-2.81.03-4.23.05-5.04.09-18.62.21-35.7.06s-37.67-.56-56.66-1.73c-13.41-.81-24.25-1.85-32.67-3.33-4.18-.76-7.84-1.61-10.55-2.89-1.33-.61-2.37-1.57-2.15-2.07.05-.3.27-.74.63-1.1.33-.38.74-.71 1.14-1.01 1.93-1.41 4.19-2.42 6.38-3.31 2.2-.89 4.4-1.62 6.57-2.28 4.33-1.31 8.51-2.31 12.54-3.16 8.08-1.69 15.59-2.77 23.06-3.63 4.1-.45 6.15-.85 6.13-1.14-.02-.26-2.11-.4-6.24-.06-7.52.65-15.11 1.57-23.28 3.17-4.09.8-8.32 1.77-12.73 3.07-2.21.65-4.46 1.39-6.73 2.3-2.27.93-4.6 1.94-6.81 3.54-.43.32-.87.69-1.31 1.15-.43.48-.9 1.03-1.15 1.89-.04.23-.07.46-.09.69.03.24.02.5.11.72.13.48.39.87.67 1.21.58.67 1.27 1.11 1.99 1.51 2.9 1.52 6.43 2.37 10.43 3.19 8.02 1.57 18.04 2.65 29.78 3.47 3.83.26 7.65.47 11.45.61 16.39.65 35.21.97 49.94 1.1s25.37.12 25.37.12 3.97-.03 10.34-.07c6.37-.08 15.15-.24 24.75-.59 9.61-.35 20.05-.88 29.75-1.6 9.7-.71 18.66-1.61 25.32-2.45 10.03-1.27 17.42-2.61 22.98-4.09 2.78-.74 5.11-1.51 7.05-2.43.97-.46 1.85-.96 2.61-1.6.38-.31.73-.69 1.01-1.13s.46-1 .46-1.56c0-.88-.46-1.55-.9-2.04-.45-.52-.95-.86-1.44-1.21-1-.65-2.03-1.11-3.05-1.52-2.04-.82-4.07-1.41-6.06-1.92-3.98-1.02-7.8-1.72-11.49-2.33-7.37-1.19-14.21-1.93-20.87-2.53z\" />\n <path d=\"m180.62 65.4413c-7.33 6.41-6.59 7.24.87 1.03 5.31-4.38 10.82-8.8 16.92-13.41 3.05-2.3 6.26-4.65 9.71-6.99 3.45-2.32 7.12-4.73 11.23-6.67 1.16-.54 2.29-1.01 3.35-1.29 1.05-.31 2.12-.36 2.63-.1.21.14.36.29.44.63.08.33.09.74.04 1.17-.09.86-.36 1.74-.66 2.56-1.26 3.31-2.84 5.97-4.29 8.41-2.97 4.85-5.77 8.86-10.08 14.53-7.29 9.6-17.83 21.93-27.55 32.59-9.7 10.6797-18.51 19.7297-21.93 23.2397-1.01 1.04-2.02 2.08-3.03 3.13-7.17 7.5-39.11 40.14-68.6599 66-10.42 9.14-19.11 16.23-26.3 21.36-3.59 2.55-6.83 4.62-9.71 6.01-1.43.67-2.82 1.2-3.94 1.28-1.18.02-1.28-.23-1.42-1.16-.05-1.06.24-2.3.59-3.46.36-1.17.81-2.32 1.3-3.44.97-2.24 2.07-4.36 3.2-6.4 2.27-4.08 4.65-7.82 7.01-11.36 4.75-7.06 9.45-13.33 14.28-19.4 2.66-3.33 3.85-5.11 3.64-5.29-.2-.17-1.81 1.26-4.57 4.53-5.01 5.96-9.87 12.15-14.75 19.21-2.43 3.54-4.87 7.29-7.2 11.42-1.16 2.07-2.3 4.23-3.32 6.55-.51 1.16-.99 2.36-1.38 3.63-.38 1.28-.74 2.6-.68 4.15.09.6.14 1.34.78 2.04.62.69 1.56.88 2.32.87 1.57-.04 2.99-.59 4.48-1.23 2.97-1.33 6.12-3.3 9.6-5.67 6.93-4.76 15.05-11.24 24.24-19.16 2.99-2.58 5.95-5.21 8.83-7.86 12.4799-11.41 26.4999-24.84 37.3399-35.48 10.85-10.63 18.57-18.43 18.57-18.43s2.86-2.92 7.46-7.62c4.57-4.72 10.82-11.26 17.54-18.56 6.71-7.2897 13.88-15.3397 20.37-22.9997 6.49-7.65 12.27-14.92 16.4-20.48 3.11-4.19 5.7-7.93 7.81-11.31 2.1-3.39 3.78-6.39 4.82-9.27.26-.72.47-1.44.6-2.17s.21-1.48.04-2.27c-.1-.4-.24-.81-.51-1.16-.25-.36-.63-.63-.99-.81-.76-.37-1.43-.33-2.05-.33-1.22.09-2.19.42-3.08.72-.89.31-1.67.65-2.38.99-4.3 2.04-7.99 4.5-11.47 6.86-3.47 2.39-6.68 4.78-9.72 7.13-6.08 4.71-11.52 9.24-16.74 13.76z\" />\n <path d=\"m94.9898 68.3604c3.61 2.96 5.5602 4.28 5.7702 4.04.2-.22-1.3502-2.02-4.9002-5.08-5.05-4.32-10.35-8.63-16.35-13-3-2.18-6.18-4.37-9.61-6.54-3.44-2.16-7.13-4.32-11.29-6.2-2.37-1.04-4.6-1.86-6.84-2.23-1.12-.15-2.27-.27-3.49.18-.6.23-1.21.66-1.57 1.27-.37.61-.44 1.23-.45 1.77 0 1.09.25 1.99.53 2.82s.6 1.58.95 2.29c.68 1.42 1.41 2.69 2.14 3.88 2.96 4.75 5.81 8.52 10.03 13.98 7.19 9.18 17.45 20.99 26.82 31.28 9.35 10.2996 17.7502 19.1196 21.0202 22.5496.97 1.01 1.95 2.01 2.92 3.02 3.52 3.57 12.96 13.21 25.14 25.05 12.18 11.83 27.15 25.78 41.52 38.13 10.17 8.7 18.67 15.43 25.64 20.45s12.4 8.36 16.5 10.12c1.22.51 2.45.97 3.82 1.2.69.1 1.42.17 2.23-.03.4-.11.84-.27 1.2-.59.37-.29.66-.71.82-1.11.33-.82.33-1.58.26-2.25-.07-.68-.22-1.3-.39-1.9-.35-1.2-.81-2.29-1.31-3.35-2.01-4.19-4.4-7.79-6.73-11.21-4.72-6.8-9.45-12.71-14.24-18.48-5.31-6.3-6.04-5.67-.94.76 4.61 5.88 9.19 11.88 13.77 18.67 2.26 3.41 4.59 7.01 6.48 11.03.47 1 .89 2.04 1.19 3.09.3 1.02.49 2.2.19 2.91-.15.33-.36.51-.77.62-.41.1-.95.08-1.49 0-1.1-.18-2.25-.59-3.38-1.08-3.55-1.51-8.74-4.71-15.2-9.42-6.47-4.7-14.23-10.91-23.1-18.43-2.89-2.46-5.77-4.92-8.63-7.35-12.35-10.53-26.01-23.26-36.46-33.45-5.23-5.09-9.68-9.54-12.82-12.71s-4.99-5.05-4.99-5.05-2.75-2.81-7.17-7.32c-4.4-4.53-10.44-10.78-16.9602-17.73-6.52-6.9496-13.51-14.5896-19.84-21.8396-6.34-7.25-12.01-14.12-16.01-19.39-3.02-3.97-5.51-7.51-7.47-10.73-.97-1.61-1.81-3.14-2.45-4.59-.62-1.43-1.11-2.89-1.02-3.99.07-.54.22-.85.57-1.06.36-.21.87-.29 1.38-.32 1.05-.01 2.1.21 3.05.47 1.9.52 3.46 1.18 4.79 1.77 4.02 1.81 7.67 3.93 11.08 6.04 3.4 2.12 6.57 4.26 9.57 6.39 6 4.26 11.35 8.45 16.49 12.63z\" />\n </g>\n </svg>\n );\n}\n\nexport default LightBulbOrbit;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Lightbulb(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.4 154.66c.91-5.12 1.39-10.57 1.39-16.32s-.48-11.36-1.42-16.54c-5.54-30.8605-26.98-49.8805-57.04-54.7705-5.13-.83-10.51-1.26-16.1-1.26s-11.44.46-16.77 1.35c-30.08 5.02-51.48 23.99-57.03 54.6805-.94 5.19-1.43 10.7-1.43 16.54s.48 11.2 1.4 16.32c5.51 30.65 26.93 49.65 57.06 54.68 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c30.11-4.9 51.57-23.95 57.07-54.77z\"\n fill={orange}\n />\n <path\n d=\"m113.52 217.94c-.71 19.89 9.24 27.47 24.63 27.47 14.45 0 24.16-7.58 24.16-27.47v-22.74h-48.79z\"\n fill={blue}\n />\n <g fill={gray}>\n <path d=\"m126.674 219.537c-.77 5.97.34 6.14 1.33.2 1.39-8.42 2.82-17.3 3.85-28.83.52-6.54.6-10.64.62-14.21.02-1.78-.02-3.44-.03-5.2-.04-1.77-.08-3.65-.34-5.91-.23-1.9-.64-3.98-1.51-6.04-.44-1.03-1-2.05-1.69-3-.68-.96-1.6-1.86-2.62-2.53-2.06-1.35-4.58-2.1-7.13-1.84-1.27.13-2.54.53-3.63 1.26s-1.96 1.79-2.49 2.94c-.53 1.17-.7 2.47-.62 3.67.09 1.21.41 2.34.84 3.35.9 2.03 2.16 3.66 3.47 4.94.65.65 1.34 1.2 1.99 1.68.68.43 1.31.83 1.88 1.19 1.17.69 2.2 1.12 2.91 1.48.88.32 1.76.66 2.67.93 1.62.41 4.68 1.17 8.77 1.02.51-.02 1.04-.04 1.58-.07.54-.07 1.09-.14 1.65-.21 1.14-.1 2.29-.43 3.51-.68 2.39-.67 4.92-1.62 7.38-3.04 2.43-1.45 4.79-3.34 6.79-5.69.48-.61 1-1.18 1.44-1.83.45-.64.87-1.32 1.24-2.04.75-1.42 1.33-3.04 1.44-4.77.12-1.75-.33-3.56-1.33-5.05-.51-.74-1.15-1.42-1.95-1.92-.79-.5-1.73-.81-2.67-.88-3.87-.18-6.82 2.86-7.91 5.89-.84 2.17-1.11 4.29-1.38 6.21-.26 1.94-.51 3.78-.7 5.52-.41 3.49-.68 6.61-.9 9.36-.41 5.51-.53 9.57-.61 12.36-.25 13.18.55 23.02 1.82 32.59.77 5.25 1.73 5.11 1.2-.14-.85-9.56-1.42-19.34-1.15-32.41.07-2.54.25-6.45.69-11.58.23-2.56.51-5.43.89-8.58.2-1.57.39-3.22.64-4.93s.45-3.51.83-5.25c.5-2.26 1.34-4.37 2.95-5.7.85-.72 1.91-1.24 2.98-1.32 1.07-.09 2.13.29 2.94 1.08.82.78 1.39 1.9 1.61 3.08.22 1.16.07 2.43-.31 3.62-.38 1.2-.99 2.35-1.7 3.42-.34.55-.76 1.04-1.16 1.54-.41.49-.77 1.02-1.24 1.44-1.69 1.87-3.73 3.26-5.67 4.43-3.99 2.23-7.91 3.12-10.67 3.4-.69.11-1.32.12-1.86.14-.55.02-1.01.03-1.39.05-.76-.04-1.17-.06-1.17-.06s-.15 0-.44-.02c-.29-.03-.72 0-1.27-.1-.55-.08-1.22-.18-1.99-.29-.76-.16-1.63-.39-2.58-.63-1.85-.64-4.07-1.44-6.2-2.9-2.13-1.35-4.15-3.46-5.34-6.06-.56-1.3-.88-2.73-.7-4.1.21-1.35.9-2.67 1.99-3.5 1.1-.83 2.52-1.26 3.97-1.23 1.44.01 2.9.37 4.17 1 2.59 1.24 4.16 3.73 5.04 6.18.88 2.46 1.15 4.91 1.28 7 .1 1.58.12 3.06.11 4.47 0 1.4 0 2.71-.04 3.93-.05 2.44-.13 4.53-.23 6.34-.18 3.61-.4 6.1-.55 7.99-1.01 11.45-2.25 20.32-3.31 28.79z\" />\n <path d=\"m116.394 59.746c.39.75 1.44.38 1.27-.45-.24-1.18-.57-2.38-1.1-3.9-.65-1.7-1.02-2.05-1.41-3.22-.69-1.96-1.57-5.38-1.78-6.21-.03-.12-.07-.24-.12-.36-.34-.83-1.81-4.49-2.86-7.71-.8-2.26-1.29-3.65-1.55-4.38-.62-1.72-1.18-2.97-1.82-4.16-.35-.66-1.27-.33-1.13.4.25 1.33.59 2.66 1.19 4.39.24.67.48 2.15 1.13 4.14.11.32.24.64.39.94 1.31 2.62 2.47 6.22 2.47 6.22s1.87 5.32 2.66 7.57c.6 1.69.89 2.5 1.06 3 .54 1.51 1.04 2.66 1.59 3.73z\" />\n <path d=\"m139.614 56.2065c.02.65 1.13.8 1.33.2.29-.86.53-1.77.75-2.95.2-1.35.05-1.73.26-2.63.32-1.54 1.28-4.01 1.53-4.6.04-.09.06-.18.08-.27.13-.66.79-3.54 1.74-5.9.6-1.69 1.02-2.72 1.24-3.25.51-1.27.81-2.25 1.04-3.26.12-.55-.76-.96-1.1-.5-.61.84-1.14 1.76-1.67 3.05-.21.5-.88 1.45-1.47 2.95-.1.24-.17.49-.22.75-.2 1.12-.54 2.35-.81 3.31-.29.96-.5 1.65-.5 1.65s-.3 1.04-.63 2.3c-.33 1.27-.68 2.76-.86 3.65-.28 1.34-.39 1.99-.47 2.39-.21 1.21-.28 2.17-.25 3.09z\" />\n <path d=\"m160.475 58.8469c-.49.73.35 1.47 1.01.89.94-.81 1.86-1.72 2.97-2.96 1.21-1.44 1.34-1.95 2.21-2.89 1.43-1.61 4.07-4.13 4.71-4.74.09-.09.18-.18.26-.29.58-.72 3.15-3.88 5.54-6.46 1.64-1.86 2.65-3.01 3.18-3.6 1.25-1.42 2.1-2.55 2.86-3.73.42-.65-.31-1.29-.9-.8-1.08.9-2.1 1.88-3.36 3.29-.49.55-1.7 1.52-3.17 3.11-.24.26-.46.53-.66.82-1.72 2.5-4.39 5.36-4.39 5.36s-3.87 4.37-5.5 6.21c-1.23 1.39-1.82 2.06-2.18 2.47-1.09 1.25-1.88 2.28-2.57 3.31z\" />\n </g>\n <path\n d=\"m113.52 195.21v12.42c2.57.68 5.22 1.25 7.94 1.71 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c2.73-.44 5.39-1.01 7.98-1.68v-12.54z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Lightbulb;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction LongFormDoc(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m161.561 113.67-3.67 69.25h86.8l-8.32-51.22c-1.69-10.4-10.67-18.03-21.2-18.03z\"\n fill={blue}\n />\n <path\n d=\"m116.99 223.87 5.84-110.19h89.65l-7.56 95.88c-.64 8.08-7.38 14.31-15.49 14.31z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m42.08 223.86-12.08-171.86h139.81l7.64 171.86z\" fill={orange} />\n <g fill={gray}>\n <path d=\"m149.002 97.2209c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33-.01-.66-.02-.99-.01-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86.01 5.73.3 11.21.39.89.01 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 120.481c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33-.01-.66-.02-.99-.01-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86.01 5.73.3 11.21.39.89.01 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 143.75c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 166.561c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 189.83c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.3-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n </g>\n </svg>\n );\n}\n\nexport default LongFormDoc;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Migrations(props) {\n const green = getColorValue('illustrationGreen');\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={green}>\n <path d=\"m245.02 82.6504-202.3198 64.5996 72.2098 35.57z\" />\n <path d=\"m240.85 85.0303-146.6298 95.1697 65.9598 38.76z\" />\n <path d=\"m240.86 85.0303-.5 1.2-125.45 96.5897-14.06-6.92z\" />\n </g>\n <path\n d=\"m240.86 85.0303-.5 1.2-125.45 96.5897-14.06-6.92z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m113.11 55.5-83.11 17.5 27.29 17.08z\" fill={purple} />\n <path d=\"m111.36 56.2803-62.1901 31.92 20.66 23.4297z\" fill={purple} />\n <path d=\"m111.36 56.2803-.25.46-53.82 33.34-5.31-3.32z\" fill={purple} />\n <path\n d=\"m111.36 56.2803-.25.46-53.82 33.34-5.31-3.32z\"\n fill={illustrationColors.staticRed}\n />\n </svg>\n );\n}\n\nexport default Migrations;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Padlock(props) {\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m207.85 184.532c.87-4.9 1.33-10.1 1.33-15.61s-.46-10.86-1.35-15.82c-5.3-29.5-25.8-47.69-54.53-52.36-4.9-.7998-10.04-1.2098-15.39-1.2098s-10.93.44-16.03 1.2898c-28.76 4.8-49.21 22.94-54.52 52.27-.9 4.96-1.36 10.23-1.36 15.82s.46 10.71 1.34 15.61c5.27 29.3 25.74 47.47 54.55 52.27 5.1.85 10.45 1.29 16.03 1.29s10.49-.41 15.39-1.21c28.79-4.68 49.3-22.9 54.56-52.36z\"\n fill={purple}\n />\n <path\n d=\"m156.92 161.662c.24-1.35.37-2.78.37-4.3s-.13-2.99-.37-4.35c-1.46-8.12-7.1-13.12-15.01-14.41-1.35-.22-2.76-.33-4.24-.33s-3.01.12-4.41.36c-7.92 1.32-13.55 6.31-15.01 14.39-.25 1.36-.38 2.82-.38 4.35s.13 2.95.37 4.3c1.45 8.06 7.09 13.07 15.01 14.39 1.4.23 2.88.36 4.41.36s2.89-.11 4.24-.33c7.92-1.29 13.57-6.3 15.02-14.41z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m189.62 81.7422h-104.0902v45.2898h104.0902z\" fill={purple} />\n <path\n d=\"m150.11 166.592h-25.07v33.22h25.07z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m137.74 125.982c-3.27 0-6.5-.26-9.58-.78-19.03-3.17-31.8501-15.54-35.1501-33.9195-.54-3.02-.82-6.22-.82-9.49s.28-6.55.83-9.61c3.33-18.38 16.1301-30.74 35.1401-33.91 6.07-1.01 12.74-1.03 18.8-.05 19.04 3.1 31.87 15.48 35.19 33.98.55 3.06.83 6.29.83 9.59s-.27 6.46-.81 9.48c-3.3 18.4995-16.13 30.8895-35.2 33.9895-2.96.48-6.06.73-9.22.73zm0-79.2095c-2.74 0-5.49.21-8.05.64-15.14 2.53-24.92 11.91-27.55 26.42-.46 2.51-.69 5.19-.69 7.96s.23 5.37.67 7.85c2.61 14.5095 12.4 23.8995 27.56 26.4295 5.07.85 10.76.86 15.79.04 15.17-2.47 24.96-11.87 27.57-26.4695.44-2.49.67-5.13.67-7.85s-.23-5.44-.68-7.96c-2.62-14.6-12.41-24-27.56-26.47-2.46-.4-5.1-.6-7.74-.6z\"\n fill={purple}\n />\n </svg>\n );\n}\n\nexport default Padlock;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction People(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m119.714 79.323c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={purple}\n />\n <path\n d=\"m100.515 64.9729c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={orange}\n />\n <path\n d=\"m90.2448 76.9929c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.1401-10.5202 3.8301-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2001l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={orange}\n />\n <path\n d=\"m119.714 143.583c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={blue}\n />\n <path\n d=\"m100.515 129.243c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m90.2448 141.263c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.14-10.5202 3.83-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m119.714 207.853c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={blue}\n />\n <path\n d=\"m100.515 193.503c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m90.2448 205.523c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.14-10.5202 3.83-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={line}>\n <path d=\"m131.774 135.932c-2.16.12-2.16 1.23 0 1.35 3.06.17 6.27.25 10.4.26 4.68-.05 5.84-.28 9.01-.26 5.36 0 14.39.31 16.57.39h.97c2.31-.04 12.43-.21 21.14-.13h11.95c4.7 0 8.21-.12 11.66-.33 1.89-.12 1.89-1.09 0-1.2-3.45-.21-6.96-.33-11.66-.33-1.83 0-5.63-.27-11-.31-.87 0-1.75 0-2.62.05-7.49.36-17.21.26-17.21.26h-28.82c-4.13 0-7.34.1-10.4.26z\" />\n <path d=\"m131.774 198.913c-2.16.12-2.16 1.23 0 1.35 3.06.17 6.27.25 10.4.26 4.68-.05 5.84-.28 9.01-.26 5.36 0 14.39.31 16.57.39h.97c2.31-.04 12.43-.21 21.14-.13h11.95c4.7 0 8.21-.12 11.66-.33 1.89-.12 1.89-1.09 0-1.2-3.45-.21-6.96-.33-11.66-.33-1.83 0-5.63-.27-11-.31-.87 0-1.75 0-2.62.05-7.49.36-17.21.26-17.21.26h-28.82c-4.13 0-7.34.1-10.4.26z\" />\n <path d=\"m132.044 86.3922c-.54.13-.93.28-1.21.41-.28.14-.43.3-.43.46 0 .15.15.3.47.4.32.12.82.15 1.46.05 1.82-.33 3.52-1.22 5.08-2.38.79-.58 1.55-1.23 2.32-1.91.77-.67 1.56-1.42 2.36-1.92 1.94-1.14 3.5-1.2 4.65-1.04.59.1 1.11.29 1.6.6s.92.76 1.38 1.46c.4.58.81 1.3 1.45 2.02s1.53 1.33 2.52 1.65c1.99.65 4.13.33 5.92-.35 1.82-.72 3.21-1.76 4.33-2.56 1.12-.82 1.96-1.44 2.44-1.76l.84-.57c.5-.34 1.38-.95 2.7-1.4.71-.24 1.31-.38 1.98-.25s1.36.55 1.85 1.22c.25.33.44.72.56 1.14.05.15.15.6.27.89.12.33.27.64.43.94.68 1.2 1.68 2.18 2.85 2.91.59.36 1.23.65 1.91.85.65.2 1.47.32 2.07.28.64 0 1.28 0 1.92-.01.64.02 1.26-.11 1.88-.16 3.5-.44 6.24-1.37 8.27-2.34 1.03-.45 1.86-.97 2.61-1.35.7-.45 1.29-.82 1.77-1.12 4.39-3.06 6.99-6.17 9.19-9.29 1.19-1.7.44-2.32-.94-.75-2.5 2.82-5.15 5.6-9.3 8.48-1.61 1.08-5.27 3.14-10.86 4.06-.92.08-1.83.27-2.73.33-.49.03-.99.05-1.5.08l-.77.04c-.23-.02-.42-.02-.65-.07-.9-.15-1.79-.58-2.55-1.15s-1.36-1.32-1.72-2.11c-.08-.2-.16-.4-.21-.6l-.1-.37c-.04-.14-.08-.28-.13-.42-.19-.55-.47-1.05-.81-1.49-.67-.88-1.57-1.47-2.47-1.76-.9-.28-1.76-.26-2.43-.12-.61.13-1.07.28-1.39.39-.31.12-.48.18-.48.18s-.25.1-.69.31-1.05.56-1.74 1.02c-1.4.91-3.08 2.42-5 3.72-.97.66-1.99 1.19-3.11 1.5-1.11.3-2.28.39-3.31.16-1.03-.24-1.84-.76-2.42-1.51-.6-.75-1.09-1.66-1.7-2.38-.93-1.14-2.19-1.77-3.26-2.01-1.09-.24-2.03-.21-2.82-.09-1.58.25-2.57.77-3.28 1.19-1.1.69-1.85 1.47-2.62 2.16-.75.69-1.45 1.33-2.16 1.91-1.4 1.14-2.81 2-4.32 2.43z\" />\n </g>\n </svg>\n );\n}\n\nexport default People;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction PeopleGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const dark = getColorValue('illustrationGreyscaleDark');\n const stroke = getColorValue('illustrationGreyscaleStroke');\n\n return (\n <svg fill=\"none\" height=\"200\" viewBox=\"0 0 200 200\" width=\"200\" {...props}>\n <path\n d=\"M87.0648 57.6892C87.312 56.191 87.4284 54.5983 87.4066 52.911C87.3848 51.2237 87.2175 49.5946 86.9266 48.0819C85.1811 39.0855 78.8393 33.6165 70.0393 32.3074C68.5338 32.0819 66.9629 31.9801 65.3266 32.0019C63.6902 32.0237 61.9884 32.1837 60.432 32.4674C51.6611 34.0528 45.4866 39.6819 43.9884 48.671C43.7339 50.191 43.6175 51.8055 43.6393 53.5146C43.6611 55.1946 43.8211 56.7874 44.112 58.2783C45.8429 67.2092 52.1775 72.6783 61.0066 74.0237C62.5702 74.2637 64.2066 74.3728 65.9084 74.351C67.5448 74.3292 69.1157 74.1837 70.6066 73.9146C79.3848 72.3655 85.5811 66.7074 87.0648 57.6819V57.6892Z\"\n fill={accent}\n />\n <path\n d=\"M73.1034 47.2529C73.1107 47.842 73.0743 48.3947 72.987 48.9184L72.9725 48.9038C72.4561 52.0529 70.2961 54.0311 67.2343 54.5693C66.718 54.6638 66.1652 54.7147 65.598 54.722C65.0016 54.7293 64.4343 54.6856 63.8889 54.6057C60.8125 54.1402 58.6016 52.2347 57.998 49.1147C57.8961 48.5911 57.838 48.0384 57.8307 47.4493C57.8234 46.8529 57.867 46.2929 57.9543 45.762C58.478 42.6275 60.6307 40.6638 63.6925 40.1111C64.238 40.0166 64.8343 39.9584 65.4016 39.9511C65.9689 39.9438 66.5216 39.9802 67.0452 40.0602C70.1143 40.5184 72.3252 42.4311 72.9361 45.5657C73.038 46.0966 73.0961 46.6566 73.1034 47.2529Z\"\n fill={dark}\n />\n <path\n d=\"M65.6343 55.9947C73.358 55.8638 78.4198 59.5802 78.238 69.5729L78.2671 71.1293C76.0343 72.4674 73.4671 73.4129 70.6161 73.9147C69.1252 74.1838 67.5543 74.3293 65.918 74.3511C64.2162 74.3729 62.5798 74.2638 61.0161 74.0238C58.3543 73.6165 55.9252 72.8311 53.7798 71.6965L53.7507 69.9947C53.5761 60.0093 58.3834 56.1184 65.6343 55.9947Z\"\n fill={dark}\n />\n <path\n d=\"M87.0648 104.424C87.312 102.926 87.4284 101.333 87.4066 99.6459C87.3848 97.9586 87.2175 96.3295 86.9266 94.8168C85.1811 85.8204 78.8393 80.3513 70.0393 79.0422C68.5338 78.8168 66.9629 78.715 65.3266 78.7368C63.6902 78.7586 61.9884 78.9186 60.432 79.2022C51.6611 80.7877 45.4866 86.4168 43.9884 95.4059C43.7339 96.9259 43.6175 98.5404 43.6393 100.249C43.6611 101.929 43.8211 103.522 44.112 105.013C45.8429 113.944 52.1775 119.413 61.0066 120.759C62.5702 120.999 64.2066 121.108 65.9084 121.086C67.5448 121.064 69.1157 120.919 70.6066 120.65C79.3848 119.1 85.5811 113.442 87.0648 104.417V104.424Z\"\n fill={fill}\n />\n <path\n d=\"M73.1034 93.9951C73.1107 94.5842 73.0743 95.1369 72.987 95.6606L72.9725 95.646C72.4561 98.7951 70.2961 100.773 67.2343 101.311C66.718 101.406 66.1652 101.457 65.598 101.464C65.0016 101.471 64.4343 101.428 63.8889 101.348C60.8125 100.882 58.6016 98.9769 57.998 95.8569C57.8961 95.3333 57.838 94.7806 57.8307 94.1915C57.8234 93.5951 57.867 93.0351 57.9543 92.5042C58.478 89.3697 60.6307 87.406 63.6925 86.8533C64.238 86.7587 64.8343 86.7006 65.4016 86.6933C65.9689 86.686 66.5216 86.7224 67.0452 86.8024C70.1143 87.2606 72.3252 89.1733 72.9361 92.3078C73.038 92.8387 73.0961 93.3988 73.1034 93.9951Z\"\n fill={accent}\n />\n <path\n d=\"M65.6343 102.737C73.358 102.606 78.4198 106.322 78.238 116.315L78.2671 117.871C76.0343 119.21 73.4671 120.155 70.6161 120.657C69.1252 120.926 67.5543 121.071 65.918 121.093C64.2162 121.115 62.5798 121.006 61.0161 120.766C58.3543 120.359 55.9252 119.573 53.7798 118.439L53.7507 116.737C53.5761 106.751 58.3834 102.861 65.6343 102.737Z\"\n fill={accent}\n />\n <path\n d=\"M87.0648 151.166C87.312 149.668 87.4284 148.075 87.4066 146.388C87.3848 144.7 87.2175 143.071 86.9266 141.558C85.1811 132.562 78.8393 127.093 70.0393 125.784C68.5338 125.558 66.9629 125.457 65.3266 125.478C63.6902 125.5 61.9884 125.66 60.432 125.944C51.6611 127.529 45.4866 133.158 43.9884 142.148C43.7339 143.668 43.6175 145.282 43.6393 146.991C43.6611 148.671 43.8211 150.264 44.112 151.755C45.8429 160.686 52.1775 166.155 61.0066 167.5C62.5702 167.74 64.2066 167.849 65.9084 167.828C67.5448 167.806 69.1157 167.66 70.6066 167.391C79.3848 165.842 85.5811 160.184 87.0648 151.158V151.166Z\"\n fill={fill}\n />\n <path\n d=\"M73.1034 140.729C73.1107 141.319 73.0743 141.871 72.987 142.395L72.9725 142.38C72.4561 145.529 70.2961 147.508 67.2343 148.046C66.718 148.14 66.1652 148.191 65.598 148.199C65.0016 148.206 64.4343 148.162 63.8889 148.082C60.8125 147.617 58.6016 145.711 57.998 142.591C57.8961 142.068 57.838 141.515 57.8307 140.926C57.8234 140.329 57.867 139.769 57.9543 139.239C58.478 136.104 60.6307 134.14 63.6925 133.588C64.238 133.493 64.8343 133.435 65.4016 133.428C65.9689 133.42 66.5216 133.457 67.0452 133.537C70.1143 133.995 72.3252 135.908 72.9361 139.042C73.038 139.573 73.0961 140.133 73.1034 140.729Z\"\n fill={accent}\n />\n <path\n d=\"M65.6343 149.471C73.358 149.34 78.4198 153.057 78.238 163.049L78.2671 164.606C76.0343 165.944 73.4671 166.889 70.6161 167.391C69.1252 167.66 67.5543 167.806 65.918 167.828C64.2162 167.849 62.5798 167.74 61.0161 167.5C58.3543 167.093 55.9252 166.308 53.7798 165.173L53.7507 163.471C53.5761 153.486 58.3834 149.595 65.6343 149.471Z\"\n fill={accent}\n />\n <path\n d=\"M95.8344 98.8594C94.2635 98.9467 94.2635 99.754 95.8344 99.8412C98.0599 99.9649 100.394 100.023 103.398 100.03C106.802 99.994 107.645 99.8267 109.951 99.8412C113.849 99.8412 120.416 100.067 122.002 100.125C122.234 100.125 122.467 100.125 122.707 100.125C124.387 100.096 131.747 99.9721 138.082 100.03H146.773C150.191 100.03 152.744 99.9431 155.253 99.7903C156.627 99.7031 156.627 98.9976 155.253 98.9176C152.744 98.7649 150.191 98.6776 146.773 98.6776C145.442 98.6776 142.678 98.4812 138.773 98.4521C138.14 98.4521 137.5 98.4522 136.867 98.4885C131.42 98.7503 124.351 98.6776 124.351 98.6776H103.391C100.387 98.6776 98.0526 98.7503 95.8272 98.8667L95.8344 98.8594Z\"\n fill={stroke}\n />\n <path\n d=\"M95.8344 144.664C94.2635 144.751 94.2635 145.558 95.8344 145.645C98.0599 145.769 100.394 145.827 103.398 145.835C106.802 145.798 107.645 145.631 109.951 145.645C113.849 145.645 120.416 145.871 122.002 145.929C122.234 145.929 122.467 145.929 122.707 145.929C124.387 145.9 131.747 145.776 138.082 145.835H146.773C150.191 145.835 152.744 145.747 155.253 145.595C156.627 145.507 156.627 144.802 155.253 144.722C152.744 144.569 150.191 144.482 146.773 144.482C145.442 144.482 142.678 144.285 138.773 144.256C138.14 144.256 137.5 144.256 136.867 144.293C131.42 144.555 124.351 144.482 124.351 144.482H103.391C100.387 144.482 98.0526 144.555 95.8272 144.671L95.8344 144.664Z\"\n fill={stroke}\n />\n <path\n d=\"M96.0326 62.8305C95.6398 62.925 95.3562 63.0341 95.1526 63.1287C94.9489 63.2305 94.8398 63.3469 94.8398 63.4632C94.8398 63.5723 94.9489 63.6814 95.1817 63.7541C95.4144 63.8414 95.778 63.8632 96.2435 63.7905C97.5671 63.5505 98.8035 62.9032 99.938 62.0596C100.513 61.6378 101.065 61.165 101.625 60.6705C102.185 60.1832 102.76 59.6378 103.342 59.2741C104.753 58.445 105.887 58.4014 106.723 58.5178C107.153 58.5905 107.531 58.7287 107.887 58.9541C108.243 59.1796 108.556 59.5069 108.891 60.016C109.182 60.4378 109.48 60.9614 109.945 61.485C110.411 62.0087 111.058 62.4523 111.778 62.685C113.225 63.1578 114.782 62.925 116.083 62.4305C117.407 61.9069 118.418 61.1505 119.233 60.5687C120.047 59.9723 120.658 59.5214 121.007 59.2887L121.618 58.8741C121.982 58.6269 122.622 58.1832 123.582 57.856C124.098 57.6814 124.534 57.5796 125.022 57.6741C125.509 57.7687 126.011 58.0741 126.367 58.5614C126.549 58.8014 126.687 59.085 126.774 59.3905C126.811 59.4996 126.883 59.8269 126.971 60.0378C127.058 60.2778 127.167 60.5032 127.283 60.7214C127.778 61.5941 128.505 62.3069 129.356 62.8378C129.785 63.0996 130.251 63.3105 130.745 63.456C131.218 63.6014 131.814 63.6887 132.251 63.6596C132.716 63.6596 133.182 63.6596 133.647 63.6523C134.113 63.6669 134.563 63.5723 135.014 63.536C137.56 63.216 139.553 62.5396 141.029 61.8341C141.778 61.5069 142.382 61.1287 142.927 60.8523C143.436 60.525 143.865 60.256 144.214 60.0378C147.407 57.8123 149.298 55.5505 150.898 53.2814C151.763 52.045 151.218 51.5941 150.214 52.736C148.396 54.7869 146.469 56.8087 143.451 58.9032C142.28 59.6887 139.618 61.1869 135.553 61.856C134.883 61.9141 134.222 62.0523 133.567 62.096C133.211 62.1178 132.847 62.1323 132.476 62.1541L131.916 62.1832C131.749 62.1687 131.611 62.1687 131.443 62.1323C130.789 62.0232 130.142 61.7105 129.589 61.296C129.036 60.8814 128.6 60.336 128.338 59.7614C128.28 59.616 128.222 59.4705 128.185 59.325L128.113 59.056C128.083 58.9541 128.054 58.8523 128.018 58.7505C127.88 58.3505 127.676 57.9869 127.429 57.6669C126.942 57.0269 126.287 56.5978 125.633 56.3869C124.978 56.1832 124.353 56.1978 123.865 56.2996C123.422 56.3941 123.087 56.5032 122.854 56.5832C122.629 56.6705 122.505 56.7141 122.505 56.7141C122.505 56.7141 122.323 56.7869 122.003 56.9396C121.683 57.0923 121.24 57.3469 120.738 57.6814C119.72 58.3432 118.498 59.4414 117.102 60.3869C116.396 60.8669 115.654 61.2523 114.84 61.4778C114.033 61.696 113.182 61.7614 112.433 61.5941C111.683 61.4196 111.094 61.0414 110.673 60.496C110.236 59.9505 109.88 59.2887 109.436 58.765C108.76 57.936 107.843 57.4778 107.065 57.3032C106.273 57.1287 105.589 57.1505 105.014 57.2378C103.865 57.4196 103.145 57.7978 102.629 58.1032C101.829 58.605 101.283 59.1723 100.723 59.6741C100.178 60.176 99.6689 60.6414 99.1526 61.0632C98.1344 61.8923 97.1089 62.5178 96.0108 62.8305H96.0326Z\"\n fill={stroke}\n />\n </svg>\n );\n}\n\nexport default PeopleGreyscale;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Picture1(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const green = getColorValue('illustrationGreen');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m32 221.649s139.28 16.56 210.96-.75v-172.39s-113.67 27.85-210.96-1.51c0 0 1.54 175.77 0 174.64z\"\n fill={orange}\n />\n <path\n d=\"m56.8301 205.159s106.4899 12.66 161.3099-.58v-131.8001s-86.92 21.3-161.3099-1.15c0 0 1.17 134.4001 0 133.5301z\"\n fill={blue}\n />\n <path\n d=\"m67.5798 206.299v-131.7501c-3.6-.88-7.19-1.85-10.74-2.92 0 0 1.17 134.4001 0 133.5301 0 0 3.97.47 10.74 1.14z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m218.14 204.579v-37.22l-2-1.89c-11.12-10.55-28.56-10.55-39.68 0-12.73 12.08-33.21 10.07-43.36-4.25l-18.23-25.72c-11.49-16.21-35.5499-16.21-47.0399 0l-10.52 14.85c.09 29.17.03 55.19-.48 54.81 0 0 106.4899 12.66 161.3099-.58z\"\n fill={green}\n />\n <path\n d=\"m175.86 129.689c.21-1.18.32-2.44.32-3.77s-.11-2.62-.33-3.82c-1.28-7.13-6.23-11.52-13.17-12.65-1.18-.19-2.43-.29-3.72-.29s-2.64.11-3.87.31c-6.95 1.16-11.89 5.54-13.17 12.63-.22 1.2-.33 2.47-.33 3.82s.11 2.59.32 3.77c1.27 7.08 6.22 11.47 13.18 12.63 1.23.21 2.52.31 3.87.31s2.53-.1 3.72-.29c6.95-1.13 11.91-5.53 13.18-12.65z\"\n fill={orange}\n />\n <path\n d=\"m67.5798 135.869-10.26 14.48c.09 29.17.03 55.19-.48 54.81 0 0 3.97.47 10.74 1.14v-70.42z\"\n fill={blue}\n />\n </svg>\n );\n}\n\nexport default Picture1;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction PlayMedia(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m195.96 103.181c-4.67-25.99-22.72-42-48.04-46.12-4.32-.7-8.85-1.06-13.56-1.06s-9.63.39-14.12 1.14c-25.3302 4.23-43.3502 20.21-48.0302 46.05-.79 4.37-1.2 9.01-1.2 13.93s.4 9.44 1.18 13.75c4.64 25.81 22.68 41.82 48.0502 46.05 4.49.75 9.2 1.14 14.12 1.14s9.24-.36 13.56-1.06c25.36-4.12 43.43-20.17 48.06-46.12.77-4.31 1.17-8.9 1.17-13.75s-.41-9.57-1.19-13.93z\"\n fill={blue}\n />\n <path\n d=\"m111.311 153.282-.18-54.5203 51.97 27.0903z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m116.561 144.281-.18-54.5095 51.96 27.0795z\" fill={orange} />\n <path d=\"m223.881 209.051v-9.86h-171.8801v9.86z\" fill={blue} />\n <path\n d=\"m105.28 199.341c-1.24-6.93-6.0598-11.2-12.7998-12.29-1.15-.19-2.36-.28-3.61-.28s-2.57.1-3.76.3c-6.75 1.13-11.56 5.39-12.8 12.27-.21 1.16-.32 2.4-.32 3.71s.11 2.51.31 3.66c1.24 6.88 6.04 11.15 12.81 12.27 1.2.2 2.45.3 3.76.3s2.46-.1 3.61-.28c6.76-1.1 11.5798-5.38 12.8098-12.29.21-1.15.31-2.37.31-3.66s-.11-2.55-.32-3.71z\"\n fill={orange}\n />\n <path\n d=\"m72.3005 199.341c-.21 1.16-.32 2.4-.32 3.71s.11 2.52.31 3.66c.15.82.35 1.59.59 2.33h31.8195c.24-.74.44-1.52.59-2.33.21-1.15.31-2.37.31-3.66s-.11-2.55-.32-3.71c0-.05-.02-.1-.03-.15h-32.9195c0 .05-.02.1-.03.15z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default PlayMedia;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction PlayMediaGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const mid = getColorValue('illustrationGreyscaleMidDark');\n\n return (\n <svg fill=\"none\" height=\"196\" viewBox=\"0 0 196 196\" width=\"196\" {...props}>\n <path\n d=\"M139.665 73.5398C136.336 55.016 123.471 43.6053 105.425 40.6688C102.346 40.1699 99.1176 39.9133 95.7607 39.9133C92.4037 39.9133 88.8971 40.1913 85.6969 40.7258C67.6436 43.7407 54.8002 55.1301 51.4647 73.5469C50.9016 76.6615 50.6094 79.9686 50.6094 83.4752C50.6094 86.9818 50.8945 90.2034 51.4504 93.2752C54.7574 111.671 67.6151 123.081 85.6969 126.096C88.8971 126.631 92.254 126.909 95.7607 126.909C99.2673 126.909 102.346 126.652 105.425 126.153C123.5 123.217 136.379 111.778 139.679 93.2823C140.228 90.2105 140.513 86.9391 140.513 83.4823C140.513 80.0256 140.221 76.6616 139.665 73.5541V73.5398Z\"\n fill={fill}\n />\n <path\n d=\"M79.3314 109.248L79.2031 70.3899L116.244 89.6977L79.3314 109.248Z\"\n fill={mid}\n />\n <path\n d=\"M83.0736 102.833L82.9453 63.9822L119.979 83.2828L83.0736 102.833Z\"\n fill={accent}\n />\n <path d=\"M159.566 148.996V141.969H37.0628V148.996H159.566Z\" fill={fill} />\n <path\n d=\"M75.0353 142.076C74.1515 137.136 70.7162 134.093 65.9124 133.316C65.0927 133.181 64.2303 133.117 63.3394 133.117C62.4485 133.117 61.5077 133.188 60.6596 133.331C55.8487 134.136 52.4204 137.172 51.5367 142.076C51.387 142.902 51.3086 143.786 51.3086 144.72C51.3086 145.654 51.387 146.509 51.5295 147.328C52.4133 152.232 55.8344 155.275 60.6596 156.074C61.5148 156.216 62.4058 156.287 63.3394 156.287C64.2731 156.287 65.0927 156.216 65.9124 156.088C70.7304 155.304 74.1658 152.253 75.0424 147.328C75.1921 146.509 75.2634 145.639 75.2634 144.72C75.2634 143.8 75.185 142.902 75.0353 142.076Z\"\n fill={accent}\n />\n <path\n d=\"M51.5289 142.076C51.3792 142.902 51.3008 143.786 51.3008 144.72C51.3008 145.654 51.3792 146.516 51.5217 147.328C51.6286 147.913 51.7712 148.462 51.9422 148.989H74.6212C74.7923 148.462 74.9348 147.906 75.0417 147.328C75.1914 146.509 75.2627 145.639 75.2627 144.72C75.2627 143.8 75.1843 142.902 75.0346 142.076C75.0346 142.04 75.0203 142.004 75.0132 141.969H51.5502C51.5502 142.004 51.536 142.04 51.5289 142.076Z\"\n fill={mid}\n />\n </svg>\n );\n}\n\nexport default PlayMediaGreyscale;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction RainstormIncident(props) {\n const blue = getColorValue('illustrationAccent');\n const purple = getColorValue('illustrationPurple');\n const gray = getColorValue('illustrationRainstormGray');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={blue}>\n <path d=\"m76.6696 200.43c12.04-.09 20.99-11.27 18.33-23.01-2.75-12.17-8.14-27.19-18.67-40-9.28 12.71-14.8 27.21-18.05 39.11-3.31 12.1 5.85 24 18.39 23.91z\" />\n <path d=\"m176.75 238.59c12.04-.09 20.99-11.27 18.33-23.01-2.75-12.17-8.14-27.19-18.67-40-9.28 12.71-14.8 27.21-18.05 39.11-3.31 12.1 5.85 24 18.39 23.91z\" />\n <path d=\"m186.75 160.92c12.04-.09 20.99-11.27 18.33-23.01s-8.14-27.19-18.67-39.9998c-9.28 12.7098-14.8 27.2098-18.05 39.1098-3.31 12.1 5.85 24 18.39 23.91z\" />\n </g>\n <path\n d=\"m200.56 76.83c-.74 0-1.48.01-2.21.04-11.24-28.81-34.84-40.87-70.03-40.87-50.4398 0-78.1198 25.24-78.1198 90.01h202.5798c-5.71-32.21-25-49.18-52.23-49.18z\"\n fill={purple}\n />\n <path\n d=\"m55.4 126.09h50.92c-4.56-25.73-19.97-39.2697-41.71-39.2697-20.24 0-33.98 10.29-42.11 39.2697z\"\n fill={purple}\n />\n <path\n d=\"m171.84 126h29.87c-3.19-9.3-8.01-19.22-15.3-28.0898-6.56 8.9898-11.23 18.8698-14.56 28.0898z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m100.586 218.768c-3.03 2.65-2.32 3.51.86 1.04 4.5-3.5 9.18-7.24 15.12-12.12 6.7-5.59 8.23-7.15 12.81-10.88 3.85-3.18 9.08-7.38 13.74-11.11 5.23-4.18 9.81-7.83 11.58-9.26l.36-.29c-.95-.44-1.89-.88-2.84-1.33-1.99-.91-7.35-3.36-14.1-6.44-3.31-1.53-6.95-3.21-10.69-4.94-3.41-1.59-6.91-3.23-10.27-4.8l-.07-.03 15.56-12.5c6.83-5.49 11.86-9.67 16.74-13.86 2.68-2.3 2.07-3.06-.75-.94-5.14 3.86-10.32 7.86-17.16 13.34-1.33 1.06-3.42 2.65-6.15 4.76-1.36 1.06-2.89 2.24-4.57 3.54-1.85 1.46-3.87 3.05-6.06 4.77-.58.46-1.16.93-1.74 1.39 1.14.53 2.28 1.05 3.42 1.57.57.25 1.15.51 1.72.76 12.81 5.56 29.19 13.3 29.19 13.3l4.04 1.88-24.17 19.91c-6.63 5.47-9.82 8.1-11.78 9.72-5.93 4.9-10.5 8.78-14.79 12.53z\"\n fill={gray}\n />\n </svg>\n );\n}\n\nexport default RainstormIncident;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Search(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m186.119 90.564c-2.07-3.97-4.61-7.92-7.64-11.84-3.07-3.97-6.31-7.47-9.67-10.51-20.01-18.08-44.6-19.74-67.63-7.25-3.9299 2.13-7.8099 4.67-11.6199 7.61-3.97 3.07-7.54 6.33-10.7 9.74-17.83 19.24-22.4 43.41-10.04 67.21 2.09 4.02 4.66 8.03 7.73 12.01 3.03 3.92 6.22 7.37 9.54 10.37 19.8799 17.95 44.4499 19.62 67.5899 7.18 4.1-2.2 8.15-4.83 12.12-7.9 3.81-2.94 7.24-6.07 10.29-9.33 17.91-19.17 22.48-43.43 10.01-67.29z\"\n fill={orange}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m81.4986 172.994c12.51 11.29 27.0504 17.01 42.2504 17.01v-.01c10.89 0 22.13-2.94 33.18-8.88 3.235-1.742 6.439-3.73 9.562-5.932.367 1.127 1.03 2.333 2.028 3.622l4.24 5.48 11.75-9.09-4.24-5.48c-1.049-1.461-2.121-2.487-3.206-3.132 1.409-1.324 2.76-2.679 4.046-4.058 20.52-21.96 24.56-49.35 11.08-75.1405-2.28-4.36-5.07-8.69-8.3-12.86-3.28-4.23-6.81-8.06-10.5-11.4-21.59-19.51-49.11-22.5-75.4904-8.19-4.27 2.32-8.49 5.09-12.54 8.22-4.2 3.25-8.08 6.79-11.53 10.51-20.39 22.01-24.43 49.3605-11.09 75.0305 2.29 4.42 5.12 8.81 8.39 13.04 3.23 4.17 6.72 7.96 10.37 11.26zm22.9404-106.0105c8.96-4.87 17.92-7.28 26.57-7.28h.02c11.88 0 23.2 4.56 33.2 13.59 3.09 2.79 6.06 6.03 8.84 9.62 2.73 3.53 5.09 7.18 6.99 10.82 10.77 20.6205 7.6 41.7305-8.95 59.4405-2.82 3.01-6 5.9-9.48 8.59-3.61 2.8-7.37 5.25-11.17 7.29-21.38 11.48-42.6 9.27-59.7604-6.23-3.06-2.76-5.99-5.95-8.72-9.48-2.78-3.58-5.16-7.28-7.08-10.97-10.67-20.54-7.48-41.63 8.98-59.4005 2.93-3.17 6.25-6.19 9.86-8.98 3.48-2.68 7.0804-5.04 10.7004-7.01z\"\n fill={blue}\n fillRule=\"evenodd\"\n />\n <path\n d=\"m187.466 172.926-17.642 13.64 33.152 42.879 17.642-13.64z\"\n fill={blue}\n />\n <path\n d=\"m184.63 175.119-11.97 9.254 11.243 14.541 11.969-9.255z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Search;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction SearchNoResult(props) {\n const bg = getColorValue('illustrationBg');\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m186.109 90.562c-2.07-3.97-4.61-7.92-7.64-11.84-3.07-3.97-6.31-7.47-9.67-10.51-20.01-18.08-44.6-19.74-67.63-7.25-3.9304 2.13-7.8104 4.67-11.6204 7.61-3.97 3.07-7.54 6.33-10.7 9.74-17.83 19.24-22.4 43.41-10.04 67.21 2.09 4.02 4.66 8.03 7.73 12.01 3.03 3.92 6.22 7.37 9.54 10.37 19.8804 17.95 44.4504 19.62 67.5904 7.18 4.1-2.2 8.15-4.83 12.12-7.9 3.81-2.94 7.24-6.07 10.29-9.33 17.91-19.17 22.48-43.43 10.01-67.29z\"\n fill={bg}\n />\n <g fill={gray}>\n <path d=\"m123.749 190.003c-15.2 0-29.7404-5.72-42.2504-17.01-3.65-3.3-7.14-7.09-10.37-11.26-3.27-4.23-6.1-8.62-8.39-13.04-13.34-25.67-9.3-53.0204 11.09-75.0304 3.45-3.72 7.33-7.26 11.53-10.51 4.05-3.13 8.27-5.9 12.54-8.22 26.3804-14.31 53.9004-11.32 75.4904 8.19 3.69 3.34 7.22 7.17 10.5 11.4 3.23 4.17 6.02 8.5 8.3 12.86 13.48 25.7904 9.44 53.1804-11.08 75.1404-3.31 3.55-7.05 6.94-11.11 10.07-4.21 3.25-8.61 6.12-13.07 8.52-11.05 5.94-22.29 8.88-33.18 8.88zm7.25-130.3004c-8.65 0-17.61 2.41-26.57 7.28-3.62 1.97-7.2204 4.33-10.7004 7.01-3.61 2.79-6.93 5.81-9.86 8.98-16.46 17.7704-19.65 38.8604-8.98 59.4004 1.92 3.69 4.3 7.39 7.08 10.97 2.73 3.53 5.66 6.72 8.72 9.48 17.1604 15.5 38.3804 17.71 59.7604 6.23 3.8-2.04 7.56-4.49 11.17-7.29 3.48-2.69 6.66-5.58 9.48-8.59 16.55-17.71 19.72-38.82 8.95-59.4404-1.9-3.64-4.26-7.29-6.99-10.82-2.78-3.59-5.75-6.83-8.84-9.62-10-9.03-21.32-13.59-33.2-13.59z\" />\n <path d=\"m180.269 169.723c-3.54-4.93-7.34-4.9-11.05-2.03-3.48 2.69-4.41 6.33-.7 11.12l4.24 5.48 11.75-9.09z\" />\n <path d=\"m187.463 172.921-17.641 13.641 33.152 42.878 17.642-13.64z\" />\n </g>\n <path\n d=\"m184.628 175.114-11.969 9.254 11.242 14.541 11.97-9.255z\"\n fill={accent}\n />\n <path\n d=\"m133.5 134.722h-10.003v-.635c-.341-7.115 3.697-14.819 9.44-17.973l.107-.056c.155-.081.306-.175.451-.272 3.134-2.02 4.916-5.499 4.807-9.33-.109-3.797-2.068-7.1351-5.24-8.9282-2.004-1.134-4.238-1.7329-6.464-1.7329-6.773 0-12.284 5.5501-12.284 12.3711h-10.005c0-12.3745 9.998-22.4433 22.288-22.4433 3.938 0 7.867 1.0454 11.363 3.0225 6.263 3.5419 10.128 10.0541 10.339 17.4208.214 7.4-3.291 14.16-9.372 18.081-.408.268-.826.517-1.239.734-2.384 1.34-4.38 5.465-4.196 8.688l.008 1.054z\"\n fill={gray}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m127.531 140.498c.504-.084 1.054-.135 1.618-.135.477 0 1.019.028 1.588.125 3.262.535 5.914 2.822 6.558 6.384l.005.027.004.027c.083.496.135 1.037.135 1.607 0 .567-.051 1.115-.139 1.62l-.001.01c-.631 3.599-3.324 5.878-6.572 6.407-.561.093-1.085.123-1.578.123-.573 0-1.108-.052-1.597-.131h-.002c-3.265-.528-5.929-2.812-6.577-6.373l-.005-.029-.005-.029c-.081-.489-.134-1.02-.134-1.598 0-.57.051-1.111.134-1.607l.005-.029.005-.029c.651-3.578 3.326-5.828 6.554-6.37z\"\n fill={gray}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n}\n\nexport default SearchNoResult;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Speed(props) {\n const green = getColorValue('illustrationGreen');\n const textColor = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={green}>\n <path d=\"m204.38 37.07 54.86 99.6-54.33 101.73h-62.85l61.79-102.8-63.92-99.6s63.65 1.86 64.45 1.07z\" />\n <path d=\"m139.961 82.6698 29.84 54.2502-29.55 55.41h-63.7004l33.6004-55.99-34.7604-54.2502s64.1404 1.02 64.5704.58z\" />\n <path d=\"m181.569 58.2101 43.22 78.5799-42.8 80.26h-78.69l48.67-81.1-50.35-78.5799s79.32 1.47 79.95.84z\" />\n </g>\n <path\n d=\"m140.25 192.33 29.55-55.41-29.84-54.2501c-.17.17-10.11.12-22.14 0l34.14 53.2901-33.84 56.38h22.12z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m181.99 217.05 42.8-80.26-43.22-78.5798c-.25.25-12.53.17-27.4-.01l49.68 77.4198-48.95 81.44h27.09z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m41.7695 69.2202c-2 .12-2 1.23 0 1.35 2.83.17 5.81.25 9.64.26 4.34-.05 5.42-.28 8.36-.26 4.97 0 13.35.31 15.37.39.3.01.6.01.9 0 2.14-.04 11.52-.21 19.6-.13h11.0805c4.36 0 7.61-.12 10.81-.33 1.76-.12 1.76-1.09 0-1.2-3.2-.21-6.45-.33-10.81-.33-1.69 0-5.22-.27-10.2005-.31-.81 0-1.62.01-2.43.05-6.94.36-15.96.26-15.96.26h-26.73c-3.83 0-6.81.1-9.64.26z\"\n fill={textColor}\n />\n <path\n d=\"m16.35 163.611c-1.8.12-1.8 1.23 0 1.35 2.56.17 5.24.25 8.69.26 3.91-.05 4.88-.28 7.53-.26 4.48 0 12.03.31 13.85.39h.81c1.93-.04 10.39-.21 17.67-.13h9.99c3.93 0 6.86-.12 9.74-.33 1.58-.12 1.58-1.09 0-1.2-2.88-.21-5.82-.33-9.74-.33-1.53 0-4.71-.27-9.19-.31-.73 0-1.46 0-2.19.05-6.26.36-14.38.26-14.38.26h-24.09c-3.45 0-6.14.1-8.69.26z\"\n fill={textColor}\n />\n <path\n d=\"m33.7901 146.951c-2.03.12-2.03 1.23 0 1.35 2.88.17 5.9.25 9.78.26 4.4-.05 5.5-.28 8.48-.26 5.04 0 13.55.31 15.6.39h.91c2.17-.04 11.69-.21 19.89-.13h11.25c4.4199 0 7.7299-.12 10.9699-.33 1.78-.12 1.78-1.09 0-1.2-3.24-.21-6.55-.33-10.9699-.33-1.72 0-5.3-.27-10.35-.31-.82 0-1.65 0-2.46.05-7.05.36-16.2.26-16.2.26h-27.12c-3.89 0-6.91.1-9.78.26z\"\n fill={textColor}\n />\n </svg>\n );\n}\n\nexport default Speed;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction UserManagement(props) {\n const green = getColorValue('illustrationGreen');\n const greenDark = getColorValue('illustrationGreenShade');\n const blue = getColorValue('illustrationAccent');\n const blueDark = getColorValue('illustrationBlueDark');\n const face = getColorValue('illustrationFace');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m178.91 26.5h-164.91v78.54h164.91z\" fill={green} />\n <path\n d=\"m167.42 70.9794c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.66.54-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59.03 1.95.21 3.78.55 5.51 2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={greenDark}\n />\n <path\n d=\"m157.21 84.7197c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m151.14 60.8498c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12s-1.35.07-1.97.19c-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95 0 .68.07 1.32.19 1.92.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13.66 0 1.29-.07 1.9-.17 3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path\n d=\"m61.0898 57.2591c.46-.64.96-1.23 1.44-1.84 0 0 .79-.63 1.67-1.45.89-.81 1.93-1.76 2.34-2.52.78-.65 1.59-1.25 2.41-1.84s1.63-1.2 2.46-1.77c0 0 1.97-1.57 2.39-2.32.26-.46.37-.86.29-1.11-.16-.5-1.11-.35-3.06 1.23-.04 0-.14.03-.18 0-.99.88-2.01 1.67-3.11 2.38-1.1.7-2.18 1.45-3.17 2.36.12.09.13.23.02.23l-.1-.16c-1.12 1.43-2.34 1.76-3.09 3.34l-.03-.31c-4 3.89-9.3 9.31-12.78 14.25h.04l.01.02c.47-.34 2.38-2.21 2.38-2.21-.59 2.09-2.71 3.29-3.98 5l-.18-.16c.55-.74.99-1.43 1.11-1.76-1.16 1.19-2.74 3.12-4.18 5.13-.73 1-1.41 2.03-2.01 2.98-.29.48-.56.94-.82 1.36-.06.11-.12.21-.18.32l-.04.08v.02l-.02.04c-.02.07-.03.13-.05.19.14.11-.06-.3.67-.36-.27.41-.31.52-.42.74-.1.2-.22.42-.33.59-.06-.61.05-.54.04-.67-.03-.01-.09.02-.15.07-.05-.09-.11-.19-.18-.32-.03-.05-.06-.1-.09-.16-.05-.07 0-.03-.21-.3-.64-.83-1.41-1.78-2.26-2.79-1.7-2.03-3.72-4.3-5.57-6.27-3.71-3.94-6.77-6.69-5.29-4.03l-.26.02c1.07 1.26 1.94 2.31 2.83 3.83.19.16.18.2.32.07.07.03.18.07.22 0 .33-.34.56.18.73.35-1.29.79 3.48 4.03 3.93 4.64-.43.58.96 1.11 1.03 1.65-.04 0-.29-.05-.33-.05-.05.58 5.2 4.79 3.3 3.93.48.76 1.2 1.85 2.05 3.02.46-.65.94-1.33 1.42-2.02.24-.33.47-.67.71-1.01.16-.22.33-.44.49-.67.65-.91 1.33-1.85 2.03-2.83 1.4-1.95 2.85-4.03 4.38-6.03 3.03-4.04 6.33-7.84 9.38-10.2h-.11c.07-.04.18-.22.29-.18.37-.78 1.75-2.49 1.75-2.49zm-13.32 14.01s.02.03.03.03c-.06-.04-.68.85-.72.88l-.19-.15c.29-1.16 3.11-2.19 1.1-.71 0 .1-.16-.02-.23-.05zm-5.61 7.86c-.11.14-.26.32-.41.53.79-2.6 3.46-4.8 4.83-7.22.28 1.38-1.47 2.85-2.19 3.79-.49 1.11-1.51 2.11-2.22 2.9zm-10.62-8.38-.1.08-.06-.06s.06-.04.08-.04c.03 0 .06 0 .07.02zm28.23-12.94c0 .27-.56.68-.5.09.13-.04.24-.41.5-.09zm-19.39 22.89c.01.63-.8-.24-.54-.78.19.22.36.49.54.78zm24.04-27.91c-.09-.47.16-.08.4.06-.08 0-.27.12-.36-.05h-.04zm3.11-2.98c-.08-.2.03-.45.12-.52.33-.06.1.58-.12.52zm5.66-4.28c-.12-.19-.03-.36.14-.2.08.15-.01.38-.19.18 0 0 .03.02.04.02zm-34.9 31.37c.68-.26.81.75 1.24.97-.58.36-.73-.58-1.04-.77-.08-.09-.14-.16-.2-.21zm15.79-14.87c-.46-.39.52-.79.64-1.11l.17.16c-.27.38-.34.7-.8.93h-.01zm-12.18 15.12c-.1-.28.26-.41.36-.56.28.19-.11.87-.36.56zm4.67-6.36c.32.19-.06.39-.09.5-.01-.11-.11-.36-.05-.43.04-.05.09-.04.15-.07zm7.46-8.35c-.23.28-.5.57-.75.85l-.17-.17c.25-.29.5-.57.75-.85l.17.16zm-2.68 2.56-.18-.15c.17-.56.67-.21.19.14zm5.69-6.26s-.12.08-.15.12c-.5.58-.4-.8.15-.12zm2.63-3.02c.03-.08.05-.2.11-.25.4-.36.38.47-.11.25z\"\n fill={gray}\n />\n <path d=\"m261.36 170h-164.9098v78.54h164.9098z\" fill={green} />\n <path\n d=\"m249.87 214.479c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.66.54-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59.03 1.95.21 3.78.55 5.51 2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={greenDark}\n />\n <path\n d=\"m239.67 228.22c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m233.6 204.34c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12-.69 0-1.35.07-1.97.19-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95s.07 1.32.19 1.92c.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13s1.29-.07 1.9-.17c3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path d=\"m220.14 98.7393h-164.9095v78.5397h164.9095z\" fill={blue} />\n <path\n d=\"m206.74 143.22c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35s-3.86.21-5.66.54c-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59s.21 3.78.55 5.51c2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={blueDark}\n />\n <path\n d=\"m196.53 156.96c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m190.46 133.079c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12s-1.35.07-1.97.19c-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95 0 .68.07 1.32.19 1.92.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13s1.29-.07 1.9-.17c3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path d=\"m178.91 98.7295h-123.6795v6.3095h123.6795z\" fill={blue} />\n <path d=\"m220.13 169.989h-123.67v7.28h123.67z\" fill={blue} />\n <path\n d=\"m220.13 169.989h-123.67v7.28h123.67z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m178.91 98.7295h-123.6795v6.3095h123.6795z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={gray}>\n <path d=\"m110.17 208.495c-1.33-1.25-2.14-.49-.99.92 1.64 2 3.42 4.05 5.75 6.64 2.68 2.9 3.5 3.49 5.22 5.53.38.44.78.92 1.2 1.45.64.81 1.34 1.67 2.08 2.61.46-.71.93-1.44 1.4-2.17.3-.43.6-.86.9-1.29.58-.82 1.16-1.61 1.71-2.32 1.08-1.44 2.02-2.59 2.44-3.13.17-.21.34-.42.5-.64 1.09-1.59 6.19-8.44 11.36-13.62.91-.92 1.73-1.75 2.47-2.5.76-.72 1.45-1.36 2.05-1.93 1.19-1.15 2.13-1.92 2.75-2.47 1.47-1.32 2.81-2.38 4.03-3.4 1.19-1.06 2.38-1.89 3.49-2.82 1.23-1 .72-1.82-.68-1-1.25.77-2.56 1.49-3.85 2.48-1.31.95-2.72 1.99-4.22 3.33-.58.52-1.57 1.22-2.75 2.26-.6.52-1.27 1.1-2 1.74-.72.65-1.48 1.4-2.3 2.21-.53.53-1.05 1.07-1.51 1.64-2.05 2.45-4.43 5.24-6.22 7.48s-3.08 3.85-3.08 3.85c-1.29 1.69-2.55 3.39-3.77 5.13-.61.87-1.22 1.74-1.8 2.63l-1.1 1.68-2.33-2.77c-2.57-2.96-3.84-4.34-4.61-5.2-2.35-2.59-4.26-4.53-6.15-6.31z\" />\n <path d=\"m27.7197 64.9948c-1.33-1.25-2.14-.49-.99.92 1.64 2 3.42 4.05 5.75 6.64 2.68 2.9 3.5 3.49 5.22 5.53.38.44.78.92 1.2 1.45.64.81 1.34 1.67 2.08 2.61.46-.71.93-1.44 1.4-2.17.3-.43.6-.86.9-1.29.58-.82 1.16-1.61 1.71-2.32 1.08-1.44 2.02-2.59 2.44-3.13.17-.21.34-.42.5-.64 1.09-1.59 6.19-8.44 11.36-13.62.91-.92 1.73-1.75 2.47-2.5.76-.72 1.45-1.36 2.05-1.93 1.19-1.15 2.13-1.92 2.75-2.47 1.47-1.32 2.81-2.38 4.03-3.4 1.19-1.06 2.38-1.89 3.49-2.82 1.23-1 .72-1.82-.68-1-1.25.77-2.56 1.49-3.85 2.48-1.31.95-2.72 1.99-4.22 3.33-.58.52-1.57 1.22-2.75 2.26-.6.52-1.27 1.1-2 1.74-.72.65-1.48 1.4-2.3 2.21-.53.53-1.05 1.07-1.51 1.64-2.05 2.45-4.43 5.24-6.22 7.48s-3.08 3.85-3.08 3.85c-1.29 1.69-2.55 3.39-3.77 5.13-.61.87-1.22 1.74-1.8 2.63l-1.1 1.68-2.33-2.77c-2.57-2.96-3.84-4.34-4.61-5.2-2.35-2.59-4.26-4.53-6.15-6.31z\" />\n <path d=\"m78.8703 156.167c-.6 1.09.34 1.69 1.11.76 1.11-1.32 2.24-2.72 3.65-4.56 1.57-2.11 1.81-2.76 2.95-4.13 1.91-2.34 5.54-5.92 6.45-6.73.13-.12.26-.25.38-.39.84-.98 4.7-5.18 8.4797-8.27 1.28-1.16 2.41-1.98 3.26-2.69.85-.7 1.51-1.18 1.96-1.5 1.07-.77 1.96-1.5 2.81-2.13.86-.62 1.63-1.22 2.38-1.84.83-.68.33-1.51-.64-1.02-.88.44-1.76.92-2.7 1.46-.94.55-1.88 1.24-2.98 2.02-.86.59-2.72 1.74-5.12 3.67-.38.32-.75.67-1.0897 1.02-3.03 3.03-6.94 6.95-6.94 6.95s-1.43 1.49-3.12 3.33c-1.68 1.86-3.59 4.08-4.69 5.44-1.66 2.03-2.41 3.05-2.9 3.66-1.42 1.88-2.43 3.41-3.28 4.94z\" />\n <path d=\"m77.3805 124.727c-1.13-.53-1.67.45-.69 1.16 1.4 1.02 2.88 2.06 4.83 3.34 2.23 1.42 2.9 1.62 4.35 2.67 2.48 1.75 6.35 5.1 7.23 5.97.13.12.27.24.42.35 1.05.76 5.54 4.32 8.9405 7.87 1.25 1.2 2.17 2.26 2.94 3.06.76.8 1.3 1.41 1.65 1.85.85 1.01 1.64 1.86 2.33 2.66.68.82 1.33 1.55 2 2.26.73.78 1.53.23.98-.7-.51-.85-1.04-1.7-1.65-2.61-.63-.89-1.39-1.8-2.25-2.84-.33-.41-.81-1.06-1.49-1.88-.68-.81-1.48-1.88-2.58-2.97-.35-.36-.72-.7-1.11-1.02-.41-.35-.83-.72-1.26-1.08s-.87-.73-1.3-1.09c-.8605-.72-1.6705-1.48-2.4105-2.08-1.46-1.26-2.52-2.17-2.52-2.17s-.4-.33-1.05-.85-1.52-1.27-2.53-2.02c-1.98-1.55-4.36-3.3-5.79-4.3-2.15-1.52-3.23-2.2-3.87-2.64-1.98-1.28-3.59-2.19-5.18-2.94z\" />\n </g>\n </svg>\n );\n}\n\nexport default UserManagement;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction VideoCall3(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m32 221.65s139.28 16.56 210.96-.75v-172.39s-113.67 27.85-210.96-1.51c0 0 1.54 175.77 0 174.64z\"\n fill={blue}\n />\n <path\n d=\"m170.141 133.781c.04 2.64-.14 5.14-.53 7.5-2.33 14.18-12.06 23.05-25.84 25.49-2.35.41-4.81.64-7.38.68-2.68.04-5.25-.14-7.7-.51-13.85-2.12-23.8-10.7-26.52-24.73-.46-2.34-.71-4.84-.75-7.48-.04-2.68.15-5.22.55-7.6 2.35-14.12 12.05-22.96 25.82-25.45 2.44-.45 5-.69 7.68-.73 2.57-.03 5.04.13 7.4.48 13.83 2.06 23.78 10.65 26.52 24.77.46 2.37.71 4.9.75 7.58z\"\n fill={orange}\n />\n <path\n d=\"m136.52 173.131c33.02-.57 55.19 14.51 56.65 54.51-37.01 2.34-78.36.72-109.9102-1.43 2.42-37.6 23.1502-52.56 53.2602-53.08z\"\n fill={orange}\n />\n <path\n d=\"m189.33 71.6309h31.3v8.4455l9.2-4.9758.02.01v19.19l-.02.01-9.2-4.981v8.5513h-31.3z\"\n fill={purple}\n />\n <path\n d=\"m220.62 80.0801-8.54 4.62 8.54 4.63z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default VideoCall3;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,iBAAO;;;ACmJP,IAAM,UAAU,CAAC,QAAgB,eAC/B,KAAK,MAAO,SAAS,aAAc,GAAG;AAEjC,IAAM,SAAS,CAAC,OAAkB,eAAmC,iCACvE,QADuE;AAAA,EAE1E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,UAAU,CAAC,OAAkB,eAAmC,iCACxE,QADwE;AAAA,EAE3E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,WAAW,CAAC,OAAkB,eAAmC,iCACzE,QADyE;AAAA,EAE5E,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,UAAU;AAC1C;AAEO,IAAM,gBAAgB,CAAC,OAAkB,UAA8B,iCACzE,QADyE;AAAA,EAE5E,GAAG;AACL;AAEA,IAAM,gBAAgB;AACtB,IAAM,iBAAiB;AACvB,IAAM,cAAc;AACpB,IAAM,gBAAgB;AACtB,IAAM,oBAAoB;AAC1B,IAAM,wBAAwB;AAC9B,IAAM,oBAAoB;AAC1B,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AACvB,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAEtB,IAAM,iBAAiE;AAAA,EAC5E,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAChC,SAAS,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAEpC,cAAc,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,EACjD,eAAe,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,EAAE;AAAA,EAChD,SAAS,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE;AAAA,EAC3C,aAAa,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE;AAAA,EAC9C,eAAe,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,EAElD,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE;AAAA,EAEvC,WAAW,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,EAAE;AAAA,EAC5C,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE;AAAA,EACxC,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE;AAAA,EAE3C,cAAc,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAC3C,SAAS,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACtC,aAAa,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAE1C,aAAa,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EAC3C,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EACvC,YAAY,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAAA,EAE7C,aAAa,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,EAAE;AAAA,EAClD,QAAQ,EAAE,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,EAAE;AAAA,EAC9C,YAAY,EAAE,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,EAAE;AAAA,EAElD,WAAW,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACxC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAEvC,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACzC,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACtC,YAAY,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE;AAC/C;AAEO,IAAM,YAA4D;AAAA,EACvE,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACnC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA,EACrC,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE;AAAA,EACpC,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE;AACpC;AAGA,IAAM,mBAA8C;AAAA,EAClD,YAAY,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE;AAAA,EACzC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EAClC,UAAU,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACtC,aAAa,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACzC,YAAY,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACxC,SAAS,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACrC,YAAY,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE;AAAA,EACxC,UAAU,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EACtC,YAAY,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACzC,aAAa,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAC1C,WAAW,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACvC,YAAY,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACxC,gBAAgB,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EAC5C,qBAAqB,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,EACjD,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,EACjC,eAAe,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;AAAA,EAC3C,gBAAgB,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAC/C;AAEA,IAAM,oBAAsE;AAAA,EAC1E,QAAQ,eAAe;AAAA,EACvB,aAAa,OAAO,eAAe,QAAQ,aAAa;AAAA,EACxD,cAAc,OAAO,eAAe,QAAQ,cAAc;AAAA,EAC1D,cAAc,cAAc,UAAU,OAAO,iBAAiB;AAAA,EAC9D,kBAAkB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,cAAc,eAAe,SAAS,cAAc;AAAA,EAC/D,gBAAgB,cAAc,eAAe,SAAS,mBAAmB;AAAA,EACzE,iBAAiB,cAAc,eAAe,SAAS,oBAAoB;AAAA,EAC3E,SAAS;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,KAAK;AAAA,EACP;AACF;AAGO,IAAM,cAA4B;AAAA,EACvC,OAAO;AAAA,IACL,SAAS,eAAe;AAAA,IACxB,cAAc,eAAe;AAAA,IAC7B,eAAe,eAAe;AAAA,IAC9B,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,YAAY;AAAA,IACpD,YAAY,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,qBAAqB;AAAA,IACnE,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,oBAAoB;AAAA,IAClE,YAAY,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,eAAe;AAAA,IAC5D,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,wBAAwB;AAAA,MACtB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,yBAAyB;AAAA,MACvB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,uBAAuB;AAAA,IACjE,cAAc,UAAU;AAAA,IACxB,eAAe,UAAU;AAAA,IACzB,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,eAAe,KAAK,eAAe;AAAA,IACvE,QAAQ,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,aAAa,KAAK,cAAc;AAAA,KAClE,oBA5EE;AAAA,IA6EL,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,8BAA8B;AAAA,IACvE,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACzE,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc,eAAe;AAAA,IAC7B,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB,eAAe;AAAA,IACpC,0BAA0B;AAAA,MACxB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,gBAAgB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,YAAY;AAAA,IAC9D,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB,eAAe;AAAA,IACnC,oBAAoB,eAAe;AAAA,IACnC,kBAAkB,iBAAiB;AAAA,IACnC,oBAAoB,iBAAiB;AAAA,IACrC,mBAAmB,iBAAiB;AAAA,IACpC,kBAAkB,UAAU;AAAA,IAC5B,wBAAwB,UAAU;AAAA,IAClC,oBAAoB,UAAU;AAAA,IAC9B,oBAAoB,UAAU;AAAA,IAC9B,mBAAmB,UAAU;AAAA,IAC7B,wBAAwB,UAAU;AAAA,IAClC,wBAAwB,iBAAiB;AAAA,IACzC,sBAAsB,iBAAiB;AAAA,IACvC,kBAAkB,UAAU;AAAA,IAC5B,2BAA2B,iBAAiB;AAAA,IAC5C,uBAAuB,eAAe;AAAA,IACtC,2BAA2B,iBAAiB;AAAA,IAC5C,6BAA6B,iBAAiB;AAAA,IAC9C,0BAA0B,iBAAiB;AAAA,IAC3C,8BAA8B,iBAAiB;AAAA,IAC/C,2BAA2B,iBAAiB;AAAA,IAC5C,6BAA6B,iBAAiB;AAAA,IAC9C,gBAAgB,UAAU;AAAA,EAC5B;AAAA,EAEA,MAAM;AAAA,IACJ,SAAS,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,IAC5C,cAAc,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE;AAAA,IACjD,eAAe,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,EAAE;AAAA,IAChD,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK,YAAY;AAAA,IACxD,YAAY,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,qBAAqB;AAAA,IACvE,aAAa,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACrE,YAAY,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,eAAe;AAAA,IAC/D,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA;AAAA,IAEA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,wBAAwB;AAAA,MACtB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,yBAAyB;AAAA,MACvB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,uBAAuB;AAAA,IACpE,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,KAAK,eAAe;AAAA,IAC7D,QAAQ,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,KAAK,cAAc;AAAA,KAC3D,oBAzFC;AAAA,IA0FJ,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,8BAA8B;AAAA,IAC1E,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,KAAK,oBAAoB;AAAA,IACzE,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,qBAAqB;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,0BAA0B;AAAA,MACxB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,gBAAgB,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK,YAAY;AAAA,IAClE,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,oBAAoB,eAAe;AAAA,IACnC,oBAAoB,iBAAiB;AAAA,IACrC,kBAAkB,iBAAiB;AAAA,IACnC,oBAAoB,iBAAiB;AAAA,IACrC,mBAAmB,iBAAiB;AAAA,IACpC,kBAAkB,iBAAiB;AAAA,IACnC,wBAAwB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA;AAAA,IACtD,oBAAoB,iBAAiB;AAAA,IACrC,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA;AAAA,IACA,mBAAmB,iBAAiB;AAAA,IACpC,wBAAwB,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,EAAE;AAAA;AAAA,IACxD,wBAAwB,iBAAiB;AAAA,IACzC,sBAAsB,eAAe;AAAA,IACrC,kBAAkB,iBAAiB;AAAA,IACnC,2BAA2B,iBAAiB;AAAA,IAC5C,uBAAuB,iBAAiB;AAAA,IACxC,2BAA2B,iBAAiB;AAAA,IAC5C,6BAA6B,iBAAiB;AAAA,IAC9C,0BAA0B,iBAAiB;AAAA,IAC3C,8BAA8B,iBAAiB;AAAA,IAC/C,2BAA2B,iBAAiB;AAAA,IAC5C,6BAA6B,iBAAiB;AAAA,IAC9C,gBAAgB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,EAC3C;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC,gBAAgB;AAAA,EAChB,WAAW;AACb;AAEO,IAAM,aAAa,kCACrB,iBACA;AAGE,IAAM,cAAc;AAAA,EACzB,GAAG,OAAO,KAAK,UAAU;AAAA,EACzB,GAAG,OAAO,KAAK,YAAY,KAAK;AAClC;;;ACzsBO,IAAM,gBAAgB,CAC3B,OACA,UACG;AACH,SAAO,QAAQ,WAAW,KAAK,EAAE,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC,KAAK,WAAW,KAAK,EAAE,CAAC,KAAK,KAAK;AAC7F;AAEO,IAAM,gBAAgB,CAC3B,OACA,WACA,mBACW;AACX,QAAM,cAAc,MAAM;AACxB,QAAI,cAAc,QAAQ;AACxB,aAAO,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACrD,WAAW,cAAc,SAAS;AAChC,aAAO,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACrD;AAAA,EACF;AAEA,SAAO,QAAQ,WAAW,KAAK,EAAE,CAAC,IAAI,WAAW,KAAK,EAAE,CAAC,KAAK,KAAK;AAAA,IACjE,YAAY;AAAA,EACd,CAAC,KAAK,WAAW,KAAK,EAAE,CAAC;AAC3B;AAEO,IAAM,gBAAgB,CAAC,UAAuC;AACnE,MAAI,OAAO;AACT,QAAI,SAAS,cAAc,SAAS,YAAY,OAAO;AACrD,aAAO,mBAAmB,KAAK;AAAA,IACjC;AAGA,QAAI,SAAS,WAAW;AACtB,aAAO,sBAAsB,KAAK;AAAA,IACpC;AAEA,WAAO;AAAA,EACT;AACF;;;ACzCA,sBAAsB;AACtB,mBAAkB;AAQH,SAAR,SAA0B,SAAS,QAAQ,cAAc;AAC9D,QAAM,QAAQ,aAAAC,QAAM,YAAY,MAAM;AACpC,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,WACE,OAAO,QAAQ,UAAU,OAAK,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK;AAAA,EAE7D,GAAG,CAAC,cAAc,SAAS,MAAM,CAAC;AAElC,QAAM,CAAC,OAAO,GAAG,IAAI,aAAAA,QAAM,SAAS,KAAK;AAEzC,eAAAA,QAAM,UAAU,MAAM;AACpB,UAAM,cAAU,gBAAAC,SAAU,MAAM,IAAI,KAAK,GAAG,GAAG;AAE/C,WAAO,iBAAiB,UAAU,OAAO;AAEzC,WAAO,MAAM,OAAO,oBAAoB,UAAU,OAAO;AAAA,EAC3D,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;;;AC1BO,IAAM,IAAI,CAAC,WAChB,UAAU,QAAQ,MAAM,sBAAsB,IAAI;AAQ7C,IAAM,eAAe,CAAC,SAAe;AAC1C,MAAI,QAAQ,QAAQ;AAClB,WAAO,mBAAmB,IAAI;AAAA,EAChC;AAEA,MAAI,QAAQ,MAAM,IAAc,GAAG;AACjC,WAAO,GAAG,IAAI;AAAA,EAChB;AAEA,MAAI,SAAS,GAAG;AACd,WAAO;AAAA,EACT;AAEA,MAAI,MAAM;AACR,WAAO,GAAG,EAAE,IAAc,CAAC;AAAA,EAC7B;AACF;AAMO,IAAM,UAAU,CAAC,UAAkB,SAAmB;AAC3D,MAAI,QAAQ,SAAS,GAAG;AACtB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,gBAAgB,KAAK,IAAI,cAAY;AACzC,eAAO,GAAG,QAAQ,KAAK,aAAa,QAAQ,CAAC;AAAA,MAC/C,CAAC;AAED,aAAO,mBAAmB,aAAa;AAAA,IACzC;AAEA,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAM,kBAAuD,CAAC;AAE9D,aAAO,QAAQ,IAAI,EAAE;AAAA,QACnB,CAAC,CAAC,KAAK,KAAK,MAAO,gBAAgB,GAAG,IAAI,aAAa,KAAK;AAAA,MAC9D;AAEA,aAAO,oBAAoB,UAAU,eAAe;AAAA,IACtD;AAEA,WAAO,GAAG,QAAQ,KAAK,aAAa,IAAI,CAAC;AAAA,EAC3C;AACF;;;ACrDO,IAAM,cAAc,CACzB,WACA,YACA,gBACG,UAAU,SAAS,KAAK,UAAU,KAAK,WAAW;AAEhD,IAAM,qBAAqB,CAAC,WAAqB;AACtD,QAAM,qBAAqB,OAAO,OAAO,WAAW,EAAE,CAAC;AAEvD,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,OAAO,CAAC;AAAA,EACV;AAEA,QAAM,kBAAkB,OAAO,OAAO,CAAC,UAAU,OAAO,UAAU;AAChE,UAAM,aAAa,GAAG,OAAO,OAAO,WAAW,EAAE,KAAK,CAAC;AAEvD,WAAO,WAAW,YAAY,aAAa,YAAY,KAAK;AAAA,EAC9D,GAAG,EAAE;AAEL,SAAO,kBAAkB;AAC3B;AAKO,IAAM,sBAAsB,CACjC,UACA,QACG;AACH,QAAM,SAAS,CAAC;AAEhB,MAAI,SAAS,KAAK,OAAO,KAAK,GAAG,QAAQ,KAAK,IAAI,SAAS,CAAC,GAAG;AAE/D,SAAO,IAAI;AAEX,SAAO,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC5C,UAAM,aAAa,OAAO,cAAc,YAAY,GAAG,IAAI;AAE3D,WAAO,KAAK,qBAAqB,UAAU,MAAM,QAAQ,KAAK,KAAK,IAAI;AAAA,EACzE,CAAC;AAED,SAAO,OAAO,KAAK,GAAG;AACxB;AAEO,IAAM,qBAAqB,CAChC,UACA,eACG;AACH,MAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,UAAM,mBAAmB,WAAW,IAAI,oBAAkB;AACxD,aAAO,GAAG,QAAQ,KAAK,cAAc;AAAA,IACvC,CAAC;AAED,WAAO,mBAAmB,gBAAgB;AAAA,EAC5C;AAEA,MAAI,OAAO,eAAe,UAAU;AAClC,WAAO,oBAAoB,UAAU,UAAU;AAAA,EACjD;AAEA,SAAO,GAAG,QAAQ,KAAK,UAAU;AACnC;AAEO,IAAM,qBAAqB,CAChC,MACAC,gBACG;AACH,MAAI,MAAM;AACR,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,kBAAkB,CAAC;AAEzB,WAAK,IAAI,cAAY;AACnB,wBAAgB,KAAKA,YAAW,QAAQ,CAAC;AAAA,MAC3C,CAAC;AAED,aAAO,mBAAmB,eAAe,eAAe;AAAA,IAC1D;AAEA,WAAO,eAAeA,YAAW,IAAI,CAAC;AAAA,EACxC;AACF;AAEO,IAAM,uBAAuB,CAClC,UACA,YACA,iBACG;AACH,MAAI,MAAM,QAAQ,YAAY,GAAG;AAC/B,UAAM,qBAAqB,aAAa,IAAI,iBAAe;AACzD,YAAM,QAAQ,gBAAgB,OAAO,WAAW,CAAC,IAAI,WAAW,CAAC;AAEjE,aAAO,GAAG,QAAQ,KAAK,KAAK;AAAA,IAC9B,CAAC;AAED,WAAO,mBAAmB,kBAAkB;AAAA,EAC9C;AAEA,SAAO,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC;AACtC;AAEO,IAAM,sBAAsB,CACjC,UACA,WACG;AACH,MAAI,UAAU,WAAW,GAAG;AAC1B,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,YAAM,gBAAgB,OAAO,IAAI,gBAAc;AAC7C,eAAO,GAAG,QAAQ,KAAK,UAAU;AAAA,MACnC,CAAC;AAED,aAAO,mBAAmB,aAAa;AAAA,IACzC;AAEA,QAAI,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAAG;AACxD,aAAO,oBAAoB,UAAU,MAAM;AAAA,IAC7C;AAEA,WAAO,GAAG,QAAQ,KAAK,MAAM;AAAA,EAC/B;AACF;AAGA,IAAM,mBAAmB,CAAC,YAAuB;AAC/C,MAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,WAAO,QAAQ,IAAI,YAAU,aAAa,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAC7D;AAEA,SAAO;AACT;AAEO,IAAM,uBAAuB,CAClC,YACG;AACH,MAAI,SAAS;AACX,QAAI,OAAO,YAAY,YAAY,CAAC,MAAM,QAAQ,OAAO,GAAG;AAC1D,YAAM,sBAAwC,CAAC;AAE/C,aAAO,QAAQ,OAAO,EAAE;AAAA,QACtB,CAAC,CAAC,KAAK,KAAK,MAAO,oBAAoB,GAAG,IAAI,iBAAiB,KAAK;AAAA,MACtE;AAEA,aAAO,oBAAoB,yBAAyB,mBAAmB;AAAA,IACzE;AAEA,WAAO,0BAA0B,iBAAiB,OAAO,CAAC;AAAA,EAC5D;AACF;AAEO,IAAM,4BAA4B,CACvC,cACA,gBACG;AACH,MAAI,cAAc;AAChB,QAAI,OAAO,iBAAiB,YAAY,CAAC,MAAM,QAAQ,YAAY,GAAG;AACpE,YAAM,0BAA0B,CAAC;AAEjC,aAAO,QAAQ,YAAY,EAAE;AAAA,QAC3B,CAAC,CAAC,KAAK,KAAK,MACT,wBAAwB,GAAG,IAAI,iBAAiB,KAAK;AAAA,MAC1D;AAEA,aAAO;AAAA,QACL,iBAAiB,WAAW;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,KAAK,iBAAiB,YAAY,CAAC;AAAA,EACxE;AACF;AAEO,IAAM,QAAQ,CAAC,EAAE,UAAU,SAAS,QAAQ,aAAa,MAAM;AACpE,QAAM,QAAQ,SAAS,SAAS,QAAQ,YAAY;AAEpD,SAAO,SAAS,KAAK;AACvB;;;AClLO,IAAM,cAAc,UACzB,QACA;AAAA,kCACgC,IAAI;AAAA,sCACA,IAAI;AAAA,4CACE,IAAI;AAAA;AAGzC,IAAM,gBAAgB,gBAC3B,cAAc,qCAAqC,UAAU;AAExD,IAAM,iBAAiB,iBAC5B,eAAe,yBAAyB,WAAW;AAE9C,IAAM,YAAY,UACvB,QAAQ,mCAAmC,IAAI;AAE1C,IAAM,YAAY,UACvB,QAAQ,gCAAgC,IAAI;AAEvC,IAAM,eAAe,CAAC,OAAgB,aAAsB;AACjE,QAAM,aAAa,QAAQ,QAAQ,cAAc,WAAW;AAE5D,SAAO,cAAc,WAAW,WAAW,EAAE,cAAc,UAAU;AACvE;AAIO,IAAM,qBAAqB,CAAC,UAAmB;AACpD,QAAM,aAAa,QAAQ,QAAQ,cAAc,WAAW;AAE5D,SAAO;AAAA,uBACc,UAAU;AAAA;AAAA;AAGjC;AAEO,IAAM,mBAAmB,SAAO;AACrC,MAAI,QAAQ,QAAQ,QAAQ,MAAM;AAChC,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT;AACF;AAEO,IAAM,eAAe,CAAC,WAAW,cAAc;AACpD,QAAM,kBAAkB;AAAA,IACtB,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,KAAK,iBAAiB,SAAS;AAAA,MAC/B,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO,gBAAgB,SAAS;AAClC;;;ACvEO,IAAM,wBAAwB,CAAC,WAA2B;AAC/D,SAAO,OACJ,QAAQ,sBAAsB,OAAO,EACrC,QAAQ,WAAW,GAAG,EACtB,YAAY;AACjB;;;ACHO,IAAM,OAAO;AAEb,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AACF;AAGO,IAAM,cAAc;AAAA,EACzB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AACR;AAMO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,MAAM;AACR;AAEO,IAAM,QAAQ;AAAA,EACnB,MAAM,EAAE,CAAC;AAAA,EACT,IAAI,EAAE,GAAG;AAAA,EACT,KAAK,EAAE,CAAC;AAAA,EACR,QAAQ,EAAE,CAAC;AAAA,EACX,KAAK,EAAE,GAAG;AAAA,EACV,KAAK,EAAE,IAAI;AAAA,EACX,KAAK,EAAE,CAAC;AAAA,EACR,OAAO,EAAE,CAAC;AAAA,EACV,KAAK,EAAE,GAAG;AAAA,EACV,KAAK,EAAE,CAAC;AAAA,EACR,QAAQ,EAAE,CAAC;AAAA,EACX,OAAO,EAAE,GAAG;AAAA,EACZ,MAAM,EAAE,GAAG;AACb;AAEO,IAAM,UAAU;AAAA,EACrB,OAAO,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,EAC7B,QAAQ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,EAC9B,OAAO,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7B;AAEO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT;AAGO,IAAM,YAAY;AAAA,EACvB,cACE;AAAA,EACF,gBACE;AACJ;;;ACjIA,oBAAmB;AACnB,IAAAC,gBAAkB;;;ACDX,IAAM,yBAAyB;AAC/B,IAAM,sBAAsB;AAC5B,IAAM,8BAA8B;AACpC,IAAM,0BAA0B;;;ADWhC,IAAM,YAAY;AAGlB,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,gBAAe;AACf,EAAAA,YAAA,UAAS;AAFC,SAAAA;AAAA,GAAA;AAYL,IAAM,WAA0B;AAAA,EACrC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AACF;AAEA,IAAM,gBAAgB,UAAQ,UAAU,IAAI,EAAE,WAAW;AAEzD,IAAM,kBAAkB,UAAQ,EAAE,UAAU,IAAI,EAAE,QAAQ;AAEnD,IAAM,iBAAiB,UAC5B,UAAU,IAAI,EAAE,WAAW,UAAU,IAAI,EAAE,aAAa;AAE1D,IAAM,eAAe,CAAC,SAAS,SAAS,WAAW,cAAc;AAC/D,QAAM,SAAS,UAAU,YAAY,YAAY;AACjD,QAAM,oBAAoB,CAAC,YAAY,QAAQ;AAE/C,SAAO,GAAG,iBAAiB,QAAQ,QAAQ,GAAG;AAChD;AAEA,IAAM,cAAc,cAAAC,QAAO;AAAA,aACd,WAAU,MAAM,WAAW,WAAW,OAAQ;AAAA,IACvD,WAAS,CAAC,MAAM,cAAc,YAAY,MAAM,IAAI,CAAC;AAAA,IACrD,WAAS,cAAc,MAAM,UAAU,CAAC;AAAA,IACxC,WAAS,MAAM,SAAS,UAAU,cAAc,MAAM,KAAK,CAAC,EAAE;AAAA,IAC9D,WACA,MAAM,eACN,0BAA0B,eAAe,MAAM,WAAW,CAAC,EAAE;AAAA,IAC7D,WAAS,MAAM,YAAY,YAAY,SAAS,EAAE;AAAA,IAClD,WAAS,MAAM,aAAa,eAAe,MAAM,SAAS,EAAE;AAAA,IAC5D,WAAS,MAAM,gBAAgB,kBAAkB,MAAM,YAAY,GAAG;AAAA,IACtE,WACA,MAAM,eACN,CAAC,MAAM,iBACP;AAAA;AAAA;AAAA;AAAA,GAID;AAAA,IACC,WACA,MAAM,eACN,MAAM,iBACN;AAAA;AAAA;AAAA;AAAA,0BAIsB,MAAM,aAAa;AAAA,GAC1C;AAAA,IACC,WACA,CAAC,MAAM,eACP,MAAM,UACN,wCAAwC;AAAA,IACxC,WACA,MAAM,cAAc,gBAAgB,WAAW,MAAM,UAAU,CAAC,GAAG;AAAA,IACnE,WACA,MAAM,cACN;AAAA;AAAA;AAAA,QAGI,gBAAgB,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA,QACpC;AAAA,EACA,cAAc,MAAM,WAAW,CAAC,CAAC;AAAA,EACjC,cAAc,MAAM,WAAW,CAAC,CAAC;AAAA,EACjC;AAAA,EACA;AACF,CAAC;AAAA,QACC,gBAAgB,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,QAIpC,eAAe,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA,QACnC;AAAA,EACA,eAAe,MAAM,WAAW,CAAC,CAAC;AAAA,EAClC,eAAe,MAAM,WAAW,CAAC,CAAC;AAAA,EAClC;AAAA,EACA;AACF,CAAC;AAAA,QACC,eAAe,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA;AAAA,GAExC;AAAA;AAGH,IAAM,OAAO,CAAC,OAuBN;AAvBM,eACZ;AAAA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,EAxIF,IAwHc,IAiBT,kBAjBS,IAiBT;AAAA,IAhBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,UAAU;AAEZ,YAAQ,KAAK,sBAAsB;AAAA,EACrC;AAGA,MAAI,KAAK,SAAS,UAAU,GAAG;AAC7B,iBAAa;AAAA,EACf;AAEA,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,UAAU,SAAS,OAAO,EAAE,OAAO;AAAA,MACzC;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,UAAU,SAAS,OAAO,EAAE,aAAa;AAAA,MACrD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAoBO,IAAM,aAAa,CAAC,QAAQ,SAAS,QAAQ;AA2BpD,IAAO,eAAQ;;;AE1Nf,IAAM,QAAQ,CAAC,OAAO,UAAU,QAAQ,OAAO;AAE/C,IAAM,iBAAiB,iBAAE,GAAG,OAAQ;AAEpC,IAAM,wBAAwB,iBAAE,GAAG,KAAK,MAAM,UAAW;AAElD,IAAM,aAAa,YAAY,IAAI,gBAAc;AACtD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,mBAAmB,UAAU;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,uBAAuB,YAAY,IAAI,gBAAc;AAChE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,mBAAmB,UAAU;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB,OAAO,KAAK,SAAS,EAAE,IAAI,UAAQ;AAC9D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,IAAI;AAAA,MACnC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,IAAI;AAAA,MACrC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,2BAA2B,IAAI;AAAA,MACxC;AAAA,MACA,KAAK,SAAS,UAAU,KAAK,KAAK,SAAS,QAAQ,IAC/C;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT,IACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACN;AAAA,EACF;AACF,CAAC;AAEM,IAAM,kBAAkB,OAAO,KAAK,WAAW,EAAE,IAAI,gBAAc;AACxE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,UAAU;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7E,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,MAAM,IAAI;AAAA,MACzC;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,MAAM,IAAI;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO,wBAAwB,MAAM,UAAU;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,qBAAqB,WAAW,IAAI,eAAa;AAC5D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc,OAAO,KAAK,OAAO,EAAE,IAAI,YAAU;AAC5D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,oBAAoB,MAAM;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,aAAa,OAAO,KAAK,KAAK,EAAE,IAAI,YAAU;AACzD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,oBAAoB,MAAM;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AASM,IAAM,sBAAsB,CACjC,UACAC,QACAC,SACA,eACsB;AACtB,QAAM,SAA4B,CAAC;AAEnC,EAAAD,OAAM,IAAI,UAAQ;AAChB,UAAM,aAAa,aACf,GAAG,SAAS,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,KACtC;AAEJ,WAAO,KAAKC,OAAM,EAAE,IAAI,WAAS;AAC/B,aAAO,KAAK;AAAA,QACV,UAAU;AAAA,QACV,UAAU,GAAG,QAAQ,GACnB,QAAQ,WAAW,IAAI,IAAI,KAAK,OAAO,OAAO,EAChD;AAAA,QACA,UAAU;AAAA,QACV,OACE,UAAU,UAAU,UAAU,MAC1B,QACA,mBAAmB,KAAK;AAAA,MAChC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;AAEO,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,IACE;AAAA,IACA,CAAC,IAAI,GAAG,KAAK;AAAA,IACb;AAAA,IACA;AAAA,EACF;AACF,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB,OAAO;AAAA,EACrC,oBAAoB,UAAU,CAAC,KAAK,GAAG,GAAG,uBAAuB,YAAY;AAC/E,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UACE,cAAc,aAAa,aAAa,gBAAgB;AAAA,QAC1D,OAAO,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,QACE,UACE,cAAc,aAAa,aACvB,iBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,eAAe,OAAO;AAAA,EACjC,oBAAoB,WAAW,CAAC,IAAI,GAAG,KAAK,GAAG,gBAAgB,YAAY;AAC7E,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,oBAAoB,OAAO;AAAA,EACtC,oBAAoB,WAAW,CAAC,KAAK,GAAG,GAAG,gBAAgB,YAAY;AACzE,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UACE,cAAc,aAAa,cACvB,iBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,MACA;AAAA,QACE,UACE,cAAc,aAAa,cACvB,kBACA;AAAA,QACN,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,UAAQ;AACpD,QAAM,WACJ,WAAW,KAAK,QAAQ,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,YAAY,CAAC;AAEtE,QAAM,WAAW,SAAS,QAAQ,IAAI,IAAI,EAAE;AAE5C,SAAO;AAAA,IACL;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE;AAAA,QACA,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,eAAe,eAAe,IAAI,mBAAiB;AAC9D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,aAAa;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAAU,KAAK;AAEhC,IAAM,qBAAqB,eAAe,IAAI,mBAAiB;AACpE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,cAAc;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,sBAAsB,sBAAsB;AAAA,EACvD,0BAAwB;AACtB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,QACZ;AAAA,UACE,UAAU;AAAA,UACV,OAAO,sBAAsB,oBAAoB;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,cAAc,CAAC,KAAK,GAAG;AAEtB,IAAM,YAAY,YAAY,IAAI,gBAAc;AACrD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,gBAAgB,CAAC,KAAK,GAAG;AAExB,IAAM,cAAc,cAAc,IAAI,kBAAgB;AAC3D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,iBAAiB,iBAAiB,IAAI,qBAAmB;AACpE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,sBAAsB,eAAe;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,CAAC,UAAU,MAAM;AAElC,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,CAAC,YAAY,YAAY,UAAU,OAAO;AAE3D,IAAM,gBAAgB,gBAAgB,IAAI,oBAAkB;AACjE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,oBAAoB,OAAO;AAAA,EACtC,oBAAoB,IAAI,OAAO,qBAAqB;AACtD,EAAE,IAAI,mBAAiB;AACrB,SAAO;AAAA,IACL,UAAU,cAAc;AAAA,IACxB,UAAU,cAAc;AAAA,IACxB,cAAc;AAAA,MACZ;AAAA,QACE,UAAU,cAAc;AAAA,QACxB,OAAO,cAAc;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAM,eAAe,CAAC,QAAQ,QAAQ,GAAG;AAElC,IAAM,aAAa,aAAa,IAAI,iBAAe;AACxD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,gBAAgB,SAAS,SAAS;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,CAAC,QAAQ,QAAQ,GAAG;AAEnC,IAAM,cAAc,cAAc,IAAI,kBAAgB;AAC3D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO,iBAAiB,SAAS,SAAS;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ,EAAE,UAAU,YAAY,OAAO,WAAW;AAAA,MAC1C,EAAE,UAAU,SAAS,OAAO,MAAM;AAAA,MAClC,EAAE,UAAU,UAAU,OAAO,MAAM;AAAA,MACnC,EAAE,UAAU,WAAW,OAAO,IAAI;AAAA,MAClC,EAAE,UAAU,UAAU,OAAO,OAAO;AAAA,MACpC,EAAE,UAAU,YAAY,OAAO,SAAS;AAAA,MACxC,EAAE,UAAU,QAAQ,OAAO,mBAAmB;AAAA,MAC9C,EAAE,UAAU,eAAe,OAAO,SAAS;AAAA,MAC3C,EAAE,UAAU,gBAAgB,OAAO,IAAI;AAAA,IACzC;AAAA,EACF;AACF;;;ACjgBA,IAAM,YAAY;AAElB,IAAM,WAAW;AAAA,EACf,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAM,kBAAkB,CAAC,OAAc,WAAoB;AAChE,QAAM,SAAS,CAAC;AAChB,QAAM,eAAe,SAAS,GAAG,MAAM,MAAM;AAE7C,QAAM,IAAI,UAAQ;AAChB,UAAM,eAAe,CAAC;AAEtB,SAAK,aAAa,IAAI,iBAAe;AACnC,mBAAa,KAAK,GAAG,YAAY,QAAQ,IAAI,YAAY,KAAK,EAAE;AAAA,IAClE,CAAC;AAED,UAAM,SAAS,IAAI,YAAY,GAAG,KAAK,QAAQ,GAC7C,KAAK,WAAW,YAAY,EAC9B,GAAG,KAAK,WAAW,KAAK,WAAW,EAAE,IAAI,aAAa,KAAK,GAAG,CAAC;AAE/D,WAAO,KAAK,MAAM;AAAA,EACpB,CAAC;AAED,SAAO,OAAO,KAAK,EAAE;AACvB;AAEO,IAAM,mBAAmB;AAAA,EAC9B,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAAA,EAChB,IAAI,YAAY;AAClB;AAEO,IAAM,eAAe,MAAM;AAChC,QAAM,qBAAqB,MAAM;AAC/B,UAAM,SAAS,CAAC;AAEhB,WAAO,KAAK,GAAG,gBAAgB,QAAQ,CAAC,EAAE;AAE1C,WAAO,QAAQ,gBAAgB,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,aAAO;AAAA,QACL,oBAAoB,KAAK,KAAK,gBAAgB,UAAU,GAAG,CAAC;AAAA,MAC9D;AAAA,IACF,CAAC;AAED,WAAO,OAAO,KAAK,EAAE;AAAA,EACvB;AAEA,SAAO,mBAAmB;AAC5B;;;AChGO,IAAM,uBAAuB,CAClC,QACA,eACe;AACf,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,QAAQ,MAAM;AAC1D,UAAM,aAAa,SAAS,GAAG,MAAM,MAAM;AAC3C,UAAM,QAAQ,SAAS,aAAa,OAAO;AAE3C,cAAU,KAAK,IAAI;AAAA,EACrB,CAAC;AAED,SAAO;AACT;AAEA,IAAM,qBAAqB,MAAkB;AAC3C,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,aAAa,aAAa,MAAM;AAClE,UAAM,eAAe,CAAC;AACtB,UAAM,iBAAiB,CAAC;AACxB,UAAM,mBAAmB,CAAC;AAC1B,UAAM,gBAAgB,YAAY,WAAW;AAC7C,UAAM,kBAAkB,cAAc,WAAW;AACjD,UAAM,qBAAqB,iBAAiB,WAAW;AAEvD,iBAAa,aAAa,IAAI,EAAE,cAAc,QAAQ;AACtD,iBAAa,eAAe,IAAI,cAAc;AAC9C,iBAAa,kBAAkB,IAAI,cAAc;AAEjD,WAAO,OAAO,WAAW,cAAc,gBAAgB,gBAAgB;AAAA,EACzE,CAAC;AAED,SAAO;AACT;AAEA,IAAM,kBAAkB,MAAkB;AACxC,QAAM,YAAY,CAAC;AAEnB,SAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,WAAW,UAAU,MAAM;AAC1D,UAAM,QAAQ,SAAS,SAAS;AAEhC,cAAU,KAAK,IAAI,EAAE,UAAU;AAAA,EACjC,CAAC;AAED,SAAO;AACT;AAEA,IAAM,kBAAkB,MAAkB;AACxC,QAAM,eAAe,CAAC;AAEtB,SAAO,KAAK,kCAAK,iBAAmB,UAAW,EAAE,QAAQ,UAAQ;AAC/D,UAAM,QAAQ;AAEd,iBAAa,KAAK,IAChB,QAAQ,WAAW,IAAI,EAAE,CAAC,IAAI,WAAW,IAAI,EAAE,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC;AAAA,EAClG,CAAC;AAED,SAAO;AACT;AAEA,IAAM,uBAAuB,MAAkB;AAC7C,QAAM,UAAU,CAAC,QAAQ,WACvB,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,aAAa,SAAS;AAChD,UAAM,QAAQ,OAAO,IAAI;AACzB,UAAM,QAAQ,GAAG,MAAM,UAAU,IAAI;AAErC,gBAAY,KAAK,IAAI,MAAM,MACvB,OAAO,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,OACpE,QAAQ,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC;AAEtD,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAEP,SAAO,kCACF,QAAQ,YAAY,OAAO,YAAY,IACvC,QAAQ,YAAY,MAAM,WAAW;AAE5C;AAEO,IAAM,gBAAgB,qBAAqB,QAAW;AAAA,EAC3D,MAAM,GAAG,OAAO,EAAE;AACpB,CAAC;AAEM,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AACF;AAEO,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,mBAAmB;AACrB;AAEO,IAAM,kBAAkB,qBAAqB,UAAU,KAAK;AAE5D,IAAM,kBAAkB,qBAAqB,UAAU,OAAO;AAE9D,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,gBAAgB;AAClB;AAEO,IAAM,qBAAqB,qBAAqB,QAAW;AAAA,EAChE,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,iBAAiB,EAAE,GAAG;AAAA,EACtB,iBAAiB;AAAA,EACjB,4BAA4B,EAAE,CAAC;AAAA,EAC/B,uBAAuB;AAAA;AAAA;AAAA,EAGvB,4BAA4B;AAAA;AAAA;AAAA;AAAA,EAI5B,4BAA4B;AAAA;AAAA;AAAA;AAI9B,CAAC;AAED,IAAM,iBAAiB,qBAAqB,SAAS,gBAAgB,CAAC;AAEtE,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA,qBAAqB;AACvB;AAEO,IAAM,oBAAoB,qBAAqB,YAAY,SAAS;AAE3E,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAAkC,MAAkB;AAC/D,SAAO,OAAO,OAAO,CAAC,GAAG,GAAG,eAAe;AAC7C;AAEO,IAAM,4BAA4B,MAAkB;AACzD,SAAO,OAAO;AAAA,IACZ,CAAC;AAAA,IACD;AAAA,IACA,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,yBAAyB,MAAkB;AACtD,SAAO,iDACF,iBACA,sBACA;AAEP;AAEA,IAAM,yBAAyB,MAAM;AACnC,SAAO,OAAO,KAAK,YAAY,KAAK,EAAE;AAAA,IACpC,WAAS,eAAe,KAAK,gCAAgC,KAAK;AAAA,EACpE;AACF;AACA,IAAM,wBAAwB,MAAM;AAClC,SAAO,OAAO,KAAK,YAAY,IAAI,EAAE;AAAA,IACnC,WAAS,eAAe,KAAK,+BAA+B,KAAK;AAAA,EACnE;AACF;AAEO,IAAM,uBAAuB,CAAC,oBAAoB,YAAY;AACnE,QAAM,cAAc,qBAAqB;AAEzC,SAAO;AAAA,MACH,WAAW;AAAA;AAAA;AAAA,QAGT,uBAAuB,EAAE,KAAK,EAAE,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKjC,sBAAsB,EAAE,KAAK,EAAE,CAAC;AAAA;AAAA;AAGxC;AAEO,IAAM,iBAAiB,MAAM;AAClC,QAAM,QAAQ,SAAS,cAAc,OAAO;AAE5C,QAAM,YAAY,qBAAqB;AACvC,WAAS,KAAK,YAAY,KAAK;AACjC;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,SAAS,OAAO,QAAQ,gCAAgC,CAAC,EAAE;AAAA,IAC/D,YAAU,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAEO,IAAM,sBAAsB,uBAAqB;AACtD,QAAM,SAAS,CAAC;AAChB,QAAM,cAAc,qBAAqB;AAEzC,SAAO,QAAQ,0BAA0B,CAAC,EAAE,QAAQ,YAAU;AAC5D,WAAO,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG;AAAA,EAC1C,CAAC;AAED,SAAO,QAAQ,uBAAuB,CAAC,EAAE,QAAQ,YAAU;AACzD,WAAO,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG;AAAA,EAC1C,CAAC;AAED,SAAO;AAAA,MACH,WAAW;AAAA,QACT,OAAO,KAAK,EAAE,CAAC;AAAA;AAAA;AAGvB;;;ACnPA,IAAAC,iBAAmB;AACnB,IAAAC,gBAAkB;AAOlB,IAAM,kBAAkB,CAAC,UAAuB;AAC9C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,IACF;AACE,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,EACJ;AACF;AAEA,IAAM,gBAAgB,iBAAe,QAAQ,WAAW;AAExD,IAAM,gBAAgB,gBAAc;AAClC,MAAI;AACJ,MAAI;AAEJ,MAAI,eAAe,UAAU;AAC3B,YAAQ,EAAE,CAAC;AACX,aAAS,EAAE,CAAC;AAAA,EACd,WAAW,eAAe,SAAS;AACjC,YAAQ,EAAE,CAAC;AACX,aAAS,EAAE,CAAC;AAAA,EACd,OAAO;AACL,UAAM,YAAY,aAAa,UAAU;AAEzC,YAAQ;AACR,aAAS;AAAA,EACX;AAEA,QAAM,WAAW,cAAc,KAAK;AAEpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AACA,IAAM,gBAAgB,eAAAC,QAAO;AAAA;AAAA,WAIlB,WACP,MAAM,QACF,MAAM,MAAM,WAAW,GAAG,IACxB,MAAM,QACN,mBAAmB,MAAM,KAAK,MAChC,4BAA4B;AAAA;AAAA,IAEhC,UAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOV,WAAS;AAChB,QAAM,EAAE,MAAM,IAAI,cAAc,MAAM,IAAI;AAE1C,SAAO;AACT,CAAC;AAAA,YACS,WAAS;AACjB,QAAM,EAAE,OAAO,IAAI,cAAc,MAAM,IAAI;AAE3C,SAAO;AACT,CAAC;AAAA,eACY,WAAS;AACpB,QAAM,EAAE,SAAS,IAAI,cAAc,MAAM,IAAI;AAE7C,SAAO;AACT,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAYqB,WAClB,MAAM,uBACL,MAAM,kBACH,mBAAmB,MAAM,eAAe,MACxC,0BAA0B;AAAA;AAAA;AAIpC,IAAM,cAAc,eAAAA,QAAO;AAAA;AAAA,WAEhB,WAAS;AAChB,QAAM,EAAE,MAAM,IAAI,cAAc,MAAM,IAAI;AAE1C,SAAO;AACT,CAAC;AAAA,YACS,WAAS;AACjB,QAAM,EAAE,OAAO,IAAI,cAAc,MAAM,IAAI;AAE3C,SAAO;AACT,CAAC;AAAA,eACY,WAAS;AACpB,QAAM,EAAE,SAAS,IAAI,cAAc,MAAM,IAAI;AAE7C,SAAO;AACT,CAAC;AAAA;AAGH,IAAM,SAAS,CAAC,OAaR;AAbQ,eACd;AAAA,cAAU;AAAA,IACV,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EA9If,IAwIgB,IAOX,kBAPW,IAOX;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,aAAa,MAAM;AACvB,QAAI,UAAU;AACZ,aAAO;AAAA,IACT;AAEA,QAAI,UAAU;AACZ,YAAM,SAAS,cAAc,IAAI,EAAE;AACnC,YAAM,QAAQ,cAAc,IAAI,EAAE;AAElC,aACE,8BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,KAAK;AAAA,UACL,KAAK;AAAA,UACL;AAAA,UACA;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,QAAI,QAAQ;AACV,UAAI,SAAS;AACX,eAAO,8BAAAA,QAAA,cAAC,UAAK,cAAY,WAAU,MAAO;AAAA,MAC5C;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,qBAAqB,UAAU,CAAC,YAAY,CAAC;AACnD,QAAM,eAAe,gBAAgB,cAAc,MAAM;AAEzD,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,aAAa;AAAA,MAC9B,OAAO,aAAa;AAAA,OAChB;AAAA,IAEH,WAAW;AAAA,EACd;AAEJ;AAqBA,IAAO,iBAAQ;;;ACtNf,IAAAC,gBAA4B;AAE5B,IAAAA,gBAAkB;AAMlB,IAAM,wBAAwB,CAAC,cAAc,SAAS,cAAc,WAAW;AAC7E,SAAO;AAAA,MACH,WAAW;AAAA;AAAA;AAAA,MAGX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAMa,cAAc,MAAM,CAAC;AAAA,QAC3C,YAAY,SAAS,CAAC;AAAA;AAAA;AAAA,MAGxB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA;AAAA;AAAA;AAAA,MAIX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,MAKX,qBAAqB,WAAW,CAAC;AAAA;AAAA,MAEjC,oBAAoB,WAAW,CAAC;AAAA;AAAA,MAEhC,aAAa,CAAC;AAAA;AAEpB;AAEA,IAAM,aAAa,MAAM,8BAAAC,QAAA,cAAC,wBAAO,YAAQ,mBAAI,sBAAsB,CAAC,GAAG;AAEvE,IAAO,sBAAQ;;;AC5Cf,IAAAC,gBAAoB;AACpB,IAAAC,iBAAmB;AACnB,IAAAD,iBAAmC;AAEnC,yBAA0B;;;ACJ1B,IAAAE,iBAAmB;AACnB,IAAAC,gBAAkB;AAKlB,IAAM,kBAAkB;AAExB,IAAM,cAAc,eAAAC,QAAO;AAAA;AAAA,WAEhB,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxC,WAAS,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,MACrC,WAAS,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMtC,WAAS,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,MACrC,WAAS,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB5C,IAAM,OAAO,CAAC,OAWN;AAXM,eACZ;AAAA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA,EA5CT,IAwCc,IAKT,kBALS,IAKT;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,MAAM,cAAAC,QAAM,OAAO,IAAI;AAE7B,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAO,eAAQ;;;ACnEf,IAAAC,gBAA0B;AAC1B,IAAAC,iBAAmB;AACnB,IAAAD,gBAAkB;AAKlB,IAAM,QAAQ;AACd,IAAM,aAAa;AAEnB,IAAM,QAAQ;AAAA,EACZ,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AACF;AAEA,IAAM,aAAa,WAAS;AAC1B,SAAO,MAAM,MAAM,IAAI,EAAE,YAAY;AACvC;AAEA,IAAM,eAAe,WAAS;AAC5B,SAAO,MAAM,MAAM,IAAI,EAAE;AAC3B;AAEA,IAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAMjB,IAAM,gBAAgB,eAAAE,QAAO;AAAA;AAAA;AAAA,YAGjB,WAAS,aAAa,KAAK,CAAC;AAAA,WAC7B,WAAS,aAAa,KAAK,CAAC;AAAA;AAGvC,IAAM,OAAO,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB,IAAM,aAAa,eAAAA,QAAO;AAAA;AAAA;AAAA,sBAGJ,WAAS,MAAM,YAAY,MAAM,WAAW;AAAA,iBACjD,WAAS,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,cAI3D,WAAS,WAAW,KAAK,CAAC;AAAA,aAC3B,WAAS,WAAW,KAAK,CAAC;AAAA,qBAClB,WAAS,WAAW,KAAK,CAAC;AAAA,wBACvB,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA,iBAG1C,QAAQ,IAAI,KAAK;AAAA,QAC1B,WAAU,MAAM,WAAW,QAAS,UAAU;AAAA;AAAA;AAItD,IAAM,MAAM,CAAC,EAAE,UAAU,OAAO,KAAK,MACnC,8BAAAC,QAAA,cAAC,cAAW,OAAc,UAAoB,MAAY;AAG5D,IAAM,SAAS,CAAC,OASR;AATQ,eACd;AAAA,YAAQ;AAAA,IACR,OAAO;AAAA,EA3ET,IAyEgB,IAGX,kBAHW,IAGX;AAAA,IAFH;AAAA,IACA;AAAA;AAQA,MAAI;AACJ,QAAM,WAAW,CAAC;AAElB,OAAK,IAAI,GAAG,IAAI,YAAY,KAAK;AAC/B,aAAS,KAAK,8BAAAA,QAAA,cAAC,OAAI,OAAc,UAAU,GAAG,MAAY,KAAK,GAAG,CAAE;AAAA,EACtE;AAEA,SACE,8BAAAA,QAAA,cAAC,gCAAc,QAAgB,QAC7B,8BAAAA,QAAA,cAAC,YAAM,QAAS,CAClB;AAEJ;AAEO,IAAM,iBAAiB,OAAO,KAAK,KAAK;AAiB/C,IAAO,iBAAQ;;;AF7Ff,IAAM,cAAc;AAAA,EAClB,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,EAAE,GAAG;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,kBAAkB,WAAS;AAAA,IAC7B,MAAM,aAAa,eAAe;AAAA;AAGtC,IAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,IACP,OAAO,cAAc,MAAM;AAAA,IAC3B,YAAY;AAAA,IACZ,aAAa,cAAc,cAAc;AAAA,IACzC,OAAO,cAAc,iBAAiB;AAAA,IACtC,QAAQ,cAAc,kBAAkB;AAAA,IACxC,oBAAoB,cAAc,SAAS;AAAA,IAC3C,eAAe,cAAc,cAAc;AAAA,IAC3C,gBAAgB,cAAc,eAAe;AAAA,EAC/C;AAAA,EACA,kBAAkB;AAAA,IAChB,OAAO,cAAc,MAAM;AAAA,IAC3B,YAAY,cAAc,mBAAmB;AAAA,IAC7C,aAAa;AAAA,IACb,OAAO,cAAc,wBAAwB;AAAA,IAC7C,QAAQ,cAAc,yBAAyB;AAAA,EACjD;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY,cAAc,SAAS;AAAA,IACnC,aAAa;AAAA,IACb,OAAO,cAAc,cAAc;AAAA,IACnC,QAAQ,cAAc,eAAe;AAAA,EACvC;AAAA,EACA,WAAW;AAAA,IACT,OAAO,cAAc,SAAS;AAAA,IAC9B,YAAY,cAAc,WAAW;AAAA,IACrC,aAAa;AAAA,IACb,OAAO,cAAc,gBAAgB;AAAA,IACrC,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY,cAAc,QAAQ;AAAA,IAClC,aAAa;AAAA,IACb,OAAO,cAAc,aAAa;AAAA,IAClC,QAAQ,cAAc,cAAc;AAAA,EACtC;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,MAAM;AAAA,IAC3B,YAAY,cAAc,SAAS;AAAA,IACnC,aAAa;AAAA,IACb,OAAO,cAAc,cAAc;AAAA,IACnC,QAAQ,cAAc,eAAe;AAAA,IACrC,WAAW,aAAa;AAAA,EAC1B;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,aAAa;AAAA,IAClC,YAAY,cAAc,QAAQ;AAAA,IAClC,aAAa;AAAA,IACb,OAAO,cAAc,aAAa;AAAA,IAClC,QAAQ,cAAc,cAAc;AAAA,EACtC;AAAA,EACA,IAAI;AAAA,IACF,OAAO,cAAc,OAAO;AAAA,IAC5B,YAAY,cAAc,YAAY;AAAA,IACtC,aAAa;AAAA,IACb,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,eAAe,YAAU;AAAA,EAC7B,SAAS;AAAA;AAAA;AAAA,EAGT,UAAU;AAAA,MACN,MAAM,gBAAgB,qBAAqB;AAAA;AAAA,wBAEzB,cAAc,oBAAoB,CAAC;AAAA,aAC9C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAG7C;AAEA,IAAM,cAAc,YAAU;AAAA,EAC5B,MAAM;AAAA;AAAA,iBAES,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA,EAE7C,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,YAAY;AAAA;AAAA;AAAA;AAAA;AAKd;AAEA,IAAM,UAAU,EAAE,CAAC;AAEnB,IAAM,gBAAgB,eAAAC,QAAO;AAAA;AAAA;AAAA,MAGvB,WAAU,MAAM,cAAc,YAAY,MAAM,IAAI,EAAE,SAAS,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUnE,cAAc,MAAM,CAAC;AAAA,mBACN,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA,IAEtD,WACA,MAAM,eAAe,+BAA+B,sBAAsB;AAAA,IAC1E,WAAS,YAAY,KAAK,EAAE,MAAM,KAAK,CAAC;AAAA,YAChC,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,IAC/C,WAAS,YAAY,YAAY,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,IACtD,WAAS,MAAM,cAAc,eAAe,QAAQ,MAAM,EAAE;AAAA,IAC5D,WACA,MAAM,WACF,aAAa,KAAK,EAAE,WACpB,aAAa,KAAK,EAAE,OAAO;AAAA,IAC/B,WACA,CAAC,MAAM,YACP;AAAA,cAEE,cAAc,MAAM,OAAO,EAAE,cACzB,aAAa,cAAc,MAAM,OAAO,EAAE,WAAW,KACrD,MACN;AAAA,kBAEE,MAAM,cAAc,MAAM,YAAY,YAClC,cAAc,MAAM,OAAO,EAAE,qBAC7B,cAAc,MAAM,OAAO,EAAE,UACnC;AAAA;AAAA;AAAA,aAGS,cAAc,MAAM,OAAO,EAAE,KAAK;AAAA,GAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMe,WACZ,MAAM,cAAc,MAAM,YAAY,YAClC,cAAc,MAAM,OAAO,EAAE,gBAC7B,cAAc,MAAM,OAAO,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQ1B,WACZ,MAAM,cAAc,MAAM,YAAY,YAClC,cAAc,MAAM,OAAO,EAAE,iBAC7B,cAAc,MAAM,OAAO,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvC,WACA,MAAM,eAAe,IAAI,mBAAmB,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQtE,IAAM,cAAc,eAAAA,QAAO;AAAA,IAKvB,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,eAAe;AAAA;AAGnB,IAAM,YAAY,eAAAA,QAAO;AAAA;AAAA;AAAA,YAOb,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,WACxC,WAAS,YAAY,MAAM,IAAI,EAAE,MAAM;AAAA,IAC9C,WAAS,MAAM,cAAc,sBAAsB;AAAA,IACnD,eAAe;AAAA;AAGnB,IAAM,gBAAgB,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,kBAAkB,eAAAA,QAAO;AAAA,IAC3B,eAAe;AAAA;AAGnB,IAAM,SAAS,CAAC,OAwBR;AAxBQ,eACd;AAAA,WAAO;AAAA,IACP;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EA7QF,IA4PgB,IAkBX,kBAlBW,IAkBX;AAAA,IAjBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,iBAAiB,QAAQ,iBAAiB,SAAS,OAAO;AAChE,QAAM,oBACJ,cAAc,iBACZ,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAY;AAAA,MACZ,cAAc,WAAW,UAAU;AAAA;AAAA,IAEnC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,cAAc;AAAA,QACpB,OAAM;AAAA,QACN,MAAM,YAAY,IAAI,EAAE;AAAA;AAAA,IAC1B;AAAA,EACF,IACE;AACN,QAAM,kBAAkB,QAAQ,iBAAiB,UAAU,OAAO;AAClE,QAAM,mBACJ,aAAa,kBACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAa,WAAW,UAAU;AAAA,MAClC,cAAa;AAAA;AAAA,IAEb,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,mBAAmB;AAAA,QACzB,OAAM;AAAA,QACN,MAAM,YAAY,IAAI,EAAE;AAAA;AAAA,IAC1B;AAAA,EACF,IACE;AAEN,QAAM,8BAA0B;AAAA,IAC9B,CAAC,UAA+C;AAC9C,UAAI,iBAAiB;AACnB,+BAAAC,SAAc,eAAe;AAAA,MAC/B;AACA,yCAAU;AAAA,IACZ;AAAA,IACA,CAAC,SAAS,eAAe;AAAA,EAC3B;AAEA,SACE,+BAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,KAAK,SAAO,cAAc,WAAW,GAAG;AAAA,OACpC,QAbL;AAAA,MAcC,SACE,oBAAoB,SAAY,UAAU;AAAA;AAAA,IAG3C,aACC,+BAAAA,QAAA,cAAC,qBACC,+BAAAA,QAAA,cAAC,kBAAO,OAAM,gBAAe,CAC/B;AAAA,IAED;AAAA,IACA,WACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QAEC,KAAI;AAAA,QACJ,YAAY,QAAQ,QAAQ;AAAA,QAC5B,KAAK;AAAA,QACL;AAAA,QAEA,QAAQ,YAAY,IAAI,EAAE;AAAA,QAC1B,OAAO,YAAY,IAAI,EAAE;AAAA,QACzB;AAAA;AAAA,IACF;AAAA,IAEF,+BAAAA,QAAA,cAAC,mBAAgB,aAAuB,QAAS;AAAA,IAChD;AAAA,EACH;AAEJ;AAkEO,IAAME,kBAAiB,OAAO,KAAK,WAAW;AAC9C,IAAM,oBAAoB,OAAO,KAAK,aAAa;AAI1D,IAAO,iBAAQ;;;AG/af,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,gBAAgB,eAAAC,QAAO;AAAA,aAChB,WAAU,MAAM,WAAW,iBAAiB,OAAQ;AAAA;AAAA,IAE7D,WAAS,QAAQ,WAAW,MAAM,GAAG,CAAC;AAAA,IACtC,WAAS,QAAQ,eAAe,MAAM,GAAG,CAAC;AAAA,IAC1C,WAAS,QAAQ,iBAAiB,MAAM,KAAK,CAAC;AAAA,IAC9C,WAAS,QAAQ,kBAAkB,MAAM,MAAM,CAAC;AAAA,IAChD,WAAS,QAAQ,gBAAgB,MAAM,IAAI,CAAC;AAAA;AAGhD,IAAM,SAAS,CAAC,OAgBX;AAhBW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAzBF,IAgBgB,IAUX,kBAVW,IAUX;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,KAAK,KAAK;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAAA;AAeF,IAAO,iBAAQ;;;AC1Df,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkC;;;ACDlC,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,uBAAuB;AAAA,EAC3B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AACf;AAEA,IAAM,gBAAgB,CACpB,cAWG;AACH,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC5B,WAAO,UAAU;AAAA,MACf,wBAAsB,qBAAqB,kBAAkB;AAAA,IAC/D;AAAA,EACF;AAEA,MAAI,OAAO,cAAc,UAAU;AACjC,UAAM,6BAA6B,CAAC;AAEpC,WAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,aAAQ,2BAA2B,GAAG,IAAI,qBAAqB,KAAK;AAAA,IACtE,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAO,qBAAqB,SAAS;AACvC;AAEA,IAAM,eAAe,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA,IAIxB,WAAS,mBAAmB,eAAe,cAAc,MAAM,SAAS,CAAC,CAAC;AAAA;AAG9E,IAAM,QAAQ,CAAC,OAUP;AAVO,eACb;AAAA;AAAA,IACA,YAAY;AAAA,IACZ,UAAU;AAAA,EA5DZ,IAyDe,IAIV,kBAJU,IAIV;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAQA,SACE,+BAAAC,QAAA,cAAC,+BAAa,WAAsB,IAAI,WAAa,QAClD,QACH;AAEJ;AAEO,IAAM,sBAAsB,OAAO,KAAK,oBAAoB;AAoDnE,IAAO,gBAAQ;;;AC/Hf,IAAAC,iBAAmB;AACnB,IAAAC,iBAAkB;AAWlB,IAAM,wBAAwB,CAAC,MAAM,OAAO,UAAU;AACpD,QAAM,cAAc,QAAQ,QAAQ;AACpC,QAAM,cAAc,aAAa,KAAK;AACtC,QAAM,cAAc,GAAG,WAAW,UAAU,cAAc,WAAW,CAAC;AAEtE,MAAI,MAAM;AACR,QAAI,SAAS,OAAO;AAClB,aAAO,WAAW,WAAW;AAAA,IAC/B;AAEA,WAAO,UAAU,IAAI,KAAK,WAAW;AAAA,EACvC;AACF;AAEA,IAAM,mBAAmB,eAAAC,QAAO;AAAA,IAC5B,WAAS,MAAM,YAAY,aAAa,MAAM,QAAQ,EAAE;AAAA,IACxD,WAAS,MAAM,YAAY,aAAa,MAAM,QAAQ,EAAE;AAAA,IACxD,WACA,MAAM,mBACN,qBAAqB,cAAc,MAAM,eAAe,CAAC,EAAE;AAAA,IAC3D,WACA,MAAM,mBAAmB,qBAAqB,MAAM,eAAe,EAAE;AAAA,IACrE,WACA,MAAM,gBAAgB,UAAU,cAAc,MAAM,YAAY,CAAC,EAAE;AAAA,IACnE,WACA;AAAA,EACE,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA,IACD,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,IAChC,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,IAChC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,WAAW,MAAM,OAAO,CAAC;AAAA,IAC1C,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,WAAS,QAAQ,kBAAkB,MAAM,aAAa,CAAC;AAAA,IACvD,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACrD,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAClC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,QAAQ,MAAM,IAAI,CAAC;AAAA,IACpC,WAAS,MAAM,UAAU,YAAY,MAAM,MAAM,EAAE;AAAA;AAGvD,IAAM,YAAY,CAAC,OA6CX;AA7CW,eACjB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAzGF,IAmEmB,IAuCd,kBAvCc,IAuCd;AAAA,IAtCH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,MAC1B,YAAY,YAAY;AAAA,MACxB,eAAe,YAAY;AAAA,MAC3B;AAAA,MACA,YAAY,WAAW;AAAA,MACvB,aAAa,WAAW;AAAA,MACxB,WAAW,WAAW;AAAA,MACtB,cAAc,WAAW;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,SAAO,cAAc,WAAW,GAAG;AAAA,OACpC;AAAA,IAEH;AAAA,EACH;AAEJ;AAuGA,IAAO,oBAAQ;;;AF1Of,IAAMC,eAAgC;AAAA,EACpC,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS,EAAE,IAAI;AAAA,IACf,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,EAAE,CAAC;AAAA,IACX,OAAO,EAAE,CAAC;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,iBAAiB,EAAE,GAAG;AAAA,IACtB,2BAA2B,EAAE,GAAG;AAAA,IAChC,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,oBAAoB,CACxB,UACoB;AACpB,MAAI,UAAU,MAAM,QAChBA,aAAY,MAAM,SAAS,EAAE,kBAC7BA,aAAY,MAAM,SAAS,EAAE;AAGjC,MAAI,MAAM,SAAS,YAAY;AAC7B,cAAU,QACRA,aAAY,MAAM,SAAS,EAAE,yBAC/B,MAAM,OAAO;AAAA,EACf;AAEA,SAAO;AACT;AAEA,IAAM,aAAa,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA,YAId,WAASD,aAAY,MAAM,SAAS,EAAE,MAAM;AAAA;AAAA;AAAA,sBAGlC,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIxC,WACd,MAAM,OACFA,aAAY,MAAM,SAAS,EAAE,kBAC7BA,aAAY,MAAM,SAAS,EAAE,OAAO;AAAA,mBACzB,WAAS,kBAAkB,KAAK,CAAC;AAAA,mBACjC,WAASA,aAAY,MAAM,SAAS,EAAE,MAAM;AAAA;AAAA,MAEzD,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA,IAExE,WAAS,YAAYA,aAAY,MAAM,SAAS,EAAE,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAalD,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAM,oBAAoB,eAAAC,QAAO;AAAA;AAAA;AAAA;AAKjC,IAAMC,eAAc,eAAAD,QAAO;AAAA;AAAA;AAAA,WAGhB,WAASD,aAAY,MAAM,IAAI,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjD,IAAM,QAAQ,eAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,eAAe,eAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOjB,WAASD,aAAY,MAAM,IAAI,EAAE,KAAK;AAAA;AAAA;AAAA;AAKjD,IAAM,gBAAY;AAAA,EAChB,CACE,IAeA,QACG;AAhBH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,IA7KN,IAiKI,IAaK,kBAbL,IAaK;AAAA,MAZH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,aACJ,+BAAAG,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,SACI;AAAA,IACN;AAGF,WAAO,QAAQ,QACb,+BAAAA,QAAA,cAAC,yBACE,QACC,+BAAAA,QAAA,cAACD,cAAA,EAAY,QACV,OAAO,SAAS,WACf,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAO;AAAA,QACP,OAAOH,aAAY,IAAI,EAAE;AAAA,QACzB,QAAQA,aAAY,IAAI,EAAE;AAAA,QAC1B,UAAS;AAAA;AAAA,MAET,+BAAAG,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAAC,SAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD;AAAA,IACF,IAEA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAMH,aAAY,IAAI,EAAE;AAAA,QACxB,OAAO,cAAc,aAAa,oBAAoB,MAAM;AAAA;AAAA,IAC9D,CAEJ,GAED,YACA,SAAS,+BAAAG,QAAA,cAAC,gBAAa,QAAa,KAAM,CAC7C,IAEA;AAAA,EAEJ;AACF;AAwCA,IAAO,qBAAQ;;;AG5Qf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAWlB,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AACX;AAEA,IAAI,gBAAgB;AAEpB,IAAM,cAAc,UAAQ;AAC1B,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,WAAO,CAAC,IAAI;AAAA,EACd;AAEA,SAAO;AACT;AAEA,IAAM,cAAc,CAAC,OAAO,wBAAwB;AAClD,MAAI,MAAM,WAAW,qBAAqB;AACxC,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,MAAM,MAAM,SAAS,CAAC;AAEvC,SAAO,CAAC,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,QAAQ;AAC3E;AAEA,IAAM,qBAAqB,CAAC,WAAW,QAAQ;AAC7C,QAAM,sBAAsB,KAAK;AAAA,IAC/B,YAAY,SAAS,EAAE;AAAA,IACvB,YAAY,GAAG,EAAE;AAAA,EACnB;AAEA,QAAM,YAAY,YAAY,YAAY,GAAG,GAAG,mBAAmB;AACnE,QAAM,kBAAkB;AAAA,IACtB,YAAY,SAAS;AAAA,IACrB;AAAA,EACF;AAEA,QAAM,mBAAmB;AACzB,QAAM,eAAe,UAAU,IAAI,CAAC,SAAS,UAAU;AACrD,UAAM,YAAY,GAAG,aAAa,OAAO,CAAC;AAC1C,UAAM,cAAc,SAAS,aAAa,OAAO,CAAC;AAElD,UAAM,cACJ,gBAAgB,KAAK,MAAM,WAAW,YAAY;AAEpD,WAAO,GAAG,gBAAgB,aAAa,WAAW;AAAA,EACpD,CAAC;AAED,QAAM,qBAAqB,gBAAgB;AAAA,IACzC,mBAAiB,mBAAmB,aAAa;AAAA,EACnD;AAEA,SACE,mBAAmB,YAAY,IAAI,mBAAmB,kBAAkB;AAE5E;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA;AAAA;AAAA,IAG7B,WAAS,mBAAmB,MAAM,eAAe,MAAM,GAAG,CAAC;AAAA,IAC3D,WAAS,mBAAmB,MAAM,WAAWD,WAAU,CAAC;AAAA,IACxD,WACA,MAAM,YACN;AAAA,EACE;AAAA,EACA,CAAC,iBAAiB,SAAS;AAAA,EAC3B,MAAM;AACR,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOL,IAAM,aAAa,CAAC,OAaZ;AAbY,eAClB;AAAA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,EA/FZ,IAyFoB,IAOf,kBAPe,IAOf;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,CAAC,eAAe;AAElB,YAAQ,KAAK,2BAA2B;AACxC,oBAAgB;AAAA,EAClB;AAEA,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf,WAAW;AAAA,MACX;AAAA,MACA,IAAI;AAAA,OACA;AAAA,IAEH;AAAA,EACH;AAEJ;AAGO,IAAMC,uBAAsB,OAAO,KAAKC,WAAU;AAsCzD,IAAO,qBAAQ;;;AClKf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDlB,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAalB,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA,IAE1B,WAAS,mBAAmB,eAAe,MAAM,UAAU,CAAC;AAAA,IAC5D,WAAS,mBAAmB,mBAAmB,MAAM,cAAc,CAAC;AAAA,IACpE,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WACA,CAAC,MAAM,WACP,CAAC,MAAM,QACP,CAAC,MAAM,YACP,wBAAwB;AAAA,IACxB,WAAS,0BAA0B,MAAM,SAAS,SAAS,CAAC;AAAA,IAC5D,WAAS,0BAA0B,MAAM,MAAM,MAAM,CAAC;AAAA,IACtD,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAClC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA;AAAA,IAE/C,WACA,MAAM,YAAY,mBAAmB,kBAAkB,MAAM,QAAQ,CAAC;AAAA,IACtE,WACA,MAAM,WACN,MAAM,YACN,mBAAmB,kBAAkB,MAAM,QAAQ,CAAC;AAAA,IACpD,WAAS,iBAAiB,MAAM,EAAE,CAAC;AAAA;AAGvC,IAAM,UAAU,CAAC,OAyBT;AAzBS,eACf;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EAlEF,IAgDiB,IAmBZ,kBAnBY,IAmBZ;AAAA,IAlBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AA8CA,IAAO,kBAAQ;;;ACnJf,qBAAwB;AACxB,IAAAC,UAAuB;AAEhB,SAAS,mBAAmB;AACjC,SAAO,sCAAC,eAAAC,SAAA,EAAY,OAAM,IAAG,QAAO,sBAAqB;AAC3D;;;AFaA,IAAM,uBAAuB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAepC,IAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAA2B;AACzB,MAAI,CAAC,aAAa;AAChB,WAAO,+BAAAC,QAAA,6BAAAA,QAAA,gBAAG,QAAS;AAAA,EACrB;AAEA,SACE,+BAAAA,QAAA,cAAC,4BACC,+BAAAA,QAAA,cAAC,mBAAQ,UAAS,OAAM,KAAI,WACzB,UACA,eACC,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,YACX,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,sBAAiB,GAAI,MAAM,GAAG,OAAM,UAAS,GAC1D,+BAAAA,QAAA,cAAC,gBAAK,MAAK,WAAU,OAAM,YACxB,YACH,CACF,IACE,IACN,CACF;AAEJ;AAEA,IAAO,0BAAQ;;;AG3Df,IAAAC,kBAAmB;AACnB,IAAAC,iBAAiC;AAMjC,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACP;AAEA,IAAM,gBAAgB,gBAAAC,QAAO;AAAA;AAAA,IAEzB,WAAS,mBAAmB,MAAM,WAAWD,WAAU,CAAC;AAAA;AAAA;AAAA,MAGtD,WAAS,MAAM,OAAO,QAAQ,eAAe,MAAM,GAAG,CAAC;AAAA;AAAA;AAI7D,IAAM,uBAAuB,gBAAAC,QAAO;AAAA;AAAA;AAAA,IAGhC,WAAS,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IACtC,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAU,MAAM,QAAQ,mBAAmB,cAAe;AAAA;AAGvD,IAAM,gBAAgB,CAAC,OAKgD;AALhD,eAC5B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EAjCF,IA8B8B,IAIzB,kBAJyB,IAIzB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAIA,UAAQ,KAAK,uBAAuB;AAEpC,SACE,+BAAAC,QAAA,cAAC,uCAAqB,OAAc,YAAwB,QACzD,QACH;AAEJ;AAGA,IAAM,SAAN,cAAqB,yBAAuB;AAAA,EAG1C,SAAS;AAEP,YAAQ,KAAK,uBAAuB;AAEpC,WAAO,+BAAAA,QAAA,cAAC,kCAAkB,KAAK,QAAQ,KAAK,MAAM,QAAS;AAAA,EAC7D;AACF;AATM,OACG,UAAU;AAuBnB,IAAO,iBAAQ;;;ACvEf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAOlB,IAAM,aAAa;AAAA,EACjB,OAAO;AAAA,IACL,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,MAAM,EAAE,CAAC;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,gBAAgB,gBAAAC,QAAO;AAAA,sBACd,WAClB;AAAA,EACE,MAAM,WAAW,qBAAqB,MAAM;AAC9C,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,WAKX,WAAS,WAAW,MAAM,IAAI,EAAE,IAAI;AAAA,YACnC,WAAS,WAAW,MAAM,IAAI,EAAE,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAQ7B,WAAS,WAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKjC,WAClB,cAAc,MAAM,WAAW,qBAAqB,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpD,cAAc,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,aAI5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAWxB,WAAS,WAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA,MAIrD,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAepB,IAAM,aAAa,eAAAC,QAAM;AAAA,EACvB,CACE,IAYA,QACA;AAbA,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,UAAU;AAAA,IApGhB,IA2FI,IAUK,kBAVL,IAUK;AAAA,MATH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,0CAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,cAAY;AAAA,QACZ,SAAS,YAAY,WAAW,UAAU;AAAA,QAC1C;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,IAAI;AAAA,QACJ;AAAA,SACI;AAAA,MAEJ,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM,WAAW,IAAI,EAAE;AAAA,UACvB,OAAO,aAAa,oBAAoB;AAAA;AAAA,MAC1C;AAAA,IACF;AAAA;AAEJ;AAEA,WAAW,cAAc;AAuBzB,IAAO,sBAAQ;;;ACpJf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAqD;AAIrD,IAAM,mBAAmB,WACvB,+BAAAC,QAAA,cAAC,wBAAI,OAAO,IAAI,QAAQ,GAAG,SAAQ,YAAW,MAAK,UAAW,QAC5D,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA,IACF,MAAK;AAAA;AACP,CACF;AAGF,IAAM,mBAAmB,WACvB,+BAAAA,QAAA,cAAC,wBAAI,OAAO,IAAI,QAAQ,GAAG,SAAQ,YAAW,MAAK,UAAW,QAC5D,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA,IACF,MAAK;AAAA;AACP,CACF;AAGF,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK/B,IAAM,gBAAgB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAWH,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKrB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAUvB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA,eAG5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKzC,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,aAKP,cAAc,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYxC,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA,WAEhB,EAAE,IAAI,CAAC;AAAA,YACN,EAAE,IAAI,CAAC;AAAA,mBACA,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,IAAM,eAAW;AAAA,EACf,CACE,IASA,QACG;AAVH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAtGN,IAgGI,IAOK,kBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,iBAAa,uBAAyB;AAC5C,UAAM,cACH,OAAoD;AAEvD,UAAM,YAAY;AAAA,MAChB,aAAa,oBAAoB;AAAA,IACnC;AAEA,kCAAU,MAAM;AACd,kBAAY,QAAQ,gBAAgB;AAAA,IACtC,CAAC;AAED,WACE,+BAAAD,QAAA,cAAC,uBACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACL,gBAAc;AAAA,SACV;AAAA,IACN,GACA,+BAAAA,QAAA,cAAC,eAAY,WAAU,iBACrB,+BAAAA,QAAA,cAAC,oBAAiB,WAAU,kBAAiB,OAAO,WAAW,GAC/D,+BAAAA,QAAA,cAAC,oBAAiB,WAAU,kBAAiB,OAAO,WAAW,CACjE,CACF;AAAA,EAEJ;AACF;AAWA,IAAO,mBAAQ;;;ACtJf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAkB;AAclB,IAAMC,cAAa;AAAA,EACjB,OAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,GAAG;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ,EAAE,CAAC;AAAA,IACX,QAAQ;AAAA,EACV;AACF;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,sBACX,WAClB,MAAM,WAAW,cAAc,kBAAkB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAQ1D,WAASD,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA;AAAA;AAAA,WAGvC,WAAS,cAAc,MAAM,SAAS,MAAM,CAAC;AAAA,IACpD,cAAc,MAAM,CAAC;AAAA,mBACN,WAASA,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA,IACrD,WAAS,YAAYA,YAAW,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,eAC1C,WAASA,YAAW,MAAM,IAAI,EAAE,MAAM;AAAA,IACjD,WACA,MAAM,cACN,UAAU,MAAM,UAAU,eAAeA,YAAW,MAAM,IAAI,EAAE,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQvE,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASI,WAClB,cAAc,MAAM,WAAW,qBAAqB,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpD,cAAc,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,aAI5C,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAY7C,IAAM,aAAa,eAAAE,QAAM;AAAA,EACvB,CACE,IAYA,QACG;AAbH,iBACE;AAAA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IA7GN,IAoGI,IAUK,kBAVL,IAUK;AAAA,MATH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,gBACJ,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa,iBAAiB,WAAW;AAAA,QACzC,cAAc,iBAAiB,UAAU;AAAA,QACzC,SAAQ;AAAA;AAAA,MAER,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAMF,YAAW,IAAI,EAAE;AAAA,UACvB,OAAO,aAAa,kBAAkB;AAAA;AAAA,MACxC;AAAA,IACF;AAGF,WACE,+BAAAE,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,SACI;AAAA,MAEH,QAAQ,iBAAiB,UAAU;AAAA,MACnC;AAAA,MACA,QAAQ,iBAAiB,WAAW;AAAA,IACvC;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AA2BzB,IAAO,sBAAQ;;;AChLf,IAAAC,kBAAmB;AACnB,uBAAsB;AACtB,IAAAC,iBAKO;AAEP,wBAAyB;AACzB,sCAA2B;;;ACVpB,IAAM,0BAA0B,eAAa;AAApD;AACE,QAAM,YAAW,2EAAe,gBAAf;AAEjB,MAAI,OAAO,QAAQ,MAAM,uBAAuB;AAG9C,aAAS,gBAAgB,IAAI,SAC3B,SAAS,cAAc,cAAc,GAAG,IAAI;AAE9C,UAAM,oBAAoB,SAAS,cAAc,KAAK;AAEtD,sBAAkB,KAAK;AACvB,sBAAkB,MAAM,UAAU;AAElC,aAAS,YAAY,iBAAiB;AAItC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,kBAAkB,SAAS,iBAAiB,KAAK,QAAQ;AAAA,MACzD,qBAAqB,SAAS,oBAAoB,KAAK,QAAQ;AAAA,IACjE;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;AC9BA,IAAAC,iBAAkB;AAEX,IAAM,kBAAkB,CAAC,SAA0B;AACxD,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,MACE,OAAO,SAAS,YAChB,OAAO,SAAS,aAChB,OAAO,SAAS,UAChB;AACA,WAAO,KAAK,SAAS;AAAA,EACvB;AAEA,MAAI,SAAS,QAAQ,SAAS,QAAW;AACvC,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,IAAI,GAAG;AACpB,WAAO,MAAM,KAAK,IAAI,EAAE,IAAI,eAAe,EAAE,KAAK,EAAE;AAAA,EACtD;AAEA,MACE,OAAO,SAAS,YAChB,WAAW,QACX,KAAK,SACL,KAAK,MAAM,aAAa,QACxB;AACA,WAAO,gBAAgB,KAAK,MAAM,QAAQ;AAAA,EAC5C;AAEA,SAAO;AACT;AAEA,IAAM,aAAa,CACjB,SACsC;AACtC,SAAO,OAAO,KAAK,OAAO,QAAQ,MAAM;AAC1C;;;ACvCA,IAAAC,UAAuB;AAEhB,SAAS,iBAAiB;AAC/B,SACE,sCAAC,UAAK,eAAa,MAAM,eAAY,wBACnC,sCAAC,SAAI,SAAQ,iBACX;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,UAAS;AAAA,MACT,GAAE;AAAA,MACF,UAAS;AAAA;AAAA,EACX,CACF,CACF;AAEJ;;;ACfA,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDlB,wBAA0B;AAC1B,IAAAC,UAAuB;AAEhB,SAAS,WAAW;AACzB,SAAO,sCAAC,kBAAAC,SAAA,EAAc,OAAM,IAAG,QAAO,sBAAqB;AAC7D;;;ACLA,mBAAsB;AACtB,IAAAC,UAAuB;AAEhB,SAAS,WAAW;AACzB,SAAO,sCAAC,aAAAC,SAAA,EAAU,OAAM,IAAG,QAAO,sBAAqB;AACzD;;;AFwBO,IAAM,gBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,CAAC,SAAS,GAAG;AAAA,EACb,CAAC,UAAU,GAAG;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AACX;AAEA,IAAM,gBAAgB,gBAAAC,QAAO;AAAA,sBACP,cAAc,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA,IAI1C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IAC7C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,aACtC,WAAS,MAAM,MAAM;AAAA,sBACZ,cAAc,QAAQ,CAAC;AAAA,IACzC,UAAU,QAAQ,CAAC;AAAA,IACnB,UAAU,KAAK,CAAC;AAAA;AAAA;AAIpB,IAAM,gBAAgB,gBAAAA,QAAO;AAAA;AAAA;AAI7B,IAAM,cAAc,gBAAAA,QAAO;AAAA,aACd,WACT,MAAM,SAAS,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ7D,IAAM,kBAAkB,gBAAAA,QAAO;AAAA,aAClB,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS,MAAO;AAAA;AAAA,2BAE5B,WAAS,MAAM,OAAO;AAAA,IAC7C,QAAQ,YAAY,OAAO,CAAC;AAAA,IAC5B,UAAU,KAAK,CAAC;AAAA;AAAA,gBAEJ,EAAE,CAAC,CAAC;AAAA,eACL,EAAE,CAAC,CAAC;AAAA,YACP,WAAU,MAAM,aAAa,YAAY,SAAU;AAAA;AAAA;AAAA,MAGzD,mBAAmB,CAAC;AAAA;AAAA,IAEtB,WACA,MAAM,iBACN,CAAC,MAAM,cACP;AAAA,wBACoB,cAAc,iBAAiB,CAAC;AAAA,GACrD;AAAA,IACC,WACA,MAAM,gBACN,MAAM,iBACN,CAAC,MAAM,cACP;AAAA;AAAA,MAEE,mBAAmB,CAAC;AAAA,GACvB;AAAA,IACC,WACA,MAAM,cACN;AAAA;AAAA,kBAEc,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA,8BAGQ,cAAc,QAAQ,CAAC;AAAA;AAAA,aAExC,EAAE,IAAI,CAAC;AAAA,cACN,EAAE,IAAI,CAAC;AAAA,2BACM,EAAE,CAAC,CAAC;AAAA;AAAA,GAE5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYC,WACA,MAAM,oBAAoB,MAAM,gBAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQA,EAAE;AAAA;AAGV,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGhD,IAAM,WAAW,CAAC,OAW2C;AAX3C,eACvB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,EAzJrB,IAgJyB,IAUpB,kBAVoB,IAUpB;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,aAAa,SAAS;AAC1C,QAAM,aAAa,OAAO,SAAS;AACnC,QAAM,UAAU,GAAG,UAAU,QAAQ,WAAW;AAChD,QAAM,QAAQ,aAAa,oBAAoB;AAC/C,QAAM,eAAe,eACjB,iCACK,QADL;AAAA,IAEE,MAAM;AAAA,EACR,KACA;AAEJ,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,aAAa,KAAK;AAAA,MAC5B,oBAAkB,iBAAiB;AAAA,MACnC;AAAA,OACI;AAAA,IAEH,SACE,OAAO,SAAS,WACf,+BAAAA,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAACD,QAAA,EAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD,CACF,IAEA,+BAAAC,QAAA,cAAC,gBAAK,MAAY,OAAc;AAAA,IAEpC,+BAAAA,QAAA,cAAC,gBAAK,OAAc,aAAW,QAC5B,QACH;AAAA,IACC,cACC,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,UAAK,WAAU,cAAa,eAAY,UACvC,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,cAAS,GAAI,OAAc,CAC1C,GACA,+BAAAA,QAAA,cAAC,UAAK,WAAU,iBAAgB,eAAY,UAC1C,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,cAAS,GAAI,OAAc,CAC1C,CACF;AAAA,EAEJ;AAEJ;AAEA,IAAM,OAAO,CAAC,OAWgD;AAXhD,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB,MAAM;AAAA,IAC3B;AAAA,EAvNF,IA8Mc,IAUT,kBAVS,IAUT;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,4BAA4B,OAC9B,iCACK,mBAAmB,IADxB;AAAA,IAEE;AAAA,EACF,KACA,mBAAK,mBAAmB;AAE5B,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI,4BACA;AAAA,IAEH,UAAU,+BAAAA,QAAA,cAAC,qBAAe,MAAO;AAAA,IAClC,+BAAAA,QAAA,cAAC,eAAY,UAAiB,QAAS;AAAA,EACzC;AAEJ;AA6BA,IAAO,eAAQ;;;AG5Qf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDlB,oBAAuB;AACvB,IAAAC,UAAuB;AAEhB,SAAS,YAAY;AAC1B,SAAO,sCAAC,cAAAC,SAAA,EAAW,OAAM,IAAG,QAAO,sBAAqB;AAC1D;;;ADEA,IAAM,qBAAqB,gBAAAC,QAAO;AAAA,aACrB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AAAA,mBACV,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAKzB,IAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,aAAa,gBACf,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC,IACD,EAAE,aAAa,OAAO,MAAM,OAAgB;AAGhD,QAAM,eAAe,CAAC,MAA2C;AAE/D,QAAI,WAAW,UAAU;AACvB,iBAAW,SAAS,CAAC;AAAA,IACvB;AAEA,aAAS,CAAC;AAAA,EACZ;AAEA,SACE,+BAAAC,QAAA,cAAC,0BACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,MAAM,+BAAAA,QAAA,cAAC,eAAU;AAAA,OACb,aAHL;AAAA,MAIC,UAAU;AAAA;AAAA,EACZ,CACF;AAEJ;AAEA,IAAO,qBAAQ;;;AP5Bf,IAAM,0BAA0B;AAEhC,IAAM,gBAAgB,gBAAAC,QAAO;AAAA;AAAA;AAI7B,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMR,WAAS,MAAM,OAAO;AAAA,IAC7C,QAAQ,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,gBAIhB,EAAE,GAAG,CAAC;AAAA,eACP,EAAE,GAAG,CAAC;AAAA,WACV,cAAc,MAAM,CAAC;AAAA;AAAA,sBAEV,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,MAIpD,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA;AAAA;AAAA,QAIpE,WACA,MAAM,WACF,4BACA,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAczB,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAM3D,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMR,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,QAAQ,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAMrB,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,IAAM,YAAY,CAChB,YAEA,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,KAAK,WAAW,QAAQ,CAAC;AAEtE,IAAM,0BAA0B,CAAC,EAAE,SAAS,oBAAoB,MAAM;AACpE,MAAI,CAAC,WAAW,CAAC,qBAAqB;AACpC,WAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EACnC;AAEA,MAAI,UAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM;AAAA,QAC7B,UAAQ,KAAK,UAAU;AAAA,MACzB;AACA,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,YAAY,QAAQ,KAAK,UAAQ,KAAK,UAAU,mBAAmB;AACzE,WAAO,aAAa,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EAChD;AAEA,SAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AACnC;AAEA,IAAM,UAAU,CAAC,EAAE,SAAS,cAAc,oBAAoB,MAAM;AAClE,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AACF;AAEA,IAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AAEA,SAAO;AACT;AAEA,IAAM,8BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,eACf,qBAAqB,aAAa,KAAK,KACvC;AAEJ,QAAM,cAAc,+DAAyB;AAC7C,SAAO;AAAA,IACL,iBAAiB;AAAA;AAAA,IAEjB,yBAAyB,cAAc,EAAE,uBAAuB;AAAA;AAAA,IAEhE,cAAc,CAAC,cAAc,aAAa,UAAU,EACjD,OAAO,OAAO,EACd,KAAK,IAAI;AAAA,EACd;AACF;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4E;AAC1E,QAAM,OAAO,QAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AACnE,QAAM,UAAU,QAAQ,IAAI;AAE5B,QAAM,iBAAiB,CAAC,uBAAuB,CAAC;AAChD,QAAM,aAAa,UAAU,SAAS;AACtC,QAAM,UAAU,GAAG,UAAU;AAC7B,QAAM,QAAQ,aAAa,oBAAoB;AAE/C,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA,oDACK,qBAAqB,IACrB,4BAA4B;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,IARF;AAAA,MASC,UAAU,cAAc;AAAA,MACxB,UAAU;AAAA,MACV;AAAA,MACA;AAAA;AAAA,IAEC,YACE,OAAO,SAAS,WACf,+BAAAA,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAACD,QAAA,EAAM,KAAK,MAAM,KAAI,IAAG,YAAwB,CACnD,CACF,IAEA,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,QAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AAAA,QAC5D;AAAA;AAAA,IACF;AAAA,IAEJ,+BAAAA,QAAA,cAAC,gBAAK,aAAW,MAAC,OAAO,iBAAiB,eAAe,aACtD,SAAS;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,CACH;AAAA,IACA,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,oBAAe,GAAI,OAAc;AAAA,EAChD;AAEJ;AAEA,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cAAc,MAAM;AACxB,WAAO,kCACF,qBAAqB,IACrB,4BAA4B;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEL;AACA,QAAM,kBAAkB,MAAiC;AACvD,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AAEA,QAAI,qBAAqB;AACvB,aAAO,wBAAwB,EAAE,SAAS,oBAAoB,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,iBAAiB,iCAClB,gBAAgB,IADE;AAAA,IAErB,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO,QAAQ,gBAAgB,YAAY,CAAC;AAC9C;AAEA,IAAM,oBAAoB,CACxB,OACA,YAC8B;AAC9B,MAAI,UAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM,KAAK,UAAQ,KAAK,UAAU,KAAK;AAChE,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAO,QAAQ,KAAK,UAAQ,KAAK,UAAU,KAAK;AAAA,EAClD;AACF;AAEA,IAAM,eAAe,CACnB,MACA,OACA,cACA,qBACA,kBACA,cACA,cACA,iBACA,iBAAiB,UACd;AACH,QAAM,aACH,CAAC,gBAAgB,KAAK,UAAU,uBAChC,gBAAgB,aAAa,UAAU,KAAK;AAC/C,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,OACT,aAAa;AAAA,MACf,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,iBAAiB;AAAA,MACjB,aAAa,MAAM;AACjB,YAAI,cAAc;AAChB,0BAAgB,KAAK;AAAA,QACvB;AAAA,MACF;AAAA,IACF,CAAC,IAhBF;AAAA,MAiBC,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,eAAe,qBAAqB;AAAA,MACpC,cAAc,gBAAgB,qBAAqB;AAAA,MACnD;AAAA,MACA,kBAAkB,kBAAkB;AAAA;AAAA,IAEnC,KAAK;AAAA,EACR;AAEJ;AAEA,IAAM,aAAa,CAAC,OAWd;AAXc,eAClB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA5WF,IAmWoB,IAUf,sBAVe,IAUf;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,UAAU,OAAO,GAAG;AACvB,WACE,+BAAAA,QAAA,cAAC,+BAAK,UAAoB,YACvB,QAAQ;AAAA,MAAI,CAAC,MAAM,UAClB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB;AACrB,SACE,+BAAAA,QAAA,cAAC,+BAAK,UAAoB,YACvB,QAAQ,IAAI,WAAS;AACpB,UAAM,UAAU,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AACzD,WACE,+BAAAA,QAAA,cAAC,QAAG,KAAK,WACP,+BAAAA,QAAA,cAAC,kBAAO,MAAK,UAAS,KAAI,SAAQ,QAAO,YACvC,+BAAAA,QAAA,cAAC,gBAAK,IAAI,SAAS,MAAK,WAAU,YAAW,UAC1C,MAAM,KACT,CACF,GACA,+BAAAA,QAAA,cAAC,SAAM,MAAK,SAAQ,mBAAiB,WAClC,MAAM,MAAM,IAAI,UAAQ;AACvB,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC,CACH,CACF;AAAA,EAEJ,CAAC,CACH;AAEJ;AAEA,IAAM,SAAS,CAAC,OA2BR;AA3BQ,eACd;AAAA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,EAzbnB,IAqagB,IAqBX,kBArBW,IAqBX;AAAA,IApBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAzbF,MAAAC;AAicE,QAAM,cAAc,wBAAwB,SAAS;AAErD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAS,KAAK;AAC5D,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AAEtD,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,EAAE;AAEjD,QAAM,iBAAiB,CAAC,MAA2C;AAxcrE,QAAAA;AAycI,UAAM,QAAQ,EAAE,OAAO;AACvB,mBAAe,KAAK;AAEpB,KAAAA,MAAA,iCAAQ,aAAR,gBAAAA,IAAA,aAAmB;AAAA,EACrB;AAEA,QAAM,CAAC,cAAc,eAAe,QAAI;AAAA,KACtCA,MAAA,kBAAkB,qBAAqB,OAAO,MAA9C,OAAAA,MAAmD;AAAA,EACrD;AAEA,QAAM,oBAAoB,UAAQ;AAEhC,UAAM,sBACH,gBAAgB,QAAQ,KAAK,UAAU,aAAa,SACpD,CAAC,gBAAgB,QAAQ,KAAK,UAAU;AAE3C,QAAI,kBAAkB,qBAAqB;AACzC,sBAAgB,IAAI;AACpB,yBAAmB,KAAK;AAExB,kBAAY,SAAS,IAAW;AAAA,IAClC,OAAO;AACL,sBAAgB,sBAAQ,IAAI;AAG5B,UAAI,MAAM;AACR,oBAAY,SAAS,IAAI;AAAA,MAC3B,WAAW,gBAAgB;AAEzB,oBAAY,SAAS,IAAW;AAAA,MAClC;AAAA,IAEF;AAAA,EACF;AAGA,QAAM,gBAAgB,aAAW;AAC/B,QAAI,QAAQ,WAAW,QAAW;AAChC,yBAAmB,QAAQ,MAAM;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,iBAAiB;AAAA,IACrB,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,IAC3C,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,MAAI,aAAa;AACf,mBAAe,cAAc;AAAA,EAC/B;AAMA,QAAM,aAAa,iBAAiB,aAAa,iBAAiB;AAElE,QAAM,EAAE,YAAY,cAAc,aAAa,cAAc,QAAI,4BAAS;AAAA,IACxE,QAAQ;AAAA,IACR;AAAA,IACA,gDAAAC;AAAA,IACA,WAAW,cAAc,YAAY;AAAA,IACrC,MAAM,CAAC;AAAA,IACP,MAAM,CAAC;AAAA,IACP;AAAA,EACF,CAAC;AAID,QAAM,6BAAyB,wBAAQ,MAAM;AAC3C,QAAI,cAAc,OAAO,WAAW,eAAe,eAAe;AAEhE,YAAM,iBAAiB,OAAO;AAC9B,YAAM,kBAAkB,iBAAiB,cAAc;AAEvD,YAAM,iBAAiB,0BAA0B;AACjD,YAAM,sBAAsB,KAAK;AAAA,QAC/B,KAAK,IAAI,GAAG,kBAAkB,cAAc,IAAI;AAAA,MAClD;AAEA,aAAO,gBACH,KAAK,IAAI,eAAyB,mBAAmB,IACrD;AAAA,IACN;AACA,WAAO;AAAA,EACT,GAAG,CAAC,YAAY,eAAe,aAAa,CAAC;AAE7C,gCAAU,MAAM;AAriBlB,QAAAD;AAsiBI,UAAM,wBACJA,MAAA,kBAAkB,qBAAqB,OAAO,MAA9C,OAAAA,MAAmD;AAGrD,SAAI,6DAAsB,YAAU,6CAAc,QAAO;AACvD,sBAAgB,oBAAoB;AAAA,IACtC;AAAA,EACF,GAAG,CAAC,qBAAqB,SAAS,YAAY,CAAC;AAE/C,gCAAU,MAAM;AA/iBlB,QAAAA;AAgjBI,oBAAgB,aAAa,eAAe;AAE5C,QAAI,CAAC,iBAAiB;AACpB,qBAAe,EAAE;AAEjB,OAAAA,MAAA,iCAAQ,aAAR,gBAAAA,IAAA,aAAmB;AAAA,IACrB;AAAA,EAGF,GAAG,CAAC,iBAAiB,cAAc,iCAAQ,QAAQ,CAAC;AAEpD,QAAM,eAAe,CAAC,OAAO,YAAY;AAEvC,QACE,kBACA,QAAQ,SAAS,iBAAAE,QAAU,iBAAiB,aAC5C,QAAQ,cACR;AACA,YAAM,sBACH,MAAM,gBACL,QAAQ,aAAa,UAAU,MAAM,aAAa,SACnD,CAAC,MAAM,gBACN,QAAQ,aAAa,UAAU;AAEnC,UAAI,qBAAqB;AAEvB,eAAO,iCAAK,UAAL,EAAc,cAAc,MAAM,QAAQ,MAAM;AAAA,MACzD;AAAA,IACF;AAEA,QAAI,QAAQ,SAAS,iBAAAA,QAAU,iBAAiB,eAAe;AAC7D,aAAO,EAAE,QAAQ,MAAM;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,CAAC,MAA2B;AAC5C,YAAQ,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,wBAAgB,IAAI;AACpB;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAMA,gBAAU,wBAAQ,MAAM;AACtB,QAAI,QAAQ;AAGV,UAAI,OAAO,UAAU;AACnB,eAAO;AAAA,MACT;AAIA,UAAI,UAAU,OAAO,GAAG;AACtB,YAAI;AAEJ,YAAI,OAAO,eAAe,cAAc;AACtC,2BAAiB,QAAQ,IAAI,WAAU,iCAClC,QADkC;AAAA,YAErC,OAAO,MAAM,MAAM;AAAA,cAAO,UACxB,gBAAgB,KAAK,KAAK,EACvB,YAAY,EACZ,WAAW,YAAY,YAAY,CAAC;AAAA,YACzC;AAAA,UACF,EAAE;AAAA,QACJ,OAAO;AACL,2BAAiB,QAAQ,IAAI,WAAU,iCAClC,QADkC;AAAA,YAErC,OAAO,MAAM,MAAM;AAAA,cAAO,UACxB,gBAAgB,KAAK,KAAK,EACvB,YAAY,EACZ,SAAS,YAAY,YAAY,CAAC;AAAA,YACvC;AAAA,UACF,EAAE;AAAA,QACJ;AAEA,eAAO,eAAe,OAAO,CAAC,KAAK,UAAU;AAC3C,cAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,gBAAI,KAAK,KAAK;AAAA,UAChB;AACA,iBAAO;AAAA,QACT,GAAG,CAAC,CAAC;AAAA,MAEP;AACA,UAAI,OAAO,eAAe,cAAc;AACtC,eAAO,QAAQ;AAAA,UAAO,YACpB,gBAAgB,OAAO,KAAK,EACzB,YAAY,EACZ,WAAW,YAAY,YAAY,CAAC;AAAA,QACzC;AAAA,MACF;AAEA,aAAO,QAAQ;AAAA,QAAO,YACpB,gBAAgB,OAAO,KAAK,EACzB,YAAY,EACZ,SAAS,YAAY,YAAY,CAAC;AAAA,MACvC;AAAA,IAGF;AACA,WAAO;AAAA,EAGT,GAAG,CAAC,SAAS,aAAa,iCAAQ,UAAU,iCAAQ,UAAU,CAAC;AAE/D,SACE,+BAAAH,QAAA,cAAC,kCAAkB,QACjB,+BAAAA,QAAA,cAAC,iBAAAG,SAAA,iCAAc,iBAAd,EAA8B,iBAC5B,CAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAAC;AAAA,EACF,MAAM;AACJ;AAAA;AAAA,MAEE,+BAAAJ,QAAA,cAAC,SAAI,MAAK,gBAAe,iBAAe,UACtC,+BAAAA,QAAA,cAAC,0BAAQ,eACN,UACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,sBAAsB,MAAO,mBACxB,qBAAqB,EAAE,UAAU,CAAC;AAAA,UAEvC,cAAcI;AAAA,UACd;AAAA,UACA,mBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF,IAEA,+BAAAJ,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,sBAAsB,MAAO,mBACxB,qBAAqB,EAAE,UAAU,CAAC;AAAA,UAEvC,cAAcI;AAAA,UACd;AAAA,UACA,mBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF,CAEJ,GACC,mBACC,UACA;AAAA,QACE,+BAAAJ,QAAA;AAAA,UAAC;AAAA,2CACK,aADL;AAAA,YAEC,OAAO,iCACF,WAAW,QADT;AAAA,cAEL,QAAQ;AAAA,cACR,OAAO,eAAe,SAAS,+CAAe;AAAA,YAChD;AAAA;AAAA,UAEA,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,cAAcI;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU;AAAA,cACV,oBAAoB,MAAM,aAAa,EAAE,UAAU,CAAC;AAAA,cACpD,UAAU;AAAA,cACV,WAAW;AAAA,cACX,UAAU;AAAA,cACV,QACE,UACE,+BAAAJ,QAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,OAAO;AAAA,kBAClB,aAAa,OAAO;AAAA,kBACpB,OAAO;AAAA,kBACP,UAAU;AAAA,kBACV;AAAA;AAAA,cACF;AAAA,cAGJ;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACF;AAAA,QACF;AAAA,MACF,GACD,YAAY,CAAC,mBACZ,+BAAAA,QAAA,cAAC,oBAAc,YAAa,CAEhC;AAAA;AAAA,EAEJ,CACF,CACF;AAEJ;AAmFA,IAAO,iBAAQ;;;AS/1Bf,IAAAK,kBAAmB;AACnB,IAAAC,iBAAkB;AAClB,6BAA8B;;;ACF9B,IAAAC,iBAAgC;AAUhC,SAAS,iBAAiB,OAAwB,SAAyB;AACzE,QAAM,eAAyB;AAE/B,sCAAgB,MAAM;AACpB,UAAM,OAAO,6CAAc;AAC3B,UAAM,OAAO,6CAAc;AAE3B,QAAI,gBAAgB,UAAa,CAAC,QAAQ,CAAC,MAAM;AAC/C;AAAA,IACF;AAEA,QAAI,SAAS;AAEX,YAAM,iBAAiB,OAAO,aAAa,KAAK;AAChD,YAAM,mBACJ;AAAA,QACE,OAAO,iBAAiB,IAAI,EAAE,iBAAiB,eAAe;AAAA;AAAA;AAAA;AAAA,QAI9D;AAAA,MACF,KAAK;AASP,cAAQ,OAAO;AAAA,QACb,KAAK,QAAQ;AACX,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,eAAe,GACxB,mBAAmB,cACrB;AACA;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,eAAK,MAAM,YAAY,YAAY,UAAU;AAC7C,eAAK,MAAM,YAAY,YAAY,QAAQ;AAC3C,eAAK,MAAM;AAAA,YACT;AAAA,YACA,GAAG,mBAAmB,cAAc;AAAA,UACtC;AACA;AAAA,QACF;AAAA,QAEA;AACE;AAAA,MACJ;AAAA,IACF;AAEA,WAAO,MAAM;AACX,cAAQ,OAAO;AAAA,QACb,KAAK,QAAQ;AAEX,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,WAAW;AACtB,eAAK,MAAM,eAAe;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,eAAK,MAAM,eAAe,UAAU;AACpC,eAAK,MAAM,eAAe,UAAU;AACpC,eAAK,MAAM,eAAe,eAAe;AACzC;AAAA,QACF;AAAA,QAEA;AACE;AAAA,MACJ;AAAA,IACF;AAAA,EAEF,GAAG,CAAC,cAAc,SAAS,KAAK,CAAC;AACnC;AAEA,IAAO,6BAAQ;;;ADhFf,IAAM,WAAW;AAEjB,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAQf,WAAS,cAAc,MAAM,eAAe,CAAC;AAAA,aAChD,WAAS,MAAM,MAAM;AAAA;AAAA;AAIlC,IAAM,kBAAkB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAK/B,IAAM,WAAW,eAAAC,QAAM;AAAA,EASrB,CACE,IAOA,QACG;AARH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,kBAAkB;AAAA,IA1CxB,IAsCI,IAKK,kBALL,IAKK;AAAA,MAJH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,EAAE,OAAO,YAAY,QAAI,sCAAc,QAAQ,QAAQ;AAE7D,+BAAiB,QAAQ,MAAM;AAE/B,WACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,eACC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,UACL,YAAY,WAAW,QAAQ;AAAA,UAC/B,SAAS,UAAU,UAAU,IAAI;AAAA,QACnC;AAAA,SACI;AAAA,MAEJ,+BAAAA,QAAA,cAAC,uBAAiB,QAAS;AAAA,IAC7B,CAEJ;AAAA,EAEJ;AACF;AAEA,SAAS,cAAc;AASvB,IAAO,mBAAQ;;;AEhFf,IAAAC,kBAAmB;AACnB,8BAAsB;AAEtB,IAAAC,iBAAiE;AAqBjE,IAAM,4BAA4B;AAElC,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA,wBAEN,WAAS,MAAM,IAAI;AAAA;AAAA;AAI3C,IAAM,mBAAmB,gBAAAA,QAAO;AAAA,SACvB,WACL,aAAa,aAAa,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,GAAG;AAAA,sBAC9C,cAAc,SAAS,CAAC;AAAA,WACnC,cAAc,MAAM,CAAC;AAAA,YACpB,WAAS,aAAa,MAAM,WAAW,MAAM,SAAS,EAAE,MAAM;AAAA,IACtE,UAAU,OAAO,CAAC;AAAA,IAClB,UAAU,QAAQ,CAAC;AAAA;AAAA,+BAEQ,WAC3B,MAAM,cAAc,WAAW,YAAY,MAAS;AAAA,gCACxB,WAC5B,MAAM,cAAc,WAAW,YAAY,MAAS;AAAA,IACpD,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA,cAEnC,WAAS,aAAa,MAAM,WAAW,MAAM,SAAS,EAAE,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW9E,IAAM,mBAAmB,gBAAAA,QAAO;AAAA;AAAA,SAEvB,EAAE,GAAG,CAAC;AAAA,WACJ,EAAE,GAAG,CAAC;AAAA;AAAA;AAIjB,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnC,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA,oBAIR,WAAS,MAAM,MAAM;AAAA;AAAA;AAIzC,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA,iBAIb,WACb,MAAM,cAAc,4BAA4B,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7D,IAAMC,mBAAkB,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA,iBAId,WACb,MAAM,YAAY,CAAC,MAAM,YACrB,IACA,CAAC,MAAM,YAAY,CAAC,MAAM,YACxB,4BACA,CAAC;AAAA,oBACS,WAChB,MAAM,cAAc,CAAC,MAAM,YACvB,IACA,CAAC,MAAM,cAAc,CAAC,MAAM,YAC1B,4BACA,CAAC;AAAA,kBACO,WAAU,MAAM,YAAY,IAAI,yBAA0B;AAAA,mBACzD,WAAU,MAAM,YAAY,IAAI,yBAA0B;AAAA;AAAA,kBAE3D,cAAc,QAAQ,CAAC;AAAA,kBACvB,WAAU,MAAM,cAAc,UAAU,GAAI;AAAA;AAG9D,IAAM,2BAA2B,gBAAAA,QAAO;AAAA;AAAA;AAAA,IAGpC,WAAS,aAAa,MAAM,SAAS,CAAC;AAAA;AAAA;AAAA,MAGpC,WAAS,aAAa,MAAM,SAAS,CAAC;AAAA;AAAA;AAI5C,IAAM,eAAe,CAAC,cAA+B;AACnD,MAAI,OAAO,cAAc,UAAU;AACjC,WAAO,QAAQ,cAAc,SAAS;AAAA,EACxC;AAEA,SAAO,iBAAiB;AAC1B;AAEO,IAAM,YAAY,CAAC,OA0BlB;AA1BkB,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,EArJlB,IAwI0B,IAcrB,kBAdqB,IAcrB;AAAA,IAbH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAcA,QAAM,cAAc,OAAK;AACvB,QAAI,EAAE,QAAQ,YAAY,eAAe;AACvC,QAAE,eAAe;AAEjB,UAAI,CAAC,aAAa;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAEA,gCAAU,MAAM;AACd,WAAO,iBAAiB,WAAW,WAAW;AAE9C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,6BAAiB,QAAQ,MAAM;AAE/B,SACE,+BAAAE,QAAA;AAAA,IAAC,wBAAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,kBAAkB;AAAA,QAChB,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,SACf,iBAAiB,SAAY,EAAE,aAAa,IAAI,CAAC;AAAA;AAAA,IAOvD,+BAAAD,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,OAAK,EAAE,gBAAgB;AAAA,QAChC;AAAA,QACA,cAAY;AAAA,QACZ,cAAY;AAAA,QACZ,mBAAiB;AAAA,SACb;AAAA,MAEH,CAAC,eAAe,gBACf,+BAAAA,QAAA,cAAC,wBACC,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,UAChB,MAAK;AAAA,UACL,SAAS;AAAA;AAAA,MACX,CACF;AAAA,MAEF,+BAAAA,QAAA;AAAA,QAAC;AAAA,yCAGM,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAHrD;AAAA,UAIC;AAAA;AAAA,QAEC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEJ;AAIA,IAAM,QAAQ,eAAAA,QAAM;AAAA,EAClB,CACE,IA8BA,QACG;AA/BH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,SAAS;AAAA,MACT;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IA/PN,IA2OI,IAqBK,kBArBL,IAqBK;AAAA,MApBH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AA/PN,QAAAE;AA2QI,UAAM,kBAAc,uBAAuB,IAAI;AAC/C,UAAM,UAAU,KAAK,GAAG,EAAE,iBAAiB;AAC3C,UAAM,aACJ,cAAc,mBAAmB,oBAAoB,OAAO;AAC9D,UAAM,oBAAoB,OAAK;AAC7B,UAAI,mBAAmB;AACrB,UAAE,gBAAgB;AAClB,0BAAkB,CAAC;AAEnB;AAAA,MACF;AAEA,mBAAa,CAAC;AAAA,IAChB;AAGA,kCAAU,MAAM;AACd,UAAI,CAAC,UAAU,CAAC,YAAY,SAAS;AACnC;AAAA,MACF;AAEA,YAAM,YAAY,YAAY,QAAQ;AAEtC,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAGA,YAAM,WAAW,MAAM,KAAK,UAAU,QAAQ,EAAE;AAAA,QAC9C,WAAS,UAAU,YAAY,WAAW,iBAAiB;AAAA,MAC7D;AAEA,eAAS,QAAQ,aAAW;AAC1B,YAAI,CAAC,QAAQ,aAAa,aAAa,GAAG;AACxC,kBAAQ,aAAa,eAAe,MAAM;AAC1C,kBAAQ,aAAa,0BAA0B,MAAM;AAAA,QACvD;AAAA,MACF,CAAC;AAED,aAAO,MAAM;AAEX,cAAM,iBAAiB,SAAS;AAAA,UAC9B;AAAA,QACF;AACA,uBAAe,QAAQ,aAAW;AAChC,kBAAQ,gBAAgB,aAAa;AACrC,kBAAQ,gBAAgB,wBAAwB;AAAA,QAClD,CAAC;AAAA,MACH;AAAA,IACF,GAAG,CAAC,MAAM,CAAC;AAEX,WACE,+BAAAF,QAAA,cAAC,mCAAS,KAAK,aAAa,QAAgB,UAAoB,QAC9D,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAO;AAAA,QACP,SAAS;AAAA,QACT;AAAA;AAAA,MAEA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,iBAAgBE,MAAA,0CAAkB,YAAlB,OAAAA,MAA6B;AAAA,UAC7C;AAAA;AAAA,QAEA,+BAAAF,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,GAAG,QAAQ,UAAU,EAAE,IAAI,WAAW,SAAS,EAAE,IACrD,aAAa,SAAS,EACxB;AAAA;AAAA,UAEC,SACC,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,QACE,WACI,4BACA;AAAA;AAAA,YAGN,+BAAAA,QAAA,cAAC,gBAAK,SAAQ,MAAK,SAAQ,SAAQ,IAAI,WACpC,KACH;AAAA,UACF;AAAA,UAEF,+BAAAA,QAAA;AAAA,YAACD;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,UAAU,QAAQ,KAAK;AAAA,cACvB;AAAA;AAAA,YAEC,YAAY;AAAA,UACf;AAAA,UAEC,cACC,+BAAAC,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,WAAW,4BAA4B;AAAA,cAC5C;AAAA;AAAA,YAEC;AAAA,YACD,+BAAAA,QAAA,cAAC,2BACE,mBACC,+BAAAA,QAAA,cAAC,kBAAO,OAAM,SAAQ,UAAQ,QAC3B,eACH,GAED,UACH;AAAA,UACF;AAAA,QAEJ;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AACF;AAgEA,IAAO,gBAAQ;;;ACncf,IAAAG,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAME,YAAW;AAAA,EACf,SAAS;AAAA,IACP,OAAO,cAAc,SAAS;AAAA,IAC9B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,OAAO,cAAc,SAAS;AAAA,IAC9B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,cAAc,MAAM;AAAA,IAC3B,WAAW,aAAa;AAAA,IACxB,WAAW;AAAA,EACb;AACF;AAEA,IAAMC,gBAAe;AAAA,EACnB,SAAS;AAAA;AAAA;AAAA,EAGT,UAAU;AAAA;AAAA,aAEC,cAAc,iBAAiB,CAAC;AAAA;AAE7C;AAEA,IAAM,eAAe;AAAA,EACnB,UAAU;AAAA;AAAA;AAAA;AAAA;AAKZ;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA,IACvB,WAAS,CAAC,MAAM,YAAY,UAAUF,UAAS,MAAM,OAAO,EAAE,KAAK,EAAE;AAAA,IACrE,WAAU,MAAM,WAAWC,cAAa,WAAWA,cAAa,OAAQ;AAAA,IACxE,WAAS,MAAM,OAAO,YAAY,aAAa,QAAQ;AAAA,IACvD,WACA,oBACED,UAAS,MAAM,OAAO,EAAE,cAAc,aAAa,cAAc,MACnE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKF,WACA,MAAM,UACN;AAAA;AAAA,KAEC;AAAA;AAAA,MAEC,WACA,oBACEA,UAAS,MAAM,OAAO,EAAE,cAAc,UAAU,cAAc,MAChE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOF,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AASpB,IAAM,OAAO,CAAC,OAaT;AAbS,eACZ;AAAA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EAtFF,IAgFc,IAOT,kBAPS,IAOT;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAG,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ,UAAU;AAAA,MACV;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAAA;AAGK,IAAMC,qBAAoB,OAAO,KAAKJ,SAAQ;AAuBrD,IAAO,eAAQ;;;ACjIf,IAAAK,kBAAmB;AACnB,IAAAC,iBAAkB;AAMlB,IAAMC,eAAc;AAAA,EAClB,OAAO;AAAA,IACL,SAAS,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAAA,IAC7B,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,SAAS,GAAG,EAAE,GAAG,CAAC;AAAA,IAClB,UAAU;AAAA,EACZ;AACF;AAEA,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKT,cAAc,qBAAqB,CAAC;AAAA;AAAA,aAE7C,WAASD,aAAY,MAAM,IAAI,EAAE,OAAO;AAAA,IACjD,UAAU,KAAK,CAAC;AAAA;AAAA,MAEd,WACA,MAAM,QACF,4BACA,kCAAkC;AAAA,IACxC,WAAS,YAAYA,aAAY,MAAM,IAAI,EAAE,QAAQ,CAAC;AAAA,YAC9C,WAAS,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA,QAIzB,WACA,MAAM,QAAQ,4BAA4B,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,QAKpE,WAAU,MAAM,QAAQ,iCAAiC,aAAc;AAAA,kBAC7D,WACZ,MAAM,QACF,0CACA,uCAAuC;AAAA;AAAA;AAAA;AAAA,aAIpC,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAM,WAAW,eAAAE,QAAM;AAAA,EACrB,CACE,IAWA,QACA;AAZA,iBACE;AAAA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IA3Ed,IAmEI,IASK,kBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,0CAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI;AAAA,IACN,GACC,QACC,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA,cAAC,kBAAO,QAAO,UAAS,GACxB,+BAAAA,QAAA,cAAC,gBAAK,OAAM,UAAS,YAAW,WAAU,MAAK,aAC5C,KACH,CACF,IACE,IACN;AAAA;AAEJ;AAaA,IAAO,mBAAQ;;;ACpHf,IAAAC,kBAAmB;AACnB,IAAAC,oBAAsB;AACtB,IAAAC,iBAQO;AAEP,IAAAC,qBAAyB;AACzB,IAAAC,mCAA2B;AAgB3B,IAAM,mBAAmB,gBAAAC,QAAO;AAAA;AAAA;AAIhC,IAAMC,SAAQ,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAMrB,IAAME,gBAAe,gBAAAF,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,IAAMG,aAAY,CAChB,YAEA,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,KAAK,WAAW,QAAQ,CAAC;AAEtE,IAAMC,2BAA0B,CAAC,EAAE,SAAS,oBAAoB,MAAM;AACpE,MAAI,CAAC,WAAW,CAAC,qBAAqB;AACpC,WAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EACnC;AAEA,MAAID,WAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM;AAAA,QAC7B,UAAQ,KAAK,UAAU;AAAA,MACzB;AACA,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,YAAY,QAAQ,KAAK,UAAQ,KAAK,UAAU,mBAAmB;AACzE,WAAO,aAAa,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,EAChD;AAEA,SAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AACnC;AAEA,IAAME,WAAU,CAAC,EAAE,SAAS,cAAc,oBAAoB,MAAM;AAClE,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAOD,yBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AACF;AAEA,IAAME,YAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,MAAI,qBAAqB;AACvB,WAAOF,yBAAwB,EAAE,SAAS,oBAAoB,CAAC,EAAE;AAAA,EACnE;AAEA,SAAO;AACT;AAEA,IAAMG,+BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,eACf,qBAAqB,aAAa,KAAK,KACvC;AAEJ,SAAO;AAAA;AAAA,IAEL,yBAAyB,cAAc,EAAE,uBAAuB;AAAA;AAAA,IAEhE,cAAc,CAAC,cAAc,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAAA,EACpE;AACF;AAEA,IAAM,yBAAyB,gBAAAP,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBtC,IAAM,sBAAsB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAYb,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA,QAIlD,WAAS,MAAM,EAAE;AAAA,kBACP,WACd,MAAM,UAAU,EAAE,GAAG,IAAI,uCAAuC;AAAA,mBACjD,WACf,MAAM,WAAW,EAAE,GAAG,IAAI,uCAAuC;AAAA;AAAA;AAAA,MAG/D,WACA,MAAM,WACF,iEACA,kEAAkE;AAAA;AAAA,IAExE,QAAQ,aAAa,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,QAI1B,WACA,MAAM,WACF,4BACA,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aASzB,cAAc,iBAAiB,CAAC;AAAA,wBACrB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAS9C,cAAc,YAAY,CAAC;AAAA;AAAA;AAIxC,IAAMQ,eAAc,gBAAAR,QAAO;AAAA;AAAA;AAAA,WAGhB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQf,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOjB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAKf,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA;AAAA,UAGjB,WACN,MAAM,UAAU,EAAE,GAAG,IAAI,uCAAuC;AAAA,WACzD,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjB,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMjB,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM,CAAE;AAAA;AAGvD,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,QAAM,OAAOK,SAAQ,EAAE,SAAS,cAAc,oBAAoB,CAAC;AACnE,QAAM,UAAU,QAAQ,IAAI;AAC5B,QAAM,QAAQ,aAAa,oBAAoB;AAE/C,QAAM,sBAAsB,MAAM;AAChC,QAAI,CAAC,YAAY;AACf,mBAAa;AAAA,IACf;AAAA,EACF;AAEA,QAAM,iBAAiB,cAAc;AAAA,IACnC;AAAA,IACA,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ,MAAM;AACZ,6BAAuB,EAAE;AAAA,IAC3B;AAAA,IACA,UAAU,OAAK,uBAAuB,EAAE,OAAO,KAAK;AAAA,EACtD,CAAC;AAED,QAAM,aAAa;AAAA,IACjB,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,KACdE,6BAA4B;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,IACE,iBAVc;AAAA,IAWjB,WAAW,CAAC,MAA2B;AAnS3C;AAoSM,6CAAY;AACZ,2BAAe,cAAf,wCAA2B;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,cAAc,CAAC;AAExC,SACE,+BAAAE,QAAA,cAAC,0BAAuB,SAAS,qBAAqB,UAAU,cAC7D,WACC,+BAAAA,QAAA,cAACD,cAAA,MACE,OAAO,SAAS,WACf,+BAAAC,QAAA,cAAC,qBAAU,QAAO,MAAK,OAAO,GAAG,QAAQ,GAAG,UAAS,YACnD,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YACf,+BAAAA,QAAA,cAAC,kBAAe,KAAK,MAAM,KAAI,IAAG,YAAwB,CAC5D,CACF,IAEA,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAc,CAEpC,GAGF,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,OACD,aAFL;AAAA,MAGC;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA;AAAA,EACF,GAEC,CAAC,cACA,+BAAAA,QAAA,cAAC,eAAY,WACX,+BAAAA,QAAA,cAAC,gBAAK,aAAW,MAAC,OAAO,kBAAkB,eAAe,aACvDH,UAAS;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,CACH,CACF,GAGF,+BAAAG,QAAA,cAAC,oBACE,YACC,+BAAAA,QAAA,cAAC,kBAAO,MAAK,SAAQ,IAErB,+BAAAA,QAAA,cAAC,gBAAK,MAAM,+BAAAA,QAAA,cAAC,oBAAe,GAAI,OAAc,CAElD,CACF;AAEJ;AAEA,IAAMC,qBAAoB,CACxB,OACA,YACyB;AA/V3B;AAgWE,MAAIP,WAAU,OAAO,GAAG;AACtB,eAAW,UAAU,SAAS;AAC5B,YAAM,YAAY,OAAO,MAAM,KAAK,UAAQ,KAAK,UAAU,KAAK;AAChE,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,YAAO,aAAQ,KAAK,UAAQ,KAAK,UAAU,KAAK,MAAzC,YAA8C;AAAA,EACvD;AAEA,SAAO;AACT;AAEA,IAAM,+BAA+B,CACnC,qBACA,qBACG;AACH,QAAM,aAAa,uBAAuB,UAAS,qDAAkB;AAErE,SAAO;AACT;AAEA,IAAMQ,gBAAe,CACnB,MACA,OACA,cACA,qBACA,kBACA,cACA,cACA,oBACG;AACH,QAAM,aACH,CAAC,gBAAgB,KAAK,UAAU,uBAChC,gBAAgB,aAAa,UAAU,KAAK;AAC/C,SACE,+BAAAF,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,OACT,aAAa;AAAA,MACf,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,iBAAiB;AAAA,MACjB,aAAa,MAAM;AACjB,YAAI,cAAc;AAChB,0BAAgB,KAAK;AAAA,QACvB;AAAA,MACF;AAAA,IACF,CAAC,IAhBF;AAAA,MAiBC,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,MACjB,eAAe,qBAAqB;AAAA,MACpC,cAAc,gBAAgB,qBAAqB;AAAA,MACnD;AAAA;AAAA,IAEC,KAAK;AAAA,EACR;AAEJ;AAEA,IAAM,gBAAgB,CAAC,OAajB;AAbiB,eACrB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA5aF,IAiauB,IAYlB,sBAZkB,IAYlB;AAAA,IAXH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,wBAAwB,kBAAkB,+BAAAA,QAAA,cAAC,oBAAO;AACxD,QAAM,6BAA6B,uBAAuB;AAE1D,MAAI,WAAW;AACb,WACE,+BAAAA,QAAA,cAAC,+BAAK,IAAG,SAAU,YACjB,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,WACjB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YAAU,qBAAsB,CACnD,CACF;AAAA,EAEJ;AAEA,MAAI,CAAC,qBAAqB;AACxB,WACE,+BAAAA,QAAA,cAAC,+BAAK,IAAG,SAAU,YACjB,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,WACjB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,YAAU,0BAA2B,CACxD,CACF;AAAA,EAEJ;AAEA,MAAI,CAACN,WAAU,OAAO,GAAG;AACvB,WACE,+BAAAM,QAAA,cAAC,iCAAS,YACP,QAAQ;AAAA,MAAI,CAAC,MAAM,UAClBE;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB;AACrB,SACE,+BAAAF,QAAA,cAAC,iCAAS,YACP,QAAQ,IAAI,WAAS;AACpB,UAAM,UAAU,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AACzD,WACE,+BAAAA,QAAA,cAAC,QAAG,KAAK,WACP,+BAAAA,QAAA,cAAC,kBAAO,MAAK,UAAS,KAAI,SAAQ,QAAO,YACvC,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,MAAK;AAAA,QACL,YAAW;AAAA,QACX,SAAS,MAAM,cAAc;AAAA;AAAA,MAE5B,MAAM;AAAA,IACT,CACF,GACA,+BAAAA,QAAA,cAACR,QAAA,EAAM,MAAK,SAAQ,mBAAiB,WAClC,MAAM,MAAM,IAAI,UAAQ;AACvB,aAAOU;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC,CACH,CACF;AAAA,EAEJ,CAAC,CACH;AAEJ;AAEA,IAAM,gBAAY;AAAA,EAChB,CACE,IA+BA,QACG;AAhCH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IArhBN,IAigBI,IAqBK,kBArBL,IAqBK;AAAA,MApBH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAaF,UAAM,cAAc,wBAAwB,SAAS;AACrD,UAAM,uBAAmB,uBAAyB,IAAI;AAEtD,UAAM,eAAW;AAAA,MACf,CAAC,SAA2B;AAC1B,yBAAiB,UAAU;AAC3B,YAAI,KAAK;AACP,iBAAO,QAAQ,aAAa,IAAI,IAAI,IAAK,IAAI,UAAU;AAAA,QACzD;AAAA,MACF;AAAA,MACA,CAAC,GAAG;AAAA,IACN;AAEA,UAAM,CAAC,YAAY,aAAa,QAAI,yBAAiB,EAAE;AACvD,UAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAkB,KAAK;AACrE,UAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AACtD,UAAM,CAAC,kBAAkB,mBAAmB,QAC1C;AAAA,MACED,mBAAkB,qBAAqB,OAAO;AAAA,IAChD;AACF,UAAM,CAAC,cAAc,eAAe,QAAI;AAAA,MACtC;AAAA,IACF;AAEA,UAAM,yBAAyB,CAAC,UAAkB;AAChD,oBAAc,KAAK;AACnB,4BAAsB,mBAAmB,KAAK;AAAA,IAChD;AAEA,UAAM,oBAAoB,UAAQ;AAChC,YAAM,QAAQ,QAAQ;AAEtB,sBAAgB,KAAK;AACrB,wBAAkB,eAAe,KAAK;AAAA,IACxC;AAEA,UAAM,iBAAiB;AAAA,MACrB,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,MAC3C,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AAEA,QAAI,aAAa;AACf,qBAAe,cAAc;AAAA,IAC/B;AAEA,UAAM,EAAE,YAAY,cAAc,aAAa,cAAc,QAAI,6BAAS;AAAA,MACxE,QAAQ;AAAA,MACR;AAAA,MACA,iDAAAE;AAAA,MACA,WAAW,cAAc,YAAY;AAAA,MACrC,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAED,kCAAU,MAAM;AACd,UAAI,6BAA6B,qBAAqB,gBAAgB,GAAG;AACvE,cAAM,OAAOF,mBAAkB,qBAAqB,OAAO;AAE3D,4BAAoB,IAAI;AACxB,wBAAgB,IAAI;AAEpB,sBAAc,EAAE;AAAA,MAClB;AAAA,IACF,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC;AAEnD,kCAAU,MAAM;AAvmBpB,UAAAG;AAwmBM,sBAAgB,aAAa,eAAe;AAC5C,UAAI,CAAC,iBAAiB;AACpB,SAAAA,MAAA,iBAAiB,YAAjB,gBAAAA,IAA0B;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,iBAAiB,YAAY,CAAC;AAElC,UAAM,0BAAsB,wBAAQ,MAAM;AACxC,UAAI,CAAC,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO;AAAA,MACT;AAEA,aAAOV,WAAU,OAAO,IACpB,QAAQ,KAAK,WAAS,MAAM,MAAM,SAAS,CAAC,IAC5C,QAAQ,SAAS;AAAA,IACvB,GAAG,CAAC,OAAO,CAAC;AAEZ,UAAM,eAAe,CAAC,OAAO,YAAY;AACvC,UAAI,QAAQ,WAAW,QAAW;AAChC,YAAI,QAAQ,SAAS,kBAAAW,QAAU,iBAAiB,eAAe;AAC7D,6BAAmB,KAAK;AAExB,iBAAO,EAAE,QAAQ,MAAM;AAAA,QACzB;AAEA,2BAAmB,QAAQ,MAAM;AAAA,MACnC;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,YAAY,CAAC,MAA2B;AAC5C,cAAQ,EAAE,KAAK;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,0BAAgB,IAAI;AACpB;AAAA,QACF;AACE;AAAA,MACJ;AAAA,IACF;AAEA,WACE,+BAAAL,QAAA,cAAC,qCAAqB,QACpB,+BAAAA,QAAA,cAAC,kBAAAK,SAAA,iCAAc,iBAAd,EAA8B,iBAC5B,CAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAAC;AAAA,IACF,MAAM;AACJ;AAAA;AAAA,QAEE,+BAAAN,QAAA,cAAC,SAAI,MAAK,kBACR,+BAAAA,QAAA,cAAC,0BAAQ,eACP,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,cAAcM;AAAA,YACd;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,QAAQ,mBAAmB;AAAA,YAC3B,cAAc,MAAM;AAClB,iCAAmB,IAAI;AAAA,YACzB;AAAA,YACA,WAAW;AAAA,YACX,UAAU,QAAQ,YAAY;AAAA,YAC9B;AAAA,YACA;AAAA;AAAA,QACF,CACF,GACC,mBACC,UACA;AAAA,UACE,+BAAAN,QAAA;AAAA,YAAC;AAAA,6CACK,aADL;AAAA,cAEC,OAAO,iCACF,WAAW,QADT;AAAA,gBAEL,QAAQ;AAAA,gBACR,OAAO,eAAe,SAAS,+CAAe;AAAA,cAChD;AAAA;AAAA,YAEA,+BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,cAAcM;AAAA,gBACd;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,UAAU;AAAA,gBACV,oBAAoB,MAAM,aAAa,EAAE,UAAU,CAAC;AAAA,gBACpD,UAAU;AAAA,gBACV,WAAW;AAAA,gBACX,UAAU;AAAA;AAAA,YACZ;AAAA,UACF;AAAA,QACF,GACD,QAAQ,YAAY,KAAK,CAAC,kBACzB,+BAAAN,QAAA,cAACP,eAAA,MAAc,YAAa,IAC1B,IACN;AAAA;AAAA,IAEJ,CACF,CACF;AAAA,EAEJ;AACF;AAEA,UAAU,cAAc;AA6DxB,IAAO,oBAAQ;;;ACnyBf,IAAAc,kBAAmB;AACnB,IAAAC,oBAAiD;AACjD,IAAAC,iBAAoD;AAEpD,IAAAC,qBAAyB;AACzB,IAAAC,mCAA2B;AAkB3B,IAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,MAIK;AACH,SAAO;AAAA;AAAA,IAEL,yBAAyB,cAAc,EAAE,uBAAuB;AAAA,IAEhE,iBAAiB;AAAA;AAAA,IAGjB,cAAc,eAAe,eAAe;AAAA,EAC9C;AACF;AAEA,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK9B,IAAM,WAAW,CAAC,OAmBG;AAnBH,eAChB;AAAA;AAAA,IACA,eAAe;AAAA,IACf,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAjEF,IAgDkB,IAkBb,kBAlBa,IAkBb;AAAA,IAjBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,wBAAwB,SAAS;AAErD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,yBAAS,KAAK;AAC5D,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AAEtD,QAAM,CAAC,aAAa,cAAc,QAAI,yBAAS,EAAE;AAEjD,QAAM,iBAAiB,CAAC,MAA2C;AACjE,UAAM,QAAQ,EAAE,OAAO;AACvB,mBAAe,KAAK;AAAA,EACtB;AAEA,QAAM,YAAY,CAAC,MAA2B;AAC5C,YAAQ,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,wBAAgB,IAAI;AACpB;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,SAAS,mBAAmB;AAElC,QAAM,EAAE,YAAY,cAAc,YAAY,QAAI,6BAAS;AAAA,IACzD;AAAA,IACA;AAAA,IACA,WAAW,cAAc,YAAY;AAAA,IACrC,iDAAAC;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACF,CAAC;AAED,gCAAU,MAAM;AACd,oBAAgB,aAAa,MAAM;AAAA,EACrC,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,QAAM,eAAe,CAAC,OAAO,YAAY;AACvC,QAAI,QAAQ,WAAW,QAAW;AAChC,yBAAmB,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAMA,gBAAU,wBAAQ,MAAM;AACtB,QAAI,QAAQ;AACV,UAAI,OAAO,eAAe,cAAc;AACtC,eAAO,QAAQ;AAAA,UAAO,YACpB,gBAAgB,OAAO,KAAK,EACzB,YAAY,EACZ,WAAW,YAAY,YAAY,CAAC;AAAA,QACzC;AAAA,MACF;AAEA,aAAO,QAAQ;AAAA,QAAO,YACpB,gBAAgB,OAAO,KAAK,EACzB,YAAY,EACZ,SAAS,YAAY,YAAY,CAAC;AAAA,MACvC;AAAA,IAEF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,SAAS,aAAa,MAAM,CAAC;AAEjC,SACE,+BAAAC,QAAA;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,cAAc,UAAS,OAAO,KAAK,QAAQ;AAAA,MAC3C,UAAU,UACR,QAAQ,CAAC,KAAK,YAAY,KAAK,WAAW,KAAK,QAAQ;AAAA,MAEzD;AAAA,MACA;AAAA;AAAA,IAEC,CAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,IACF,MACE,+BAAAF,QAAA;AAAA,MAAC;AAAA,wCACK,QACC,kBACD;AAAA;AAAA;AAAA,QAGE,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,MACrB,IACA,CAAC;AAAA,MAEL,+BAAAA,QAAA,cAAC,0BAAQ,eACN,kBACC,gBAAgB,kCACX,qBAAqB,EAAE,UAAU,CAAC,IAClC,sBAAsB;AAAA,QACvB;AAAA,QACA;AAAA,QACA,QAAAE;AAAA,MACF,CAAC,EACF,IAED,+BAAAF,QAAA;AAAA,QAAC;AAAA,2BACK,qBAAqB,EAAE,WAAW,UAAU,EAAE,CAAC;AAAA,QAElD;AAAA,MACH,CAEJ;AAAA,MACCE,WACC;AAAA,QACE,+BAAAF,QAAA;AAAA,UAAC;AAAA,2CACK,aADL;AAAA,YAEC,OAAO,iCAAK,WAAW,QAAhB,EAAuB,QAAQ,WAAW;AAAA;AAAA,UAEjD,+BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAU;AAAA,cACV,UAAU;AAAA,cACV,UAAU;AAAA,cACV,WAAW;AAAA,cACX,oBAAoB,MAAM,aAAa,EAAE,UAAU,CAAC;AAAA,cACpD;AAAA,cACA,QACE,UACE,+BAAAA,QAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,OAAO;AAAA,kBAClB,aAAa,OAAO;AAAA,kBACpB,OAAO;AAAA,kBACP,UAAU;AAAA,kBACV;AAAA;AAAA,cACF;AAAA;AAAA,YAIH,QAAQ,IAAI,CAAC,MAAM,UAAU;AAC5B,qBACE,+BAAAA,QAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,eAAe,qBAAqB;AAAA,kBACpC,cACE,gBAAgB,qBAAqB;AAAA,kBAEvC,YAAY,KAAK;AAAA,kBACjB,YAAY,KAAK;AAAA,kBACjB,MAAM,KAAK;AAAA,kBACX,YAAY,KAAK;AAAA,kBACjB;AAAA,kBACA;AAAA,kBACA;AAAA,mBACI,aAAa;AAAA,kBACf,KAAK;AAAA,kBACL;AAAA,kBACA;AAAA,kBACA,UAAU,KAAK;AAAA,kBACf,aAAa,MAAM;AACjB,wBAAI,cAAc;AAChB,sCAAgB,KAAK;AAAA,oBACvB;AAAA,kBACF;AAAA,gBACF,CAAC;AAAA,gBAEA,KAAK;AAAA,cACR;AAAA,YAEJ,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACJ;AAAA,EAEJ;AAEJ;AAqDA,IAAO,mBAAQ;;;ACtTf,IAAAG,kBAAmB;AACnB,IAAAC,iBAAsD;;;ACDtD,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkC;AAIlC,IAAM,aAAa,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS1B,IAAM,aAAa,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAQA,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIrB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAUvB,cAAc,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKjC,cAAc,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIxB,cAAc,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKpD,aAAa,CAAC;AAAA;AAAA;AAIpB,IAAM,WAAW,gBAAAA,QAAO;AAAA;AAAA,WAEb,EAAE,IAAI,CAAC;AAAA,YACN,EAAE,IAAI,CAAC;AAAA,IACf,UAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQR,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,CAAC,CAAC;AAAA,MACZ,UAAU,MAAM,CAAC;AAAA,wBACC,cAAc,OAAO,CAAC;AAAA;AAAA;AAI9C,IAAM,YAAQ;AAAA,EACZ,CACE,IAQA,QACG;AATH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAhFN,IA2EI,IAMK,kBANL,IAMK;AAAA,MALH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,WACE,+BAAAC,QAAA,cAAC,cAAW,SAAS,MAAM,MACzB,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI;AAAA,IACN,GACA,+BAAAA,QAAA,cAAC,YAAS,WAAU,YAAW,CACjC;AAAA,EAEJ;AACF;AAUA,IAAO,gBAAQ;;;AC/Gf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAMC,SAAQ;AAAA,EACZ,QAAQ;AAAA,IACN,cAAc;AAAA,IACd,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,IACd,aAAa;AAAA,IACb,YAAY;AAAA,EACd;AACF;AAEA,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,IACJ,QAAQ;AAAA,MACN,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,iBAAiB;AAAA,IAC3C;AAAA,IACA,UAAU;AAAA,MACR,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,iBAAiB;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,SAAS,cAAc,SAAS;AAAA,MAChC,UAAU,cAAc,oBAAoB;AAAA,IAC9C;AAAA,IACA,UAAU;AAAA,MACR,SAAS,cAAc,OAAO;AAAA,MAC9B,UAAU,cAAc,oBAAoB;AAAA,IAC9C;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,WAAS;AAC7B,SACEA,OAAM,MAAM,UAAU,EAAE,cAAcA,OAAM,MAAM,UAAU,EAAE;AAElE;AAEA,IAAM,cAAc,WAAS;AAC3B,SACEA,OAAM,MAAM,UAAU,EAAE,eACxBA,OAAM,MAAM,UAAU,EAAE,aAAa;AAEzC;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAK3B,IAAM,cAAc,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQhB,WAASD,OAAM,MAAM,UAAU,EAAE,WAAW;AAAA,YAC3C,WAASA,OAAM,MAAM,UAAU,EAAE,YAAY;AAAA;AAAA;AAAA,MAGnD,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA,0BAIA,YAAY,MAAM,SAAS,OAAO;AAAA;AAAA;AAAA,0BAGlC,YAAY,MAAM,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKnC,YAAY,MAAM,OAAO,OAAO;AAAA;AAAA;AAAA,0BAGhC,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,8BAG7B,WAAS,cAAc,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ3D,IAAM,YAAY,gBAAAC,QAAO;AAAA,WACd,WAASD,OAAM,MAAM,UAAU,EAAE,WAAW;AAAA,YAC3C,WAASA,OAAM,MAAM,UAAU,EAAE,YAAY;AAAA;AAAA;AAAA;AAAA,YAI7C,WAAU,MAAM,aAAa,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,WAIpD,WAASA,OAAM,MAAM,UAAU,EAAE,UAAU;AAAA,YAC1C,WAASA,OAAM,MAAM,UAAU,EAAE,UAAU;AAAA,aAC1C,WAAS,YAAY,KAAK,CAAC;AAAA,cAC1B,WAAS,YAAY,KAAK,CAAC;AAAA;AAAA;AAAA,wBAGjB,WAClB,MAAM,aACF,YAAY,KAAK,OAAO,WACxB,YAAY,KAAK,OAAO,OAAO;AAAA;AAAA;AAIzC,IAAM,SAAS,CAAC,OAcR;AAdQ,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EAhIF,IAyHgB,IAQX,kBARW,IAQX;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,kBAAkB,WAAW;AAC/B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SACE,+BAAAE,QAAA,cAAC,eAAY,SAAS,MAAM,MAC1B,+BAAAA,QAAA;AAAA,IAAC;AAAA,qCACK,QADL;AAAA,MAEC,SAAS;AAAA,MACT,UAAU;AAAA,MACV;AAAA,MACA,MAAK;AAAA,MACL,YAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,cAAY;AAAA,MACZ,oBAAkB;AAAA,MAClB,gBAAc;AAAA;AAAA,EAChB,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,YAAY;AAAA;AAAA,EACd,CACF;AAEJ;AAsBA,IAAO,iBAAQ;;;AFlLf,IAAM,kBAAkB;AAAA,EACtB,KAAK;AAAA,IACH,SAAS;AAAA,MACP,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY;AAAA,IACd;AAAA,IACA,OAAO,EAAE,YAAY,yBAAyB;AAAA,IAC9C,cAAc,EAAE,YAAY,yBAAyB;AAAA,EACvD;AAAA,EACA,eAAe;AAAA,IACb,SAAS;AAAA,MACP,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,YAAY;AAAA,IACd;AAAA,IACA,OAAO,CAAC;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,SAAS,CAAC;AAAA,IACV,OAAO,EAAE,cAAc,0BAA0B;AAAA,EACnD;AACF;AAEA,IAAM,mBAAmB,gBAAAC,QAAO;AAAA,IAC5B,WAAS,MAAM,aAAa,gBAAgB,MAAM,SAAS,EAAE,OAAO;AAAA;AAGxE,IAAM,QAAQ,gBAAAA,QAAO;AAAA;AAAA,IAEjB,WAAM;AAtCV;AAsCa,eAAM,eAAa,qBAAgB,MAAM,SAAS,MAA/B,mBAAkC;AAAA,CAAK;AAAA,IACnE,WAAS,MAAM,oBAAoB,iBAAiB;AAAA;AAGxD,IAAMC,gBAAe,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc5B,IAAM,wBAAoD;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB,CAC7B,cAC0C;AAC1C,SAAO,sBAAsB,SAAS,SAAS;AACjD;AAEA,IAAM,YAAY,CAAC,OAYX;AAZW,eACjB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAzEd,IAoEmB,IAMd,kBANc,IAMd;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AASA,QAAM,mBAAmB,eAAAE,QAAM,SAAS,QAAQ,QAAQ,EAAE;AAAA,IACxD,eACE,+BAAe,KAAK;AAAA;AAAA,IAGpB,OAAO,MAAM,SAAS,YACtB,uBAAuB,MAAM,IAAI;AAAA,EACrC;AAEA,QAAM,eAAe,SACnB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAS;AAAA,MACT;AAAA;AAAA,IAEC;AAAA,EACH;AAGF,SACE,+BAAAA,QAAA,cAAC,mCAAiB,aAA0B,QACzC,cAAc,SACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,UACA,YACH,GAED,cAAc,YACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,cACA,QACH,GAED,cAAc,iBACb,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,cACA,QACH,GAED,gBAAgB,+BAAAA,QAAA,cAACD,eAAA,MAAc,YAAa,CAC/C;AAEJ;AAWA,IAAO,qBAAQ;;;AGvIf,IAAAE,kBAAmB;AACnB,IAAAC,iBAAiC;;;ACDjC,IAAAC,iBAAkB;AAEH,SAAR,kBAAmC,KAAK,SAAS;AACtD,iBAAAC,QAAM,UAAU,MAAM;AACpB,UAAM,WAAW,WAAS;AACxB,UAAI,CAAC,IAAI,WAAW,IAAI,QAAQ,SAAS,MAAM,MAAM,GAAG;AACtD;AAAA,MACF;AAEA,cAAQ,KAAK;AAAA,IACf;AAEA,aAAS,iBAAiB,aAAa,QAAQ;AAC/C,aAAS,iBAAiB,cAAc,QAAQ;AAEhD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,QAAQ;AAClD,eAAS,oBAAoB,cAAc,QAAQ;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC;AACnB;;;ACpBA,IAAAC,iBAAiD;AAElC,SAAR,kBACL,KACS;AACT,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAEhD,QAAM,kBAAc;AAAA,IAClB,OAAK;AACH,YAAM,aAAa,IAAI;AAEvB,UAAI,EAAE,SAAS,aAAa,EAAE,WAAW,YAAY;AACnD,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,QAAM,iBAAa;AAAA,IACjB,OAAK;AACH,YAAM,aAAa,IAAI;AAEvB,UAAI,EAAE,SAAS,cAAc,EAAE,WAAW,YAAY;AACpD,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,gCAAU,MAAM;AAGd,aAAS,iBAAiB,WAAW,WAAW;AAChD,aAAS,iBAAiB,YAAY,UAAU;AAEhD,WAAO,MAAM;AACX,eAAS,oBAAoB,WAAW,WAAW;AACnD,eAAS,oBAAoB,YAAY,UAAU;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,SAAO,QAAQ,SAAS;AAC1B;;;AC1CA,IAAAC,iBAAgC;AAMhC,SAAS,gBAAgB,SAAyB;AAChD,QAAM,eAAyB;AAE/B,sCAAgB,MAAM;AACpB,UAAM,OAAO,6CAAc;AAC3B,UAAM,OAAO,6CAAc;AAE3B,QAAI,gBAAgB,UAAa,CAAC,QAAQ,CAAC,MAAM;AAC/C;AAAA,IACF;AAEA,QAAI,SAAS;AACX,WAAK,MAAM,YAAY,eAAe,SAAS;AAC/C,WAAK,MAAM,YAAY,cAAc,mBAAmB;AAAA,IAE1D;AAEA,WAAO,MAAM;AACX,WAAK,MAAM,eAAe,aAAa;AAAA,IACzC;AAAA,EACF,GAAG,CAAC,cAAc,OAAO,CAAC;AAC5B;AAEA,IAAO,6BAAQ;;;AC7Bf,gCAAkC;AAClC,IAAAC,UAAuB;AAEhB,SAAS,UAAU;AACxB,SAAO,sCAAC,0BAAAC,SAAA,EAAsB,OAAM,IAAG,QAAO,sBAAqB;AACrE;;;ACLA,IAAAC,iBAAkB;AAEX,IAAM,kBAAkB,WAC7B,+BAAAC,QAAA,cAAC,wBAAI,SAAQ,aAAY,MAAK,UAAW,QACvC,+BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,MAAK;AAAA,IACL,UAAS;AAAA,IACT,UAAS;AAAA,IACT,GAAE;AAAA;AACJ,CACF;;;ALOF,IAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,MAAM,+BAAAC,QAAA,cAAC,aAAQ;AAAA,IACf,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,MAAM,+BAAAA,QAAA,cAAC,qBAAgB;AAAA,IACvB,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,MAAM,+BAAAA,QAAA,cAAC,sBAAiB;AAAA,IACxB,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACR,MAAM,+BAAAA,QAAA,cAAC,UAAK,MAAK,SAAM,WAAE;AAAA,IACzB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AACF;AAEA,IAAM,WAAW;AACjB,IAAM,yBAAyB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQlC,WAAS,qBAAqB,eAAe,MAAM,QAAQ,EAAE,OAAO,EAAE;AAAA,IACtE,WAAS,gBAAgB,eAAe,MAAM,QAAQ,EAAE,UAAU,EAAE;AAAA;AAAA,IAEpE,WAAS,UAAU,eAAe,MAAM,QAAQ,EAAE,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMvD,QAAQ;AAAA,MACR,QAAQ;AAAA;AAAA;AAAA;AAAA,aAID,WAAU,MAAM,SAAS,MAAM,GAAI;AAAA,eACjC,WACX,MAAM,SAAS,oBAAoB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAM1D,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,MAMQ;AAvFR;AAwFE,gCAAU,MAAM;AACd,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,UAAM,cAAc,CAAC,MAAqB;AACxC,UAAI,EAAE,QAAQ,UAAU;AACtB,UAAE,eAAe;AACjB,wBAAgB,aAAa;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,WAAW;AAE9C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,WAAW;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,6BAAgB,MAAM;AAGtB,QAAM,kBAAkB,aAAa;AAErC,SAAO,SACL,+BAAAD,QAAA,cAAC,0BAAuB,QAAgB,UAAoB,MAC1D,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,YAAY,EAAE,SAAS,SAAS,OAAO,SAAS;AAAA,MAChD,gBAAe;AAAA,MACf,UAAU,kBAAkB,WAAW;AAAA,MACvC,SAAS,CAAC,kBAAkB,CAAC,UAAU,IAAI;AAAA;AAAA,IAE3C,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,EAAE,SAAS,UAAU,QAAQ,EAAE;AAAA,QAEzC,aACE,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,EAAE,IAAI;AAAA,QAEtD,OAAM;AAAA;AAAA,MAEN,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,KAAK,kBAAkB,WAAW;AAAA,UAClC,gBAAe;AAAA;AAAA,UAEd,oBAAe,QAAQ,MAAvB,mBAA0B,QACzB,+BAAAA,QAAA,cAAC,iBAAM,WAAU,aACf,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,eAAe,QAAQ,EAAE;AAAA,YAC/B,QACE,oBAAe,QAAQ,EAAE,UAAzB,YAAkC;AAAA;AAAA,QAEtC,CACF,IACE;AAAA,QAAM;AAAA,QACT;AAAA,MACH;AAAA,IACF;AAAA,EACF,GACC,gBACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,YAAW,oBAAe,QAAQ,EAAE,UAAzB,YAAkC;AAAA,MAC7C,UAAU;AAAA,MACV,SAAQ;AAAA,MACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,MAChB,SAAS;AAAA;AAAA,EACX,CAEJ,IACE;AACN;AAeA,IAAO,2BAAQ;;;AM7Kf,IAAAE,iBAA0B;AAC1B,IAAAC,kBAAmB;AACnB,IAAAD,iBAAiC;AAQjC,IAAM,SAAS;AACf,IAAM,mBAAmB;AACzB,IAAM,iBAAiB,EAAE,OAAO,KAAM,QAAQ,KAAM,MAAM,IAAK;AAE/D,IAAM,QAAQ,CAAC,eAAe,aAAa;AAAA;AAAA;AAAA,iCAGV,EAAE,aAAa,mBAAmB,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA,IAGrE,MAAM,gBAAiB,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3B,MAAO,MAAM,gBAAiB,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrC,IAAM,SAAS,cAAY;AACzB,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO,EAAE,CAAC;AAAA,IACZ;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,YAAY,cAAY;AAC5B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,EAAE,CAAC;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO,EAAE,CAAC;AAAA,EACd;AACF;AAEA,IAAM,eAAe,gBAAAE,QAAO;AAAA,eACb,WAAS,MAAM,MAAM,eAAe,MAAM,QAAQ,CAAC;AAAA,MAC5D,WAAS,MAAM,aAAa;AAAA,sBACZ,cAAc,mBAAmB,CAAC;AAAA,IACpD,UAAU,KAAK,CAAC;AAAA,SACX,WAAS,OAAO,MAAM,QAAQ,CAAC;AAAA,YAC5B,WAAS,UAAU,MAAM,QAAQ,CAAC;AAAA,IAC1C,UAAU,OAAO,CAAC;AAAA,WACX,cAAc,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMxB,EAAE,EAAE,CAAC;AAAA,wBACI,EAAE,EAAE,CAAC;AAAA,aAChB,EAAE,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,aAIxC,WAAS,MAAM,MAAM;AAAA;AAGlC,IAAMC,mBAAkB,gBAAAD,QAAO;AAAA;AAAA;AAI/B,IAAM,QAAQ,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,UAAAE,YAAW;AAAA,EACX,WAAW;AACb,MAKQ;AACN,QAAM,gBAAgB,eAAeA,SAAQ;AAE7C,gCAAU,MAAM;AACd,UAAM,QAAQ,WAAW,MAAM;AAC7B,UAAI,QAAQ;AACV,qBAAa;AAAA,MACf;AAAA,IACF,GAAG,aAAa;AAEhB,WAAO,MAAM,aAAa,KAAK;AAAA,EACjC,GAAG,CAAC,MAAM,CAAC;AAEX,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACG,UACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,OAAK,EAAE,gBAAgB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEA,+BAAAA,QAAA,cAACF,kBAAA,EAAgB,aAAU,YAAU,QAAS;AAAA,IAC7C,gBACC,+BAAAE,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAM,+BAAAA,QAAA,cAAC,cAAS;AAAA,QAChB,SAAS;AAAA,QACT,WAAU;AAAA;AAAA,IACZ;AAAA,EAEJ,CAEJ;AAEJ;AAkBA,IAAO,gBAAQ;;;ACrJf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAmD;AAEnD,IAAAC,qBAA8C;AAE9C,IAAAC,mCAA2B;AAmC3B,IAAM,aAA6B;AAAA,EACjC,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AACf;AAEA,IAAM,mBAAmB;AACzB,IAAM,aAAa,UAAU,MAAM,WAAW,UAAU,MAAM;AAE9D,IAAM,mBAAmB,mBAAmB,cAAc;AAE1D,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,sBACX,cAAc,mBAAmB,CAAC;AAAA,WAC7C,cAAc,aAAa,CAAC;AAAA,IACnC,UAAU,KAAK,CAAC;AAAA,IAChB,cAAc,MAAM,CAAC;AAAA,IACrB,YAAY,OAAO,CAAC;AAAA,IACpB,UAAU,QAAQ,CAAC;AAAA,IACnB,WAAS,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA,aAEpC,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC;AAAA,aAC5B,WAAS,MAAM,MAAM;AAAA;AAGlC,IAAM,kBAAkB,gBAAAA,QAAO;AAAA,sBACT,cAAc,OAAO,CAAC;AAAA;AAAA,WAEjC,cAAc,OAAO,CAAC;AAAA,IAC7B,cAAc,MAAM,CAAC;AAAA,IACrB,YAAY,OAAO,CAAC;AAAA,kBACN,EAAE,GAAG,CAAC;AAAA,mBACL,EAAE,GAAG,CAAC;AAAA;AAGlB,IAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MACE,+BAAAC,QAAA,cAAC,uBAAiB,QAAS;AAGtB,IAAM,aAAa,CAAC,OAQ0C;AAR1C,eACzB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA/FF,IAyF2B,IAOtB,iBAPsB,IAOtB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKA;AAAA;AAAA;AAAA,mCAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,SACI,aACA;AAAA,MAEH;AAAA,IACH;AAAA;AAAA;AAKF,IAAM,kBAAkB,gBAAAD,QAAO;AAAA,aAClB,WAAU,MAAM,WAAW,iBAAiB,OAAQ;AAAA,IAC7D,WAAS,MAAM,iBAAiB,mBAAmB,MAAM,aAAa,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5E,SAAS,qBAAqB,OAAmB;AAC/C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,UAAU,CAAC,OAkBG;AAlBH,eACf;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,EAxJF,IAwIiB,IAiBZ,iBAjBY,IAiBZ;AAAA,IAhBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,MAAM,UAAU,QAAI,6BAAS;AAAA,IAClC,YAAY,qBAAqB,KAAK;AAAA,IACtC,YAAY;AAAA,EACd,CAAC;AAED,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,KAAK;AACxD,QAAM,CAAC,QAAQ,SAAS,QAAI,yBAAS,KAAK;AAI1C,QAAM,CAAC,qBAAqB,sBAAsB,QAAI,yBAAS,KAAK;AAEpE,QAAM,eAAW,uBAAO;AACxB,QAAM,oBAAoB,CAAC,WAAW;AAGtC,gCAAU,MAAM;AACd,QAAI,mBAAmB;AACrB,gBAAU,KAAK;AAEf;AAAA,IACF;AAEA,UAAM,yBAAyB,iBAAiB;AAEhD,QAAI,QAAQ,wBAAwB;AAClC,gBAAU,IAAI;AAAA,IAChB;AAIA,QAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,qBAAqB;AAC5D,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,cAAc,MAAM;AACxB,2BAAuB,KAAK;AAE5B,QAAI,CAAC,mBAAmB;AACtB,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,aAAa,MAAM;AACvB,cAAU,KAAK;AACf,2BAAuB,KAAK;AAAA,EAC9B;AAEA,gCAAU,MAAM;AACd,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AAEA,UAAM,cAAc,OAAK;AACvB,UAAI,EAAE,QAAQ,UAAU;AACtB,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAClB,mBAAW;AAAA,MACb;AAAA,IACF;AAGA,WAAO,iBAAiB,WAAW,aAAa,IAAI;AAEpD,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,aAAa,IAAI;AAAA,IACzD;AAAA,EACF,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,QAAM,EAAE,YAAY,cAAc,YAAY,QAAI,6BAAS;AAAA,IACzD;AAAA,IACA,WAAW,WAAW,SAAS;AAAA,IAC/B,iDAAAE;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SACE,+BAAAD,QAAA,6BAAAA,QAAA,gBAEE,+BAAAA,QAAA;AAAA,IAAC;AAAA,oDACK,eACA,aAFL;AAAA,MAGC,SAAS,OAAK;AAGZ,YAAI,EAAE,WAAW,GAAG;AAClB,iCAAuB,IAAI;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,UAAU,oBAAoB,KAAK;AAAA,MACnC,SAAK,8BAAU,aAAa,KAAK,QAAQ;AAAA;AAAA,IAExC;AAAA,EACH,GACC,YACC,+BAAAA,QAAA,cAAC,UAAK,WAAU,UAAS,aAAU,YAChC,UAAU,OACb,GAED,UACC;AAAA,IACE,+BAAAA,QAAA,cAAC,wCAAQ,aAAR,EAAoB,OAAO,iCAAK,WAAW,QAAhB,EAAuB,OAAO,OACxD,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,cAAc,MAAM,iBAAiB,IAAI;AAAA,QACzC,cAAc,MAAM,iBAAiB,KAAK;AAAA,QAC1C,MAAK;AAAA,QACL,IAAI;AAAA,SACA;AAAA,MAEJ,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,WACX,+BAAAA,QAAA,cAAC,gBAAK,MAAK,SAAQ,YAAW,UAC3B,OACH,GACC,YACC,+BAAAA,QAAA,cAAC,mBAAQ,KAAI,YACV,SAAS,IAAI,CAAC,MAAM,UACnB,+BAAAA,QAAA,cAAC,eAAY,KAAK,SAAQ,IAAK,CAChC,CACH,CAEJ;AAAA,IACF,CACF;AAAA,EACF,CACJ;AAEJ;AAEO,IAAM,sBAAsB,OAAO,KAAK,UAAU;AA0CzD,IAAO,kBAAQ;;;ACtVf,IAAAE,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB1B,IAAM,sBAAsB,gBAAAE,QAAO;AAAA,IAC/B,WAAS,YAAY,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAY9B,WAAS,MAAM,YAAY,iBAAiB;AAAA;AAAA;AAAA,IAG9C,WACA,MAAM,QAAQ,KACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQD;AAAA;AAGH,IAAM,2BAA2B,gBAAAA,QAAO;AAAA;AAAA,IAEpC,WAAS,UAAU,MAAM,MAAM,CAAC;AAAA,YACxB,WAAS,MAAM,MAAM;AAAA,WACtB,WAAS,MAAM,KAAK;AAAA,IAC3B,WAAS,MAAM,YAAY,iBAAiB;AAAA;AAGzC,IAAM,eAAe,CAAC;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AACb,MAA4E;AAC1E,SACE,+BAAAC,QAAA,6BAAAA,QAAA,gBACG,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,MACzB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IACD;AAAA,EAED,CACD,CACH;AAEJ;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV,MACuD;AACrD,SACE,+BAAAA,QAAA,6BAAAA,QAAA,gBACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,CACF;AAEJ;;;ACvGA,IAAAC,kBAAmB;AACnB,IAAAC,iBAAkB;AAKlB,IAAM,oBAAoB,CAAC,aAAqB;AAC9C,SACE,+BAAAC,QAAA,cAAC,cACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,IAAG;AAAA,MACH,IAAG;AAAA,MACH,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,EACzC,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,EACzC,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,WAAW,QAAQ;AAAA,MACvB,GAAE;AAAA,MACF,IAAG;AAAA,MACH,IAAG;AAAA;AAAA,IAEH,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,WAAU;AAAA,IACvC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,IACzC,+BAAAA,QAAA,cAAC,UAAK,QAAO,OAAM,WAAU,aAAY;AAAA,EAC3C,CACF;AAEJ;AAEA,IAAM,iBACJ;AAEF,IAAM,gBAAgB,CAAC,OAA+C;AAA/C,eAAE,SAAO,aAAa,SAlD7C,IAkDuB,IAAmC,kBAAnC,IAAmC,CAAjC,SAAO,eAAa;AAC3C,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,WAAU,SAAQ,aAAY,MAAK,UAAW,QAC5D,+BAAAA,QAAA,cAAC,eAAM,SAAO,GACb,CAAC,cACA,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,kBAAkB,QAAQ,GAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MACrB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,GAAG;AAAA,UACH,MAAM,gBAAgB,QAAQ,aAAa,IAAI,CAAC;AAAA;AAAA,MAClD,CACD,CACH,IAEA,+BAAAA,QAAA,cAAC,UAAK,GAAG,gBAAgB,MAAM,cAAc,WAAW,GAAG,CAE/D;AAAA,IAGJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,aAAY,MAAK,UAAW,QACzD,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,aAAY,MAAK,UAAW,QACzD,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,CACF;AAAA,IAEJ;AACE,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,aAAY,MAAK,UAAW,QACzD,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,CACF;AAAA,EAEN;AACF;AAEA,IAAM,kBAAkB,CAAC,OAAuC;AAAvC,eAAE,SAAO,cA7HlC,IA6HyB,IAA2B,kBAA3B,IAA2B,CAAzB,SAAO;AAChC,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,cAAW;AAAA,UACX,SAAQ;AAAA,UACR,MAAM;AAAA,WACF;AAAA,QAEJ,+BAAAA,QAAA,cAAC,eAAM,SAAO;AAAA,QACd,+BAAAA,QAAA,cAAC,UAAK,GAAE,yCAAwC;AAAA,QAChD,+BAAAA,QAAA,cAAC,UAAK,GAAE,gaAA+Z;AAAA,QACva,+BAAAA,QAAA,cAAC,UAAK,GAAE,8ZAA6Z;AAAA,QACra,+BAAAA,QAAA,cAAC,UAAK,GAAE,yeAAwe;AAAA,QAChf,+BAAAA,QAAA,cAAC,UAAK,GAAE,8KAA6K;AAAA,QACrL,+BAAAA,QAAA,cAAC,UAAK,GAAE,2CAA0C;AAAA,MACpD;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,CACF;AAAA,IAGJ;AACE,aACE,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,cAAW;AAAA,UACX,SAAQ;AAAA,UACR,MAAM;AAAA,WACF;AAAA,QAEJ,+BAAAA,QAAA,cAAC,eAAM,MAAI;AAAA,QACX,+BAAAA,QAAA,cAAC,UAAK,GAAE,02BAAy2B;AAAA,MACn3B;AAAA,EAEN;AACF;AAEA,IAAM,mBACJ;AAEF,IAAM,kBAAkB,CAAC,OAMnB;AANmB,eACvB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAhMF,IA4LyB,IAKpB,kBALoB,IAKpB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,WAAU,SAAQ,cAAa,MAAK,UAAW,QAC7D,+BAAAA,QAAA,cAAC,eAAM,SAAO,GACb,CAAC,cACA,+BAAAA,QAAA,6BAAAA,QAAA,gBACG,kBAAkB,QAAQ,GAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MACrB,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,GAAG;AAAA,UACH,MAAM,gBAAgB,QAAQ,aAAa,IAAI,CAAC;AAAA;AAAA,MAClD,CACD,CACH,IAEA,+BAAAA,QAAA,cAAC,UAAK,GAAG,kBAAkB,MAAM,cAAc,WAAW,GAAG,GAE/D,+BAAAA,QAAA,cAAC,OAAE,MAAM,iBACP,+BAAAA,QAAA,cAAC,UAAK,GAAE,oDAAmD,GAC3D,+BAAAA,QAAA,cAAC,UAAK,GAAE,8ZAA6Z,GACra,+BAAAA,QAAA,cAAC,UAAK,GAAE,0ZAAyZ,GACja,+BAAAA,QAAA,cAAC,UAAK,GAAE,yeAAwe,GAChf,+BAAAA,QAAA,cAAC,UAAK,GAAE,6KAA4K,GACpL,+BAAAA,QAAA,cAAC,UAAK,GAAE,mDAAkD,CAC5D,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,GACA,+BAAAA,QAAA,cAAC,OAAE,MAAM,iBACP,+BAAAA,QAAA,cAAC,UAAK,GAAE,gDAA+C,GACvD,+BAAAA,QAAA,cAAC,UAAK,GAAE,0eAAye,GACjf,+BAAAA,QAAA,cAAC,UAAK,GAAE,kaAAia,GACza,+BAAAA,QAAA,cAAC,UAAK,GAAE,qaAAoa,CAC9a,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,SAAQ,cAAa,MAAK,QAAO,cAAW,UAAW,QAC1D,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA,cAAC,OAAE,UAAS,4BACV,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,CACF,GACA,+BAAAA,QAAA,cAAC,cACC,+BAAAA,QAAA,cAAC,cAAS,IAAG,sBACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,QAAO;AAAA,UACP,MAAK;AAAA,UACL,WAAU;AAAA;AAAA,MACZ,CACF,CACF,CACF;AAAA,IAEJ,KAAK;AACH,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA,cAAC,OAAE,UAAS,4BACV,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP,CACF,GACA,+BAAAA,QAAA,cAAC,cACC,+BAAAA,QAAA,cAAC,cAAS,IAAG,sBACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,QAAO;AAAA,UACP,MAAK;AAAA,UACL,WAAU;AAAA;AAAA,MACZ,CACF,CACF,CACF;AAAA,IAEJ;AACE,aACE,+BAAAA,QAAA,cAAC,wBAAI,cAAW,QAAO,SAAQ,cAAa,MAAK,UAAW,QAC1D,+BAAAA,QAAA,cAAC,eAAM,MAAI,GACX,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MACE,cACI,cAAc,WAAW,IACzB,cAAc,SAAS;AAAA;AAAA,MAE/B,GACA,+BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MACR,CACF;AAAA,EAEN;AACF;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA,IAEvB,WAAS,MAAM,YAAY,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM7D,WAAS,MAAM,YAAY,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA;AAAA;AAIrE,IAAM,OAAO,CAAC,OAaT;AAbS,eACZ;AAAA,cAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,WAAW;AAAA,EAlcb,IA4bc,IAOT,kBAPS,IAOT;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,wCAAAD,QAAA,cAAC,8BAAY,SAAkB,YAAwB,QACpD,YAAY,cACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,eAAe,cAAc,aAAa;AAAA,MAC1C;AAAA,MACA,WAAU;AAAA;AAAA,EACZ,GAED,YAAY,YACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA;AAAA,EACZ,GAED,YAAY,cACX,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAe,cAAc,aAAa;AAAA,MAC1C,WAAU;AAAA;AAAA,EACZ,CAEJ;AAAA;AAoBF,IAAO,eAAQ;;;ACvff,IAAAE,kBAAmB;AACnB,IAAAC,iBAAkB;;;ACDX,IAAM,WAAW;;;ADKxB,IAAM,WAAW;AAAA,EACf,OAAO;AAAA,EACP,QAAQ;AACV;AAEA,IAAM,oBAAoB,gBAAAC,QAAO;AAAA,eAClB,WAAS,MAAM,SAAS;AAAA,0BACb,QAAQ,IAAI,WAAS,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA,YAI9C,WAAS,SAAS,MAAM,IAAI,CAAC;AAAA,WAC9B,WAAS,SAAS,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxC,IAAM,aAAa,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AACT,MAAwE;AACtE,SAAO,+BAAAC,QAAA,cAAC,qBAAkB,WAAsB,OAAc,MAAY;AAC5E;AAQA,IAAO,sBAAQ;;;AExCf,IAAAC,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAUlB,IAAM,aAAa;AAEnB,IAAME,iBAAgB;AAAA,EACpB,QAAQ;AAAA;AAAA,iCAEuB,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,kCAItB,UAAU;AAAA,8BACd,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA,EAGnD,QAAQ;AAAA;AAAA,yBAEe,UAAU;AAAA,4BACP,cAAc,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKxD,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA,EAGzB,OAAO;AACT;AAEA,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA,6BAEE,WAAS,MAAM,WAAW,MAAM,OAAO;AAAA,MAC9D,WAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA,IAGpC,WAASD,eAAc,MAAM,OAAO,CAAC;AAAA;AAGzC,IAAM,iBAAiB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,WAAS,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IACxC,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAC/C,WAAS,QAAQ,WAAW,MAAM,OAAO,CAAC;AAAA,IAC1C,WAAS,QAAQ,eAAe,MAAM,UAAU,CAAC;AAAA,IACjD,WAAS,QAAQ,kBAAkB,MAAM,aAAa,CAAC;AAAA,IACvD,WAAS,QAAQ,gBAAgB,MAAM,WAAW,CAAC;AAAA,IACnD,WAAS,QAAQ,iBAAiB,MAAM,YAAY,CAAC;AAAA;AAAA,IAErD,WACA,MAAM,YACN;AAAA,MACE,QAAQ,eAAe,MAAM,QAAQ,CAAC;AAAA,MACtC,QAAQ,kBAAkB,MAAM,QAAQ,CAAC;AAAA,KAC1C;AAAA;AAAA,IAED,WACA,MAAM,YACN;AAAA,MACE,QAAQ,gBAAgB,MAAM,QAAQ,CAAC;AAAA,MACvC,QAAQ,iBAAiB,MAAM,QAAQ,CAAC;AAAA,KACzC;AAAA;AAAA,IAED,YAAU,MAAM,WAAW,MAAM,SAAS,kBAAkB;AAAA;AAAA;AAAA,oCAG5B,UAAU;AAAA,MACxC,WACA,MAAM,mBACN,qBAAqB,cAAc,MAAM,eAAe,CAAC,EAAE;AAAA;AAAA;AAAA,QAGzD,YACC,MAAM,WAAW,MAAM,SACxB;AAAA,0BACkB,cAAc,iBAAiB,CAAC;AAAA;AAAA,QAElD,UAAU,QAAQ,CAAC;AAAA,KACtB;AAAA;AAAA;AAAA;AAKE,IAAM,UAAU,CAAC,OASJ;AATI,eACtB;AAAA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAxGF,IAiGwB,IAQnB,kBARmB,IAQnB;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,oBAAoB,YAAY,IAAI,SAAS,KAAK;AAExD,QAAM,yBAAyB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,oBAAoB,CAAC,WAAW;AAEtC,MAAI,mBAAmB;AACvB,QAAM,gBAAgB,WAAW;AACjC,MAAI,CAAC,mBAAmB;AACtB,uBAAmB,uBAAuB,SAAS,aAAa;AAAA,EAClE;AAEA,QAAM,mBACJ,CAAC,oBAAoB,oBACjB;AAAA,IACE;AAAA,IACA,WAAW,OAAK;AACd,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AACjB,2CAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF,IACA,CAAC;AAEP,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,SAAS,YAAY,OAAO,aAAa;AAAA,MAC/C,WAAW,iBAAiB,iBAAiB;AAAA,MAC7C,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,OACI,mBACA;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAM,gBAAgB,aACpB,QAAQ,IAAI,iBAAe,aAAa,WAAW,CAAC,EAAE,KAAK,GAAG;AAEhE,IAAM,OAAO,CAAC,OAYN;AAZM,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EA5KZ,IAuKc,IAMT,kBANS,IAMT;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,MAAI,oBAAoB;AACxB,MAAI,YAAY,MAAM;AACpB,wBAAoB,eAAAA,QAAM,SAAS,IAAI,UAAU,WAAS;AACxD,UAAI,eAAAA,QAAM,eAAe,KAAK,KAAK,MAAM,SAAS,SAAS;AACzD,eAAO,eAAAA,QAAM,aAAa,OAA2C;AAAA,UACnE,SAAS;AAAA,QACX,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,SAAS,WAAW,cAAc,OAAO;AAAA,MACzC;AAAA,MACA;AAAA,MACA,MAAM,YAAY,OAAO,SAAS;AAAA,OAC9B;AAAA,IAEH;AAAA,EACH;AAEJ;AA0CA,IAAO,eAAQ;;;ACtPf,IAAAC,kBAAmB;AACnB,IAAAC,iBAA2D;AAiB3D,IAAM,cAAc,eAAAC,QAAM,cAA4C,CAAC,CAAC;AAExE,IAAM,uBAAuB,kBAC3B,aAAa,aAAa,YAAY,CAAC;AAEzC,IAAM,UAAU,gBAAAC,QAAO;AAAA,IACnB,WACA,MAAM,gBACN,aAAa,qBAAqB,MAAM,YAAY,CAAC;AAAA,GACtD;AAAA;AAGH,IAAM,UAAU,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQnB,WACA,MAAM,mBAAmB,kDAAkD;AAAA;AAAA,IAE3E,WAAS,MAAM,gBAAgB,QAAQ,gBAAgB,MAAM,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOxE,WAAS,MAAM,eAAe,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOzC,WAAS,MAAM,eAAe,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM5C,WAAS,MAAM,gBAAgB,QAAQ,SAAS,MAAM,YAAY,CAAC;AAAA;AAAA;AAIzE,IAAM,gBAAgB,gBAAAA,QAAO;AAAA,IACzB,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShB,WAAS,MAAM,gBAAgB,QAAQ,gBAAgB,MAAM,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAiBxE,WAAS,MAAM,gBAAgB,QAAQ,SAAS,MAAM,YAAY,CAAC;AAAA;AAAA;AAIzE,IAAM,aAAa,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKtB,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWnB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA,WAGd,WACP;AAAA,EACE,MAAM,WACF,SACA,MAAM,WACJ,oBACA;AACR,CAAC;AAAA,IACD,WACA,MAAM,YACN,iBAAiB,cAAc,SAAS,CAAC;AAAA,GAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQG,aAAa,QAAW,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,aAIzB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM5B,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKnB,WACA,MAAM,YAAY,qBAAqB,cAAc,SAAS,CAAC,EAAE;AAAA;AAAA;AAIvE,IAAM,mBAAmB,gBAAAA,QAAO;AAAA,aACnB,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMb,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUhB,cAAc,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,WAId,WACP;AAAA,EACE,MAAM,WACF,SACA,MAAM,WACJ,oBACA;AACR,CAAC;AAAA,IACD,WACA,MAAM,YACN,qBAAqB,cAAc,YAAY,CAAC;AAAA,cACtC,cAAc,SAAS,CAAC;AAAA,GACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQG,aAAa,QAAW,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,aAIzB,cAAc,SAAS,CAAC;AAAA;AAAA;AAAA;AAM9B,IAAM,MAAM,CAAC,OAYZ;AAZY,eAClB;AAAA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,aAAa;AAAA,EAlNf,IA6MoB,IAMf,kBANe,IAMf;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,EAAE,eAAe,IAAI,eAAAD,QAAM,WAAW,WAAW;AAEvD,MAAI,gBAAgB;AAClB,WACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,UAAU;AAAA,SACN;AAAA,MAEH,QACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,YAAY,WAClD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC;AAAA,MAED;AAAA,IACH;AAAA,EAEJ;AAEA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,UAAU;AAAA,OACN;AAAA,IAEH,QACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,YAAY,WAClD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC;AAAA,IAED;AAAA,EACH;AAEJ;AAGA,IAAM,iBAAiB,CAAC,OAOP;AAPO,eACtB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,EA3QpB,IAsQwB,IAMnB,kBANmB,IAMnB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAc,iBAClB,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,OACD;AAAA,IAEH;AAAA,EACH,IAEA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAK;AAAA,OACD;AAAA,IAEH;AAAA,EACH;AAGF,MAAI,cAAc;AAChB,WAAO,+BAAAA,QAAA,cAAC,WAAQ,gBAA6B,WAAY;AAAA,EAC3D;AAEA,SACE,+BAAAA,QAAA,cAAC,YAAY,UAAZ,EAAqB,OAAO,EAAE,eAAe,KAC3C,WACH;AAEJ;AAEA,IAAM,qBAAqB,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,MAIM;AACJ,MAAI,cAAc;AAChB,WACE,+BAAAA,QAAA,cAAC,kDAAY,eAAZ,EAA0B,WAAsB,UAAU,OACxD,QACH;AAAA,EAEJ;AACA,SAAO;AACT;AAEO,IAAM,SAAS,eAAAA,QAAM;AAAA,EAS1B,CACE,IAWA,QACG;AAZH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IAnVN,IA2UI,IASK,kBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,EAAE,eAAe,IAAI,eAAAA,QAAM,WAAW,WAAW;AAEvD,UAAM,gBAAY,sBAAM;AAExB,UAAM,iBAAiB;AAAA,MACrB,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,UAAU,WAAW,IAAI;AAAA,MACzB,oBAAoB,eAAe,YAAY;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,OACG;AAGL,WACE,+BAAAA,QAAA,cAAC,sBAAmB,cAA4B,aAC7C,iBACC,+BAAAA,QAAA,cAAC,qCAAqB,iBACnB,OACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,cAAc,WACpD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC,IACE,MACH,UACH,IAEA,+BAAAA,QAAA,cAAC,+BAAe,iBACb,OACC,+BAAAA,QAAA,cAAC,qBAAU,SAAQ,QAAO,cAAc,cAAc,WACpD,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,CACzC,IACE,MACH,UACH,CAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;AAEd,IAAM,UAAU,CAAC,OAOP;AAPO,eACtB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,EA5YpB,IAuYwB,IAMnB,kBANmB,IAMnB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,cAAU,uBAAoD,CAAC,CAAC;AAEtE,QAAM,oBAAgB;AAAA,IACpB,CAAC,OAA4B,oBAA4B;AAlZ7D,UAAAE;AAmZM,UAAI,WAAW;AAEf,cAAQ,MAAM,KAAK;AAAA,QACjB,KAAK;AACH,gBAAM,eAAe;AACrB,qBACE,kBAAkB,IAAI,kBAAkB,IAAI,KAAK,SAAS;AAC5D;AAAA,QACF,KAAK;AACH,gBAAM,eAAe;AACrB,qBACE,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,IAAI;AAC5D;AAAA,QACF,KAAK;AACH,gBAAM,eAAe;AACrB,qBAAW;AACX;AAAA,QACF,KAAK;AACH,gBAAM,eAAe;AACrB,qBAAW,KAAK,SAAS;AACzB;AAAA,QACF;AACE;AAAA,MACJ;AAEA,OAAAA,MAAA,QAAQ,QAAQ,QAAQ,MAAxB,gBAAAA,IAA2B;AAAA,IAC7B;AAAA,IACA,CAAC,KAAK,MAAM;AAAA,EACd;AAEA,QAAM,gBAAY;AAAA,IAChB,CAAC,aAAqB,CAAC,QAAkC;AACvD,cAAQ,QAAQ,QAAQ,IAAI;AAAA,IAC9B;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,mBAAe;AAAA,IACnB,MACE,KAAK,IAAI,CAAC,UAAU,UAClB,+BAAAF,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,KAAK,UAAU,KAAK;AAAA,QACpB,WAAW,OAAK,cAAc,GAAG,KAAK;AAAA,SAClC;AAAA,IACN,CACD;AAAA,IACH,CAAC,MAAM,eAAe,SAAS;AAAA,EACjC;AAEA,QAAM,kBAAc;AAAA,IAClB,MACE,iBACE,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAK;AAAA,SACD;AAAA,MAEH;AAAA,IACH,IAEA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAK;AAAA,SACD;AAAA,MAEH;AAAA,IACH;AAAA,IAEJ;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,iBACJ,+BAAAA,QAAA,cAAC,YAAY,UAAZ,EAAqB,OAAO,EAAE,eAAe,KAC3C,WACH;AAGF,MAAI,cAAc;AAChB,WAAO,+BAAAA,QAAA,cAAC,WAAQ,gBAA6B,cAAe;AAAA,EAC9D;AAEA,SAAO;AACT;AAEA,IAAM,OAAO,CAAC,OAA4C;AAA5C,eAAE,YAAU,KAlf1B,IAkfc,IAAqB,kBAArB,IAAqB,CAAnB,YAAU;AACxB,MAAI,YAAY,MAAM;AAEpB,YAAQ;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,YAAY,CAAC,MAAM;AAEtB,YAAQ,MAAM,2CAA2C;AAEzD,WAAO;AAAA,EACT;AAEA,MAAI,UAAU;AACZ,WAAO,+BAAAA,QAAA,cAAC,mCAAmB,QAAQ,QAAS;AAAA,EAC9C;AAEA,SAAO,+BAAAA,QAAA,cAAC,0BAAQ,QAAgB,MAAO;AACzC;AAsDA,IAAO,eAAQ;;;AC5jBf,IAAAG,kBAAmB;AACnB,IAAAC,iBAAkB;AAelB,IAAM,cAAc,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,eAKZ,EAAE,GAAG,CAAC;AAAA,gBACL,EAAE,IAAI,CAAC;AAAA,WACZ,WAAS,cAAc,MAAM,KAAK,CAAC;AAAA,sBACxB,WAAS,cAAc,MAAM,eAAe,CAAC;AAAA,IAC/D,UAAU,KAAK,CAAC;AAAA,IAChB,YAAY,OAAO,CAAC;AAAA,IACpB,cAAc,MAAM,CAAC;AAAA,IACrB,QAAQ,OAAO,QAAQ,CAAC;AAAA;AAG5B,IAAM,OAAO,CAAC,OAYN;AAZM,eACZ;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EApCjB,IA+Bc,IAMT,kBANS,IAMT;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,gBACJ,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,aAAa,iBAAiB,WAAW;AAAA,MACzC,cAAc,iBAAiB,UAAU;AAAA;AAAA,IAEzC,+BAAAA,QAAA,cAAC,gBAAK,MAAY,OAAM,gBAAe,MAAM,GAAG;AAAA,EAClD;AAGF,SACE,+BAAAA,QAAA,cAAC,8BAAY,OAAc,mBAAsC,QAC9D,QAAQ,iBAAiB,UAAU,eACnC,UACA,QAAQ,iBAAiB,WAAW,aACvC;AAEJ;AAeA,IAAO,eAAQ;;;AC5Ef,IAAAC,kBAAmB;AACnB,uBAQO;AACP,IAAAC,iBAAiC;AAEjC,IAAAC,oBAAqB;AAErB,IAAAC,0BAA8B;AAkB9B,IAAMC,cAAa;AAAA,EACjB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AACf;AAEA,IAAMC,WAAU,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAOV,WAAS,MAAM,cAAc;AAAA;AAG1C,IAAMC,kBAAiB,gBAAAD,QAAO;AAAA,IAG1B,WAAS,MAAM,UAAU,YAAY,MAAM,MAAM,EAAE;AAAA;AAGvD,IAAM,UAAU,CAAC,OAcG;AAdH,eACf;AAAA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ;AAAA,IACA,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,EA3EpB,IA+DiB,IAaZ,kBAbY,IAaZ;AAAA,IAZH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,aAAa,SAAS;AAC5B,QAAM,qBAAqB,iBAAiB;AAC5C,QAAM,YAAY,OAAO,WAAW;AACpC,QAAM,WACJ,UAAU,YAAY,SAAS,eAAe,MAAM,IAAI;AAE1D,QAAM,EAAE,OAAO,YAAY,QAAI;AAAA,IAC7B;AAAA,IACA,qBAAqB;AAAA,EACvB;AACA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,oBAAoB,UAAU,WAAW;AAC3C,aAAO,SAAS;AAAA,IAClB;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,GAAG,GAAG,WAAW,UAAU,UAAU,QAAQ,KAAK,QAAI,8BAAY;AAAA,IACxE,WAAWF,YAAW,SAAS;AAAA,IAC/B,YAAY;AAAA,UACV,wBAAM;AAAA,QACJ,SAAS;AAAA,QACT,UAAU,kBAAkB,mBAAmB,IAAI;AAAA,QACnD,aAAS,6BAAW;AAAA,MACtB,CAAC;AAAA,UACD,uBAAK;AAAA,QACH,oBAAoB,CAAC,OAAO,QAAQ;AAAA,QACpC,kBAAkB;AAAA,MACpB,CAAC;AAAA,UACD,iBAAAI,QAAiB,UAAU;AAAA,IAC7B;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAED,gCAAU,MAAM;AACd,QAAI,CAAC,KAAK,UAAU,WAAW,CAAC,KAAK,SAAS,SAAS;AACrD;AAAA,IACF;AAGA,eAAO,6BAAW,KAAK,UAAU,SAAS,KAAK,SAAS,SAAS,MAAM;AAAA,EACzE,GAAG,CAAC,KAAK,WAAW,KAAK,UAAU,QAAQ,WAAW,CAAC;AAEvD,QAAM,eAAe;AAAA,IACnB;AAAA,IACA,KAAK;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA,MACV,KAAK,gBAAK;AAAA,MACV,MAAM,gBAAK;AAAA,MACX,YAAY,WAAW,kBAAkB,MAAM,eAAe;AAAA,MAC9D,SAAS,UAAU,UAAU,IAAI;AAAA,IACnC;AAAA,EACF;AAEA,SACE,+BAAAC,QAAA,cAACJ,UAAA,+BAAQ,KAAK,aAAe,QAA5B,EAAmC,mBACjC,UAEA,eACC,+BAAAI,QAAA,6BAAAA,QAAA,gBACG,CAAC,YACA,+BAAAA,QAAA,cAACF,iBAAA,mBAAmB,eAAe,OAAQ,GAG5C,YACC,kBAAAG,QAAS;AAAA,IACP,+BAAAD,QAAA,cAACF,iBAAA,mBAAmB,eAAe,OAAQ;AAAA,IAC3C;AAAA,EACF,CACJ,CAEJ;AAEJ;AAiBA,IAAO,kBAAQ;;;AC1Kf,IAAAI,kBAAmB;AACnB,IAAAC,iBAAkB;AAIlB,IAAM,sBAAsB,gBAAAC,QAAO;AAAA;AAAA,WAExB,WACP,MAAM,QAAQ,cAAc,MAAM,KAAK,IAAI,cAAc,OAAO,CAAC;AAAA,IACjE,WAAS,MAAM,QAAQ,QAAQ,SAAS,MAAM,IAAI,CAAC;AAAA,IACnD,WAAS,MAAM,QAAQ,QAAQ,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxD,IAAM,eAAe,CAAC,OAOsD;AAPtD,eACpB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA,EAxBT,IAmBsB,IAMjB,kBANiB,IAMjB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,eAAY;AAAA,MACZ,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,OACI;AAAA,IAEH,OAAO;AAAA,EACV;AAEJ;AAiBA,IAAO,uBAAQ;;;ACvDf,IAAAC,iBAAoB;AACpB,IAAAC,kBAAmB;AACnB,IAAAD,iBAA8C;AAY9C,IAAM,gBAAgB,WAAS;AAAA,IAC3B,QAAQ,SAAS,MAAM,KAAK,CAAC;AAAA,IAC7B,QAAQ,UAAU,MAAM,MAAM,CAAC;AAAA,IAC/B,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IACpC,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IACtC,QAAQ,aAAa,MAAM,QAAQ,CAAC;AAAA,IACpC,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA;AAG1C,IAAM,eAAe,gBAAAE,QAAO;AAAA;AAAA,IAExB,WAAS,mBAAmB,eAAe,MAAM,UAAU,CAAC;AAAA,IAC5D,WACA,MAAM,kBACN,mBAAmB,mBAAmB,MAAM,cAAc,CAAC;AAAA,IAC3D,WACA,MAAM,gBACN,mBAAmB,iBAAiB,MAAM,YAAY,CAAC;AAAA,IACvD,WAAS,mBAAmB,aAAa,MAAM,IAAI,CAAC;AAAA,IACpD,WACA,MAAM,aAAa,mBAAmB,kBAAkB,MAAM,SAAS,CAAC;AAAA,IACxE,WAAS,MAAM,OAAO,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IAC/C,WAAS,MAAM,UAAU,QAAQ,WAAW,MAAM,MAAM,CAAC;AAAA,IACzD,WAAS,MAAM,aAAa,QAAQ,cAAc,MAAM,SAAS,CAAC;AAAA,IAClE,WAAS,cAAc,KAAK,CAAC;AAAA,IAC7B,WAAS,iBAAiB,MAAM,EAAE,CAAC;AAAA;AAGvC,IAAM,sBAAsB,gBAAAA,QAAO;AAAA,IAC/B,WAAS,oBAAoB,aAAa,MAAM,IAAI,CAAC;AAAA,IACrD,WAAS,oBAAoB,eAAe,MAAM,MAAM,CAAC;AAAA,IACzD,WAAS,MAAM,SAAS,QAAQ,cAAc,MAAM,KAAK,CAAC;AAAA,IAC1D,WAAS,cAAc,KAAK,CAAC;AAAA;AAG1B,IAAM,eAAe,CAAC,OAe+C;AAf/C,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EA9DF,IAiD6B,IAcxB,kBAdwB,IAcxB;AAAA,IAbH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH;AAAA,EACH;AAEJ;AAEA,IAAM,QAAQ,CAAC,OAmB+C;AAnB/C,eACb;AAAA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EA1GF,IAyFe,IAkBV,kBAlBU,IAkBV;AAAA,IAjBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,aAAa,OAAO;AAEtB,YAAQ,KAAK,mBAAmB;AAAA,EAClC;AAEA,SACE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACI;AAAA,IAEH,YAAY,QAAQ,YAAY,OAC7B,wBAAS,IAAI,UAAU,CAAC,UAA8B;AACpD,UAAI,MAAM,SAAS,gBAAgB,MAAM,SAAS,OAAO;AACvD,mBAAO,6BAAa,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,MAC9C;AAEA,aAAO;AAAA,IACT,CAAC,IACD;AAAA,EACN;AAEJ;AAgEA,IAAO,gBAAQ;;;AC/Mf,IAAAC,kBAAmB;AACnB,IAAAC,iBAAyC;AACzC,4BAA8C;AAK9C,IAAM,kBAAkB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOjB,EAAE,EAAE,CAAC;AAAA;AAAA;AAAA,MAGb,UAAU,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,cAKN,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA,MAGZ,UAAU,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,aAKR,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOL,EAAE,CAAC,CAAC;AAAA,cACH,EAAE,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpB,IAAM,uBAAuB,gBAAAA,QAAO;AAAA;AAAA,WAEzB,EAAE,EAAE,CAAC;AAAA;AAAA,IAEZ,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAMpB,IAAM,iBAAiB,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKT,EAAE,CAAC,CAAC;AAAA,cACX,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOZ,UAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBtB,IAAM,WAAW,gBAAAA,QAAO;AAAA;AAAA,WAEb,EAAE,CAAC,CAAC;AAAA,YACH,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,IAIZ,UAAU,KAAK,CAAC;AAAA,sBACE,WAAS,MAAM,KAAK;AAAA;AAG1C,IAAMC,iBAAgB,gBAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7B,IAAM,oBAAoB,gBAAAA,QAAO;AAAA;AAAA,qCAEI,EAAE,CAAC,CAAC;AAAA,SAChC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAAA;AAAA;AAAA;AAKrB,IAAM,SAAS,gBAAAA,QAAO;AAAA;AAAA,WAEX,EAAE,CAAC,CAAC;AAAA,YACH,EAAE,CAAC,CAAC;AAAA,IACZ,UAAU,KAAK,CAAC;AAAA,sBACE,WAAS,MAAM,KAAK;AAAA,YAC9B,WACR,MAAM,aAAa,MAAM,QACrB,oBACA,mCAAmC;AAAA,gBAC3B,WACZ,MAAM,aAAa,MAAM,SAAS,sCAAsC;AAAA;AAG5E,IAAM,iBAID,CAAC,EAAE,UAAU,cAAc,cAAc,MAAM;AAClD,QAAM,iBAAiB,SAAS,SAAS,YAAY,KAAK;AAE1D,SACE,+BAAAE,QAAA,cAAC,yBACE,SAAS,IAAI,YACZ,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS,MAAM,cAAc,MAAM;AAAA,MACnC,MAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW,OAAK;AACd,YAAI,EAAE,QAAQ,SAAS;AACrB,YAAE,eAAe;AACjB,wBAAc,MAAM;AAAA,QACtB;AAAA,MACF;AAAA;AAAA,EACF,CACD,CACH;AAEJ;AAEA,IAAM,gBAAgB,CAAC,EAAE,OAAO,SAAS,MAAM;AAC7C,SACE,+BAAAA,QAAA,cAAC,uBACC,+BAAAA,QAAA,cAAC,wCAAe,OAAc,UAAU,UAAU,GAClD,+BAAAA,QAAA,cAAC,sBACC,+BAAAA,QAAA,cAAC,uCAAc,UAAQ,MAAC,OAAc,UAAU,UAAU,GAC1D,+BAAAA,QAAA,cAAC,YAAS,OAAc,CAC1B,CACF;AAEJ;AAEA,IAAM,cAAc,CAAC,OAkBb;AAlBa,eACnB;AAAA,mBAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,EA5KF,IAwKqB,IAKhB,kBALgB,IAKhB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAeA,QAAM,CAAC,WAAW,YAAY,QAAI;AAAA,IAChC,eAAe,eAAe;AAAA,EAChC;AAEA,QAAM,iBAAiB,CAAC,QAAgB;AACtC,iBAAa,GAAG;AAChB,aAAS,GAAG;AAAA,EACd;AAEA,QAAM,gBAAgB,CAAC,WAAmB;AACxC,mBAAe,MAAM;AAAA,EACvB;AAEA,SACE,+BAAAA,QAAA,cAAC,yCAAyB,QACvB,YACC,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAc;AAAA,MACd;AAAA;AAAA,EACF,GAEF,+BAAAA,QAAA,cAAC,iBAAc,OAAO,WAAW,UAAU,gBAAgB,GAC1D,iBAAiB,+BAAAA,QAAA,cAACD,gBAAA,MAAe,aAAc,CAClD;AAEJ;AAcA,IAAO,uBAAQ;;;ACnOf,IAAAE,iBAA0B;AAC1B,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAME,SAAQ;AAEd,IAAMC,SAAQ;AAAA,EACZ,OAAO;AAAA,IACL,WAAW,EAAE,IAAI;AAAA,IACjB,QAAQ,EAAE,MAAM;AAAA,IAChB,SAAS,EAAE,KAAK;AAAA,IAChB,KAAK,EAAE,IAAI;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,WAAW,EAAE,CAAC;AAAA,IACd,QAAQ,EAAE,IAAI;AAAA,IACd,SAAS,EAAE,GAAG;AAAA,IACd,KAAK,EAAE,KAAK;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,WAAW,EAAE,CAAC;AAAA,IACd,QAAQ,EAAE,GAAG;AAAA,IACb,SAAS,EAAE,CAAC;AAAA,IACZ,KAAK,EAAE,IAAI;AAAA,EACb;AACF;AAEA,IAAMC,gBAAe,CAAC,UACpBD,OAAM,MAAM,IAAI,EAAE;AACpB,IAAM,YAAY,CAAC,UACjBA,OAAM,MAAM,IAAI,EAAE;AACpB,IAAME,cAAa,CAAC,UAClBF,OAAM,MAAM,IAAI,EAAE;AACpB,IAAM,SAAS,CAAC,UAAsCA,OAAM,MAAM,IAAI,EAAE;AACxE,IAAM,oBAAoB,CAAC,UACzBA,OAAM,MAAM,IAAI,EAAE;AAEpB,IAAM,kBAAkB,CAAC,mBAA2B;AAAA;AAAA;AAAA;AAAA;AAAA,uCAKb,cAAc;AAAA;AAAA;AAKrD,IAAM,gBAAgB;AAAA,EACpB,cAAc,MAAM;AAAA,EACpB,cAAc,QAAQ;AAAA,EACtB,cAAc,YAAY;AAC5B;AAEA,IAAM,wBAAwB,gBAAAG,QAAO;AAAA;AAAA;AAAA;AAAA,YAIzB,WAAS,UAAU,KAAK,CAAC;AAAA,WAC1B,WAASF,cAAa,KAAK,CAAC;AAAA,SAC9B,WAAS,OAAO,KAAK,CAAC;AAAA;AAG/B,IAAMG,OAAM,gBAAAD,QAAO;AAAA,WACR,WAASD,YAAW,KAAK,CAAC;AAAA,YACzB,WAASA,YAAW,KAAK,CAAC;AAAA;AAAA,sBAEhB,WAClB,MAAM,UAAU,QAAQ,MAAM,aAAa,SACvC,cAAc,MAAM,QAAQ,IAC5B,cAAc,MAAM,KAAK,CAAC;AAAA;AAAA,eAEnB,WAAS,gBAAgB,kBAAkB,KAAK,CAAC,CAAC,IAAIH,MAAK;AAAA;AAAA;AAAA,qBAGrD,WAAS,MAAM,KAAK;AAAA;AAGzC,IAAM,iBAAiB,CAAC,OAUhB;AAVgB,eACtB;AAAA,YAAQ;AAAA,IACR,OAAO;AAAA,EAlFT,IAgFwB,IAGnB,kBAHmB,IAGnB;AAAA,IAFH;AAAA,IACA;AAAA;AASA,SACE,+BAAAM,QAAA,cAAC,wCAAsB,QAAgB,QACrC,+BAAAA,QAAA,cAACD,MAAA,EAAI,OAAc,MAAY,OAAO,GAAG,UAAU,GAAG,GACtD,+BAAAC,QAAA,cAACD,MAAA,EAAI,OAAc,MAAY,OAAO,KAAK,UAAU,GAAG,GACxD,+BAAAC,QAAA,cAACD,MAAA,EAAI,OAAc,MAAY,OAAO,KAAK,UAAU,GAAG,CAC1D;AAEJ;AAEO,IAAME,kBAAiB,OAAO,KAAKN,MAAK;AAkB/C,IAAO,0BAAQ;;;ACtHf,IAAAO,iBAA0B;AAC1B,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAGlB,IAAME,SAAQ;AAAA,EACZ,QAAQ;AAAA,IACN,WAAW,EAAE,CAAC;AAAA;AAAA,IACd,WAAW,EAAE,IAAI;AAAA;AAAA,EACnB;AACF;AACA,IAAM,SAAS;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AACR;AAEA,IAAM,sCACJ;AACF,IAAM,2BAA2B;AACjC,IAAM,aAAa;AACnB,IAAM,YAAY,EAAE,IAAI;AACxB,IAAM,eAAe,WAASA,OAAM,MAAM,QAAQ,QAAQ,EAAE;AAC5D,IAAMC,gBAAe,WAASD,OAAM,MAAM,QAAQ,QAAQ,EAAE;AAC5D,IAAM,oBAAoB,WAAS,OAAO,MAAM,SAAS,MAAM;AAC/D,IAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUf,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW5B,IAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBf,IAAM,wBAAwB,gBAAAE,QAAO;AAAA;AAAA;AAAA;AAAA,YAIzB,WAASD,cAAa,KAAK,CAAC;AAAA,WAC7B,WAASA,cAAa,KAAK,CAAC;AAAA;AAAA;AAGvC,IAAM,MAAM,gBAAAC,QAAO;AAAA,WACR,SAAS;AAAA,YACR,WAAS,aAAa,KAAK,CAAC;AAAA,gBACxB,WACZ,MAAM,UAAU,eACZ,sCACA,cAAc,MAAM,KAAK,CAAC;AAAA,qBACb,WAASD,cAAa,KAAK,CAAC;AAAA,MAC3C,WAASA,cAAa,KAAK,CAAC;AAAA,yBACT,WAAS;AAC9B,QAAM,kBAAkB,MAAM,QAAQ,MAAM,aAAa;AACzD,QAAM,cAAc,iBAAiB;AACrC,SAAO,QAAQA,cAAa,KAAK,CAAC,MAAM,WAAW;AACrD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKG,MAAM;AAAA,MACN,MAAM,IAAI,WAAS,kBAAkB,KAAK,CAAC;AAAA,MAC3C,mBAAmB,IAAI,wBAAwB;AAAA;AAAA,qBAEhC,WACjB,KAAK,MAAM,SAAS,kBAAkB,KAAK,IAAI,WAAW;AAAA;AAAA;AAIvD,IAAM,iBAAiB,CAAC,OAWvB;AAXuB,eAC7B;AAAA,WAAO;AAAA,IACP,OAAAE,SAAQ;AAAA,IACR,QAAQ;AAAA,EAvGV,IAoG+B,IAI1B,kBAJ0B,IAI1B;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AASA,QAAM,WAAW,MAAM,KAAK,EAAE,QAAQ,WAAW,GAAG,CAAC,GAAG,UACtD,+BAAAC,QAAA,cAAC,OAAI,KAAK,OAAO,OAAc,MAAY,OAAOD,QAAO,OAAc,CACxE;AACD,SACE,+BAAAC,QAAA,cAAC,wCAAsB,MAAY,SAAkB,QAClD,QACH;AAEJ;AACO,IAAMC,kBAAiB,OAAO,KAAKL,MAAK;AACxC,IAAM,kBAAkB,OAAO,KAAK,MAAM;AAMjD,IAAO,0BAAQ;;;AChIf,IAAAM,iBAA0B;AAC1B,IAAAC,kBAAmB;AACnB,IAAAD,iBAAkB;AAKlB,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAetB,IAAM,kBAAkB;AAAA,EACtB,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa,cAAc,YAAY;AAAA,EACzC;AAAA,EACA,aAAa;AAAA,IACX,KAAK;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AACF;AAEA,IAAME,eAAc;AAAA,EAClB,MAAM,cAAc,MAAM;AAAA,EAC1B,QAAQ,cAAc,QAAQ;AAChC;AAEA,IAAM,qBAAqB,gBAAAC,QAAO;AAAA;AAAA;AAAA;AAKlC,IAAM,mBAAmB,gBAAAA,QAAO;AAAA;AAAA,YAEpB,gBAAgB,IAAI,IAAI;AAAA,WACzB,gBAAgB,IAAI,IAAI;AAAA,SAC1B,gBAAgB,YAAY,GAAG;AAAA,WAC7B,gBAAgB,YAAY,KAAK;AAAA;AAG5C,IAAM,eAAe,gBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKN,WAASD,aAAY,MAAM,SAAS,MAAM,CAAC;AAAA,YACrD,gBAAgB,IAAI,WAAW;AAAA,MACrC,gBAAgB,IAAI,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQb,WAASA,aAAY,MAAM,SAAS,MAAM,CAAC;AAAA;AAAA,iBAElD,WAAU,MAAM,YAAY,gBAAgB,MAAO;AAAA,QAC5D,gBAAgB,UAAU,QAAQ,IAAI,gBAAgB,UAAU,MAAM;AAAA,QACtE,gBAAgB,UAAU,SAAS;AAAA,eAC5B,WAAU,MAAM,YAAY,UAAU,MAAO;AAAA;AAAA;AAI5D,IAAM,YAAY,CAAC,OAUX;AAVW,eACjB;AAAA,gBAAY;AAAA,IACZ,QAAQ;AAAA,IACR;AAAA,EApFF,IAiFmB,IAId,kBAJc,IAId;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAQA,QAAM,aAAa,+BAAAE,QAAA,cAAC,gBAAa,WAAsB,OAAc;AAErE,SACE,+BAAAA,QAAA,cAAC,uCAAuB,QACrB,UACD,+BAAAA,QAAA,cAAC,wBAAkB,UAAW,CAChC;AAEJ;AAQA,IAAO,oBAAQ;;;AC5Gf,IAAAC,UAAuB;AAEvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;AC1Bf,IAAAC,UAAuB;AAGvB,SAAS,mBAAmB,OAAO;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;AC/Bf,IAAAC,UAAuB;AAGvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACvBf,IAAAC,UAAuB;AAGvB,SAAS,iCAAiC,OAAO;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,iCAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,uBAAuB,OAAO;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,gCAAgC,OAAO;AAC9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAU;AAAA,QACV,MAAK;AAAA,QACL,GAAG;AAAA;AAAA,IACL;AAAA,EACF;AAEJ;AAEA,IAAO,mCAAQ;;;AClCf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACvBf,IAAAC,UAAuB;AAGvB,SAAS,kDAAkD,OAAO;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,0BAA0B,OAAO;AACxC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,gBAAgB,OAAO;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,cAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,mBAAmB,OAAO;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,sCAAC,OAAE,UAAS,2BAA0B,MAAK,kBACzC,sCAAC,UAAK,GAAE,8+CAA6+C,CACv/C;AAAA,IACA,sCAAC,cACC,sCAAC,cAAS,IAAG,uBACX,sCAAC,UAAK,MAAK,QAAO,GAAE,mBAAkB,CACxC,CACF;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;ACvBf,IAAAC,UAAuB;AAGvB,SAAS,yCAAyC,OAAO;AACvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,2CAAQ;;;AC/Bf,IAAAC,UAAuB;AAGvB,SAAS,wBAAwB,OAAO;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;ACjCf,IAAAC,UAAuB;AAGvB,SAAS,gCAAgC,OAAO;AAC9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;ACvBf,IAAAC,UAAuB;AAGvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,sCAAC,UAAK,GAAE,4CAA2C,MAAK,gBAAe;AAAA,IACvE;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACpBf,IAAAC,UAAuB;AAGvB,SAAS,sBAAsB,OAAO;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,uBAAuB,OAAO;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,yCAAyC,OAAO;AACvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,MAAK;AAAA;AAAA,MAEL,sCAAC,UAAK,GAAE,uIAAsI;AAAA,MAC9I,sCAAC,UAAK,GAAE,6bAA4b;AAAA,IACtc;AAAA,IACA,sCAAC,cACC,sCAAC,cAAS,IAAG,oDACX,sCAAC,UAAK,MAAK,QAAO,GAAE,mBAAkB,CACxC,CACF;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;AC3Bf,IAAAC,UAAuB;AAGvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,kBAAkB,OAAO;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;AC3Bf,IAAAC,UAAuB;AAGvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,sCAAC,UAAK,GAAE,mCAAkC,MAAK,gBAAe;AAAA,IAC9D,sCAAC,UAAK,GAAE,6BAA4B,MAAK,gBAAe;AAAA,EAC1D;AAEJ;AAEA,IAAO,2BAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,2BAA2B,OAAO;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACvCf,IAAAC,UAAuB;AAGvB,SAAS,8BAA8B,OAAO;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,8BAAQ;;;ACvBf,IAAAC,UAAuB;AAGvB,SAAS,iCAAiC,OAAO;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,iCAAQ;;;ACzDf,IAAAC,UAAuB;AAGvB,SAAS,4BAA4B,OAAO;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA,QACb,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACxCf,IAAAC,UAAuB;AAGvB,SAAS,wBAAwB,OAAO;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,yBAAyB,OAAO;AACvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,8BAA8B,OAAO;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,+BAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACnBf,IAAAC,UAAuB;AAGvB,SAAS,0BAA0B,OAAO;AACxC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;;;ACrBf,IAAAC,UAAuB;AAGvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA,sCAAC,UAAK,MAAK,gBAAe,GAAE,kCAAiC;AAAA,EAC/D;AAEJ;AAEA,IAAO,mBAAQ;;;ACxBf,IAAAC,UAAuB;AAGvB,SAAS,qBAAqB,OAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACzBf,IAAAC,UAAuB;AAGvB,SAAS,mCAAmC,OAAO;AACjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;AC3Bf,IAAAC,WAAuB;AAGvB,SAAS,oBAAoB,OAAO;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACzBf,IAAAC,WAAuB;AAGvB,SAAS,qCAAqC,OAAO;AACnD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ,uCAAC,UAAK,GAAE,uCAAsC,MAAK,gBAAe;AAAA,IAClE;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,uCAAQ;;;ACtBf,IAAAC,WAAuB;AAGvB,SAAS,oCAAoC,OAAO;AAClD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;AAEA,IAAO,qCAAQ;;;ACrBf,IAAAC,WAAuB;AAGvB,SAAS,0CAA0C,OAAO;AACxD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,OACF;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA,uCAAC,YAAO,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,MAAK,gBAAe;AAAA,IAC5D;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,EACF;AAEJ;AAEA,IAAO,2CAAQ;;;AChEf,IAAAC,WAAuB;AAIR,SAAR,KAAsB,OAAO;AAClC,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,UACP,uCAAC,UAAK,GAAE,6RAA4R,GACpS,uCAAC,UAAK,GAAE,kTAAiT,GACzT,uCAAC,UAAK,GAAE,0YAAyY,CACnZ,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;;;ACzDA,IAAAC,WAAuB;AAGvB,SAAS,cAAc,OAAO;AAC5B,QAAM,OAAO,cAAc,2BAA2B;AACtD,QAAM,SAAS,cAAc,6BAA6B;AAC1D,QAAM,MAAM,cAAc,0BAA0B;AAEpD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,yBAAQ;;;AClEf,IAAAC,WAAuB;AAGvB,SAAS,WAAW,OAAO;AACzB,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,SAAS,cAAc,wBAAwB;AACrD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,OAAE,QAAgB,kBAAiB,MAAK,aAAY,OACnD,uCAAC,UAAK,GAAE,uBAAsB,GAC9B,uCAAC,UAAK,GAAE,uBAAsB,GAC9B,uCAAC,UAAK,GAAE,uBAAsB,GAC9B,uCAAC,UAAK,GAAE,uBAAsB,CAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,uCAAsC,MAAM,MAAM,CAC5D;AAEJ;AAEA,IAAO,uBAAQ;;;AC1Ef,IAAAC,WAAuB;AAGvB,SAAS,WAAW,OAAO;AACzB,QAAM,OAAO,cAAc,2BAA2B;AACtD,QAAM,SAAS,cAAc,6BAA6B;AAC1D,QAAM,cAAc,cAAc,oBAAoB;AAEtD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,kBAAiB;AAAA;AAAA,EACnB,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,kBAAiB;AAAA;AAAA,EACnB,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,kBAAiB;AAAA;AAAA,EACnB,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,kBAAiB;AAAA;AAAA,EACnB,CACF;AAEJ;AAEA,IAAO,uBAAQ;;;AClFf,IAAAC,WAAuB;AAIvB,SAAS,SAAS,OAAO;AACvB,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA,uCAAC,UAAK,GAAE,oCAAmC,MAAM,QAAQ,GACzD;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,ibAAgb,GACxb,uCAAC,UAAK,GAAE,gbAA+a,GACvb,uCAAC,UAAK,GAAE,gbAA+a,GACvb,uCAAC,UAAK,GAAE,qbAAob,GAC5b,uCAAC,UAAK,GAAE,qbAAob,CAC9b,CACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACvCf,IAAAC,WAAuB;AAGvB,SAAS,WAAW,OAAO;AACzB,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,SAAS,cAAc,wBAAwB;AACrD,QAAM,OAAO,cAAc,oBAAoB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,cAAS,IAAG,OACX,uCAAC,UAAK,GAAE,sBAAqB,CAC/B,GACA,uCAAC,OAAE,UAAS,aACV;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,OAAE,MAAM,UACP,uCAAC,UAAK,GAAE,8CAA6C,GACrD,uCAAC,UAAK,GAAE,0CAAyC,GACjD,uCAAC,UAAK,GAAE,+CAA8C,CACxD,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,oCAAmC,MAAM,MAAM,GACvD;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,aAAY;AAAA;AAAA,EACd,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,aAAY;AAAA;AAAA,EACd,CACF,CACF;AAEJ;AAEA,IAAO,sBAAQ;;;ACjDf,IAAAC,WAAuB;AAIvB,SAAS,aAAa,OAAO;AAC3B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,yWAAwW,GAChX,uCAAC,UAAK,GAAE,yWAAwW,CAClX,CACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACvEf,IAAAC,WAAuB;AAIvB,SAAS,YAAY,OAAO;AAC1B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,mWAAkW,GAC1W,uCAAC,UAAK,GAAE,mWAAkW,GAC1W,uCAAC,UAAK,GAAE,whCAAuhC,GAC/hC,uCAAC,UAAK,GAAE,ylBAAwlB,GAChmB,uCAAC,UAAK,GAAE,gmBAA+lB,GACvmB,uCAAC,UAAK,GAAE,2lBAA0lB,CACpmB,CACF;AAEJ;AAEA,IAAO,uBAAQ;;;AC/Ef,IAAAC,WAAuB;AAIvB,SAAS,MAAM,OAAO;AACpB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,UACP,uCAAC,UAAK,GAAE,wDAAuD,GAC/D,uCAAC,UAAK,GAAE,iDAAgD,GACxD,uCAAC,UAAK,GAAE,+CAA8C,CACxD,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACvCf,IAAAC,WAAuB;AAIvB,SAAS,QAAQ,OAAO;AACtB,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,oBAAoB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,UAAK,GAAE,4CAA2C,MAAM,MAAM,GAC/D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,UAAS,WAAU,MAAM,MAAM,UAAS,aACzC,uCAAC,UAAK,GAAE,+BAA8B,GACtC,uCAAC,UAAK,GAAE,sCAAqC,GAC7C,uCAAC,UAAK,GAAE,qCAAoC,GAC5C,uCAAC,UAAK,GAAE,qCAAoC,GAC5C,uCAAC,UAAK,GAAE,qCAAoC,CAC9C,CACF;AAEJ;AAEA,IAAO,kBAAQ;;;ACnCf,IAAAC,WAAuB;AAGvB,SAAS,WAAW,OAAO;AACzB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,QAAQ,cAAc,mBAAmB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,qBAAQ;;;AC9Bf,IAAAC,WAAuB;AAIvB,SAAS,KAAK,OAAO;AACnB,QAAM,QAAQ,cAAc,mBAAmB;AAC/C,QAAM,YAAY,cAAc,uBAAuB;AAEvD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,eAAQ;;;AC1Bf,IAAAC,WAAuB;AAIvB,SAAS,cAAc,OAAO;AAC5B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,UAAK,GAAE,wCAAuC,MAAM,QAAQ,GAC7D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA,MACzB,UAAS;AAAA;AAAA,EACX,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,u5CAAs5C,GAC95C,uCAAC,UAAK,GAAE,4cAA2c,CACrd,CACF;AAEJ;AAEA,IAAO,0BAAQ;;;AClCf,IAAAC,WAAuB;AAIvB,SAAS,YAAY,OAAO;AAC1B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,SAAS,cAAc,oBAAoB;AAEjD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,UAAK,GAAE,mDAAkD,MAAM,QAAQ,CAC1E;AAEJ;AAEA,IAAO,uBAAQ;;;AC1Cf,IAAAC,WAAuB;AAGvB,SAAS,YAAY,OAAO;AAC1B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,qWAAoW,GAC5W,uCAAC,UAAK,GAAE,6XAA4X,GACpY,uCAAC,UAAK,GAAE,gXAA+W,GACvX,uCAAC,UAAK,GAAE,0VAAyV,GACjW,uCAAC,UAAK,GAAE,yXAAwX,GAChY,uCAAC,UAAK,GAAE,yXAAwX,GAChY,uCAAC,UAAK,GAAE,6VAA4V,GACpW,uCAAC,UAAK,GAAE,gWAA+V,GACvW,uCAAC,UAAK,GAAE,wXAAuX,GAC/X,uCAAC,UAAK,GAAE,gWAA+V,GACvW,uCAAC,UAAK,GAAE,mWAAkW,GAC1W,uCAAC,UAAK,GAAE,mXAAkX,GAC1X,uCAAC,UAAK,GAAE,4VAA2V,GACnW,uCAAC,UAAK,GAAE,oWAAmW,GAC3W,uCAAC,UAAK,GAAE,sXAAqX,GAC7X,uCAAC,UAAK,GAAE,kXAAiX,GACzX,uCAAC,UAAK,GAAE,qWAAoW,CAC9W,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,oDAAmD,MAAM,MAAM,GACvE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,sBAAQ;;;ACnDf,IAAAC,WAAuB;AAIvB,SAAS,WAAW,OAAO;AACzB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,aAAa,cAAc,mBAAmB;AACpD,QAAM,kBAAkB,cAAc,wBAAwB;AAC9D,QAAM,YAAY,cAAc,kBAAkB;AAElD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,UAAK,GAAE,mDAAkD,MAAM,MAAM,GACtE,uCAAC,UAAK,GAAE,gDAA+C,MAAM,QAAQ,GACrE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,OAAE,MAAM,UACP,uCAAC,UAAK,GAAE,uCAAsC,GAC9C,uCAAC,UAAK,GAAE,uCAAsC,GAC9C,uCAAC,UAAK,GAAE,uCAAsC,GAC9C,uCAAC,UAAK,GAAE,uCAAsC,GAC9C,uCAAC,UAAK,GAAE,uCAAsC,GAC9C,uCAAC,UAAK,GAAE,uCAAsC,CAChD,GACA,uCAAC,UAAK,GAAE,4CAA2C,MAAM,MAAM,GAC/D,uCAAC,UAAK,GAAE,4CAA2C,MAAM,MAAM,GAC/D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GAEA,uCAAC,UAAK,GAAE,mDAAkD,MAAM,MAAM,GACtE,uCAAC,UAAK,GAAE,gDAA+C,MAAM,QAAQ,GACrE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,4CAA2C,MAAM,MAAM,GAC/D,uCAAC,UAAK,GAAE,4CAA2C,MAAM,MAAM,GAC/D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,sBAAQ;;;AC1Ef,IAAAC,WAAuB;AAIvB,SAAS,eAAe,OAAO;AAC7B,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,mhDAAkhD,GAC1hD,uCAAC,UAAK,GAAE,0jDAAyjD,GACjkD,uCAAC,UAAK,GAAE,wlDAAulD,CACjmD,CACF;AAEJ;AAEA,IAAO,2BAAQ;;;AChCf,IAAAC,WAAuB;AAIvB,SAAS,UAAU,OAAO;AACxB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,i2DAAg2D,GACx2D,uCAAC,UAAK,GAAE,6aAA4a,GACpb,uCAAC,UAAK,GAAE,ucAAsc,GAC9c,uCAAC,UAAK,GAAE,2bAA0b,CACpc,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,oBAAQ;;;ACjCf,IAAAC,WAAuB;AAGvB,SAAS,YAAY,OAAO;AAC1B,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA,uCAAC,UAAK,GAAE,kDAAiD,MAAM,QAAQ,GACvE,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,oaAAma,GAC3a,uCAAC,UAAK,GAAE,oaAAma,GAC3a,uCAAC,UAAK,GAAE,6ZAA4Z,GACpa,uCAAC,UAAK,GAAE,8ZAA6Z,GACra,uCAAC,UAAK,GAAE,4ZAA2Z,CACra,CACF;AAEJ;AAEA,IAAO,wBAAQ;;;AC9Bf,IAAAC,WAAuB;AAIvB,SAAS,WAAW,OAAO;AACzB,QAAM,QAAQ,cAAc,mBAAmB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AAEjD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,SACP,uCAAC,UAAK,GAAE,mDAAkD,GAC1D,uCAAC,UAAK,GAAE,mDAAkD,GAC1D,uCAAC,UAAK,GAAE,qDAAoD,CAC9D,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA,uCAAC,UAAK,GAAE,wCAAuC,MAAM,QAAQ,GAC7D,uCAAC,UAAK,GAAE,gDAA+C,MAAM,QAAQ,GACrE,uCAAC,UAAK,GAAE,iDAAgD,MAAM,QAAQ,GACtE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,qBAAQ;;;AC9Bf,IAAAC,WAAuB;AAIvB,SAAS,QAAQ,OAAO;AACtB,QAAM,SAAS,cAAc,oBAAoB;AAEjD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,UAAK,GAAE,+CAA8C,MAAM,QAAQ,GACpE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,kBAAQ;;;AC9Bf,IAAAC,WAAuB;AAIvB,SAAS,OAAO,OAAO;AACrB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,oVAAmV,GAC3V,uCAAC,UAAK,GAAE,oVAAmV,GAC3V,uCAAC,UAAK,GAAE,65CAA45C,CACt6C,CACF;AAEJ;AAEA,IAAO,iBAAQ;;;ACzDf,IAAAC,WAAuB;AAGvB,SAAS,gBAAgB,OAAO;AAC9B,QAAM,OAAO,cAAc,2BAA2B;AACtD,QAAM,SAAS,cAAc,6BAA6B;AAC1D,QAAM,OAAO,cAAc,2BAA2B;AACtD,QAAM,SAAS,cAAc,6BAA6B;AAE1D,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,2BAAQ;;;AC/Df,IAAAC,WAAuB;AAGvB,SAAS,SAAS,OAAO;AACvB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,QAAQ,cAAc,mBAAmB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,mBAAQ;;;ACtCf,IAAAC,WAAuB;AAIvB,SAAS,UAAU,OAAO;AACxB,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AAEjD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,UAAK,GAAE,+CAA8C,MAAM,QAAQ,GACpE,uCAAC,UAAK,GAAE,0CAAyC,MAAM,MAAM,GAC7D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,qBAAQ;;;AChCf,IAAAC,WAAuB;AAGvB,SAAS,mBAAmB,OAAO;AACjC,QAAM,OAAO,cAAc,2BAA2B;AACtD,QAAM,SAAS,cAAc,6BAA6B;AAC1D,QAAM,MAAM,cAAc,8BAA8B;AAExD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF;AAAA;AAAA,EACF,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,qDAAoD,MAAY,GACxE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,+BAAQ;;;ACnCf,IAAAC,WAAuB;AAIvB,SAAS,kBAAkB,OAAO;AAChC,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,2BAA2B;AAEtD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,qJAAoJ,GAC5J,uCAAC,UAAK,GAAE,oJAAmJ,GAC3J,uCAAC,UAAK,GAAE,sJAAqJ,CAC/J,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,6BAAQ;;;ACpCf,IAAAC,WAAuB;AAIvB,SAAS,OAAO,OAAO;AACrB,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,OAAO,cAAc,oBAAoB;AAE/C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAM;AAAA,MACN,UAAS;AAAA;AAAA,EACX,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,iBAAQ;;;AChCf,IAAAC,WAAuB;AAGvB,SAAS,eAAe,OAAO;AAC7B,QAAM,KAAK,cAAc,gBAAgB;AACzC,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,SAAS,cAAc,wBAAwB;AAErD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,63BAA43B,GACp4B,uCAAC,UAAK,GAAE,sGAAqG,GAC7G,uCAAC,UAAK,GAAE,8DAA6D,CACvE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,GAAE;AAAA,MACF,MAAM;AAAA,MACN,UAAS;AAAA;AAAA,EACX,CACF;AAEJ;AAEA,IAAO,2BAAQ;;;ACrCf,IAAAC,WAAuB;AAGvB,SAAS,MAAM,OAAO;AACpB,QAAM,QAAQ,cAAc,mBAAmB;AAC/C,QAAM,YAAY,cAAc,kBAAkB;AAElD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,OAAE,MAAM,SACP,uCAAC,UAAK,GAAE,8FAA6F,GACrG,uCAAC,UAAK,GAAE,8GAA6G,GACrH,uCAAC,UAAK,GAAE,kGAAiG,CAC3G,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,cAAc,UAAU;AAAA;AAAA,EAChC,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,CACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACtCf,IAAAC,WAAuB;AAIvB,SAAS,eAAe,OAAO;AAC7B,QAAM,QAAQ,cAAc,mBAAmB;AAC/C,QAAM,YAAY,cAAc,wBAAwB;AACxD,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,WAAW,cAAc,sBAAsB;AACrD,QAAM,OAAO,cAAc,kBAAkB;AAC7C,QAAM,OAAO,cAAc,kBAAkB;AAE7C,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE,uCAAC,UAAK,GAAE,sCAAqC,MAAM,OAAO,GAC1D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,yCAAwC,MAAM,OAAO,GAC7D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,+CAA8C,MAAM,MAAM,GAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA,uCAAC,UAAK,GAAE,8CAA6C,MAAM,MAAM,GACjE,uCAAC,UAAK,GAAE,wCAAuC,MAAM,MAAM,GAC3D;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,GACA,uCAAC,OAAE,MAAM,QACP,uCAAC,UAAK,GAAE,0yBAAyyB,GACjzB,uCAAC,UAAK,GAAE,2yBAA0yB,GAClzB,uCAAC,UAAK,GAAE,ojBAAmjB,GAC3jB,uCAAC,UAAK,GAAE,mqBAAkqB,CAC5qB,CACF;AAEJ;AAEA,IAAO,0BAAQ;;;AC7Ef,IAAAC,WAAuB;AAIvB,SAAS,WAAW,OAAO;AACzB,QAAM,OAAO,cAAc,oBAAoB;AAC/C,QAAM,SAAS,cAAc,oBAAoB;AACjD,QAAM,SAAS,cAAc,oBAAoB;AAEjD,SACE,uCAAC,wBAAI,MAAK,QAAO,QAAO,OAAM,SAAQ,eAAc,OAAM,SAAU,QAClE;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EACR,GACA;AAAA,IAAC;AAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,mBAAmB;AAAA;AAAA,EAC3B,CACF;AAEJ;AAEA,IAAO,sBAAQ;",
6
- "names": ["import_react", "React", "_debounce", "alignments", "import_react", "FontFamily", "styled", "React", "sides", "spaces", "import_styled", "import_react", "styled", "React", "import_react", "React", "import_react", "import_styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "styled", "React", "traceUFOPress", "availableSizes", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "styled", "React", "sizesStyles", "styled", "IconSection", "React", "import_styled", "import_react", "alignments", "styled", "React", "availableAlignments", "alignments", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "React", "WarningIcon", "styled", "React", "import_styled", "import_react", "alignments", "styled", "React", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "sizeStyles", "styled", "React", "import_styled", "import_react", "import_react", "React", "import_styled", "import_react", "React", "CheckMarkIcon", "React", "CloseIcon", "styled", "Image", "React", "import_styled", "import_react", "React", "SearchIcon", "styled", "React", "styled", "Image", "React", "_a", "ResizeObserver", "Downshift", "selectedItem", "import_styled", "import_react", "import_react", "styled", "React", "import_styled", "import_react", "styled", "ChildrenSection", "React", "FocusTrap", "_a", "import_react", "import_styled", "variants", "statusStyles", "styled", "React", "availableVariants", "import_styled", "import_react", "sizesStyles", "styled", "React", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "Group", "ErrorMessage", "isGrouped", "getSelectedOptionObject", "getIcon", "getTitle", "getHeaderAccessibilityProps", "IconSection", "React", "getSelectedOption", "renderOption", "ResizeObserver", "_a", "Downshift", "selectedItem", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "ResizeObserver", "React", "Downshift", "isOpen", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "sizes", "styled", "React", "styled", "ErrorMessage", "React", "import_styled", "import_react", "import_react", "React", "import_react", "import_react", "React", "InformationCircleIcon", "import_react", "React", "React", "styled", "import_react", "import_styled", "styled", "ChildrenSection", "duration", "React", "import_styled", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "React", "ResizeObserver", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "variantStyles", "styled", "React", "import_styled", "import_react", "React", "styled", "_a", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_react_dom", "import_transition_hook", "placements", "Wrapper", "styled", "ContentWrapper", "floatingUiOffset", "React", "ReactDOM", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "styled", "ButtonWrapper", "React", "import_react", "import_styled", "speed", "sizes", "getTotalSize", "getDotSize", "styled", "Dot", "React", "availableSizes", "import_react", "import_styled", "sizes", "getTotalSize", "styled", "speed", "React", "availableSizes", "import_react", "import_styled", "colorStyles", "styled", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React"]
3
+ "sources": ["../../src/index.ts", "../../src/colors.ts", "../../src/utilities/color.ts", "../../src/hooks/use-media.ts", "../../src/utilities/size.ts", "../../src/utilities/responsive.ts", "../../src/utilities/styles.ts", "../../src/utilities/case.ts", "../../src/utilities/style-provider.tsx", "../../src/variables.ts", "../../src/components/text/text.tsx", "../../src/console-messages.ts", "../../src/css-utilities/rules.ts", "../../src/css-utilities/generate-utilities.ts", "../../src/css-variables/index.ts", "../../src/components/avatar/avatar.tsx", "../../src/components/base-styles/base-styles.tsx", "../../src/components/button/button.tsx", "../../src/components/icon/icon.tsx", "../../src/components/loader/loader.tsx", "../../src/components/spacer/spacer.tsx", "../../src/components/text-input/text-input.tsx", "../../src/components/align/align.tsx", "../../src/components/container/container.tsx", "../../src/components/distribute/distribute.tsx", "../../src/components/error-container/error-container.tsx", "../../src/components/arrange/arrange.tsx", "../../src/components/icon/available-icons/alert-triangle.tsx", "../../src/components/layout/layout.tsx", "../../src/components/icon-button/icon-button.tsx", "../../src/components/checkbox/checkbox.tsx", "../../src/components/text-button/text-button.tsx", "../../src/components/select/select.tsx", "../../src/utilities/downshift.ts", "../../src/utilities/text.ts", "../../src/components/icon/available-icons/chevron-down.tsx", "../../src/components/menu/menu.tsx", "../../src/components/icon/available-icons/check.tsx", "../../src/components/icon/available-icons/close.tsx", "../../src/components/search-bar/search-bar.tsx", "../../src/components/icon/available-icons/search.tsx", "../../src/components/backdrop/backdrop.tsx", "../../src/hooks/use-prevent-scroll.ts", "../../src/components/modal/modal.tsx", "../../src/components/link/link.tsx", "../../src/components/textarea/textarea.tsx", "../../src/components/typeahead/typeahead.tsx", "../../src/components/dropdown/dropdown.tsx", "../../src/components/form-field/form-field.tsx", "../../src/components/radio/radio.tsx", "../../src/components/switch/switch.tsx", "../../src/components/notification-bar/notification-bar.tsx", "../../src/hooks/use-on-click-outside.ts", "../../src/hooks/use-focused-element.tsx", "../../src/hooks/use-push-page-down.ts", "../../src/components/icon/available-icons/info.tsx", "../../src/components/icon/available-icons/warning-alert.tsx", "../../src/components/toast/toast.tsx", "../../src/components/tooltip/tooltip.tsx", "../../src/components/skeleton/skeleton.tsx", "../../src/components/logo/logo.tsx", "../../src/components/logo-loader/logo-loader.tsx", "../../src/constants/routes.ts", "../../src/components/list/list.tsx", "../../src/components/tabs/tabs.tsx", "../../src/components/pill/pill.tsx", "../../src/components/popover/popover.tsx", "../../src/components/illustration/illustration.tsx", "../../src/components/split/split.tsx", "../../src/components/color-picker/color-picker.tsx", "../../src/components/ellipses-loader/ellipses-loader.tsx", "../../src/components/waveform-loader/waveform-loader.tsx", "../../src/components/indicator/indicator.tsx", "../../src/illustrations/accounts-and-billing.tsx", "../../src/illustrations/invite.tsx", "../../src/illustrations/archived.tsx", "../../src/illustrations/lead-with-transparency.tsx", "../../src/illustrations/ask-for-more.tsx", "../../src/illustrations/learning-and-development.tsx", "../../src/illustrations/business-plan.tsx", "../../src/illustrations/loom-plans.tsx", "../../src/illustrations/collaborate-with-teammates.tsx", "../../src/illustrations/option-grants.tsx", "../../src/illustrations/community.tsx", "../../src/illustrations/community-alt.tsx", "../../src/illustrations/parental-leave.tsx", "../../src/illustrations/content-limit.tsx", "../../src/illustrations/pto.tsx", "../../src/illustrations/custom-branding.tsx", "../../src/illustrations/record.tsx", "../../src/illustrations/desktop-app-and-chrome-extension.tsx", "../../src/illustrations/remote-first.tsx", "../../src/illustrations/device-compatibility.tsx", "../../src/illustrations/roadmap.tsx", "../../src/illustrations/downgrade.tsx", "../../src/illustrations/screenshot.tsx", "../../src/illustrations/embrace-the-weird.tsx", "../../src/illustrations/share-with-your-team.tsx", "../../src/illustrations/enterprise-plan.tsx", "../../src/illustrations/share.tsx", "../../src/illustrations/faq-and-security.tsx", "../../src/illustrations/starred.tsx", "../../src/illustrations/five-minute-limit.tsx", "../../src/illustrations/starter-plus-plan.tsx", "../../src/illustrations/getting-started.tsx", "../../src/illustrations/strong-upload-speed.tsx", "../../src/illustrations/growth-through-empathy.tsx", "../../src/illustrations/troubleshooting.tsx", "../../src/illustrations/health-plans.tsx", "../../src/illustrations/upgrade.tsx", "../../src/illustrations/how-to-use-loom.tsx", "../../src/illustrations/upload-drag-and-drop.tsx", "../../src/illustrations/use-cases.tsx", "../../src/illustrations/invite-members.tsx", "../../src/illustrations/wellness.tsx", "../../src/illustrations/comments.tsx", "../../src/illustrations/folders-empty-state-mobile.tsx", "../../src/illustrations/help-ios.tsx", "../../src/illustrations/my-videos-empty-state-mobile.tsx", "../../src/illustrations/recents-empty-state-mobile.tsx", "../../src/illustrations/chrome-notifications-empty-state.tsx", "../../src/illustrations/user.tsx", "../../src/illustrations/user-greyscale.tsx", "../../src/illustrations/all-can-edit.tsx", "../../src/illustrations/all-can-read.tsx", "../../src/illustrations/calendar.tsx", "../../src/illustrations/cannot-edit.tsx", "../../src/illustrations/capture-users.tsx", "../../src/illustrations/chat-avatars.tsx", "../../src/illustrations/coins.tsx", "../../src/illustrations/comment.tsx", "../../src/illustrations/compliance.tsx", "../../src/illustrations/done.tsx", "../../src/illustrations/dont-f-customer.tsx", "../../src/illustrations/file-cabinet.tsx", "../../src/illustrations/integration.tsx", "../../src/illustrations/letter-open.tsx", "../../src/illustrations/light-bulb-orbit.tsx", "../../src/illustrations/lightbulb.tsx", "../../src/illustrations/long-form-doc.tsx", "../../src/illustrations/migrations.tsx", "../../src/illustrations/padlock.tsx", "../../src/illustrations/people.tsx", "../../src/illustrations/people-greyscale.tsx", "../../src/illustrations/picture1.tsx", "../../src/illustrations/play-media.tsx", "../../src/illustrations/play-media-greyscale.tsx", "../../src/illustrations/rainstorm-incident.tsx", "../../src/illustrations/search.tsx", "../../src/illustrations/search-no-result.tsx", "../../src/illustrations/speed.tsx", "../../src/illustrations/user-management.tsx", "../../src/illustrations/video-call3.tsx"],
4
+ "sourcesContent": ["// needed for emotion types\nimport '@emotion/react';\n\nexport * from './colors';\nexport * from './variables';\nexport * from './utilities';\nexport * from './css-utilities';\nexport * from './css-variables';\nexport * from './components';\nexport * from './illustrations';\nexport * from './hooks';\nexport * from './types';\n", "type HslaColor = { h: number; s: number; l: number; a: number; ads?: string };\nconst BaseColors = [\n 'red',\n 'redDark',\n 'blurpleLight',\n 'blurpleMedium',\n 'blurple',\n 'blurpleDark',\n 'blurpleStrong',\n 'offWhite',\n 'blueLight',\n 'blue',\n 'blueDark',\n 'magentaLight',\n 'magenta',\n 'magentaDark',\n 'orangeLight',\n 'orange',\n 'orangeDark',\n 'purple',\n 'purpleDark',\n 'purpleLight',\n 'tealLight',\n 'teal',\n 'tealDark',\n 'yellowLight',\n 'yellow',\n 'yellowDark',\n] as const;\nconst GreyColors = [\n 'grey8',\n 'grey7',\n 'grey6',\n 'grey5',\n 'grey4',\n 'grey3',\n 'grey2',\n 'grey1',\n 'white',\n] as const;\nconst SharedColors = [\n 'record',\n 'recordHover',\n 'recordActive',\n 'backdropDark',\n 'backdropTwilight',\n 'highlight',\n 'highlightHover',\n 'highlightActive',\n 'warning',\n] as const;\nconst SemanticColors = [\n 'primary',\n 'primaryHover',\n 'primaryActive',\n 'body',\n 'bodyDimmed',\n 'bodyInverse',\n 'background',\n 'backgroundHover',\n 'backgroundActive',\n 'backgroundNeutral',\n 'backgroundNeutralHover',\n 'backgroundNeutralActive',\n 'backgroundSecondary',\n 'backgroundSecondary2',\n 'backgroundInverse',\n 'focusRing',\n 'overlay',\n 'overlayHover',\n 'overlayActive',\n 'backdrop',\n 'border',\n 'disabledContent',\n 'disabledBackground',\n 'formFieldBorder',\n 'formFieldBackground',\n 'buttonBorder',\n 'upgrade',\n 'upgradeHover',\n 'upgradeActive',\n 'tabBackground',\n 'discoveryBackground',\n 'discoveryLightBackground',\n 'discoveryTitle',\n 'discoveryHighlight',\n 'info',\n 'success',\n 'danger',\n 'dangerHover',\n 'dangerActive',\n /** Illustration accent: primary in light mode, blurpleDark in dark. Resolves via CSS inheritance. */\n 'illustrationAccent',\n /** Illustration orange: yellowDark in light, darkOrange in dark. */\n 'illustrationOrange',\n /** Illustration line: lineStroke in light, grayLine in dark. */\n 'illustrationLine',\n /** Illustration purple: purpleLight in light, purpleDark in dark. */\n 'illustrationPurple',\n /** Illustration green: greenLight in light, greenDark in dark. */\n 'illustrationGreen',\n /** Illustration gray: grey3 in light, gray in dark. */\n 'illustrationGray',\n /** Illustration accent gray: grey4 in light, formFieldBorder in dark. */\n 'illustrationAccentGray',\n /** Illustration stroke: white in light, lineStroke in dark. */\n 'illustrationStroke',\n /** Illustration drawer: white in light, formFieldBackground in dark. */\n 'illustrationDrawer',\n /** Illustration paper: grey3 in light, grayLine in dark. */\n 'illustrationPaper',\n /** Illustration inner paper: grey3 in light, bodyDimmed in dark. */\n 'illustrationInnerPaper',\n /** Illustration green shade: greenDarkShadeLight in light, greenDarkShade in dark. */\n 'illustrationGreenShade',\n /** Illustration blue dark: staticDarkBlue in light, blueDark in dark. */\n 'illustrationBlueDark',\n /** Illustration face: white in light, face in dark. */\n 'illustrationFace',\n /** Illustration rainstorm gray: rainstormGray in light, grayLine in dark. */\n 'illustrationRainstormGray',\n /** Illustration check blue: primary in light, staticDarkBlue in dark. */\n 'illustrationCheckBlue',\n /** Illustration greyscale fill: grayLine in light, gray in dark. */\n 'illustrationGreyscaleFill',\n /** Illustration greyscale accent: grayMedium in light, grayDarkMid in dark. */\n 'illustrationGreyscaleAccent',\n /** Illustration greyscale mid: grayMid in light, grayDarkMid in dark. */\n 'illustrationGreyscaleMid',\n /** Illustration greyscale mid dark: grayMid in light, grayDark in dark. */\n 'illustrationGreyscaleMidDark',\n /** Illustration greyscale dark: grayDark in light, lineStroke in dark. */\n 'illustrationGreyscaleDark',\n /** Illustration greyscale stroke: lineStroke in light, grayLine in dark. */\n 'illustrationGreyscaleStroke',\n /** Illustration bg: white in light, transparent in dark. */\n 'illustrationBg',\n] as const;\n\ntype ThemesColorVariant = Record<\n (typeof SharedColors)[number] | (typeof SemanticColors)[number],\n HslaColor\n>;\ntype ThemesColors = {\n light: ThemesColorVariant;\n dark: ThemesColorVariant;\n};\n\nconst percent = (number: number, percentage: number) =>\n Math.round((number * percentage) / 100);\n\nexport const darken = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l - percent(color.l, percentage),\n});\n\nexport const lighten = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n l: color.l + percent(color.l, percentage),\n});\n\nexport const saturate = (color: HslaColor, percentage: number): HslaColor => ({\n ...color,\n s: color.s + percent(color.s, percentage),\n});\n\nexport const alphaFunction = (color: HslaColor, alpha: number): HslaColor => ({\n ...color,\n a: alpha,\n});\n\nconst hoverIncrease = 15.8;\nconst activeIncrease = 31.6;\nconst borderAlpha = 0.14;\nconst backdropAlpha = 0.46;\nconst backdropDarkAlpha = 0.9;\nconst backdropTwilightAlpha = 0.8;\nconst buttonBorderAlpha = 0.25;\nconst tabBackgroundAlpha = 0.06;\nconst highlightAlpha = 0.15;\nconst highlightHoverAlpha = 0.3;\nconst highlightActiveAlpha = 0.45;\n\nexport const hslaBaseColors: Record<(typeof BaseColors)[number], HslaColor> = {\n red: { h: 4, s: 64, l: 48, a: 1 },\n redDark: { h: 4, s: 56, l: 23, a: 1 },\n\n blurpleLight: { h: 214.3, s: 91.3, l: 95.5, a: 1 },\n blurpleMedium: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blurple: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blurpleDark: { h: 215.9, s: 79.9, l: 41, a: 1 },\n blurpleStrong: { h: 216.3, s: 69.2, l: 22.9, a: 1 },\n\n offWhite: { h: 0, s: 0, l: 97.25, a: 1 },\n\n blueLight: { h: 216.5, s: 92, l: 90.2, a: 1 },\n blue: { h: 215.4, s: 80, l: 47.65, a: 1 },\n blueDark: { h: 216.3, s: 69.2, l: 23, a: 1 },\n\n magentaLight: { h: 323, s: 92, l: 90, a: 1 },\n magenta: { h: 323, s: 42, l: 48, a: 1 },\n magentaDark: { h: 324, s: 37, l: 23, a: 1 },\n\n orangeLight: { h: 4, s: 100, l: 91.2, a: 1 },\n orange: { h: 11, s: 100, l: 62.2, a: 1 },\n orangeDark: { h: 10.9, s: 100, l: 42.2, a: 1 },\n\n purpleLight: { h: 277.3, s: 86.05, l: 91.57, a: 1 },\n purple: { h: 278.33, s: 85.71, l: 67.06, a: 1 },\n purpleDark: { h: 278.64, s: 48.36, l: 52.16, a: 1 },\n\n tealLight: { h: 155, s: 70, l: 84, a: 1 },\n teal: { h: 155, s: 62, l: 32, a: 1 },\n tealDark: { h: 155, s: 55, l: 19, a: 1 },\n\n yellowLight: { h: 43, s: 93, l: 82, a: 1 },\n yellow: { h: 45.5, s: 96, l: 57, a: 1 },\n yellowDark: { h: 39.8, s: 100, l: 49.4, a: 1 },\n};\n\nexport const hslaGreys: Record<(typeof GreyColors)[number], HslaColor> = {\n grey8: { h: 228, s: 6, l: 17, a: 1 },\n grey7: { h: 223, s: 6, l: 24.5, a: 1 },\n grey6: { h: 224, s: 5, l: 44, a: 1 },\n grey5: { h: 224, s: 5, l: 57, a: 1 },\n grey4: { h: 223, s: 5, l: 73, a: 1 },\n grey3: { h: 225, s: 6, l: 87.5, a: 1 },\n grey2: { h: 210, s: 7, l: 94.5, a: 1 },\n grey1: { h: 0, s: 0, l: 97.25, a: 1 },\n white: { h: 0, s: 0, l: 100, a: 1 },\n};\n\n/** HSL equivalents of illustrationColors hex values for theme-aware semantic colors. */\nconst illustrationHsla: Record<string, HslaColor> = {\n darkOrange: { h: 27, s: 100, l: 45, a: 1 },\n gray: { h: 220, s: 4, l: 31, a: 1 },\n grayDark: { h: 228, s: 4, l: 25, a: 1 },\n grayDarkMid: { h: 228, s: 4, l: 51, a: 1 },\n grayMedium: { h: 228, s: 5, l: 73, a: 1 },\n grayMid: { h: 228, s: 5, l: 57, a: 1 },\n lineStroke: { h: 210, s: 11, l: 7, a: 1 },\n grayLine: { h: 210, s: 5, l: 89, a: 1 },\n purpleDark: { h: 279, s: 68, l: 61, a: 1 },\n purpleLight: { h: 279, s: 86, l: 67, a: 1 },\n greenDark: { h: 84, s: 63, l: 37, a: 1 },\n greenLight: { h: 84, s: 54, l: 46, a: 1 },\n greenDarkShade: { h: 84, s: 39, l: 20, a: 1 },\n greenDarkShadeLight: { h: 84, s: 56, l: 32, a: 1 },\n face: { h: 210, s: 6, l: 7, a: 1 },\n rainstormGray: { h: 220, s: 5, l: 12, a: 1 },\n staticDarkBlue: { h: 214, s: 85, l: 23, a: 1 },\n};\n\nconst themeSharedColors: Record<(typeof SharedColors)[number], HslaColor> = {\n record: hslaBaseColors.orange,\n recordHover: darken(hslaBaseColors.orange, hoverIncrease),\n recordActive: darken(hslaBaseColors.orange, activeIncrease),\n backdropDark: alphaFunction(hslaGreys.grey8, backdropDarkAlpha),\n backdropTwilight: alphaFunction(\n hslaBaseColors.blurpleStrong,\n backdropTwilightAlpha\n ),\n highlight: alphaFunction(hslaBaseColors.blurple, highlightAlpha),\n highlightHover: alphaFunction(hslaBaseColors.blurple, highlightHoverAlpha),\n highlightActive: alphaFunction(hslaBaseColors.blurple, highlightActiveAlpha),\n warning: {\n h: 45.5,\n s: 96,\n l: 57,\n a: 1,\n ads: '--ds-background-warning-bold',\n },\n};\n\n// This object has a specific spread order for documentation purposes\nexport const themeColors: ThemesColors = {\n light: {\n primary: { ...hslaBaseColors.blurple, ads: '--ds-background-brand-bold' },\n primaryHover: {\n ...hslaBaseColors.blurpleDark,\n ads: '--ds-background-brand-bold-hovered',\n },\n primaryActive: {\n ...hslaBaseColors.blurpleStrong,\n ads: '--ds-background-brand-bold-pressed',\n },\n body: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 224, s: 5, l: 44, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-text-inverse' },\n background: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 209,\n s: 75.6,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 225.5,\n s: 56.9,\n l: 10,\n a: 0.14,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 0,\n s: 0,\n l: 97.25,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundNeutral: {\n h: 209,\n s: 76,\n l: 8,\n a: 0.08,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 226,\n s: 57,\n l: 1,\n a: 0.14,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 223,\n s: 61,\n l: 8,\n a: 0.28,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 228,\n s: 6,\n l: 17,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n focusRing: {\n h: 216.1,\n s: 81.4,\n l: 60,\n a: 1,\n ads: '--ds-border-focused',\n },\n overlay: { h: 0, s: 0, l: 100, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: { ...hslaGreys.grey2, ads: '--ds-surface-overlay-hovered' },\n overlayActive: { ...hslaGreys.grey3, ads: '--ds-surface-overlay-pressed' },\n backdrop: { h: 224, s: 72, l: 7, a: backdropAlpha, ads: '--ds-blanket' },\n border: { h: 225.5, s: 57, l: 10, a: borderAlpha, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 215,\n s: 80.25,\n l: 47.65,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 62,\n l: 32,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 4, s: 64, l: 48, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4.3,\n s: 65.7,\n l: 41.2,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4.5,\n s: 56.3,\n l: 23.3,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 223,\n s: 5,\n l: 73,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 9,\n a: 0.03,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 223.6, s: 5, l: 57, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 0,\n s: 0,\n l: 100,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 252,\n s: 13,\n l: 46,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 209,\n s: 75.6,\n l: 8,\n a: tabBackgroundAlpha,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: hslaBaseColors.purpleLight,\n upgradeActive: {\n h: 278.6,\n s: 84.5,\n l: 79.8,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: hslaBaseColors.purpleDark,\n discoveryLightBackground: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 228, s: 6, l: 17, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.5,\n s: 89,\n l: 96.5,\n a: 1,\n ads: '--ds-background-discovery',\n },\n illustrationAccent: hslaBaseColors.blurple,\n illustrationOrange: hslaBaseColors.yellowDark,\n illustrationLine: illustrationHsla.lineStroke,\n illustrationPurple: illustrationHsla.purpleLight,\n illustrationGreen: illustrationHsla.greenLight,\n illustrationGray: hslaGreys.grey3,\n illustrationAccentGray: hslaGreys.grey4,\n illustrationStroke: hslaGreys.white,\n illustrationDrawer: hslaGreys.white,\n illustrationPaper: hslaGreys.grey3,\n illustrationInnerPaper: hslaGreys.grey3,\n illustrationGreenShade: illustrationHsla.greenDarkShadeLight,\n illustrationBlueDark: illustrationHsla.staticDarkBlue,\n illustrationFace: hslaGreys.white,\n illustrationRainstormGray: illustrationHsla.rainstormGray,\n illustrationCheckBlue: hslaBaseColors.blurple,\n illustrationGreyscaleFill: illustrationHsla.grayLine,\n illustrationGreyscaleAccent: illustrationHsla.grayMedium,\n illustrationGreyscaleMid: illustrationHsla.grayMid,\n illustrationGreyscaleMidDark: illustrationHsla.grayMid,\n illustrationGreyscaleDark: illustrationHsla.grayDark,\n illustrationGreyscaleStroke: illustrationHsla.lineStroke,\n illustrationBg: hslaGreys.white,\n },\n\n dark: {\n primary: {\n h: 216.3,\n s: 83.2,\n l: 67.3,\n a: 1,\n ads: '--ds-background-brand-bold',\n },\n primaryHover: {\n h: 216.1,\n s: 85.1,\n l: 76.3,\n a: 1,\n ads: '--ds-background-brand-bold-hovered',\n },\n primaryActive: {\n h: 216.5,\n s: 92,\n l: 90.2,\n a: 1,\n ads: '--ds-background-brand-bold-pressed',\n },\n body: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n bodyDimmed: { h: 217.5, s: 4, l: 60.4, a: 1, ads: '--ds-text-subtlest' },\n bodyInverse: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-text-inverse' },\n background: { h: 240, s: 3, l: 12.5, a: 1, ads: '--ds-surface' },\n backgroundHover: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral-subtle-hovered',\n },\n backgroundActive: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-subtle-pressed',\n },\n backgroundSecondary: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n backgroundSecondary2: {\n h: 210,\n s: 4,\n l: 9.8,\n a: 1,\n ads: '--ds-surface-sunken',\n },\n // Same base hsl to backgroundHover\n backgroundNeutral: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n backgroundNeutralHover: {\n h: 236,\n s: 36.6,\n l: 92,\n a: 0.12,\n ads: '--ds-background-neutral-hovered',\n },\n backgroundNeutralActive: {\n h: 226,\n s: 49,\n l: 93,\n a: 0.25,\n ads: '--ds-background-neutral-pressed',\n },\n backgroundInverse: {\n h: 225,\n s: 4.3,\n l: 81.6,\n a: 1,\n ads: '--ds-background-neutral-bold',\n },\n focusRing: {\n h: 216.1,\n s: 85.1,\n l: 76.3,\n a: 1,\n ads: '--ds-background-accent-blue-subtle-hovered',\n },\n overlay: { h: 225, s: 4, l: 17.6, a: 1, ads: '--ds-surface-overlay' },\n overlayHover: {\n h: 225,\n s: 4,\n l: 19.61,\n a: 1,\n ads: '--ds-surface-overlay-hovered',\n },\n overlayActive: {\n h: 225,\n s: 4.69,\n l: 25.1,\n a: 1,\n ads: '--ds-surface-overlay-pressed',\n },\n backdrop: { h: 210, s: 11, l: 7, a: 0.6, ads: '--ds-blanket' },\n border: { h: 236, s: 36.6, l: 92, a: 0.12, ads: '--ds-border' },\n ...themeSharedColors,\n info: {\n h: 216.3,\n s: 83,\n l: 67.25,\n a: 1,\n ads: '--ds-background-information-bold',\n },\n success: {\n h: 155,\n s: 57,\n l: 55,\n a: 1,\n ads: '--ds-background-accent-green-bolder',\n },\n danger: { h: 3.75, s: 91, l: 69, a: 1, ads: '--ds-background-danger-bold' },\n dangerHover: {\n h: 4,\n s: 96,\n l: 78,\n a: 1,\n ads: '--ds-background-danger-bold-hovered',\n },\n dangerActive: {\n h: 4,\n s: 100,\n l: 91.2,\n a: 1,\n ads: '--ds-background-danger-bold-pressed',\n },\n disabledContent: {\n h: 225,\n s: 5,\n l: 33,\n a: 1,\n ads: '--ds-text-disabled',\n },\n disabledBackground: {\n h: 0,\n s: 0,\n l: 1,\n a: 0.46,\n ads: '--ds-background-disabled',\n },\n formFieldBorder: { h: 222, s: 4, l: 51.4, a: 1, ads: '--ds-border-input' },\n formFieldBackground: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n ads: '--ds-background-input',\n },\n buttonBorder: {\n h: 0,\n s: 0,\n l: 100,\n a: buttonBorderAlpha,\n ads: '--ds-border',\n },\n tabBackground: {\n h: 240,\n s: 12.6,\n l: 83,\n a: 0.07,\n ads: '--ds-background-neutral',\n },\n upgrade: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n upgradeHover: {\n h: 278,\n s: 44.2,\n l: 25.3,\n a: 1,\n ads: '--ds-background-discovery-hovered',\n },\n upgradeActive: {\n h: 278,\n s: 45,\n l: 44.7,\n a: 1,\n ads: '--ds-background-discovery-pressed',\n },\n discoveryBackground: {\n h: 278.5,\n s: 84.5,\n l: 72.2,\n a: 1,\n ads: '--ds-background-discovery-bold',\n },\n discoveryLightBackground: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n discoveryTitle: { h: 225, s: 4.3, l: 81.6, a: 1, ads: '--ds-text' },\n discoveryHighlight: {\n h: 277.8,\n s: 27.3,\n l: 19.4,\n a: 1,\n ads: '--ds-background-discovery',\n },\n illustrationAccent: hslaBaseColors.blurpleDark,\n illustrationOrange: illustrationHsla.darkOrange,\n illustrationLine: illustrationHsla.grayLine,\n illustrationPurple: illustrationHsla.purpleDark,\n illustrationGreen: illustrationHsla.greenDark,\n illustrationGray: illustrationHsla.gray,\n illustrationAccentGray: { h: 222, s: 4, l: 51.4, a: 1 }, // formFieldBorder\n illustrationStroke: illustrationHsla.lineStroke,\n illustrationDrawer: {\n h: 225,\n s: 5,\n l: 15,\n a: 1,\n }, // formFieldBackground\n illustrationPaper: illustrationHsla.grayLine,\n illustrationInnerPaper: { h: 217.5, s: 4, l: 60.4, a: 1 }, // bodyDimmed\n illustrationGreenShade: illustrationHsla.greenDarkShade,\n illustrationBlueDark: hslaBaseColors.blueDark,\n illustrationFace: illustrationHsla.face,\n illustrationRainstormGray: illustrationHsla.grayLine,\n illustrationCheckBlue: illustrationHsla.staticDarkBlue,\n illustrationGreyscaleFill: illustrationHsla.gray,\n illustrationGreyscaleAccent: illustrationHsla.grayDarkMid,\n illustrationGreyscaleMid: illustrationHsla.grayDarkMid,\n illustrationGreyscaleMidDark: illustrationHsla.grayDark,\n illustrationGreyscaleDark: illustrationHsla.lineStroke,\n illustrationGreyscaleStroke: illustrationHsla.grayLine,\n illustrationBg: { h: 0, s: 0, l: 0, a: 0 },\n },\n};\n\nexport const illustrationColors = {\n staticDarkBlue: '#09326c',\n staticRed: '#ae2a19',\n};\n\nexport const hslaColors = {\n ...hslaBaseColors,\n ...hslaGreys,\n};\n\nexport const colorsNames = [\n ...Object.keys(hslaColors),\n ...Object.keys(themeColors.light),\n];\n", "import { hslaColors, themeColors } from '../colors';\nimport { gradients } from '../variables';\n\nexport const getColorAlpha = (\n color: keyof typeof hslaColors,\n alpha: number\n) => {\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${hslaColors[color].l}%,${alpha})`;\n};\n\nexport const getColorScale = (\n color: keyof typeof hslaColors,\n scaleType: string,\n scaleIncrement: number\n): string => {\n const scaledValue = () => {\n if (scaleType === 'dark') {\n return hslaColors[color].l - hslaColors[color].l * scaleIncrement;\n } else if (scaleType === 'light') {\n return hslaColors[color].l + hslaColors[color].l * scaleIncrement;\n }\n };\n\n return `hsla(${hslaColors[color].h},${hslaColors[color].s}%,${Math.round(\n scaledValue()\n )}%,${hslaColors[color].a})`;\n};\n\nexport const getColorValue = (color?: string): string | undefined => {\n if (color) {\n if (color in hslaColors || color in themeColors.light) {\n return `var(--lns-color-${color})`;\n }\n\n // Handle gradient colors\n if (color in gradients) {\n return `var(--lns-gradient-${color})`;\n }\n\n return color;\n }\n};\n", "import _debounce from 'lodash/debounce';\nimport React from 'react';\n\n/**\n * Provided an array of media queries and an associated\n * array of values, it will match a media query to a value\n * on resize and return it.\n * If no queries match, it will return a default value.\n */\nexport default function useMedia(queries, values, defaultValue) {\n const match = React.useCallback(() => {\n if (typeof window === 'undefined') {\n return defaultValue;\n }\n\n return (\n values[queries.findIndex(q => matchMedia(q).matches)] || defaultValue\n );\n }, [defaultValue, queries, values]);\n\n const [value, set] = React.useState(match);\n\n React.useEffect(() => {\n const handler = _debounce(() => set(match), 150);\n\n window.addEventListener('resize', handler);\n\n return () => window.removeEventListener('resize', handler);\n }, [match]);\n\n return value;\n}\n", "import { type Breakpoint, type Space, spaces, unit } from '../variables';\nimport { objectToBreakpoints } from './responsive';\n\nimport { arrayToBreakpoints } from '.';\n\nexport const u = (amount: number) =>\n amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;\n\n/**\n * @example\n * Sample values: \"large\", 42, \"80px\"\n */\nexport type Size = Space | number | string;\n\nexport const getSizeValue = (size: Size) => {\n if (size in spaces) {\n return `var(--lns-space-${size})`;\n }\n\n if (size && isNaN(size as number)) {\n return `${size}`;\n }\n\n if (size === 0) {\n return `0`;\n }\n\n if (size) {\n return `${u(size as number)}`;\n }\n};\n\nexport type SizeProp =\n | Size\n | Size[]\n | Partial<Record<Breakpoint | 'default', Size>>;\nexport const getSize = (property: string, size: SizeProp) => {\n if (size || size === 0) {\n if (Array.isArray(size)) {\n const rulesetsArray = size.map(sizeItem => {\n return `${property}: ${getSizeValue(sizeItem)}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof size === 'object') {\n const sizeValesObject: Partial<Record<Breakpoint, string>> = {};\n\n Object.entries(size).forEach(\n ([key, value]) => (sizeValesObject[key] = getSizeValue(value))\n );\n\n return objectToBreakpoints(property, sizeValesObject);\n }\n\n return `${property}: ${getSizeValue(size)};`;\n }\n};\n", "import useMedia from '../hooks/use-media';\nimport type { ResponsiveGridSections, ResponsiveType } from '../types';\nimport { type Breakpoint, breakpoints } from '../variables';\nimport { getSizeValue, type Size } from './size';\n\nexport const getMediaCss = (\n widthType: string,\n breakpoint: string,\n declaration: string\n) => `@media(${widthType}: ${breakpoint}){${declaration}}`;\n\nexport const arrayToBreakpoints = (values: string[]) => {\n const smallestBreakpoint = Object.values(breakpoints)[0];\n\n const maxWithRulesets = getMediaCss(\n 'max-width',\n smallestBreakpoint,\n values[0]\n );\n\n const minWithRulesets = values.reduce((rulesets, value, index) => {\n const breakpoint = `${Object.values(breakpoints)[index]}`;\n\n return rulesets + getMediaCss('min-width', breakpoint, value);\n }, '');\n\n return maxWithRulesets + minWithRulesets;\n};\n\nexport type BreakpointProperties = Breakpoint | 'default';\nexport type BreakpointObject = Partial<Record<BreakpointProperties, string>>;\n\nexport const objectToBreakpoints = (\n property: string,\n obj: BreakpointObject\n) => {\n const result = [];\n\n obj['default'] && result.push(`${property}: ${obj['default']};`);\n\n delete obj.default;\n\n Object.entries(obj).forEach(([key, value]) => {\n const breakpoint = key in breakpoints ? breakpoints[key] : key;\n\n result.push(`@media(min-width: ${breakpoint}){ ${property}: ${value} }`);\n });\n\n return result.join(' ');\n};\n\nexport const getResponsiveOneOf = (\n property: string,\n valueArray: ResponsiveType<string>\n) => {\n if (Array.isArray(valueArray)) {\n const oneOfValuesArray = valueArray.map(valueArrayItem => {\n return `${property}: ${valueArrayItem};`;\n });\n\n return arrayToBreakpoints(oneOfValuesArray);\n }\n\n if (typeof valueArray === 'object') {\n return objectToBreakpoints(property, valueArray);\n }\n\n return `${property}: ${valueArray};`;\n};\n\nexport const getAlignmentStyles = (\n prop: string | string[],\n alignments: Record<string, string>\n) => {\n if (prop) {\n if (Array.isArray(prop)) {\n const alignItemsArray = [];\n\n prop.map(propItem => {\n alignItemsArray.push(alignments[propItem]);\n });\n\n return getResponsiveOneOf('align-items', alignItemsArray);\n }\n\n return `align-items ${alignments[prop]};`;\n }\n};\n\nexport const getResponsiveBoolean = (\n property: string,\n valueArray: string[],\n booleanValue: boolean | boolean[]\n) => {\n if (Array.isArray(booleanValue)) {\n const booleanValuesArray = booleanValue.map(booleanItem => {\n const value = booleanItem === true ? valueArray[0] : valueArray[1];\n\n return `${property}: ${value};`;\n });\n\n return arrayToBreakpoints(booleanValuesArray);\n }\n\n return `${property}: ${valueArray[0]};`;\n};\n\nexport const getResponsiveNumber = (\n property: string,\n number: ResponsiveType<number | string>\n) => {\n if (number || number === 0) {\n if (Array.isArray(number)) {\n const rulesetsArray = number.map(numberItem => {\n return `${property}: ${numberItem}`;\n });\n\n return arrayToBreakpoints(rulesetsArray);\n }\n\n if (typeof number === 'object' && !Array.isArray(number)) {\n return objectToBreakpoints(property, number);\n }\n\n return `${property}: ${number};`;\n }\n};\n\ntype SizeParam = Size | Size[];\nconst transformColumns = (columns: SizeParam) => {\n if (Array.isArray(columns)) {\n return columns.map(column => getSizeValue(column)).join(' ');\n }\n\n return columns;\n};\n\nexport const getResponsiveColumns = (\n columns: Record<Breakpoint, SizeParam>\n) => {\n if (columns) {\n if (typeof columns === 'object' && !Array.isArray(columns)) {\n const columnsValuesObject: BreakpointObject = {};\n\n Object.entries(columns).forEach(\n ([key, value]) => (columnsValuesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints('grid-template-columns', columnsValuesObject);\n }\n\n return `grid-template-columns: ${transformColumns(columns)};`;\n }\n};\n\nexport const getResponsiveGridSections = (\n gridSections: ResponsiveGridSections,\n sectionType: string\n) => {\n if (gridSections) {\n if (typeof gridSections === 'object' && !Array.isArray(gridSections)) {\n const gridSectionsValesObject = {};\n\n Object.entries(gridSections).forEach(\n ([key, value]) =>\n (gridSectionsValesObject[key] = transformColumns(value))\n );\n\n return objectToBreakpoints(\n `grid-template-${sectionType}`,\n gridSectionsValesObject\n );\n }\n\n return `grid-template-${sectionType}: ${transformColumns(gridSections)};`;\n }\n};\n\nexport const Media = ({ children, queries, values, defaultValue }) => {\n const value = useMedia(queries, values, defaultValue);\n\n return children(value);\n};\n", "// TODO(LNS-185): Convert all utils to ts\nimport { getColorValue } from './color';\n\n// Type\nexport const getTextSize = size =>\n size &&\n `\n font-size: var(--lns-fontSize-${size});\n line-height: var(--lns-lineHeight-${size});\n letter-spacing: var(--lns-letterSpacing-${size});\n`;\n\nexport const getFontWeight = fontWeight =>\n fontWeight && `font-weight: var(--lns-fontWeight-${fontWeight});`;\n\nexport const getFontSetting = fontSetting =>\n fontSetting && `var(--lns-fontSetting-${fontSetting});`;\n\nexport const getRadius = size =>\n size && `border-radius: var(--lns-radius-${size});`;\n\nexport const getShadow = size =>\n size && `box-shadow: var(--lns-shadow-${size});`;\n\nexport const getFocusRing = (color?: string, position?: string) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `box-shadow:${position ? position : ''} 0 0 0 2px ${focusColor};`;\n};\n\n// Use for elements who have background colour. The standard focus ring does\n// not provide sufficient contrast against most variant bg colours.\nexport const getOffsetFocusRing = (color?: string) => {\n const focusColor = color ? color : getColorValue('focusRing');\n\n return `\n outline: 2px solid ${focusColor};\n outline-offset: 1px;\n `;\n};\n\nexport const getListContainer = tag => {\n if (tag === 'ol' || tag === 'ul') {\n return `\n list-style-type: none;\n margin: 0;\n padding: 0\n `;\n }\n};\n\nexport const getPlacement = (maxHeight, placement) => {\n const placementStyles = {\n center: {\n bottom: 0,\n top: `calc((100vh - ${maxHeight}) / 2)`,\n position: 'relative',\n },\n bottom: {\n bottom: 0,\n top: 'unset',\n position: 'absolute',\n },\n undefined: {\n bottom: undefined,\n top: '15vh',\n position: 'relative',\n },\n };\n\n return placementStyles[placement];\n};\n", "export const pascalCaseToKebabCase = (string: string): string => {\n return string\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n};\n", "import React, { useEffect, useRef, type ReactNode } from 'react';\n\ninterface StyleProviderProps {\n /**\n * A DOM element to clone matched styles into. Typically a `<div>` inside a\n * Shadow DOM.\n */\n container: HTMLElement;\n /**\n * The attribute name to match on `<style>` tags.\n * e.g. `\"data-style-group\"`\n */\n attribute: string;\n /** Children to render. */\n children: ReactNode;\n /**\n * Optional attribute value to match. When provided, only `<style>` tags\n * whose attribute equals this value are cloned.\n * When omitted, any `<style>` with the attribute present is cloned.\n */\n value?: string;\n /**\n * Where to look for `<style>` tags to clone.\n * @default document.head\n */\n source?: HTMLElement;\n}\n\n/**\n * StyleProvider\n *\n * Clones `<style>` tags from `document.head` into a container element\n * (typically inside a Shadow DOM) based on a configurable attribute selector.\n *\n * The source styles are expected to be disabled in the parent DOM via an\n * impossible media query (e.g. `media=\"max-width: 1px\"`). Cloned copies\n * have the `media` attribute removed so they are active only inside the\n * Shadow DOM.\n *\n * Multiple `StyleProvider` instances can share the same source styles \u2014\n * each instance creates its own independent clones.\n *\n * ## How it works\n *\n * 1. Configure your bundler (e.g. webpack `style-loader`) to add a custom\n * attribute and a disabling media query to injected `<style>` tags.\n * 2. Wrap your components with `<StyleProvider>`, passing the attribute name\n * and a container ref inside the Shadow DOM.\n * 3. The provider clones matching `<style>` tags into the container with the\n * `media` attribute removed, and watches for new ones via\n * `MutationObserver`.\n *\n * ## Usage\n *\n * ```ts\n * // webpack.config.js\n * {\n * test: /\\.compiled\\.css$/,\n * use: [\n * {\n * loader: 'style-loader',\n * options: {\n * attributes: { 'data-style-group': 'atlaskit', media: 'max-width: 1px' },\n * },\n * },\n * { loader: 'css-loader' },\n * ],\n * }\n * ```\n *\n * ```tsx\n * // component.tsx\n * import { StyleProvider } from '@loomhq/lens';\n *\n * function ShadowContainer({ children }) {\n * const [styleContainer, setStyleContainer] = useState<HTMLElement | null>(null);\n *\n * return (\n * <root.div>\n * <div ref={setStyleContainer}>\n * {styleContainer && (\n * <StyleProvider container={styleContainer} attribute=\"data-style-group\" value=\"atlaskit\">\n * {children}\n * </StyleProvider>\n * )}\n * </div>\n * </root.div>\n * );\n * }\n * ```\n */\nexport function StyleProvider({\n container,\n attribute,\n value,\n children,\n source,\n}: StyleProviderProps) {\n const clonedStyles = useRef<HTMLStyleElement[]>([]);\n\n useEffect(() => {\n if (!container || typeof document === 'undefined') {\n return;\n }\n\n const sourceEl = source ?? document.head;\n\n const matches = (node: Node): node is HTMLStyleElement => {\n if (!(node instanceof HTMLStyleElement)) {\n return false;\n }\n if (!node.hasAttribute(attribute)) {\n return false;\n }\n if (value !== undefined && node.getAttribute(attribute) !== value) {\n return false;\n }\n return true;\n };\n\n const cloneStyle = (style: HTMLStyleElement) => {\n const clone = style.cloneNode(true) as HTMLStyleElement;\n // Remove the disabling media query so the styles are active inside the Shadow DOM.\n clone.removeAttribute('media');\n container.appendChild(clone);\n clonedStyles.current.push(clone);\n };\n\n // Clone existing matching styles.\n sourceEl.querySelectorAll('style').forEach(style => {\n if (matches(style)) {\n cloneStyle(style);\n }\n });\n\n // Watch for new matching styles.\n // Clones are deferred via queueMicrotask to avoid reading the source\n // tree inside the MutationObserver callback before the browser has\n // finished attaching the stylesheet.\n const observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n for (const node of Array.from(mutation.addedNodes)) {\n if (matches(node)) {\n queueMicrotask(() => cloneStyle(node));\n }\n }\n }\n });\n\n observer.observe(sourceEl, { childList: true });\n\n // Cleanup: disconnect observer and remove cloned styles.\n return () => {\n observer.disconnect();\n\n for (const clone of clonedStyles.current) {\n clone.remove();\n }\n clonedStyles.current = [];\n };\n }, [container, attribute, value, source]);\n\n return <>{children}</>;\n}\n", "import { u } from './utilities';\n\nexport const unit = 8;\n\nexport const textSizes = {\n small: {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n 'body-sm': {\n fontSize: 1.5,\n lineHeight: 1.5,\n letterSpacing: 'normal',\n },\n medium: {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n 'body-md': {\n fontSize: 1.75,\n lineHeight: 1.57,\n letterSpacing: 'normal',\n },\n large: {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n 'body-lg': {\n fontSize: 2.25,\n lineHeight: 1.44,\n letterSpacing: '-0.2px',\n },\n xlarge: {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n 'heading-sm': {\n fontSize: 3,\n lineHeight: 1.16,\n letterSpacing: '-0.2px',\n },\n xxlarge: {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n 'heading-md': {\n fontSize: 4,\n lineHeight: 1.125,\n letterSpacing: '-0.5px',\n },\n xxxlarge: {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n 'heading-lg': {\n fontSize: 6,\n lineHeight: 1.16,\n letterSpacing: '-1.2px',\n },\n};\nexport type TextSize = keyof typeof textSizes;\n\nexport const fontWeights = {\n book: 400,\n regular: 400,\n medium: 500,\n bold: 653,\n};\n\n// NOTE(tatiana): For reasons unclear to me at this time,\n// I do not know why I have to do this silliness but\n// it's the only way I can get the correct version to show\n// in the Lens doc only\nexport const fontSettings = {\n normal: `'normal'`,\n tnum: `'tnum'`,\n};\n\nexport const radii = {\n none: u(0),\n 50: u(0.5),\n 100: u(1),\n medium: u(1),\n 150: u(1.5),\n 175: u(1.75),\n 200: u(2),\n large: u(2),\n 250: u(2.5),\n 300: u(3),\n xlarge: u(3),\n round: u(999),\n full: u(999),\n};\n\nexport const shadows = {\n small: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.05)`,\n medium: `0 ${u(0.5)} ${u(1.25)} hsla(0, 0%, 0%, 0.1)`,\n large: `0 ${u(0.75)} ${u(3)} hsla(0, 0%, 0%, 0.1)`,\n};\n\nexport const spaces = {\n xsmall: 0.5,\n small: 1,\n medium: 2,\n large: 3,\n xlarge: 5,\n xxlarge: 8,\n};\nexport type Space = keyof typeof spaces;\n\nexport const breakpoints = {\n xsmall: '31em',\n small: '48em',\n medium: '64em',\n large: '75em',\n};\nexport type Breakpoint = keyof typeof breakpoints;\n\nexport const gradients = {\n 'ai-primary':\n 'conic-gradient(from 270deg, #0469FF 90deg, #BF63F3 180deg, #FFA900 270deg, #0065FF 360deg)',\n 'ai-secondary':\n 'radial-gradient(138.41% 100% at 100% 100%, #E9F2FE 0%, #FFF 100%)',\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { textIsDimmedDeprecated } from '../../console-messages';\nimport type { LensSpanProps } from '../../types';\nimport {\n getColorValue,\n getFontSetting,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\nimport { type TextSize, textSizes, unit } from '../../variables';\n\nexport const dimAmount = 0.6;\n\n// We have to export this so the docs can read it\nexport enum FontFamily {\n 'sans-serif' = 'inherit', // We set this to inherit as the default as Atlassian Sans wil fall into place\n 'mono' = 'Atlassian Mono',\n}\n\ntype VariantsProps = {\n [key: string]: {\n size: TextProps['size'];\n fontWeight: TextProps['fontWeight'];\n };\n};\n\nexport const variants: VariantsProps = {\n body: {\n size: 'body-md',\n fontWeight: 'regular',\n },\n title: {\n size: 'body-lg',\n fontWeight: 'bold',\n },\n mainTitle: {\n size: 'heading-md',\n fontWeight: 'bold',\n },\n};\n\nconst getTextPxSize = size => textSizes[size].fontSize * unit;\n\nconst getTextUnitSize = size => u(textSizes[size].fontSize);\n\nexport const lineHeightToPx = size =>\n textSizes[size].fontSize * textSizes[size].lineHeight * unit;\n\nconst clampBuilder = (minSize, maxSize, minWindow, maxWindow) => {\n const slope = (maxSize - minSize) / (maxWindow - minWindow);\n const yAxisIntersection = -minWindow * slope + minSize;\n\n return `${yAxisIntersection}px + ${slope * 100}vw`;\n};\n\nconst TextWrapper = styled.span<TextWrapperProps>`\n display: ${props => (props.isInline ? 'inline' : 'block')};\n ${props => !props.sizeMinMax && getTextSize(props.size)};\n ${props => getFontWeight(props.fontWeight)};\n ${props => props.color && `color: ${getColorValue(props.color)}`};\n ${props =>\n props.fontSetting &&\n `font-feature-settings: ${getFontSetting(props.fontSetting)}`};\n ${props => props.isDimmed && `opacity: ${dimAmount}`};\n ${props => props.alignment && `text-align: ${props.alignment}`};\n ${props => props.overflowWrap && `overflow-wrap: ${props.overflowWrap};`};\n ${props =>\n props.hasEllipsis &&\n !props.ellipsisLines &&\n `\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `};\n ${props =>\n props.hasEllipsis &&\n props.ellipsisLines &&\n `\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${props.ellipsisLines};\n `};\n ${props =>\n !props.hasEllipsis &&\n props.noWrap &&\n 'white-space: nowrap; overflow: hidden;'};\n ${props =>\n props.fontFamily && `font-family: ${FontFamily[props.fontFamily]};`};\n ${props =>\n props.sizeMinMax &&\n `\n min-height: 0vw;\n font-size: clamp(\n ${getTextUnitSize(props.sizeMinMax[0])},\n ${clampBuilder(\n getTextPxSize(props.sizeMinMax[0]),\n getTextPxSize(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${getTextUnitSize(props.sizeMinMax[1])}\n );\n\n line-height: clamp(\n ${lineHeightToPx(props.sizeMinMax[0])}px,\n ${clampBuilder(\n lineHeightToPx(props.sizeMinMax[0]),\n lineHeightToPx(props.sizeMinMax[1]),\n 496,\n 1200\n )},\n ${lineHeightToPx(props.sizeMinMax[1])}px\n );\n `}\n`;\n\nconst Text = ({\n children,\n size = 'body-md',\n color,\n isInline,\n isDimmed,\n fontFamily = 'sans-serif',\n fontWeight = 'regular',\n hasEllipsis,\n ellipsisLines,\n noWrap,\n variant,\n htmlTag = 'span',\n alignment,\n sizeMinMax,\n fontSetting = 'normal',\n overflowWrap,\n ...props\n}: TextProps &\n React.ComponentProps<typeof TextWrapper> &\n Omit<\n LensSpanProps,\n keyof TextProps & React.ComponentProps<typeof TextWrapper>\n >) => {\n if (isDimmed) {\n // eslint-disable-next-line no-console\n console.warn(textIsDimmedDeprecated);\n }\n\n // All heading sizes should use fontWeight bold\n if (size.includes('heading-')) {\n fontWeight = 'bold';\n }\n\n return (\n <TextWrapper\n size={variant ? variants[variant].size : size}\n color={color}\n isInline={isInline}\n isDimmed={isDimmed}\n fontWeight={variant ? variants[variant].fontWeight : fontWeight}\n fontFamily={fontFamily}\n hasEllipsis={hasEllipsis}\n ellipsisLines={ellipsisLines}\n noWrap={noWrap}\n variant={variant}\n as={htmlTag}\n alignment={alignment}\n sizeMinMax={sizeMinMax}\n fontSetting={fontSetting}\n overflowWrap={overflowWrap}\n {...props}\n >\n {children}\n </TextWrapper>\n );\n};\n\nexport const availableSizes = [\n 'body-sm',\n 'body-md',\n 'body-lg',\n 'heading-sm',\n 'heading-md',\n 'heading-lg',\n];\nexport const deprecatedSizes = [\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'xxlarge',\n 'xxxlarge',\n];\nexport const availableFontWeights = ['regular', 'medium', 'bold'];\nexport const availableHtmlTags = ['h1', 'h2', 'h3', 'h4', 'p', 'span', 'div'];\nexport const alignments = ['left', 'right', 'center'];\n\ninterface TextProps {\n size?: TextSize;\n fontWeight?: 'book' | 'regular' | 'medium' | 'bold';\n fontFamily?: 'sans-serif' | 'mono';\n variant?: 'body' | 'title' | 'mainTitle';\n alignment?: 'left' | 'right' | 'center';\n color?: string;\n isInline?: boolean;\n isDimmed?: boolean;\n hasEllipsis?: boolean;\n noWrap?: boolean;\n ellipsisLines?: number;\n htmlTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';\n children?: React.ReactNode;\n sizeMinMax?: string[];\n fontSetting?: 'tnum' | 'normal';\n overflowWrap?: 'normal' | 'break-word' | 'anywhere';\n /** @deprecated Usage of dclassName results in non-standard components */\n className?: string;\n}\n\ninterface TextWrapperProps extends TextProps {\n as?: string;\n}\n\nexport default Text;\n", "export const textIsDimmedDeprecated = `Lens: Text prop 'isDimmed' is deprecated, use color=\"bodyDimmed\" instead.`;\nexport const customStylesWarning = `Lens: don't apply custom styles to components, learn more: https://lens.loom.dev/guides/development-best-practices/the-risk-of-modifying-components-with-custom-styles.`;\nexport const distributeDeprecatedWarning = `Lens: Distribute component is deprecated. Use Arrange or Split.`;\nexport const layoutDeprecatedWarning = `Lens: Layout component is deprecated. Use Arrange or Split.`;\n", "import { colorsNames } from '../colors';\nimport { variants, alignments } from '../components/text/text';\nimport { pascalCaseToKebabCase } from '../utilities';\nimport { fontWeights, textSizes, shadows, radii, spaces } from '../variables';\n\nconst sides = ['top', 'bottom', 'left', 'right'];\n\nconst spacesWithZero = { 0: '0', ...spaces };\n\nconst spacesWithAutoAndZero = { 0: '0', auto: 'auto', ...spaces };\n\nexport const colorRules = colorsNames.map(colorsName => {\n return {\n selector: 'c',\n modifier: colorsName,\n declarations: [\n {\n property: 'color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const backgroundColorRules = colorsNames.map(colorsName => {\n return {\n selector: 'bgc',\n modifier: colorsName,\n declarations: [\n {\n property: 'background-color',\n value: `var(--lns-color-${colorsName})`,\n },\n ],\n };\n});\n\nexport const textSizeRules = Object.keys(textSizes).map(size => {\n return {\n selector: 'text',\n modifier: size,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${size})`,\n },\n {\n property: 'letter-spacing',\n value: `var(--lns-letterSpacing-${size})`,\n },\n size.includes('heading-') || size.includes('xlarge')\n ? {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-bold)',\n }\n : {\n property: 'font-weight',\n value: 'var(--lns-fontWeight-regular)',\n },\n ],\n };\n});\n\nexport const fontWeightRules = Object.keys(fontWeights).map(fontWeight => {\n return {\n selector: 'weight',\n modifier: fontWeight,\n declarations: [\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${fontWeight})`,\n },\n ],\n };\n});\n\nexport const textVariantRules = Object.entries(variants).map(([key, value]) => {\n return {\n selector: 'text',\n modifier: key,\n declarations: [\n {\n property: 'font-size',\n value: `var(--lns-fontSize-${value.size})`,\n },\n {\n property: 'line-height',\n value: `var(--lns-lineHeight-${value.size})`,\n },\n {\n property: 'font-weight',\n value: `var(--lns-fontWeight-${value.fontWeight})`,\n },\n ],\n };\n});\n\nexport const textAlignmentRules = alignments.map(alignment => {\n return {\n selector: 'text',\n modifier: alignment,\n declarations: [\n {\n property: 'text-align',\n value: alignment,\n },\n ],\n };\n});\n\nexport const shadowRules = Object.keys(shadows).map(shadow => {\n return {\n selector: 'shadow',\n modifier: shadow,\n declarations: [\n {\n property: 'box-shadow',\n value: `var(--lns-shadow-${shadow})`,\n },\n ],\n };\n});\n\nexport const radiiRules = Object.keys(radii).map(radius => {\n return {\n selector: 'radius',\n modifier: radius,\n declarations: [\n {\n property: 'border-radius',\n value: `var(--lns-radius-${radius})`,\n },\n ],\n };\n});\n\ninterface SpacingSelector {\n selector: string;\n property: string;\n modifier: string;\n value: string;\n}\n\nexport const getSpacingSelectors = (\n property: string,\n sides: string[],\n spaces: any,\n shortSides?: string\n): SpacingSelector[] => {\n const result: SpacingSelector[] = [];\n\n sides.map(side => {\n const sideString = shortSides\n ? `${property.charAt(0)}${side.charAt(0)}`\n : side;\n\n Object.keys(spaces).map(space => {\n result.push({\n selector: sideString,\n property: `${property}${\n side && property ? `-${side}` : side ? side : ''\n }`,\n modifier: space,\n value:\n space === 'auto' || space === '0'\n ? space\n : `var(--lns-space-${space})`,\n });\n });\n });\n\n return result;\n};\n\nexport const marginRules = Object.values(\n getSpacingSelectors(\n 'margin',\n ['', ...sides],\n spacesWithAutoAndZero,\n 'shortSides'\n )\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const marginCrossRules = Object.values(\n getSpacingSelectors('margin', ['x', 'y'], spacesWithAutoAndZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'margin-x' ? 'margin-left' : 'margin-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'margin-x'\n ? 'margin-right'\n : 'margin-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingRules = Object.values(\n getSpacingSelectors('padding', ['', ...sides], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const paddingCrossRules = Object.values(\n getSpacingSelectors('padding', ['x', 'y'], spacesWithZero, 'shortSides')\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-left'\n : 'padding-top',\n value: spaceSelector.value,\n },\n {\n property:\n spaceSelector.property === 'padding-x'\n ? 'padding-right'\n : 'padding-bottom',\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nexport const borderRules = ['', ...sides].map(side => {\n const selector =\n 'border' + side.replace(side.charAt(0), side.charAt(0).toUpperCase());\n\n const property = `border${side && `-${side}`}`;\n\n return {\n selector,\n declarations: [\n {\n property,\n value: `1px solid var(--lns-color-border)`,\n },\n ],\n };\n});\n\nconst displayOptions = [\n 'inline',\n 'block',\n 'flex',\n 'inlineBlock',\n 'inlineFlex',\n 'none',\n];\n\nexport const displayRules = displayOptions.map(displayOption => {\n return {\n selector: displayOption,\n declarations: [\n {\n property: 'display',\n value: pascalCaseToKebabCase(displayOption),\n },\n ],\n };\n});\n\nexport const flexWrapRules = [\n {\n selector: 'flexWrap',\n declarations: [\n {\n property: 'flex-wrap',\n value: 'wrap',\n },\n ],\n },\n];\n\nconst flexDirections = ['column', 'row'];\n\nexport const flexDirectionRules = flexDirections.map(flexDirection => {\n return {\n selector: 'flexDirection',\n modifier: flexDirection,\n declarations: [\n {\n property: 'flex-direction',\n value: flexDirection,\n },\n ],\n };\n});\n\nconst flexItemOptions = [\n 'stretch',\n 'center',\n 'baseline',\n 'flexStart',\n 'flexEnd',\n 'selfStart',\n 'selfEnd',\n];\n\nexport const flexItemRules = flexItemOptions.map(flexItemOption => {\n return {\n selector: 'items',\n modifier: flexItemOption,\n declarations: [\n {\n property: 'align-items',\n value: pascalCaseToKebabCase(flexItemOption),\n },\n ],\n };\n});\n\nconst justifyContentOptions = [\n 'flexStart',\n 'flexEnd',\n 'center',\n 'spaceBetween',\n 'spaceAround',\n 'spaceEvenly',\n];\n\nexport const JustifyContentRules = justifyContentOptions.map(\n justifyContentOption => {\n return {\n selector: 'justify',\n modifier: justifyContentOption,\n declarations: [\n {\n property: 'justify-content',\n value: pascalCaseToKebabCase(justifyContentOption),\n },\n ],\n };\n }\n);\n\nconst growOptions = ['0', '1'];\n\nexport const growRules = growOptions.map(growOption => {\n return {\n selector: 'grow',\n modifier: growOption,\n declarations: [\n {\n property: 'flex-grow',\n value: growOption,\n },\n ],\n };\n});\n\nconst shrinkOptions = ['0', '1'];\n\nexport const shrinkRules = shrinkOptions.map(shrinkOption => {\n return {\n selector: 'shrink',\n modifier: shrinkOption,\n declarations: [\n {\n property: 'flex-shrink',\n value: shrinkOption,\n },\n ],\n };\n});\n\nconst alignSelfOptions = [\n 'auto',\n 'flexStart',\n 'flexEnd',\n 'center',\n 'baseline',\n 'stretch',\n];\n\nexport const alignSelfRules = alignSelfOptions.map(alignSelfOption => {\n return {\n selector: 'self',\n modifier: alignSelfOption,\n declarations: [\n {\n property: 'align-self',\n value: pascalCaseToKebabCase(alignSelfOption),\n },\n ],\n };\n});\n\nconst overflowOptions = ['hidden', 'auto'];\n\nexport const overflowRules = overflowOptions.map(overflowOption => {\n return {\n selector: 'overflow',\n modifier: overflowOption,\n declarations: [\n {\n property: 'overflow',\n value: overflowOption,\n },\n ],\n };\n});\n\nconst positionOptions = ['relative', 'absolute', 'sticky', 'fixed'];\n\nexport const positionRules = positionOptions.map(positionOption => {\n return {\n selector: positionOption,\n declarations: [\n {\n property: 'position',\n value: positionOption,\n },\n ],\n };\n});\n\nexport const sidePositionRules = Object.values(\n getSpacingSelectors('', sides, spacesWithAutoAndZero)\n).map(spaceSelector => {\n return {\n selector: spaceSelector.selector,\n modifier: spaceSelector.modifier,\n declarations: [\n {\n property: spaceSelector.property,\n value: spaceSelector.value,\n },\n ],\n };\n});\n\nconst widthOptions = ['auto', 'full', '0'];\n\nexport const widthRules = widthOptions.map(widthOption => {\n return {\n selector: 'width',\n modifier: widthOption,\n declarations: [\n {\n property: 'width',\n value: widthOption === 'full' ? '100%' : widthOption,\n },\n ],\n };\n});\n\nexport const minWidthRules = [\n {\n selector: 'minWidth',\n modifier: '0',\n declarations: [\n {\n property: 'min-width',\n value: '0',\n },\n ],\n },\n];\n\nconst heightOptions = ['auto', 'full', '0'];\n\nexport const heightRules = heightOptions.map(heightOption => {\n return {\n selector: 'height',\n modifier: heightOption,\n declarations: [\n {\n property: 'height',\n value: heightOption === 'full' ? '100%' : heightOption,\n },\n ],\n };\n});\n\nexport const ellipsisRules = [\n {\n selector: 'ellipsis',\n declarations: [\n {\n property: 'overflow',\n value: 'hidden',\n },\n {\n property: 'text-overflow',\n value: 'ellipsis',\n },\n {\n property: 'white-space',\n value: 'nowrap',\n },\n ],\n },\n];\n\nexport const accessibilityRules = [\n {\n selector: 'srOnly',\n declarations: [\n { property: 'position', value: 'absolute' },\n { property: 'width', value: '1px' },\n { property: 'height', value: '1px' },\n { property: 'padding', value: '0' },\n { property: 'margin', value: '-1px' },\n { property: 'overflow', value: 'hidden' },\n { property: 'clip', value: 'rect(0, 0, 0, 0)' },\n { property: 'white-space', value: 'nowrap' },\n { property: 'border-width', value: '0' },\n ],\n },\n];\n", "import { breakpoints } from '../variables';\n\nimport {\n colorRules,\n shadowRules,\n radiiRules,\n backgroundColorRules,\n marginRules,\n marginCrossRules,\n paddingRules,\n paddingCrossRules,\n textSizeRules,\n fontWeightRules,\n textVariantRules,\n textAlignmentRules,\n borderRules,\n displayRules,\n flexWrapRules,\n flexDirectionRules,\n flexItemRules,\n JustifyContentRules,\n growRules,\n shrinkRules,\n alignSelfRules,\n overflowRules,\n positionRules,\n sidePositionRules,\n widthRules,\n minWidthRules,\n heightRules,\n ellipsisRules,\n accessibilityRules,\n} from './rules';\n\nconst separator = '\\\\:';\n\nconst allRules = [\n ...colorRules,\n ...shadowRules,\n ...radiiRules,\n ...backgroundColorRules,\n ...marginRules,\n ...marginCrossRules,\n ...paddingRules,\n ...paddingCrossRules,\n ...textSizeRules,\n ...fontWeightRules,\n ...textVariantRules,\n ...textAlignmentRules,\n ...borderRules,\n ...displayRules,\n ...flexWrapRules,\n ...flexDirectionRules,\n ...flexItemRules,\n ...JustifyContentRules,\n ...growRules,\n ...shrinkRules,\n ...alignSelfRules,\n ...overflowRules,\n ...positionRules,\n ...sidePositionRules,\n ...widthRules,\n ...minWidthRules,\n ...heightRules,\n ...ellipsisRules,\n ...accessibilityRules,\n];\n\nexport const objectToRuleset = (rules: any[], prefix?: string) => {\n const result = [];\n const prefixString = prefix ? `${prefix}-` : '';\n\n rules.map(rule => {\n const declarations = [];\n\n rule.declarations.map(declaration => {\n declarations.push(`${declaration.property}:${declaration.value}`);\n });\n\n const string = `.${prefixString}${rule.selector}${\n rule.modifier ? separator : ''\n }${rule.modifier ? rule.modifier : ''}{${declarations.join(';')}}`;\n\n result.push(string);\n });\n\n return result.join('');\n};\n\nexport const shortBreakpoints = {\n xs: breakpoints.xsmall,\n sm: breakpoints.small,\n md: breakpoints.medium,\n lg: breakpoints.large,\n};\n\nexport const cssUtilities = () => {\n const getRulesetsInMedia = () => {\n const result = [];\n\n result.push(`${objectToRuleset(allRules)}`);\n\n Object.entries(shortBreakpoints).map(([key, value]) => {\n result.push(\n `@media(min-width:${value}){${objectToRuleset(allRules, key)}}`\n );\n });\n\n return result.join('');\n };\n\n return getRulesetsInMedia();\n};\n", "import { hslaBaseColors, hslaColors, hslaGreys, themeColors } from '../colors';\n\nimport { u } from '../utilities';\nimport {\n fontWeights,\n fontSettings,\n radii,\n shadows,\n spaces,\n textSizes,\n unit,\n gradients,\n} from '../variables';\n\ntype VarsObject = Record<string, string | number>;\n\nexport const getCssVarsFromObject = (\n prefix: string,\n varsObject: VarsObject\n): VarsObject => {\n const resultObj = {};\n\n Object.entries(varsObject).forEach(([varName, varValue]) => {\n const namePrefix = prefix ? `${prefix}-` : '';\n const value = `--lns-${namePrefix + varName}`;\n\n resultObj[value] = varValue;\n });\n\n return resultObj;\n};\n\nconst getTextSizesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(textSizes).forEach(([textSizeKey, textSizeValue]) => {\n const fontSizesObj = {};\n const lineHeightsObj = {};\n const letterSpacingObj = {};\n const fontSizeValue = `fontSize-${textSizeKey}`;\n const lineHeightValue = `lineHeight-${textSizeKey}`;\n const letterSpacingValue = `letterSpacing-${textSizeKey}`;\n\n fontSizesObj[fontSizeValue] = u(textSizeValue.fontSize);\n fontSizesObj[lineHeightValue] = textSizeValue.lineHeight;\n fontSizesObj[letterSpacingValue] = textSizeValue.letterSpacing;\n\n Object.assign(resultObj, fontSizesObj, lineHeightsObj, letterSpacingObj);\n });\n\n return resultObj;\n};\n\nconst getSpacesObject = (): VarsObject => {\n const resultObj = {};\n\n Object.entries(spaces).forEach(([spaceName, spaceValue]) => {\n const value = `space-${spaceName}`;\n\n resultObj[value] = u(spaceValue);\n });\n\n return resultObj;\n};\n\nconst getColorsObject = (): VarsObject => {\n const colorsObject = {};\n\n Object.keys({ ...hslaBaseColors, ...hslaGreys }).forEach(name => {\n const value = name;\n\n colorsObject[value] =\n `hsla(${hslaColors[name].h},${hslaColors[name].s}%,${hslaColors[name].l}%,${hslaColors[name].a})`;\n });\n\n return colorsObject;\n};\n\nconst getThemeColorsObjects = (): Record<'light' | 'dark', VarsObject> => {\n const reducer = (colors, prefix) =>\n Object.keys(colors).reduce((accumulator, name) => {\n const color = colors[name];\n const value = `${prefix}-color-${name}`;\n\n accumulator[value] = color.ads\n ? `var(${color.ads}, hsla(${color.h},${color.s}%,${color.l}%,${color.a}))`\n : `hsla(${color.h},${color.s}%,${color.l}%,${color.a})`;\n\n return accumulator;\n }, {});\n\n return {\n light: reducer(themeColors.light, 'themeLight'),\n dark: reducer(themeColors.dark, 'themeDark'),\n };\n};\n\nexport const unitVariables = getCssVarsFromObject(undefined, {\n unit: `${unit / 16}rem`,\n});\n\nexport const fontWeightVariables = getCssVarsFromObject(\n 'fontWeight',\n fontWeights\n);\n\nexport const fontSettingVariables = getCssVarsFromObject(\n 'fontSetting',\n fontSettings\n);\n\nexport const textSizeVariables = getCssVarsFromObject(\n undefined,\n getTextSizesObject()\n);\n\nexport const radiusVariables = getCssVarsFromObject('radius', radii);\n\nexport const shadowVariables = getCssVarsFromObject('shadow', shadows);\n\nexport const spaceVariables = getCssVarsFromObject(\n undefined,\n getSpacesObject()\n);\n\nexport const formFieldVariables = getCssVarsFromObject(undefined, {\n formFieldBorderWidth: '1px',\n formFieldBorderWidthFocus: '2px',\n formFieldHeight: u(4.5),\n formFieldRadius: 'var(--lns-radius-175)',\n formFieldHorizontalPadding: u(2),\n formFieldBorderShadow: `\n inset 0 0 0 var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)\n `,\n formFieldBorderShadowFocus: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-blurple),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-focusRing)\n `,\n formFieldBorderShadowError: `\n inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger),\n 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-orangeLight)\n `,\n});\n\nconst colorVariables = getCssVarsFromObject('color', getColorsObject());\n\nexport const gradientVariables = getCssVarsFromObject('gradient', gradients);\n\nconst sizingVariables = [\n unitVariables,\n textSizeVariables,\n radiusVariables,\n shadowVariables,\n spaceVariables,\n formFieldVariables,\n];\n\nexport const getSizingVariablesCssVarsObject = (): VarsObject => {\n return Object.assign({}, ...sizingVariables);\n};\n\nexport const getVariablesCssVarsObject = (): VarsObject => {\n return Object.assign(\n {},\n fontWeightVariables,\n ...sizingVariables,\n fontSettingVariables\n );\n};\n\nexport const getColorsCssVarsObject = (): VarsObject => {\n return {\n ...colorVariables,\n ...gradientVariables,\n };\n};\n\nconst assignLightThemeColors = () => {\n return Object.keys(themeColors.light).map(\n color => `--lns-color-${color}: var(--lns-themeLight-color-${color});`\n );\n};\nconst assignDarkThemeColors = () => {\n return Object.keys(themeColors.dark).map(\n color => `--lns-color-${color}: var(--lns-themeDark-color-${color});`\n );\n};\n\nexport const getThemeStylesString = (customRootElement = ':root') => {\n const rootElement = customRootElement || ':root';\n\n return `\n ${rootElement},\n .theme-light,\n [data-lens-theme=\"light\"] {\n ${assignLightThemeColors().join('')}\n }\n\n .theme-dark,\n [data-lens-theme=\"dark\"] {\n ${assignDarkThemeColors().join('')}\n }\n `;\n};\n\nexport const getThemeStyles = () => {\n const style = document.createElement('style');\n\n style.innerHTML = getThemeStylesString();\n document.head.appendChild(style);\n};\n\nexport const getSizingCssVarsDeclarations = () => {\n const result = Object.entries(getSizingVariablesCssVarsObject()).map(\n cssVar => `${cssVar[0]}:${cssVar[1]};`\n );\n\n return result.join('');\n};\n\nexport const getAllCssVarsString = customRootElement => {\n const result = [];\n const rootElement = customRootElement || ':root';\n\n Object.entries(getVariablesCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n Object.entries(getColorsCssVarsObject()).forEach(cssVar => {\n result.push(`${cssVar[0]}:${cssVar[1]};`);\n });\n\n const themeColorsObjects = getThemeColorsObjects();\n const lightThemeColorVariables = getCssVarsFromObject(\n undefined,\n themeColorsObjects.light\n );\n const darkThemeColorVariables = getCssVarsFromObject(\n undefined,\n themeColorsObjects.dark\n );\n\n return `\n ${rootElement} {\n ${result.join('')}\n }\n\n ${rootElement},\n [data-color-mode=\"light\"] {\n ${Object.entries(lightThemeColorVariables)\n .map(cssVar => `${cssVar[0]}:${cssVar[1]};`)\n .join('')}\n }\n\n ${rootElement},\n [data-color-mode=\"dark\"] {\n ${Object.entries(darkThemeColorVariables)\n .map(cssVar => `${cssVar[0]}:${cssVar[1]};`)\n .join('')}\n }\n `;\n};\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getRadius, getSizeValue, u } from '../../utilities';\n\nexport type AvatarColor = 'orange' | 'blue' | 'yellow' | 'teal';\n\nconst getColorMapping = (color: AvatarColor) => {\n switch (color) {\n case 'orange':\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n case 'blue':\n return {\n background: 'blueLight',\n text: 'blueDark',\n };\n case 'yellow':\n return {\n background: 'yellowLight',\n text: '#9E4C00',\n };\n case 'teal':\n return {\n background: 'tealLight',\n text: 'tealDark',\n };\n default:\n return {\n background: 'orangeLight',\n text: 'dangerHover',\n };\n }\n};\n\nconst getLetterSize = wrapperSize => `calc(${wrapperSize} / 2)`;\n\nconst getAvatarSize = avatarSize => {\n let width;\n let height;\n\n if (avatarSize === 'medium') {\n width = u(4);\n height = u(4);\n } else if (avatarSize === 'large') {\n width = u(7);\n height = u(7);\n } else {\n const sizeValue = getSizeValue(avatarSize);\n\n width = sizeValue;\n height = sizeValue;\n }\n\n const fontSize = getLetterSize(width);\n\n return {\n width,\n height,\n fontSize,\n };\n};\nconst AvatarWrapper = styled.span<\n AvatarWrapperProps & { backgroundColor?: string; color?: string }\n>`\n display: block;\n color: ${props =>\n props.color\n ? props.color.startsWith('#')\n ? props.color\n : `var(--lns-color-${props.color})`\n : 'var(--lns-color-blueLight)'};\n background-color: var(--lns-color-background);\n ${getRadius('full')};\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font-weight: var(--lns-fontWeight-bold);\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n position: relative;\n z-index: 0;\n\n &:after {\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n background-color: ${props =>\n props.hasBackgroundColor &&\n (props.backgroundColor\n ? `var(--lns-color-${props.backgroundColor})`\n : 'var(--lns-color-orange)')};\n }\n`;\n\nconst AvatarImage = styled.img<AvatarProps>`\n max-width: 100%;\n width: ${props => {\n const { width } = getAvatarSize(props.size);\n\n return width;\n }};\n height: ${props => {\n const { height } = getAvatarSize(props.size);\n\n return height;\n }};\n font-size: ${props => {\n const { fontSize } = getAvatarSize(props.size);\n\n return fontSize;\n }};\n`;\n\nconst Avatar = ({\n altText = '',\n size = 4,\n letter,\n imageSrc,\n children,\n themeColor = 'blue',\n ...props\n}: AvatarProps &\n React.ComponentProps<typeof AvatarWrapper> &\n Omit<\n LensSpanProps,\n keyof AvatarProps & React.ComponentProps<typeof AvatarWrapper>\n >) => {\n const getContent = () => {\n if (children) {\n return children;\n }\n\n if (imageSrc) {\n const height = getAvatarSize(size).height;\n const width = getAvatarSize(size).width;\n\n return (\n <AvatarImage\n size={size}\n alt={altText}\n src={imageSrc}\n height={height}\n width={width}\n />\n );\n }\n\n if (letter) {\n if (altText) {\n return <span aria-label={altText}>{letter}</span>;\n }\n\n return letter;\n }\n };\n\n const hasBackgroundColor = letter && !imageSrc && !children;\n const colorMapping = getColorMapping(themeColor || 'blue');\n\n return (\n <AvatarWrapper\n hasBackgroundColor={hasBackgroundColor}\n size={size}\n backgroundColor={colorMapping.background}\n color={colorMapping.text}\n {...props}\n >\n {getContent()}\n </AvatarWrapper>\n );\n};\n\ntype AvatarProps = {\n altText?: string;\n letter?: string;\n imageSrc?: string;\n size?: string | number;\n children?: React.ReactNode;\n height?: number;\n width?: number;\n hasBackgroundColor?: boolean;\n backgroundColor?: string;\n themeColor?: AvatarColor;\n};\n\ntype AvatarWrapperProps = {\n size?: string | number;\n hasBackgroundColor?: boolean;\n themeColor?: AvatarColor;\n};\n\nexport default Avatar;\n", "import { Global, css } from '@emotion/react';\n\nimport React from 'react';\n\nimport { cssUtilities } from '../../css-utilities';\nimport { getAllCssVarsString, getThemeStylesString } from '../../css-variables';\nimport { getColorValue, getTextSize } from '../../utilities';\n\nconst buildGlobalStylesheet = (rootElement = ':root', bodyElement = 'body') => {\n return `\n ${rootElement} {\n font-size: 100%;\n }\n ${bodyElement} {\n --lns-fontFamily-body: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-heading: \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif;\n --lns-fontFamily-code: \"Atlassian Mono\", ui-monospace, Menlo, \"Segoe UI Mono\", \"Ubuntu Mono\", monospace;\n\n font-family: var(--lns-fontFamily-body);\n color: var(--ds-text, ${getColorValue('body')});\n ${getTextSize('body-md')};\n }\n\n ${bodyElement} *,\n ${bodyElement} *:before,\n ${bodyElement} *:after {\n box-sizing: border-box;\n }\n\n ${bodyElement} * {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n ${getThemeStylesString(rootElement)}\n\n ${getAllCssVarsString(rootElement)}\n\n ${cssUtilities()}\n `;\n};\n\nconst BaseStyles = () => <Global styles={css(buildGlobalStylesheet())} />;\n\nexport default BaseStyles;\nexport { BaseStyles, buildGlobalStylesheet };\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useCallback } from 'react';\n\nimport traceUFOPress from '@atlaskit/react-ufo/trace-press';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getOffsetFocusRing,\n getFontWeight,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Icon from '../icon/icon';\nimport Loader from '../loader/loader';\nimport { shadows } from 'src/variables';\n\nconst sizesStyles = {\n small: {\n height: u(4),\n textSize: 'small',\n iconSize: 2,\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: u(4.5),\n textSize: 'medium',\n iconSize: 3,\n xSpace: u(2),\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n textSize: 'large',\n iconSize: 4,\n xSpace: u(2.5),\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst hasLoaderStyles = props => css`\n ${props.hasLoader && `display: none`};\n`;\n\nconst variantStyles = {\n neutral: {\n color: getColorValue('body'),\n background: 'transparent',\n borderColor: getColorValue('buttonBorder'),\n hover: getColorValue('backgroundHover'),\n active: getColorValue('backgroundActive'),\n floatingBackground: getColorValue('overlay'),\n floatingHover: getColorValue('overlayHover'),\n floatingActive: getColorValue('overlayActive'),\n },\n neutralSecondary: {\n color: getColorValue('body'),\n background: getColorValue('backgroundNeutral'),\n borderColor: null,\n hover: getColorValue('backgroundNeutralHover'),\n active: getColorValue('backgroundNeutralActive'),\n },\n primary: {\n color: getColorValue('white'),\n background: getColorValue('blurple'),\n borderColor: null,\n hover: getColorValue('primaryHover'),\n active: getColorValue('primaryActive'),\n },\n secondary: {\n color: getColorValue('primary'),\n background: getColorValue('highlight'),\n borderColor: null,\n hover: getColorValue('highlightHover'),\n active: null,\n },\n record: {\n color: getColorValue('white'),\n background: getColorValue('record'),\n borderColor: null,\n hover: getColorValue('recordHover'),\n active: getColorValue('recordActive'),\n },\n upgrade: {\n color: getColorValue('body'),\n background: getColorValue('upgrade'),\n borderColor: null,\n hover: getColorValue('upgradeHover'),\n active: getColorValue('upgradeActive'),\n focusRing: getFocusRing(),\n },\n danger: {\n color: getColorValue('bodyInverse'),\n background: getColorValue('danger'),\n borderColor: null,\n hover: getColorValue('dangerHover'),\n active: getColorValue('dangerActive'),\n },\n ai: {\n color: getColorValue('white'),\n background: getColorValue('ai-primary'),\n borderColor: null,\n hover: null,\n active: null,\n },\n};\n\nconst statusStyles = props => ({\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n ${props.ariaDisabled && `aria-disabled: true`};\n pointer-events: none;\n background-color: ${getColorValue('disabledBackground')};\n color: ${getColorValue('disabledContent')};\n border: none;\n `,\n});\n\nconst widthStyles = props => ({\n auto: css`\n display: inline-flex;\n min-width: ${sizesStyles[props.size].height};\n `,\n full: css`\n display: flex;\n width: 100%;\n `,\n maxContent: css`\n display: inline-flex;\n width: max-content;\n min-width: max-content;\n `,\n});\n\nconst iconGap = u(1);\n\nconst ButtonWrapper = styled.button<ButtonWrapperProps>`\n appearance: none;\n padding: 0\n ${props => (props.hasChildren ? sizesStyles[props.size].xSpace : 0)};\n font: inherit;\n text-decoration: none;\n transition:\n 0.6s background,\n 0.6s border-color;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n white-space: nowrap;\n ${getFontWeight('bold')};\n border-radius: ${props => sizesStyles[props.size].radius};\n // TODO: remove hasFullWidth after deprecation period\n ${props =>\n props.hasFullWidth ? 'display: flex; width: 100%' : 'display: inline-flex'};\n ${props => widthStyles(props)[props.width]};\n height: ${props => sizesStyles[props.size].height};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n ${props => props.isFloating && `box-shadow: ${shadows.medium}`};\n ${props =>\n props.disabled\n ? statusStyles(props).disabled\n : statusStyles(props).enabled};\n ${props =>\n !props.disabled &&\n `\n border: ${\n variantStyles[props.variant].borderColor\n ? `1px solid ${variantStyles[props.variant].borderColor}`\n : 'none'\n };\n background: ${\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingBackground\n : variantStyles[props.variant].background\n };\n background-position: left;\n background-size: 125%;\n color: ${variantStyles[props.variant].color};\n `};\n\n &:hover {\n transition:\n 0.3s background,\n 0.3s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingHover\n : variantStyles[props.variant].hover};\n background-position: 75% center;\n }\n\n &:active {\n transition:\n 0s background,\n 0s border-color;\n background: ${props =>\n props.isFloating && props.variant === 'neutral'\n ? variantStyles[props.variant].floatingActive\n : variantStyles[props.variant].active};\n background-position: right;\n }\n\n &:focus-visible {\n ${props =>\n props['aria-expanded'] ? 'outline: none;' : getOffsetFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nconst IconSection = styled.span<{\n paddingLeft: string;\n paddingRight: string;\n hasLoader: boolean;\n}>`\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${hasLoaderStyles};\n`;\n\nconst LogoImage = styled.img<{\n size: 'small' | 'medium' | 'large';\n hasSpacing: boolean;\n hasLoader: boolean;\n}>`\n max-width: 1.45em;\n max-height: 1.45em;\n height: ${props => sizesStyles[props.size].height};\n width: ${props => sizesStyles[props.size].height};\n ${props => props.hasSpacing && `margin-right: 0.57em`};\n ${hasLoaderStyles};\n`;\n\nconst LoaderSection = styled.span`\n position: relative;\n display: flex;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.span<{ hasLoader: boolean }>`\n ${hasLoaderStyles};\n`;\n\nconst Button = ({\n size = 'medium',\n children,\n variant = 'neutral',\n hasFullWidth,\n width = 'auto',\n icon,\n iconPosition = 'left',\n iconBefore,\n iconAfter,\n logoSrc,\n hasLoader,\n isDisabled,\n ariaDisabled,\n htmlTag = 'button',\n interactionName,\n onClick,\n refHandler,\n ...props\n}: ButtonProps &\n React.ComponentProps<typeof ButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof ButtonProps & React.ComponentProps<typeof ButtonWrapper>\n >) => {\n const legacyIconLeft = icon && iconPosition === 'left' ? icon : null;\n const iconBeforeElement =\n iconBefore || legacyIconLeft ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft=\"0\"\n paddingRight={children ? iconGap : '0'}\n >\n <Icon\n icon={iconBefore || legacyIconLeft}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n const legacyIconRight = icon && iconPosition === 'right' ? icon : null;\n const iconAfterElement =\n iconAfter || legacyIconRight ? (\n <IconSection\n hasLoader={hasLoader}\n paddingLeft={children ? iconGap : '0'}\n paddingRight=\"unset\"\n >\n <Icon\n icon={legacyIconRight || iconAfter}\n color=\"currentColor\"\n size={sizesStyles[size].iconSize}\n />\n </IconSection>\n ) : null;\n\n const onClickWithPressTracing = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (interactionName) {\n traceUFOPress(interactionName);\n }\n onClick?.(event);\n },\n [onClick, interactionName]\n );\n\n return (\n <ButtonWrapper\n size={size}\n variant={variant}\n hasFullWidth={hasFullWidth}\n width={width}\n icon={icon}\n iconPosition={iconPosition}\n logoSrc={logoSrc}\n disabled={isDisabled}\n ariaDisabled={ariaDisabled}\n as={htmlTag}\n hasChildren={children}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n onClick={\n interactionName === undefined ? onClick : onClickWithPressTracing\n }\n >\n {hasLoader && (\n <LoaderSection>\n <Loader color=\"currentColor\" />\n </LoaderSection>\n )}\n {iconBeforeElement}\n {logoSrc && (\n <LogoImage\n // Assumes image is only referencing information written within the button.\n alt=\"\"\n hasSpacing={Boolean(children)}\n src={logoSrc}\n size={size}\n // Assumes all images are 1:1 aspectRatio\n height={sizesStyles[size].height}\n width={sizesStyles[size].height}\n hasLoader={hasLoader}\n />\n )}\n <ChildrenSection hasLoader={hasLoader}>{children}</ChildrenSection>\n {iconAfterElement}\n </ButtonWrapper>\n );\n};\n\ntype Variant =\n | 'neutral'\n | 'neutralSecondary'\n | 'primary'\n | 'secondary'\n | 'record'\n | 'upgrade'\n | 'danger'\n | 'ai';\n\ntype Width = 'auto' | 'full' | 'maxContent';\ninterface ButtonProps {\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n children?: React.ReactNode;\n isDisabled?: boolean;\n ariaDisabled?: boolean;\n /** @deprecated Use width={'full'} instead */\n hasFullWidth?: boolean;\n width?: Width;\n /** @deprecated Use iconBefore or iconAfter instead */\n icon?: React.ReactNode;\n /** @deprecated Use iconBefore or iconAfter instead */\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n hasLoader?: boolean;\n isFloating?: boolean;\n htmlTag?: 'button' | 'a';\n href?: string;\n download?: string;\n target?: string;\n type?: string;\n refHandler?: (ref: HTMLButtonElement) => void;\n /** Used to enable press tracing. See more at https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/press-interactions/#implementation */\n interactionName?: string;\n /** @deprecated Usage of className results in non-standard components */\n className?: string;\n /** @deprecated Usage of style results in non-standard components */\n style?: any;\n}\n\ninterface ButtonWrapperProps {\n hasNoPaddingRight?: boolean;\n hasNoPaddingLeft?: boolean;\n size?: 'small' | 'medium' | 'large';\n variant?: Variant;\n hasFullWidth?: boolean;\n width?: Width;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n iconBefore?: React.ReactNode;\n iconAfter?: React.ReactNode;\n logoSrc?: string;\n as?: string;\n disabled?: boolean;\n ariaDisabled?: boolean;\n buttonPadding?: number | string;\n hasChildren?: React.ReactNode;\n isFloating?: boolean;\n}\n\nexport const availableSizes = Object.keys(sizesStyles);\nexport const availableVariants = Object.keys(variantStyles);\nexport const availableHtmlTags = ['button', 'a'];\nexport const availableIconPositions = ['left', 'right'];\n\nexport default Button;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue, getSize, type SizeProp } from '../../utilities';\n\nconst defaultIconSize = 3;\n\nconst IconWrapper = styled.span<IconProps>`\n display: block;\n color: ${props => getColorValue(props.color)};\n\n & > svg,\n & > img {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n }\n\n // TODO: remove data-testid once all icons are using ADS\n [data-testid='ads-refreshed-icon'] {\n display: block;\n ${props => getSize('width', props.size)};\n ${props => getSize('height', props.size)};\n\n svg {\n padding: 8%;\n height: 100%;\n width: 100%;\n }\n }\n`;\n\ntype IconProps = {\n size?: SizeProp;\n altText?: string;\n icon?: React.ReactNode;\n color?: string;\n};\n\nconst Icon = ({\n altText,\n icon,\n color = 'body',\n size = defaultIconSize,\n ...props\n}: IconProps &\n React.ComponentProps<typeof IconWrapper> &\n Omit<\n LensSpanProps,\n keyof IconProps & React.ComponentProps<typeof IconWrapper>\n >) => {\n const ref = React.useRef(null);\n\n return (\n <IconWrapper\n ref={ref}\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {icon}\n </IconWrapper>\n );\n};\n\nexport default Icon;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst speed = 1;\nconst dotsAmount = 8;\n\nconst sizes = {\n small: {\n totalSize: 18,\n },\n medium: {\n totalSize: 24,\n },\n large: {\n totalSize: 48,\n },\n};\n\nconst getDotSize = props => {\n return sizes[props.size].totalSize / 6;\n};\n\nconst getTotalSize = props => {\n return sizes[props.size].totalSize;\n};\n\nconst dotScale = keyframes`\n 50% {\n transform: scale(1);\n }\n`;\n\nconst LoaderWrapper = styled.span<LoaderWrapperProps>`\n display: inline-block;\n vertical-align: middle;\n height: ${props => getTotalSize(props)}px;\n width: ${props => getTotalSize(props)}px;\n`;\n\nconst Dots = styled.span`\n display: grid;\n grid-template-areas: 'stack';\n height: 100%;\n width: 100%;\n`;\n\nconst DotWrapper = styled.span<DotProps>`\n grid-area: stack;\n place-self: center;\n transform: rotate(${props => props.position * (360 / dotsAmount)}deg)\n translateY(${props => getTotalSize(props) / 2 - getDotSize(props) / 2}px);\n\n &:after {\n content: '';\n height: ${props => getDotSize(props)}px;\n width: ${props => getDotSize(props)}px;\n border-radius: ${props => getDotSize(props)}px;\n background-color: ${props => getColorValue(props.color)};\n display: block;\n transform: scale(0.65);\n animation: ${dotScale} ${speed}s\n ${props => (props.position * speed) / dotsAmount}s ease-in-out infinite;\n }\n`;\n\nconst Dot = ({ position, color, size }: DotProps) => (\n <DotWrapper color={color} position={position} size={size} />\n);\n\nconst Loader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: LoaderProps &\n React.ComponentProps<typeof LoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof LoaderProps & React.ComponentProps<typeof LoaderWrapper>\n >) => {\n let i;\n const dotsList = [];\n\n for (i = 0; i < dotsAmount; i++) {\n dotsList.push(<Dot color={color} position={i} size={size} key={i} />);\n }\n\n return (\n <LoaderWrapper size={size} {...props}>\n <Dots>{dotsList}</Dots>\n </LoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype LoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LoaderWrapperProps = {\n size?: string;\n};\n\ntype DotProps = {\n position?: number;\n color?: string;\n size?: string;\n};\n\nexport default Loader;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport { getSize } from '../../utilities';\n\nconst SpacerWrapper = styled.div<SpacerProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n vertical-align: middle;\n ${props => getSize('padding', props.all)};\n ${props => getSize('padding-top', props.top)};\n ${props => getSize('padding-right', props.right)};\n ${props => getSize('padding-bottom', props.bottom)};\n ${props => getSize('padding-left', props.left)};\n`;\n\nconst Spacer = ({\n children,\n all,\n y,\n x,\n top,\n right,\n bottom,\n left,\n isInline,\n ...props\n}: SpacerProps &\n React.ComponentProps<typeof SpacerWrapper> &\n Omit<\n LensDivProps,\n keyof SpacerProps & React.ComponentProps<typeof SpacerWrapper>\n >) => (\n <SpacerWrapper\n all={all}\n top={y || top}\n bottom={y || bottom}\n right={x || right}\n left={x || left}\n isInline={isInline}\n {...props}\n >\n {children}\n </SpacerWrapper>\n);\n\ntype SpacerProps = {\n all?: ResponsiveType<string | number>;\n y?: ResponsiveType<string | number>;\n x?: ResponsiveType<string | number>;\n left?: ResponsiveType<string | number>;\n right?: ResponsiveType<string | number>;\n top?: ResponsiveType<string | number>;\n bottom?: ResponsiveType<string | number>;\n isInline?: boolean;\n children?: React.ReactNode;\n};\n\nexport default Spacer;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getTextSize, u } from '../../utilities';\n\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\ntype SizesStylesProps = {\n [key: string]: {\n height: string;\n width: string;\n iconSize: number;\n padding: string | number;\n withIconPadding: string | number;\n passwordAdditionalPadding: string | number;\n textSize: string;\n radius: string;\n };\n};\n\nconst sizesStyles: SizesStylesProps = {\n small: {\n height: u(4),\n width: u(5),\n iconSize: 2,\n padding: u(1.75),\n withIconPadding: u(4.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'small',\n radius: 'var(--lns-radius-150)',\n },\n medium: {\n height: 'var(--lns-formFieldHeight)',\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'medium',\n radius: 'var(--lns-radius-175)',\n },\n large: {\n height: u(7),\n width: u(6),\n iconSize: 3,\n padding: 'var(--lns-formFieldHorizontalPadding)',\n withIconPadding: u(5.5),\n passwordAdditionalPadding: u(0.5),\n textSize: 'large',\n radius: 'var(--lns-radius-250)',\n },\n};\n\nconst inputRightPadding = (\n props: InputFieldProps & Pick<TextInputProps, 'type'>\n): string | number => {\n let padding = props.addOn\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding;\n\n // Allow additional space for safari & other password filling icons to not overlap with addon\n if (props.type === 'password') {\n padding = `calc(${\n sizesStyles[props.inputSize].passwordAdditionalPadding\n } + ${padding})`;\n }\n\n return padding;\n};\n\nconst InputField = styled.input<InputFieldProps & Pick<TextInputProps, 'type'>>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: ${props => sizesStyles[props.inputSize].height};\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n padding-left: ${props =>\n props.icon\n ? sizesStyles[props.inputSize].withIconPadding\n : sizesStyles[props.inputSize].padding};\n padding-right: ${props => inputRightPadding(props)};\n border-radius: ${props => sizesStyles[props.inputSize].radius};\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${props => getTextSize(sizesStyles[props.inputSize].textSize)};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst InputFieldWrapper = styled.div`\n position: relative;\n width: 100%;\n`;\n\nconst IconSection = styled.div<IconSectionProps>`\n position: absolute;\n pointer-events: none;\n width: ${props => sizesStyles[props.size].width};\n // Width isn't equal to iconPadding because we want more space on the left than the right\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst Image = styled.img<Pick<TextInputProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst AddOnWrapper = styled.div<IconSectionProps>`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${props => sizesStyles[props.size].width};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextInput = forwardRef(\n (\n {\n placeholder,\n onFocus,\n onChange,\n onBlur,\n onKeyDown,\n isDisabled,\n icon,\n type = 'text',\n value,\n hasError,\n size = 'medium',\n addOn,\n ...props\n }: TextInputProps & Omit<React.ComponentProps<typeof InputField>, 'size'>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const inputField = (\n <InputField\n type={type}\n placeholder={placeholder}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={isDisabled}\n icon={icon}\n ref={ref}\n value={value}\n hasError={hasError}\n inputSize={size}\n addOn={addOn}\n {...props}\n />\n );\n\n return icon || addOn ? (\n <InputFieldWrapper>\n {icon && (\n <IconSection size={size}>\n {typeof icon === 'string' ? (\n <Container\n radius=\"50\"\n width={sizesStyles[size].iconSize}\n height={sizesStyles[size].iconSize}\n overflow=\"hidden\"\n >\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={icon}\n size={sizesStyles[size].iconSize}\n color={getColorValue(isDisabled ? 'disabledContent' : 'body')}\n />\n )}\n </IconSection>\n )}\n {inputField}\n {addOn && <AddOnWrapper size={size}>{addOn}</AddOnWrapper>}\n </InputFieldWrapper>\n ) : (\n inputField\n );\n }\n);\n\ntype TextInputProps = {\n placeholder?: string;\n value?: string | number;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n isDisabled?: boolean;\n icon?: React.ReactNode | string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'month'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n id?: string;\n hasError?: boolean;\n size?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\ntype IconSectionProps = {\n size?: 'small' | 'medium' | 'large';\n};\ntype InputFieldProps = {\n icon?: React.ReactNode;\n hasError?: boolean;\n inputSize?: 'small' | 'medium' | 'large';\n addOn?: React.ReactNode;\n};\n\nexport default TextInput;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport { getResponsiveOneOf } from '../../utilities';\n\nconst alignmentsPlaceItems = {\n topLeft: 'start',\n topCenter: 'start center',\n topRight: 'start end',\n centerLeft: 'center start',\n center: 'center',\n centerRight: 'center end',\n bottomLeft: 'end start',\n bottomCenter: 'end center',\n bottomRight: 'end',\n};\n\nconst getPlaceItems = (\n alignment: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >\n) => {\n if (Array.isArray(alignment)) {\n return alignment.map(\n alignmentArrayItem => alignmentsPlaceItems[alignmentArrayItem]\n );\n }\n\n if (typeof alignment === 'object') {\n const alignmentsPlaceItemsObject = {};\n\n Object.entries(alignment).forEach(([key, value]) => {\n return (alignmentsPlaceItemsObject[key] = alignmentsPlaceItems[value]);\n });\n\n return alignmentsPlaceItemsObject;\n }\n\n return alignmentsPlaceItems[alignment];\n};\n\nconst AlignWrapper = styled.div<AlignWrapperProps>`\n width: 100%;\n height: 100%;\n display: grid;\n ${props => getResponsiveOneOf('place-items', getPlaceItems(props.alignment))};\n`;\n\nconst Align = ({\n children,\n alignment = 'center',\n htmlTag = 'div',\n ...props\n}: AlignProps &\n React.ComponentProps<typeof AlignWrapper> &\n Omit<\n LensDivProps,\n keyof AlignProps & React.ComponentProps<typeof AlignWrapper>\n >) => {\n return (\n <AlignWrapper alignment={alignment} as={htmlTag} {...props}>\n {children}\n </AlignWrapper>\n );\n};\n\nexport const availableAlignments = Object.keys(alignmentsPlaceItems);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype AlignProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n};\n\ntype AlignWrapperProps = {\n children: React.ReactNode;\n alignment?: ResponsiveType<\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'centerLeft'\n | 'center'\n | 'centerRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n >;\n as?: string;\n};\n\nexport default Align;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n} from '../../utilities';\n\nconst getBorderSideAndColor = (side, color, width) => {\n const borderColor = color ? color : 'border';\n const borderWidth = getSizeValue(width);\n const borderStyle = `${borderWidth} solid ${getColorValue(borderColor)}`;\n\n if (side) {\n if (side === 'all') {\n return `border: ${borderStyle};`;\n }\n\n return `border-${side}: ${borderStyle};`;\n }\n};\n\nconst ContainerWrapper = styled.div<ContainerWrapperProps>`\n ${props => props.position && `position: ${props.position}`};\n ${props => props.overflow && `overflow: ${props.overflow}`};\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n ${props =>\n props.backgroundImage && `background-image: ${props.backgroundImage}`}\n ${props =>\n props.contentColor && `color: ${getColorValue(props.contentColor)}`};\n ${props =>\n getBorderSideAndColor(\n props.borderSide,\n props.borderColor,\n props.borderWidth\n )};\n ${props => getRadius(props.radius)};\n ${props => getShadow(props.shadow)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-right', props.paddingRight)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('margin', props.margin)};\n ${props => getSize('margin-top', props.marginTop)};\n ${props => getSize('margin-right', props.marginRight)};\n ${props => getSize('margin-bottom', props.marginBottom)};\n ${props => getSize('margin-left', props.marginLeft)};\n ${props => getSize('top', props.top)};\n ${props => getSize('right', props.right)};\n ${props => getSize('bottom', props.bottom)};\n ${props => getSize('left', props.left)};\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Container = ({\n children,\n backgroundColor,\n backgroundImage,\n contentColor,\n borderColor,\n radius,\n borderSide,\n borderWidth = '1px',\n shadow,\n padding,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n paddingTop,\n paddingBottom,\n margin,\n marginX,\n marginY,\n marginLeft,\n marginRight,\n marginTop,\n marginBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n position,\n overflow,\n zIndex,\n top,\n bottom,\n left,\n right,\n refHandler,\n ...props\n}: ContainerProps &\n React.ComponentProps<typeof ContainerWrapper> &\n Omit<\n LensDivProps,\n keyof ContainerProps & React.ComponentProps<typeof ContainerWrapper>\n >) => {\n return (\n <ContainerWrapper\n backgroundColor={backgroundColor}\n backgroundImage={backgroundImage}\n contentColor={contentColor}\n borderColor={borderColor}\n radius={radius}\n borderSide={borderSide}\n shadow={shadow}\n padding={padding}\n paddingLeft={paddingX || paddingLeft}\n paddingRight={paddingX || paddingRight}\n paddingTop={paddingY || paddingTop}\n paddingBottom={paddingY || paddingBottom}\n margin={margin}\n marginLeft={marginX || marginLeft}\n marginRight={marginX || marginRight}\n marginTop={marginY || marginTop}\n marginBottom={marginY || marginBottom}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n as={htmlTag}\n position={position}\n top={top}\n bottom={bottom}\n left={left}\n right={right}\n overflow={overflow}\n zIndex={zIndex}\n borderWidth={borderWidth}\n ref={ref => refHandler && refHandler(ref)}\n {...props}\n >\n {children}\n </ContainerWrapper>\n );\n};\n\nexport const availableBorderSides = ['all', 'left', 'right', 'top', 'bottom'];\nexport const availableRadii = [\n 'none',\n '50',\n '100',\n '150',\n '175',\n '200',\n '250',\n '300',\n 'round',\n];\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n 'span',\n 'form',\n];\n\ninterface SharedProps {\n backgroundColor?: string;\n backgroundImage?: string;\n contentColor?: string;\n borderColor?: string;\n radius?:\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'full'\n | 'none'\n | '50'\n | '100'\n | '150'\n | '175'\n | '200'\n | '250'\n | '300'\n | 'round';\n borderSide?: 'all' | 'left' | 'right' | 'top' | 'bottom';\n shadow?: 'small' | 'medium' | 'large';\n padding?: ResponsiveType<string | number> | null;\n paddingX?: ResponsiveType<string | number> | null;\n paddingY?: ResponsiveType<string | number> | null;\n paddingLeft?: ResponsiveType<string | number> | null;\n paddingRight?: ResponsiveType<string | number> | null;\n paddingTop?: ResponsiveType<string | number> | null;\n paddingBottom?: ResponsiveType<string | number> | null;\n margin?: ResponsiveType<string | number> | null;\n marginX?: ResponsiveType<string | number> | null;\n marginY?: ResponsiveType<string | number> | null;\n marginLeft?: ResponsiveType<string | number> | null;\n marginRight?: ResponsiveType<string | number> | null;\n marginTop?: ResponsiveType<string | number> | null;\n marginBottom?: ResponsiveType<string | number> | null;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n position?: string;\n overflow?: string;\n top?: ResponsiveType<string | number> | null;\n bottom?: ResponsiveType<string | number> | null;\n left?: ResponsiveType<string | number> | null;\n right?: ResponsiveType<string | number> | null;\n zIndex?: number | string;\n borderWidth?: string | number;\n // NOTE: Covers the most common types since the user can change the `as` value using `htmlTag`\n refHandler?:\n | ((ref: HTMLElement) => void)\n | ((ref: HTMLDivElement) => void)\n | ((ref: HTMLSpanElement) => void);\n}\n\ninterface ContainerProps extends SharedProps {\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main'\n | 'span'\n | 'form'\n | 'table';\n}\n\ninterface ContainerWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Container;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { distributeDeprecatedWarning } from '../../console-messages';\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n arrayToBreakpoints,\n getAlignmentStyles,\n getResponsiveBoolean,\n getSizeValue,\n} from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n};\n\nlet alreadyWarned = false;\n\nconst propToArray = prop => {\n if (!Array.isArray(prop)) {\n return [prop];\n }\n\n return prop;\n};\n\nconst formatItems = (items, targetRulesetLength) => {\n if (items.length === targetRulesetLength) {\n return items;\n }\n\n const lastItem = items[items.length - 1];\n\n return [...Array(targetRulesetLength)].map((_, i) => items[i] || lastItem);\n};\n\nconst getDirectionAndGap = (direction, gap) => {\n const targetRulesetLength = Math.max(\n propToArray(direction).length,\n propToArray(gap).length\n );\n\n const gapsArray = formatItems(propToArray(gap), targetRulesetLength);\n const directionsArray = formatItems(\n propToArray(direction),\n targetRulesetLength\n );\n\n const childrenSelector = '& > * + *';\n const gapsRulesets = gapsArray.map((gapItem, index) => {\n const marginTop = `${getSizeValue(gapItem)} 0 0 0`;\n const marginRight = `0 0 0 ${getSizeValue(gapItem)}`;\n\n const marginValue =\n directionsArray[index] === 'column' ? marginTop : marginRight;\n\n return `${childrenSelector}{ margin: ${marginValue}; }`;\n });\n\n const directionsRulesets = directionsArray.map(\n directionItem => `flex-direction: ${directionItem}`\n );\n\n return (\n arrayToBreakpoints(gapsRulesets) + arrayToBreakpoints(directionsRulesets)\n );\n};\n\nconst DistributeWrapper = styled.div<DistributeWrapperProps>`\n display: flex;\n flex-wrap: wrap;\n ${props => getDirectionAndGap(props.flexDirection, props.gap)};\n ${props => getAlignmentStyles(props.flexAlign, alignments)};\n ${props =>\n props.isSpread &&\n getResponsiveBoolean(\n 'justify-content',\n ['space-between', 'initial'],\n props.isSpread\n )};\n\n & > * {\n flex-shrink: 0;\n }\n`;\n\nconst Distribute = ({\n children,\n gap,\n direction = 'row',\n alignment = 'start',\n isSpread,\n htmlTag = 'div',\n ...props\n}: DistributeProps &\n React.ComponentProps<typeof DistributeWrapper> &\n Omit<\n LensDivProps,\n keyof DistributeProps & React.ComponentProps<typeof DistributeWrapper>\n >) => {\n if (!alreadyWarned) {\n // eslint-disable-next-line no-console\n console.warn(distributeDeprecatedWarning);\n alreadyWarned = true;\n }\n\n return (\n <DistributeWrapper\n gap={gap}\n flexDirection={direction}\n flexAlign={alignment}\n isSpread={isSpread}\n as={htmlTag}\n {...props}\n >\n {children}\n </DistributeWrapper>\n );\n};\n\nexport const availableDirections = ['row', 'column'];\nexport const availableAlignments = Object.keys(alignments);\nexport const availableHtmlTags = [\n 'div',\n 'header',\n 'article',\n 'section',\n 'nav',\n 'aside',\n 'footer',\n 'main',\n];\n\ntype Alignment = 'start' | 'center' | 'end' | 'stretch';\ntype DistributeProps = {\n children: React.ReactNode;\n direction?: ResponsiveType<'row' | 'column'>;\n alignment?: Alignment | Alignment[];\n isSpread?: ResponsiveType<true | false>;\n htmlTag?:\n | 'div'\n | 'header'\n | 'article'\n | 'section'\n | 'nav'\n | 'aside'\n | 'footer'\n | 'main';\n gap?: string | number;\n};\n\ntype DistributeWrapperProps = {\n flexDirection?: ResponsiveType<'row' | 'column'>;\n flexAlign?: Alignment | Alignment[];\n isSpread?: boolean | boolean[];\n gap?: string | number;\n as?: string;\n};\n\nexport default Distribute;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport Arrange from '../arrange/arrange';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ninterface ErrorContainerProps {\n children: React.ReactNode;\n errorActive: boolean;\n errorMessage?: string;\n}\n\n// the border below is a stand-alone component to avoid messing with the layout of the children\n// the calculations in width, height, top, and left are to add padding between the border and the children\n// pointer-events: none is to allow the children to be clickable\n\nconst ErrorContainerBorder = styled.div`\n position: relative;\n ::before {\n content: '';\n width: calc(100% + var(--lns-space-medium));\n height: calc(100% + var(--lns-space-medium));\n position: absolute;\n top: calc(-1 * var(--lns-space-small));\n left: calc(-1 * var(--lns-space-small));\n outline: 1px solid var(--lns-color-danger);\n border-radius: var(--lns-radius-large);\n pointer-events: none;\n }\n`;\n\nconst ErrorContainer = ({\n children,\n errorActive,\n errorMessage = \"Oops, that didn't work. Try again.\",\n}: ErrorContainerProps) => {\n if (!errorActive) {\n return <>{children}</>;\n }\n\n return (\n <ErrorContainerBorder>\n <Arrange autoFlow=\"row\" gap=\"small\">\n {children}\n {errorMessage ? (\n <Arrange gap=\"xsmall\">\n <Icon icon={<SvgAlertTriangle />} size={2} color=\"danger\" />\n <Text size=\"body-sm\" color=\"danger\">\n {errorMessage}\n </Text>\n </Arrange>\n ) : null}\n </Arrange>\n </ErrorContainerBorder>\n );\n};\n\nexport default ErrorContainer;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport type {\n LensDivProps,\n ResponsiveGridSections,\n ResponsiveType,\n} from '../../types';\nimport { getResponsiveOneOf, getSize } from '../../utilities';\n\nimport { getResponsiveGridSections } from '../../utilities/responsive';\nimport { getListContainer } from '../../utilities/styles';\n\nconst ArrangeWrapper = styled.div<ArrangeWrapperProps>`\n display: grid;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props => getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.justifyItems &&\n getResponsiveOneOf('justify-items', props.justifyItems)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props =>\n !props.columns &&\n !props.rows &&\n !props.autoFlow &&\n 'grid-auto-flow: column'};\n ${props => getResponsiveGridSections(props.columns, 'columns')};\n ${props => getResponsiveGridSections(props.rows, 'rows')};\n ${props => getSize('gap', props.gap)};\n ${props => getSize('width', props.width)};\n ${props => getSize('height', props.height)};\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n\n ${props =>\n props.autoFlow && getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props =>\n props.columns &&\n props.autoFlow &&\n getResponsiveOneOf('grid-auto-flow', props.autoFlow)};\n ${props => getListContainer(props.as)};\n`;\n\nconst Arrange = ({\n children,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n gap,\n columns,\n rows,\n alignItems = 'center',\n justifyContent = 'start',\n justifyItems,\n alignContent,\n autoFlow,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: ArrangeProps &\n React.ComponentProps<typeof ArrangeWrapper> &\n Omit<\n LensDivProps,\n keyof ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>\n >) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <ArrangeWrapper\n alignItems={alignItems}\n as={htmlTag}\n justifyContent={justifyContent}\n justifyItems={justifyItems}\n alignContent={alignContent}\n gap={gap}\n columns={columns}\n rows={rows}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n autoFlow={autoFlow}\n {...props}\n >\n {children}\n </ArrangeWrapper>\n );\n};\n\ninterface SharedProps {\n children?: React.ReactNode;\n width?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minWidth?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n gap?: ResponsiveType<string | number> | null;\n alignItems?: ResponsiveType<\n 'start' | 'end' | 'center' | 'stretch' | 'baseline'\n >;\n justifyItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;\n alignContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n justifyContent?: ResponsiveType<\n | 'start'\n | 'end'\n | 'center'\n | 'stretch'\n | 'space-around'\n | 'space-between'\n | 'space-evenly'\n >;\n autoFlow?: ResponsiveType<'column' | 'row'>;\n columns?: ResponsiveGridSections;\n rows?: ResponsiveGridSections;\n}\n\ninterface ArrangeProps extends SharedProps {\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n}\n\ninterface ArrangeWrapperProps extends SharedProps {\n as?: string;\n}\n\nexport default Arrange;\n", "import WarningIcon from '@atlaskit/icon/core/warning';\nimport * as React from 'react';\n\nexport function SvgAlertTriangle() {\n return <WarningIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React, { Component } from 'react';\n\nimport { layoutDeprecatedWarning } from '../../console-messages';\nimport type { ResponsiveType } from '../../types';\nimport { getSize, getAlignmentStyles } from '../../utilities';\n\nconst alignments = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n};\n\nconst LayoutWrapper = styled.div<LayoutProps>`\n display: flex;\n ${props => getAlignmentStyles(props.alignment, alignments)};\n\n & > * + * {\n ${props => props.gap && getSize('margin-left', props.gap)};\n }\n`;\n\nconst LayoutSectionWrapper = styled.div<LayoutSectionProps>`\n min-width: 0px;\n flex-shrink: 0;\n ${props => getSize('width', props.width)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => (props.width ? `flex-shrink: 0` : `flex: 1 1 0%`)};\n`;\n\nexport const LayoutSection = ({\n width,\n maxWidth,\n children,\n ...props\n}: LayoutSectionProps & React.ComponentProps<typeof LayoutSectionWrapper>) => {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return (\n <LayoutSectionWrapper width={width} maxWidth={maxWidth} {...props}>\n {children}\n </LayoutSectionWrapper>\n );\n};\n\n// eslint-disable-next-line react-prefer-function-component/react-prefer-function-component\nclass Layout extends Component<LayoutProps> {\n static Section = LayoutSection;\n\n render() {\n // eslint-disable-next-line no-console\n console.warn(layoutDeprecatedWarning);\n\n return <LayoutWrapper {...this.props}>{this.props.children}</LayoutWrapper>;\n }\n}\n\ntype Alignments = 'start' | 'center' | 'end' | 'stretch';\ntype LayoutProps = {\n alignment?: Alignments | Alignments[];\n gap?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\ntype LayoutSectionProps = {\n width?: ResponsiveType<string | number>;\n maxWidth?: ResponsiveType<string | number>;\n children?: React.ReactNode;\n};\n\nexport default Layout;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n size: u(3),\n iconSize: 2.25,\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n size: u(4),\n iconSize: 3,\n radius: 'var(--lns-radius-150)',\n },\n large: {\n size: u(5),\n iconSize: 4,\n radius: 'var(--lns-radius-175)',\n },\n};\n\nexport const IconButtonBox = styled.button<IconButtonBoxProps>`\n background-color: ${props =>\n getColorValue(\n props.isActive ? 'backgroundActive' : props.backgroundColor\n ) || 'transparent'};\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: ${props => sizeStyles[props.size].size};\n height: ${props => sizeStyles[props.size].size};\n position: relative;\n outline: 1px solid transparent;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: ${props => sizeStyles[props.size].radius};\n font: inherit;\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: ${props => sizeStyles[props.size].radius};\n }\n\n &:focus-visible:before {\n ${getFocusRing()};\n }\n\n &:focus::-moz-focus-inner {\n border: 0;\n }\n`;\n\ntype AllProps = IconButtonProps &\n React.ComponentProps<typeof IconButtonBox> &\n Omit<\n LensButtonProps,\n keyof IconButtonProps & React.ComponentProps<typeof IconButtonBox>\n >;\n\nconst IconButton = React.forwardRef(\n (\n {\n altText,\n icon,\n onClick,\n iconColor = 'body',\n backgroundColor,\n isActive,\n isDisabled,\n size = 'medium',\n htmlTag = 'button',\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => (\n <IconButtonBox\n aria-label={altText}\n onClick={htmlTag === 'button' ? onClick : undefined}\n isActive={isActive}\n disabled={isDisabled}\n size={size}\n backgroundColor={backgroundColor}\n as={htmlTag}\n ref={ref}\n {...props}\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledContent' : iconColor}\n />\n </IconButtonBox>\n )\n);\n\nIconButton.displayName = 'IconButton';\n\ntype IconButtonProps = {\n altText: string;\n icon?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n iconColor?: string;\n backgroundColor?: string;\n isActive?: boolean;\n isDisabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n href?: string;\n target?: string;\n};\n\ntype IconButtonBoxProps = {\n size?: 'small' | 'medium' | 'large';\n isActive?: boolean;\n backgroundColor?: string;\n as?: 'button' | 'a';\n};\n\nexport default IconButton;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { getColorValue, getFocusRing, u } from '../../utilities';\n\nconst SvgCheckboxCheck = props => (\n <svg width={12} height={9} viewBox=\"0 0 12 9\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.707.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 011.414-1.414L4 6.586 10.293.293a1 1 0 011.414 0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SvgCheckboxMinus = props => (\n <svg width={12} height={2} viewBox=\"0 0 12 2\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 1a1 1 0 011-1h10a1 1 0 110 2H1a1 1 0 01-1-1z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst CheckboxWrapper = styled.div`\n display: block;\n position: relative;\n`;\n\nconst CheckboxInput = styled.input`\n height: 100%;\n margin: 0;\n opacity: 0;\n position: absolute;\n width: 100%;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .CheckboxBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .CheckboxBox,\n &:indeterminate ~ .CheckboxBox {\n background-color: ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .CheckboxBox {\n pointer-events: none;\n }\n\n &:disabled ~ .CheckboxBox {\n background-color: ${getColorValue('disabledBackground')};\n\n .Icon {\n color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .CheckboxBox {\n ${getFocusRing()};\n }\n\n & ~ .CheckboxBox .Icon {\n display: none;\n color: ${getColorValue('background')};\n }\n\n &:checked ~ .CheckboxBox .IconCheck {\n display: block;\n }\n\n &:indeterminate ~ .CheckboxBox .IconMinus {\n display: block;\n }\n`;\n\nconst CheckboxBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n border-radius: ${u(0.5)};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n`;\n\nconst Checkbox = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n isIndeterminate,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: CheckboxProps & React.ComponentProps<typeof CheckboxInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const defaultRef = useRef<HTMLInputElement>();\n const checkboxRef =\n (ref as React.MutableRefObject<HTMLInputElement>) || defaultRef;\n\n const iconColor = getColorValue(\n isDisabled ? 'disabledContent' : 'currentColor'\n );\n\n useEffect(() => {\n checkboxRef.current.indeterminate = isIndeterminate;\n });\n\n return (\n <CheckboxWrapper>\n <CheckboxInput\n type=\"checkbox\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={checkboxRef}\n aria-checked={isChecked}\n {...props}\n />\n <CheckboxBox className=\"CheckboxBox\">\n <SvgCheckboxMinus className=\"Icon IconMinus\" color={iconColor} />\n <SvgCheckboxCheck className=\"Icon IconCheck\" color={iconColor} />\n </CheckboxBox>\n </CheckboxWrapper>\n );\n }\n);\n\ntype CheckboxProps = {\n isChecked?: boolean;\n isIndeterminate?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Checkbox;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst sizeStyles = {\n small: {\n textSize: 'small',\n iconSize: 2.25,\n height: u(3),\n xSpace: u(1),\n radius: 'var(--lns-radius-100)',\n },\n medium: {\n textSize: 'medium',\n iconSize: 3,\n height: u(4),\n xSpace: u(1.5),\n radius: 'var(--lns-radius-150)',\n },\n large: {\n textSize: 'large',\n iconSize: 4,\n height: u(6),\n xSpace: u(3),\n radius: 'var(--lns-radius-200)',\n },\n};\n\nconst TextButtonWrapper = styled.button<TextButtonWrapperProps>`\n background-color: ${props =>\n props.isActive ? getColorValue('backgroundActive') : 'transparent'};\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n font: inherit;\n text-decoration: none;\n border: none;\n appearance: none;\n height: ${props => sizeStyles[props.size].height};\n cursor: pointer;\n transition: 0.6s background-color;\n color: ${props => getColorValue(props.color || 'body')};\n ${getFontWeight('bold')};\n border-radius: ${props => sizeStyles[props.size].radius};\n ${props => getTextSize(sizeStyles[props.size].textSize)};\n padding: 0 ${props => sizeStyles[props.size].xSpace};\n ${props =>\n props.offsetSide &&\n `margin-${props.offsetSide}: calc(-1 * ${sizeStyles[props.size].xSpace})`};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing()};\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:hover {\n transition: 0.3s background-color;\n background-color: ${props =>\n getColorValue(props.isActive ? 'backgroundActive' : 'backgroundHover')};\n }\n\n &:active {\n transition: 0s background-color;\n background-color: ${getColorValue('backgroundActive')};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n pointer-events: none;\n }\n`;\n\ntype AllProps = TextButtonProps &\n React.ComponentProps<typeof TextButtonWrapper> &\n Omit<\n LensButtonProps,\n keyof TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>\n >;\n\nconst TextButton = React.forwardRef(\n (\n {\n onClick,\n size = 'medium',\n children,\n icon,\n iconPosition = 'left',\n isActive,\n isDisabled,\n htmlTag,\n offsetSide,\n ...props\n }: AllProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const iconComponent = (\n <Container\n paddingLeft={iconPosition === 'right' && 'small'}\n paddingRight={iconPosition === 'left' && 'small'}\n htmlTag=\"span\"\n >\n <Icon\n icon={icon}\n size={sizeStyles[size].iconSize}\n color={isDisabled ? 'disabledColor' : undefined}\n />\n </Container>\n );\n\n return (\n <TextButtonWrapper\n onClick={onClick}\n size={size}\n icon={icon}\n iconPosition={iconPosition}\n disabled={isDisabled}\n isActive={isActive}\n as={htmlTag}\n offsetSide={offsetSide}\n ref={ref}\n {...props}\n >\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </TextButtonWrapper>\n );\n }\n);\n\nTextButton.displayName = 'TextButton';\n\ntype TextButtonProps = {\n onClick?: React.ReactEventHandler;\n isDisabled?: boolean;\n isActive?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n htmlTag?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n href?: string;\n target?: string;\n type?: string;\n};\n\ntype TextButtonWrapperProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n children: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n as?: 'button' | 'a';\n offsetSide?: 'left' | 'right';\n isActive?: boolean;\n};\n\nexport default TextButton;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n type HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport type { LensDivProps } from '../../types';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { unit } from '../../variables';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport SearchBar from '../search-bar/search-bar';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\n// Reserve padding for side-positioned menus to prevent them from touching viewport edges\nconst SIDE_MENU_PADDING_UNITS = 2;\n\nconst SelectWrapper = styled.div`\n position: relative;\n`;\n\nconst SelectHeaderWrapper = styled.button<SelectHeaderProps>`\n appearance: none;\n font: inherit;\n text-align: left;\n display: grid;\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n align-items: center;\n cursor: pointer;\n width: 100%;\n min-height: ${u(4.5)};\n padding: 0 ${u(1.5)} 0 var(--lns-formFieldHorizontalPadding);\n color: ${getColorValue('body')};\n border: none;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n &:hover:not(:disabled) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:focus:hover {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n cursor: default;\n }\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst Image = styled.img<Pick<SelectProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return selectPlaceholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n const toggleLabel = getToggleButtonProps?.()['aria-label'];\n return {\n 'aria-expanded': isOpen,\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, toggleLabel, valueLabel]\n .filter(Boolean)\n .join(', '),\n };\n};\n\nconst SelectHeader = ({\n getToggleButtonProps,\n inputValue,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n hasError,\n isOpen,\n}: SelectHeaderProps & React.ComponentProps<typeof SelectHeaderWrapper>) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n\n const hasPlaceholder = !selectedOptionValue && !selectedItem;\n const iconColumn = hasIcon ? 'auto' : '';\n const columns = `${iconColumn} 1fr auto`;\n const color = isDisabled ? 'disabledContent' : undefined;\n\n return (\n <SelectHeaderWrapper\n {...getToggleButtonProps()}\n {...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n })}\n hasValue={inputValue || selectedOptionValue}\n disabled={isDisabled}\n columns={columns}\n hasError={hasError}\n >\n {hasIcon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon\n icon={getIcon({ options, selectedItem, selectedOptionValue })}\n color={color}\n />\n ))}\n <Text hasEllipsis color={hasPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n selectPlaceholder,\n })}\n </Text>\n <Icon icon={<SvgChevronDown />} color={color} />\n </SelectHeaderWrapper>\n );\n};\n\nconst CustomHeader = ({\n selectedOptionValue,\n selectedItem,\n trigger,\n getToggleButtonProps,\n options,\n selectPlaceholder,\n isDisabled,\n getInputProps,\n ariaMenuName,\n hasError,\n errorMessage,\n isOpen,\n}) => {\n const buttonProps = () => {\n return {\n ...getToggleButtonProps(),\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n getToggleButtonProps,\n ariaMenuName,\n isOpen,\n }),\n };\n };\n const getSelectedItem = (): OptionsObject | undefined => {\n if (selectedItem) {\n return selectedItem;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue });\n }\n };\n\n const triggerContent = {\n ...getSelectedItem(),\n placeholder: selectPlaceholder,\n isDisabled,\n hasError,\n errorMessage,\n };\n\n return trigger(triggerContent, buttonProps());\n};\n\nconst getSelectedOption = (\n value: string,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | undefined => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value);\n }\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect = false\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n keyboardMove={keyboardMove && highlightedIndex === index}\n isSelected={isSelected}\n showDeselectIcon={allowsDeselect && isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst SelectMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n search,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect,\n ...menuProps\n}) => {\n if (!isGrouped(options)) {\n return (\n <Menu search={search} {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu search={search} {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text id={groupId} size=\"body-sm\" fontWeight=\"bold\">\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n allowsDeselect\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Select = ({\n container,\n onChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n triggerOffset = 0,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n trigger,\n hasError,\n errorMessage = \"Oops, that didn't work.\",\n search,\n allowsDeselect = false,\n ...props\n}: SelectProps &\n Omit<React.ComponentProps<typeof SelectWrapper>, keyof SelectProps> &\n Omit<\n LensDivProps,\n keyof SelectProps & React.ComponentProps<typeof SelectWrapper>\n >) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n // Call backend search callback if provided\n search?.onSearch?.(value);\n };\n\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options) ?? null\n );\n\n const onDownshiftChange = item => {\n // If allowsDeselect is enabled and user clicks the already-selected item, deselect it\n const isCurrentlySelected =\n (selectedItem && item && item.value === selectedItem.value) ||\n (!selectedItem && item && item.value === selectedOptionValue);\n\n if (allowsDeselect && isCurrentlySelected) {\n setSelectedItem(null);\n setDownshiftIsOpen(false);\n // Cast to any because type says OptionsObject, but we pass null when allowsDeselect=true\n onChange && onChange(null as any);\n } else {\n setSelectedItem(item ?? null);\n\n // Only call onChange if we have a valid item\n if (item) {\n onChange && onChange(item);\n } else if (allowsDeselect) {\n // Cast to any because type says OptionsObject, but we pass null when allowsDeselect=true\n onChange && onChange(null as any);\n }\n // If no item and allowsDeselect is false, don't call onChange\n }\n };\n\n // Sync Downshift's isOpen state back to our component state\n const onStateChange = changes => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onStateChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n // [0] Determine if the menu is side-positioned\n // For side-positioned menus (leftTop, rightTop), disable auto-repositioning\n // so the menu stays fixed to the side and an internal scroll is created instead so that the position\n // is actually considered \"locked\"\n const isSideMenu = menuPosition === 'leftTop' || menuPosition === 'rightTop';\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: !isSideMenu,\n snap: !isSideMenu,\n triggerOffset,\n });\n\n // [1] Calculate max height for side menus based on available space from trigger to viewport bottom\n // This ensures the menu aligns with the trigger top and fits within the viewport\n const effectiveMenuMaxHeight = useMemo(() => {\n if (isSideMenu && typeof window !== 'undefined' && triggerBounds) {\n // [2] Calculate available vertical space from trigger top to viewport bottom\n const viewportHeight = window.innerHeight;\n const availableHeight = viewportHeight - triggerBounds.top;\n // [3] Reserve some space for padding/margin to prevent touching viewport edges\n const paddingReserve = SIDE_MENU_PADDING_UNITS * unit;\n const calculatedMaxHeight = Math.floor(\n Math.max(0, availableHeight - paddingReserve) / unit\n );\n\n return menuMaxHeight\n ? Math.min(menuMaxHeight as number, calculatedMaxHeight)\n : calculatedMaxHeight;\n }\n return menuMaxHeight;\n }, [isSideMenu, menuMaxHeight, triggerBounds]);\n\n useEffect(() => {\n const expectedSelectedItem =\n getSelectedOption(selectedOptionValue, options) ?? null;\n\n // Only update if the expected item is different from current state\n if (expectedSelectedItem?.value !== selectedItem?.value) {\n setSelectedItem(expectedSelectedItem);\n }\n }, [selectedOptionValue, options, selectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n // Reset search value when dropdown closes\n if (!downshiftIsOpen) {\n setSearchValue('');\n // Call onSearch with empty string to reset backend results\n search?.onSearch?.('');\n }\n // Only depend on search?.onSearch to avoid re-running when search object reference changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [downshiftIsOpen, onOpenChange, search?.onSearch]);\n\n const stateReducer = (state, changes) => {\n // Handle deselection when clicking on already-selected item: We have to bypass the default behaviour of downshift of selecting the item again so that we can \"deselect\"\n if (\n allowsDeselect &&\n changes.type === Downshift.stateChangeTypes.clickItem &&\n changes.selectedItem\n ) {\n const isCurrentlySelected =\n (state.selectedItem &&\n changes.selectedItem.value === state.selectedItem.value) ||\n (!state.selectedItem &&\n changes.selectedItem.value === selectedOptionValue);\n\n if (isCurrentlySelected) {\n // Return null to deselect instead of selecting again and close the menu\n return { ...changes, selectedItem: null, isOpen: false };\n }\n }\n\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n return { isOpen: false };\n }\n\n return changes;\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n // If backend search is provided, skip client-side filtering and return options as-is\n // The parent component is responsible for updating the options based on search results\n if (search.onSearch) {\n return options;\n }\n\n // Client-side filtering\n // For each group, filter the items based on the search value and then remove the groups that have no items\n if (isGrouped(options)) {\n let filteredGroups;\n\n if (search.searchType === 'startsWith') {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n ),\n }));\n } else {\n filteredGroups = options.map(group => ({\n ...group,\n items: group.items.filter(item =>\n getTextFromNode(item.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ),\n }));\n }\n\n return filteredGroups.reduce((acc, group) => {\n if (group.items.length > 0) {\n acc.push(group);\n }\n return acc;\n }, []);\n // If the options are not grouped, filter the options based on the search value\n }\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n\n // If the search parameter is not provided, return the options as is\n }\n return options;\n // Only depend on search?.onSearch and search?.searchType to avoid re-computing when search object reference changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, searchValue, search?.onSearch, search?.searchType]);\n\n return (\n <SelectWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\" aria-expanded={undefined}>\n <div {...triggerProps}>\n {trigger ? (\n <CustomHeader\n getToggleButtonProps={() => ({\n ...getToggleButtonProps({ onKeyDown }),\n })}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n trigger={trigger}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n errorMessage={errorMessage}\n isOpen={isOpen}\n />\n ) : (\n <SelectHeader\n getToggleButtonProps={() => ({\n ...getToggleButtonProps({ onKeyDown }),\n })}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n selectPlaceholder={placeholder}\n options={options}\n inputValue={inputValue}\n isDisabled={isDisabled}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n hasError={hasError}\n isOpen={isOpen}\n />\n )}\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <SelectMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n position={menuPosition}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n maxWidth={menuMaxWidth}\n maxHeight={effectiveMenuMaxHeight}\n minWidth={menuMinWidth}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n keyboardMove={keyboardMove}\n setKeyboardMove={setKeyboardMove}\n allowsDeselect={allowsDeselect}\n />\n </div>\n )}\n {hasError && !downshiftIsOpen && (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n )}\n </div>\n );\n }}\n </Downshift>\n </SelectWrapper>\n );\n};\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n /**\n * Optional callback for backend search. When provided, client-side filtering is disabled\n * and this callback is called whenever the search input changes.\n * Use this to fetch search results from your backend API.\n */\n onSearch?: (searchValue: string) => void;\n};\n\ntype SelectProps = {\n /**\n * Callback when selection changes.\n * - When allowsDeselect is NOT set (default): selectedOption is always an OptionsObject\n * - When allowsDeselect=true: selectedOption can be null when user deselects\n *\n * Note: The type shows only OptionsObject for backwards compatibility, but at runtime\n * null is passed when allowsDeselect=true. If using allowsDeselect, check for null.\n */\n onChange?: (selectedOption: OptionsObject) => void;\n isDisabled?: boolean;\n placeholder?: React.ReactNode;\n selectedOptionValue?: string | null;\n menuZIndex?: number;\n menuMaxWidth?: string | number;\n menuMaxHeight?: string | number;\n menuMinWidth?: string | number;\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'rightTop'\n | 'leftTop';\n triggerOffset?: number;\n ariaMenuName?: string;\n options?: OptionsObject[] | GroupedOptionsObject[];\n container?: HTMLElement | (() => HTMLElement | null);\n onOuterClick?: () => void;\n onOpenChange?: (isOpen: boolean) => void;\n trigger?: (triggerContent, buttonProps) => void;\n hasError?: boolean;\n errorMessage?: string;\n search?: SearchProps;\n /**\n * When true, clicking the selected item will deselect it and pass null to onChange.\n * When false/undefined, clicking the selected item does nothing.\n */\n allowsDeselect?: boolean;\n};\n\ntype SelectHeaderProps = {\n getToggleButtonProps?: any;\n inputValue?: string;\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n selectPlaceholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n columns?: string;\n getInputProps?: any;\n ariaMenuName?: string;\n hasError?: boolean;\n isOpen?: boolean;\n};\n\nexport default Select;\n", "export const getDownshiftEnvironment = container => {\n const rootNode = container?.()?.getRootNode?.();\n\n if (String(rootNode) === '[object ShadowRoot]') {\n // Create a polyfill for Downshift to not throw errors when appended to a shadow DOM\n // See: https://github.com/downshift-js/downshift/issues/834\n rootNode.createElement = (...args) =>\n rootNode.ownerDocument.createElement(...args);\n\n const downshiftPolyfill = rootNode.createElement('div');\n\n downshiftPolyfill.id = 'a11y-status-message';\n downshiftPolyfill.style.display = 'none';\n\n rootNode.appendChild(downshiftPolyfill);\n\n // Necessary properties for Downshift to register clicks inside a shadow DOM.\n // See: https://github.com/downshift-js/downshift/issues/536\n return {\n document: rootNode,\n addEventListener: rootNode.addEventListener.bind(rootNode),\n removeEventListener: rootNode.removeEventListener.bind(rootNode),\n };\n }\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n return window;\n};\n", "import React from 'react';\n\nexport const getTextFromNode = (node: React.ReactNode) => {\n if (typeof node === 'string') {\n return node;\n }\n\n if (\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n typeof node === 'bigint'\n ) {\n return node.toString();\n }\n\n if (node === null || node === undefined) {\n return '';\n }\n\n if (isIterable(node)) {\n return Array.from(node).map(getTextFromNode).join('');\n }\n\n if (\n typeof node === 'object' &&\n 'props' in node &&\n node.props &&\n node.props.children !== undefined\n ) {\n return getTextFromNode(node.props.children);\n }\n\n return '';\n};\n\nconst isIterable = (\n node: React.ReactNode\n): node is Iterable<React.ReactNode> => {\n return typeof node[Symbol.iterator] === 'function';\n};\n", "import * as React from 'react';\n\nexport function SvgChevronDown() {\n return (\n <span aria-hidden={true} data-testid=\"ads-refreshed-icon\">\n <svg viewBox=\"-2 -2 16 16\">\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M2.03 3.97 6 7.94l3.97-3.97 1.06 1.06-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n );\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport {\n getColorValue,\n getRadius,\n getShadow,\n getSize,\n getOffsetFocusRing,\n u,\n} from '../../utilities';\n\nimport { SvgCheck } from '../icon/available-icons/check';\nimport { SvgClose } from '../icon/available-icons/close';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\nimport Text from '../text/text';\n\ntype MenuPositionsProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left-start'\n | 'right-start';\n};\n\nexport const menuPositions: MenuPositionsProps = {\n left: 'bottom-start',\n right: 'bottom-end',\n ['topLeft']: 'top-start',\n ['topRight']: 'top-end',\n leftSide: 'left-start',\n rightSide: 'right-start',\n rightTop: 'right-start',\n leftTop: 'left-start',\n};\n\nconst MenuContainer = styled.div<MenuProps>`\n background-color: ${getColorValue('overlay')};\n display: flex;\n flex-direction: column;\n margin: 0;\n ${props => getSize('min-width', props.minWidth)};\n ${props => getSize('max-width', props.maxWidth)};\n ${props => getSize('max-height', props.maxHeight)};\n z-index: ${props => props.zIndex};\n border: 1px solid ${getColorValue('border')};\n ${getShadow('medium')};\n ${getRadius('250')};\n overflow: hidden;\n`;\n\nconst SearchWrapper = styled.div`\n flex-shrink: 0;\n`;\n\nconst MenuWrapper = styled.ul<MenuProps>`\n padding: ${props =>\n props.search ? `0 ${u(1.5)} ${u(1.5)} ${u(1.5)}` : u(1.5)};\n list-style: none;\n overflow: auto;\n margin: 0;\n flex: 1 1 auto;\n min-height: 0;\n`;\n\nconst MenuItemWrapper = styled.li<MenuItemProps>`\n display: ${({ hidden }) => (hidden ? 'none' : 'grid')};\n grid-auto-flow: column;\n grid-template-columns: ${props => props.columns};\n ${getSize('grid-gap', 'small')};\n ${getRadius('175')};\n align-items: center;\n min-height: ${u(5)};\n padding: 0 ${u(2)};\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:focus-visible {\n outline: 1px solid transparent;\n ${getOffsetFocusRing()};\n }\n ${props =>\n props.isHighlighted &&\n !props.isDisabled &&\n `\n background-color: ${getColorValue('backgroundHover')};\n `};\n ${props =>\n props.keyboardMove &&\n props.isHighlighted &&\n !props.isDisabled &&\n `\n outline: 1px solid transparent;\n ${getOffsetFocusRing()};\n `};\n ${props =>\n props.hasDivider &&\n `\n position: relative;\n margin-top: ${u(3)};\n &:before {\n content: '';\n border-top: 1px solid ${getColorValue('border')};\n position: absolute;\n top: ${u(-1.5)};\n left: ${u(-1.5)};\n width: calc(100% + ${u(3)});\n }\n `};\n\n /* Default state: show checkmark for selected items */\n .check-icon {\n display: block;\n }\n\n .deselect-icon {\n display: none;\n }\n\n /* When highlighted (mouse hover OR keyboard navigation) and allowsDeselect: swap to X */\n ${props =>\n props.showDeselectIcon && props.isHighlighted\n ? `\n .check-icon {\n display: none;\n }\n .deselect-icon {\n display: block;\n }\n `\n : ''}\n`;\n\nconst Image = styled.img<Pick<MenuItemProps, 'isDisabled'>>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nexport const MenuItem = ({\n isDisabled,\n isHighlighted,\n isSelected,\n icon,\n hasDivider,\n children,\n menuItemRole,\n keyboardMove,\n showDeselectIcon = false,\n ...props\n}: MenuItemProps & React.ComponentProps<typeof MenuItemWrapper>) => {\n const checkColumn = isSelected ? 'auto' : '';\n const iconColumn = icon ? 'auto' : '';\n const columns = `${iconColumn} 1fr ${checkColumn}`;\n const color = isDisabled ? 'disabledContent' : undefined;\n const updatedProps = menuItemRole\n ? {\n ...props,\n role: menuItemRole,\n }\n : props;\n\n return (\n <MenuItemWrapper\n isHighlighted={isHighlighted}\n isDisabled={isDisabled}\n keyboardMove={keyboardMove}\n columns={columns}\n hasDivider={hasDivider}\n tabIndex={isDisabled ? -1 : 0}\n data-highlighted={isHighlighted || undefined}\n showDeselectIcon={showDeselectIcon}\n {...updatedProps}\n >\n {icon &&\n (typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <Image src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n ))}\n <Text color={color} hasEllipsis>\n {children}\n </Text>\n {isSelected && (\n <>\n <span className=\"check-icon\" aria-hidden=\"true\">\n <Icon icon={<SvgCheck />} color={color} />\n </span>\n <span className=\"deselect-icon\" aria-hidden=\"true\">\n <Icon icon={<SvgClose />} color={color} />\n </span>\n </>\n )}\n </MenuItemWrapper>\n );\n};\n\nconst Menu = ({\n position,\n zIndex,\n minWidth,\n maxWidth,\n maxHeight,\n children,\n role,\n downshiftMenuProps = () => null,\n search,\n ...props\n}: MenuProps & React.ComponentProps<typeof MenuContainer>) => {\n const updatedDownshiftMenuProps = role\n ? {\n ...downshiftMenuProps(),\n role,\n }\n : { ...downshiftMenuProps() };\n\n return (\n <MenuContainer\n minWidth={minWidth}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n zIndex={zIndex}\n position={position}\n {...updatedDownshiftMenuProps}\n {...props}\n >\n {search && <SearchWrapper>{search}</SearchWrapper>}\n <MenuWrapper search={search}>{children}</MenuWrapper>\n </MenuContainer>\n );\n};\n\ntype MenuProps = {\n isDisabled?: boolean;\n position?: string;\n zIndex?: number;\n minWidth?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n children?: React.ReactNode;\n downshiftMenuProps?: any;\n search?: React.ReactElement;\n role?: React.AriaRole;\n};\n\ntype MenuItemProps = {\n isDisabled?: boolean;\n isHighlighted?: boolean;\n keyboardMove?: boolean;\n isSelected?: boolean;\n icon?: React.ReactNode | string;\n hasDivider?: boolean;\n children?: React.ReactNode;\n columns?: string;\n hidden?: boolean;\n menuItemRole?: React.AriaRole;\n showDeselectIcon?: boolean;\n};\n\nexport default Menu;\n", "import CheckMarkIcon from '@atlaskit/icon/core/check-mark';\nimport * as React from 'react';\n\nexport function SvgCheck() {\n return <CheckMarkIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import CloseIcon from '@atlaskit/icon/core/close';\nimport * as React from 'react';\n\nexport function SvgClose() {\n return <CloseIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { SvgSearch } from '../icon/available-icons/search';\nimport TextInput from '../text-input/text-input';\nimport { u } from '../../utilities';\n\nconst SearchBarContainer = styled.div`\n padding: ${u(1.5)} ${u(1.5)} 0;\n margin-bottom: ${u(1.5)};\n position: sticky;\n top: 0;\n`;\n\nconst SearchBar = ({\n ariaLabel,\n placeholder,\n value,\n onChange,\n getInputProps,\n}: {\n ariaLabel: string;\n placeholder: string;\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n getInputProps?: any;\n}) => {\n const inputProps = getInputProps\n ? getInputProps({\n placeholder,\n value,\n type: 'text',\n })\n : { placeholder, value, type: 'text' as const };\n\n // We need to support calling both Downshift and our custom onChange handler for backend search\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n // Call Downshift's onChange if it exists (from getInputProps)\n if (inputProps.onChange) {\n inputProps.onChange(e);\n }\n // Always call our custom onChange\n onChange(e);\n };\n\n return (\n <SearchBarContainer>\n <TextInput\n aria-label={ariaLabel}\n icon={<SvgSearch />}\n {...inputProps}\n onChange={handleChange}\n />\n </SearchBarContainer>\n );\n};\n\nexport default SearchBar;\n", "import SearchIcon from '@atlaskit/icon/core/search';\nimport * as React from 'react';\n\nexport function SvgSearch() {\n return <SearchIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import styled from '@emotion/styled';\nimport React from 'react';\nimport { useTransition } from 'transition-hook';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport type { LensDivProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst duration = 300;\n\nconst BackdropWrapper = styled.div<BackdropProps>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: calc(100vh - calc(100vh - 100%));\n height: 100dvh;\n height: -webkit-fill-available;\n background: ${props => getColorValue(props.backgroundColor)};\n z-index: ${props => props.zIndex};\n overflow: hidden;\n`;\n\nconst ChildrenWrapper = styled.div`\n overflow: auto;\n height: 100%;\n`;\n\nconst Backdrop = React.forwardRef<\n HTMLDivElement,\n BackdropProps &\n React.ComponentProps<typeof BackdropWrapper> &\n Omit<\n LensDivProps,\n keyof BackdropProps & React.ComponentProps<typeof BackdropWrapper>\n >\n>(\n (\n {\n children,\n isOpen,\n zIndex = 1000,\n backgroundColor = 'backdropDark',\n ...props\n },\n ref\n ) => {\n const { stage, shouldMount } = useTransition(isOpen, duration);\n\n usePreventScroll('html', isOpen);\n\n return (\n <>\n {shouldMount && (\n <BackdropWrapper\n ref={ref}\n backgroundColor={backgroundColor}\n zIndex={zIndex}\n style={{\n transition: `opacity ${duration}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n }}\n {...props}\n >\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </BackdropWrapper>\n )}\n </>\n );\n }\n);\n\nBackdrop.displayName = 'Backdrop';\n\ntype BackdropProps = {\n isOpen?: boolean;\n children?: React.ReactNode;\n zIndex?: number;\n backgroundColor?: string;\n};\n\nexport default Backdrop;\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<level>, <boolean-condition>);\n *\n * `level` allows you to control whether the styles\n * are passed to html or body, whichever level makes more sense\n * for your application.\n **/\nfunction usePreventScroll(level: 'body' | 'html', enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n // Add styles if enabled\n const scrollBarWidth = window.innerWidth - html.clientWidth;\n const bodyPaddingRight =\n parseInt(\n window.getComputedStyle(body).getPropertyValue('padding-right'),\n /* Force radixValue to be base-10 system to avoid errors:\n * https://stackoverflow.com/questions/6611824/why-do-we-need-to-use-radix-parameter-when-calling-parseint\n */\n 10\n ) || 0;\n /**\n * [1] iOS and desktop Safari bug: Requires position to make `overflow: hidden`\n * prevent scrolling.\n * [2] Desktop Safari bug: Must override overflow in both directions\n * since `overflowY` won't prevent scroll if `overflowX` is applied.\n * [3] paddingRight takes into account scrollbars by running a check.\n **/\n\n switch (level) {\n case 'html': {\n html.style.position = 'relative'; /* [1] */\n html.style.overflow = 'hidden'; /* [2] */\n body.style.paddingRight = `${\n bodyPaddingRight + scrollBarWidth\n }px`; /* [3] */\n break;\n }\n case 'body': {\n body.style.setProperty('position', 'relative'); /* [1] */\n body.style.setProperty('overflow', 'hidden'); /* [2] */\n body.style.setProperty(\n 'padding-right',\n `${bodyPaddingRight + scrollBarWidth}px`\n ); /* [3] */\n break;\n }\n\n default:\n return;\n }\n }\n\n return () => {\n switch (level) {\n case 'html': {\n // TODO(LNS-221): Preserve previous style states rather than resetting to empty values for more robust utility\n html.style.position = ''; /* [1] */\n html.style.overflow = ''; /* [2] */\n body.style.paddingRight = ''; /* [3] */\n break;\n }\n case 'body': {\n body.style.removeProperty('position'); /* [1] */\n body.style.removeProperty('overflow'); /* [2] */\n body.style.removeProperty('padding-right'); /* [3] */\n break;\n }\n\n default:\n return;\n }\n };\n // TODO(LNS-215): Clear styles on return to make utility more extendable for other uses\n }, [safeDocument, enabled, level]);\n}\n\nexport default usePreventScroll;\n", "// TODO(LNS-183): Implement scroll-lock\nimport styled from '@emotion/styled';\nimport FocusTrap from 'focus-trap-react';\n\nimport React, { type PropsWithChildren, useEffect, useRef } from 'react';\n\nimport usePreventScroll from '../../hooks/use-prevent-scroll';\nimport type { LensDialogProps } from '../../types';\nimport {\n getColorValue,\n getPlacement,\n getRadius,\n getShadow,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\nimport Backdrop from '../backdrop/backdrop';\nimport Container from '../container/container';\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst DEFAULT_MODAL_CARD_HEIGHT = '70vh';\n\nconst ContentWrapper = styled.div<ContentWrapperProps>`\n display: grid;\n grid-template-rows: ${props => props.rows};\n position: relative;\n`;\n\nconst ModalCardWrapper = styled.dialog<ModalCardProps>`\n top: ${props =>\n getPlacement(getSizeValue(props.maxHeight), props.placement).top};\n background-color: ${getColorValue('overlay')};\n color: ${getColorValue('body')};\n bottom: ${props => getPlacement(props.maxHeight, props.placement).bottom};\n ${getShadow('large')};\n ${getRadius('xlarge')};\n // Unsets bottom-radius for bottom-aligned modals\n border-bottom-left-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n border-bottom-right-radius: ${props =>\n props.placement === 'bottom' ? 'initial' : undefined};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('max-width', props.maxWidth)};\n margin: 0 auto;\n position: ${props => getPlacement(props.maxHeight, props.placement).position};\n overflow: auto;\n width: 100%;\n // TODO: LNS-150: Bake dialog resets into native resets file\n border: 0;\n padding: 0;\n &::backdrop {\n background: var(--lns-color-overlay);\n }\n`;\n\nconst CloseIconSection = styled.div`\n position: absolute;\n top: ${u(1.5)};\n right: ${u(1.5)};\n z-index: 1;\n`;\n\nconst RightButtonsSection = styled.div`\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n`;\n\nconst TitleSection = styled.div<TitleSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: ${props => props.bottom};\n flex-shrink: 0;\n`;\n\nconst ButtonsSection = styled.div<ButtonsSectionProps>`\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-xlarge);\n padding-top: ${props =>\n props.hasDividers ? 'var(--lns-space-medium)' : props.top};\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ChildrenSection = styled.div<Omit<ChildrenSectionProps, 'title'>>`\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-top: ${props =>\n props.hasTitle && !props.noPadding\n ? 0\n : !props.hasTitle && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-bottom: ${props =>\n props.hasButtons && !props.noPadding\n ? 0\n : !props.hasButtons && !props.noPadding\n ? 'var(--lns-space-xlarge)'\n : 0};\n padding-left: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n padding-right: ${props => (props.noPadding ? 0 : 'var(--lns-space-xlarge)')};\n border-style: solid;\n border-color: ${getColorValue('border')};\n border-width: ${props => (props.hasDividers ? '1px 0' : '0')};\n`;\n\nconst ModalCardChildrenSection = styled.div<{ maxHeight: number | string }>`\n overflow: auto;\n\n ${props => getMaxHeight(props.maxHeight)};\n\n & > * {\n ${props => getMaxHeight(props.maxHeight)};\n }\n`;\n\nconst getMaxHeight = (maxHeight: number | string) => {\n if (typeof maxHeight === 'number') {\n return getSize('max-height', maxHeight);\n }\n\n return 'max-height: ' + maxHeight;\n};\n\nexport const ModalCard = ({\n children,\n onCloseClick,\n isOpen,\n maxWidth = 60,\n maxHeight = DEFAULT_MODAL_CARD_HEIGHT,\n placement = 'center',\n ariaLabel,\n ariaModal,\n ariaLabelledBy,\n ref,\n removeClose,\n initialFocus,\n closeOnEscape = true,\n ...props\n}: ModalCardProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n} & React.ComponentProps<typeof ModalCardWrapper> &\n Omit<\n LensDialogProps,\n keyof ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>\n >) => {\n const keyListener = e => {\n if (e.key === 'Escape' && closeOnEscape) {\n e.preventDefault();\n\n if (!removeClose) {\n onCloseClick(e);\n }\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePreventScroll('html', isOpen);\n\n return (\n <FocusTrap\n active={isOpen}\n focusTrapOptions={{\n clickOutsideDeactivates: false,\n allowOutsideClick: true,\n ...(initialFocus !== undefined ? { initialFocus } : {}),\n }}\n >\n {/* This dialog is interactable with the keyboard and need keyboard events -\n the keydown event is handled by the useEffect above.\n */}\n {/* eslint-disable-next-line styled-components-a11y/no-noninteractive-element-interactions, styled-components-a11y/click-events-have-key-events */}\n <ModalCardWrapper\n open={isOpen}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n placement={placement}\n onClick={e => e.stopPropagation()}\n ref={ref}\n aria-label={ariaLabel}\n aria-modal={ariaModal}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {!removeClose && onCloseClick && (\n <CloseIconSection>\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n size=\"small\"\n onClick={onCloseClick}\n />\n </CloseIconSection>\n )}\n <ModalCardChildrenSection\n // If we are hiding the close button, we have to make the child container tab-able to allow <FocusTrap/> to\n // render, since it fails if there is not at least one tab-able node.\n {...(removeClose ? { tabIndex: 0 } : { tabIndex: -1 })}\n maxHeight={maxHeight}\n >\n {children}\n </ModalCardChildrenSection>\n </ModalCardWrapper>\n </FocusTrap>\n );\n};\n\ntype AllProps = ModalProps & React.ComponentProps<typeof Backdrop>;\n\nconst Modal = React.forwardRef(\n (\n {\n children,\n id,\n isOpen,\n mainButton,\n secondaryButton,\n alternativeButton,\n title,\n noPadding,\n onCloseClick,\n onBackgroundClick,\n onKeyDown,\n hasDividers,\n maxHeight = '70vh',\n maxWidth = 60,\n placement = 'center',\n zIndex = 1000,\n ariaLabel,\n ariaModal = true,\n ariaLabelledBy,\n initialFocus,\n ...props\n }: AllProps & {\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n },\n ref: React.ForwardedRef<HTMLDialogElement>\n ) => {\n const backdropRef = useRef<HTMLDivElement>(null);\n const titleId = id ? `${id}-modal-title` : 'modal-title';\n const hasButtons =\n mainButton || secondaryButton || alternativeButton ? true : false;\n const closeClickHandler = e => {\n if (onBackgroundClick) {\n e.stopPropagation();\n onBackgroundClick(e);\n\n return;\n }\n\n onCloseClick(e);\n };\n\n // Hide all non-modal content from screen readers when modal is open\n useEffect(() => {\n if (!isOpen || !backdropRef.current) {\n return;\n }\n\n const container = backdropRef.current.parentElement;\n\n if (!container) {\n return;\n }\n\n // Hide all children of container except the modal backdrop\n const siblings = Array.from(container.children).filter(\n child => child !== backdropRef.current && child instanceof HTMLElement\n ) as HTMLElement[];\n\n siblings.forEach(sibling => {\n if (!sibling.hasAttribute('aria-hidden')) {\n sibling.setAttribute('aria-hidden', 'true');\n sibling.setAttribute('data-lens-modal-hidden', 'true');\n }\n });\n\n return () => {\n // Remove aria-hidden from all elements we marked\n const hiddenElements = document.querySelectorAll(\n '[data-lens-modal-hidden]'\n );\n hiddenElements.forEach(element => {\n element.removeAttribute('aria-hidden');\n element.removeAttribute('data-lens-modal-hidden');\n });\n };\n }, [isOpen]);\n\n return (\n <Backdrop ref={backdropRef} isOpen={isOpen} zIndex={zIndex} {...props}>\n <Container\n height=\"100%\"\n onClick={closeClickHandler}\n onKeyDown={onKeyDown}\n >\n <ModalCard\n ref={ref}\n id={id}\n isOpen={isOpen}\n maxHeight={maxHeight}\n maxWidth={maxWidth}\n placement={placement}\n onCloseClick={onCloseClick}\n ariaLabel={ariaLabel}\n ariaModal={ariaModal}\n ariaLabelledBy={ariaLabelledBy ?? titleId ?? undefined}\n initialFocus={initialFocus}\n >\n <ContentWrapper\n rows={`${title ? 'auto ' : ''} ${children ? '1fr ' : ''} ${\n hasButtons ? 'auto' : ''\n }`}\n >\n {title && (\n <TitleSection\n bottom={\n children\n ? 'var(--lns-space-medium)'\n : 'var(--lns-space-xlarge)'\n }\n >\n <Text htmlTag=\"h1\" variant=\"title\" id={titleId}>\n {title}\n </Text>\n </TitleSection>\n )}\n <ChildrenSection\n noPadding={noPadding}\n hasDividers={hasDividers}\n hasTitle={Boolean(title)}\n hasButtons={hasButtons}\n >\n {children && children}\n </ChildrenSection>\n\n {hasButtons && (\n <ButtonsSection\n top={children ? 'var(--lns-space-xlarge)' : 0}\n hasDividers={hasDividers}\n >\n {alternativeButton}\n <RightButtonsSection>\n {secondaryButton && (\n <Spacer right=\"small\" isInline>\n {secondaryButton}\n </Spacer>\n )}\n {mainButton}\n </RightButtonsSection>\n </ButtonsSection>\n )}\n </ContentWrapper>\n </ModalCard>\n </Container>\n </Backdrop>\n );\n }\n);\n\ntype ModalProps = PropsWithChildren<{\n isOpen?: boolean;\n mainButton?: React.ReactNode;\n secondaryButton?: React.ReactNode;\n alternativeButton?: React.ReactNode;\n title?: React.ReactNode;\n onCloseClick?: React.ReactEventHandler;\n onBackgroundClick?: React.ReactEventHandler;\n onKeyDown?: React.ReactEventHandler;\n hasDividers?: boolean;\n maxHeight?: number | string;\n maxWidth?: number | string;\n noPadding?: boolean;\n placement?: 'center' | 'bottom';\n zIndex?: number;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n initialFocus?:\n | HTMLElement\n | SVGElement\n | string\n | false\n | (() => HTMLElement | SVGElement | string | false | undefined);\n}>;\n\ntype ModalCardProps = PropsWithChildren<{\n id?: string;\n isOpen?: boolean;\n onKeyDown?: React.ReactEventHandler;\n onCloseClick?: React.ReactEventHandler;\n closeOnEscape?: boolean;\n placement?: string;\n maxHeight?: number | string;\n maxWidth?: number | string;\n ariaLabel?: string;\n ariaModal?: boolean;\n ariaLabelledBy?: string;\n removeClose?: boolean;\n}>;\n\ntype ChildrenSectionProps = {\n title?: React.ReactNode;\n hasButtons?: boolean;\n hasDividers?: boolean;\n hasTitle: boolean;\n noPadding?: boolean;\n};\n\ntype ButtonsSectionProps = {\n top?: string | number;\n hasDividers?: boolean;\n};\n\ntype TitleSectionProps = {\n bottom: number | string;\n};\n\ntype ContentWrapperProps = {\n rows: string;\n};\n\nexport default Modal;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensAnchorProps } from '../../types';\nimport { getColorValue, getFocusRing } from '../../utilities';\n\nconst variants = {\n neutral: {\n color: getColorValue('inherit'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n primary: {\n color: getColorValue('primary'),\n focusRing: getFocusRing(),\n underline: 'inactive',\n },\n subtle: {\n color: getColorValue('body'),\n focusRing: getFocusRing(),\n underline: 'hover',\n },\n};\n\nconst statusStyles = {\n enabled: css`\n cursor: pointer;\n `,\n disabled: css`\n pointer-events: none;\n color: ${getColorValue('disabledContent')};\n `,\n};\n\nconst buttonStyles = {\n isButton: css`\n background: none;\n border: none;\n font: inherit;\n `,\n};\n\nconst LinkWrapper = styled.a<LinkWrapperProps>`\n ${props => !props.disabled && `color: ${variants[props.variant].color}`};\n ${props => (props.disabled ? statusStyles.disabled : statusStyles.enabled)};\n ${props => props.as === 'button' && buttonStyles.isButton};\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'inactive' ? 'underline' : 'none'\n }`};\n border-radius: 0.28em;\n box-shadow: 0 0 0 1px transparent;\n text-underline-offset: 0.35em;\n transition: 0.3s box-shadow;\n ${props =>\n props.noWrap &&\n css`\n white-space: nowrap;\n `}\n &:hover {\n ${props =>\n `text-decoration: ${\n variants[props.variant].underline === 'hover' ? 'underline' : 'none'\n }`};\n }\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n &:focus-visible {\n ${getFocusRing()};\n }\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\n// This implementation can trigger false positives for accessibility rules\n// TODO: Improve button link semantics to avoid jsx-a11y/anchor-is-valid warnings\nconst Link = ({\n children,\n href,\n variant = 'primary',\n htmlTag = 'a',\n isDisabled,\n noWrap,\n ...props\n}: LinkProps &\n React.ComponentProps<typeof LinkWrapper> &\n Omit<\n LensAnchorProps,\n keyof LinkProps & React.ComponentProps<typeof LinkWrapper>\n >) => (\n <LinkWrapper\n href={href}\n variant={variant}\n as={htmlTag}\n disabled={isDisabled}\n noWrap={noWrap}\n {...props}\n >\n {children}\n </LinkWrapper>\n);\n\nexport const availableVariants = Object.keys(variants);\n\ntype LinkProps = {\n children?: React.ReactNode;\n href?: string;\n variant?: 'neutral' | 'primary' | 'subtle';\n htmlTag?: 'button' | 'a';\n isDisabled?: boolean;\n noWrap?: boolean;\n onClick?: React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n};\n\ntype LinkWrapperProps = {\n children?: React.ReactNode;\n href?: string;\n disabled?: boolean;\n noWrap?: boolean;\n variant?: 'neutral' | 'primary' | 'subtle';\n as?: string;\n target?: string;\n};\n\nexport default Link;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getColorValue, getRadius, getTextSize, u } from '../../utilities';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst sizesStyles = {\n small: {\n padding: `${u(1.5)} ${u(1.75)}`,\n textSize: 'small',\n },\n medium: {\n padding: `${u(1.5)} var(--lns-formFieldHorizontalPadding)`,\n textSize: 'medium',\n },\n};\n\nconst TextareaWrapper = styled.textarea<TextareaProps>`\n width: 100%;\n border: none;\n font-family: inherit;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding: ${props => sizesStyles[props.size].padding};\n ${getRadius('250')};\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n ${props =>\n props.error\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-formFieldBorder)'};\n ${props => getTextSize(sizesStyles[props.size].textSize)};\n resize: ${props => props.resize};\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.error ? 'var(--lns-color-danger)' : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid\n ${props => (props.error ? 'var(--lns-color-orangeLight)' : 'transparent')};\n box-shadow: ${props =>\n props.error\n ? 'var(--lns-formFieldBorderShadowError)'\n : 'var(--lns-formFieldBorderShadowFocus)'};\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst Textarea = React.forwardRef(\n (\n {\n onChange,\n value,\n rows = 4,\n isDisabled,\n placeholder,\n size = 'medium',\n resize = 'both',\n error = null,\n ...props\n }: TextareaProps & React.ComponentProps<typeof TextareaWrapper>,\n ref: React.ForwardedRef<HTMLTextAreaElement>\n ) => (\n <>\n <TextareaWrapper\n disabled={isDisabled}\n onChange={onChange}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n value={value}\n size={size}\n resize={resize}\n error={error}\n {...props}\n />\n {error ? (\n <>\n <Spacer bottom=\"xmsall\" />\n <Text color=\"danger\" fontWeight=\"regular\" size=\"body-md\">\n {error}\n </Text>\n </>\n ) : null}\n </>\n )\n);\n\ntype TextareaProps = {\n rows?: number;\n value?: string;\n placeholder?: string;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'small' | 'medium';\n resize?: 'none' | 'both' | 'horizontal' | 'vertical';\n error?: string;\n};\n\nexport default Textarea;\n", "import styled from '@emotion/styled';\nimport Downshift from 'downshift';\nimport React, {\n type HTMLAttributes,\n useEffect,\n useState,\n useMemo,\n forwardRef,\n useRef,\n useCallback,\n} from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport type { LensDivProps } from '../../types';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getColorValue, getSize, u } from '../../utilities';\nimport { SvgChevronDown } from '../icon/available-icons/chevron-down';\nimport Icon from '../icon/icon';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport Align from '../align/align';\nimport Container from '../container/container';\nimport Loader from '../loader/loader';\nimport Spacer from '../spacer/spacer';\nimport Text from '../text/text';\n\nconst TypeaheadWrapper = styled.div`\n position: relative;\n`;\n\nconst Group = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\nconst isGrouped = (\n options: OptionsObject[] | GroupedOptionsObject[]\n): options is GroupedOptionsObject[] =>\n Array.isArray(options) && options.length > 0 && 'group' in options[0];\n\nconst getSelectedOptionObject = ({ options, selectedOptionValue }) => {\n if (!options || !selectedOptionValue) {\n return { icon: null, title: null };\n }\n\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(\n item => item.value === selectedOptionValue\n );\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n const foundItem = options.find(item => item.value === selectedOptionValue);\n return foundItem || { icon: null, title: null };\n }\n\n return { icon: null, title: null };\n};\n\nconst getIcon = ({ options, selectedItem, selectedOptionValue }) => {\n if (selectedItem) {\n return selectedItem.icon;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).icon;\n }\n};\n\nconst getTitle = ({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n}) => {\n if (selectedItem) {\n return selectedItem.title;\n }\n\n if (selectedOptionValue) {\n return getSelectedOptionObject({ options, selectedOptionValue }).title;\n }\n\n return placeholder;\n};\n\nconst getHeaderAccessibilityProps = ({\n selectedItem,\n getInputProps,\n ariaMenuName,\n}) => {\n const valueLabel = selectedItem\n ? `selected value is ${selectedItem.title}`\n : 'no value selected';\n\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n // The existing aria-label includes whether or not the menu is open or closed, and we add the valueLabel to make a screen reader narrate what is selected\n 'aria-label': [ariaMenuName, valueLabel].filter(Boolean).join(', '),\n };\n};\n\nconst TypeaheadHeaderWrapper = styled.button`\n position: relative;\n width: 100%;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nconst TypeaheadInputField = styled.input<{\n hasIcon?: boolean;\n hasAddOn?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n}>`\n -webkit-appearance: none;\n font-family: inherit;\n width: 100%;\n height: var(--lns-formFieldHeight);\n border: none;\n color: inherit;\n background-color: ${getColorValue('formFieldBackground')};\n transition: 0.3s box-shadow;\n padding-top: 0;\n padding-bottom: 0;\n id: ${props => props.id};\n padding-left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n padding-right: ${props =>\n props.hasAddOn ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n border-radius: var(--lns-formFieldRadius);\n box-shadow: inset 0 0 0\n ${props =>\n props.hasError\n ? 'var(--lns-formFieldBorderWidthFocus) var(--lns-color-danger)'\n : 'var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)'};\n\n ${getSize('font-size', 'medium')};\n\n &:hover:not(:disabled):not(:focus) {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n ${props =>\n props.hasError\n ? 'var(--lns-color-danger)'\n : 'var(--lns-color-blurple)'};\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n\n &:disabled {\n color: ${getColorValue('disabledContent')};\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:disabled:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n }\n\n &::placeholder {\n color: ${getColorValue('bodyDimmed')};\n }\n`;\n\nconst IconSection = styled.div`\n position: absolute;\n pointer-events: none;\n width: ${u(6)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n left: 0;\n`;\n\nconst AddOnSection = styled.div`\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n right: 0;\n width: ${u(6)};\n top: 50%;\n transform: translateY(-50%);\n`;\n\nconst TextOverlay = styled.div<{ hasIcon?: boolean }>`\n position: absolute;\n top: 0;\n left: ${props =>\n props.hasIcon ? u(5.5) : 'var(--lns-formFieldHorizontalPadding)'};\n right: ${u(5.5)};\n bottom: 0;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: inherit;\n`;\n\n// Scale down proportionally (preserving aspect ratio) and crop overflow\nconst TypeaheadImage = styled.img<{ isDisabled?: boolean }>`\n height: 100%;\n width: auto;\n min-width: 100%;\n min-height: 100%;\n object-fit: cover;\n opacity: ${({ isDisabled }) => (isDisabled ? 0.5 : 1)};\n`;\n\nconst TypeaheadHeader = ({\n selectedItem,\n selectedOptionValue,\n placeholder,\n isDisabled,\n options,\n getInputProps,\n ariaMenuName,\n isOpen,\n onInputFocus,\n hasError,\n hasLoader,\n inputValue,\n handleInputValueChange,\n inputRef,\n id,\n onKeyDown,\n}: TypeaheadHeaderProps) => {\n const icon = getIcon({ options, selectedItem, selectedOptionValue });\n const hasIcon = Boolean(icon);\n const color = isDisabled ? 'disabledContent' : undefined;\n\n const handleClickAndFocus = () => {\n if (!isDisabled) {\n onInputFocus();\n }\n };\n\n const baseInputProps = getInputProps({\n id,\n 'aria-labelledby': undefined,\n disabled: isDisabled,\n onFocus: handleClickAndFocus,\n onClick: handleClickAndFocus,\n value: inputValue,\n onBlur: () => {\n handleInputValueChange('');\n },\n onChange: e => handleInputValueChange(e.target.value),\n });\n\n const inputProps = {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isOpen,\n ...getHeaderAccessibilityProps({\n selectedItem,\n getInputProps,\n ariaMenuName,\n }),\n ...baseInputProps,\n onKeyDown: (e: React.KeyboardEvent) => {\n onKeyDown?.(e);\n baseInputProps.onKeyDown?.(e);\n },\n };\n\n const showPlaceholder = !inputValue && !selectedOptionValue;\n\n return (\n <TypeaheadHeaderWrapper onClick={handleClickAndFocus} disabled={isDisabled}>\n {hasIcon && (\n <IconSection>\n {typeof icon === 'string' ? (\n <Container radius=\"50\" width={3} height={3} overflow=\"hidden\">\n <Align alignment=\"center\">\n <TypeaheadImage src={icon} alt=\"\" isDisabled={isDisabled} />\n </Align>\n </Container>\n ) : (\n <Icon icon={icon} color={color} />\n )}\n </IconSection>\n )}\n\n <TypeaheadInputField\n ref={inputRef}\n {...inputProps}\n hasIcon={hasIcon}\n hasAddOn={true}\n hasError={hasError}\n isDisabled={isDisabled}\n />\n\n {!inputValue && (\n <TextOverlay hasIcon={hasIcon}>\n <Text hasEllipsis color={showPlaceholder ? 'bodyDimmed' : 'inherit'}>\n {getTitle({\n options,\n selectedItem,\n selectedOptionValue,\n placeholder,\n })}\n </Text>\n </TextOverlay>\n )}\n\n <AddOnSection>\n {hasLoader ? (\n <Loader size=\"small\" />\n ) : (\n <Icon icon={<SvgChevronDown />} color={color} />\n )}\n </AddOnSection>\n </TypeaheadHeaderWrapper>\n );\n};\n\nconst getSelectedOption = (\n value: string | null,\n options: OptionsObject[] | GroupedOptionsObject[]\n): OptionsObject | null => {\n if (isGrouped(options)) {\n for (const option of options) {\n const foundItem = option.items.find(item => item.value === value);\n if (foundItem) {\n return foundItem;\n }\n }\n } else {\n return options.find(item => item.value === value) ?? null;\n }\n\n return null;\n};\n\nconst didSelectedOptionValueChange = (\n selectedOptionValue: string | null,\n prevSelectedItem: OptionsObject | null\n) => {\n const didChange = (selectedOptionValue || null) != prevSelectedItem?.value;\n\n return didChange;\n};\n\nconst renderOption = (\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n) => {\n const isSelected =\n (!selectedItem && item.value === selectedOptionValue) ||\n (selectedItem && selectedItem.value === item.value);\n return (\n <MenuItem\n key={index}\n getItemProps={getItemProps}\n icon={item.icon}\n hidden={item.hidden}\n {...getItemProps({\n key: `${item.value}-${index}`,\n index,\n item,\n disabled: item.isDisabled,\n 'aria-selected': isSelected,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n isDisabled={item.isDisabled}\n hasDivider={item.hasDivider}\n isHighlighted={highlightedIndex === index}\n keyboardMove={keyboardMove && highlightedIndex === index}\n isSelected={isSelected}\n >\n {item.title}\n </MenuItem>\n );\n};\n\nconst TypeaheadMenu = ({\n options,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n hasAvailableOptions,\n ...menuProps\n}) => {\n const defaultLoadingMessage = loadingMessage || <Loader />;\n const defaultEmptyResultsMessage = emptyResultsMessage || 'No results';\n\n if (isLoading) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultLoadingMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!hasAvailableOptions) {\n return (\n <Menu as=\"div\" {...menuProps}>\n <Container padding=\"large\">\n <Align alignment=\"center\">{defaultEmptyResultsMessage}</Align>\n </Container>\n </Menu>\n );\n }\n\n if (!isGrouped(options)) {\n return (\n <Menu {...menuProps}>\n {options.map((item, index) =>\n renderOption(\n item,\n index,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n )\n )}\n </Menu>\n );\n }\n\n let downshiftIndex = 0;\n return (\n <Menu {...menuProps}>\n {options.map(group => {\n const groupId = `group-${group.group.replace(/\\s+/g, '-')}`;\n return (\n <li key={groupId}>\n <Spacer left=\"medium\" top=\"small\" bottom=\"xsmall\">\n <Text\n id={groupId}\n size=\"body-sm\"\n fontWeight=\"bold\"\n htmlTag={group.headingTag || 'h2'}\n >\n {group.group}\n </Text>\n </Spacer>\n <Group role=\"group\" aria-labelledby={groupId}>\n {group.items.map(item => {\n return renderOption(\n item,\n downshiftIndex++,\n selectedItem,\n selectedOptionValue,\n highlightedIndex,\n getItemProps,\n keyboardMove,\n setKeyboardMove\n );\n })}\n </Group>\n </li>\n );\n })}\n </Menu>\n );\n};\n\nconst Typeahead = forwardRef(\n (\n {\n container,\n onOptionChange,\n onInputValueChange,\n menuZIndex = 1100,\n menuMaxWidth,\n menuMaxHeight = 34,\n menuMinWidth,\n ariaMenuName,\n selectedOptionValue,\n onOuterClick,\n options,\n placeholder,\n menuPosition = 'left',\n isDisabled,\n onOpenChange,\n isLoading,\n loadingMessage,\n emptyResultsMessage,\n errorMessage,\n id,\n ...props\n }: TypeaheadProps &\n Omit<\n React.ComponentProps<typeof TypeaheadWrapper>,\n keyof TypeaheadProps\n > &\n Omit<\n LensDivProps,\n keyof TypeaheadProps & React.ComponentProps<typeof TypeaheadWrapper>\n >,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const environment = getDownshiftEnvironment(container);\n const internalInputRef = useRef<HTMLInputElement>(null);\n\n const inputRef = useCallback(\n (node: HTMLInputElement) => {\n internalInputRef.current = node;\n if (ref) {\n typeof ref === 'function' ? ref(node) : (ref.current = node);\n }\n },\n [ref]\n );\n\n const [inputValue, setInputValue] = useState<string>('');\n const [downshiftIsOpen, setDownshiftIsOpen] = useState<boolean>(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n const [prevSelectedItem, setPrevSelectedItem] =\n useState<OptionsObject | null>(\n getSelectedOption(selectedOptionValue, options)\n );\n const [selectedItem, setSelectedItem] = useState<OptionsObject | null>(\n prevSelectedItem\n );\n\n const handleInputValueChange = (value: string) => {\n setInputValue(value);\n onInputValueChange && onInputValueChange(value);\n };\n\n const onDownshiftChange = item => {\n const value = item || null;\n\n setSelectedItem(value);\n onOptionChange && onOptionChange(value);\n };\n\n const downshiftProps = {\n itemToString: item => (item ? item.value : ''),\n onChange: onDownshiftChange,\n onOuterClick,\n environment,\n selectedItem,\n isOpen: downshiftIsOpen,\n };\n\n if (environment) {\n downshiftProps.environment = environment;\n }\n\n const { layerProps, triggerProps, renderLayer, triggerBounds } = useLayer({\n isOpen: downshiftIsOpen,\n container,\n ResizeObserver,\n placement: menuPositions[menuPosition],\n auto: true,\n snap: true,\n });\n\n useEffect(() => {\n if (didSelectedOptionValueChange(selectedOptionValue, prevSelectedItem)) {\n const item = getSelectedOption(selectedOptionValue, options);\n\n setPrevSelectedItem(item);\n setSelectedItem(item);\n // Reset the input value when the selected option value changes\n setInputValue('');\n }\n }, [selectedOptionValue, options, prevSelectedItem]);\n\n useEffect(() => {\n onOpenChange && onOpenChange(downshiftIsOpen);\n if (!downshiftIsOpen) {\n internalInputRef.current?.blur();\n }\n }, [downshiftIsOpen, onOpenChange]);\n\n const hasAvailableOptions = useMemo(() => {\n if (!Array.isArray(options)) {\n return false;\n }\n\n return isGrouped(options)\n ? options.some(group => group.items.length > 0)\n : options.length > 0;\n }, [options]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n if (changes.type === Downshift.stateChangeTypes.keyDownEscape) {\n setDownshiftIsOpen(false);\n\n return { isOpen: false };\n }\n\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n return (\n <TypeaheadWrapper {...props}>\n <Downshift {...downshiftProps} stateReducer={stateReducer}>\n {({\n getItemProps,\n getInputProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => {\n return (\n // Don't set the role to combobox to ensure a consistent experience for screen readers\n <div role=\"presentation\">\n <div {...triggerProps}>\n <TypeaheadHeader\n inputRef={inputRef}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n options={options}\n getInputProps={getInputProps}\n ariaMenuName={ariaMenuName}\n inputValue={inputValue}\n handleInputValueChange={handleInputValueChange}\n isOpen={downshiftIsOpen && isOpen}\n onInputFocus={() => {\n setDownshiftIsOpen(true);\n }}\n hasLoader={isLoading}\n hasError={Boolean(errorMessage)}\n id={id}\n onKeyDown={onKeyDown}\n />\n </div>\n {downshiftIsOpen &&\n isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{\n ...layerProps.style,\n zIndex: menuZIndex,\n width: menuMinWidth ? 'auto' : triggerBounds?.width,\n }}\n >\n <TypeaheadMenu\n options={options}\n selectedItem={selectedItem}\n selectedOptionValue={selectedOptionValue}\n hasAvailableOptions={hasAvailableOptions}\n highlightedIndex={highlightedIndex}\n getItemProps={getItemProps}\n keyboardMove={keyboardMove}\n setKeyboardMove={setKeyboardMove}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n emptyResultsMessage={emptyResultsMessage}\n position={menuPosition}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n minWidth={menuMinWidth}\n />\n </div>\n )}\n {Boolean(errorMessage) && !downshiftIsOpen ? (\n <ErrorMessage>{errorMessage}</ErrorMessage>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n </TypeaheadWrapper>\n );\n }\n);\n\nTypeahead.displayName = 'Typeahead';\n\nexport type OptionsObject = {\n value: string;\n title: React.ReactNode;\n icon?: React.ReactNode | string;\n isDisabled?: boolean;\n hasDivider?: boolean;\n hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];\n};\n\nexport type GroupedOptionsObject = {\n group: string;\n items: OptionsObject[];\n headingTag?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span';\n};\n\ntype TypeaheadProps = {\n menuZIndex?: number;\n menuMaxHeight?: string | number;\n menuPosition?: 'left' | 'right' | 'topRight' | 'topLeft';\n\n options: OptionsObject[] | GroupedOptionsObject[];\n selectedOptionValue: string | null;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n isLoading?: boolean;\n loadingMessage?: React.ReactNode;\n emptyResultsMessage?: React.ReactNode;\n errorMessage?: string;\n\n container?: HTMLElement;\n ariaMenuName?: string;\n menuMaxWidth?: string | number;\n menuMinWidth?: string | number;\n\n onInputValueChange?: (inputValue: string) => void;\n onOptionChange?: (selectedOption: OptionsObject | null) => void;\n onOpenChange?: (isOpen: boolean) => void;\n onOuterClick?: () => void;\n};\n\ntype TypeaheadHeaderProps = {\n selectedItem?: { icon: React.ReactNode; title: string };\n selectedOptionValue?: string;\n placeholder?: React.ReactNode;\n isDisabled?: boolean;\n options?: OptionsObject[] | GroupedOptionsObject[];\n getInputProps?: any;\n ariaMenuName?: string;\n isOpen: boolean;\n onInputFocus: () => void;\n hasError?: boolean;\n hasLoader?: boolean;\n inputValue?: string;\n handleInputValueChange?: (inputValue: string) => void;\n inputRef?: React.RefCallback<HTMLInputElement>;\n id?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n};\n\nexport default Typeahead;\n", "import styled from '@emotion/styled';\nimport Downshift, { type ChildrenFunction } from 'downshift';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { useLayer } from 'react-laag';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { getDownshiftEnvironment } from '../../utilities/downshift';\nimport { getTextFromNode } from '../../utilities/text';\n\nimport Menu, { MenuItem, menuPositions } from '../menu/menu';\nimport SearchBar from '../search-bar/search-bar';\n\ntype GetInputProps = Parameters<\n ChildrenFunction<Downshift>\n>[0]['getInputProps'];\n\ninterface GetAccessibilityProps {\n ariaMenuName: string | undefined;\n getInputProps: GetInputProps;\n isOpen: boolean;\n}\n\nconst getAccessibilityProps = ({\n ariaMenuName,\n getInputProps,\n isOpen,\n}: GetAccessibilityProps): {\n 'aria-activedescendant': string;\n 'aria-expanded': boolean;\n 'aria-label': string;\n} => {\n return {\n // Ensures all options within the list of selections can be narrated by a screen reader\n 'aria-activedescendant': getInputProps()['aria-activedescendant'],\n\n 'aria-expanded': isOpen,\n\n // Provides a screen-readable label for the dropdown\n 'aria-label': ariaMenuName ? ariaMenuName : '',\n };\n};\n\nconst TriggerSection = styled.div`\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst Dropdown = ({\n ariaMenuName,\n menuPosition = 'left',\n menuZIndex = 1100,\n options,\n trigger,\n triggerCallback,\n isOpen: isOpenFromProps,\n menuMinWidth = 24,\n menuMaxWidth = 48,\n menuMaxHeight,\n container,\n onOuterClick,\n triggerOffset = 0,\n onOpenChange,\n search,\n role,\n menuItemRole,\n ...props\n}: DropdownProps) => {\n const environment = getDownshiftEnvironment(container);\n\n const [downshiftIsOpen, setDownshiftIsOpen] = useState(false);\n const [keyboardMove, setKeyboardMove] = useState(false);\n\n const [searchValue, setSearchValue] = useState('');\n\n const onSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n case 'Tab':\n case 'Escape':\n setKeyboardMove(true);\n break;\n default:\n break;\n }\n };\n\n const isOpen = isOpenFromProps || downshiftIsOpen;\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n container,\n placement: menuPositions[menuPosition],\n ResizeObserver,\n auto: true,\n snap: true,\n triggerOffset,\n });\n\n useEffect(() => {\n onOpenChange && onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n const stateReducer = (state, changes) => {\n if (changes.isOpen !== undefined) {\n setDownshiftIsOpen(changes.isOpen);\n }\n\n return changes;\n };\n\n // Filtering in Atlassian is based on if the searched value is a substring of the provided values at\n // any point of the string.\n // For example is the searched value is \"a\" and the provided values are \"a\", \"ab\", \"b\", and \"ba\", the\n // returned values will be \"a\", \"ab\", and \"ba\".\n options = useMemo(() => {\n if (search) {\n if (search.searchType === 'startsWith') {\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .startsWith(searchValue.toLowerCase())\n );\n }\n\n return options.filter(option =>\n getTextFromNode(option.title)\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n );\n // If the search parameter is not provided, return the options as is\n }\n return options;\n }, [options, searchValue, search]);\n\n return (\n <Downshift\n stateReducer={stateReducer}\n itemToString={item => (item ? item.title : '')}\n onSelect={item =>\n item && !item.disabled && item.onClick && item.onClick()\n }\n onOuterClick={onOuterClick}\n environment={environment}\n >\n {({\n getInputProps,\n getItemProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n isOpen,\n }) => (\n <div\n {...props}\n {...(triggerCallback\n ? {\n // the Downshift component appears to set the following props,\n // which we do not want applied to this element\n role: null,\n 'aria-haspopup': null,\n 'aria-expanded': null,\n 'aria-labelledby': null,\n }\n : {})}\n >\n <div {...triggerProps}>\n {triggerCallback ? (\n triggerCallback({\n ...getToggleButtonProps({ onKeyDown }),\n ...getAccessibilityProps({\n ariaMenuName,\n getInputProps,\n isOpen,\n }),\n })\n ) : (\n <TriggerSection\n {...getToggleButtonProps({ onKeyDown, tabIndex: 0 })}\n >\n {trigger}\n </TriggerSection>\n )}\n </div>\n {isOpen &&\n renderLayer(\n <div\n {...layerProps}\n style={{ ...layerProps.style, zIndex: menuZIndex }}\n >\n <Menu\n position={menuPosition}\n minWidth={menuMinWidth}\n maxWidth={menuMaxWidth}\n maxHeight={menuMaxHeight}\n downshiftMenuProps={() => getMenuProps({ onKeyDown })}\n role={role}\n search={\n search && (\n <SearchBar\n ariaLabel={search.searchPlaceholder}\n placeholder={search.searchPlaceholder}\n value={searchValue}\n onChange={onSearchChange}\n getInputProps={getInputProps}\n />\n )\n }\n >\n {options.map((item, index) => {\n return (\n <MenuItem\n key={index}\n isHighlighted={highlightedIndex === index}\n keyboardMove={\n keyboardMove && highlightedIndex === index\n }\n isDisabled={item.disabled}\n isSelected={item.selected}\n icon={item.icon}\n hasDivider={item.hasDivider}\n getItemProps={getItemProps}\n menuItemRole={menuItemRole}\n index={index}\n {...getItemProps({\n key: index,\n index,\n item,\n disabled: item.disabled,\n onMouseMove: () => {\n if (keyboardMove) {\n setKeyboardMove(false);\n }\n },\n })}\n >\n {item.title}\n </MenuItem>\n );\n })}\n </Menu>\n </div>\n )}\n </div>\n )}\n </Downshift>\n );\n};\n\ntype OptionsObject = {\n key?: string;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n disabled?: boolean;\n selected?: boolean;\n hasDivider?: boolean;\n};\n\ntype SearchProps = {\n searchPlaceholder: string;\n searchType?: 'contains' | 'startsWith';\n};\n\ntype TriggerProps =\n | {\n /** @deprecated Use triggerCallback and possibly with ariaMenuName for better accessibility support */\n trigger: React.ReactNode;\n triggerCallback?: never;\n }\n | {\n trigger?: never;\n triggerCallback: (buttonProps) => React.ReactNode;\n };\n\ntype DropdownProps = TriggerProps & {\n ariaMenuName?: string;\n // TODO: Update the menuPositions to match Tooltip placement Props\n menuPosition?:\n | 'left'\n | 'right'\n | 'topRight'\n | 'topLeft'\n | 'leftSide'\n | 'rightSide';\n options?: OptionsObject[];\n isOpen?: boolean;\n menuZIndex?: number;\n menuMinWidth?: number | string;\n menuMaxWidth?: number | string;\n menuMaxHeight?: number | string;\n container?: HTMLElement | (() => HTMLElement) | string;\n onOuterClick?: () => void;\n triggerOffset?: number;\n onOpenChange?: (isOpen: boolean) => void;\n search?: SearchProps;\n role?: React.AriaRole;\n menuItemRole?: React.AriaRole;\n};\n\nexport default Dropdown;\n", "import styled from '@emotion/styled';\nimport React, { type ReactNode, isValidElement } from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport Checkbox from '../checkbox/checkbox';\nimport Radio from '../radio/radio';\nimport Switch from '../switch/switch';\n\nconst directionStyles = {\n row: {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n alignItems: 'center',\n },\n label: { marginLeft: 'var(--lns-space-small)' },\n errorMessage: { marginLeft: 'var(--lns-space-small)' },\n },\n 'row-reverse': {\n wrapper: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n alignItems: 'center',\n },\n label: {},\n },\n column: {\n wrapper: {},\n label: { marginBottom: 'var(--lns-space-xsmall)' },\n },\n};\n\nconst FormFieldWrapper = styled.div<FormFieldProps>`\n ${props => props.direction && directionStyles[props.direction].wrapper};\n`;\n\nconst Label = styled.label<FormFieldProps>`\n display: block;\n ${props => props.direction && directionStyles[props.direction]?.label};\n ${props => props.isLabelClickable && 'cursor: pointer'};\n`;\n\nconst ErrorMessage = styled.span`\n color: var(--lns-color-red);\n margin-top: var(--lns-space-xsmall);\n display: block;\n width: 100%;\n grid-column-start: 1;\n grid-column-end: 3;\n`;\n\ntype InteractiveComponentType =\n | React.ComponentType<any>\n | React.ForwardRefExoticComponent<any>;\n\n// Include any Lens Components that should have a clickable label here\nconst interactiveComponents: InteractiveComponentType[] = [\n Radio,\n Checkbox,\n Switch,\n];\n\nconst isInteractiveComponent = (\n component: any\n): component is InteractiveComponentType => {\n return interactiveComponents.includes(component);\n};\n\nconst FormField = ({\n label,\n children,\n errorMessage,\n labelFor,\n direction = 'column',\n ...props\n}: FormFieldProps &\n React.ComponentProps<typeof FormFieldWrapper> &\n Omit<\n LensDivProps,\n keyof FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>\n >) => {\n // Checks if child component is interactive\n const isLabelClickable = React.Children.toArray(children).some(\n child =>\n isValidElement(child) &&\n // The child might be a div, span, etc (type string) so we\n // have to typeguard before we check if our child is of interactive\n typeof child.type !== 'string' &&\n isInteractiveComponent(child.type)\n );\n\n const labelElement = label && (\n <Label\n direction={direction}\n htmlFor={labelFor}\n isLabelClickable={isLabelClickable}\n >\n {label}\n </Label>\n );\n\n return (\n <FormFieldWrapper direction={direction} {...props}>\n {direction === 'row' && (\n <>\n {children}\n {labelElement}\n </>\n )}\n {direction === 'column' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {direction === 'row-reverse' && (\n <>\n {labelElement}\n {children}\n </>\n )}\n {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n </FormFieldWrapper>\n );\n};\n\ntype FormFieldProps = {\n label?: ReactNode;\n errorMessage?: string | null;\n labelFor?: string;\n children?: React.ReactNode;\n direction?: 'row' | 'column' | 'row-reverse';\n isLabelClickable?: boolean;\n};\n\nexport default FormField;\n", "import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\n\nimport { getColorValue, getFocusRing, getRadius, u } from '../../utilities';\n\nconst RadioLabel = styled.label`\n display: block;\n position: relative;\n\n .RadioBox:after {\n background-color: transparent;\n }\n`;\n\nconst RadioInput = styled.input`\n position: absolute;\n opacity: 0;\n\n &:not(:disabled) {\n cursor: pointer;\n\n & ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n\n &:checked ~ .RadioBox {\n border: 2px solid ${getColorValue('body')};\n }\n }\n\n &:disabled,\n &:disabled ~ .RadioBox {\n pointer-events: none;\n }\n\n &:disabled ~ .RadioBox {\n background-color: ${getColorValue('disabledBackground')};\n }\n\n &:checked {\n & ~ .RadioBox:after {\n background-color: ${getColorValue('blurple')};\n }\n\n &:disabled ~ .RadioBox:after {\n background-color: ${getColorValue('disabledContent')};\n }\n }\n\n &:focus-visible ~ .RadioBox {\n ${getFocusRing()};\n }\n`;\n\nconst RadioBox = styled.span`\n cursor: pointer;\n width: ${u(2.25)};\n height: ${u(2.25)};\n ${getRadius('full')};\n display: flex;\n align-items: center;\n justify-content: center;\n user-select: none;\n\n &:after {\n content: '';\n width: ${u(1)};\n height: ${u(1)};\n ${getRadius('full')};\n background-color: ${getColorValue('white')};\n }\n`;\n\nconst Radio = forwardRef(\n (\n {\n isDisabled,\n isChecked,\n onFocus,\n onChange,\n onBlur,\n ...props\n }: RadioProps & React.ComponentProps<typeof RadioInput>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n return (\n <RadioLabel htmlFor={props.id}>\n <RadioInput\n type=\"radio\"\n disabled={isDisabled}\n checked={isChecked}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n ref={ref}\n {...props}\n />\n <RadioBox className=\"RadioBox\" />\n </RadioLabel>\n );\n }\n);\n\ntype RadioProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n onFocus?: React.ReactEventHandler;\n onChange?: React.ReactEventHandler;\n onBlur?: React.ReactEventHandler;\n};\n\nexport default Radio;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensInputProps } from '../../types';\nimport { getColorValue, getOffsetFocusRing } from '../../utilities';\n\nconst sizes = {\n medium: {\n switchHeight: 16,\n switchWidth: 32,\n knobOffset: 2,\n },\n large: {\n switchHeight: 20,\n switchWidth: 36,\n knobOffset: 2,\n },\n};\n\nconst colorStyles = {\n knob: {\n active: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n inactive: {\n enabled: getColorValue('white'),\n disabled: getColorValue('disabledContent'),\n },\n },\n track: {\n active: {\n enabled: getColorValue('blurple'),\n disabled: getColorValue('disabledBackground'),\n },\n inactive: {\n enabled: getColorValue('grey6'),\n disabled: getColorValue('disabledBackground'),\n },\n },\n};\n\nconst getKnobTravel = props => {\n return (\n sizes[props.switchSize].switchWidth - sizes[props.switchSize].switchHeight\n );\n};\n\nconst getKnobSize = props => {\n return (\n sizes[props.switchSize].switchHeight -\n sizes[props.switchSize].knobOffset * 2\n );\n};\n\nconst SwitchLabel = styled.label`\n display: block;\n position: relative;\n`;\n\nconst SwitchInput = styled.input<SwitchInputProps>`\n position: absolute;\n opacity: 0;\n cursor: pointer;\n\n // to overlap SwitchBox and occupy the same space\n z-index: 1;\n margin: 0;\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n\n &:focus-visible ~ .SwitchBox {\n ${getOffsetFocusRing()};\n }\n &:not(:checked) {\n & + .SwitchBox {\n background-color: ${colorStyles.track.inactive.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.inactive.disabled};\n }\n }\n &:checked {\n & + .SwitchBox {\n background-color: ${colorStyles.track.active.enabled};\n }\n &:disabled + .SwitchBox {\n background-color: ${colorStyles.track.active.disabled};\n }\n & + .SwitchBox:after {\n transform: translateX(${props => getKnobTravel(props)}px);\n }\n }\n &:disabled {\n pointer-events: none;\n }\n`;\n\nconst SwitchBox = styled.div<SwitchBoxProps>`\n width: ${props => sizes[props.switchSize].switchWidth}px;\n height: ${props => sizes[props.switchSize].switchHeight}px;\n position: relative;\n border-radius: var(--lns-radius-full);\n transition: 0.2s;\n cursor: ${props => (props.isDisabled ? 'default' : 'pointer')};\n &:after {\n content: '';\n position: absolute;\n top: ${props => sizes[props.switchSize].knobOffset}px;\n left: ${props => sizes[props.switchSize].knobOffset}px;\n width: ${props => getKnobSize(props)}px;\n height: ${props => getKnobSize(props)}px;\n border-radius: var(--lns-radius-full);\n transition: 0.15s;\n background-color: ${props =>\n props.isDisabled\n ? colorStyles.knob.active.disabled\n : colorStyles.knob.active.enabled};\n }\n`;\n\nconst Switch = ({\n isActive,\n isDisabled,\n onChange,\n size = 'medium',\n ariaLabelledby,\n ariaLabel,\n ariaDescribedby,\n ...props\n}: SwitchProps &\n Omit<React.ComponentProps<typeof SwitchInput>, 'size'> &\n Omit<\n LensInputProps,\n keyof SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>\n >) => {\n if (ariaLabelledby && ariaLabel) {\n throw new Error(\n 'ariaLabelledby and ariaLabel serve the same purpose and therefore cannot be used at the same time. Choose the one that best suites your needs.'\n );\n }\n\n return (\n <SwitchLabel htmlFor={props.id}>\n <SwitchInput\n {...props}\n checked={isActive}\n disabled={isDisabled}\n onChange={onChange}\n type=\"checkbox\"\n switchSize={size}\n aria-labelledby={ariaLabelledby}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n aria-checked={isActive}\n />\n <SwitchBox\n className=\"SwitchBox\"\n isDisabled={isDisabled}\n isActive={isActive}\n switchSize={size}\n />\n </SwitchLabel>\n );\n};\n\ntype SwitchProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n onChange?: React.ReactEventHandler;\n size?: 'medium' | 'large';\n ariaLabelledby?: string;\n ariaLabel?: string;\n ariaDescribedby?: string;\n};\n\ntype SwitchInputProps = {\n switchSize?: 'medium' | 'large';\n};\n\ntype SwitchBoxProps = {\n isActive?: boolean;\n isDisabled?: boolean;\n switchSize?: 'medium' | 'large';\n};\n\nexport default Switch;\n", "import styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport type { SeverityLevels } from './types';\nimport { usePushPageDown } from '../../hooks';\nimport type { LensAsideProps } from '../../types';\nimport { u } from '../../utilities';\nimport Align from '../align/align';\nimport Arrange from '../arrange/arrange';\nimport Container from '../container/container';\nimport { SvgAlertTriangle } from '../icon/available-icons/alert-triangle';\nimport { SvgClose } from '../icon/available-icons/close';\nimport { SvgInfo } from '../icon/available-icons/info';\nimport { SvgWarningAlert } from '../icon/available-icons/warning-alert';\nimport Icon from '../icon/icon';\nimport IconButton from '../icon-button/icon-button';\n\nconst severityStyles = {\n info: {\n bgColor: 'var(--lns-color-blurple)',\n icon: <SvgInfo />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n warning: {\n bgColor: 'var(--lns-color-warning)',\n icon: <SvgWarningAlert />,\n color: 'var(--lns-color-grey8)',\n fontFamily: 'inherit',\n },\n error: {\n bgColor: 'var(--lns-color-danger)',\n icon: <SvgAlertTriangle />,\n color: 'var(--lns-color-white)',\n fontFamily: 'inherit',\n },\n internal: {\n icon: <span role=\"img\">\uD83D\uDD14</span>,\n color: 'var(--lns-color-tealLight)',\n bgColor: 'var(--lns-color-grey8)',\n fontFamily: 'var(--lns-fontFamily-code)',\n },\n};\n\nconst DURATION = 350;\nconst NotificationBarWrapper = styled.aside<NotificationBarWrapperProps>`\n --paddingXOffset: var(--lns-space-large);\n --alignItems: start;\n\n display: grid;\n align-items: var(--alignItems);\n justify-content: space-between;\n grid-template-columns: 1fr auto;\n ${props => `background-color: ${severityStyles[props.severity].bgColor}`};\n ${props => `font-family: ${severityStyles[props.severity].fontFamily}`};\n\n ${props => `color: ${severityStyles[props.severity].color}`};\n position: fixed;\n padding: var(--lns-space-medium) var(--paddingXOffset);\n top: 0;\n left: 0;\n transition:\n ${DURATION}ms box-shadow,\n ${DURATION}ms transform;\n width: 100%;\n box-sizing: border-box;\n z-index: 1100;\n opacity: ${props => (props.isOpen ? '1' : '0')};\n transform: ${props =>\n props.isOpen ? 'translateY(0px)' : 'translateY(-100%)'};\n @media (min-width: 872px) {\n --alignItems: center;\n }\n`;\n\nconst NotificationBar = ({\n children,\n onCloseClick,\n isOpen,\n severity = 'info',\n id,\n}: NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper> &\n Omit<\n LensAsideProps,\n keyof NotificationBarProps &\n React.ComponentProps<typeof NotificationBarWrapper>\n >) => {\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n onCloseClick && onCloseClick();\n }\n };\n\n window.addEventListener('keydown', keyListener);\n\n return () => {\n window.removeEventListener('keydown', keyListener);\n };\n }, [isOpen, onCloseClick]);\n\n usePushPageDown(isOpen);\n\n // NOTE: The UI for internal alert is slightly different.\n const isInternalAlert = severity === 'internal';\n\n return isOpen ? (\n <NotificationBarWrapper isOpen={isOpen} severity={severity} id={id}>\n <Arrange\n alignItems={{ default: 'start', small: 'center' }}\n justifyContent=\"space-between\"\n autoFlow={isInternalAlert ? 'column' : undefined}\n columns={!isInternalAlert ? ['1fr auto'] : undefined}\n >\n <Container\n paddingY={{ default: 'xsmall', xsmall: 0 }}\n // Visually offsets the close X so that text appears centre-aligned\n paddingLeft={\n !isInternalAlert ? { default: 0, medium: u(3.5) } : undefined\n }\n width=\"100%\"\n >\n <Arrange\n autoFlow=\"column\"\n gap={isInternalAlert ? 'medium' : 'small'}\n justifyContent=\"center\"\n >\n {severityStyles[severity]?.icon ? (\n <Align alignment=\"topLeft\">\n <Icon\n icon={severityStyles[severity].icon}\n color={\n severityStyles[severity].color ?? 'var(--lns-color-white)'\n }\n />\n </Align>\n ) : null}{' '}\n {children}\n </Arrange>\n </Container>\n </Arrange>\n {onCloseClick && (\n <IconButton\n iconColor={severityStyles[severity].color ?? 'var(--lns-color-white)'}\n tabIndex={0}\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n />\n )}\n </NotificationBarWrapper>\n ) : null;\n};\n\ntype NotificationBarProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n severity: SeverityLevels;\n};\n\ntype NotificationBarWrapperProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n severity: SeverityLevels;\n};\n\nexport default NotificationBar;\n", "import React from 'react';\n\nexport default function useOnClickOutside(ref, handler) {\n React.useEffect(() => {\n const listener = event => {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, handler]);\n}\n", "import { useCallback, useEffect, useState } from 'react';\n\nexport default function useFocusedElement<Element extends HTMLElement>(\n ref: React.RefObject<Element>\n): boolean {\n const [isFocused, setIsFocused] = useState(false);\n\n const handleFocus = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusin' && e.target === currentRef) {\n setIsFocused(true);\n }\n },\n [ref]\n );\n\n const handleBlur = useCallback(\n e => {\n const currentRef = ref.current;\n\n if (e.type === 'focusout' && e.target === currentRef) {\n setIsFocused(false);\n }\n },\n [ref]\n );\n\n useEffect(() => {\n // Note: `focusin` is sent whenever an element OR its children gain focus (or, it supports \"event bubbling\"). If you need to isolate it to only the parent, create a new function using 'focus' and 'blur' respectively.\n\n document.addEventListener('focusin', handleFocus);\n document.addEventListener('focusout', handleBlur);\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n document.removeEventListener('focusout', handleBlur);\n };\n }, [handleFocus, handleBlur]);\n\n return Boolean(isFocused);\n}\n", "import { useLayoutEffect } from 'react';\n\n/**\n * Usage:\n * usePreventScroll(<boolean-condition>);\n **/\nfunction usePushPageDown(enabled?: boolean): void {\n const safeDocument: Document = document;\n\n useLayoutEffect(() => {\n const html = safeDocument?.documentElement;\n const body = safeDocument?.body;\n\n if (safeDocument == undefined || !html || !body) {\n return;\n }\n\n if (enabled) {\n body.style.setProperty('padding-top', '3.25rem');\n body.style.setProperty('transition', 'padding-top 350ms');\n /* [1] */\n }\n\n return () => {\n body.style.removeProperty('padding-top');\n };\n }, [safeDocument, enabled]);\n}\n\nexport default usePushPageDown;\n", "import InformationCircleIcon from '@atlaskit/icon/core/information-circle';\nimport * as React from 'react';\n\nexport function SvgInfo() {\n return <InformationCircleIcon label=\"\" testId=\"ads-refreshed-icon\" />;\n}\n", "import React from 'react';\n\nexport const SvgWarningAlert = props => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.42 2.293A1 1 0 0 1 8.127 2h7.245a1 1 0 0 1 .708.293l5.127 5.127a1 1 0 0 1 .293.707v7.245a1 1 0 0 1-.293.708l-5.127 5.127a1 1 0 0 1-.707.293H8.128a1 1 0 0 1-.708-.293L2.293 16.08A1 1 0 0 1 2 15.373V8.128a1 1 0 0 1 .293-.708L7.42 2.293ZM8.542 4 4 8.542v6.416L8.542 19.5h6.416l4.542-4.542V8.542L14.958 4H8.542Zm2.208 11.25a1 1 0 0 1 1-1h.009a1 1 0 1 1 0 2h-.009a1 1 0 0 1-1-1Zm2-7a1 1 0 1 0-2 0v3.5a1 1 0 1 0 2 0v-3.5Z\"\n />\n </svg>\n);\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useEffect } from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport { getColorValue, getRadius, getShadow, u } from '../../utilities';\n\nimport { SvgClose } from '../icon/available-icons/close';\nimport IconButton from '../icon-button/icon-button';\n\nconst WEBAPP = 'web-app';\nconst CHROME_EXTENSION = 'chrome-extension';\nconst toastDurations = { short: 3000, medium: 5000, long: 8000 };\n\nconst enter = (toastDuration, platform) => keyframes`\n 0% {\n opacity: 0;\n transform: translate(-50%, ${u(platform === CHROME_EXTENSION ? -8 : 8)});\n }\n // (300 / toastDuration) * 100 evaluates to 10% for short. Longer durations will have the same speed of animation\n ${(300 / toastDuration) * 100}% {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n // 100 - (300 / toastDuration) * 100 evaluates to 90% for short. Longer durations will have the same speed of animation\n ${100 - (300 / toastDuration) * 100}% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nconst getTop = platform => {\n switch (platform) {\n case WEBAPP:\n return 'unset';\n case CHROME_EXTENSION:\n return u(4);\n default:\n return 'unset';\n }\n};\n\nconst getBottom = platform => {\n switch (platform) {\n case WEBAPP:\n return u(4);\n case CHROME_EXTENSION:\n return 'unset';\n default:\n return u(4);\n }\n};\n\nconst ToastWrapper = styled.div<ToastWrapperProps>`\n animation: ${props => enter(props.toastDuration, props.platform)}\n ${props => props.toastDuration}ms forwards;\n background-color: ${getColorValue('backgroundInverse')};\n ${getRadius('250')};\n top: ${props => getTop(props.platform)};\n bottom: ${props => getBottom(props.platform)};\n ${getShadow('large')};\n color: ${getColorValue('bodyInverse')};\n display: grid;\n grid-auto-flow: column;\n gap: var(--lns-space-small);\n justify-content: space-between;\n left: 50%;\n max-width: ${u(50)}; // Fallback when min() function is not supported\n max-width: min(90%, ${u(50)});\n padding: ${u(1.5)} var(--lns-space-medium) ${u(1.5)} var(--lns-space-large);\n position: fixed;\n transform: translateX(-50%);\n width: max-content;\n z-index: ${props => props.zIndex};\n`;\n\nconst ChildrenSection = styled.div`\n align-self: center;\n`;\n\nconst Toast = ({\n children,\n isOpen,\n onCloseClick,\n zIndex = 1100,\n duration = 'short',\n platform = 'web-app',\n}: ToastProps &\n React.ComponentProps<typeof ToastWrapper> &\n Omit<\n LensDivProps,\n keyof ToastProps & React.ComponentProps<typeof ToastWrapper>\n >) => {\n const toastDuration = toastDurations[duration];\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (isOpen) {\n onCloseClick();\n }\n }, toastDuration);\n\n return () => clearTimeout(timer);\n }, [isOpen]);\n\n return (\n <>\n {isOpen && (\n <ToastWrapper\n role=\"presentation\"\n onClick={e => e.stopPropagation()}\n zIndex={zIndex}\n isOpen={isOpen}\n toastDuration={toastDuration}\n platform={platform}\n >\n <ChildrenSection aria-live=\"polite\">{children}</ChildrenSection>\n {onCloseClick && (\n <IconButton\n altText=\"Close\"\n icon={<SvgClose />}\n onClick={onCloseClick}\n iconColor=\"bodyInverse\"\n />\n )}\n </ToastWrapper>\n )}\n </>\n );\n};\n\ntype ToastProps = {\n children?: React.ReactNode;\n isOpen?: boolean;\n onCloseClick?: () => void;\n zIndex?: number;\n duration?: 'short' | 'medium' | 'long';\n platform?: 'web-app' | 'chrome-extension';\n};\n\ntype ToastWrapperProps = {\n zIndex?: number;\n isOpen?: boolean;\n toastDuration?: number;\n platform?: 'web-app' | 'chrome-extension';\n};\n\nexport default Toast;\n", "import styled from '@emotion/styled';\nimport React, { useState, useRef, useEffect } from 'react';\n\nimport { useHover, useLayer, mergeRefs } from 'react-laag';\n\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getShadow,\n getSize,\n getTextSize,\n type Size,\n u,\n} from '../../utilities';\nimport { textSizes } from '../../variables';\nimport Arrange from '../arrange/arrange';\nimport Text from '../text/text';\n\ntype PlacementProps = {\n [key: string]:\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'left-end'\n | 'left-center'\n | 'left-start'\n | 'right-end'\n | 'right-center'\n | 'right-start'\n | 'center';\n};\n\ntype DelaySpeed = 'immediate' | 'long';\n\nconst placements: PlacementProps = {\n topLeft: 'top-start',\n topCenter: 'top-center',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom-center',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left-center',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right-center',\n rightBottom: 'right-end',\n};\n\nconst tooltipMinHeight = 4;\nconst textHeight = textSizes.small.fontSize * textSizes.small.lineHeight;\n// eslint-disable-next-line @loomhq/loom/no-consecutive-uppercase-letters-for-acronyms\nconst tooltipYPadding = (tooltipMinHeight - textHeight) / 2;\n\nconst TooltipBoxWrapper = styled.div<TooltipBoxProps>`\n background-color: ${getColorValue('backgroundInverse')};\n color: ${getColorValue('bodyInverse')};\n ${getRadius('150')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n ${getShadow('medium')};\n ${props => getSize('max-width', props.maxWidth)};\n z-index: 1100;\n padding: ${u(tooltipYPadding)} ${u(1.5)};\n z-index: ${props => props.zIndex};\n`;\n\nconst ShortcutWrapper = styled.div`\n background-color: ${getColorValue('grey7')};\n border-radius: 3px;\n color: ${getColorValue('grey3')};\n ${getFontWeight('bold')};\n ${getTextSize('small')};\n padding-left: ${u(0.5)};\n padding-right: ${u(0.5)};\n`;\n\nexport const ShortcutBox = ({\n children,\n}: React.ComponentProps<typeof ShortcutWrapper>) => (\n <ShortcutWrapper>{children}</ShortcutWrapper>\n);\n\nexport const TooltipBox = ({\n children,\n maxWidth,\n onMouseEnter,\n onMouseLeave,\n layerProps,\n zIndex,\n ...rest\n}: TooltipBoxProps & React.ComponentProps<typeof TooltipBoxWrapper>) => (\n // These are being added to hide the tooltip when users hover over\n /* eslint-disable-next-line styled-components-a11y/no-static-element-interactions */\n <TooltipBoxWrapper\n maxWidth={maxWidth}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n zIndex={zIndex}\n {...layerProps}\n {...rest}\n >\n {children}\n </TooltipBoxWrapper>\n);\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore: Ignoring because it was introduced through an unrelated PR that did not affect this file. When this file is touched next, it should be fixed properly\nconst TooltipChildren = styled.div<TooltipProps>`\n display: ${props => (props.isInline ? 'inline-block' : 'block')};\n ${props => props.verticalAlign && `vertical-align: ${props.verticalAlign}`};\n &:focus-visible {\n // Note: 0px solid transparent prevents focus rings from disappearing for -ms-high-contrast.\n // TODO(LNS-183): Provide more robust polyfill/support for :focus for older versions of Safari, which don't support :focus-visible\n outline: 0px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n`;\n\nfunction getInitialDelaySpeed(delay: DelaySpeed) {\n switch (delay) {\n case 'immediate':\n return 200;\n case 'long':\n return 800;\n default:\n return 200;\n }\n}\n\nconst Tooltip = ({\n ariaLive = false,\n children,\n content,\n shortcut,\n placement = 'topCenter',\n keepOpen = true,\n triggerOffset = 4,\n maxWidth = 26,\n isInline = true,\n isDisabled,\n container,\n tabIndex = 0,\n zIndex = 1100,\n verticalAlign = 'middle',\n delay = 'immediate',\n tooltipId,\n ...rest\n}: TooltipProps) => {\n const [show, hoverProps] = useHover({\n delayEnter: getInitialDelaySpeed(delay),\n delayLeave: 200,\n });\n\n const [isOverTooltip, setIsOverTooltip] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Helps us keep the tooltip open when opened with a key press\n // instead of a mouse click.\n const [enterOrSpaceKeyDown, setEnterOrSpaceKeyDown] = useState(false);\n\n const focusRef = useRef();\n const isTooltipDisabled = !content || isDisabled;\n\n // Hide the tooltip as soon as isDisabled becomes true, and show it if a user has focused or hovered on it AND it is not disabled\n useEffect(() => {\n if (isTooltipDisabled) {\n setIsOpen(false);\n\n return;\n }\n\n const keepTooltipOpenOnHover = isOverTooltip && keepOpen;\n\n if (show || keepTooltipOpenOnHover) {\n setIsOpen(true);\n }\n\n // We have to watch this separately since hover and focus are managed separately. So, an element can be keyboard focused while another element is mouse hovered.\n // Also, we don't want to close the tooltip if the user has pressed the Enter or Space key to open it.\n if (!show && !keepTooltipOpenOnHover && !enterOrSpaceKeyDown) {\n setIsOpen(false);\n }\n }, [\n content,\n isDisabled,\n isOverTooltip,\n isTooltipDisabled,\n keepOpen,\n setIsOpen,\n show,\n enterOrSpaceKeyDown,\n ]);\n\n const handleFocus = () => {\n setEnterOrSpaceKeyDown(false);\n\n if (!isTooltipDisabled) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = () => {\n setIsOpen(false);\n setEnterOrSpaceKeyDown(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const keyListener = e => {\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation(); // Prevent event from reaching modal or other listeners\n handleBlur();\n }\n };\n\n // Use capture phase (true) to ensure this fires BEFORE other listeners (including modal)\n window.addEventListener('keydown', keyListener, true);\n\n return () => {\n window.removeEventListener('keydown', keyListener, true);\n };\n }, [isOpen, setIsOpen]);\n\n const { layerProps, triggerProps, renderLayer } = useLayer({\n isOpen,\n placement: placements[placement],\n ResizeObserver,\n triggerOffset,\n container,\n auto: true,\n });\n\n return (\n <>\n {/* eslint-disable-next-line styled-components-a11y/click-events-have-key-events, styled-components-a11y/no-static-element-interactions */}\n <TooltipChildren\n {...triggerProps}\n {...hoverProps}\n onClick={e => {\n // onClick callbacks react to 'Enter' and 'Space' key presses\n // as well as mouse clicks. detail > 0 if it's a mouse click/double click..\n if (e.detail === 0) {\n setEnterOrSpaceKeyDown(true);\n }\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n isInline={isInline}\n verticalAlign={verticalAlign}\n tabIndex={isTooltipDisabled ? -1 : tabIndex}\n ref={mergeRefs(triggerProps.ref, focusRef)}\n >\n {children}\n </TooltipChildren>\n {ariaLive && (\n <span className=\"srOnly\" aria-live=\"polite\">\n {isOpen && content}\n </span>\n )}\n {isOpen &&\n renderLayer(\n <div {...layerProps} style={{ ...layerProps.style, zIndex }}>\n <TooltipBox\n maxWidth={maxWidth}\n onMouseEnter={() => setIsOverTooltip(true)}\n onMouseLeave={() => setIsOverTooltip(false)}\n role=\"tooltip\"\n id={tooltipId}\n {...rest}\n >\n <Arrange gap=\"small\">\n <Text size=\"small\" fontWeight=\"bold\">\n {content}\n </Text>\n {shortcut && (\n <Arrange gap=\"xsmall\">\n {shortcut.map((char, index) => (\n <ShortcutBox key={index}>{char}</ShortcutBox>\n ))}\n </Arrange>\n )}\n </Arrange>\n </TooltipBox>\n </div>\n )}\n </>\n );\n};\n\nexport const availablePlacements = Object.keys(placements);\n\ntype TooltipBoxProps = {\n children?: React.ReactNode;\n maxWidth?: Size | [];\n onMouseEnter?: React.ReactEventHandler;\n onMouseLeave?: React.ReactEventHandler;\n layerProps?: any;\n zIndex?: number;\n};\n\nexport type TooltipProps = {\n ariaLive?: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | (() => HTMLElement) | string;\n content?: React.ReactNode;\n shortcut?: string[];\n isDisabled?: boolean;\n isInline?: boolean;\n keepOpen?: boolean;\n maxWidth?: Size | [];\n placement?:\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n triggerOffset?: number;\n verticalAlign?: string;\n zIndex?: number;\n delay?: DelaySpeed;\n tabIndex?: number;\n tooltipId?: string;\n};\n\nexport default Tooltip;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getRadius, getTextSize } from '../../utilities';\nimport type { TextSize } from '../../variables';\n\nconst SkeletonAnimation = css`\n @media (prefers-reduced-motion: no-preference) {\n animation: shimmer 2s infinite linear;\n background: linear-gradient(\n to right,\n var(--lns-color-disabledBackground) 4%,\n var(--lns-color-backgroundHover) 25%,\n var(--lns-color-disabledBackground) 36%\n );\n background-size: 1000px 100%;\n @keyframes shimmer {\n 0% {\n background-position: -1000px 0;\n }\n 100% {\n background-position: 1000px 0;\n }\n }\n }\n`;\n\nconst SkeletonTextWrapper = styled.div<SkeletonTextProps>`\n ${props => getTextSize(props.size)};\n color: transparent;\n position: relative;\n &::after {\n content: '';\n position: absolute;\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-full);\n width: 100%;\n display: block;\n height: 71.45%;\n top: 0.2em;\n ${props => props.animated && SkeletonAnimation}\n }\n\n ${props =>\n props.lines > 1 &&\n `\n &:nth-of-type(3n+1) {\n width: calc(100% - 2.25rem);\n }\n &:nth-of-type(3n) {\n width: calc(100% - 4.125rem);\n }\n }\n `};\n`;\n\nconst SkeletonContainerWrapper = styled.div<SkeletonContainerProps>`\n background-color: var(--lns-color-disabledBackground);\n ${props => getRadius(props.radius)};\n height: ${props => props.height};\n width: ${props => props.width};\n ${props => props.animated && SkeletonAnimation}\n`;\n\nexport const SkeletonText = ({\n size = 'body-md',\n lines = 1,\n animated = false,\n}: SkeletonTextProps & React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n {[...Array(lines)].map((_, i) => (\n <SkeletonTextWrapper\n key={i}\n size={size}\n lines={lines}\n animated={animated}\n >\n Loading\n </SkeletonTextWrapper>\n ))}\n </>\n );\n};\n\nexport const SkeletonContainer = ({\n animated = false,\n height = '40px',\n radius = 'full',\n width = '40px',\n}: SkeletonContainerProps &\n React.ComponentProps<typeof SkeletonTextWrapper>) => {\n return (\n <>\n <SkeletonContainerWrapper\n animated={animated}\n height={height}\n radius={radius}\n width={width}\n />\n </>\n );\n};\n\ntype SkeletonTextProps = {\n animated?: boolean;\n lines?: number;\n size?: TextSize;\n};\n\ntype SkeletonContainerProps = {\n animated?: boolean;\n height?: string;\n radius?: 'medium' | 'large' | 'xlarge' | 'full' | '175';\n width?: string;\n};\n\nexport default SkeletonText;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getSize, getColorValue } from '../../utilities';\n\nconst LoomAiGradientDef = (customId: string) => {\n return (\n <defs>\n <radialGradient\n id={`ai-logo-${customId}-gradient-1`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"100%\"\n fx=\"0%\"\n fy=\"0%\"\n >\n <stop offset=\"30%\" stopColor=\"#97ACFD\" />\n <stop offset=\"33%\" stopColor=\"#B3B2F4\" />\n <stop offset=\"43%\" stopColor=\"#DEB0E0\" />\n <stop offset=\"50%\" stopColor=\"#DFC6E5\" />\n <stop offset=\"72%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-2`}\n r=\"100%\"\n fx=\"40%\"\n fy=\"72%\"\n >\n <stop offset=\"20%\" stopColor=\"#615CF500\" />\n <stop offset=\"32%\" stopColor=\"#615CF550\" />\n <stop offset=\"48%\" stopColor=\"#6663F6\" />\n </radialGradient>\n <radialGradient\n id={`ai-logo-${customId}-gradient-3`}\n r=\"100%\"\n fx=\"0%\"\n fy=\"100%\"\n >\n <stop offset=\"25%\" stopColor=\"#6663F6\" />\n <stop offset=\"38%\" stopColor=\"#6E68F450\" />\n <stop offset=\"45%\" stopColor=\"#6E68F400\" />\n </radialGradient>\n </defs>\n );\n};\n\nconst symbolLogoPath =\n 'M30 15.4433C30 16.6091 29.0933 16.8581 27.9562 16.9301C22.5158 17.2323 16.7962 22.686 16.4795 28.112C16.422 29.2634 16.173 30.1702 15.0072 30.1702C13.8414 30.1702 13.578 29.2634 13.5205 28.0976C13.2038 22.686 7.48416 17.2323 2.05814 16.9301C0.906735 16.8581 0 16.6091 0 15.4433C0 14.2775 0.906735 14.043 2.05814 13.971C7.48416 13.6687 13.2038 7.65433 13.5205 2.22831C13.578 1.0769 13.827 0.170166 15.0072 0.170166C16.1874 0.170166 16.422 1.0769 16.4795 2.22831C16.7962 7.65433 22.5158 13.6687 27.9419 13.971C29.0933 14.043 30 14.2919 30 15.4433Z';\n\nconst SymbolLogoSvg = ({ brand, symbolColor, customId, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 30 31\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={symbolLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={symbolLogoPath} fill={getColorValue(symbolColor)} />\n )}\n </svg>\n );\n\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 40 40\" fill=\"none\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947V18.6756H32.3962ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 31 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n </svg>\n );\n }\n};\n\nconst WordmarkLogoSvg = ({ brand, wordmarkColor, ...props }) => {\n switch (brand) {\n case 'ai':\n return (\n <svg\n aria-label=\"Loom AI\"\n viewBox=\"0 0 94 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom AI</title>\n <path d=\"M4.12637 22.4624H0V0H4.12637V22.4624Z\" />\n <path d=\"M13.3999 19.1737C15.4166 19.1737 17.2781 17.7155 17.2781 14.8301C17.2781 11.9448 15.4166 10.4866 13.3999 10.4866C11.3833 10.4866 9.52175 11.9448 9.52175 14.8301C9.52175 17.6845 11.3833 19.1737 13.3999 19.1737ZM13.3999 6.7325C17.9606 6.7325 21.4045 10.1143 21.4045 14.8301C21.4045 19.515 17.9606 22.9277 13.3999 22.9277C8.83919 22.9277 5.39538 19.515 5.39538 14.8301C5.39538 10.1143 8.83919 6.7325 13.3999 6.7325Z\" />\n <path d=\"M29.7548 19.1737C31.7714 19.1737 33.6329 17.7155 33.6329 14.8301C33.6329 11.9448 31.7714 10.4866 29.7548 10.4866C27.7381 10.4866 25.8766 11.9448 25.8766 14.8301C25.8766 17.6845 27.7381 19.1737 29.7548 19.1737ZM29.7548 6.7325C34.3155 6.7325 37.7593 10.1143 37.7593 14.8301C37.7593 19.515 34.3155 22.9277 29.7548 22.9277C25.194 22.9277 21.7502 19.515 21.7502 14.8301C21.7502 10.1143 25.194 6.7325 29.7548 6.7325Z\" />\n <path d=\"M43.1622 22.4624H39.0358V7.19788H42.976V9.05941C43.8137 7.57019 45.7683 6.76353 47.4437 6.76353C49.5224 6.76353 51.1978 7.66326 51.9734 9.30761C53.1834 7.44609 54.7967 6.76353 56.8134 6.76353C59.6367 6.76353 62.3359 8.46992 62.3359 12.5653V22.4624H58.3336V13.403C58.3336 11.7586 57.5269 10.5176 55.6344 10.5176C53.8659 10.5176 52.8111 11.8827 52.8111 13.5271V22.4624H48.7157V13.403C48.7157 11.7586 47.878 10.5176 46.0165 10.5176C44.2171 10.5176 43.1622 11.8517 43.1622 13.5271V22.4624Z\" />\n <path d=\"M84.1324 22.4624L82.3019 17.4363H73.3666L71.5361 22.4624H67.0064L75.4453 0.46538H80.4093L88.7862 22.4624H84.1324ZM77.8342 5.21226L74.7937 13.5271H80.8747L77.8342 5.21226Z\" />\n <path d=\"M94 22.4624H89.6565V0.46538H94V22.4624Z\" />\n </svg>\n );\n case 'product':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 104 30\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M32.4383 7.29662C34.6059 7.29671 36.4904 7.77257 38.0897 8.72422C39.6888 9.67592 40.9247 11.0053 41.797 12.7102C42.6692 14.402 43.1045 16.3852 43.1045 18.6585C43.1044 20.9186 42.6693 22.9018 41.797 24.6068C40.9247 26.2985 39.6888 27.6207 38.0897 28.5724C36.4904 29.524 34.6059 29.9999 32.4383 30C30.2704 30 28.379 29.5241 26.7664 28.5724C25.1672 27.6208 23.9315 26.2985 23.0591 24.6068C22.1868 22.9018 21.7517 20.9186 21.7516 18.6585C21.7516 16.3851 22.1869 14.402 23.0591 12.7102C23.9315 11.0051 25.1671 9.67594 26.7664 8.72422C28.379 7.77249 30.2704 7.29662 32.4383 7.29662ZM32.4383 11.7584C31.3279 11.7584 30.3954 12.0564 29.642 12.6513C28.902 13.2461 28.3393 14.0587 27.956 15.0895C27.5861 16.1204 27.4009 17.3105 27.4009 18.6585C27.4009 19.9801 27.586 21.163 27.956 22.2071C28.3393 23.238 28.9019 24.0506 29.642 24.6454C30.3954 25.2402 31.3279 25.5382 32.4383 25.5382C33.5351 25.5381 34.4608 25.2401 35.2141 24.6454C35.9673 24.0506 36.53 23.2307 36.9001 22.1867C37.2831 21.1428 37.4733 19.9666 37.4734 18.6585C37.4734 17.324 37.2831 16.1406 36.9001 15.1099C36.5301 14.0661 35.9671 13.246 35.2141 12.6513C34.4608 12.0565 33.5351 11.7585 32.4383 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.9839 7.29662C59.1517 7.29662 61.036 7.77249 62.6354 8.72422C64.2348 9.67596 65.4702 11.005 66.3426 12.7102C67.215 14.4021 67.6524 16.385 67.6524 18.6585C67.6523 20.9186 67.215 22.9018 66.3426 24.6068C65.4702 26.2985 64.2346 27.6208 62.6354 28.5724C61.036 29.524 59.1516 30 56.9839 30C54.8166 29.9999 52.9267 29.5238 51.3143 28.5724C49.7151 27.6208 48.4795 26.2984 47.6071 24.6068C46.7347 22.9018 46.2974 20.9186 46.2973 18.6585C46.2973 16.3849 46.7346 14.4021 47.6071 12.7102C48.4795 11.005 49.7149 9.67596 51.3143 8.72422C52.9267 7.77274 54.8165 7.29671 56.9839 7.29662ZM56.9839 11.7584C55.8739 11.7585 54.9432 12.0566 54.1899 12.6513C53.4497 13.2461 52.8873 14.0585 52.504 15.0895C52.1339 16.1205 51.9488 17.3104 51.9488 18.6585C51.9488 19.9801 52.1339 21.163 52.504 22.2071C52.8873 23.2381 53.4497 24.0506 54.1899 24.6454C54.9431 25.2399 55.874 25.5381 56.9839 25.5382C58.081 25.5382 59.0064 25.2402 59.7598 24.6454C60.5133 24.0505 61.0756 23.231 61.4457 22.1867C61.8289 21.1427 62.0212 19.9667 62.0213 18.6585C62.0213 17.3239 61.8288 16.1407 61.4457 15.1099C61.0756 14.0657 60.5132 13.2461 59.7598 12.6513C59.0063 12.0564 58.081 11.7584 56.9839 11.7584Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M5.69001 24.7655H18.7174V29.5445H0V0H5.69001V24.7655Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M96.2633 7.2581C97.5984 7.2581 98.7952 7.54891 99.8527 8.13052C100.923 8.71205 101.762 9.56357 102.37 10.6866C102.991 11.8101 103.302 13.1852 103.302 14.8108V29.5445H97.7498V15.7625C97.7497 14.4545 97.3936 13.49 96.6803 12.8688C95.9667 12.2345 95.1007 11.9173 94.0834 11.9171C93.2908 11.9171 92.6027 12.0882 92.0213 12.4315C91.453 12.7751 91.0084 13.2511 90.6911 13.8591C90.3871 14.4671 90.2357 15.176 90.2357 15.9823V29.5445H84.8629V15.5654C84.8629 14.4552 84.5262 13.5682 83.8523 12.9073C83.1781 12.2464 82.3106 11.9171 81.2531 11.9171C80.5396 11.9172 79.8853 12.088 79.2907 12.4315C78.6959 12.7619 78.22 13.2521 77.8631 13.8998C77.5196 14.5343 77.3487 15.3205 77.3487 16.2588V29.5445H71.797V7.61387H77.0111L77.1652 11.7584C77.4644 10.9601 77.8429 10.2729 78.3005 9.69635C78.9746 8.86369 79.7606 8.24832 80.6594 7.8518C81.558 7.45546 82.496 7.25818 83.4738 7.2581C85.0733 7.2581 86.383 7.75323 87.4009 8.74462C88.2044 9.52754 88.8088 10.6088 89.225 11.985C89.5312 11.1783 89.9349 10.4756 90.4351 9.87537C91.1621 9.00295 92.0273 8.34693 93.032 7.91072C94.0364 7.47471 95.1136 7.2581 96.2633 7.2581Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n\n default:\n return (\n <svg\n aria-label=\"Loom\"\n viewBox=\"0 0 62 23\"\n fill={wordmarkColor}\n {...props}\n >\n <title>Loom</title>\n <path d=\"M.109 21.973V.027h4.028v21.946H.109zM38.742 7.059h3.846v1.82c.818-1.456 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.997v-8.852c0-1.607-.817-2.82-2.635-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V7.059zM13.24 22.405c-4.537 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM29.667 22.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\" />\n </svg>\n );\n }\n};\n\nconst combinedLogoPath =\n 'M100 7.76427C100 8.35691 99.539 8.48348 98.961 8.52007C96.1953 8.67371 93.2877 11.4461 93.1267 14.2045C93.0975 14.7898 92.9709 15.2508 92.3783 15.2508C91.7856 15.2508 91.6517 14.7898 91.6225 14.1972C91.4615 11.4461 88.5539 8.67371 85.7955 8.52007C85.2102 8.48348 84.7492 8.35691 84.7492 7.76427C84.7492 7.17162 85.2102 7.05237 85.7955 7.01578C88.5539 6.86213 91.4615 3.80464 91.6225 1.04628C91.6517 0.460948 91.7783 0 92.3783 0C92.9782 0 93.0975 0.460948 93.1267 1.04628C93.2877 3.80464 96.1953 6.86213 98.9537 7.01578C99.539 7.05237 100 7.17894 100 7.76427Z';\n\nconst CombinedLogoSvg = ({\n brand,\n wordmarkColor,\n symbolColor,\n customId,\n ...props\n}) => {\n switch (brand) {\n case 'ai':\n return (\n <svg aria-label=\"Loom AI\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom AI</title>\n {!symbolColor ? (\n <>\n {LoomAiGradientDef(customId)}\n {[...Array(3)].map((_, i) => (\n <path\n key={i}\n d={combinedLogoPath}\n fill={`url(#ai-logo-${customId}-gradient-${i + 1}`}\n />\n ))}\n </>\n ) : (\n <path d={combinedLogoPath} fill={getColorValue(symbolColor)} />\n )}\n <g fill={wordmarkColor}>\n <path d=\"M4.1997 29.5909H0.570312V9.83386H4.1997V29.5909Z\" />\n <path d=\"M12.3563 26.6983C14.1301 26.6983 15.7674 25.4157 15.7674 22.8778C15.7674 20.34 14.1301 19.0574 12.3563 19.0574C10.5826 19.0574 8.94526 20.34 8.94526 22.8778C8.94526 25.3884 10.5826 26.6983 12.3563 26.6983ZM12.3563 15.7555C16.3678 15.7555 19.3968 18.73 19.3968 22.8778C19.3968 26.9984 16.3678 30.0002 12.3563 30.0002C8.34491 30.0002 5.31587 26.9984 5.31587 22.8778C5.31587 18.73 8.34491 15.7555 12.3563 15.7555Z\" />\n <path d=\"M26.7414 26.6983C28.5152 26.6983 30.1525 25.4157 30.1525 22.8778C30.1525 20.34 28.5152 19.0574 26.7414 19.0574C24.9676 19.0574 23.3303 20.34 23.3303 22.8778C23.3303 25.3884 24.9676 26.6983 26.7414 26.6983ZM26.7414 15.7555C30.7528 15.7555 33.7819 18.73 33.7819 22.8778C33.7819 26.9984 30.7528 30.0002 26.7414 30.0002C22.73 30.0002 19.7009 26.9984 19.7009 22.8778C19.7009 18.73 22.73 15.7555 26.7414 15.7555Z\" />\n <path d=\"M38.534 29.5909H34.9047V16.1648H38.3703V17.8022C39.1071 16.4923 40.8263 15.7828 42.2999 15.7828C44.1282 15.7828 45.6018 16.5742 46.284 18.0205C47.3483 16.3831 48.7673 15.7828 50.5411 15.7828C53.0243 15.7828 55.3984 17.2837 55.3984 20.8858V29.5909H51.8782V21.6226C51.8782 20.1763 51.1687 19.0847 49.5041 19.0847C47.9486 19.0847 47.0208 20.2854 47.0208 21.7317V29.5909H43.4187V21.6226C43.4187 20.1763 42.6819 19.0847 41.0446 19.0847C39.4619 19.0847 38.534 20.2581 38.534 21.7317V29.5909Z\" />\n <path d=\"M74.5698 29.5909L72.9598 25.1701H65.1006L63.4906 29.5909H59.5064L66.929 10.2432H71.2951L78.6631 29.5909H74.5698ZM69.0302 14.4184L66.3559 21.7317H71.7045L69.0302 14.4184Z\" />\n <path d=\"M83.249 29.5909H79.4285V10.2432H83.249V29.5909Z\" />\n </g>\n </svg>\n );\n case 'apptile':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 103 40\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H28C34.6274 0 40 5.37258 40 12V28C40 34.6274 34.6274 40 28 40H12C5.37258 40 0 34.6274 0 28V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('blurple')\n }\n />\n <path\n d=\"M32.3962 18.6213H25.1467L31.4251 14.9965L30.0463 12.6077L23.768 16.2325L27.392 9.95464L25.0032 8.57506L21.3792 14.8529V7.604H18.6215V14.8536L14.9961 8.57506L12.6081 9.95395L16.2327 16.2318L9.95437 12.6077L8.57552 14.9958L14.8539 18.6206H7.60449V21.3784H14.8532L8.57552 25.0032L9.95437 27.392L16.2321 23.7679L12.6074 30.0457L14.9961 31.4246L18.6208 25.1461V32.3957H21.3785V25.1468L25.0025 31.4246L27.3912 30.0457L23.7665 23.7672L30.0449 27.392L31.4238 25.0032L25.1461 21.3791H32.3947V18.6213H32.3962ZM20.0003 23.7505C17.921 23.7505 16.2355 22.0651 16.2355 19.9856C16.2355 17.9062 17.921 16.2207 20.0003 16.2207C22.0797 16.2207 23.7651 17.9062 23.7651 19.9856C23.7651 22.0651 22.0797 23.7505 20.0003 23.7505Z\"\n fill=\"white\"\n />\n <g fill={wordmarkColor}>\n <path d=\"M47.6001 29.5076V10H51.1816V29.5076H47.6001Z\" />\n <path d=\"M81.9516 16.2509H85.3718V17.8682C86.0987 16.575 87.7961 15.8739 89.2499 15.8739C91.0549 15.8739 92.5086 16.6556 93.1818 18.0832C94.2314 16.4659 95.633 15.8739 97.3834 15.8739C99.8338 15.8739 102.177 17.356 102.177 20.9122V29.5076H98.7027V21.6402C98.7027 20.2119 98.0019 19.1345 96.3591 19.1345C94.8238 19.1345 93.9079 20.3202 93.9079 21.7485V29.5084H90.3541V21.6402C90.3541 20.2119 89.6272 19.1345 88.0104 19.1345C86.4483 19.1345 85.5323 20.2933 85.5323 21.7485V29.5084H81.9516V16.2509Z\" />\n <path d=\"M59.2755 29.8916C55.2407 29.8916 52.3189 26.899 52.3189 22.8795C52.3189 18.9241 55.2312 15.8603 59.2755 15.8603C63.3394 15.8603 66.232 18.9526 66.232 22.8795C66.232 26.8697 63.3086 29.8916 59.2755 29.8916ZM59.2755 19.1051C57.1944 19.1051 55.5018 20.7983 55.5018 22.8803C55.5018 24.9624 57.1944 26.6555 59.2755 26.6555C61.3565 26.6555 63.0484 24.9624 63.0484 22.8803C63.0484 20.7983 61.3565 19.1051 59.2755 19.1051Z\" />\n <path d=\"M73.8823 29.8916C69.8476 29.8916 66.9258 26.899 66.9258 22.8795C66.9258 18.9241 69.8381 15.8603 73.8823 15.8603C77.9463 15.8603 80.8389 18.9526 80.8389 22.8795C80.8389 26.8697 77.9139 29.8916 73.8823 29.8916ZM73.8823 19.0601C71.7776 19.0601 70.0652 20.7738 70.0652 22.8788C70.0652 24.9837 71.7776 26.6974 73.8823 26.6974C75.9871 26.6974 77.6995 24.9837 77.6995 22.8788C77.6988 20.7738 75.9863 19.0601 73.8823 19.0601Z\" />\n </g>\n </svg>\n );\n case 'product':\n return (\n <svg viewBox=\"0 0 112 40\" fill=\"none\" aria-label=\"Loom\" {...props}>\n <path\n d=\"M0 9.25C0 4.14137 4.14137 0 9.25 0H30.75C35.8586 0 40 4.14137 40 9.25V30.75C40 35.8586 35.8586 40 30.75 40H9.25C4.14137 40 0 35.8586 0 30.75V9.25Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M32.3962 18.6756H25.1467L31.4251 15.0508L30.0463 12.662L23.768 16.2868L27.392 10.009L25.0032 8.62938L21.3792 14.9072V7.65833H18.6215V14.9079L14.9961 8.62938L12.6081 10.0083L16.2327 16.2861L9.95437 12.662L8.57552 15.0501L14.8539 18.6749H7.60449V21.4327H14.8532L8.57552 25.0575L9.95437 27.4463L16.2321 23.8222L12.6074 30.1L14.9961 31.4789L18.6208 25.2004V32.45H21.3785V25.2011L25.0025 31.4789L27.3912 30.1L23.7665 23.8215L30.0449 27.4463L31.4238 25.0575L25.1461 21.4334H32.3947L32.3962 18.6756ZM20.0003 23.8048C17.921 23.8048 16.2355 22.1194 16.2355 20.0399C16.2355 17.9605 17.921 16.275 20.0003 16.275C22.0797 16.275 23.7651 17.9605 23.7651 20.0399C23.7651 22.1194 22.0797 23.8048 20.0003 23.8048Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.3743 15.1855C71.6352 15.1855 72.7252 15.459 73.6442 16.0059C74.5709 16.5527 75.2848 17.3237 75.7861 18.3187C76.2874 19.3061 76.5381 20.4568 76.5381 21.7708C76.5381 23.0773 76.2874 24.2242 75.7861 25.2116C75.2848 26.199 74.5709 26.9661 73.6442 27.513C72.7252 28.0599 71.6352 28.3333 70.3743 28.3333C69.1135 28.3333 68.0197 28.0599 67.0931 27.513C66.174 26.9661 65.4639 26.199 64.9626 25.2116C64.4613 24.2242 64.2106 23.0773 64.2106 21.7708C64.2106 20.4568 64.4613 19.3061 64.9626 18.3187C65.4639 17.3237 66.174 16.5527 67.0931 16.0059C68.0197 15.459 69.1135 15.1855 70.3743 15.1855ZM70.3743 17.7376C69.7287 17.7376 69.1895 17.9161 68.7565 18.2731C68.3312 18.6225 68.0084 19.101 67.7881 19.7087C67.5754 20.3087 67.4691 20.9923 67.4691 21.7594C67.4691 22.519 67.5754 23.2026 67.7881 23.8102C68.0084 24.4179 68.3312 24.9002 68.7565 25.2572C69.1895 25.6066 69.7287 25.7812 70.3743 25.7812C71.02 25.7812 71.5592 25.6066 71.9922 25.2572C72.4251 24.9002 72.7479 24.4179 72.9606 23.8102C73.1733 23.2026 73.2796 22.519 73.2796 21.7594C73.2796 20.9999 73.1733 20.3163 72.9606 19.7087C72.7479 19.101 72.4251 18.6225 71.9922 18.2731C71.5592 17.9161 71.02 17.7376 70.3743 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M84.6387 15.1855C85.8995 15.1855 86.9895 15.459 87.9085 16.0059C88.8352 16.5527 89.5491 17.3237 90.0505 18.3187C90.5518 19.3061 90.8024 20.4568 90.8024 21.7708C90.8024 23.0773 90.5518 24.2242 90.0505 25.2116C89.5491 26.199 88.8352 26.9661 87.9085 27.513C86.9895 28.0599 85.8995 28.3333 84.6387 28.3333C83.3778 28.3333 82.2841 28.0599 81.3574 27.513C80.4384 26.9661 79.7282 26.199 79.2269 25.2116C78.7256 24.2242 78.4749 23.0773 78.4749 21.7708C78.4749 20.4568 78.7256 19.3061 79.2269 18.3187C79.7282 17.3237 80.4384 16.5527 81.3574 16.0059C82.2841 15.459 83.3778 15.1855 84.6387 15.1855ZM84.6387 17.7376C83.9931 17.7376 83.4538 17.9161 83.0208 18.2731C82.5955 18.6225 82.2727 19.101 82.0524 19.7087C81.8397 20.3087 81.7334 20.9923 81.7334 21.7594C81.7334 22.519 81.8397 23.2026 82.0524 23.8102C82.2727 24.4179 82.5955 24.9002 83.0208 25.2572C83.4538 25.6066 83.9931 25.7812 84.6387 25.7812C85.2843 25.7812 85.8236 25.6066 86.2565 25.2572C86.6895 24.9002 87.0123 24.4179 87.2249 23.8102C87.4376 23.2026 87.5439 22.519 87.5439 21.7594C87.5439 20.9999 87.4376 20.3163 87.2249 19.7087C87.0123 19.101 86.6895 18.6225 86.2565 18.2731C85.8236 17.9161 85.2843 17.7376 84.6387 17.7376Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M54.9365 25.3483H62.3421V28.0827H51.6667V11.1068H54.9365V25.3483Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M107.368 15.1514C108.135 15.1514 108.823 15.3185 109.43 15.6527C110.046 15.9869 110.528 16.4768 110.877 17.1224C111.234 17.768 111.413 18.5579 111.413 19.4922V28.0827H108.211V20.0505C108.211 19.2985 108.006 18.744 107.596 18.387C107.186 18.0301 106.688 17.8516 106.104 17.8516C105.655 17.8516 105.264 17.9503 104.93 18.1478C104.603 18.3377 104.349 18.6073 104.167 18.9567C103.992 19.3061 103.905 19.7125 103.905 20.1758V28.0827H100.794V19.9365C100.794 19.2985 100.601 18.7934 100.213 18.4212C99.8334 18.0414 99.3397 17.8516 98.7321 17.8516C98.3143 17.8516 97.9346 17.9465 97.5928 18.1364C97.251 18.3263 96.9813 18.6073 96.7839 18.9795C96.5864 19.3441 96.4876 19.796 96.4876 20.3353V28.0827H93.2747V15.3451H96.2712L96.3786 17.806C96.5512 17.3255 96.7692 16.9151 97.0345 16.5755C97.4219 16.0894 97.8738 15.7324 98.3903 15.5046C98.9068 15.2691 99.4461 15.1514 100.008 15.1514C100.927 15.1514 101.668 15.44 102.23 16.0173C102.677 16.4764 103.023 17.1235 103.273 17.9574C103.451 17.4646 103.688 17.038 103.984 16.6781C104.417 16.1616 104.922 15.778 105.5 15.5273C106.085 15.2767 106.707 15.1514 107.368 15.1514Z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n case 'marketing':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 170 48\" fill=\"none\" {...props}>\n <path\n d=\"M154.37 25.212V38H150.414V24.108C150.414 19.968 148.758 18.128 144.986 18.128C141.306 18.128 138.776 20.566 138.776 25.212V38H134.82V15H138.776V18.772C140.248 16.058 142.962 14.54 146.044 14.54C149.954 14.54 152.622 16.518 153.772 20.152C155.06 16.61 158.142 14.54 161.96 14.54C167.112 14.54 169.964 18.036 169.964 24.522V38H166.008V25.212C166.008 20.474 164.352 18.128 160.58 18.128C156.9 18.128 154.37 20.566 154.37 25.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M119.367 38.46C112.467 38.46 108.419 33.354 108.419 26.454C108.419 19.554 112.467 14.54 119.367 14.54C126.221 14.54 130.223 19.554 130.223 26.454C130.223 33.354 126.221 38.46 119.367 38.46ZM119.367 18.22C114.445 18.22 112.283 22.084 112.283 26.454C112.283 30.824 114.445 34.78 119.367 34.78C124.243 34.78 126.359 30.824 126.359 26.454C126.359 22.084 124.243 18.22 119.367 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M94.3452 38.46C87.4452 38.46 83.3972 33.354 83.3972 26.454C83.3972 19.554 87.4452 14.54 94.3452 14.54C101.199 14.54 105.201 19.554 105.201 26.454C105.201 33.354 101.199 38.46 94.3452 38.46ZM94.3452 18.22C89.4232 18.22 87.2612 22.084 87.2612 26.454C87.2612 30.824 89.4232 34.78 94.3452 34.78C99.2212 34.78 101.337 30.824 101.337 26.454C101.337 22.084 99.2212 18.22 94.3452 18.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M64.094 7.77783H68.234V34.0438H81.942V37.9998H64.094V7.77783Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 12C0 5.37258 5.37258 0 12 0H36C42.6274 0 48 5.37258 48 12V36C48 42.6274 42.6274 48 36 48H12C5.37258 48 0 42.6274 0 36V12Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3572)\">\n <path\n d=\"M38.0625 22.9644H29.9846L36.9804 18.9253L35.4441 16.2635L28.4482 20.3026L32.4864 13.3073L29.8246 11.77L25.7864 18.7653V10.688H22.7136V18.7661L18.6738 11.77L16.0129 13.3065L20.0518 20.3018L13.0559 16.2635L11.5195 18.9246L18.5154 22.9636H10.4375V26.0366H18.5146L11.5195 30.0757L13.0559 32.7375L20.0511 28.6991L16.0121 35.6945L18.6738 37.2309L22.7128 30.2349V38.313H25.7857V30.2356L29.8239 37.2309L32.4855 35.6945L28.4466 28.6984L35.4425 32.7375L36.979 30.0757L29.9838 26.0373H38.0609V22.9644H38.0625ZM24.25 28.6798C21.933 28.6798 20.0549 26.8018 20.0549 24.4847C20.0549 22.1676 21.933 20.2895 24.25 20.2895C26.567 20.2895 28.445 22.1676 28.445 24.4847C28.445 26.8018 26.567 28.6798 24.25 28.6798Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3572\">\n <rect\n width=\"39\"\n height=\"39\"\n fill=\"white\"\n transform=\"translate(4.75 5)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n case 'attributed':\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 232 75\" fill=\"none\" {...props}>\n <path\n d=\"M181.37 52.212V65H177.414V51.108C177.414 46.968 175.758 45.128 171.986 45.128C168.306 45.128 165.776 47.566 165.776 52.212V65H161.82V42H165.776V45.772C167.248 43.058 169.962 41.54 173.044 41.54C176.954 41.54 179.622 43.518 180.772 47.152C182.06 43.61 185.142 41.54 188.96 41.54C194.112 41.54 196.964 45.036 196.964 51.522V65H193.008V52.212C193.008 47.474 191.352 45.128 187.58 45.128C183.9 45.128 181.37 47.566 181.37 52.212Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.367 65.46C139.467 65.46 135.419 60.354 135.419 53.454C135.419 46.554 139.467 41.54 146.367 41.54C153.221 41.54 157.223 46.554 157.223 53.454C157.223 60.354 153.221 65.46 146.367 65.46ZM146.367 45.22C141.445 45.22 139.283 49.084 139.283 53.454C139.283 57.824 141.445 61.78 146.367 61.78C151.243 61.78 153.359 57.824 153.359 53.454C153.359 49.084 151.243 45.22 146.367 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M121.345 65.46C114.445 65.46 110.397 60.354 110.397 53.454C110.397 46.554 114.445 41.54 121.345 41.54C128.199 41.54 132.201 46.554 132.201 53.454C132.201 60.354 128.199 65.46 121.345 65.46ZM121.345 45.22C116.423 45.22 114.261 49.084 114.261 53.454C114.261 57.824 116.423 61.78 121.345 61.78C126.221 61.78 128.337 57.824 128.337 53.454C128.337 49.084 126.221 45.22 121.345 45.22Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M91.094 34.7778H95.234V61.0438H108.942V64.9998H91.094V34.7778Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M155.186 11.9857C155.186 14.5147 156.33 16.5017 160.967 17.4049C163.676 18.007 164.278 18.4285 164.278 19.3316C164.278 20.2348 163.676 20.7767 161.749 20.7767C159.521 20.7767 156.872 19.994 155.126 18.9704V23.0648C156.511 23.7271 158.317 24.5099 161.749 24.5099C166.566 24.5099 168.433 22.3423 168.433 19.2112M168.433 19.2714C168.433 16.2608 166.867 14.8759 162.351 13.9125C159.883 13.3706 159.281 12.8287 159.281 12.046C159.281 11.0826 160.184 10.6611 161.81 10.6611C163.797 10.6611 165.723 11.2632 167.59 12.1062V8.19237C166.265 7.53004 164.278 7.04834 161.93 7.04834C157.474 7.04834 155.186 8.97513 155.186 12.1062\"\n fill={wordmarkColor}\n />\n <path\n d=\"M216.844 7.16846V24.329H220.517V11.2629L222.022 14.695L227.2 24.329H231.776V7.16846H228.164V18.2475L226.779 14.9961L222.624 7.16846H216.844Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M193.602 7.16846H189.628V24.329H193.602V7.16846Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M185.052 19.2109C185.052 16.2003 183.486 14.8154 178.97 13.852C176.501 13.3101 175.899 12.7682 175.899 11.9854C175.899 11.022 176.802 10.6005 178.428 10.6005C180.415 10.6005 182.342 11.2027 184.209 12.0456V8.13183C182.884 7.46949 180.897 6.98779 178.549 6.98779C174.093 6.98779 171.805 8.91459 171.805 12.0456C171.805 14.5745 172.949 16.5615 177.585 17.4647C180.295 18.0669 180.897 18.4883 180.897 19.3915C180.897 20.2947 180.295 20.8366 178.368 20.8366C176.14 20.8366 173.491 20.0539 171.745 19.0302V23.1247C173.13 23.787 174.936 24.5698 178.368 24.5698C183.125 24.5698 185.052 22.4021 185.052 19.2109Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M124.237 7.16846V24.329H132.426L133.69 20.5958H128.211V7.16846H124.237Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M108.04 7.16846V10.8414H112.436V24.329H116.47V10.8414H121.227V7.16846H108.04Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M102.199 7.16846H96.961L91 24.329H95.5761L96.4191 21.4388C97.4427 21.7398 98.5265 21.9205 99.6104 21.9205C100.694 21.9205 101.778 21.7398 102.802 21.4388L103.645 24.329H108.221C108.16 24.329 102.199 7.16846 102.199 7.16846ZM99.5501 18.3077C98.7674 18.3077 98.0448 18.1873 97.3825 18.0067L99.5501 10.5403L101.718 18.0067C101.055 18.1873 100.333 18.3077 99.5501 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M146.576 7.16846H141.337L135.316 24.329H139.892L140.735 21.4388C141.759 21.7398 142.843 21.9205 143.927 21.9205C145.01 21.9205 146.094 21.7398 147.118 21.4388L147.961 24.329H152.537L146.576 7.16846ZM143.927 18.3077C143.144 18.3077 142.421 18.1873 141.759 18.0067L143.927 10.5403L146.094 18.0067C145.432 18.1873 144.709 18.3077 143.927 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M207.992 7.16846H202.754L196.793 24.329H201.369L202.212 21.4388C203.236 21.7398 204.319 21.9205 205.403 21.9205C206.487 21.9205 207.571 21.7398 208.595 21.4388L209.438 24.329H214.014L207.992 7.16846ZM205.403 18.3077C204.621 18.3077 203.898 18.1873 203.236 18.0067L205.403 10.5403L207.571 18.0067C206.909 18.1873 206.126 18.3077 205.403 18.3077Z\"\n fill={wordmarkColor}\n />\n <path\n d=\"M0 18.75C0 8.39466 8.39466 0 18.75 0H56.25C66.6053 0 75 8.39466 75 18.75V56.25C75 66.6053 66.6053 75 56.25 75H18.75C8.39466 75 0 66.6053 0 56.25V18.75Z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <g clipPath=\"url(#clip0_45829_3571)\">\n <path\n d=\"M59.4729 35.8821H46.8511L57.7822 29.571L55.3817 25.412L44.4506 31.723L50.7602 20.7928L46.6012 18.3909L40.2915 29.3211V16.7002H35.4902V29.3223L29.1781 18.3909L25.0204 20.7916L31.3312 31.7218L20.4001 25.412L17.9995 29.5698L28.9306 35.8809H16.3088V40.6824H28.9294L17.9995 46.9934L20.4001 51.1525L31.33 44.8426L25.0192 55.7728L29.1781 58.1735L35.489 47.2422V59.8643H40.2904V47.2434L46.6 58.1735L50.7589 55.7728L44.4481 44.8415L55.3792 51.1525L57.7799 46.9934L46.85 40.6835H59.4704V35.8821H59.4729ZM37.8909 44.8124C34.2705 44.8124 31.3361 41.878 31.3361 38.2575C31.3361 34.637 34.2705 31.7025 37.8909 31.7025C41.5112 31.7025 44.4456 34.637 44.4456 38.2575C44.4456 41.878 41.5112 44.8124 37.8909 44.8124Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_45829_3571\">\n <rect\n width=\"60.9375\"\n height=\"60.9375\"\n fill=\"white\"\n transform=\"translate(7.42188 7.8125)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n default:\n return (\n <svg aria-label=\"Loom\" viewBox=\"0 0 100 30\" fill=\"none\" {...props}>\n <title>Loom</title>\n <path\n d=\"M30.01 13.43h-9.142l7.917-4.57-1.57-2.72-7.918 4.57 4.57-7.915-2.72-1.57-4.571 7.913V0h-3.142v9.139L8.863 1.225l-2.721 1.57 4.57 7.913L2.796 6.14 1.225 8.86l7.917 4.57H0v3.141h9.141l-7.916 4.57 1.57 2.72 7.918-4.57-4.571 7.915 2.72 1.57 4.572-7.914V30h3.142v-9.334l4.655 8.06 2.551-1.472-4.656-8.062 8.087 4.668 1.571-2.72-7.916-4.57h9.141v-3.14h.001zm-15.005 5.84a4.271 4.271 0 11-.001-8.542 4.271 4.271 0 01.001 8.542z\"\n fill={\n symbolColor\n ? getColorValue(symbolColor)\n : getColorValue('primary')\n }\n />\n <path\n d=\"M38.109 25.973V4.027h4.028v21.946h-4.028zM76.742 11.059h3.846v1.82c.818-1.455 2.727-2.244 4.362-2.244 2.03 0 3.665.88 4.422 2.485 1.18-1.82 2.756-2.485 4.725-2.485 2.756 0 5.39 1.667 5.39 5.668v9.67h-3.906v-8.851c0-1.607-.788-2.82-2.636-2.82-1.727 0-2.757 1.335-2.757 2.942v8.73h-3.996v-8.852c0-1.607-.818-2.82-2.636-2.82-1.757 0-2.787 1.305-2.787 2.942v8.73h-4.027V11.059zM51.24 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.288 7.889-7.824 7.889zm0-12.135a4.25 4.25 0 00-4.244 4.247 4.25 4.25 0 004.244 4.247 4.25 4.25 0 004.243-4.247 4.25 4.25 0 00-4.243-4.247zM67.667 26.405c-4.538 0-7.824-3.367-7.824-7.889 0-4.45 3.276-7.896 7.824-7.896 4.57 0 7.824 3.478 7.824 7.896 0 4.49-3.29 7.889-7.824 7.889zm0-12.186a4.3 4.3 0 00-4.293 4.296 4.3 4.3 0 004.293 4.296 4.3 4.3 0 004.293-4.296 4.3 4.3 0 00-4.293-4.296z\"\n fill={wordmarkColor}\n />\n </svg>\n );\n }\n};\n\nconst LogoWrapper = styled.span<LogoWrapperProps>`\n display: block;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n\n & > svg.lns-logoSvg {\n display: block;\n width: 100%;\n height: 100%;\n ${props => props.maxWidth && getSize('max-width', props.maxWidth)};\n }\n`;\n\nconst Logo = ({\n variant = 'combined',\n maxWidth,\n symbolColor,\n wordmarkColor = 'body',\n brand = 'product',\n customId = '',\n ...props\n}: LogoProps &\n React.ComponentProps<typeof LogoWrapper> &\n Omit<\n LensSpanProps,\n keyof LogoProps & React.ComponentProps<typeof LogoWrapper>\n >) => (\n <LogoWrapper variant={variant} maxWidth={maxWidth} {...props}>\n {variant === 'combined' && (\n <CombinedLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n wordmarkColor={getColorValue(wordmarkColor)}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'symbol' && (\n <SymbolLogoSvg\n brand={brand}\n symbolColor={symbolColor}\n customId={customId}\n className=\"lns-logoSvg\"\n />\n )}\n {variant === 'wordmark' && (\n <WordmarkLogoSvg\n brand={brand}\n wordmarkColor={getColorValue(wordmarkColor)}\n className=\"lns-logoSvg\"\n />\n )}\n </LogoWrapper>\n);\n\nexport const availableVariants = ['combined', 'symbol', 'wordmark'];\n\ntype LogoProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n symbolColor?: string;\n wordmarkColor?: string;\n customId?: string;\n};\n\ntype LogoWrapperProps = {\n variant?: 'combined' | 'symbol' | 'wordmark';\n brand?: 'loom' | 'ai' | 'apptile' | 'product' | 'marketing' | 'attributed';\n maxWidth?: number | string;\n};\n\nexport default Logo;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { LENS_CDN } from '../../constants/routes';\n\nconst sizeToPx = {\n small: '40px',\n medium: '80px',\n};\n\nconst LogoLoaderWrapper = styled.span<LogoLoaderProps>`\n animation: ${props => props.animation};\n background-image: url(${LENS_CDN}/${props => props.brand}-loader.svg);\n background-size: cover;\n background-position: left center;\n display: block;\n height: ${props => sizeToPx[props.size]};\n width: ${props => sizeToPx[props.size]};\n\n @keyframes spin {\n 100% {\n background-position: right center;\n }\n }\n`;\n\nconst LogoLoader = ({\n animation = 'spin 2s infinite steps(49) forwards',\n brand = 'loom',\n size = 'medium',\n}: LogoLoaderProps & React.ComponentProps<typeof LogoLoaderWrapper>) => {\n return <LogoLoaderWrapper animation={animation} brand={brand} size={size} />;\n};\n\ntype LogoLoaderProps = {\n animation?: string;\n brand?: 'loom' | 'ai';\n size?: 'small' | 'medium';\n};\n\nexport default LogoLoader;\n", "export const LENS_CDN = 'https://cdn.loom.com/assets/lens';\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps, ResponsiveType } from '../../types';\nimport {\n getRadius,\n getSize,\n getSizeValue,\n getColorValue,\n} from '../../utilities';\n\nconst ssrComment = `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */`;\n\nconst variantStyles = {\n border: css`\n .ListRowWrapper:last-child {\n border-bottom: 1px solid ${getColorValue('border')};\n }\n\n .ListRowWrapper,\n .ListRowWrapper:first-child ${ssrComment} {\n border-top: 1px solid ${getColorValue('border')};\n }\n `,\n stripe: css`\n .ListRowWrapper {\n &:nth-child(odd) ${ssrComment} {\n background-color: ${getColorValue('backgroundSecondary')};\n }\n }\n\n .ListRowWrapper {\n ${getRadius('medium')};\n }\n `,\n clear: css``,\n};\n\nconst ListWrapper = styled.div<ListProps>`\n .ListRowWrapper {\n grid-template-columns: ${props => props.columns && props.columns};\n ${props => getSize('gap', props.gap)};\n }\n\n ${props => variantStyles[props.variant]};\n`;\n\nconst ListRowWrapper = styled.div<ListRowWrapperProps>`\n display: grid;\n align-items: center;\n text-decoration: none;\n color: inherit;\n\n ${props => getSize('height', props.height)};\n ${props => getSize('min-height', props.minHeight)};\n ${props => getSize('max-height', props.maxHeight)};\n ${props => getSize('padding', props.padding)};\n ${props => getSize('padding-top', props.paddingTop)};\n ${props => getSize('padding-bottom', props.paddingBottom)};\n ${props => getSize('padding-left', props.paddingLeft)};\n ${props => getSize('padding-right', props.paddingRight)};\n\n ${props =>\n props.paddingY &&\n `\n ${getSize('padding-top', props.paddingY)}\n ${getSize('padding-bottom', props.paddingY)}\n `};\n\n ${props =>\n props.paddingX &&\n `\n ${getSize('padding-left', props.paddingX)}\n ${getSize('padding-right', props.paddingX)}\n `};\n\n ${props => (props.onClick || props.href) && `cursor: pointer;`};\n\n &.ListRowWrapper:nth-child(even),\n &.ListRowWrapper:nth-child(odd) ${ssrComment} {\n ${props =>\n props.backgroundColor &&\n `background-color: ${getColorValue(props.backgroundColor)}`};\n\n &:hover {\n ${props =>\n (props.onClick || props.href) &&\n `\n background-color: ${getColorValue('backgroundHover')};\n border-color: transparent;\n ${getRadius('medium')};\n `};\n }\n }\n`;\n\nexport const ListRow = ({\n children,\n htmlTag = 'li',\n className,\n backgroundColor,\n onClick,\n href,\n role,\n ...props\n}: ListRowProps) => {\n const classNameFromProp = className ? ` ${className}` : ``;\n\n const nonInteractiveElements = [\n 'div',\n 'span',\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'section',\n 'article',\n 'header',\n 'footer',\n 'main',\n 'aside',\n 'nav',\n ];\n\n const isAutoInteractive = !htmlTag && onClick;\n\n let isNonInteractive = false;\n const actualHtmlTag = htmlTag || 'div';\n if (!isAutoInteractive) {\n isNonInteractive = nonInteractiveElements.includes(actualHtmlTag);\n }\n\n const interactiveProps =\n !isNonInteractive || isAutoInteractive\n ? {\n onClick,\n onKeyDown: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onClick?.(e);\n }\n },\n }\n : {};\n\n return (\n <ListRowWrapper\n role={role || (htmlTag === 'li' ? 'listitem' : undefined)}\n className={`ListRowWrapper${classNameFromProp}`}\n as={htmlTag}\n backgroundColor={backgroundColor}\n href={href}\n {...interactiveProps}\n {...props}\n >\n {children}\n </ListRowWrapper>\n );\n};\n\nconst formatColumns = columns =>\n columns.map(columnValue => getSizeValue(columnValue)).join(' ');\n\nconst List = ({\n children,\n columns,\n gap,\n variant = 'stripe',\n htmlTag = 'ul',\n ...props\n}: ListProps &\n React.ComponentProps<typeof ListWrapper> &\n Omit<\n LensDivProps,\n keyof ListProps & React.ComponentProps<typeof ListWrapper>\n >) => {\n let processedChildren = children;\n if (htmlTag === 'ul') {\n processedChildren = React.Children.map(children, child => {\n if (React.isValidElement(child) && child.type === ListRow) {\n return React.cloneElement(child as React.ReactElement<ListRowProps>, {\n htmlTag: 'li',\n });\n }\n return child;\n });\n }\n\n return (\n <ListWrapper\n as={htmlTag}\n columns={columns && formatColumns(columns)}\n gap={gap}\n variant={variant}\n role={htmlTag === 'ul' ? 'list' : undefined}\n {...props}\n >\n {processedChildren}\n </ListWrapper>\n );\n};\n\ninterface SharedProps {\n padding?: ResponsiveType<string | number>;\n paddingTop?: ResponsiveType<string | number>;\n paddingBottom?: ResponsiveType<string | number>;\n paddingLeft?: ResponsiveType<string | number>;\n paddingRight?: ResponsiveType<string | number>;\n paddingY?: ResponsiveType<string | number>;\n paddingX?: ResponsiveType<string | number>;\n height?: ResponsiveType<string | number>;\n minHeight?: ResponsiveType<string | number>;\n maxHeight?: ResponsiveType<string | number>;\n backgroundColor?: string;\n}\n\ninterface ListRowProps extends SharedProps {\n className?: string;\n htmlTag?: keyof JSX.IntrinsicElements;\n children?: React.ReactNode;\n onClick?: React.ReactEventHandler;\n href?: string;\n role?: string;\n}\n\ninterface ListRowWrapperProps extends SharedProps {\n className?: string;\n as?: string;\n children?: React.ReactNode;\n href?: string;\n onClick?: React.ReactEventHandler;\n}\n\ntype ListProps = {\n columns?: (string | number)[];\n gap?: ResponsiveType<string | number>;\n variant?: 'clear' | 'border' | 'stripe';\n htmlTag?: keyof JSX.IntrinsicElements;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\nexport default List;\n", "import styled from '@emotion/styled';\nimport React, { useCallback, useMemo, useRef, useId } from 'react';\n\nimport type { LensButtonProps } from '../../types';\nimport {\n getColorValue,\n getFocusRing,\n getFontWeight,\n getRadius,\n getSize,\n getSizeValue,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Tooltip, { type TooltipProps } from '../tooltip/tooltip';\nimport Icon from '../icon/icon';\n\nconst TabsContext = React.createContext<{ isPilledDesign?: boolean }>({});\n\nconst negativeScrollOffset = scrollOffset =>\n `calc(-1 * ${getSizeValue(scrollOffset)})`;\n\nconst Wrapper = styled.div<WrapperProps>`\n ${props =>\n props.scrollOffset &&\n `margin: 0 ${negativeScrollOffset(props.scrollOffset)};\n `};\n`;\n\nconst TabsNav = styled.div<TabsNavProps>`\n --activeIndicatorHeight: 3px;\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${props =>\n props.hasBottomBorder && 'border-bottom: 1px solid var(--lns-color-border)'}\n\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n ${props => props.hasFullTabs && `flex: 1 0`};\n &:not(:first-of-type) {\n margin-left: 1rem;\n }\n }\n\n button {\n ${props => props.hasFullTabs && `width: 100%;`};\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabsNavPilled = styled.div<TabsNavProps>`\n ${getRadius('200')};\n background-color: var(--lns-color-backgroundSecondary);\n\n padding: var(--lns-space-xsmall);\n\n display: flex;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n ${props => props.scrollOffset && getSize('padding-left', props.scrollOffset)};\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n > * {\n flex: 1 0;\n }\n\n button {\n width: 100%;\n }\n\n ::after {\n content: '';\n flex-shrink: 0;\n ${props => props.scrollOffset && getSize('width', props.scrollOffset)};\n }\n`;\n\nconst TabWrapper = styled.button<TabWrapperProps>`\n appearance: none;\n font: inherit;\n background: transparent;\n border: 0;\n ${getRadius('medium')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n padding: 0 0 calc(var(--lns-space-small) + var(--activeIndicatorHeight)) 0;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `border-color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('body')};\n transition: 0.3s color;\n }\n\n &::after {\n bottom: 0;\n ${getRadius('medium')};\n content: '';\n height: var(--activeIndicatorHeight);\n position: absolute;\n width: 100%;\n ${props =>\n props.isActive && `background-color: ${getColorValue('primary')}`};\n }\n`;\n\nconst TabWrapperPilled = styled.button<TabWrapperProps>`\n padding: ${u(1)} 0;\n\n appearance: none;\n font: inherit;\n background: transparent;\n border: none;\n ${getRadius('175')};\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n color: inherit;\n text-decoration: none;\n flex-shrink: 0;\n ${getFontWeight('bold')};\n\n transition: 0.6s color;\n white-space: nowrap;\n color: ${props =>\n getColorValue(\n props.isActive\n ? 'body'\n : props.disabled\n ? 'disabledContent'\n : 'bodyDimmed'\n )};\n ${props =>\n props.isActive &&\n `background-color: ${getColorValue('background')};\n color: ${getColorValue('primary')};\n `};\n\n &:focus,\n &:focus-visible {\n outline: 1px solid transparent;\n }\n\n &:focus-visible {\n ${getFocusRing(undefined, 'inset')};\n }\n\n &:hover:not(:disabled) {\n color: ${getColorValue('primary')};\n transition: 0.3s color;\n }\n`;\n\n/** @deprecated Use tabs prop instead */\nexport const Tab = ({\n children,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n ...props\n}: TabProps &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabProps & React.ComponentProps<typeof TabWrapper>\n >) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n if (isPilledDesign) {\n return (\n <TabWrapperPilled\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapperPilled>\n );\n }\n\n return (\n <TabWrapper\n as={htmlTag}\n isActive={isActive}\n icon={icon}\n role=\"tab\"\n aria-selected={isActive}\n disabled={isDisabled}\n {...props}\n >\n {icon && (\n <Container htmlTag=\"span\" paddingRight={children && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n )}\n {children}\n </TabWrapper>\n );\n};\n\n/** @deprecated Use tabs prop instead */\nconst TabsDeprecated = ({\n children,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabsContent = isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {children}\n </TabsNav>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{tabsContent}</Wrapper>;\n }\n\n return (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n};\n\nconst ConditionalTooltip = ({\n tooltipProps,\n children,\n tooltipId,\n}: {\n tooltipProps: TooltipProps;\n children: React.ReactNode;\n tooltipId: string;\n}) => {\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps} tooltipId={tooltipId} tabIndex={-1}>\n {children}\n </Tooltip>\n );\n }\n return children;\n};\n\nexport const TabNew = React.forwardRef<\n HTMLButtonElement,\n TabItem &\n React.ComponentProps<typeof TabWrapper> &\n Omit<\n LensButtonProps,\n keyof TabItem & React.ComponentProps<typeof TabWrapper>\n >\n>(\n (\n {\n tabContent,\n tooltipProps,\n isActive,\n htmlTag = 'button',\n icon,\n isDisabled = false,\n onKeyDown,\n onClick,\n ...props\n },\n ref\n ) => {\n const { isPilledDesign } = React.useContext(TabsContext);\n\n const tooltipId = useId();\n\n const componentProps = {\n as: htmlTag,\n isActive,\n icon,\n role: 'tab',\n 'aria-selected': isActive,\n disabled: isDisabled,\n tabIndex: isActive ? 0 : -1,\n 'aria-describedby': tooltipProps ? tooltipId : undefined,\n onKeyDown,\n onClick,\n ref,\n ...props,\n };\n\n return (\n <ConditionalTooltip tooltipProps={tooltipProps} tooltipId={tooltipId}>\n {isPilledDesign ? (\n <TabWrapperPilled {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapperPilled>\n ) : (\n <TabWrapper {...componentProps}>\n {icon ? (\n <Container htmlTag=\"span\" paddingRight={tabContent && 'small'}>\n <Icon icon={icon} color=\"currentColor\" />\n </Container>\n ) : null}\n {tabContent}\n </TabWrapper>\n )}\n </ConditionalTooltip>\n );\n }\n);\n\nTabNew.displayName = 'TabNew';\n\nexport const TabsNew = ({\n tabs,\n scrollOffset,\n hasFullTabs,\n isPilledDesign,\n hasBottomBorder = false,\n ...props\n}: TabsProps) => {\n const tabRefs = useRef<{ [key: string]: HTMLButtonElement | null }>({});\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent, currentTabIndex: number) => {\n let newIndex = currentTabIndex;\n\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n newIndex =\n currentTabIndex > 0 ? currentTabIndex - 1 : tabs.length - 1;\n break;\n case 'ArrowRight':\n event.preventDefault();\n newIndex =\n currentTabIndex < tabs.length - 1 ? currentTabIndex + 1 : 0;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n tabRefs.current[newIndex]?.focus();\n },\n [tabs.length]\n );\n\n const setTabRef = useCallback(\n (tabIndex: number) => (ref: HTMLButtonElement | null) => {\n tabRefs.current[tabIndex] = ref;\n },\n []\n );\n\n const tabsToRender = useMemo(\n () =>\n tabs.map((tabProps, index) => (\n <TabNew\n key={index}\n ref={setTabRef(index)}\n onKeyDown={e => handleKeyDown(e, index)}\n {...tabProps}\n />\n )),\n [tabs, handleKeyDown, setTabRef]\n );\n\n const tabsContent = useMemo(\n () =>\n isPilledDesign ? (\n <TabsNavPilled\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNavPilled>\n ) : (\n <TabsNav\n hasFullTabs={hasFullTabs}\n scrollOffset={scrollOffset}\n hasBottomBorder={hasBottomBorder}\n role=\"tablist\"\n {...props}\n >\n {tabsToRender}\n </TabsNav>\n ),\n [\n tabsToRender,\n hasFullTabs,\n scrollOffset,\n hasBottomBorder,\n isPilledDesign,\n props,\n ]\n );\n\n const wrappedContent = (\n <TabsContext.Provider value={{ isPilledDesign }}>\n {tabsContent}\n </TabsContext.Provider>\n );\n\n if (scrollOffset) {\n return <Wrapper scrollOffset={scrollOffset}>{wrappedContent}</Wrapper>;\n }\n\n return wrappedContent;\n};\n\nconst Tabs = ({ children, tabs, ...props }: TabsProps) => {\n if (children && tabs) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Both children and tabs props are provided. Please use only one of them.'\n );\n }\n\n if (!children && !tabs) {\n // eslint-disable-next-line no-console\n console.error('Either children or tabs must be provided.');\n\n return null;\n }\n\n if (children) {\n return <TabsDeprecated {...props}>{children}</TabsDeprecated>;\n }\n\n return <TabsNew tabs={tabs} {...props} />;\n};\n\ntype TabsProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n /** @deprecated Use tabs[] prop instead */\n children?: React.ReactNode;\n tabs?: TabItem[];\n isPilledDesign?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype TooltipPropsForTabItem = Omit<\n TooltipProps,\n 'children' | 'tooltipId' | 'tabIndex'\n>;\n\ntype TabItem = {\n tabContent: React.ReactNode;\n tooltipProps?: TooltipPropsForTabItem;\n icon?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isActive?: boolean;\n isDisabled?: boolean;\n onClick?: () => void;\n};\n\n/** @deprecated Don't use this component directly, instead pass in tabs[] prop to <Tabs> */\ntype TabProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n children?: React.ReactNode;\n htmlTag?: 'a' | 'button' | 'span';\n isPilledDesign?: boolean;\n isDisabled?: boolean;\n};\n\ntype TabWrapperProps = {\n isActive?: boolean;\n icon?: React.ReactNode;\n as?: string;\n isDisabled?: boolean;\n};\n\ntype TabsNavProps = {\n scrollOffset?: number | string;\n hasFullTabs?: boolean;\n hasBottomBorder?: boolean;\n};\n\ntype WrapperProps = {\n scrollOffset?: number | string;\n};\n\nexport default Tabs;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensDivProps } from '../../types';\nimport {\n getColorValue,\n getFontWeight,\n getRadius,\n getSize,\n getTextSize,\n u,\n} from '../../utilities';\n\nimport Container from '../container/container';\nimport Icon from '../icon/icon';\n\nconst PillWrapper = styled.div<PillWrapperProps>`\n display: inline-grid;\n grid-auto-flow: column;\n align-items: center;\n vertical-align: middle;\n padding: 0 ${u(1.5)};\n min-height: ${u(3.25)};\n color: ${props => getColorValue(props.color)};\n background-color: ${props => getColorValue(props.backgroundColor)};\n ${getRadius('100')};\n ${getTextSize('small')};\n ${getFontWeight('bold')};\n ${getSize('gap', 'xsmall')};\n`;\n\nconst Pill = ({\n color,\n backgroundColor,\n children,\n icon,\n iconPosition = 'left',\n ...props\n}: PillProps &\n React.ComponentProps<typeof PillWrapper> &\n Omit<\n LensDivProps,\n keyof PillProps & React.ComponentProps<typeof PillWrapper>\n >) => {\n const iconComponent = (\n <Container\n htmlTag=\"span\"\n paddingLeft={iconPosition === 'right' && 'xsmall'}\n paddingRight={iconPosition === 'left' && 'xsmall'}\n >\n <Icon icon={icon} color=\"currentColor\" size={2} />\n </Container>\n );\n\n return (\n <PillWrapper color={color} backgroundColor={backgroundColor} {...props}>\n {icon && iconPosition === 'left' && iconComponent}\n {children}\n {icon && iconPosition === 'right' && iconComponent}\n </PillWrapper>\n );\n};\n\ntype PillProps = {\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n color?: string;\n backgroundColor?: string;\n children?: React.ReactNode;\n};\n\ntype PillWrapperProps = {\n color?: string;\n backgroundColor?: string;\n};\n\nexport default Pill;\n", "import styled from '@emotion/styled';\nimport {\n type Placement,\n autoUpdate,\n flip,\n offset as floatingUiOffset,\n limitShift,\n shift,\n useFloating,\n} from '@floating-ui/react-dom';\nimport React, { useEffect } from 'react';\n\nimport ReactDOM from 'react-dom';\n\nimport { useTransition } from 'transition-hook';\n\nimport { unit } from '../../variables';\n\ntype PlacementProps =\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomCenter'\n | 'bottomRight'\n | 'leftTop'\n | 'leftCenter'\n | 'leftBottom'\n | 'rightTop'\n | 'rightCenter'\n | 'rightBottom';\n\nconst placements = {\n topLeft: 'top-start',\n topCenter: 'top',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomCenter: 'bottom',\n bottomRight: 'bottom-end',\n leftTop: 'left-start',\n leftCenter: 'left',\n leftBottom: 'left-end',\n rightTop: 'right-start',\n rightCenter: 'right',\n rightBottom: 'right-end',\n};\n\nconst Wrapper = styled.div<{\n childrenZIndex: number;\n}>`\n position: relative;\n width: fit-content;\n // transform forces the popover to calculate the position from the trigger instead of the viewport\n transform: translate(0);\n z-index: ${props => props.childrenZIndex};\n`;\n\nconst ContentWrapper = styled.div<{\n zIndex: string | number;\n}>`\n ${props => props.zIndex && `z-index: ${props.zIndex}`};\n`;\n\nconst Popover = ({\n children,\n content,\n offset = 0.5,\n boundaryOffset = 0.5,\n isOpen,\n zIndex = 500,\n childrenZIndex = 1,\n placement = 'topCenter',\n rootId,\n boundaryElement = 'body',\n transitionDuration = 0,\n transitionDelay = 0,\n ...props\n}: PopoverProps) => {\n const unitOffset = offset * unit;\n const unitBoundaryOffset = boundaryOffset * unit;\n const isBrowser = typeof window !== 'undefined';\n const rootNode =\n rootId && isBrowser ? document.getElementById(rootId) : undefined;\n\n const { stage, shouldMount } = useTransition(\n isOpen,\n transitionDuration + transitionDelay\n );\n const getBoundaryElement = () => {\n if (boundaryElement === 'body' && isBrowser) {\n return document.body;\n }\n\n return boundaryElement as Element;\n };\n\n const { x, y, reference, floating, strategy, update, refs } = useFloating({\n placement: placements[placement] as Placement,\n middleware: [\n shift({\n padding: unitBoundaryOffset,\n boundary: boundaryElement ? getBoundaryElement() : undefined,\n limiter: limitShift(),\n }),\n flip({\n fallbackPlacements: ['top', 'bottom'],\n fallbackStrategy: 'initialPlacement',\n }),\n floatingUiOffset(unitOffset),\n ],\n strategy: 'fixed',\n });\n\n useEffect(() => {\n if (!refs.reference.current || !refs.floating.current) {\n return;\n }\n\n // Only call this when the floating element is rendered\n return autoUpdate(refs.reference.current, refs.floating.current, update);\n }, [refs.reference, refs.floating, update, shouldMount]);\n\n const contentProps = {\n zIndex,\n ref: floating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n transition: `opacity ${transitionDuration}ms ${transitionDelay}ms`,\n opacity: stage === 'enter' ? 1 : 0,\n },\n };\n\n return (\n <Wrapper ref={reference} {...props} childrenZIndex={childrenZIndex}>\n {children}\n\n {shouldMount && (\n <>\n {!rootNode && (\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>\n )}\n\n {rootNode &&\n ReactDOM.createPortal(\n <ContentWrapper {...contentProps}>{content}</ContentWrapper>,\n rootNode\n )}\n </>\n )}\n </Wrapper>\n );\n};\n\ntype PopoverProps = {\n children?: React.ReactNode;\n content?: React.ReactNode;\n offset?: number;\n boundaryOffset?: number;\n zIndex?: number | string;\n isOpen?: boolean;\n placement?: PlacementProps;\n rootId?: string;\n boundaryElement?: 'body' | Element;\n transitionDuration?: number;\n transitionDelay?: number;\n childrenZIndex?: number;\n};\n\nexport default Popover;\n", "import styled from '@emotion/styled';\nimport React from 'react';\n\nimport { getSize, getColorValue } from '../../utilities';\n\nconst IllustrationWrapper = styled.span<IllustrationWrapperProps>`\n display: block;\n color: ${props =>\n props.color ? getColorValue(props.color) : getColorValue('grey8')};\n ${props => props.size && getSize('width', props.size)};\n ${props => props.size && getSize('height', props.size)};\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nconst Illustration = ({\n altText,\n illustration,\n src,\n color = 'orange',\n size = 12,\n ...props\n}: IllustrationProps & React.ComponentProps<typeof IllustrationWrapper>) => {\n return (\n <IllustrationWrapper\n aria-hidden=\"true\"\n aria-label={altText}\n color={color}\n size={size}\n {...props}\n >\n {src || illustration}\n </IllustrationWrapper>\n );\n};\n\ntype IllustrationProps = {\n altText?: string;\n src?: React.ReactNode;\n size?: number | string;\n /** @deprecated Not applicable to Atlassian Design System Illustrations */\n color?: string;\n /** @deprecated Use src instead */\n illustration?: React.ReactNode;\n};\n\ntype IllustrationWrapperProps = {\n color?: string;\n size?: number | string;\n};\n\nexport default Illustration;\n", "import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { Children, cloneElement } from 'react';\n\nimport { customStylesWarning } from '../../console-messages';\nimport type { ResponsiveType } from '../../types';\nimport {\n getResponsiveNumber,\n getResponsiveOneOf,\n getSize,\n} from '../../utilities';\n\nimport { getListContainer } from '../../utilities/styles';\n\nconst getSizeStyles = props => css`\n ${getSize('width', props.width)};\n ${getSize('height', props.height)};\n ${getSize('min-width', props.minWidth)};\n ${getSize('min-height', props.minHeight)};\n ${getSize('max-width', props.maxWidth)};\n ${getSize('max-height', props.maxHeight)};\n`;\n\nconst SplitWrapper = styled.div<SplitWrapperProps>`\n display: flex;\n ${props => getResponsiveOneOf('align-items', props.alignItems)};\n ${props =>\n props.justifyContent &&\n getResponsiveOneOf('justify-content', props.justifyContent)};\n ${props =>\n props.alignContent &&\n getResponsiveOneOf('align-content', props.alignContent)};\n ${props => getResponsiveOneOf('flex-wrap', props.wrap)};\n ${props =>\n props.direction && getResponsiveOneOf('flex-direction', props.direction)};\n ${props => props.gap && getSize('gap', props.gap)};\n ${props => props.rowGap && getSize('row-gap', props.rowGap)};\n ${props => props.columnGap && getSize('column-gap', props.columnGap)};\n ${props => getSizeStyles(props)};\n ${props => getListContainer(props.as)};\n`;\n\nconst SplitSectionWrapper = styled.div<SplitSectionWrapperProps>`\n ${props => getResponsiveNumber('flex-grow', props.grow)};\n ${props => getResponsiveNumber('flex-shrink', props.shrink)};\n ${props => props.basis && getSize('flex-basis', props.basis)};\n ${props => getSizeStyles(props)};\n`;\n\nexport const SplitSection = ({\n children,\n grow,\n shrink,\n basis,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitSectionProps & React.ComponentProps<typeof SplitSectionWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitSectionWrapper\n as={htmlTag}\n grow={grow}\n shrink={shrink}\n basis={basis}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {children}\n </SplitSectionWrapper>\n );\n};\n\nconst Split = ({\n children,\n gap = 'initial',\n rowGap,\n columnGap,\n alignItems = 'center',\n justifyContent,\n alignContent,\n wrap = 'wrap',\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n htmlTag = 'div',\n className,\n style,\n ...props\n}: SplitProps & React.ComponentProps<typeof SplitWrapper>) => {\n if (className || style) {\n // eslint-disable-next-line no-console\n console.warn(customStylesWarning);\n }\n\n return (\n <SplitWrapper\n as={htmlTag}\n gap={gap}\n rowGap={rowGap}\n columnGap={columnGap}\n alignItems={alignItems}\n justifyContent={justifyContent}\n alignContent={alignContent}\n wrap={wrap}\n width={width}\n height={height}\n minWidth={minWidth}\n minHeight={minHeight}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n {...props}\n >\n {htmlTag === 'ul' || htmlTag === 'ol'\n ? Children.map(children, (child: React.ReactElement) => {\n if (child.type === SplitSection || child.type === Split) {\n return cloneElement(child, { htmlTag: 'li' });\n }\n\n return child;\n })\n : children}\n </SplitWrapper>\n );\n};\n\ninterface SharedProps {\n width?: ResponsiveType<number | string>;\n height?: ResponsiveType<number | string>;\n minWidth?: ResponsiveType<number | string>;\n minHeight?: ResponsiveType<number | string>;\n maxWidth?: ResponsiveType<number | string>;\n maxHeight?: ResponsiveType<number | string>;\n children?: React.ReactNode;\n}\n\ninterface SplitProps extends SharedProps {\n alignItems?: ResponsiveType<\n 'start' | 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'\n >;\n justifyContent?: ResponsiveType<\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n >;\n alignContent?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'start'\n | 'end'\n | 'baseline';\n wrap?: ResponsiveType<'nowrap' | 'wrap' | 'wrap-reverse'>;\n htmlTag?: 'div' | 'ul' | 'ol' | 'li';\n gap?: ResponsiveType<number | string>;\n rowGap?: ResponsiveType<number | string>;\n columnGap?: ResponsiveType<number | string>;\n direction?: ResponsiveType<\n 'column' | 'column-reverse' | 'row' | 'row-reverse'\n >;\n className?: never;\n style?: never;\n}\n\ninterface SplitWrapperProps extends SplitProps {\n as?: string;\n}\n\ninterface SplitSectionProps extends SharedProps {\n grow?: ResponsiveType<number | string>;\n shrink?: ResponsiveType<number | string>;\n basis?: ResponsiveType<number | string>;\n className?: never;\n style?: never;\n htmlTag?: 'div' | 'li';\n}\n\ninterface SplitSectionWrapperProps extends SplitSectionProps {\n as?: string;\n}\n\nexport default Split;\n", "import styled from '@emotion/styled';\nimport React, { type FC, useState } from 'react';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\n\nimport type { LensDivProps } from '../../types';\nimport { u, getRadius } from '../../utilities';\n\nconst ColorfulWrapper = styled.div`\n padding: var(--lns-space-medium);\n & .react-colorful {\n width: auto;\n height: auto;\n }\n & .react-colorful__saturation {\n height: ${u(14)};\n border-bottom: none;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius(100)};\n margin-bottom: var(--lns-space-small);\n }\n\n & .react-colorful__hue {\n height: ${u(2)};\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--lns-color-border);\n ${getRadius('50')};\n margin-bottom: var(--lns-space-medium);\n }\n\n & .react-colorful__saturation-pointer {\n width: ${u(1)};\n height: ${u(1)};\n cursor: pointer;\n border: 2px solid white;\n box-shadow: 0 0 0 3px var(--lns-color-border);\n border-radius: var(--lns-radius-medium);\n }\n & .react-colorful__hue-pointer {\n width: ${u(1)};\n height: ${u(2.5)};\n border-radius: 2px;\n box-shadow: 0 0 0 2px var(--lns-color-border);\n cursor: pointer;\n border: 2px solid white;\n }\n`;\n\nconst ColorPickerContainer = styled.div`\n position: relative;\n width: ${u(31)};\n background-color: var(--lns-color-overlay);\n ${getRadius('250')};\n box-shadow:\n 0 0 0 1px var(--lns-color-border),\n var(--lns-shadow-medium);\n`;\n\nconst InputContainer = styled.div`\n position: relative;\n width: 100%;\n\n input {\n padding: 0 0 0 ${u(4)};\n height: ${u(4)};\n width: 100%;\n font: inherit;\n font-size: var(--lns-fontSize-small);\n border: none;\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidth)\n var(--lns-color-formFieldBorder);\n ${getRadius('150')};\n transition: 0.3s box-shadow;\n background-color: var(--lns-color-overlay);\n color: var(--lns-color-body);\n\n &:hover {\n box-shadow: inset 0 0 0 var(--lns-formFieldBorderWidthFocus)\n var(--lns-color-blurple);\n }\n\n &:focus {\n outline: 1px solid transparent;\n box-shadow: var(--lns-formFieldBorderShadowFocus);\n }\n }\n`;\n\nconst ColorBox = styled.div<{ color: string }>`\n position: absolute;\n width: ${u(3)};\n height: ${u(3)};\n left: var(--lns-space-xsmall);\n top: var(--lns-space-xsmall);\n border: 1px solid rgba(0, 0, 0, 0.1);\n ${getRadius('100')};\n background-color: ${props => props.color};\n`;\n\nconst ButtonWrapper = styled.div`\n position: relative;\n border-radius: var(--lns-radius-medium);\n padding: 0 var(--lns-space-medium) var(--lns-space-medium)\n var(--lns-space-medium);\n`;\n\nconst SwatchesContainer = styled.div`\n display: grid;\n grid-template-columns: repeat(7, ${u(3)});\n gap: ${u(1)} ${u(1)};\n border-bottom: 1px solid var(--lns-color-border);\n padding: var(--lns-space-medium);\n`;\n\nconst Swatch = styled.div<SwatchProps>`\n cursor: pointer;\n width: ${u(3)};\n height: ${u(3)};\n ${getRadius('100')};\n background-color: ${props => props.color};\n border: ${props =>\n props.selected === props.color\n ? '1px solid white'\n : '1px solid var(--lns-color-border)'};\n box-shadow: ${props =>\n props.selected === props.color && '0 0 0 2px var(--lns-color-focusRing)'};\n`;\n\nconst SwatchSelector: FC<{\n swatches: string[];\n currentColor: string;\n onSwatchClick: (swatch: string) => void;\n}> = ({ swatches, currentColor, onSwatchClick }) => {\n const selectedSwatch = swatches.includes(currentColor) && currentColor;\n\n return (\n <SwatchesContainer>\n {swatches.map(swatch => (\n <Swatch\n key={swatch}\n color={swatch}\n selected={selectedSwatch}\n onClick={() => onSwatchClick(swatch)}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onSwatchClick(swatch);\n }\n }}\n />\n ))}\n </SwatchesContainer>\n );\n};\n\nconst ColorSelector = ({ color, setColor }) => {\n return (\n <ColorfulWrapper>\n <HexColorPicker color={color} onChange={setColor} />\n <InputContainer>\n <HexColorInput prefixed color={color} onChange={setColor} />\n <ColorBox color={color} />\n </InputContainer>\n </ColorfulWrapper>\n );\n};\n\nconst ColorPicker = ({\n defaultColor = '#ffffff',\n confirmButton,\n swatches,\n onChange,\n ...props\n}: ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n > &\n Omit<\n LensDivProps,\n keyof ColorPickerProps &\n Omit<\n React.ComponentProps<typeof ColorPickerContainer>,\n keyof ColorPickerProps\n >\n >) => {\n const [tempColor, setTempColor] = useState(\n defaultColor ? defaultColor : '#FFFFFF'\n );\n\n const handleOnChange = (hex: string) => {\n setTempColor(hex);\n onChange(hex);\n };\n\n const onSwatchClick = (swatch: string) => {\n handleOnChange(swatch);\n };\n\n return (\n <ColorPickerContainer {...props}>\n {swatches && (\n <SwatchSelector\n swatches={swatches}\n currentColor={tempColor}\n onSwatchClick={onSwatchClick}\n />\n )}\n <ColorSelector color={tempColor} setColor={handleOnChange} />\n {confirmButton && <ButtonWrapper>{confirmButton}</ButtonWrapper>}\n </ColorPickerContainer>\n );\n};\n\ntype SwatchProps = {\n color?: string;\n selected?: string;\n};\n\ntype ColorPickerProps = {\n defaultColor?: string;\n confirmButton?: React.ReactNode;\n swatches?: string[];\n onChange?: (selectedColor: string) => void;\n};\n\nexport default ColorPicker;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue, u } from '../../utilities';\n\nconst speed = 2.0;\n\nconst sizes = {\n small: {\n totalSize: u(2.25),\n height: u(0.5625),\n dotSize: u(0.375),\n gap: u(0.25),\n },\n medium: {\n totalSize: u(3),\n height: u(0.75),\n dotSize: u(0.5),\n gap: u(0.375),\n },\n large: {\n totalSize: u(6),\n height: u(1.5),\n dotSize: u(1),\n gap: u(0.75),\n },\n};\n\nconst getTotalSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].totalSize;\nconst getHeight = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].height;\nconst getDotSize = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\nconst getGap = (props: EllipsesLoaderWrapperProps) => sizes[props.size].gap;\nconst getBounceDistance = (props: EllipsesLoaderWrapperProps) =>\n sizes[props.size].dotSize;\n\nconst createDotBounce = (bounceDistance: string) => keyframes`\n 0%, 40%, 100% {\n transform: translateY(50%);\n }\n 20% {\n transform: translateY(calc(50% - ${bounceDistance}));\n }\n`;\n\n/** Dot colours for the \"ai\" variant: blue, purple, yellowDark */\nconst AI_DOT_COLORS = [\n getColorValue('blue'),\n getColorValue('purple'),\n getColorValue('yellowDark'),\n] as const;\n\nconst EllipsesLoaderWrapper = styled.span<EllipsesLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: ${props => getHeight(props)};\n width: ${props => getTotalSize(props)};\n gap: ${props => getGap(props)};\n`;\n\nconst Dot = styled.span<DotProps>`\n width: ${props => getDotSize(props)};\n height: ${props => getDotSize(props)};\n border-radius: 50%;\n background-color: ${props =>\n props.color === 'ai' && props.dotIndex !== undefined\n ? AI_DOT_COLORS[props.dotIndex]\n : getColorValue(props.color)};\n transform: translateY(50%);\n animation: ${props => createDotBounce(getBounceDistance(props))} ${speed}s\n ease-in-out infinite;\n animation-fill-mode: both;\n animation-delay: ${props => props.delay}s;\n`;\n\nconst EllipsesLoader = ({\n color = 'body',\n size = 'medium',\n ...props\n}: EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof EllipsesLoaderProps &\n React.ComponentProps<typeof EllipsesLoaderWrapper>\n >) => {\n return (\n <EllipsesLoaderWrapper size={size} {...props}>\n <Dot color={color} size={size} delay={0} dotIndex={0} />\n <Dot color={color} size={size} delay={0.2} dotIndex={1} />\n <Dot color={color} size={size} delay={0.4} dotIndex={2} />\n </EllipsesLoaderWrapper>\n );\n};\n\nexport const availableSizes = Object.keys(sizes);\n\ntype EllipsesLoaderProps = {\n color?: string;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype EllipsesLoaderWrapperProps = {\n size: 'small' | 'medium' | 'large';\n};\n\ntype DotProps = {\n color?: string;\n size: 'small' | 'medium' | 'large';\n delay?: number;\n dotIndex?: 0 | 1 | 2;\n};\n\nexport default EllipsesLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { getColorValue, u } from '../../utilities';\nimport type { LensSpanProps } from '../../types';\nconst sizes = {\n medium: {\n totalSize: u(3), // 24px\n barHeight: u(2.25), // 18px\n },\n};\nconst speeds = {\n fast: 1.2,\n slow: 1.7,\n};\n\nconst AI_PRIMARY_ANIMATED_LINEAR_GRADIENT =\n 'linear-gradient(270deg, #565ADD 10.58%, #DC43BE 41.83%, #565ADD 69.23%, #565ADD 96.63%)';\nconst GRADIENT_ANIMATION_SPEED = 2.0;\nconst BARS_COUNT = 5;\nconst BAR_WIDTH = u(0.25); // 2px = 0.25 units\nconst getBarHeight = props => sizes[props.size || 'medium'].barHeight;\nconst getTotalSize = props => sizes[props.size || 'medium'].totalSize;\nconst getAnimationSpeed = props => speeds[props.speed || 'fast'];\nconst ripple = keyframes`\n 0%, 100% {\n transform: scaleY(0.3);\n }\n 50% {\n transform: scaleY(1);\n }\n`;\n\n// We only animate the background when it's the ai-primary gradient\nconst backgroundAnimation = keyframes`\n 0% {\n background-position: 0% center;\n }\n 100% {\n background-position: 100% center;\n }\n`;\n\n// The fade-in is to mask that the bars start at the same height. Without this\n// you can see the bars load in at full height then \"glitch\" into animation\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ntype WaveformLoaderWrapperProps = {\n size?: 'medium';\n color?: string;\n};\ntype BarProps = {\n index: number;\n size?: 'medium';\n speed: 'fast' | 'slow';\n color?: string;\n};\n\nconst WaveformLoaderWrapper = styled.span<WaveformLoaderWrapperProps>`\n display: inline-flex;\n align-items: center;\n justify-content: space-evenly;\n height: ${props => getTotalSize(props)};\n width: ${props => getTotalSize(props)};\n position: relative;\n`;\nconst Bar = styled.span<BarProps>`\n width: ${BAR_WIDTH};\n height: ${props => getBarHeight(props)};\n background: ${props =>\n props.color === 'ai-primary'\n ? AI_PRIMARY_ANIMATED_LINEAR_GRADIENT\n : getColorValue(props.color)};\n background-size: ${props => getTotalSize(props)}\n ${props => getTotalSize(props)};\n background-position: ${props => {\n const barCenterRatio = (props.index + 1) / (BARS_COUNT + 1);\n const offsetRatio = barCenterRatio - 0.5;\n return `calc(${getTotalSize(props)} * ${offsetRatio}) center`;\n }};\n opacity: 0; /* Ensure it starts invisible */\n transform: scaleY(0.3);\n transform-origin: center;\n animation:\n ${fadeIn} 50ms ease-out forwards,\n ${ripple} ${props => getAnimationSpeed(props)}s ease-in-out infinite,\n ${backgroundAnimation} ${GRADIENT_ANIMATION_SPEED}s linear infinite;\n\n animation-delay: ${props =>\n -1 + props.index * (getAnimationSpeed(props) / BARS_COUNT)}s;\n position: relative;\n`;\n\nexport const WaveformLoader = ({\n size = 'medium',\n speed = 'fast',\n color = 'body',\n ...props\n}: WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper> &\n Omit<\n LensSpanProps,\n keyof WaveformLoaderProps &\n React.ComponentProps<typeof WaveformLoaderWrapper>\n >) => {\n const barsList = Array.from({ length: BARS_COUNT }, (_, index) => (\n <Bar key={index} index={index} size={size} speed={speed} color={color} />\n ));\n return (\n <WaveformLoaderWrapper size={size} color={color} {...props}>\n {barsList}\n </WaveformLoaderWrapper>\n );\n};\nexport const availableSizes = Object.keys(sizes);\nexport const availableSpeeds = Object.keys(speeds);\ntype WaveformLoaderProps = {\n color?: string;\n size?: 'medium';\n speed?: 'fast' | 'slow';\n};\nexport default WaveformLoader;\n", "import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nimport type { LensSpanProps } from '../../types';\nimport { getColorValue } from '../../utilities';\n\nconst ringAnimation = keyframes`\n 0% {\n transform: scale(1);\n opacity: 0;\n }\n 50% {\n transform: scale(1.6);\n opacity: 0.4;\n }\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n`;\n\nconst indicatorStyles = {\n dot: {\n size: '8px',\n borderWidth: '1px',\n borderColor: getColorValue('background'),\n },\n positioning: {\n top: '-2px',\n right: '-2px',\n },\n animation: {\n duration: '2s',\n timing: 'ease-out',\n iteration: 'infinite',\n },\n};\n\nconst colorStyles = {\n blue: getColorValue('blue'),\n orange: getColorValue('orange'),\n};\n\nconst IndicatorContainer = styled.span`\n position: relative;\n display: inline-block;\n`;\n\nconst IndicatorWrapper = styled.span`\n position: absolute;\n height: ${indicatorStyles.dot.size};\n width: ${indicatorStyles.dot.size};\n top: ${indicatorStyles.positioning.top};\n right: ${indicatorStyles.positioning.right};\n`;\n\nconst IndicatorDot = styled.span<Omit<IndicatorProps, 'children'>>`\n position: absolute;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-full);\n background-color: ${props => colorStyles[props.color || 'blue']};\n border: ${indicatorStyles.dot.borderWidth} solid\n ${indicatorStyles.dot.borderColor};\n\n &::after {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-full);\n background-color: ${props => colorStyles[props.color || 'blue']};\n opacity: 0;\n animation: ${props => (props.withPulse ? ringAnimation : 'none')}\n ${indicatorStyles.animation.duration} ${indicatorStyles.animation.timing}\n ${indicatorStyles.animation.iteration};\n display: ${props => (props.withPulse ? 'block' : 'none')};\n }\n`;\n\nconst Indicator = ({\n withPulse = true,\n color = 'blue',\n children,\n ...props\n}: IndicatorProps &\n React.ComponentProps<typeof IndicatorContainer> &\n Omit<\n LensSpanProps,\n keyof IndicatorProps & React.ComponentProps<typeof IndicatorContainer>\n >) => {\n const dotElement = <IndicatorDot withPulse={withPulse} color={color} />;\n\n return (\n <IndicatorContainer {...props}>\n {children}\n <IndicatorWrapper>{dotElement}</IndicatorWrapper>\n </IndicatorContainer>\n );\n};\n\ntype IndicatorProps = {\n withPulse?: boolean;\n color?: 'blue' | 'orange';\n children: React.ReactNode;\n};\n\nexport default Indicator;\n", "import * as React from 'react';\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationAccountsBilling(props) {\n return (\n <svg\n viewBox=\"0 0 102 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M96.072 5.826H5.928v90.145h90.144V5.826z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M69.38 59.21c14.74 0 26.691-11.95 26.691-26.692S84.121 5.826 69.38 5.826c-14.741 0-26.692 11.95-26.692 26.692S54.638 59.21 69.38 59.21zM1 95.973h100M1 77.28h100M1 59.213h100M5.928 1v58.213M24.605 1v58.213M42.674 1v58.213\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationAccountsBilling;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationInvite(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50.028 25.007A24.999 24.999 0 0034.586 1.905a25.022 25.022 0 00-27.26 5.42 25.002 25.002 0 0017.688 42.687V25.007h25.014z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M74.986 50.012a25.02 25.02 0 0023.11-15.436 24.993 24.993 0 00-5.422-27.25 25.017 25.017 0 00-42.702 17.681h25.014v25.005z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.972 74.99a25 25 0 0015.442 23.102 25.025 25.025 0 0027.26-5.42 25.002 25.002 0 00-17.688-42.687V74.99H49.972z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M25.014 100.003a25.003 25.003 0 0023.103-15.44 25.017 25.017 0 00-5.42-27.259A25.005 25.005 0 00.006 74.991h25.007v25.012z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInvite;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationArchived(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 .002v100h100v-100H0zm90 90H10v-80h80v80z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M87 13.002H53.68c8.41 1.53 15 8.2 16.46 16.63H87v-16.63zM46.32 13.002H13v16.63h16.86c1.45-8.43 8.05-15.1 16.46-16.63zM13 32.632v15.87h18.19c3.12-7.32 10.35-12.47 18.81-12.47 8.46 0 15.69 5.15 18.81 12.47H87v-15.87H13zM13 67.372h20.4c3.71-5.15 9.76-8.52 16.59-8.52 6.84 0 12.88 3.36 16.59 8.52H87v-15.87H13v15.87zM13 87.002h23.47c3.61-3.18 8.34-5.12 13.53-5.12 5.19 0 9.92 1.93 13.53 5.12H87v-16.63H13v16.63z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationArchived;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLeadwithTransparency(props) {\n return (\n <svg\n viewBox=\"0 0 110 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 100.888a54.867 54.867 0 0031.361-9.8H23.64a54.867 54.867 0 0031.361 9.8zM20.482 88.728h69.025a54.887 54.887 0 008.8-8.911H11.682a56.245 56.245 0 008.8 8.911zM9.262 76.492h91.476a54.95 54.95 0 004.411-7.957H4.851a54.95 54.95 0 004.41 7.957zM3.124 64.255h103.752a54.896 54.896 0 001.969-7.002H1.166a53.117 53.117 0 001.958 7.002zM0 46.015c0 2.03.121 4.039.33 6.003h109.34c.22-1.975.33-3.973.33-6.003v-.033H0v.033zM.363 39.782h109.274a54.71 54.71 0 00-.814-5.07H1.177a55.308 55.308 0 00-.814 5.07zM3.2 27.556H106.8a58.547 58.547 0 00-1.672-4.115H4.873A51.945 51.945 0 003.2 27.556zM9.405 15.32h91.19a59.831 59.831 0 00-2.321-3.161H11.726a59.814 59.814 0 00-2.321 3.16zM23.716.888a57.211 57.211 0 00-2.959 2.195h68.475A52.837 52.837 0 0086.273.888H23.716z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLeadwithTransparency;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationAskforMore(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationAskforMore;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLearningDevelopment(props) {\n return (\n <svg\n viewBox=\"0 0 142 142\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.945 50.767l50.766 50.766 50.765-50.766 19.944 19.944-51.672 51.673c-10.514 10.514-27.56 10.514-38.075 0L.001 70.711l19.944-19.944z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M70.509 55.733l-27.901-27.63L23.57 47.14l28.354 28.084c10.264 10.264 26.904 10.264 37.168 0l28.48-28.362-19.038-19.037L70.51 55.733z\"\n fill=\"currentColor\"\n />\n <circle\n cx={70.71}\n cy={24.88}\n transform=\"rotate(-45 70.71 24.88)\"\n fill=\"currentColor\"\n r={17.592}\n />\n </svg>\n );\n}\n\nexport default IllustrationLearningDevelopment;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationBusinessPlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47.333 0H0v47.333h47.333V0zM74 0H52.667v21.333H74V0zM52.667 26H74v21.333H52.667V26zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.667V100H100V52.667zM78.667 26H100v21.333H78.667V26zm3-10.333h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM84.334 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm15.668 15.667H97v2.666h-2.666v-2.666zm-3 5.666v-8.666H100v8.666h-8.666zM97 3h-2.666v2.667H97V3zm-5.666-3v8.667H100V0h-8.666z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationBusinessPlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationLoomPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 12.288L12.287 0v87.71h37.706L37.706 100H0v-87.71zM49.994 63.743l12.287-12.276v36.245h37.72L87.714 100h-37.72V63.743zM49.994 33.336l12.287-12.288v18.129h37.72L87.714 51.465h-37.72V33.336z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M49.993 12.288L62.28 0v9.064H100L87.713 21.353h-37.72v-9.065z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationLoomPlans;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCollaboratewithTeammatesSharedLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm17.12 10.344h-6.54v6.54h6.54v-6.54zm6.392-.61l6.396 1.364-1.364 6.396-6.397-1.365 1.365-6.396zM17.89 23.208l-6.396-1.365-1.365 6.396 6.396 1.365 1.365-6.396zM50.496 8.99l4.507 4.74-4.74 4.507-4.507-4.74 4.74-4.507zm-32.25 41.271l-4.507-4.74L9 50.03l4.507 4.74 4.74-4.508zm18.708-41.1l5.702 3.204-3.203 5.702-5.702-3.204 3.203-5.702zM17.906 36.999l-5.702-3.204L9 39.497l5.702 3.204 3.204-5.702zm46.62-27.57l2.216 6.153L60.59 17.8l-2.216-6.154 6.153-2.216zm-46.12 53.986l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zM77.57 9.96l.82 6.488-6.489.82-.82-6.488 6.489-.82zM17.577 77.17l-1.733-6.306-6.307 1.733 1.733 6.306 6.307-1.733zm7.303-55.86l5.627 3.334-3.333 5.627-5.627-3.333 3.333-5.627zm29.716 6.384l-2.311-6.118-6.119 2.311 2.312 6.118 6.118-2.31zm-15.582-6.457l3.744 5.363-5.363 3.744-3.744-5.363 5.363-3.744zm27.458 7.017l-1.45-6.378-6.378 1.451 1.45 6.377 6.378-1.45zm11.731-5.521l-.411 6.527-6.527-.411.41-6.527 6.528.41zm-47.559 15.49l-4.362-4.873-4.873 4.362 4.362 4.873 4.873-4.361zm22.144-4.204l1.542 6.356-6.356 1.541-1.542-6.355 6.356-1.542zm-10.132 5.2l-3.201-5.703-5.704 3.2 3.201 5.704 5.704-3.201zm23.253-4.438l-.165 6.538-6.538-.165.165-6.538 6.538.165zm12.84.891l-6.31-1.72-1.719 6.31 6.31 1.72 1.72-6.31zm-51.5 10.013l3.238 5.683-5.683 3.237-3.238-5.683 5.683-3.237zm26.346 7.784l.11-6.539-6.54-.11-.11 6.54 6.54.11zm-13.008-7.287l1.58 6.347-6.347 1.58-1.58-6.348 6.347-1.58zM66.6 47.896l-6.29-1.793-1.792 6.29 6.29 1.793 1.792-6.29zm6.863-2.197l5.718 3.174-3.174 5.718-5.719-3.174 3.175-5.718zM28.985 58.767l-6.513.598.598 6.513 6.513-.598-.598-6.513zm19.734-.761l5.978 2.654-2.655 5.978-5.977-2.655 2.654-5.977zm-7.014 1.293l-6.523-.477-.478 6.522 6.523.478.478-6.523zm20.341-1.573l5.108 4.084-4.084 5.108-5.108-4.084 4.084-5.108zm17.236 5.44l-3.703-5.39-5.391 3.702 3.703 5.391 5.39-3.703zm-55.967 7.587l6.458 1.034-1.034 6.458-6.458-1.034 1.034-6.458zm31.473 2.343l-5.81-3.004-3.003 5.81 5.81 3.004 3.003-5.81zm-19.53-2.16l6.51.615-.615 6.512-6.512-.616.616-6.511zm31.919 3.807l-4.375-4.862-4.862 4.374 4.374 4.862 4.863-4.374zm8.616-4.746l3.444 5.56-5.56 3.444-3.444-5.56 5.56-3.444zM17.121 83.406h-6.54v6.54h6.54v-6.54zm7.036-1.184l6.1 2.356-2.356 6.101-6.1-2.356 2.356-6.101zm30.846 4.345l-4.507-4.74-4.74 4.508 4.508 4.739 4.739-4.507zm-18.049-4.57l5.702 3.205-3.203 5.701L33.75 87.7l3.203-5.702zm29.788 6.422l-2.216-6.154-6.153 2.217 2.216 6.153 6.153-2.216zm10.827-5.623l.82 6.489-6.489.82-.82-6.489 6.489-.82zm12.605-72.452h-6.54v6.54h6.54v-6.54zm-5.627 11.5l6.396 1.365-1.365 6.396-6.396-1.365 1.365-6.396zm6.752 28.417l-4.507-4.74-4.739 4.508 4.507 4.74 4.74-4.508zm-6.044-16.466L90.957 37l-3.204 5.702-5.701-3.204 3.203-5.702zm6.205 29.62l-3.69-5.4-5.4 3.69 3.69 5.4 5.4-3.69zm-2.563 7.449l1.733 6.306-6.306 1.733-1.734-6.306 6.307-1.733zm1.276 12.542h-6.54v6.54h6.54v-6.54z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCollaboratewithTeammatesSharedLibrary;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationOptionGrants(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 53.596h47.333v47.333H.001zM52.667 53.596H100v47.333H52.667zM52.667 26.929H74v21.333H52.667zM52.667.929H74v21.333H52.667zM78.667 26.929H100v21.333H78.667zM78.667 13.596h8.667v8.667h-8.667zM78.667.929h8.667v8.667h-8.667zM91.335 13.596h8.667v8.667h-8.667zM91.335.929h8.667v8.667h-8.667zM0 .929h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationOptionGrants;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCommunity(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.467 36.689c5.566-3.544 9.253-9.73 9.253-16.769C71.72 8.92 62.713 0 51.603 0c-8.12 0-15.118 4.766-18.295 11.627a17.717 17.717 0 00-15.593-9.231C7.942 2.396.02 10.241.02 19.919c0 7.906 5.286 14.589 12.55 16.77C5.296 38.874 0 45.565 0 53.48c0 8.41 5.977 15.439 13.954 17.146-5.396 1.6-9.329 6.554-9.329 12.419 0 7.158 5.86 12.96 13.089 12.96s13.089-5.802 13.089-12.96c0-5.865-3.933-10.819-9.33-12.419a17.725 17.725 0 0011.834-8.813 20.078 20.078 0 007.207 8.31c-3.692 3.111-6.034 7.745-6.034 12.92 0 9.365 7.667 16.957 17.124 16.957 9.457 0 17.123-7.592 17.123-16.956 0-5.176-2.342-9.81-6.033-12.92 4.51-2.953 7.75-7.655 8.733-13.13 1.583 6.234 7.282 10.85 14.069 10.85 8.011 0 14.505-6.431 14.505-14.364 0-7.934-6.494-14.365-14.505-14.365-6.787 0-12.486 4.616-14.069 10.85-1-5.566-4.332-10.334-8.96-13.276zm-29.16 8.458a20.083 20.083 0 017.433-8.458 20.063 20.063 0 01-7.433-8.477A17.705 17.705 0 0122.86 36.69a17.725 17.725 0 0110.447 8.457zM59.671 19.92c0 4.413-3.612 7.99-8.069 7.99-4.456 0-8.069-3.577-8.069-7.99s3.613-7.99 8.07-7.99c4.456 0 8.069 3.577 8.069 7.99zm4.036 33.56c0 6.619-5.42 11.985-12.104 11.985-6.685 0-12.104-5.366-12.104-11.986 0-6.619 5.42-11.985 12.104-11.985 6.685 0 12.104 5.366 12.104 11.986zm-41.96.001c0 2.207-1.806 3.995-4.034 3.995-2.228 0-4.034-1.788-4.034-3.995 0-2.206 1.806-3.995 4.034-3.995 2.228 0 4.035 1.789 4.035 3.995zm61.309 29.562c0-1.335 1.092-2.416 2.44-2.416 1.347 0 2.439 1.081 2.439 2.416 0 1.334-1.092 2.415-2.44 2.415-1.347 0-2.44-1.081-2.44-2.415zm2.44-10.37c-5.784 0-10.472 4.643-10.472 10.37 0 5.726 4.688 10.368 10.471 10.368s10.472-4.642 10.472-10.368c0-5.727-4.689-10.37-10.472-10.37zm.345-55.186c-1.347 0-2.44 1.081-2.44 2.416 0 1.334 1.093 2.415 2.44 2.415s2.44-1.081 2.44-2.415c0-1.335-1.093-2.416-2.44-2.416zm-10.47 2.416c0-5.727 4.687-10.37 10.47-10.37s10.471 4.643 10.471 10.37c0 5.726-4.688 10.368-10.47 10.368-5.784 0-10.472-4.642-10.472-10.368zM44.52 83.043c0-3.873 3.171-7.014 7.084-7.014 3.912 0 7.084 3.14 7.084 7.015 0 3.874-3.172 7.014-7.084 7.014-3.913 0-7.084-3.14-7.084-7.014zm-26.806-3.018c-1.684 0-3.05 1.352-3.05 3.02 0 1.667 1.366 3.02 3.05 3.02 1.684 0 3.05-1.353 3.05-3.02 0-1.668-1.366-3.02-3.05-3.02zm-6.398-60.106c0-3.5 2.865-6.337 6.4-6.337 3.533 0 6.398 2.837 6.398 6.337 0 3.5-2.865 6.337-6.399 6.337s-6.399-2.837-6.399-6.337zm74.18 27.15c-3.576 0-6.474 2.87-6.474 6.41 0 3.541 2.898 6.411 6.474 6.411 3.575 0 6.474-2.87 6.474-6.41 0-3.541-2.899-6.411-6.474-6.411zM27.397 53.48c0 5.296-4.335 9.589-9.683 9.589-5.347 0-9.682-4.293-9.682-9.589 0-5.295 4.335-9.588 9.682-9.588 5.348 0 9.683 4.293 9.683 9.588z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunity;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCommunityAlt(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 8.727C26.31 8.727 8.727 26.31 8.727 48c0 6.558 1.608 12.74 4.45 18.175a35.829 35.829 0 01-.462-5.749c0-19.647 15.927-35.573 35.574-35.573 19.646 0 35.573 15.926 35.573 35.573 0 1.395-.08 2.77-.236 4.123a39.123 39.123 0 003.647-16.55C87.273 26.31 69.69 8.728 48 8.728zm.708 78.539c.328-.006.655-.016.98-.03a27 27 0 001.832-.156c6.84-1.128 12.056-7.069 12.056-14.227 0-7.964-6.456-14.42-14.42-14.42-7.964 0-14.42 6.456-14.42 14.42 0 7.814 6.215 14.176 13.972 14.413zM26.177 75.655a23.374 23.374 0 01-.168-2.802c0-12.784 10.363-23.148 23.147-23.148 12.648 0 22.928 10.145 23.144 22.742a26.734 26.734 0 002.835-12.02c0-14.828-12.02-26.847-26.846-26.847-14.827 0-26.847 12.02-26.847 26.846a26.722 26.722 0 004.735 15.229zm22.58 20.342a36.51 36.51 0 01-.635.002H48C21.49 96 0 74.51 0 48 0 21.49 21.49 0 48 0s48 21.49 48 48c0 25.236-19.475 45.923-44.216 47.853a23.393 23.393 0 01-3.027.144z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCommunityAlt;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationParentalLeave(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M49.027 25.443a24.514 24.514 0 10-24.513 24.513V25.443h24.513zM75.486 49.956a24.513 24.513 0 10-24.513-24.513h24.513v24.513zM50.973 76.415a24.514 24.514 0 1024.513-24.513v24.513H50.973zM24.514 51.902a24.513 24.513 0 1024.513 24.513H24.514V51.902z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationParentalLeave;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationContentLimit(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm10 10h80v80H10V10zm10 10h60v10H20V20zm30 27h22c-2.57-9.778-11.443-17-22.008-17C39.411 30 30.554 37.222 28 47h22zm0 0c9.389 0 17 7.387 17 16.5S59.389 80 50 80s-17-7.387-17-16.5S40.611 47 50 47z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationContentLimit;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationPto(props) {\n return (\n <svg\n viewBox=\"0 0 110 111\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 110.929c30.376 0 55-24.624 55-55s-24.624-55-55-55-55 24.624-55 55 24.624 55 55 55zm-6.108-79.595l6.11-24.877 6.09 24.877h-12.2zm-18.63-18.26l7.149 24.595 10.563-6.091-17.711-18.504zm.387 35.831L12.145 31.194l24.595 7.148-6.091 10.563zM5.528 55.93l24.877 6.092V49.82L5.528 55.93zM36.74 73.498l-24.595 7.148L30.65 62.935l6.091 10.563zm-6.477 25.266l17.711-18.503-10.563-6.092-7.148 24.595zm30.83-18.257L55 105.384l-6.109-24.877h12.2zm18.622 18.257L72.567 74.17l-10.563 6.092 17.711 18.503zm-.383-35.829l18.503 17.711-24.595-7.148 6.092-10.563zm25.121-7.005l-24.877-6.11v12.202l24.877-6.092zM73.24 38.342l24.595-7.148-18.503 17.711-6.092-10.563zm6.475-25.268L62.004 31.578l10.563 6.091 7.148-24.595zM52.271 44.978l2.73-11.092 2.71 11.091h-5.44zm-8.293-8.136l3.187 10.95 4.7-2.71-7.887-8.24zm.177 15.953l-8.24-7.888 10.951 3.187-2.711 4.7zm-11.198 3.134l11.092 2.712V53.2l-11.092 2.728zm13.91 7.816l-10.952 3.187 8.24-7.888 2.711 4.7zm-2.889 11.252l7.888-8.24-4.7-2.711-3.188 10.95zm13.734-8.12L55 77.951l-2.728-11.074h5.44zm8.293 8.12l-3.187-10.951-4.7 2.711 7.887 8.24zm-.18-15.953l8.24 7.888-10.95-3.187 2.71-4.7zm11.202-3.115L65.953 53.2v5.44l11.074-2.71zm-13.912-7.835l10.95-3.187-8.24 7.888-2.71-4.7zm2.89-11.252l-7.888 8.24 4.701 2.71 3.187-10.95z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationPto;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationCustomBranding(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.657 63.942L19.983 19.267l-.708.707 44.708 44.708L9.227 33.067l-.5.866L63.4 65.5h-.063L2.407 49.176l-.26.966L59.475 65.5H0v3h55.604L1.889 82.89l.776 2.898 53.719-14.391L8.227 99.2l1.5 2.598 48.184-27.82-39.343 39.343.709.708-.002.001.708.708v-.002l.707.706 39.298-39.299-27.787 48.128 2.598 1.5 27.83-48.202-14.404 53.764 2.898.776L65.5 78.447V134h3V78.395l14.39 53.715.98-.262v.002l.966-.258v-.003l.953-.255-14.392-53.719L99.2 125.772l2.598-1.5-27.803-48.154 39.326 39.325.711-.711.007.007.707-.708-.007-.007.703-.702-39.325-39.326 48.154 27.803 1.5-2.598-48.157-27.804 53.719 14.391.776-2.897L78.395 68.5H134v-3H74.525l57.326-15.358-.259-.966L70.661 65.5h-.064l54.674-31.567-.5-.866-54.697 31.58 44.673-44.673-.707-.707-44.728 44.728 31.621-54.768-.866-.5-31.576 54.69 16.345-61.01-.966-.26L67.5 63.252V0h-1v63.15L50.157 2.148l-.966.258 16.368 61.098L33.933 8.727l-.866.5 31.59 54.715z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationCustomBranding;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRecord(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g clipPath=\"url(#Record_svg__clip0)\" fill=\"currentColor\">\n <path d=\"M79.819 62.343c6.818-16.462-.999-35.334-17.46-42.153-16.463-6.82-35.336.998-42.155 17.46-6.819 16.462.998 35.335 17.46 42.154 16.463 6.819 35.335-.999 42.154-17.46zM53.659 0h-7.303v8.763h7.303V0zM40.498.773l-6.87 1.84 2.268 8.465 6.87-1.84L40.498.772zM28.003 4.978l-5.996 3.46 4.38 7.59 5.996-3.46-4.38-7.59zM17.048 12.274l-4.761 4.76 6.196 6.197 4.761-4.76-6.196-6.197zM8.34 22.174L5.07 27.84l7.588 4.381 3.271-5.666-7.588-4.381zM2.522 33.984L.878 40.121l8.464 2.268 1.644-6.137-8.464-2.268zM8.763 46.926H0v6.163h8.763v-6.163zM9.362 57.697L.898 59.965l1.595 5.953 8.464-2.268-1.595-5.953zM12.806 68.033l-7.589 4.382 2.987 5.173 7.589-4.382-2.987-5.173zM18.811 77.097l-6.196 6.197 4.09 4.09 6.196-6.197-4.09-4.09zM26.969 84.311L22.587 91.9l4.844 2.797 4.382-7.59-4.844-2.796zM36.721 89.14l-2.27 8.464 5.22 1.4 2.27-8.464-5.22-1.4zM52.607 91.237h-5.214V100h5.214v-8.763zM63.083 89.192l-4.839 1.296 2.268 8.464 4.839-1.296-2.268-8.464zM72.698 84.501l-4.173 2.41 4.381 7.59 4.174-2.41-4.382-7.59zM80.772 77.506L77.5 80.78l6.196 6.196 3.274-3.274-6.197-6.196zM86.813 68.694l-2.22 3.845 7.59 4.382 2.22-3.845-7.59-4.382zM90.385 58.633l-1.1 4.105 8.464 2.268 1.1-4.105-8.464-2.268zM100 47.962h-8.763v4.06H100v-4.06zM97.796 35.184l-8.464 2.267 1.002 3.739 8.464-2.268-1.002-3.738zM92.37 23.41l-7.589 4.381 1.84 3.188 7.59-4.382-1.84-3.187zM84.1 13.424l-6.197 6.195 2.467 2.469 6.198-6.195-2.467-2.469zM73.564 5.885l-4.383 7.588 2.858 1.65 4.383-7.587-2.858-1.651zM61.446 1.297l-2.27 8.465 3.005.805 2.27-8.464-3.005-.806z\" />\n </g>\n <defs>\n <clipPath id=\"Record_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationRecord;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDesktopAppandChromeExtension(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M64.676 50.418L55.95.916l-1.164.207 8.727 49.502c.195-.042.384-.083.58-.119.194-.035.39-.059.584-.088zM44.664 3.828l-1.158.42L60.694 51.48c.378-.153.768-.29 1.158-.42L44.664 3.829zM34.058 8.656l-1.11.644 25.128 43.528c.36-.225.733-.443 1.111-.644L34.058 8.656zM24.444 15.243l-1.022.856L55.73 54.606c.33-.302.668-.586 1.022-.857L24.444 15.243zM16.117 23.403l-.892 1.058L53.73 56.769c.283-.366.579-.715.892-1.058L16.117 23.403zM9.336 32.88l-.715 1.241 43.534 25.135c.225-.425.461-.839.715-1.247L9.336 32.88zM4.295 43.387l-.508 1.394 47.24 17.194c.147-.473.318-.94.507-1.394L4.295 43.387zM1.153 54.606l-.266 1.519 49.502 8.727c.065-.509.153-1.017.266-1.513L1.153 54.606zM0 66.205v1.59h50.27a15.808 15.808 0 010-1.59H0zM50.375 69.076L.867 77.803l.296 1.66 49.508-8.726c-.066-.272-.119-.55-.166-.828a13.631 13.631 0 01-.13-.833zM3.746 89.102l.597 1.636 47.245-17.194a16.817 16.817 0 01-.591-1.636L3.747 89.102zM8.525 99.725l.893 1.548 43.534-25.135a16.699 16.699 0 01-.892-1.548L8.525 99.725zM15.086 109.361l1.182 1.413 38.518-32.32c-.42-.45-.816-.916-1.182-1.406L15.086 109.36zM23.207 117.715l1.448 1.217 32.32-38.518c-.503-.378-.993-.78-1.454-1.211l-32.314 38.512zM32.662 124.54l1.678.969 25.141-43.54c-.579-.29-1.14-.62-1.678-.975l-25.14 43.546zM43.152 129.623l1.873.679 17.2-47.25c-.638-.19-1.264-.42-1.873-.68l-17.2 47.251zM54.36 132.807l2.008.355 8.733-49.52a16.216 16.216 0 01-2.009-.354l-8.733 49.519zM65.951 134h2.092V83.718c-.703.047-1.4.042-2.092 0V134zM68.846 83.646l8.733 49.525 2.109-.372-8.733-49.525c-.343.082-.697.16-1.052.224-.348.06-.703.107-1.057.148zM88.883 130.337l2.063-.751-17.2-47.25c-.662.29-1.353.543-2.062.75l17.2 47.251zM99.528 125.585l1.944-1.123L76.325 80.91a16.63 16.63 0 01-1.944 1.123l25.147 43.552zM109.189 119.063l1.761-1.477-32.326-38.523c-.55.531-1.14 1.022-1.76 1.477l32.325 38.523zM117.575 110.967l1.506-1.796-38.53-32.332a16.83 16.83 0 01-1.506 1.797l38.53 32.331zM124.423 101.539l1.2-2.074-43.558-25.147a16.44 16.44 0 01-1.2 2.074l43.558 25.147zM129.54 91.069l.839-2.299-47.257-17.2c-.224.792-.508 1.56-.839 2.299l47.257 17.2zM132.764 79.867l.431-2.458-49.531-8.733c-.083.839-.23 1.66-.432 2.458l49.532 8.733zM133.999 68.272v-2.546h-50.3c.065.857.065 1.707.006 2.546H134zM83.666 65.383l49.543-8.732-.449-2.559-49.543 8.733a15.696 15.696 0 01.45 2.558zM130.415 45.33l-.904-2.493-47.269 17.205c.36.798.662 1.631.904 2.494l47.269-17.206zM125.7 34.671l-1.353-2.34-43.564 25.153a16.98 16.98 0 011.353 2.34L125.7 34.671zM119.213 24.988l-1.767-2.11-38.542 32.338c.644.65 1.235 1.353 1.773 2.103l38.536-32.331zM111.141 16.573l-2.145-1.802-32.338 38.542a17.328 17.328 0 012.145 1.802l32.338-38.542zM101.732 9.69l-2.47-1.424-25.159 43.576c.863.407 1.69.88 2.47 1.424L101.732 9.69zM74.07 51.817L91.28 4.537l-2.73-.993-17.188 47.227-.011.053c.939.255 1.849.585 2.718.993z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.346 50.825l.017-.047 8.728-49.496-2.908-.514-8.662 49.1v.455a16.15 16.15 0 012.825.502z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M71.354 50.825l.011-.053-.017.047c0 .006.006.006.006.006zM68.522 49.868V0h-3.043v50.323a16.573 16.573 0 012.966-.012l.077-.443z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.52 50.317v-.449l-.077.444c.024 0 .053.005.077.005z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDesktopAppandChromeExtension;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRemoteFirst(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 105c27.615 0 50-22.386 50-50S82.615 5 55 5C27.386 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M60.849 5.33c13.693 12.157 22.34 29.89 22.34 49.653 0 19.744-8.63 37.495-22.322 49.652M49.131 5.33c-13.693 12.157-22.34 29.89-22.34 49.653 0 19.744 8.629 37.495 22.322 49.652\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M97.467 26.024C86.589 36.9 71.58 43.61 54.999 43.61c-16.07 0-30.658-6.307-41.444-16.6M97.467 83.958C86.589 73.08 71.58 66.37 54.999 66.37c-16.07 0-30.658 6.307-41.444 16.6M104.981 55H5M55 104.982V5\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationRemoteFirst;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDeviceCompatibility(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M55 0C24.626 0 0 24.626 0 55s24.626 55 55 55 55-24.626 55-55S85.374 0 55 0zm0 109.525L.49 55 55 .49l54.525 54.525L55 109.525z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.923 27.923v54.139H82.06V27.923H27.923zm27.076 52.074c-13.798 0-24.982-11.184-24.982-24.982S41.201 30.032 55 30.032c13.799 0 24.983 11.185 24.983 24.983 0 13.783-11.184 24.982-24.983 24.982z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDeviceCompatibility;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRoadmap(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M100 100H0V0h100v100zM10 90h80V10H10v80z\" fill=\"currentColor\" />\n <path\n d=\"M50.008 39.806L80 54v-9.806L50.008 30 20 44.194V54l30.008-14.194zM80 20H20v10h60V20z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRoadmap;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationDowngrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h100v100H0V0zm32.854 35.063L10.163 10h79.674L67.146 35.063h22.691L63.96 53.295h25.877L61.804 66.97h28.033l-25.895 9.357h25.895l-23.902 6.477h23.902L50 90l-39.837-7.197h23.902l-23.902-6.477h25.895l-25.895-9.357h28.033L10.163 53.295H36.04L10.163 35.063h22.691z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationDowngrade;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationScreenshot(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 0H0v100h100V0zM10 17.071V90h72.929L64.594 71.665v8.412h-10V54.594h25.434v10h-8.363L90 82.929V10H17.071l18.43 18.43.07-8.546 9.999.08-.204 25.443H19.973v-10h8.363L10 17.07zm19.745 37.701h-10v25.483H45.18v-10h-8.365l33.44-33.452v8.425h10V19.745H54.822v10h8.35L29.745 63.18v-8.409z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationScreenshot;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationEmbracetheWeird(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M50.028 9.658C27.178 12.136 9.39 31.491 9.39 55c0 8.832 2.51 17.078 6.857 24.063-2.302-8.325-2.151-17.035.801-24.035l-.015-.03.245-.498a25.44 25.44 0 01.81-1.65c6.717-13.595 20.721-22.947 36.91-22.948 12.318-.013 23.354 5.414 30.887 13.98.329-5.954-1.19-12.893-4.87-19.106-5.552-9.378-15.74-16.548-30.987-15.116v-.002zm42.655 45.894l.272-.551-.017-.034c2.956-7.012 3.1-15.739.787-24.075A45.397 45.397 0 01100.61 55c0 23.515-17.795 42.873-40.654 45.344v-.004c-15.246 1.431-25.435-5.739-30.987-15.117-3.678-6.212-5.198-13.148-4.87-19.102 7.534 8.562 18.582 13.976 30.902 13.976 16.2 0 30.185-9.394 36.896-22.95.28-.52.542-1.052.786-1.595zM55 0C24.624 0 0 24.624 0 55s24.624 55 55 55 55-24.624 55-55S85.376 0 55 0zm27.39 54.998c-3.929-6.688-10.221-11.812-17.719-14.21 4.53 3.092 7.504 8.297 7.504 14.195 0 5.93-3.012 11.157-7.582 14.243 7.533-2.393 13.855-7.527 17.798-14.228zM27.592 55c3.927-6.69 10.223-11.806 17.728-14.205-4.525 3.093-7.494 8.294-7.494 14.188 0 5.934 3.01 11.165 7.585 14.25C37.858 66.845 31.527 61.71 27.591 55zM55 47.198a7.785 7.785 0 000 15.57c4.287 0 7.784-3.49 7.784-7.785A7.785 7.785 0 0055 47.198z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEmbracetheWeird;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationSharewithYourTeamTeamLibrary(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g\n clipPath=\"url(#Share_with_Your_Team_(Team_Library)_svg__clip0)\"\n fill=\"currentColor\"\n >\n <path d=\"M33.33 24.946V8.384L24.946 0v24.946H0l8.384 8.384H33.33v-8.384zM58.286 33.33h8.385V8.384L58.286 0v24.946H33.331l8.394 8.384h16.561z\" />\n <path d=\"M100 8.384L91.614 0v24.946H66.67l8.385 8.384H100V8.384zM33.33 58.286V41.724l-8.384-8.394v24.956H0l8.384 8.384H33.33v-8.384zM33.33 58.286l8.395 8.384H66.67V41.724l-8.385-8.394v24.956H33.331zM66.67 58.286l8.384 8.384H100V41.724l-8.385-8.394v24.956H66.67zM24.946 66.67v24.946H0L8.384 100H33.33V75.054l-8.384-8.384zM58.286 66.67v24.946H33.331L41.725 100H66.67V75.054l-8.385-8.384zM66.67 91.616L75.053 100h24.945V75.054l-8.384-8.384v24.946H66.67z\" />\n </g>\n <defs>\n <clipPath id=\"Share_with_Your_Team_(Team_Library)_svg__clip0\">\n <path fill=\"#fff\" d=\"M0 0h100v100H0z\" />\n </clipPath>\n </defs>\n </svg>\n );\n}\n\nexport default IllustrationSharewithYourTeamTeamLibrary;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationEnterprisePlan(props) {\n return (\n <svg\n viewBox=\"0 0 101 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"M.001 52.667h47.333V100H.001zM52.667 52.667H100V100H52.667zM52.667 26H74v21.333H52.667zM52.667 0H74v21.333H52.667zM78.667 26H100v21.333H78.667zM78.667 12.667h8.667v8.667h-8.667zM78.667 0h8.667v8.667h-8.667zM91.335 12.667h8.667v8.667h-8.667zM91.335 0h8.667v8.667h-8.667zM0 0h47.333v47.333H0z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationEnterprisePlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationShare(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M34.27 50.002v15.73H50c-8.69 0-15.73-7.04-15.73-15.73zM65.73 50.002v-15.73H50c8.69 0 15.73 7.04 15.73 15.73zM50 34.272H34.27v15.73c0-8.69 7.04-15.73 15.73-15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50 65.732h15.73v-15.73c0 8.69-7.04 15.73-15.73 15.73z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M0 .002v100h100v-100H0zm81.46 10c3.48 1.79 6.2 4.84 7.57 8.54h-7.57v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H65.73v-8.54zm-15.73 0c6.1 0 11.38 3.47 13.99 8.54H36.01c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 0v8.54H20.28c2.61-5.07 7.89-8.54 13.99-8.54zm-15.73 80c-3.48-1.79-6.2-4.84-7.57-8.54h7.57v8.54zm0-10.28c-5.07-2.61-8.54-7.89-8.54-13.99h8.54v13.99zm0-15.73c-5.07-2.61-8.54-7.89-8.54-13.99 0-6.1 3.47-11.38 8.54-13.99v27.98zm0-29.72H10c0-6.1 3.47-11.38 8.54-13.99v13.99zm0-15.73h-7.57c1.37-3.7 4.09-6.75 7.57-8.54v8.54zm62.92 71.46v-8.54h7.57c-1.37 3.7-4.09 6.75-7.57 8.54zm0-10.28v-13.99H90c0 6.1-3.47 11.38-8.54 13.99zm0-29.72v-13.99c5.07 2.61 8.54 7.89 8.54 13.99 0 6.1-3.47 11.38-8.54 13.99v-13.99c0 8.69-7.04 15.73-15.73 15.73h15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54v-8.54-15.73c0 8.69-7.04 15.73-15.73 15.73h13.99c-2.61 5.07-7.89 8.54-13.99 8.54-6.1 0-11.38-3.47-13.99-8.54H50c-8.69 0-15.73-7.04-15.73-15.73v24.27c-6.1 0-11.38-3.47-13.99-8.54h13.99c-8.69 0-15.73-7.04-15.73-15.73h15.73c-8.69 0-15.73-7.04-15.73-15.73 0-8.69 7.04-15.73 15.73-15.73H18.54c0-8.69 7.04-15.73 15.73-15.73v15.73c0-8.69 7.04-15.73 15.73-15.73 8.69 0 15.73 7.04 15.73 15.73v-15.73c8.69 0 15.73 7.04 15.73 15.73v-13.99c5.07 2.61 8.54 7.89 8.54 13.99H65.73c8.69 0 15.73 7.04 15.73 15.73z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationShare;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationFaQandSecurity(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M50 70c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"\n fill=\"currentColor\"\n />\n <path d=\"M31 50V0H0v100h99.999V69H31V50z\" fill=\"currentColor\" />\n <path d=\"M100 66V0H34v31h35v35h31z\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport default IllustrationFaQandSecurity;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStarred(props) {\n return (\n <svg\n viewBox=\"0 0 101 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M38.963 0C17.45 0 0 18.136 0 40.495v8.507h9.444C30.967 49.002 48 30.41 48 8.05V.002L38.963 0zM100.002 38.965c0-21.513-18.136-38.963-40.495-38.963H51v9.444c0 21.523 18.592 38.556 40.951 38.556H100l.002-9.037zM61.039 100.004c21.513 0 38.963-18.136 38.963-40.495v-8.507h-9.444c-21.523 0-38.556 18.592-38.556 40.951v8.049l9.037.002zM0 61.039c0 21.513 18.136 38.963 40.495 38.963h8.507v-9.444c0-21.523-18.592-38.556-40.952-38.556H.002L0 61.039z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarred;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction Illustration5MinuteLimit(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55 10c-24.853 0-45 20.147-45 45s20.147 45 45 45 45-20.147 45-45-20.147-45-45-45zM0 55C0 24.624 24.624 0 55 0s55 24.624 55 55-24.624 55-55 55S0 85.376 0 55zm33.8-35.64H76v10H43.8v20.19h11.75v-9.87c14.131 0 25.59 11.459 25.59 25.59S69.681 90.86 55.55 90.86 29.96 79.401 29.96 65.27h10c0 8.609 6.981 15.59 15.59 15.59s15.59-6.981 15.59-15.59c0-8.535-6.863-15.47-15.37-15.588v9.868H33.8V19.36z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default Illustration5MinuteLimit;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStarterPlusPlan(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M55.666 3h15.333v15.333H55.666V3zm-3 18.333V0h21.333v21.333H52.666zM70.999 29H55.666v15.333h15.333V29zm-18.333-3v21.333h21.333V26H52.666zm-5.333 26.667H0V100h47.333V52.667zm52.666 0H52.666V100h47.333V52.667zM97 29H81.668v15.333H97V29zm-18.332-3v21.333H100V26H78.666zm3-10.333h2.666v2.666h-2.666v-2.666zm-3 5.666v-8.666h8.666v8.666h-8.666zM84.332 3h-2.666v2.667h2.666V3zm-5.666-3v8.667h8.666V0h-8.666zm15.667 15.667h2.667v2.666h-2.667v-2.666zm-3 5.666v-8.666h8.667v8.666h-8.667zM97.001 3h-2.667v2.667h2.667V3zm-5.667-3v8.667h8.667V0h-8.667zm-44 0H0v47.333h47.333V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStarterPlusPlan;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationGettingStarted(props) {\n return (\n <svg\n viewBox=\"0 0 106 106\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M53 101c26.51 0 48-21.49 48-48S79.51 5 53 5 5 26.49 5 53s21.49 48 48 48z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.986c26.51 0 48-14.563 48-32.527 0-17.965-21.49-32.528-48-32.528S5 50.494 5 68.46c0 17.964 21.49 32.527 48 32.527z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.998c26.51 0 48-8.682 48-19.39 0-10.71-21.49-19.391-48-19.391S5 70.898 5 81.607c0 10.71 21.49 19.391 48 19.391z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M53 100.984c26.51 0 48-3.908 48-8.728S79.51 83.53 53 83.53 5 87.436 5 92.256s21.49 8.728 48 8.728z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGettingStarted;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationStrongUploadSpeed(props) {\n return (\n <svg\n viewBox=\"0 0 111 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M.223 57.064l-.208-.356a55.069 55.069 0 002.244 13.991l44.404-40.904-46.44 27.27zM3.27 73.804C10.953 94.924 31.208 110 55 110c23.926 0 44.285-15.269 51.865-36.582l-51.582-47.53L3.27 73.804zm88.867-9.358v24.36L64.838 63.584v39.003a1.49 1.49 0 01-1.486 1.486H47.287a1.49 1.49 0 01-1.486-1.486V63.585l-27.388 25.22V64.446l36.914-33.983 36.81 33.983zM107.861 70.299a54.916 54.916 0 002.125-13.442L63.873 29.78 107.861 70.3zM63.115 25.873l46.886 27.537c-.148-5.228-1.01-10.293-2.526-15.06l-44.36-12.477zM2.482 38.543C.966 43.356.119 48.465 0 53.753l47.436-27.864L2.482 38.543z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.241 34.934C98.216 14.482 78.302 0 55.001 0 31.625 0 11.68 14.57 3.7 35.112l51.582-14.511 50.958 14.333z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationStrongUploadSpeed;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationGrowththroughEmpathy(props) {\n return (\n <svg\n viewBox=\"0 0 104 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M98.75 100.001c0-25.889-20.986-46.876-46.874-46.876C25.987 53.125 5 74.112 5 100.001\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M16.704 100.001c0-19.416 15.74-35.171 35.172-35.171 19.43 0 35.171 15.74 35.171 35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M28.213 100.001c0-13.07 10.593-23.648 23.648-23.648 13.054 0 23.662 10.579 23.662 23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M39.736 100c0-6.692 5.432-12.124 12.124-12.124 6.693 0 12.124 5.432 12.124 12.124M5 0c0 25.889 20.987 46.875 46.875 46.875C77.764 46.875 98.751 25.89 98.751 0\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M87.047 0c0 19.416-15.74 35.171-35.172 35.171-19.43 0-35.171-15.74-35.171-35.171\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M75.538 0c0 13.07-10.593 23.648-23.648 23.648-13.054 0-23.662-10.579-23.662-23.648\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M64.015 0c0 6.693-5.432 12.124-12.124 12.124S39.767 6.693 39.767.002\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationGrowththroughEmpathy;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationTroubleshooting(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5 55h99.984c0 27.61-22.375 50-50 50S5 82.61 5 55z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M55 105c27.614 0 50-22.386 50-50S82.614 5 55 5 5 27.386 5 55s22.386 50 50 50z\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M23.534 55C23.534 37.62 37.62 23.534 55 23.534c17.382 0 31.466 14.085 31.466 31.466\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n <path\n d=\"M42.053 55c0-7.138 5.794-12.932 12.932-12.932 7.138 0 12.932 5.794 12.932 12.932\"\n stroke=\"currentColor\"\n strokeWidth={10}\n strokeMiterlimit={10}\n />\n </svg>\n );\n}\n\nexport default IllustrationTroubleshooting;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHealthPlans(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 .929H0v100h100v-100zm-54.528 18.32v4.298l9.051-4.299h-9.05zm0 14.937v-5.883h9.051l-9.05 5.883zm0 3.166v7.467l9.051-7.467h-9.05zm0 18.1V46.4h9.051l-9.05 9.05zm0 1.586v7.467l9.051-7.467h-9.05zm0 16.517v-5.883h9.051l-9.05 5.883zm0 4.75v4.3l9.051-4.3h-9.05zM88.01 91.66v-2.715h2.715l-2.715 2.715zm0-13.354v4.3l2.715-4.3H88.01zm0-4.75v-5.883h2.715l-2.715 5.883zm0-16.517v7.467l2.715-7.467H88.01zm0-1.586V46.4h2.715l-2.715 9.05zm0-18.1v7.467l2.715-7.467H88.01zm0-3.166v-5.883h2.715l-2.715 5.883zm0-14.938v4.3l2.715-4.3H88.01zm0-6.334V10.2h2.715l-2.715 2.716zm-10.633 76.03v2.715l4.3-2.715h-4.3zm0-6.34v-4.299h4.3l-4.3 4.3zm0-14.932v5.883l4.3-5.883h-4.3zm0-3.167v-7.467h4.3l-4.3 7.467zm0-18.104v9.05l4.3-9.05h-4.3zm0-1.582v-7.467h4.3l-4.3 7.467zm0-16.516v5.883l4.3-5.883h-4.3zm0-4.756v-4.299h4.3l-4.3 4.3zm0-13.348v2.716l4.3-2.716h-4.3zM66.741 91.66v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-10.634 76.03v2.715l7.467-2.715h-7.467zm0-6.339v-4.3h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883h-7.467zm0-3.168v-7.467h7.467l-7.467 7.467zm0-18.104v9.051l7.467-9.05h-7.467zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883h-7.467zm0-4.755v-4.3h7.467l-7.467 4.3zm.001-13.348v2.715l7.467-2.715h-7.467zm-10.636 2.715v-2.716h9.051l-9.05 2.716zm-9.051 76.029v2.715l7.467-2.715H36.42zm0-6.34v-4.299h7.467l-7.467 4.3zm0-14.932v5.883l7.467-5.883H36.42zm0-3.167v-7.467h7.467l-7.467 7.467zm0-18.104v9.05l7.467-9.05H36.42zm0-1.582v-7.467h7.467l-7.467 7.467zm0-16.516v5.883l7.467-5.883H36.42zm0-4.756v-4.299h7.467l-7.467 4.3zm0-13.348v2.716l7.467-2.716H36.42zm-9.05 81.46v-2.715h5.883l-5.883 2.715zm0-13.354v4.3l5.883-4.3h-5.883zm0-4.75v-5.883h5.883l-5.883 5.883zm0-16.517v7.467l5.883-7.467h-5.883zm0-1.586V46.4h5.883l-5.883 9.05zm0-18.1v7.467l5.883-7.467h-5.883zm0-3.166v-5.883h5.883l-5.883 5.883zm0-14.938v4.3l5.883-4.3h-5.883zm0-6.334V10.2h5.883l-5.883 2.716zm-9.05 76.03v2.715l4.299-2.715h-4.3zm0-6.34v-4.299h4.299l-4.3 4.3zm0-14.932v5.883l4.299-5.883h-4.3zm0-3.167v-7.467h4.299l-4.3 7.467zm0-18.104v9.05l4.299-9.05h-4.3zm0-1.582v-7.467h4.299l-4.3 7.467zm0-16.516v5.883l4.299-5.883h-4.3zm0-4.756v-4.299h4.299l-4.3 4.3zm0-13.348v2.716l4.299-2.716h-4.3zm27.151 81.46v-2.715h9.051l-9.05 2.715zM9.27 88.944v2.715l2.715-2.715H9.27zm0-6.34v-4.299h2.715l-2.715 4.3zm0-14.932v5.883l2.715-5.883H9.27zm0-3.167v-7.467h2.715L9.27 64.505zm0-18.104v9.05l2.715-9.05H9.27zm0-1.582v-7.467h2.715L9.27 44.819zm0-16.516v5.883l2.715-5.883H9.27zm0-4.756v-4.299h2.715l-2.715 4.3zm0-13.348v2.715l2.716-2.715H9.268z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHealthPlans;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUpgrade(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M100 100H0V0h100v100zM67.146 64.937L89.837 90H10.163l22.691-25.063H10.163L36.04 46.705H10.163L38.196 33.03H10.163l25.895-9.357H10.163l23.902-6.477H10.163L50 10l39.837 7.197H65.935l23.902 6.477H63.942l25.895 9.357H61.804l28.033 13.674H63.96l25.877 18.232H67.146z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUpgrade;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHowtoUseLoom(props) {\n return (\n <svg\n viewBox=\"0 0 110 110\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M61.125 97.536H48.768v12.373h12.357V97.536zM81.608 88.743l-10.701 6.179 6.186 10.714 10.701-6.178-6.186-10.715zM94.92 70.897l-6.178 10.7 10.715 6.187 6.178-10.701-10.714-6.186zM89.445 61.127V48.77H78.014l9.91-5.724-6.178-10.71-9.895 5.724 5.724-9.895-10.71-6.179-5.724 9.895V20.45H48.769V31.88l-5.724-9.895-10.71 6.179 5.723 9.91-9.91-5.723-6.179 10.71 9.91 5.724H20.45v12.356h11.43l-9.91 5.724 6.179 10.71 9.91-5.723-5.723 9.91 10.71 6.178 5.724-9.91v11.431h12.356V78.032l5.724 9.91 10.71-6.178-5.724-9.895 9.895 5.724 6.179-10.71-9.91-5.724h11.447v-.031zM54.947 71.413c-9.095 0-16.465-7.37-16.465-16.465 0-9.095 7.37-16.465 16.465-16.465 9.095 0 16.465 7.37 16.465 16.465 0 9.095-7.37 16.465-16.465 16.465zM109.91 48.77H97.538v12.356h12.372V48.77zM99.46 22.114l-10.714 6.187L94.925 39l10.714-6.186-6.178-10.7zM77.082 4.276L70.896 14.99l10.701 6.179 6.186-10.715-10.7-6.178zM61.125 0H48.768v12.373h12.357V0zM32.825 4.281L22.124 10.46l6.186 10.714 10.701-6.178-6.186-10.715zM10.449 22.127L4.27 32.828l10.714 6.186 6.178-10.7-10.714-6.187zM12.373 48.77H0v12.356h12.373V48.77zM14.99 70.881L4.274 77.067l6.178 10.701 10.715-6.186-6.179-10.7zM28.311 88.746L22.125 99.46l10.701 6.179 6.186-10.715-10.7-6.178z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHowtoUseLoom;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUploadDragAndDrop(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M100 38.086V0H61.914v9.93h21.132L54.963 38.013V16.88h-9.93v21.132L16.951 9.93h21.135V0H0v38.086h9.93V16.951l28.083 28.082H16.88v9.93h21.132L9.93 83.046V61.914H0V100h38.086v-9.93H16.951l28.082-28.086v21.135h9.93V61.984L83.046 90.07H61.914V100H100V61.914h-9.93v21.132L61.987 54.963H83.12v-9.93H61.987L90.07 16.951v21.135H100z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUploadDragAndDrop;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationUseCases(props) {\n return (\n <svg\n viewBox=\"0 0 100 100\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M0 0v100h100V0H0zm90 90H61.91l20.87-12.52L90 89.52V90zm0-71.25H29.01L90 26.56v8.82l-42.3-5.42L90 42.3v9.12l-27.61-8.05L90 56.78v9.73l-15.29-7.42L90 71.34v11.22L76.02 71.35 61.06 90H49.84l24.82-30.94-8.62-4.19L48.98 90h-9.73l22.71-46.76-9.21-2.68L38.34 90h-9.12l17.53-60.15-10.48-1.35L28.4 90h-8.82l9.12-71.25h-9.94V90H10V10h80v8.75z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationUseCases;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationInviteMembers(props) {\n return (\n <svg\n viewBox=\"0 0 134 134\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M67.59 60.288V0h-1.175v60.292L55.941.914l-1.157.204 10.474 59.374L44.636 3.841l-1.104.401 20.622 56.651L34.01 8.681l-1.017.588 30.144 52.213-38.752-46.184-.9.755 38.753 46.185-46.185-38.752-.755.9 46.184 38.752L9.27 32.993 8.68 34.01l52.212 30.144-56.65-20.622-.403 1.104 56.652 20.622L1.118 54.785l-.204 1.157 59.377 10.473H0v1.175h60.288L.914 78.058l.204 1.157 59.374-10.468L3.84 89.364l.402 1.104 56.651-20.617L8.681 99.99l.588 1.017 52.213-30.14-46.184 38.747.755.9 46.186-38.747-38.753 46.18.9.755 38.751-46.178-30.144 52.207 1.017.588 30.144-52.207-20.622 56.645 1.104.402 20.622-56.646-10.473 59.369 1.156.204 10.474-59.373V134h1.175V73.717l10.468 59.369 1.157-.204-10.468-59.37 20.617 56.647 1.104-.401-20.617-56.646 30.139 52.206 1.017-.587-30.14-52.208 38.747 46.179.9-.755-38.747-46.18 46.18 38.747.755-.9-46.179-38.746 52.208 30.139.588-1.017L73.112 69.85l56.646 20.617.401-1.104-56.646-20.617 59.369 10.468.204-1.157-59.37-10.468H134v-1.175H73.714l59.372-10.474-.204-1.156-59.369 10.473 56.646-20.622-.401-1.104-56.646 20.622 52.207-30.144-.588-1.017-52.208 30.144 46.179-38.752-.755-.9-46.18 38.753 38.747-46.185-.9-.755-38.746 46.184L101.007 9.27 99.99 8.68 69.85 60.893l20.617-56.65-1.104-.402-20.617 56.651L79.215 1.118 78.058.914 67.59 60.288z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationInviteMembers;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationWellness(props) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M66.667.929a33.333 33.333 0 010 66.666V.93zM0 34.263a33.333 33.333 0 0166.667 0H0zM33.333 100.929a33.338 33.338 0 01-23.57-9.763 33.333 33.333 0 0123.57-56.903v66.666z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.999 67.596a33.332 33.332 0 01-64.13 12.756 33.332 33.332 0 01-2.537-12.756h66.667zM33.334.93H.001v33.333h33.333z\"\n fill=\"currentColor\"\n />\n <path fill=\"currentColor\" d=\"M100 67.595H66.667v33.333H100z\" />\n </svg>\n );\n}\n\nexport default IllustrationWellness;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationComments(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M96 0H0v96h96V0zM84 12H12v72h72V12z\"\n fill=\"currentColor\"\n />\n <path\n fill=\"currentColor\"\n d=\"M19.2 19.2h57.6v12H19.2zM19.2 38.4h57.6v12H19.2zM19.2 57.6h31.2v12H19.2z\"\n />\n </svg>\n );\n}\n\nexport default IllustrationComments;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllutrationFoldersEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 67.2V96h96V0H67.2v67.2H0z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 28.8V60h28.8V28.8H60V0H0v28.8z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllutrationFoldersEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationHelpIos(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M22.8 12c5.965 0 10.8 4.835 10.8 10.8 0 .254-.008.505-.026.754C38.542 16.58 46.912 12 56.4 12 71.643 12 84 23.82 84 38.4c0 14.58-12.357 26.4-27.6 26.4-5.744 0-11.078-1.678-15.496-4.55A15.527 15.527 0 0143.2 68.4c0 8.616-6.984 15.6-15.6 15.6C18.985 84 12 77.016 12 68.4s6.985-15.6 15.6-15.6c2.444 0 4.757.562 6.816 1.564C30.892 49.93 28.8 44.399 28.8 38.4c0-2.6.393-5.11 1.125-7.483A10.76 10.76 0 0122.8 33.6c-5.964 0-10.8-4.835-10.8-10.8C12 16.835 16.836 12 22.8 12z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v96H0V0zm12 12v72h72V12H12z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationHelpIos;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationMyVideosEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M96 0H0v96h96V0zM84 12v72H12V12h72z\" fill=\"currentColor\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M85.023 48.341L48.341 11.66 11.66 48.341 48.34 85.023l36.682-36.682zm-56.69 0L48.34 28.333 28.333 48.34zm20.842 19.175L68.35 48.34 49.175 29.167v38.349z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationMyVideosEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationRecentsEmptyStateMobile(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 0h96v28.704H47.844V12L12 48l35.844 36V67.305H96V96H0V0z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default IllustrationRecentsEmptyStateMobile;\n", "import * as React from 'react';\n\n/** @deprecated Work with your designer to replace with one of the current illustrations (https://lens.loom.dev/illustrations/illustration-set). */\nfunction IllustrationChromeNotificationsEmptyState(props) {\n return (\n <svg\n viewBox=\"0 0 96 96\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n cx={15.84}\n cy={15.84}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 15.84c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04C36.48 9.877 41.502 4.8 48 4.8c6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle cx={80.16} cy={15.84} r={15.84} fill=\"currentColor\" />\n <path\n d=\"M26.88 48c0 6.498-5.077 11.52-11.04 11.52C9.877 59.52 4.8 54.498 4.8 48c0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={48}\n cy={48}\n r={11.52}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M91.2 48c0 6.498-5.077 11.52-11.04 11.52-5.963 0-11.04-5.022-11.04-11.52 0-6.498 5.077-11.52 11.04-11.52 5.963 0 11.04 5.022 11.04 11.52z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={15.84}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <path\n d=\"M59.52 80.16c0 5.963-5.022 11.04-11.52 11.04-6.498 0-11.52-5.077-11.52-11.04 0-5.963 5.022-11.04 11.52-11.04 6.498 0 11.52 5.077 11.52 11.04z\"\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n <circle\n cx={80.16}\n cy={80.16}\n r={11.04}\n stroke=\"currentColor\"\n strokeWidth={9.6}\n />\n </svg>\n );\n}\n\nexport default IllustrationChromeNotificationsEmptyState;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nexport default function User(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={orange}>\n <path d=\"m78.7483 223.198c.07-.41.1-.85.09-1.32s-.05-.92-.13-1.33c-.48-2.49-2.23-4-4.67-4.36-.42-.06-.85-.09-1.3-.08s-.92.05-1.35.13c-2.42.44-4.13 1.99-4.55 4.48-.07.42-.1.87-.1 1.34s.05.9.13 1.32c.48 2.47 2.23 3.98 4.67 4.35.43.07.88.1 1.36.09s.89-.05 1.3-.12c2.43-.43 4.14-1.99 4.55-4.49z\" />\n <path d=\"m78.0483 173.388c.13-.81.2-1.67.18-2.58s-.1-1.79-.26-2.61c-.94-4.85-4.36-7.81-9.11-8.51-.81-.12-1.66-.18-2.54-.16s-1.8.1-2.64.25c-4.73.86-8.06 3.89-8.87 8.74-.14.82-.2 1.69-.19 2.61s.1 1.77.26 2.57c.94 4.82 4.35 7.77 9.11 8.5.84.13 1.73.19 2.65.18.88-.01 1.73-.09 2.54-.23 4.74-.84 8.08-3.89 8.88-8.76z\" />\n <path d=\"m146.748 112.908c.62-3.79.92-7.82.86-12.07-.06-4.3098-.47-8.3798-1.21-12.1998-4.41-22.73-20.43-36.56-42.68-39.86-3.8005-.56-7.7705-.83-11.9005-.77-4.31.06-8.44.46-12.37 1.17-22.16 4.01-37.77 18.24-41.56 40.95-.64 3.84-.94 7.92-.88 12.2298.06 4.25.47 8.27 1.2 12.04 4.38 22.57 20.39 36.39 42.69 39.8 3.95.6 8.08.89 12.39.83 4.13-.06 8.1005-.43 11.8805-1.1 22.18-3.92 37.83-18.21 41.58-41.02z\" />\n </g>\n <path\n d=\"m111.457 86.5384c.02 1.48-.08 2.89-.3 4.21-1.31 7.96-6.77 12.9396-14.5097 14.3096-1.31.23-2.64.36-4.14.38s-2.94-.08-4.32-.29c-7.78-1.18-13.36-5.9996-14.89-13.8796-.26-1.32-.4-2.72-.42-4.2-.02-1.51.09-2.93.31-4.27 1.32-7.93 6.77-12.89 14.5-14.29 1.37-.25 2.81-.39 4.31-.41 1.44-.02 2.83.07 4.15.27 7.7597 1.16 13.3497 5.98 14.8897 13.91.25 1.34.4 2.76.42 4.26z\"\n fill={blue}\n />\n <path\n d=\"m92.577 108.628c19.529-.339 32.308 9.059 31.85 34.306l.07 3.934c-5.64 3.401-12.14 5.781-19.34 7.051-3.78.67-7.75 1.04-11.88 1.1-4.31.06-8.44-.23-12.39-.83-6.72-1.02-12.85-3.01-18.28-5.88l-.07-4.301c-.44-25.23 11.71-35.06 30.04-35.38z\"\n fill={blue}\n />\n <path\n d=\"m237.097 148.658c.62-3.79.92-7.82.86-12.07-.06-4.31-.47-8.38-1.21-12.2-4.41-22.73-20.43-36.5598-42.68-39.8598-3.8-.56-7.77-.83-11.9-.77-4.31.06-8.44.46-12.37 1.17-22.16 4.01-37.77 18.2398-41.56 40.9498-.64 3.84-.94 7.92-.88 12.23.06 4.25.47 8.27 1.2 12.04 4.38 22.57 20.39 36.39 42.69 39.8 3.95.6 8.08.89 12.39.83 4.13-.06 8.1-.43 11.88-1.1 22.18-3.92 37.83-18.21 41.58-41.02z\"\n fill={orange}\n />\n <path\n d=\"m201.807 122.288c.02 1.48-.08 2.89-.3 4.21-1.31 7.96-6.77 12.94-14.51 14.31-1.31.23-2.7.36-4.14.38-1.5.02-2.94-.08-4.32-.29-7.78-1.18-13.36-6-14.89-13.88-.26-1.32-.4-2.72-.42-4.2-.02-1.51.09-2.93.31-4.27 1.32-7.93 6.77-12.89 14.5-14.29 1.37-.25 2.81-.39 4.31-.41 1.44-.02 2.83.07 4.15.27 7.76 1.16 13.35 5.98 14.89 13.91.25 1.34.4 2.76.42 4.26z\"\n fill={blue}\n />\n <path\n d=\"m182.929 144.388c19.528-.34 32.308 9.059 31.85 34.305l.07 3.935c-5.64 3.4-12.14 5.78-19.34 7.05-3.78.67-7.75 1.04-11.88 1.1-4.31.06-8.44-.23-12.39-.83-6.72-1.02-12.85-3.01-18.28-5.88l-.07-4.3c-.44-25.23 11.71-35.06 30.04-35.38z\"\n fill={blue}\n />\n <path\n d=\"m148.638 195.028c.38-2.29.55-4.71.52-7.28-.04-2.6-.29-5.05-.73-7.36-2.66-13.71-12.32-22.04-25.73-24.04-2.29-.34-4.69-.5-7.18-.46s-5.09.28-7.46.71c-13.3597 2.42-22.7696 11-25.0596 24.7-.39 2.31-.57 4.77-.53 7.38.04 2.56.28 4.99.72 7.26 2.64 13.61 12.29 21.94 25.7396 24 2.38.36 4.87.54 7.47.5 2.49-.03 4.88-.26 7.16-.66 13.38-2.36 22.81-10.98 25.08-24.74z\"\n fill={orange}\n />\n <path\n d=\"m127.357 179.118c.01.9-.05 1.74-.18 2.54v-.01c-.79 4.8-4.08 7.81-8.75 8.63-.8.14-1.63.22-2.5.23-.91.02-1.78-.04-2.61-.17-4.69-.71-8.06-3.62-8.98-8.37-.15-.79-.24-1.64-.25-2.53-.01-.9.06-1.76.19-2.57.79-4.78 4.08-7.78 8.74-8.62.82-.15 1.73-.24 2.6-.25s1.7.04 2.5.16c4.68.7 8.05 3.61 8.98 8.39.16.81.25 1.66.26 2.57z\"\n fill={blue}\n />\n <path\n d=\"m115.967 192.448c11.78-.2 19.49 5.46 19.21 20.69l.04 2.38c-3.4 2.05-7.32 3.48-11.66 4.25-2.28.4-4.67.63-7.16.66-2.6.04-5.09-.14-7.47-.5-4.05-.62-7.75-1.82-11.0202-3.55l-.05-2.59c-.27-15.22 7.0602-21.15 18.1102-21.34z\"\n fill={blue}\n />\n <path\n d=\"m146.747 112.908c.62-3.79.92-7.82.86-12.07-.03-2.3-.17-4.52-.4-6.67-9.93 7.15-16.66 17.85-18.97 31.72-.64 3.84-.94 7.92-.88 12.23.03 2.28.17 4.49.4 6.64 9.96-7.15 16.7-17.9 18.99-31.85z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m148.617 181.489c-.06-.37-.12-.74-.19-1.1-2.08-10.73-8.46-18.15-17.57-21.83 3.55 9.81 9.67 17.52 17.75 22.93z\"\n fill={illustrationColors.staticRed}\n />\n </svg>\n );\n}\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction UserGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const mid = getColorValue('illustrationGreyscaleMid');\n\n return (\n <svg fill=\"none\" height=\"200\" viewBox=\"0 0 200 200\" width=\"200\" {...props}>\n <path\n d=\"M57.2697 162.326C57.3206 162.028 57.3424 161.708 57.3352 161.366C57.3279 161.024 57.2988 160.697 57.2406 160.398C56.8915 158.588 55.6188 157.489 53.8442 157.228C53.5388 157.184 53.2261 157.162 52.8988 157.169C52.5715 157.177 52.2297 157.206 51.917 157.264C50.157 157.584 48.9133 158.711 48.6079 160.522C48.557 160.828 48.5352 161.155 48.5352 161.497C48.5352 161.838 48.5715 162.151 48.6297 162.457C48.9788 164.253 50.2515 165.351 52.0261 165.62C52.3388 165.671 52.6661 165.693 53.0152 165.686C53.3642 165.678 53.6624 165.649 53.9606 165.598C55.7279 165.286 56.9715 164.151 57.2697 162.333V162.326Z\"\n fill={fill}\n />\n <path\n d=\"M56.7634 126.101C56.858 125.512 56.9089 124.886 56.8943 124.224C56.8798 123.563 56.8216 122.923 56.7053 122.326C56.0216 118.799 53.5343 116.646 50.0798 116.137C49.4907 116.05 48.8725 116.006 48.2325 116.021C47.5925 116.035 46.9234 116.094 46.3125 116.203C42.8725 116.828 40.4507 119.032 39.8616 122.559C39.7598 123.155 39.7162 123.788 39.7234 124.457C39.7307 125.126 39.7962 125.744 39.9125 126.326C40.5962 129.832 43.0762 131.977 46.538 132.508C47.1489 132.603 47.7962 132.646 48.4653 132.639C49.1053 132.632 49.7234 132.574 50.3125 132.472C53.7598 131.861 56.1889 129.643 56.7707 126.101H56.7634Z\"\n fill={fill}\n />\n <path\n d=\"M106.727 82.1152C107.177 79.3588 107.396 76.4279 107.352 73.337C107.308 70.2024 107.01 67.2424 106.472 64.4642C103.265 47.9333 91.6138 37.8752 75.432 35.4752C72.6684 35.0679 69.7811 34.8715 66.7774 34.9152C63.6429 34.9588 60.6393 35.2497 57.7811 35.7661C41.6647 38.6824 30.312 49.0315 27.5556 65.5479C27.0902 68.3406 26.872 71.3079 26.9156 74.4424C26.9593 77.5333 27.2574 80.457 27.7883 83.1988C30.9738 99.6133 42.6174 109.664 58.8356 112.144C61.7083 112.581 64.712 112.792 67.8465 112.748C70.8502 112.704 73.7374 112.435 76.4865 111.948C92.6174 109.097 103.999 98.7042 106.727 82.1152Z\"\n fill={fill}\n />\n <path\n d=\"M81.0595 62.9368C81.0741 64.0132 81.0013 65.0386 80.8413 65.9986C79.8886 71.7877 75.9177 75.4095 70.2886 76.4059C69.3359 76.5732 68.3686 76.6677 67.2777 76.6823C66.1868 76.6968 65.1395 76.6241 64.1359 76.4714C58.4777 75.6132 54.4195 72.1077 53.3068 66.3768C53.1177 65.4168 53.0159 64.3986 53.0013 63.3223C52.9868 62.2241 53.0668 61.1914 53.2268 60.2168C54.1868 54.4495 58.1504 50.8423 63.7722 49.8241C64.7686 49.6423 65.8159 49.5405 66.9068 49.5259C67.9541 49.5114 68.965 49.5768 69.925 49.7223C75.5686 50.5659 79.6341 54.0714 80.7541 59.8386C80.9359 60.8132 81.045 61.8459 81.0595 62.9368Z\"\n fill={mid}\n />\n <path\n d=\"M67.3283 79.0023C81.5311 78.7551 90.8253 85.5905 90.492 103.951L90.5429 106.813C86.4411 109.286 81.7138 111.017 76.4774 111.941C73.7283 112.428 70.8411 112.697 67.8374 112.741C64.7029 112.784 61.6992 112.573 58.8265 112.137C53.9392 111.395 49.4811 109.948 45.532 107.861L45.4811 104.733C45.1611 86.3841 53.9974 79.2351 67.3283 79.0023Z\"\n fill={mid}\n />\n <path\n d=\"M172.434 108.115C172.884 105.359 173.103 102.428 173.059 99.337C173.015 96.2024 172.717 93.2424 172.179 90.4642C168.972 73.9333 157.321 63.8752 141.139 61.4752C138.375 61.0679 135.488 60.8715 132.484 60.9152C129.35 60.9588 126.346 61.2497 123.488 61.7661C107.372 64.6824 96.019 75.0315 93.2627 91.5479C92.7972 94.3406 92.579 97.3079 92.6227 100.442C92.6663 103.533 92.9645 106.457 93.4954 109.199C96.6808 125.613 108.324 135.664 124.543 138.144C127.415 138.581 130.419 138.792 133.554 138.748C136.557 138.704 139.444 138.435 142.194 137.948C158.324 135.097 169.706 124.704 172.434 108.115Z\"\n fill={fill}\n />\n <path\n d=\"M146.769 88.9368C146.784 90.0132 146.711 91.0386 146.551 91.9986C145.598 97.7877 141.627 101.41 135.998 102.406C135.045 102.573 134.034 102.668 132.987 102.682C131.896 102.697 130.849 102.624 129.845 102.471C124.187 101.613 120.129 98.1077 119.016 92.3768C118.827 91.4168 118.725 90.3986 118.711 89.3223C118.696 88.2241 118.776 87.1914 118.936 86.2168C119.896 80.4495 123.86 76.8423 129.482 75.8241C130.478 75.6423 131.525 75.5405 132.616 75.5259C133.664 75.5114 134.674 75.5768 135.634 75.7223C141.278 76.5659 145.344 80.0714 146.464 85.8386C146.645 86.8132 146.754 87.8459 146.769 88.9368Z\"\n fill={mid}\n />\n <path\n d=\"M133.039 105.009C147.242 104.762 156.536 111.598 156.203 129.959L156.254 132.82C152.152 135.293 147.425 137.024 142.188 137.948C139.439 138.435 136.552 138.704 133.548 138.748C130.414 138.791 127.41 138.58 124.537 138.144C119.65 137.402 115.192 135.955 111.243 133.868L111.192 130.74C110.872 112.391 119.708 105.242 133.039 105.009Z\"\n fill={mid}\n />\n <path\n d=\"M108.1 141.838C108.377 140.173 108.5 138.413 108.478 136.544C108.449 134.653 108.268 132.871 107.948 131.191C106.013 121.22 98.9875 115.162 89.2348 113.708C87.5694 113.46 85.8239 113.344 84.013 113.373C82.2021 113.402 80.3112 113.577 78.5875 113.889C68.8712 115.649 62.0275 121.889 60.3621 131.853C60.0784 133.533 59.9475 135.322 59.9766 137.22C60.0057 139.082 60.1803 140.849 60.5003 142.5C62.4203 152.398 69.4384 158.457 79.2203 159.955C80.9512 160.217 82.7621 160.348 84.653 160.318C86.4639 160.297 88.2021 160.129 89.8603 159.838C99.5912 158.122 106.449 151.853 108.1 141.846V141.838Z\"\n fill={fill}\n />\n <path\n d=\"M92.6239 130.268C92.6312 130.922 92.5875 131.533 92.493 132.115V132.108C91.9184 135.599 89.5257 137.788 86.1293 138.384C85.5475 138.486 84.9439 138.544 84.3112 138.551C83.6493 138.566 83.0166 138.522 82.413 138.428C79.0021 137.911 76.5512 135.795 75.8821 132.341C75.773 131.766 75.7075 131.148 75.7003 130.501C75.693 129.846 75.7439 129.221 75.8384 128.631C76.413 125.155 78.8057 122.973 82.1948 122.362C82.7912 122.253 83.453 122.188 84.0857 122.181C84.7184 122.173 85.3221 122.21 85.9039 122.297C89.3075 122.806 91.7584 124.922 92.4348 128.399C92.5512 128.988 92.6166 129.606 92.6239 130.268Z\"\n fill={mid}\n />\n <path\n d=\"M84.3402 139.963C92.9075 139.817 98.5148 143.933 98.3111 155.01L98.3402 156.741C95.8675 158.232 93.0166 159.272 89.8602 159.832C88.202 160.123 86.4639 160.29 84.6529 160.312C82.762 160.341 80.9511 160.21 79.2202 159.948C76.2748 159.497 73.5839 158.624 71.2057 157.366L71.1693 155.483C70.9729 144.413 76.3039 140.101 84.3402 139.963Z\"\n fill={mid}\n />\n <path\n d=\"M106.724 82.1149C107.175 79.3586 107.394 76.4277 107.35 73.3367C107.328 71.664 107.226 70.0495 107.059 68.4858C99.8372 73.6858 94.9427 81.4677 93.2627 91.5549C92.7972 94.3477 92.579 97.3149 92.6227 100.449C92.6445 102.108 92.7463 103.715 92.9136 105.279C100.157 100.079 105.059 92.2604 106.724 82.1149Z\"\n fill={accent}\n />\n <path\n d=\"M108.084 131.992C108.041 131.723 107.997 131.454 107.946 131.192C106.433 123.388 101.793 117.992 95.168 115.315C97.7498 122.45 102.201 128.057 108.077 131.992H108.084Z\"\n fill={accent}\n />\n </svg>\n );\n}\n\nexport default UserGreyscale;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction AllCanEdit(props) {\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n const stroke = getColorValue('illustrationStroke');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m149.5 171.824c-22.25 0-39.2-11.52-46.52-31.65-1.28-3.47-2.27-7.25-2.95-11.22-.69-4.03-1.03-7.97-1-11.71.17-21.5497 12.4-38.1497 33.54-45.5397 3.65-1.28 7.53-2.28 11.51-2.96 3.78-.67 7.61-1.02 11.36-1.07 22.37-.23 39.49 11.33 46.9 31.71 1.3 3.5897 2.3 7.4097 2.98 11.3697.63 3.63.97 7.23 1 10.72l.02.02v.83c-.14 21.67-12.37 38.3-33.57 45.61-3.48 1.21-7.21 2.16-11.06 2.82-4 .69-7.98 1.05-11.83 1.07-.12 0-.25 0-.37 0zm6.57-100.1497c-.2 0-.39 0-.59 0-3.54.04-7.14.38-10.72 1-3.77.65-7.43 1.59-10.87 2.8-19.74 6.9-30.7 21.75-30.86 41.7997-.03 3.51.29 7.21.94 11 .64 3.74 1.57 7.28 2.77 10.53 6.85 18.84 22.15 29.15 43.11 29.02 3.63-.02 7.39-.36 11.17-1.01 3.64-.62 7.15-1.52 10.43-2.66 19.32-6.66 30.54-21.69 30.87-41.29v-.57c.02-3.51-.3-7.16-.94-10.85-.64-3.74-1.58-7.33-2.8-10.69-6.73-18.4997-22.21-29.0697-42.51-29.0697z\"\n fill={gray}\n />\n <path\n d=\"m211.38 172.104c.28-1.68.41-3.47.38-5.36-.03-1.92-.21-3.72-.54-5.42-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34-1.91.03-3.75.2-5.49.52-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43s.21 3.67.53 5.35c1.95 10.02 9.05 16.16 18.95 17.67 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.21z\"\n fill={gray}\n />\n <path\n d=\"m201.47 185.445c.2-11.21-5.47-15.38-14.14-15.23-8.14.14-13.53 4.51-13.34 15.71l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={accent}\n />\n <path\n d=\"m195.58 162.265c.1-.59.14-1.21.13-1.87s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.83-6.44 6.34-.1.59-.15 1.23-.14 1.89s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={accent}\n />\n <path\n d=\"m140.66 76.8245c.28-1.68.41-3.47.38-5.36-.03-1.92-.21-3.72-.54-5.42-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34s-3.75.2-5.49.52c-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43s.21 3.67.53 5.35c1.95 10.02 9.05 16.16 18.95 17.67 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.21z\"\n fill={gray}\n />\n <path\n d=\"m130.75 90.1646c.2-11.21-5.47-15.38-14.14-15.23-8.14.14-13.53 4.51-13.34 15.71l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={accent}\n />\n <path\n d=\"m124.86 66.9843c.1-.59.14-1.2099.13-1.8699s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.8299-6.44 6.3399-.1.59-.15 1.2301-.14 1.8901s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={accent}\n />\n <path\n d=\"m225.67 90.2845c.28-1.68.41-3.47.38-5.36s-.21-3.72-.54-5.42c-1.96-10.09-9.07-16.23-18.95-17.7-1.69-.25-3.45-.37-5.29-.34-1.91.03-3.75.2-5.49.52-9.84 1.78-16.77 8.1-18.45 18.18-.28 1.7-.42 3.52-.39 5.43.03 1.89.21 3.67.53 5.35 1.95 10.0195 9.05 16.1595 18.95 17.6695 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 9.85-1.74 16.8-8.09 18.46-18.2095z\"\n fill={accent}\n />\n <path\n d=\"m215.76 103.625c.2-11.2105-5.47-15.3805-14.14-15.2305-8.14.14-13.53 4.51-13.34 15.7105l.03 1.91c2.41 1.27 5.13 2.16 8.12 2.61 1.75.27 3.59.39 5.5.37 1.83-.03 3.6-.19 5.27-.49 3.2-.56 6.08-1.62 8.59-3.13z\"\n fill={gray}\n />\n <path\n d=\"m209.87 80.4443c.1-.59.14-1.21.13-1.87s-.07-1.3-.19-1.89c-.68-3.52-3.16-5.66-6.61-6.18-.59-.09-1.2-.13-1.84-.12s-1.31.07-1.92.18c-3.43.62-5.85 2.83-6.44 6.34-.1.59-.15 1.23-.14 1.89s.07 1.28.19 1.87c.68 3.5 3.16 5.64 6.61 6.16.61.09 1.25.14 1.92.13s1.25-.07 1.84-.17c3.44-.61 5.86-2.82 6.44-6.35z\"\n fill={gray}\n />\n <path\n d=\"m49 224.005s64.83 7.71 98.2-.35v-117.41s-52.91 12.96-98.2-.7c0 0 .72 118.98 0 118.46z\"\n fill={gray}\n />\n <g stroke={stroke} strokeMiterlimit=\"10\" strokeWidth=\"7\">\n <path d=\"m62.9 145.154h70.41\" />\n <path d=\"m62.9 162.404h70.41\" />\n <path d=\"m62.9 179.654h70.41\" />\n <path d=\"m62.9 196.904h70.41\" />\n </g>\n <path\n d=\"m129.34 125.214c-3.3-2.92-8.33-2.61-11.24.69l-4.53 5.13 11.9 10.59 4.57-5.17c2.92-3.29 2.61-8.33-.69-11.24z\"\n fill={blue}\n />\n <path\n d=\"m108.78 136.434-20.85 23.57v.01l-7.76 20.79 19.69-10.24 20.85-23.57z\"\n fill={blue}\n />\n <path d=\"m82.94 173.375-2.77 7.43 7.03-3.66z\" fill={blue} />\n </svg>\n );\n}\n\nexport default AllCanEdit;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction AllCanRead(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const strokeColor = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"164\" viewBox=\"0 0 164 164\" width=\"164\" {...props}>\n <path\n d=\"M89.228 103.102C75.9589 103.102 65.8505 96.2317 61.4851 84.2269C60.7218 82.1575 60.1314 79.9033 59.7259 77.5357C59.3144 75.1324 59.1116 72.7827 59.1295 70.5523C59.2309 57.7006 66.5244 47.801 79.1315 43.3939C81.3083 42.6305 83.6222 42.0342 85.9957 41.6286C88.2499 41.2291 90.534 41.0204 92.7704 40.9905C106.111 40.8534 116.321 47.7473 120.74 59.9012C121.515 62.0422 122.111 64.3203 122.517 66.6819C122.893 68.8467 123.095 70.9936 123.113 73.0749L123.125 73.0868V73.5818C123.042 86.505 115.748 96.4225 103.105 100.782C101.03 101.504 98.8056 102.07 96.5096 102.464C94.1241 102.875 91.7506 103.09 89.4546 103.102C89.383 103.102 89.3055 103.102 89.2339 103.102H89.228ZM93.1461 43.376C93.0268 43.376 92.9135 43.376 92.7942 43.376C90.6831 43.3998 88.5362 43.6026 86.4012 43.9724C84.1529 44.36 81.9702 44.9206 79.9187 45.6422C68.1465 49.7571 61.6104 58.6131 61.515 70.5702C61.4971 72.6634 61.6879 74.87 62.0755 77.1302C62.4572 79.3606 63.0118 81.4717 63.7275 83.4099C67.8126 94.6454 76.9369 100.794 89.4367 100.716C91.6015 100.704 93.8438 100.502 96.0981 100.114C98.2689 99.7443 100.362 99.2076 102.318 98.5277C113.84 94.5559 120.531 85.5926 120.728 73.9038V73.5639C120.74 71.4707 120.549 69.294 120.167 67.0934C119.786 64.863 119.225 62.722 118.498 60.7182C114.484 49.6855 105.252 43.382 93.1461 43.382V43.376Z\"\n fill={fill}\n />\n <path\n d=\"M126.202 103.233C126.369 102.231 126.447 101.164 126.429 100.037C126.411 98.8916 126.304 97.8181 126.107 96.8043C124.938 90.787 120.698 87.1253 114.806 86.2487C113.798 86.0996 112.748 86.028 111.651 86.0459C110.512 86.0638 109.415 86.1652 108.377 86.356C102.509 87.4175 98.376 91.1866 97.3741 97.1979C97.2071 98.2117 97.1236 99.2971 97.1415 100.436C97.1594 101.575 97.2668 102.625 97.4576 103.627C98.6205 109.602 102.855 113.264 108.759 114.164C109.802 114.325 110.9 114.397 112.039 114.385C113.13 114.367 114.186 114.272 115.182 114.093C121.056 113.055 125.2 109.268 126.19 103.233H126.202Z\"\n fill={fill}\n />\n <path\n d=\"M120.292 111.183C120.412 104.498 117.03 102.011 111.86 102.1C107.005 102.184 103.791 104.79 103.904 111.469L103.922 112.608C105.359 113.366 106.982 113.896 108.765 114.165C109.808 114.326 110.906 114.397 112.045 114.385C113.136 114.367 114.192 114.272 115.187 114.093C117.096 113.759 118.813 113.127 120.31 112.226L120.292 111.183Z\"\n fill={accent}\n />\n <path\n d=\"M116.78 97.3651C116.839 97.0132 116.863 96.6435 116.857 96.2499C116.851 95.8563 116.815 95.4746 116.744 95.1227C116.338 93.0235 114.859 91.7473 112.802 91.4372C112.45 91.3835 112.086 91.3597 111.705 91.3656C111.323 91.3716 110.923 91.4074 110.56 91.473C108.514 91.8427 107.071 93.1607 106.719 95.2539C106.659 95.6058 106.63 95.9875 106.636 96.3811C106.641 96.7747 106.677 97.1444 106.749 97.4963C107.154 99.5835 108.633 100.86 110.691 101.17C111.055 101.224 111.436 101.253 111.836 101.247C112.235 101.241 112.581 101.206 112.933 101.146C114.985 100.782 116.428 99.4643 116.774 97.3591L116.78 97.3651Z\"\n fill={accent}\n />\n <path\n d=\"M84.0275 46.4118C84.1945 45.4099 84.2721 44.3424 84.2542 43.2153C84.2363 42.0703 84.1289 40.9968 83.9321 39.983C82.7632 33.9657 78.5231 30.304 72.631 29.4274C71.6232 29.2783 70.5736 29.2067 69.4763 29.2246C68.379 29.2425 67.2399 29.3439 66.2022 29.5347C60.334 30.5963 56.2012 34.3653 55.1993 40.3766C55.0323 41.3904 54.9488 42.4758 54.9667 43.6149C54.9846 44.7539 55.092 45.8035 55.2828 46.8054C56.4457 52.781 60.6799 56.4427 66.5839 57.3432C67.6275 57.5042 68.7248 57.5757 69.8639 57.5638C70.9552 57.5459 72.0108 57.4505 73.0067 57.2716C78.8809 56.2339 83.0256 52.447 84.0156 46.4118H84.0275Z\"\n fill={fill}\n />\n <path\n d=\"M78.1234 54.3611C78.2427 47.6758 74.8613 45.189 69.6908 45.2784C64.8364 45.3619 61.622 47.968 61.7353 54.6473L61.7532 55.7864C63.1905 56.5438 64.8126 57.0745 66.5957 57.3429C67.6393 57.5039 68.7366 57.5755 69.8757 57.5635C70.967 57.5456 72.0226 57.4502 73.0185 57.2713C74.9269 56.9374 76.6444 56.3052 78.1413 55.4047L78.1234 54.3611Z\"\n fill={accent}\n />\n <path\n d=\"M74.6049 40.5433C74.6645 40.1914 74.6883 39.8217 74.6824 39.4281C74.6764 39.0345 74.6406 38.6528 74.5691 38.301C74.1635 36.2018 72.6846 34.9255 70.6271 34.6154C70.2753 34.5618 69.9115 34.5379 69.5298 34.5439C69.1481 34.5498 68.7486 34.5856 68.3848 34.6512C66.3393 35.021 64.8961 36.3389 64.5442 38.4322C64.4846 38.784 64.4547 39.1657 64.4607 39.5593C64.4667 39.9529 64.5025 40.3226 64.574 40.6745C64.9795 42.7618 66.4585 44.038 68.516 44.3481C68.8798 44.4018 69.2614 44.4316 69.661 44.4256C70.0606 44.4196 70.4065 44.3839 70.7583 44.3242C72.8098 43.9604 74.253 42.6425 74.5989 40.5373L74.6049 40.5433Z\"\n fill={accent}\n />\n <path\n d=\"M134.724 54.4387C134.891 53.4368 134.969 52.3693 134.951 51.2422C134.933 50.115 134.826 49.0237 134.629 48.0099C133.46 41.9926 129.22 38.3309 123.328 37.4542C122.32 37.3051 121.27 37.2336 120.173 37.2515C119.034 37.2694 117.937 37.3707 116.899 37.5616C111.031 38.6231 106.898 42.3921 105.896 48.4035C105.729 49.4173 105.646 50.5027 105.664 51.6417C105.681 52.7689 105.789 53.8304 105.98 54.8323C107.142 60.8078 111.377 64.4695 117.281 65.37C118.324 65.531 119.422 65.6026 120.561 65.5907C121.652 65.5728 122.708 65.4774 123.704 65.2985C129.578 64.2608 133.722 60.4739 134.712 54.4387H134.724Z\"\n fill={accent}\n />\n <path\n d=\"M128.821 62.3882C128.94 55.7029 125.559 53.2161 120.388 53.3055C115.534 53.389 112.319 55.9951 112.433 62.6744L112.45 63.8135C113.888 64.5709 115.51 65.1016 117.293 65.37C118.337 65.531 119.434 65.6026 120.573 65.5906C121.664 65.5727 122.72 65.4773 123.716 65.2984C125.624 64.9645 127.342 64.3323 128.839 63.4318L128.821 62.3882Z\"\n fill={fill}\n />\n <path\n d=\"M125.302 48.5704C125.362 48.2185 125.386 47.8488 125.38 47.4552C125.374 47.0616 125.338 46.6799 125.266 46.3281C124.861 44.2289 123.382 42.9526 121.324 42.6425C120.973 42.5889 120.609 42.565 120.227 42.571C119.845 42.5769 119.446 42.6127 119.082 42.6783C117.037 43.0481 115.593 44.366 115.241 46.4593C115.182 46.8111 115.152 47.1928 115.158 47.5864C115.164 47.98 115.2 48.3497 115.271 48.7016C115.677 50.7889 117.156 52.0651 119.213 52.3752C119.577 52.4289 119.959 52.4587 120.358 52.4527C120.758 52.4467 121.104 52.411 121.456 52.3513C123.507 51.9875 124.95 50.6696 125.296 48.5644L125.302 48.5704Z\"\n fill={fill}\n />\n <path\n d=\"M29.2217 133.063C29.2217 133.063 67.8839 137.661 87.7846 132.855V62.8357C87.7846 62.8357 56.231 70.5645 29.2217 62.4182C29.2217 62.4182 29.6511 133.374 29.2217 133.063Z\"\n fill={fill}\n />\n <path\n d=\"M37.5054 86.04H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 96.333H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 106.62H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M37.5054 116.908H79.5013\"\n stroke={strokeColor}\n strokeWidth=\"7\"\n strokeMiterlimit=\"10\"\n />\n </svg>\n );\n}\n\nexport default AllCanRead;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Calendar(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m217.84 60.1699-10.45 161.0201h25.43l-7.18-161.0201z\"\n fill={blue}\n />\n <path\n d=\"m51.45 60.1699-10.45 161.0201h180.21l5.53-161.0201z\"\n fill={orange}\n />\n <path\n d=\"m226.75 60.1699h-8.91l-10.45 161.0201h13.82l5.05-147.0201z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m233.76 54h-191.51v37.17h191.51z\" fill={orange} />\n <path\n d=\"m49.43 91.1699h176.25l1.06-31h-175.29z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={line}>\n <path d=\"m77.9198 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m129.17 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m180.42 110.658c.04-2.4-1.07-2.47-1.35-.09-.38 3.37-.7 6.93-1.01 11.5-.28 5.19-.14 6.49-.39 10-.38 5.93-1.34 15.92-1.58 18.33-.03.36-.06.71-.08 1.07-.12 2.56-.68 13.77-1.39 23.42-.44 6.81-.71 11.03-.85 13.24-.33 5.2-.47 9.1-.5 12.93-.02 2.1.95 2.17 1.2.08.46-3.8.83-7.68 1.17-12.89.13-2.02.67-6.22 1.1-12.16.07-.97.11-1.94.14-2.9.18-8.31.98-19.07.98-19.07s1.05-16.06 1.49-22.84c.33-5.11.49-7.56.58-9.07.29-4.57.43-8.13.49-11.53z\" />\n <path d=\"m202.23 125.409c3.73-.1 3.74-1.22 0-1.35-5.29-.18-10.85-.29-17.99-.32-8.1.03-10.12.25-15.6.21-9.27-.03-24.91-.39-28.68-.48-.56-.01-1.11-.02-1.67-.01-3.99.03-21.51.14-36.59.01-10.6501-.03-17.2401-.05-20.6901-.06-8.13-.02-14.21.08-20.17.27-3.28.11-3.28 1.08 0 1.2 5.96.23 12.04.37 20.17.4 3.16.01 9.74.3 19.0401.38 1.51.01 3.03 0 4.53-.04 12.96-.32 29.79-.16 29.79-.16s25.11.09 35.7.12c7.98.02 11.82.03 14.18.04 7.15.02 12.7-.05 18-.2z\" />\n <path d=\"m202.23 167.938c3.73-.1 3.74-1.22 0-1.35-5.29-.18-10.85-.29-17.99-.32-8.1.03-10.12.25-15.6.21-9.27-.03-24.91-.39-28.68-.48-.56-.01-1.11-.02-1.67-.01-3.99.03-21.51.14-36.59.01-10.6501-.03-17.2401-.05-20.6901-.06-8.13-.02-14.21.08-20.17.27-3.28.11-3.28 1.08 0 1.2 5.96.23 12.04.37 20.17.4 3.16.01 9.74.3 19.0401.38 1.51.01 3.03 0 4.53-.04 12.96-.32 29.79-.16 29.79-.16s25.11.09 35.7.12c7.98.02 11.82.03 14.18.04 7.15.02 12.7-.05 18-.2z\" />\n </g>\n </svg>\n );\n}\n\nexport default Calendar;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction CannotEdit(props) {\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n const line = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <clipPath id=\"a\">\n <path d=\"m0 0h275v275h-275z\" />\n </clipPath>\n <g clipPath=\"url(#a)\">\n <path\n d=\"m252.19 144h-10.33l-4.97-12.52h-27.99c.44-25.89 3.08-49.87 7.82-71.48h-135.86c-.4 3.92-.76 7.89-1.1 11.88h-39.17l4.97 12.53h49.51l4.97 12.53h-21.99c0 .16-.02.32-.03.48l-.19-.48h-59.83l4.97 12.53h17.63l4.97 12.53h31.62c-.11 5.4-.17 10.83-.17 16.32 0 17.97.55 35.37 1.6 52.21h-23.58l4.97 12.53h-14.95l4.97 12.53h166.35c-2.33-10.82-4.12-22.23-5.38-34.19h-21.76l-4.97-12.53h17.38l-4.97-12.53 60.49.18-4.97-12.53z\"\n fill={gray}\n />\n <g fill={accent}>\n <path d=\"m77.1799 122h28.8201l-4.97-12.53h-23.8501z\" />\n <path d=\"m81.11 215.6h28.82l-4.97-12.54h-24.74z\" />\n <path d=\"m208.17 143.83h-18.28l4.97 12.54h4.58 8.73z\" />\n </g>\n <path\n d=\"m161.94 117.29c-2.34-2.07-5.91-1.85-7.98.49l-3.22 3.64 8.45 7.52 3.25-3.67c2.07-2.34 1.85-5.91-.49-7.98z\"\n fill={line}\n />\n <path\n d=\"m147.34 125.25-14.8 16.74-5.51 14.76 13.98-7.27v.01l14.81-16.74z\"\n fill={line}\n />\n <path d=\"m129 151.479-1.97 5.27 4.99-2.6z\" fill={line} />\n <path\n d=\"m124.07 113.84 44.88 44.88\"\n stroke={line}\n strokeMiterlimit={10}\n strokeWidth=\"5.94\"\n />\n <path\n d=\"m177.58 143.5c.4-2.24.61-4.62.61-7.14s-.21-4.97-.62-7.23c-2.42-13.49-11.8-21.81-24.94-23.95-2.24-.36-4.59-.55-7.04-.55-2.55 0-5 .2-7.33.59-13.15 2.2-22.51 10.49-24.94 23.91-.41 2.27-.62 4.68-.62 7.23s.21 4.9.61 7.14c2.41 13.4 11.77 21.71 24.95 23.91 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.95z\"\n stroke={line}\n strokeMiterlimit={10}\n strokeWidth=\"5.94\"\n />\n </g>\n </svg>\n );\n}\n\nexport default CannotEdit;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction CaptureUsers(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m100.964 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.3296-17.1798-15.4396-27.6298-32.2596-30.1298-2.87-.43-5.8699-.62-8.9999-.58s-6.38.35-9.3501.88c-16.75 3.03-28.5499 13.79-31.4099 30.9598-.48 2.9-.71 5.98-.67 9.25.04 3.21.35 6.25.91 9.1 3.31 17.06 15.41 27.51 32.27 30.08 2.98.46 6.11.67 9.37.63 3.2599-.04 6.12-.32 8.98-.83 16.77-2.96 28.6-13.76 31.4295-31.01z\"\n fill={purple}\n />\n <path\n d=\"m84.0945 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m74.0641 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2s-2.23.12-3.26.31c-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m173.514 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.33-17.1798-15.44-27.6298-32.26-30.1298-2.87-.43-5.87-.62-9-.58s-6.38.35-9.35.88c-16.75 3.03-28.5497 13.79-31.4097 30.9598-.48 2.9-.71 5.98-.67 9.25s.35 6.25.91 9.1c3.31 17.06 15.4097 27.51 32.2697 30.08 2.98.46 6.11.67 9.37.63s6.12-.32 8.98-.83c16.77-2.96 28.6-13.76 31.43-31.01z\"\n fill={purple}\n />\n <path\n d=\"m156.644 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m146.615 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2s-2.23.12-3.26.31c-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m101.624 123.936c-.04-3.26-.36-6.34-.92-9.22-.9097-4.68-2.4897-8.85-4.6197-12.5-2.34 3.95-4 8.5-4.86 13.63-.48 2.9-.71 5.98-.67 9.25.04 3.22.35 6.25.91 9.1.91 4.7 2.51 8.87 4.67 12.54 2.34-3.96 3.9897-8.53 4.8397-13.67.47-2.87.7-5.91.65-9.12z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m245.804 133.055c.47-2.87.7-5.91.65-9.12-.04-3.26-.36-6.34-.92-9.22-3.33-17.1798-15.44-27.6298-32.26-30.1298-2.87-.43-5.87-.62-9-.58s-6.38.35-9.35.88c-16.75 3.03-28.55 13.79-31.41 30.9598-.48 2.9-.71 5.98-.67 9.25.04 3.21.35 6.25.91 9.1 3.31 17.06 15.41 27.51 32.27 30.08 2.98.46 6.11.67 9.37.63s6.12-.32 8.98-.83c16.77-2.96 28.6-13.76 31.43-31.01z\"\n fill={purple}\n />\n <path\n d=\"m228.934 155.755c.35-19.09-9.32-26.19-24.08-25.93-13.85.24-23.04 7.67-22.71 26.75l.06 3.25c4.1 2.17 8.74 3.67 13.82 4.45 2.98.46 6.11.67 9.37.63 3.12-.04 6.12-.32 8.98-.83 5.44-.96 10.35-2.76 14.62-5.33l-.05-2.98z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m218.904 116.306c.16-1 .24-2.06.23-3.18-.02-1.14-.12-2.21-.32-3.22-1.16-5.99-5.39-9.64-11.26-10.5103-1-.15-2.05-.22-3.14-.2-1.14.02-2.23.12-3.26.31-5.84 1.0603-9.96 4.8103-10.96 10.8003-.17 1.01-.25 2.09-.23 3.23.02 1.12.12 2.18.32 3.18 1.16 5.95 5.38 9.6 11.26 10.5 1.04.16 2.13.23 3.27.22 1.09-.01 2.14-.11 3.13-.29 5.85-1.03 9.98-4.8 10.97-10.82z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m173.914 123.936c-.04-3.26-.36-6.34-.92-9.22-.91-4.68-2.49-8.85-4.62-12.5-2.34 3.95-4 8.5-4.86 13.63-.48 2.9-.71 5.98-.67 9.25.04 3.22.35 6.25.91 9.1.91 4.7 2.51 8.87 4.67 12.54 2.34-3.96 3.99-8.53 4.84-13.67.47-2.87.7-5.91.65-9.12z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m256.834 172.276c.28-1.73.42-3.57.39-5.51-.03-1.97-.22-3.83-.55-5.58-2.01-10.39-9.33-16.7-19.5-18.21-1.73-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.65.53-10.12 1.83-17.26 8.33-18.99 18.71-.29 1.75-.43 3.62-.4 5.59.03 1.94.21 3.78.55 5.5 2 10.31 9.32 16.63 19.5 18.18 1.8.28 3.69.41 5.66.38 1.89-.03 3.7-.2 5.43-.5 10.14-1.79 17.29-8.32 19-18.74z\"\n fill={orange}\n />\n <path\n d=\"m206.765 164.846c2.63-.1 5.17-.35 7.61-.78 12.78-2.26 22.68-9.08 27.92-19.83-1.61-.57-3.32-.99-5.12-1.26-1.73-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.65.53-10.12 1.83-17.26 8.33-18.99 18.71-.16.96-.26 1.95-.33 2.98z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={gray}>\n <path d=\"m219.532 167.372c-.73.12-.73 1.23 0 1.35 1.04.17 2.14.25 3.54.26 1.59-.05 1.99-.28 3.07-.26 1.83 0 4.91.31 5.65.39.11.01.22.01.33 0 .79-.04 4.24-.21 7.2-.13h4.07c1.6 0 2.8-.12 3.97-.33.65-.12.65-1.09 0-1.2-1.17-.21-2.37-.33-3.97-.33-.62 0-1.92-.27-3.75-.31-.3 0-.6.01-.89.05-2.55.36-5.87.26-5.87.26s-4.94 0-7.03 0c-1.57 0-2.33 0-2.79 0-1.41 0-2.5.1-3.54.26z\" />\n <path d=\"m234.012 154.073c-.12-.73-1.23-.73-1.35 0-.17 1.04-.25 2.14-.26 3.54.05 1.59.28 1.99.26 3.07 0 1.83-.31 4.91-.39 5.65-.01.11-.01.22 0 .33.04.79.21 4.24.13 7.2v4.07c0 1.6.12 2.8.33 3.97.12.65 1.09.65 1.2 0 .21-1.17.33-2.37.33-3.97 0-.62.27-1.92.31-3.75 0-.3-.01-.6-.05-.89-.36-2.55-.26-5.87-.26-5.87s0-4.94 0-7.03c0-1.57 0-2.33 0-2.79 0-1.41-.1-2.5-.26-3.54z\" />\n </g>\n </svg>\n );\n}\n\nexport default CaptureUsers;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction ChatAvatars(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m183.1 60.9533c.16-.99.24-2.04.22-3.15-.02-1.13-.12-2.19-.32-3.19-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2-1.13.02-2.2.12-3.23.31-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2s.12 2.16.31 3.15c1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={orange}\n />\n <path\n d=\"m173.89 54.0629c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.11-.71-.11-1.1-.01-.39.02-.76.08-1.11.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m168.95 59.8432c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m194.82 220.604c.16-.99.24-2.04.22-3.15s-.12-2.19-.32-3.19c-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2s-2.2.12-3.23.31c-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2.02 1.11.12 2.16.31 3.15 1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={orange}\n />\n <path\n d=\"m185.6 213.713c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.1-.71-.11-1.1s.02-.76.08-1.11c.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m180.67 219.484c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m69.1801 169.283c.16-.99.24-2.04.22-3.15s-.12-2.19-.32-3.19c-1.15-5.94-5.34-9.55-11.15-10.41-.99-.15-2.03-.22-3.11-.2s-2.2.12-3.23.31c-5.79 1.05-9.87 4.77-10.86 10.7-.17 1-.25 2.07-.23 3.2.02 1.11.12 2.16.31 3.15 1.14 5.9 5.33 9.51 11.15 10.4 1.03.16 2.11.23 3.24.22s2.12-.11 3.1-.29c5.8-1.02 9.88-4.76 10.86-10.72z\"\n fill={purple}\n />\n <path\n d=\"m59.9598 162.393c0 .39-.02.75-.08 1.1v.01c-.34 2.08-1.77 3.38-3.79 3.74-.34.06-.69.1-1.08.1s-.77-.03-1.13-.08c-2.03-.31-3.49-1.57-3.89-3.63-.07-.35-.11-.71-.11-1.1-.01-.39.02-.76.08-1.11.35-2.07 1.77-3.36 3.79-3.73.36-.07.76-.1 1.13-.11s.73.02 1.08.07c2.03.3 3.49 1.56 3.89 3.63.07.35.11.72.11 1.11z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m55.0295 168.173c5.1-.09 8.44 2.36 8.32 8.96l.02 1.03c-1.47.89-3.17 1.51-5.05 1.84-.98.18-2.02.28-3.1.29-1.13.01-2.21-.06-3.24-.22-1.76-.27-3.36-.79-4.78-1.54l-.02-1.12c-.11-6.59 3.06-9.16 7.85-9.24z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m202.1 172.746-79.031-.786.844-84.7959 119.654 1.1904-.844 84.7955-21.124-.21-9.92 16.793z\"\n fill={purple}\n />\n <path\n d=\"m87.3095 142.48 74.6965.744-.601 60.357-43.594-.434-9.421 15.946-9.1025-16.13-12.5785-.126z\"\n fill={orange}\n />\n <path\n d=\"m31 66.8438h109.5v60.1702h-76.6745l-9.3659 16.219-9.3659-16.219h-14.0937z\"\n fill={orange}\n />\n <path\n d=\"m140.5 127.003v-39.6797l-16.59-.17-.39 39.8497z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m123.355 142.841-.29 29.119 38.639.384.289-29.118z\"\n fill={illustrationColors.staticRed}\n />\n <g fill={line}>\n <path d=\"m50.1895 86.0834c-1.5.12-1.5 1.23 0 1.35 2.12.17 4.36.25 7.23.26 3.25-.05 4.06-.28 6.27-.26 3.72 0 10.01.31 11.52.39.22.01.45.01.67 0 1.6-.04 8.64-.21 14.69-.13h8.31c3.2695 0 5.7095-.12 8.0995-.33 1.32-.12 1.32-1.09 0-1.2-2.4-.21-4.84-.33-8.0995-.33-1.27 0-3.91-.27-7.65-.31-.61 0-1.22.01-1.82.05-5.2.36-11.96.26-11.96.26h-20.03c-2.87 0-5.1.1-7.23.26z\" />\n <path d=\"m50.1895 106.244c-1.5.12-1.5 1.23 0 1.35 2.12.17 4.36.25 7.23.26 3.25-.05 4.06-.28 6.27-.26 3.72 0 10.01.31 11.52.39.22.01.45.01.67 0 1.6-.04 8.64-.21 14.69-.13h8.31c3.2695 0 5.7095-.12 8.0995-.33 1.32-.12 1.32-1.09 0-1.2-2.4-.21-4.84-.33-8.0995-.33-1.27 0-3.91-.27-7.65-.31-.61 0-1.22.01-1.82.05-5.2.36-11.96.26-11.96.26h-20.03c-2.87 0-5.1.1-7.23.26z\" />\n <path d=\"m226.649 127.453c1.66-1.88.85-2.65-.97-.94-1.29 1.19-2.59 2.39-4.19 3.3-1.58.93-3.46 1.56-5.71 1.7-2.54.11-4.14-.07-5.44-.5-1.33-.36-2.4-.91-3.81-1.96-2.41-1.73-4.97-5.19-8.43-7.22-1.71-1.05-3.57-1.48-5.08-1.77-.76-.08-1.44-.11-2.02-.16s-1.05.03-1.38.03c-.4.02-.8.05-1.2.09-.7.17-2.03.38-3.67 1.11-1.61.74-3.43 2.03-5.08 3.68-1.67 1.62-3.25 3.55-5.17 5.01-1.9 1.48-4.21 2.35-6.57 2.52-3.36.3-6.01-.45-7.82-1.54-1.83-1.07-2.99-2.26-3.83-3.01-1.94-1.84-3.73-3.59-5.78-4.75-2.03-1.18-4.2-1.69-6.28-1.77-2.32.01-2.19.99-.1 1.2 1.91.28 3.76.87 5.5 2.01 1.77 1.12 3.38 2.77 5.37 4.67.8.71 1.92 1.97 3.85 3.22 1.89 1.26 4.77 2.35 8.1 2.23 1.08-.09 2.17-.13 3.22-.47 2.28-.57 4.54-1.87 6.3-3.46 1.78-1.58 3.22-3.29 4.6-4.6 1.37-1.31 2.64-2.29 3.65-2.76.25-.13.47-.25.66-.35.2-.08.38-.14.52-.19.28-.1.44-.16.44-.16s.23-.09.64-.24c.44-.09 1.06-.25 1.84-.39 1.57-.17 3.84-.27 6.12.42 4.68 1.27 8.2 6.53 11.43 8.49 2.35 1.58 4.48 2.13 6.05 2.34 1.58.16 2.68.18 3.5.11 1.25-.1 2.44-.32 3.53-.68 1.09-.37 2.07-.86 2.95-1.42 1.76-1.13 3.06-2.51 4.25-3.83v.04z\" />\n <path d=\"m144.23 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.06.64s0 .48.03.74c.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.35.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n <path d=\"m107.35 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.05.64-.02.23-.01.48.03.74.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.36.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n <path d=\"m125.79 178.752c.09.35 1.18.66 1.34.11.13-.37.14-.78.12-1.23-.05-.45-.22-.98-.6-1.47-.46-.53-.9-.68-1.23-.78-.34-.09-.62-.13-1.01-.22-.66-.08-1.53-.19-2.39.08-.87.24-1.52.9-1.71 1.16-.06.08-.11.16-.15.25-.07.16-.19.46-.26.86-.04.2-.04.41-.06.64s-.01.48.03.74c.03.51.21 1.11.55 1.67.34.55.88 1.01 1.44 1.28.81.36 1.46.36 1.97.35.51-.02.89-.1 1.16-.19 1.28-.39 1.95-1.53 1.95-2.41 0-.52-.98-.58-1.16-.33-.38.49-.73.75-1.35.96-.23.08-.94-.09-1.54-.33-.09-.05-.19-.07-.29-.08-.45-.05-.82-.54-.83-1.09-.05-.52.07-.88.08-.86 0 0 .11-.52.6-.83.47-.35 1.39-.34 1.82-.25.66.17.81.42.93.54.33.39.47.91.6 1.43z\" />\n </g>\n </svg>\n );\n}\n\nexport default ChatAvatars;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Coins(props) {\n const orange = getColorValue('illustrationOrange');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={orange}>\n <path d=\"m71.2402 183.529 2.95-34.3 102.9398-25.05-2.95 34.3z\" />\n <path d=\"m175.29 214.849-6.34-29.04-109.95 3.21v25.83z\" />\n <path d=\"m216.72 241.469-7.9-36.17-136.9401 4v32.17z\" />\n </g>\n <path\n d=\"m71.8799 214.849h103.4101l-1.86-8.52-101.5501 2.97z\"\n fill={illustrationColors.staticRed}\n />\n <path\n d=\"m103.129 119.819c5.92 1.65 12.38 2.41 19.11 2.41s12.65-.77 18.37-2.38c12.3-3.42 22.31-10.79 27.37-22.86 2.26-5.43 3.58-11.79 3.58-19.24s-1.32-14.01-3.62-19.52c-5.06-12.12-15.07-19.44-27.33-22.86-5.72-1.61-11.95-2.37-18.37-2.37-6.77 0-13.2.76-19.11 2.41-12.4195 3.46-22.3395 10.79-27.3595 22.82-2.3 5.51-3.58 11.95-3.58 19.52s1.29 13.81 3.54 19.24c5.02 12.03 14.95 19.36 27.3995 22.82z\"\n fill={orange}\n />\n <path\n d=\"m133.449 59.7071c1.25.4 1.97.39 2.1.1.12-.28-.38-.85-1.63-1.37-1.78-.74-3.64-1.38-5.73-1.91-2.09-.52-4.4-.93-7.07-.95-3.03.04-4.96.65-6.47 1.41-1.5.79-2.74 1.68-3.97 3.42-.97 1.47-1.94 3.27-2.29 5.48-.16 1.09-.13 2.27.17 3.38.3 1.12.85 2.14 1.51 3.01 1.33 1.74 3 2.8701 4.38 3.68 1.4.8 2.55 1.29 3.19 1.57.38.15.77.31 1.16.43.7.24 2 .6301 3.74 1.0401.85.2 1.9.3899 2.87.5899.99.22 2.04.52 3.1.94 2.1.84 4.26 2.25 5.49 4.37 1.24 2.09 1.51 4.86.57 7.01-.62 1.55-1.74 2.65-2.91 3.4-1.16.78-2.42 1.14-3.5 1.47-2.26.5401-3.99.63-5.16.65-2.79.04-5.23-.35-7.44-.89-2.21-.55-4.21-1.23-6.13-2.05-1.05-.46-1.66-.52-1.81-.29s.23.78 1.27 1.37c1.9 1.05 3.92 1.92 6.22 2.61 2.3.68 4.9 1.16 7.9 1.13.58-.04 1.33.02 2.22-.08.45-.04.93-.0699 1.45-.13.52-.09 1.07-.19 1.66-.29.59-.09 1.21-.31 1.87-.49.32-.11.65-.26.99-.39.34-.12.68-.29 1.02-.49 1.36-.72 2.78-1.84 3.77-3.48.67-1.0499 1.05-2.27 1.17-3.47.28-2.6-.48-5.4199-2.14-7.53-1.63-2.13-3.91-3.43-5.92-4.23-2-.8099-3.91-1.14-5.09-1.4-1.22-.27-1.93-.48-1.93-.48s-1.07-.26-2.73-.84c-1.65-.58-3.92-1.49-5.98-3.02-1.01-.78-1.96-1.71-2.57-2.82-.63-1.1-.9-2.36-.8-3.58.08-1.23.48-2.41.97-3.44.22-.52.53-1 .78-1.45.28-.41.53-.8.83-1.11.85-.97 1.81-1.59 2.7-2.02.9-.43 1.74-.66 2.48-.81 1.49-.29 2.56-.32 3.37-.32 2.46 0 4.67.35 6.68.76 2.02.42 3.87.93 5.65 1.49v.02z\"\n fill={line}\n />\n <path\n d=\"m122.609 97.8786c-.12-.23-1.23-.23-1.35 0-.16.33-.25.69-.26 1.14.05.51.29.63.26.97 0 .5804-.3 1.5804-.37 1.8304-.01.04-.01.07 0 .11.04.25.22 1.34.15 2.3 0 .67.01 1.09.02 1.3.01.51.13.88.34 1.22.12.19 1.07.03 1.19-.18.21-.4.32-.79.33-1.28 0-.19.26-.63.31-1.2 0-.09-.01-.18-.05-.27-.36-.75-.27-1.79-.27-1.79v-3.0504c0-.44-.1-.77-.27-1.1z\"\n fill={line}\n />\n <path\n d=\"m122.4 48.8078c-.03-.07-.12-.09-.25-.15-.07-.03-.14-.04-.21-.03-.04 0-.07 0-.11.02l-.05.02h.01s-.12.04-.29.09c-.07.02-.14.02-.21 0-.12-.02-.21.06-.24.1-.16.31-.24.65-.24 1.08.06.49.29.61.27.94 0 .56-.3 1.52-.37 1.75-.01.03-.01.07 0 .1.04.24.22 1.31.15 2.22 0 .65.01 1.05.01 1.26.01.49.13.86.34 1.23.12.2 1.09.19 1.2 0 .21-.36.32-.73.33-1.23 0-.19.26-.59.31-1.16 0-.09-.01-.18-.05-.28-.37-.79-.27-1.81-.27-1.81s0-1.53-.01-2.18c0-.49-.01-.72-.02-.87-.01-.44-.11-.77-.28-1.11h-.02z\"\n fill={line}\n />\n </svg>\n );\n}\n\nexport default Coins;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Comment(props) {\n const gray = getColorValue('illustrationGray');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationStroke');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m230.42 86.6797h-186.42v113.5203h186.42z\" fill={gray} />\n <path\n d=\"m137.21 193.17-26.09 4.33s2.51 11.93-3.46 22.68c.8.07 1.6.12 2.42.12 14.99 0 27.13-12.15 27.13-27.13z\"\n fill={gray}\n />\n <path\n d=\"m221.56 93.87c.4-2.24.61-4.62.61-7.14s-.21-4.97-.62-7.23c-2.42-13.49-11.8-21.81-24.94-23.95-2.24-.36-4.59-.55-7.04-.55-2.55 0-5 .2-7.33.59-13.15 2.2-22.51 10.49-24.94 23.91-.41 2.27-.62 4.68-.62 7.23 0 2.52.21 4.9.61 7.14 2.41 13.4 11.77 21.71 24.95 23.91 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.95z\"\n fill={blue}\n />\n <path\n d=\"m221.56 93.8705c.4-2.24.61-4.62.61-7.14h-65.49c0 2.52.21 4.9.61 7.14 2.41 13.3995 11.77 21.7095 24.95 23.9095 2.33.39 4.78.59 7.33.59 2.45 0 4.8-.19 7.04-.55 13.16-2.14 22.55-10.47 24.95-23.9495z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g clipRule=\"evenodd\" fill={line} fillRule=\"evenodd\">\n <path d=\"m210.64 92h-42.44v-7h42.44z\" />\n <path d=\"m185.92 109.72v-42.4505h7v42.4505z\" />\n <path d=\"m207.24 132.56h-140.06v-7h140.06z\" />\n <path d=\"m207.24 151.91h-140.06v-7h140.06z\" />\n <path d=\"m171.82 171.25h-104.64v-7h104.64z\" />\n </g>\n </svg>\n );\n}\n\nexport default Comment;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Compliance(props) {\n const orange = getColorValue('illustrationOrange');\n const green = getColorValue('illustrationGreen');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m197.355 66.979v69.54c0 42.7-12.75 69.24-34.24 83.41-13.66 9-30.85 13.02-50.54 13.02-19.6905 0-36.4205-3.44-50.0705-11.12-24.25-13.64-37.97-40.62-36.38-85.31v-69.27c7.1 1.6 14.74 2.48 22.74 2.48 28.44 0 52.7205-11.11 62.3305-26.73 9.62 15.62 33.88 26.73 62.32 26.73 8.41 0 16.45-.96 23.85-2.74h-.01z\"\n fill={orange}\n />\n <path\n d=\"m147.764 147.008 73.33-76.3996 27.13 25.12-106.53 91.4496-50.1496-46.22 26.0796-30.1z\"\n fill={green}\n />\n <path\n d=\"m197.454 95.2383v44.0597l-55.76 47.87-50.1496-46.22 26.0796-30.1 30.14 36.17z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m105.755 211.972c2.94.05 4.41-.3 4.41-.59 0-.33-1.46-.59-4.36-.76-4.11-.23-8.3105-.68-12.7905-1.52-4.47-.86-9.25-2.11-14.3-4.3-2.86-1.23-5.09-2.44-6.93-3.59-.46-.28-.92-.53-1.34-.81-.41-.29-.81-.57-1.19-.84-.75-.56-1.52-1.01-2.15-1.57-1.3-1.08-2.55-2.05-3.7-3.27-.58-.61-1.25-1.16-1.81-1.89-.59-.71-1.21-1.45-1.89-2.26-2.15-2.85-4.36-6.44-6.14-10.44-1.72-4.03-3.03-8.4-3.96-12.59-.83-4.21-1.37-8.21-1.6-11.53-.1-1.66-.23-3.14-.26-4.39-.02-1.25-.04-2.27-.05-3 0-.87-.06-1.73-.05-2.6.07-3.1.01-11.53-.03-22.14-.01-5.3-.03-11.15-.04-17.15 0-3 0-6.04 0-9.0597 0-1.51 0-3.02 0-4.53 0-.73 0-1.46 0-2.19 0-.09-.02-.2.1-.14.35.07.69.14 1.02.2.51.09 1.01.18 1.51.27.99.17 1.97.32 2.92.43 1.9.25 3.71.41 5.43.51 3.44.23 6.51.12 9.21 0 1.35-.11 2.61-.17 3.78-.3 1.17-.14 2.25-.28 3.25-.4 1.98-.36 3.65-.6 4.98-.93 3.17-.65 6.06-1.6 8.77-2.56 2.68-1.05 5.18-2.14 7.45-3.46 4.5605-2.55 8.4205-5.6 11.3905-9.36.85-1 1.31-1.89 1.59-2.49s.35-.94.23-1.01-.41.12-.86.59c-.45.46-1.02 1.22-1.88 2.14-3.01 3.48-6.8105 6.27-11.2805 8.65-2.22 1.22-4.67 2.24-7.27 3.23-2.64.9-5.45 1.81-8.54 2.44-2.38.54-6.12 1.17-11.07 1.41-4.94.24-11.13.15-18.19-1.13l-1.72-.33-1.52-.32-.86-.18-.43-.09c-.06 0-.17-.06-.19-.01v.22l.02 3.08.03 1.77c.36 20.3097.26 46.6697.26 46.6697s-.03 2.47-.09 6.43c.1 3.97.19 9.46 1.12 15.41.86 5.95 2.45 12.35 4.84 17.98 2.35 5.65 5.52 10.43 8.29 13.62 4.14 4.86 8.07 7.61 11.09 9.52 3.03 1.94 5.3 2.94 7.01 3.69 5.22 2.26 10.15 3.49 14.74 4.28 4.6.77 8.8805 1.1 13.0505 1.16z\"\n fill={gray}\n />\n </svg>\n );\n}\n\nexport default Compliance;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Done(props) {\n const green = getColorValue('illustrationGreen');\n const checkBlue = getColorValue('illustrationCheckBlue');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.23 158.759c1.16-6.5 1.76-13.39 1.76-20.71s-.62-14.4-1.8-20.98c-7.02-39.14-34.22-63.26-72.35-69.47-6.51-1.05-13.33-1.6-20.42-1.6s-14.51.58-21.27 1.72c-38.15 6.37-65.29 30.44-72.34 69.35-1.19 6.57-1.81 13.57-1.81 20.98s.61 14.21 1.77 20.71c6.99 38.87 34.16 62.98 72.37 69.35 6.76 1.13 13.87 1.72 21.27 1.72s13.92-.54 20.42-1.6c38.19-6.2 65.4-30.38 72.38-69.47z\"\n fill={green}\n />\n <path\n d=\"m151.03 137.368 73.12-76.1698 27.04 25.04-106.21 91.1698-49.9995-46.07 25.9995-30.02 30.04 36.06z\"\n fill={checkBlue}\n />\n <path\n d=\"m211.21 117.079c-2.08-11.54-5.91-21.8001-11.26-30.6601l-48.91 50.9501-30.04-36.06-26 30.02 50 46.07 66.72-57.27c-.15-1.03-.31-2.05-.49-3.06z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Done;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction DontFCustomer(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m153.772 184.609h-30.26v44.42h30.26z\" fill={orange} />\n <path\n d=\"m164.481 53.9492h-54.2l-38.3201 38.32v54.1998l38.3201 38.32h54.2l38.32-38.32v-54.1998z\"\n fill={orange}\n />\n <path\n d=\"m167.77 192.75h-60.79l-42.98-42.98v-60.79l42.98-42.98h60.79l42.98 42.98v60.79zm-54.2-15.91h47.61l33.67-33.67v-47.61l-33.67-33.67h-47.61l-33.67 33.67v47.61z\"\n fill={purple}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m71.9609 92.2692 38.3201-38.32h54.2l38.32 38.32v54.1998l-38.32 38.32h-10.709v7.96h-30.26v-7.96h-13.231l-38.3201-38.32zm89.2201 84.5798 33.67-33.67v-47.6098l-33.67-33.67h-47.61l-33.6701 33.67v47.6098l33.6701 33.67z\"\n fill={illustrationColors.staticRed}\n fillRule=\"evenodd\"\n />\n <g fill={line}>\n <path d=\"m168.141 125.318c.17-2.41-.16-3.61-.44-3.6-.33 0-.63 1.17-.9 3.44-.43 3.23-1.47 6.45-3.15 9.64-1.7 3.16-4.07 6.34-7.48 9.08-3.89 3.07-6.82 4.26-9.34 5.2-.65.18-1.28.36-1.9.54-.31.08-.62.18-.94.26-.32.05-.65.11-.98.16-.66.1-1.34.25-2.07.31-.73.04-1.51.08-2.36.12-2.85 0-6.21-.41-9.5-1.56-3.29-1.12-6.47-2.96-9.06-5.16-2.6-2.2-4.55-4.75-5.9-6.98-.33-.57-.65-1.09-.93-1.6-.24-.52-.47-1.01-.67-1.46-.44-.88-.68-1.64-.87-2.18-.2-.65-.5-1.26-.64-1.93-.14-.59-.41-1.41-.63-2.47-.14-1.07-.46-2.35-.48-3.84-.2-2.95.03-6.72 1.35-10.63 1.3-3.91 3.64-7.95 6.96-11.24 3.35-3.24 7.57-5.81 12.01-7.04 6.28-1.82 11.75-1.17 15.72-.08 4.02 1.12 6.66 2.79 8.42 3.92 4.06 2.86 6.94 6.25 8.94 9.73 1.99 3.49 3.13 7.09 3.62 10.74.33 4.01 1.31 4.12 1.2-.12-.3-3.82-1.32-7.68-3.34-11.43-2.02-3.74-5.03-7.4-9.36-10.46-1.72-1.1-4.39-2.9-8.4-4.18-3.97-1.26-9.3-1.98-15.31-.76-.96.25-1.94.47-2.88.78-.93.36-1.87.68-2.76 1.09-3.87 1.77-7.61 4.52-10.52 7.86-2.94 3.32-5.02 7.2-6.17 10.82-1.17 3.62-1.43 6.9-1.5 9.21 0 1.16.09 2.08.11 2.71.01.63.08.97.08.97s.08.5.22 1.41c.09.45.12 1.02.29 1.65.16.63.35 1.35.55 2.15.94 3.12 2.77 7.37 6.05 11.1.83.92 1.66 1.87 2.64 2.7.91.9 1.96 1.65 3 2.42.5.41 1.09.7 1.63 1.05.56.32 1.09.7 1.67.97 1.16.55 2.29 1.16 3.48 1.54 4.69 1.78 9.42 2.13 12.84 1.84 5.2-.36 8.86-1.84 11.46-3.16.67-.3 1.25-.65 1.78-.98.53-.32 1.03-.62 1.48-.9.85-.63 1.57-1.16 2.18-1.62 3.62-2.93 6.11-6.35 7.83-9.75 1.7-3.42 2.67-6.87 2.96-10.27z\" />\n <path d=\"m156.211 99.4975c.86-1.28-.02-1.97-1.06-.83-1.47 1.6205-2.96 3.3705-4.78 5.6905-2.02 2.66-2.35 3.46-3.76 5.23-2.35 3.01-6.57 7.91-7.59 9.08-.15.17-.29.35-.43.54-.98 1.32-5.3 7.12-9.19 11.97-2.7 3.46-4.38 5.61-5.25 6.73-2.06 2.65-3.51 4.69-4.86 6.76-.74 1.14.02 1.73.95.74 1.68-1.81 3.32-3.71 5.39-6.35.8-1.03 2.69-3 5.08-5.99.39-.49.76-.99 1.11-1.5 3.01-4.44 7.36-9.84 7.36-9.84s6.38-8.16 9.07-11.6c2.02-2.6 3-3.84 3.6-4.61 1.81-2.33 3.15-4.19 4.36-6.0105z\" />\n </g>\n </svg>\n );\n}\n\nexport default DontFCustomer;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction FileCabinet(props) {\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n const drawer = getColorValue('illustrationDrawer');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m189.59 111.22s4.25-48.82-.19-67.22h-108.9397s7.15 42.25-.39 67.22c0 0 109.8097-.39 109.5197 0z\"\n fill={orange}\n />\n <path\n d=\"m170.941 79.1197c1.51-.1 1.52-1.22 0-1.35-2.13-.18-4.38-.29-7.26-.32-3.27.03-4.09.25-6.3.21-3.74-.03-10.06-.39-11.58-.48-.22-.01-.45-.02-.68-.01-1.61.03-8.68.14-14.77.01-4.3-.03-6.96-.05-8.35-.06-3.28-.02-5.74.08-8.15.27-1.32.11-1.33 1.08 0 1.2 2.41.23 4.86.37 8.14.4 1.28.01 3.93.3 7.68.38.61.01 1.22 0 1.83-.04 5.24-.32 12.03-.16 12.03-.16s10.14.09 14.41.12c3.22.02 4.77.03 5.72.04 2.88.02 5.13-.05 7.27-.2z\"\n fill={line}\n />\n <path\n d=\"m170.681 60.5806c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28 0-.55-.02-.83 0-1.99.03-10.7.14-18.19 0-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6302.11-1.6402 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57 0 4.84.3 9.46.38.75 0 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={line}\n />\n <path\n d=\"m116.06 87.9705-5.9-13.41h-46.9901v3.25h.01v94.1005h142.9901v-83.9405z\"\n fill={purple}\n />\n <path\n d=\"m171.46 101.5v17.43c-18.4 4.44-67.22.19-67.22.19.2.15.2-8.74.15-17.62h-50.39v129.21h167.7v-129.21z\"\n fill={blue}\n />\n <path\n d=\"m104.971 190.13v-9.86h58.2l5.81 9.86z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m182.921 166.471-4.88-22.33-84.5703 2.47v19.86z\" fill={drawer} />\n </svg>\n );\n}\n\nexport default FileCabinet;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Integration(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={line}>\n <path d=\"m55.3084 111.633c.02.17.92.83 1.09.8.24-.05.42-.15.57-.34.12-.25-.02-.45.11-.58.19-.26.75-.5.89-.56.02 0 .03-.02.04-.04.05-.13.26-.72.63-1.08.21-.29.34-.48.41-.57.16-.23.19-.46.14-.75-.03-.16-.81-.73-.97-.71-.29.04-.51.14-.68.36-.06.09-.41.11-.64.34-.04.04-.05.09-.05.16.03.57-.39.97-.39.97s-.51.69-.73.98c-.16.22-.24.33-.28.39-.14.2-.18.41-.15.65v-.02z\" />\n <path d=\"m64.8303 98.6843c-.07.29.83.95 1.09.8.37-.22.68-.5 1.01-.93.32-.52.22-.78.48-1.09.41-.56 1.35-1.32 1.58-1.5.03-.03.06-.06.08-.1.14-.27.78-1.42 1.51-2.28.47-.64.76-1.04.91-1.25.35-.49.53-.93.62-1.41.05-.27-.73-.84-.97-.71-.44.23-.8.53-1.16 1.02-.14.19-.65.43-1.1.96-.07.09-.13.19-.16.3-.28 1-1.11 1.95-1.11 1.95s-1.11 1.51-1.58 2.15c-.35.48-.52.71-.62.86-.31.43-.48.82-.59 1.24z\" />\n <path d=\"m77.7496 81.104c.02.17.92.83 1.09.8.24-.05.42-.15.57-.34.12-.25-.02-.45.11-.58.19-.26.75-.5001.89-.5601.02 0 .03-.0199.04-.0399.05-.13.26-.72.63-1.08.21-.29.34-.48.41-.57.16-.23.19-.46.14-.75-.03-.16-.81-.73-.97-.71-.29.04-.51.14-.68.36-.06.09-.41.11-.64.34-.04.04-.05.09-.05.16.03.57-.39.9699-.39.9699s-.51.6901-.72.9801c-.16.22-.24.33-.28.39-.14.2-.18.41-.15.65z\" />\n <path d=\"m83.57 192.224c.17.03 1.04-.67 1.05-.84.02-.24-.03-.45-.18-.64-.21-.18-.44-.09-.53-.25-.2-.25-.29-.86-.31-1 0-.02-.01-.04-.03-.05-.12-.08-.62-.44-.88-.89-.23-.28-.37-.46-.45-.55-.18-.21-.4-.3-.69-.33-.16 0-.92.59-.94.75-.04.29 0 .52.17.75.07.08 0 .43.16.7.03.05.07.07.14.09.56.12.84.63.84.63s.53.67.76.95c.17.21.26.31.31.37.16.19.35.28.59.31z\" />\n <path d=\"m74.38 180.765c.24.12 1.11-.58 1.05-.84-.09-.37-.25-.71-.53-1.08-.37-.38-.64-.34-.84-.64-.38-.47-.78-1.47-.87-1.71-.01-.04-.03-.07-.06-.09-.2-.18-1.05-.97-1.6-1.79-.44-.54-.71-.88-.85-1.05-.34-.41-.68-.65-1.09-.82-.23-.09-.98.51-.94.75.08.44.24.82.56 1.24.13.16.19.67.53 1.17.06.08.13.15.23.2.81.44 1.42 1.36 1.42 1.36s1.02 1.28 1.46 1.83c.33.41.49.6.58.72.3.36.6.59.94.76z\" />\n <path d=\"m62.38 165.775c.24.12 1.11-.58 1.05-.84-.09-.37-.25-.71-.53-1.08-.37-.38-.64-.34-.84-.64-.38-.47-.78-1.47-.87-1.71-.01-.04-.03-.07-.06-.09-.2-.18-1.05-.97-1.6-1.79-.44-.54-.71-.88-.85-1.05-.34-.41-.68-.65-1.09-.82-.23-.09-.98.51-.94.75.08.44.24.82.56 1.24.13.16.19.67.53 1.17.06.08.13.15.23.2.81.44 1.42 1.36 1.42 1.36s1.02 1.28 1.46 1.83c.33.41.49.6.58.72.3.36.6.59.94.76z\" />\n <path d=\"m50.4196 150.865c.17.03 1.04-.67 1.05-.84.02-.24-.03-.45-.18-.64-.21-.18-.44-.09-.53-.25-.2-.25-.29-.86-.31-1.01 0-.02 0-.04-.03-.05-.12-.08-.62-.44-.88-.89-.23-.28-.37-.46-.45-.55-.18-.21-.4-.3-.69-.33-.16 0-.92.59-.94.75-.04.29 0 .52.17.75.07.08 0 .43.16.7.03.04.07.07.14.09.56.12.84.63.84.63s.53.67.76.95c.17.21.26.31.31.37.16.19.35.28.59.32z\" />\n <path d=\"m156.399 194.475c.07-.16-.4-1.17-.56-1.23-.23-.08-.44-.08-.67.02-.23.16-.2.4-.38.46-.29.13-.9.07-1.05.05-.02 0-.04 0-.06.02-.11.09-.58.5-1.08.64-.33.15-.53.25-.64.3-.25.12-.39.31-.49.59-.05.15.35 1.04.5 1.09.27.11.51.13.76.02.1-.04.41.11.72.02.05 0 .09-.05.12-.11.25-.51.82-.66.82-.66s.78-.35 1.11-.5c.25-.12.36-.17.44-.21.22-.11.35-.27.45-.49h.01z\" />\n <path d=\"m140.719 201.615c.23-.23-.23-1.25-.56-1.23-.47.03-.92.14-1.46.38-.59.32-.64.6-1.06.77-.69.32-2 .57-2.31.63-.05 0-.09.03-.13.05-.28.17-1.53.93-2.69 1.37-.8.37-1.29.59-1.55.71-.61.29-1.02.6-1.37.99-.2.22.2 1.1.5 1.1.54 0 1.04-.11 1.65-.39.24-.11.84-.09 1.56-.36.12-.04.22-.11.32-.2.82-.77 2.13-1.26 2.13-1.26s1.88-.85 2.68-1.22c.6-.28.88-.41 1.06-.49.53-.25.91-.52 1.24-.85z\" />\n <path d=\"m118.848 211.585c.07-.16-.4-1.17-.56-1.23-.23-.08-.44-.08-.67.02-.23.16-.2.4-.38.46-.29.13-.9.07-1.05.05-.02 0-.04 0-.06.02-.11.09-.58.5-1.08.64-.33.15-.53.25-.64.3-.25.12-.39.31-.49.59-.05.15.35 1.04.5 1.1.27.11.51.13.76.02.1-.04.41.11.72.02.05 0 .09-.05.12-.11.25-.51.82-.66.82-.66s.78-.35 1.11-.5c.25-.12.36-.17.44-.21.22-.11.35-.27.45-.49v-.02z\" />\n <path d=\"m204.859 97.1555c-.11-.13-1.22-.2-1.35-.08-.18.17-.28.35-.3.6.04.28.26.36.23.55-.02.32-.36.83-.44.95 0 .02-.02.04 0 .06.03.14.17.74.06 1.2495-.02.36-.03.59-.04.7 0 .28.09.49.29.71.11.12 1.08.18 1.2.07.22-.19.35-.39.38-.67 0-.11.29-.32.35-.63 0-.05 0-.1-.04-.16-.34-.46-.2-1.0295-.2-1.0295s.05-.85.08-1.21c0-.27.02-.4.02-.48 0-.24-.07-.44-.22-.63h-.01z\" />\n <path d=\"m203.82 114.696c-.1-.32-1.21-.39-1.35-.08-.19.44-.31.9-.35 1.51 0 .69.23.87.18 1.34-.05.78-.43 2.09-.53 2.4 0 .05-.02.09-.02.14.02.34.1 1.83-.05 3.1-.05.9-.08 1.46-.1 1.75-.03.69.05 1.21.23 1.73.1.28 1.07.34 1.2.07.24-.49.39-1 .44-1.69.02-.27.32-.81.41-1.59.02-.13 0-.26-.03-.39-.3-1.12-.11-2.54-.11-2.54s.13-2.12.19-3.02c.04-.68.06-1 .07-1.2.03-.6-.03-1.08-.17-1.54z\" />\n <path d=\"m202.34 139.366c-.11-.13-1.22-.2-1.35-.08-.18.17-.28.35-.3.6.04.28.26.36.23.55-.02.32-.36.83-.44.95 0 .02-.02.04 0 .06.03.14.17.74.06 1.25-.02.36-.03.59-.04.7 0 .28.09.49.29.71.11.12 1.08.18 1.2.07.22-.19.35-.39.38-.67 0-.11.29-.32.35-.63 0-.05 0-.1-.04-.16-.34-.46-.2-1.03-.2-1.03s.05-.85.08-1.21c0-.27.02-.4.02-.48 0-.24-.07-.44-.22-.63h-.01z\" />\n <path d=\"m118.389 62.5045c-.14.11-.23 1.22-.11 1.34.17.18.35.28.59.31.28-.03.37-.25.55-.21.32.03.82.38.94.47.02.01.04.02.06.01.14-.03.75-.15 1.25-.03.36.03.59.04.7.05.28.02.49-.08.71-.27.12-.11.2-1.07.1-1.2-.18-.23-.38-.36-.66-.39-.11-.01-.31-.3-.62-.37-.05-.01-.1 0-.16.04-.47.32-1.03.17-1.03.17s-.85-.08-1.21-.11c-.27-.02-.4-.03-.48-.04-.24-.01-.44.06-.63.21z\" />\n <path d=\"m133.219 63.7643c-.26.1-.35 1.21-.11 1.34.34.19.7.31 1.18.36.54 0 .7-.23 1.06-.17.62.05 1.63.45 1.88.55.04.01.07.02.11.02.27-.02 1.45-.09 2.45.08.71.06 1.15.09 1.38.11.54.04.96-.04 1.37-.22.23-.1.31-1.06.1-1.2-.38-.25-.77-.39-1.31-.45-.21-.02-.63-.32-1.24-.42-.1-.02-.2 0-.31.03-.89.29-2 .09-2 .09s-1.67-.15-2.38-.21c-.53-.04-.79-.06-.94-.08-.48-.03-.85.02-1.22.16h-.02z\" />\n <path d=\"m152.738 65.4242c-.26.09-.35 1.21-.11 1.34.34.19.7.31 1.18.36.54 0 .7-.23 1.06-.17.62.05 1.63.45 1.88.55.04.01.07.02.11.02.27-.02 1.45-.09 2.45.08.71.06 1.15.09 1.38.11.54.04.96-.04 1.37-.22.23-.1.31-1.06.1-1.2-.38-.25-.77-.39-1.31-.45-.21-.02-.63-.32-1.24-.42-.1-.02-.2 0-.31.03-.89.29-2 .09-2 .09s-1.67-.15-2.38-.21c-.53-.04-.79-.06-.94-.07-.48-.03-.85.02-1.22.16z\" />\n <path d=\"m172.158 67.0749c-.14.11-.23 1.22-.11 1.34.17.18.35.28.59.31.28-.03.37-.25.55-.21.31.03.82.38.94.47.02.01.04.02.06.01.14-.03.75-.15 1.25-.03.36.03.59.04.7.05.28.02.49-.08.71-.27.12-.11.2-1.07.1-1.2-.18-.23-.38-.36-.66-.39-.11-.01-.31-.29-.62-.37-.05-.01-.1 0-.16.04-.47.32-1.03.17-1.03.17s-.85-.08-1.21-.11c-.27-.02-.4-.03-.48-.04-.24-.01-.44.06-.63.21z\" />\n </g>\n <path\n d=\"m83.3874 31.9994-20.2312 41.5904 41.5908 20.2312 20.231-41.5905z\"\n fill={purple}\n />\n <path\n d=\"m158.339 144.757s-8.38 51.81.38 78.47h87.23s-14.09-42.28.76-78.47c0 0-88.95.57-88.38 0z\"\n fill={orange}\n />\n <path\n d=\"m66.51 148.016s3.65-22.57-.17-34.19h-38.01s6.14 18.42-.33 34.19c0 0 38.76-.25 38.51 0z\"\n fill={orange}\n />\n <path d=\"m235.87 57.4365-59.95 8.14v36.4605l59.95-6.2205z\" fill={blue} />\n <path\n d=\"m66.2383 198.366 19.58 43.98 35.2197-9.42-17.71-44.48z\"\n fill={blue}\n />\n </svg>\n );\n}\n\nexport default Integration;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction LetterOpen(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const paperColor = getColorValue('illustrationPaper');\n const innerPaperColor = getColorValue('illustrationInnerPaper');\n const lineColor = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m137.33 58.999-85.33 71.36v86.19h170.66v-86.19z\" fill={blue} />\n <path d=\"m202.51 86.1885h-130.3596v130.3595h130.3596z\" fill={orange} />\n <path\n d=\"m169.84 86.1885h-65.03l-32.6596 27.3195v103.04h130.3596v-103.04z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m191.81 96.8789h-108.9702v108.9701h108.9702z\"\n fill={paperColor}\n />\n <g fill={orange}>\n <path d=\"m181.48 108.528h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 124.639h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 140.759h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 156.868h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 172.988h-86.3599v4h86.3599z\" />\n <path d=\"m181.48 189.099h-86.3599v4h86.3599z\" />\n </g>\n <path d=\"m154.76 216.549-102.5803-86.17.17 86.17z\" fill={blue} />\n <path d=\"m119.891 216.549 102.58-86.17-.16 86.17z\" fill={blue} />\n <path\n d=\"m119.891 216.548h34.87l-17.43-14.65z\"\n fill={illustrationColors.staticDarkBlue}\n />\n {/* Layered envelope for depth */}\n <path d=\"m137.33 58.999-85.33 71.36v86.19h170.66v-86.19z\" fill={blue} />\n <path d=\"m202.51 86.1885h-130.3596v130.3595h130.3596z\" fill={orange} />\n <path\n d=\"m169.84 86.1885h-65.03l-32.6596 27.3195v103.04h130.3596v-103.04z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m191.81 96.8789h-108.9702v108.9701h108.9702z\"\n fill={innerPaperColor}\n />\n <path\n d=\"m164.386 176.252c1.5-.1 1.51-1.22.01-1.35-2.13-.18-4.36-.29-7.23-.32-3.26.03-4.07.25-6.28.21-3.73-.03-10.02-.39-11.53-.48-.22-.01-.45-.02-.67-.01-1.61.03-8.65.14-14.72.01-4.28-.03-6.93-.05-8.32-.06-3.27-.02-5.72.08-8.12.27-1.32.11-1.33 1.08 0 1.2 2.4.23 4.84.37 8.11.4 1.27.01 3.92.3 7.65.38.61.01 1.22 0 1.82-.04 5.21-.32 11.98-.16 11.98-.16s10.1.09 14.36.12c3.21.02 4.75.03 5.7.04 2.87.02 5.11-.05 7.24-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 115.56c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 135.791c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path\n d=\"m171.536 156.021c1.86-.1 1.86-1.22 0-1.35-2.63-.18-5.39-.29-8.95-.32-4.03.03-5.03.25-7.76.21-4.61-.03-12.39-.39-14.26-.48-.28-.01-.55-.02-.83-.01-1.99.03-10.7.14-18.19.01-5.3-.03-8.57-.05-10.29-.06-4.04-.02-7.07.08-10.03.27-1.6297.11-1.6397 1.08 0 1.2 2.96.23 5.99.37 10.03.4 1.57.01 4.84.3 9.46.38.75.01 1.51 0 2.25-.04 6.45-.32 14.81-.16 14.81-.16s12.48.09 17.75.12c3.97.02 5.88.03 7.05.04 3.55.02 6.32-.05 8.95-.2z\"\n fill={lineColor}\n />\n <path d=\"m154.76 216.549-102.5803-86.17.17 86.17z\" fill={blue} />\n <path d=\"m119.891 216.549 102.58-86.17-.16 86.17z\" fill={blue} />\n <path\n d=\"m119.891 216.548h34.87l-17.43-14.65z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default LetterOpen;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction LightBulbOrbit(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.57 148.71c.91-5.12 1.39-10.57 1.39-16.32s-.48-11.36-1.42-16.54c-5.54-30.8597-26.98-49.8797-57.04-54.7697-5.13-.83-10.51-1.26-16.1-1.26s-11.44.46-16.77 1.35c-30.0801 5.02-51.4801 23.99-57.0301 54.6797-.94 5.19-1.43 10.7-1.43 16.54s.48 11.2 1.4 16.32c5.51 30.65 26.93 49.65 57.0601 54.68 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c30.11-4.9 51.57-23.95 57.07-54.77z\"\n fill={orange}\n />\n <path\n d=\"m113.69 212c-.71 19.89 9.24 27.47 24.63 27.47 14.45 0 24.16-7.58 24.16-27.47v-22.74h-48.79z\"\n fill={blue}\n />\n <path\n d=\"m113.69 189.26v12.42c2.57.68 5.22 1.25 7.94 1.71 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c2.73-.44 5.39-1.01 7.98-1.68v-12.54z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={gray}>\n <path d=\"m220.21 115.041c-4.7-.42-7.08-.3-7.11 0-.03.31 2.29.81 6.97 1.34 6.63.77 13.42 1.63 20.72 2.89 3.65.64 7.43 1.37 11.31 2.39 1.94.51 3.91 1.1 5.82 1.88.95.39 1.9.82 2.73 1.36.81.51 1.52 1.27 1.49 1.71.04.51-.79 1.36-1.69 1.87-.9.56-1.88 1-2.84 1.38-1.91.76-3.75 1.29-5.45 1.76-3.41.91-6.33 1.51-9.04 2.04-5.44 1.03-10.12 1.75-16.99 2.55-11.61 1.37-27.31 2.47-41.29 3.03-13.98.58-26.23.7-30.99.74-1.41.02-2.81.03-4.23.05-5.04.09-18.62.21-35.7.06s-37.67-.56-56.66-1.73c-13.41-.81-24.25-1.85-32.67-3.33-4.18-.76-7.84-1.61-10.55-2.89-1.33-.61-2.37-1.57-2.15-2.07.05-.3.27-.74.63-1.1.33-.38.74-.71 1.14-1.01 1.93-1.41 4.19-2.42 6.38-3.31 2.2-.89 4.4-1.62 6.57-2.28 4.33-1.31 8.51-2.31 12.54-3.16 8.08-1.69 15.59-2.77 23.06-3.63 4.1-.45 6.15-.85 6.13-1.14-.02-.26-2.11-.4-6.24-.06-7.52.65-15.11 1.57-23.28 3.17-4.09.8-8.32 1.77-12.73 3.07-2.21.65-4.46 1.39-6.73 2.3-2.27.93-4.6 1.94-6.81 3.54-.43.32-.87.69-1.31 1.15-.43.48-.9 1.03-1.15 1.89-.04.23-.07.46-.09.69.03.24.02.5.11.72.13.48.39.87.67 1.21.58.67 1.27 1.11 1.99 1.51 2.9 1.52 6.43 2.37 10.43 3.19 8.02 1.57 18.04 2.65 29.78 3.47 3.83.26 7.65.47 11.45.61 16.39.65 35.21.97 49.94 1.1s25.37.12 25.37.12 3.97-.03 10.34-.07c6.37-.08 15.15-.24 24.75-.59 9.61-.35 20.05-.88 29.75-1.6 9.7-.71 18.66-1.61 25.32-2.45 10.03-1.27 17.42-2.61 22.98-4.09 2.78-.74 5.11-1.51 7.05-2.43.97-.46 1.85-.96 2.61-1.6.38-.31.73-.69 1.01-1.13s.46-1 .46-1.56c0-.88-.46-1.55-.9-2.04-.45-.52-.95-.86-1.44-1.21-1-.65-2.03-1.11-3.05-1.52-2.04-.82-4.07-1.41-6.06-1.92-3.98-1.02-7.8-1.72-11.49-2.33-7.37-1.19-14.21-1.93-20.87-2.53z\" />\n <path d=\"m180.62 65.4413c-7.33 6.41-6.59 7.24.87 1.03 5.31-4.38 10.82-8.8 16.92-13.41 3.05-2.3 6.26-4.65 9.71-6.99 3.45-2.32 7.12-4.73 11.23-6.67 1.16-.54 2.29-1.01 3.35-1.29 1.05-.31 2.12-.36 2.63-.1.21.14.36.29.44.63.08.33.09.74.04 1.17-.09.86-.36 1.74-.66 2.56-1.26 3.31-2.84 5.97-4.29 8.41-2.97 4.85-5.77 8.86-10.08 14.53-7.29 9.6-17.83 21.93-27.55 32.59-9.7 10.6797-18.51 19.7297-21.93 23.2397-1.01 1.04-2.02 2.08-3.03 3.13-7.17 7.5-39.11 40.14-68.6599 66-10.42 9.14-19.11 16.23-26.3 21.36-3.59 2.55-6.83 4.62-9.71 6.01-1.43.67-2.82 1.2-3.94 1.28-1.18.02-1.28-.23-1.42-1.16-.05-1.06.24-2.3.59-3.46.36-1.17.81-2.32 1.3-3.44.97-2.24 2.07-4.36 3.2-6.4 2.27-4.08 4.65-7.82 7.01-11.36 4.75-7.06 9.45-13.33 14.28-19.4 2.66-3.33 3.85-5.11 3.64-5.29-.2-.17-1.81 1.26-4.57 4.53-5.01 5.96-9.87 12.15-14.75 19.21-2.43 3.54-4.87 7.29-7.2 11.42-1.16 2.07-2.3 4.23-3.32 6.55-.51 1.16-.99 2.36-1.38 3.63-.38 1.28-.74 2.6-.68 4.15.09.6.14 1.34.78 2.04.62.69 1.56.88 2.32.87 1.57-.04 2.99-.59 4.48-1.23 2.97-1.33 6.12-3.3 9.6-5.67 6.93-4.76 15.05-11.24 24.24-19.16 2.99-2.58 5.95-5.21 8.83-7.86 12.4799-11.41 26.4999-24.84 37.3399-35.48 10.85-10.63 18.57-18.43 18.57-18.43s2.86-2.92 7.46-7.62c4.57-4.72 10.82-11.26 17.54-18.56 6.71-7.2897 13.88-15.3397 20.37-22.9997 6.49-7.65 12.27-14.92 16.4-20.48 3.11-4.19 5.7-7.93 7.81-11.31 2.1-3.39 3.78-6.39 4.82-9.27.26-.72.47-1.44.6-2.17s.21-1.48.04-2.27c-.1-.4-.24-.81-.51-1.16-.25-.36-.63-.63-.99-.81-.76-.37-1.43-.33-2.05-.33-1.22.09-2.19.42-3.08.72-.89.31-1.67.65-2.38.99-4.3 2.04-7.99 4.5-11.47 6.86-3.47 2.39-6.68 4.78-9.72 7.13-6.08 4.71-11.52 9.24-16.74 13.76z\" />\n <path d=\"m94.9898 68.3604c3.61 2.96 5.5602 4.28 5.7702 4.04.2-.22-1.3502-2.02-4.9002-5.08-5.05-4.32-10.35-8.63-16.35-13-3-2.18-6.18-4.37-9.61-6.54-3.44-2.16-7.13-4.32-11.29-6.2-2.37-1.04-4.6-1.86-6.84-2.23-1.12-.15-2.27-.27-3.49.18-.6.23-1.21.66-1.57 1.27-.37.61-.44 1.23-.45 1.77 0 1.09.25 1.99.53 2.82s.6 1.58.95 2.29c.68 1.42 1.41 2.69 2.14 3.88 2.96 4.75 5.81 8.52 10.03 13.98 7.19 9.18 17.45 20.99 26.82 31.28 9.35 10.2996 17.7502 19.1196 21.0202 22.5496.97 1.01 1.95 2.01 2.92 3.02 3.52 3.57 12.96 13.21 25.14 25.05 12.18 11.83 27.15 25.78 41.52 38.13 10.17 8.7 18.67 15.43 25.64 20.45s12.4 8.36 16.5 10.12c1.22.51 2.45.97 3.82 1.2.69.1 1.42.17 2.23-.03.4-.11.84-.27 1.2-.59.37-.29.66-.71.82-1.11.33-.82.33-1.58.26-2.25-.07-.68-.22-1.3-.39-1.9-.35-1.2-.81-2.29-1.31-3.35-2.01-4.19-4.4-7.79-6.73-11.21-4.72-6.8-9.45-12.71-14.24-18.48-5.31-6.3-6.04-5.67-.94.76 4.61 5.88 9.19 11.88 13.77 18.67 2.26 3.41 4.59 7.01 6.48 11.03.47 1 .89 2.04 1.19 3.09.3 1.02.49 2.2.19 2.91-.15.33-.36.51-.77.62-.41.1-.95.08-1.49 0-1.1-.18-2.25-.59-3.38-1.08-3.55-1.51-8.74-4.71-15.2-9.42-6.47-4.7-14.23-10.91-23.1-18.43-2.89-2.46-5.77-4.92-8.63-7.35-12.35-10.53-26.01-23.26-36.46-33.45-5.23-5.09-9.68-9.54-12.82-12.71s-4.99-5.05-4.99-5.05-2.75-2.81-7.17-7.32c-4.4-4.53-10.44-10.78-16.9602-17.73-6.52-6.9496-13.51-14.5896-19.84-21.8396-6.34-7.25-12.01-14.12-16.01-19.39-3.02-3.97-5.51-7.51-7.47-10.73-.97-1.61-1.81-3.14-2.45-4.59-.62-1.43-1.11-2.89-1.02-3.99.07-.54.22-.85.57-1.06.36-.21.87-.29 1.38-.32 1.05-.01 2.1.21 3.05.47 1.9.52 3.46 1.18 4.79 1.77 4.02 1.81 7.67 3.93 11.08 6.04 3.4 2.12 6.57 4.26 9.57 6.39 6 4.26 11.35 8.45 16.49 12.63z\" />\n </g>\n </svg>\n );\n}\n\nexport default LightBulbOrbit;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Lightbulb(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m211.4 154.66c.91-5.12 1.39-10.57 1.39-16.32s-.48-11.36-1.42-16.54c-5.54-30.8605-26.98-49.8805-57.04-54.7705-5.13-.83-10.51-1.26-16.1-1.26s-11.44.46-16.77 1.35c-30.08 5.02-51.48 23.99-57.03 54.6805-.94 5.19-1.43 10.7-1.43 16.54s.48 11.2 1.4 16.32c5.51 30.65 26.93 49.65 57.06 54.68 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c30.11-4.9 51.57-23.95 57.07-54.77z\"\n fill={orange}\n />\n <path\n d=\"m113.52 217.94c-.71 19.89 9.24 27.47 24.63 27.47 14.45 0 24.16-7.58 24.16-27.47v-22.74h-48.79z\"\n fill={blue}\n />\n <g fill={gray}>\n <path d=\"m126.674 219.537c-.77 5.97.34 6.14 1.33.2 1.39-8.42 2.82-17.3 3.85-28.83.52-6.54.6-10.64.62-14.21.02-1.78-.02-3.44-.03-5.2-.04-1.77-.08-3.65-.34-5.91-.23-1.9-.64-3.98-1.51-6.04-.44-1.03-1-2.05-1.69-3-.68-.96-1.6-1.86-2.62-2.53-2.06-1.35-4.58-2.1-7.13-1.84-1.27.13-2.54.53-3.63 1.26s-1.96 1.79-2.49 2.94c-.53 1.17-.7 2.47-.62 3.67.09 1.21.41 2.34.84 3.35.9 2.03 2.16 3.66 3.47 4.94.65.65 1.34 1.2 1.99 1.68.68.43 1.31.83 1.88 1.19 1.17.69 2.2 1.12 2.91 1.48.88.32 1.76.66 2.67.93 1.62.41 4.68 1.17 8.77 1.02.51-.02 1.04-.04 1.58-.07.54-.07 1.09-.14 1.65-.21 1.14-.1 2.29-.43 3.51-.68 2.39-.67 4.92-1.62 7.38-3.04 2.43-1.45 4.79-3.34 6.79-5.69.48-.61 1-1.18 1.44-1.83.45-.64.87-1.32 1.24-2.04.75-1.42 1.33-3.04 1.44-4.77.12-1.75-.33-3.56-1.33-5.05-.51-.74-1.15-1.42-1.95-1.92-.79-.5-1.73-.81-2.67-.88-3.87-.18-6.82 2.86-7.91 5.89-.84 2.17-1.11 4.29-1.38 6.21-.26 1.94-.51 3.78-.7 5.52-.41 3.49-.68 6.61-.9 9.36-.41 5.51-.53 9.57-.61 12.36-.25 13.18.55 23.02 1.82 32.59.77 5.25 1.73 5.11 1.2-.14-.85-9.56-1.42-19.34-1.15-32.41.07-2.54.25-6.45.69-11.58.23-2.56.51-5.43.89-8.58.2-1.57.39-3.22.64-4.93s.45-3.51.83-5.25c.5-2.26 1.34-4.37 2.95-5.7.85-.72 1.91-1.24 2.98-1.32 1.07-.09 2.13.29 2.94 1.08.82.78 1.39 1.9 1.61 3.08.22 1.16.07 2.43-.31 3.62-.38 1.2-.99 2.35-1.7 3.42-.34.55-.76 1.04-1.16 1.54-.41.49-.77 1.02-1.24 1.44-1.69 1.87-3.73 3.26-5.67 4.43-3.99 2.23-7.91 3.12-10.67 3.4-.69.11-1.32.12-1.86.14-.55.02-1.01.03-1.39.05-.76-.04-1.17-.06-1.17-.06s-.15 0-.44-.02c-.29-.03-.72 0-1.27-.1-.55-.08-1.22-.18-1.99-.29-.76-.16-1.63-.39-2.58-.63-1.85-.64-4.07-1.44-6.2-2.9-2.13-1.35-4.15-3.46-5.34-6.06-.56-1.3-.88-2.73-.7-4.1.21-1.35.9-2.67 1.99-3.5 1.1-.83 2.52-1.26 3.97-1.23 1.44.01 2.9.37 4.17 1 2.59 1.24 4.16 3.73 5.04 6.18.88 2.46 1.15 4.91 1.28 7 .1 1.58.12 3.06.11 4.47 0 1.4 0 2.71-.04 3.93-.05 2.44-.13 4.53-.23 6.34-.18 3.61-.4 6.1-.55 7.99-1.01 11.45-2.25 20.32-3.31 28.79z\" />\n <path d=\"m116.394 59.746c.39.75 1.44.38 1.27-.45-.24-1.18-.57-2.38-1.1-3.9-.65-1.7-1.02-2.05-1.41-3.22-.69-1.96-1.57-5.38-1.78-6.21-.03-.12-.07-.24-.12-.36-.34-.83-1.81-4.49-2.86-7.71-.8-2.26-1.29-3.65-1.55-4.38-.62-1.72-1.18-2.97-1.82-4.16-.35-.66-1.27-.33-1.13.4.25 1.33.59 2.66 1.19 4.39.24.67.48 2.15 1.13 4.14.11.32.24.64.39.94 1.31 2.62 2.47 6.22 2.47 6.22s1.87 5.32 2.66 7.57c.6 1.69.89 2.5 1.06 3 .54 1.51 1.04 2.66 1.59 3.73z\" />\n <path d=\"m139.614 56.2065c.02.65 1.13.8 1.33.2.29-.86.53-1.77.75-2.95.2-1.35.05-1.73.26-2.63.32-1.54 1.28-4.01 1.53-4.6.04-.09.06-.18.08-.27.13-.66.79-3.54 1.74-5.9.6-1.69 1.02-2.72 1.24-3.25.51-1.27.81-2.25 1.04-3.26.12-.55-.76-.96-1.1-.5-.61.84-1.14 1.76-1.67 3.05-.21.5-.88 1.45-1.47 2.95-.1.24-.17.49-.22.75-.2 1.12-.54 2.35-.81 3.31-.29.96-.5 1.65-.5 1.65s-.3 1.04-.63 2.3c-.33 1.27-.68 2.76-.86 3.65-.28 1.34-.39 1.99-.47 2.39-.21 1.21-.28 2.17-.25 3.09z\" />\n <path d=\"m160.475 58.8469c-.49.73.35 1.47 1.01.89.94-.81 1.86-1.72 2.97-2.96 1.21-1.44 1.34-1.95 2.21-2.89 1.43-1.61 4.07-4.13 4.71-4.74.09-.09.18-.18.26-.29.58-.72 3.15-3.88 5.54-6.46 1.64-1.86 2.65-3.01 3.18-3.6 1.25-1.42 2.1-2.55 2.86-3.73.42-.65-.31-1.29-.9-.8-1.08.9-2.1 1.88-3.36 3.29-.49.55-1.7 1.52-3.17 3.11-.24.26-.46.53-.66.82-1.72 2.5-4.39 5.36-4.39 5.36s-3.87 4.37-5.5 6.21c-1.23 1.39-1.82 2.06-2.18 2.47-1.09 1.25-1.88 2.28-2.57 3.31z\" />\n </g>\n <path\n d=\"m113.52 195.21v12.42c2.57.68 5.22 1.25 7.94 1.71 5.33.89 10.93 1.35 16.77 1.35s10.97-.43 16.1-1.26c2.73-.44 5.39-1.01 7.98-1.68v-12.54z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Lightbulb;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction LongFormDoc(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m161.561 113.67-3.67 69.25h86.8l-8.32-51.22c-1.69-10.4-10.67-18.03-21.2-18.03z\"\n fill={blue}\n />\n <path\n d=\"m116.99 223.87 5.84-110.19h89.65l-7.56 95.88c-.64 8.08-7.38 14.31-15.49 14.31z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m42.08 223.86-12.08-171.86h139.81l7.64 171.86z\" fill={orange} />\n <g fill={gray}>\n <path d=\"m149.002 97.2209c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33-.01-.66-.02-.99-.01-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86.01 5.73.3 11.21.39.89.01 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 120.481c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33-.01-.66-.02-.99-.01-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86.01 5.73.3 11.21.39.89.01 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 143.75c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 166.561c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.29-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n <path d=\"m149.002 189.83c2.2-.1 2.2-1.22 0-1.35-3.11-.19-6.39-.3-10.59-.33-4.77.02-5.96.25-9.19.2-5.46-.03-14.67-.4-16.88-.5-.33 0-.66-.02-.99 0-2.35.03-12.66.13-21.54 0-6.27-.04-10.15-.06-12.18-.07-4.79-.02-8.37.07-11.88.26-1.93.1-1.94 1.07 0 1.2 3.51.23 7.09.37 11.87.41 1.86 0 5.73.3 11.21.39.89 0 1.78 0 2.67-.04 7.63-.31 17.54-.15 17.54-.15s14.78.1 21.02.14c4.7.03 6.96.04 8.35.05 4.21.02 7.48-.05 10.6-.19h-.01z\" />\n </g>\n </svg>\n );\n}\n\nexport default LongFormDoc;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Migrations(props) {\n const green = getColorValue('illustrationGreen');\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={green}>\n <path d=\"m245.02 82.6504-202.3198 64.5996 72.2098 35.57z\" />\n <path d=\"m240.85 85.0303-146.6298 95.1697 65.9598 38.76z\" />\n <path d=\"m240.86 85.0303-.5 1.2-125.45 96.5897-14.06-6.92z\" />\n </g>\n <path\n d=\"m240.86 85.0303-.5 1.2-125.45 96.5897-14.06-6.92z\"\n fill={getColorValue('tealDark')}\n />\n <path d=\"m113.11 55.5-83.11 17.5 27.29 17.08z\" fill={purple} />\n <path d=\"m111.36 56.2803-62.1901 31.92 20.66 23.4297z\" fill={purple} />\n <path d=\"m111.36 56.2803-.25.46-53.82 33.34-5.31-3.32z\" fill={purple} />\n <path\n d=\"m111.36 56.2803-.25.46-53.82 33.34-5.31-3.32z\"\n fill={illustrationColors.staticRed}\n />\n </svg>\n );\n}\n\nexport default Migrations;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Padlock(props) {\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m207.85 184.532c.87-4.9 1.33-10.1 1.33-15.61s-.46-10.86-1.35-15.82c-5.3-29.5-25.8-47.69-54.53-52.36-4.9-.7998-10.04-1.2098-15.39-1.2098s-10.93.44-16.03 1.2898c-28.76 4.8-49.21 22.94-54.52 52.27-.9 4.96-1.36 10.23-1.36 15.82s.46 10.71 1.34 15.61c5.27 29.3 25.74 47.47 54.55 52.27 5.1.85 10.45 1.29 16.03 1.29s10.49-.41 15.39-1.21c28.79-4.68 49.3-22.9 54.56-52.36z\"\n fill={purple}\n />\n <path\n d=\"m156.92 161.662c.24-1.35.37-2.78.37-4.3s-.13-2.99-.37-4.35c-1.46-8.12-7.1-13.12-15.01-14.41-1.35-.22-2.76-.33-4.24-.33s-3.01.12-4.41.36c-7.92 1.32-13.55 6.31-15.01 14.39-.25 1.36-.38 2.82-.38 4.35s.13 2.95.37 4.3c1.45 8.06 7.09 13.07 15.01 14.39 1.4.23 2.88.36 4.41.36s2.89-.11 4.24-.33c7.92-1.29 13.57-6.3 15.02-14.41z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m189.62 81.7422h-104.0902v45.2898h104.0902z\" fill={purple} />\n <path\n d=\"m150.11 166.592h-25.07v33.22h25.07z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m137.74 125.982c-3.27 0-6.5-.26-9.58-.78-19.03-3.17-31.8501-15.54-35.1501-33.9195-.54-3.02-.82-6.22-.82-9.49s.28-6.55.83-9.61c3.33-18.38 16.1301-30.74 35.1401-33.91 6.07-1.01 12.74-1.03 18.8-.05 19.04 3.1 31.87 15.48 35.19 33.98.55 3.06.83 6.29.83 9.59s-.27 6.46-.81 9.48c-3.3 18.4995-16.13 30.8895-35.2 33.9895-2.96.48-6.06.73-9.22.73zm0-79.2095c-2.74 0-5.49.21-8.05.64-15.14 2.53-24.92 11.91-27.55 26.42-.46 2.51-.69 5.19-.69 7.96s.23 5.37.67 7.85c2.61 14.5095 12.4 23.8995 27.56 26.4295 5.07.85 10.76.86 15.79.04 15.17-2.47 24.96-11.87 27.57-26.4695.44-2.49.67-5.13.67-7.85s-.23-5.44-.68-7.96c-2.62-14.6-12.41-24-27.56-26.47-2.46-.4-5.1-.6-7.74-.6z\"\n fill={purple}\n />\n </svg>\n );\n}\n\nexport default Padlock;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction People(props) {\n const purple = getColorValue('illustrationPurple');\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const line = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m119.714 79.323c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={purple}\n />\n <path\n d=\"m100.515 64.9729c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={orange}\n />\n <path\n d=\"m90.2448 76.9929c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.1401-10.5202 3.8301-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2001l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={orange}\n />\n <path\n d=\"m119.714 143.583c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={blue}\n />\n <path\n d=\"m100.515 129.243c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m90.2448 141.263c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.14-10.5202 3.83-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m119.714 207.853c.34-2.06.5-4.25.47-6.57s-.26-4.56-.66-6.64c-2.4-12.37-11.12-19.89-23.2204-21.69-2.07-.31-4.23-.45-6.48-.42s-4.59.25-6.73.64c-12.06 2.18-20.55 9.92-22.61 22.28-.35 2.09-.51 4.31-.48 6.66.03 2.31.25 4.5.65 6.55 2.38 12.28 11.09 19.8 23.23 21.65 2.15.33 4.4.48 6.74.45 2.25-.03 4.41-.23 6.46-.6 12.0704-2.13 20.5904-9.91 22.6304-22.32z\"\n fill={blue}\n />\n <path\n d=\"m100.515 193.503c.01.81-.04 1.57-.16 2.29l-.02-.02c-.7103 4.33-3.6803 7.05-7.8903 7.79-.71.13-1.47.2-2.25.21-.82.01-1.6-.05-2.35-.16-4.23-.64-7.27-3.26-8.1-7.55-.14-.72-.22-1.48-.23-2.29-.01-.82.05-1.59.17-2.32.72-4.31 3.68-7.01 7.89-7.77.75-.13 1.57-.21 2.35-.22s1.54.04 2.26.15c4.22.63 7.26 3.26 8.1003 7.57.14.73.22 1.5.23 2.32z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m90.2448 205.523c10.6202-.18 17.5802 4.93 17.3302 18.67l.04 2.14c-3.07 1.84-6.6 3.14-10.5202 3.83-2.05.37-4.21.57-6.46.6-2.34.03-4.59-.12-6.74-.45-3.66-.56-7-1.64-9.95-3.2l-.04-2.34c-.24-13.73 6.37-19.08 16.34-19.25z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={line}>\n <path d=\"m131.774 135.932c-2.16.12-2.16 1.23 0 1.35 3.06.17 6.27.25 10.4.26 4.68-.05 5.84-.28 9.01-.26 5.36 0 14.39.31 16.57.39h.97c2.31-.04 12.43-.21 21.14-.13h11.95c4.7 0 8.21-.12 11.66-.33 1.89-.12 1.89-1.09 0-1.2-3.45-.21-6.96-.33-11.66-.33-1.83 0-5.63-.27-11-.31-.87 0-1.75 0-2.62.05-7.49.36-17.21.26-17.21.26h-28.82c-4.13 0-7.34.1-10.4.26z\" />\n <path d=\"m131.774 198.913c-2.16.12-2.16 1.23 0 1.35 3.06.17 6.27.25 10.4.26 4.68-.05 5.84-.28 9.01-.26 5.36 0 14.39.31 16.57.39h.97c2.31-.04 12.43-.21 21.14-.13h11.95c4.7 0 8.21-.12 11.66-.33 1.89-.12 1.89-1.09 0-1.2-3.45-.21-6.96-.33-11.66-.33-1.83 0-5.63-.27-11-.31-.87 0-1.75 0-2.62.05-7.49.36-17.21.26-17.21.26h-28.82c-4.13 0-7.34.1-10.4.26z\" />\n <path d=\"m132.044 86.3922c-.54.13-.93.28-1.21.41-.28.14-.43.3-.43.46 0 .15.15.3.47.4.32.12.82.15 1.46.05 1.82-.33 3.52-1.22 5.08-2.38.79-.58 1.55-1.23 2.32-1.91.77-.67 1.56-1.42 2.36-1.92 1.94-1.14 3.5-1.2 4.65-1.04.59.1 1.11.29 1.6.6s.92.76 1.38 1.46c.4.58.81 1.3 1.45 2.02s1.53 1.33 2.52 1.65c1.99.65 4.13.33 5.92-.35 1.82-.72 3.21-1.76 4.33-2.56 1.12-.82 1.96-1.44 2.44-1.76l.84-.57c.5-.34 1.38-.95 2.7-1.4.71-.24 1.31-.38 1.98-.25s1.36.55 1.85 1.22c.25.33.44.72.56 1.14.05.15.15.6.27.89.12.33.27.64.43.94.68 1.2 1.68 2.18 2.85 2.91.59.36 1.23.65 1.91.85.65.2 1.47.32 2.07.28.64 0 1.28 0 1.92-.01.64.02 1.26-.11 1.88-.16 3.5-.44 6.24-1.37 8.27-2.34 1.03-.45 1.86-.97 2.61-1.35.7-.45 1.29-.82 1.77-1.12 4.39-3.06 6.99-6.17 9.19-9.29 1.19-1.7.44-2.32-.94-.75-2.5 2.82-5.15 5.6-9.3 8.48-1.61 1.08-5.27 3.14-10.86 4.06-.92.08-1.83.27-2.73.33-.49.03-.99.05-1.5.08l-.77.04c-.23-.02-.42-.02-.65-.07-.9-.15-1.79-.58-2.55-1.15s-1.36-1.32-1.72-2.11c-.08-.2-.16-.4-.21-.6l-.1-.37c-.04-.14-.08-.28-.13-.42-.19-.55-.47-1.05-.81-1.49-.67-.88-1.57-1.47-2.47-1.76-.9-.28-1.76-.26-2.43-.12-.61.13-1.07.28-1.39.39-.31.12-.48.18-.48.18s-.25.1-.69.31-1.05.56-1.74 1.02c-1.4.91-3.08 2.42-5 3.72-.97.66-1.99 1.19-3.11 1.5-1.11.3-2.28.39-3.31.16-1.03-.24-1.84-.76-2.42-1.51-.6-.75-1.09-1.66-1.7-2.38-.93-1.14-2.19-1.77-3.26-2.01-1.09-.24-2.03-.21-2.82-.09-1.58.25-2.57.77-3.28 1.19-1.1.69-1.85 1.47-2.62 2.16-.75.69-1.45 1.33-2.16 1.91-1.4 1.14-2.81 2-4.32 2.43z\" />\n </g>\n </svg>\n );\n}\n\nexport default People;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction PeopleGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const dark = getColorValue('illustrationGreyscaleDark');\n const stroke = getColorValue('illustrationGreyscaleStroke');\n\n return (\n <svg fill=\"none\" height=\"200\" viewBox=\"0 0 200 200\" width=\"200\" {...props}>\n <path\n d=\"M87.0648 57.6892C87.312 56.191 87.4284 54.5983 87.4066 52.911C87.3848 51.2237 87.2175 49.5946 86.9266 48.0819C85.1811 39.0855 78.8393 33.6165 70.0393 32.3074C68.5338 32.0819 66.9629 31.9801 65.3266 32.0019C63.6902 32.0237 61.9884 32.1837 60.432 32.4674C51.6611 34.0528 45.4866 39.6819 43.9884 48.671C43.7339 50.191 43.6175 51.8055 43.6393 53.5146C43.6611 55.1946 43.8211 56.7874 44.112 58.2783C45.8429 67.2092 52.1775 72.6783 61.0066 74.0237C62.5702 74.2637 64.2066 74.3728 65.9084 74.351C67.5448 74.3292 69.1157 74.1837 70.6066 73.9146C79.3848 72.3655 85.5811 66.7074 87.0648 57.6819V57.6892Z\"\n fill={accent}\n />\n <path\n d=\"M73.1034 47.2529C73.1107 47.842 73.0743 48.3947 72.987 48.9184L72.9725 48.9038C72.4561 52.0529 70.2961 54.0311 67.2343 54.5693C66.718 54.6638 66.1652 54.7147 65.598 54.722C65.0016 54.7293 64.4343 54.6856 63.8889 54.6057C60.8125 54.1402 58.6016 52.2347 57.998 49.1147C57.8961 48.5911 57.838 48.0384 57.8307 47.4493C57.8234 46.8529 57.867 46.2929 57.9543 45.762C58.478 42.6275 60.6307 40.6638 63.6925 40.1111C64.238 40.0166 64.8343 39.9584 65.4016 39.9511C65.9689 39.9438 66.5216 39.9802 67.0452 40.0602C70.1143 40.5184 72.3252 42.4311 72.9361 45.5657C73.038 46.0966 73.0961 46.6566 73.1034 47.2529Z\"\n fill={dark}\n />\n <path\n d=\"M65.6343 55.9947C73.358 55.8638 78.4198 59.5802 78.238 69.5729L78.2671 71.1293C76.0343 72.4674 73.4671 73.4129 70.6161 73.9147C69.1252 74.1838 67.5543 74.3293 65.918 74.3511C64.2162 74.3729 62.5798 74.2638 61.0161 74.0238C58.3543 73.6165 55.9252 72.8311 53.7798 71.6965L53.7507 69.9947C53.5761 60.0093 58.3834 56.1184 65.6343 55.9947Z\"\n fill={dark}\n />\n <path\n d=\"M87.0648 104.424C87.312 102.926 87.4284 101.333 87.4066 99.6459C87.3848 97.9586 87.2175 96.3295 86.9266 94.8168C85.1811 85.8204 78.8393 80.3513 70.0393 79.0422C68.5338 78.8168 66.9629 78.715 65.3266 78.7368C63.6902 78.7586 61.9884 78.9186 60.432 79.2022C51.6611 80.7877 45.4866 86.4168 43.9884 95.4059C43.7339 96.9259 43.6175 98.5404 43.6393 100.249C43.6611 101.929 43.8211 103.522 44.112 105.013C45.8429 113.944 52.1775 119.413 61.0066 120.759C62.5702 120.999 64.2066 121.108 65.9084 121.086C67.5448 121.064 69.1157 120.919 70.6066 120.65C79.3848 119.1 85.5811 113.442 87.0648 104.417V104.424Z\"\n fill={fill}\n />\n <path\n d=\"M73.1034 93.9951C73.1107 94.5842 73.0743 95.1369 72.987 95.6606L72.9725 95.646C72.4561 98.7951 70.2961 100.773 67.2343 101.311C66.718 101.406 66.1652 101.457 65.598 101.464C65.0016 101.471 64.4343 101.428 63.8889 101.348C60.8125 100.882 58.6016 98.9769 57.998 95.8569C57.8961 95.3333 57.838 94.7806 57.8307 94.1915C57.8234 93.5951 57.867 93.0351 57.9543 92.5042C58.478 89.3697 60.6307 87.406 63.6925 86.8533C64.238 86.7587 64.8343 86.7006 65.4016 86.6933C65.9689 86.686 66.5216 86.7224 67.0452 86.8024C70.1143 87.2606 72.3252 89.1733 72.9361 92.3078C73.038 92.8387 73.0961 93.3988 73.1034 93.9951Z\"\n fill={accent}\n />\n <path\n d=\"M65.6343 102.737C73.358 102.606 78.4198 106.322 78.238 116.315L78.2671 117.871C76.0343 119.21 73.4671 120.155 70.6161 120.657C69.1252 120.926 67.5543 121.071 65.918 121.093C64.2162 121.115 62.5798 121.006 61.0161 120.766C58.3543 120.359 55.9252 119.573 53.7798 118.439L53.7507 116.737C53.5761 106.751 58.3834 102.861 65.6343 102.737Z\"\n fill={accent}\n />\n <path\n d=\"M87.0648 151.166C87.312 149.668 87.4284 148.075 87.4066 146.388C87.3848 144.7 87.2175 143.071 86.9266 141.558C85.1811 132.562 78.8393 127.093 70.0393 125.784C68.5338 125.558 66.9629 125.457 65.3266 125.478C63.6902 125.5 61.9884 125.66 60.432 125.944C51.6611 127.529 45.4866 133.158 43.9884 142.148C43.7339 143.668 43.6175 145.282 43.6393 146.991C43.6611 148.671 43.8211 150.264 44.112 151.755C45.8429 160.686 52.1775 166.155 61.0066 167.5C62.5702 167.74 64.2066 167.849 65.9084 167.828C67.5448 167.806 69.1157 167.66 70.6066 167.391C79.3848 165.842 85.5811 160.184 87.0648 151.158V151.166Z\"\n fill={fill}\n />\n <path\n d=\"M73.1034 140.729C73.1107 141.319 73.0743 141.871 72.987 142.395L72.9725 142.38C72.4561 145.529 70.2961 147.508 67.2343 148.046C66.718 148.14 66.1652 148.191 65.598 148.199C65.0016 148.206 64.4343 148.162 63.8889 148.082C60.8125 147.617 58.6016 145.711 57.998 142.591C57.8961 142.068 57.838 141.515 57.8307 140.926C57.8234 140.329 57.867 139.769 57.9543 139.239C58.478 136.104 60.6307 134.14 63.6925 133.588C64.238 133.493 64.8343 133.435 65.4016 133.428C65.9689 133.42 66.5216 133.457 67.0452 133.537C70.1143 133.995 72.3252 135.908 72.9361 139.042C73.038 139.573 73.0961 140.133 73.1034 140.729Z\"\n fill={accent}\n />\n <path\n d=\"M65.6343 149.471C73.358 149.34 78.4198 153.057 78.238 163.049L78.2671 164.606C76.0343 165.944 73.4671 166.889 70.6161 167.391C69.1252 167.66 67.5543 167.806 65.918 167.828C64.2162 167.849 62.5798 167.74 61.0161 167.5C58.3543 167.093 55.9252 166.308 53.7798 165.173L53.7507 163.471C53.5761 153.486 58.3834 149.595 65.6343 149.471Z\"\n fill={accent}\n />\n <path\n d=\"M95.8344 98.8594C94.2635 98.9467 94.2635 99.754 95.8344 99.8412C98.0599 99.9649 100.394 100.023 103.398 100.03C106.802 99.994 107.645 99.8267 109.951 99.8412C113.849 99.8412 120.416 100.067 122.002 100.125C122.234 100.125 122.467 100.125 122.707 100.125C124.387 100.096 131.747 99.9721 138.082 100.03H146.773C150.191 100.03 152.744 99.9431 155.253 99.7903C156.627 99.7031 156.627 98.9976 155.253 98.9176C152.744 98.7649 150.191 98.6776 146.773 98.6776C145.442 98.6776 142.678 98.4812 138.773 98.4521C138.14 98.4521 137.5 98.4522 136.867 98.4885C131.42 98.7503 124.351 98.6776 124.351 98.6776H103.391C100.387 98.6776 98.0526 98.7503 95.8272 98.8667L95.8344 98.8594Z\"\n fill={stroke}\n />\n <path\n d=\"M95.8344 144.664C94.2635 144.751 94.2635 145.558 95.8344 145.645C98.0599 145.769 100.394 145.827 103.398 145.835C106.802 145.798 107.645 145.631 109.951 145.645C113.849 145.645 120.416 145.871 122.002 145.929C122.234 145.929 122.467 145.929 122.707 145.929C124.387 145.9 131.747 145.776 138.082 145.835H146.773C150.191 145.835 152.744 145.747 155.253 145.595C156.627 145.507 156.627 144.802 155.253 144.722C152.744 144.569 150.191 144.482 146.773 144.482C145.442 144.482 142.678 144.285 138.773 144.256C138.14 144.256 137.5 144.256 136.867 144.293C131.42 144.555 124.351 144.482 124.351 144.482H103.391C100.387 144.482 98.0526 144.555 95.8272 144.671L95.8344 144.664Z\"\n fill={stroke}\n />\n <path\n d=\"M96.0326 62.8305C95.6398 62.925 95.3562 63.0341 95.1526 63.1287C94.9489 63.2305 94.8398 63.3469 94.8398 63.4632C94.8398 63.5723 94.9489 63.6814 95.1817 63.7541C95.4144 63.8414 95.778 63.8632 96.2435 63.7905C97.5671 63.5505 98.8035 62.9032 99.938 62.0596C100.513 61.6378 101.065 61.165 101.625 60.6705C102.185 60.1832 102.76 59.6378 103.342 59.2741C104.753 58.445 105.887 58.4014 106.723 58.5178C107.153 58.5905 107.531 58.7287 107.887 58.9541C108.243 59.1796 108.556 59.5069 108.891 60.016C109.182 60.4378 109.48 60.9614 109.945 61.485C110.411 62.0087 111.058 62.4523 111.778 62.685C113.225 63.1578 114.782 62.925 116.083 62.4305C117.407 61.9069 118.418 61.1505 119.233 60.5687C120.047 59.9723 120.658 59.5214 121.007 59.2887L121.618 58.8741C121.982 58.6269 122.622 58.1832 123.582 57.856C124.098 57.6814 124.534 57.5796 125.022 57.6741C125.509 57.7687 126.011 58.0741 126.367 58.5614C126.549 58.8014 126.687 59.085 126.774 59.3905C126.811 59.4996 126.883 59.8269 126.971 60.0378C127.058 60.2778 127.167 60.5032 127.283 60.7214C127.778 61.5941 128.505 62.3069 129.356 62.8378C129.785 63.0996 130.251 63.3105 130.745 63.456C131.218 63.6014 131.814 63.6887 132.251 63.6596C132.716 63.6596 133.182 63.6596 133.647 63.6523C134.113 63.6669 134.563 63.5723 135.014 63.536C137.56 63.216 139.553 62.5396 141.029 61.8341C141.778 61.5069 142.382 61.1287 142.927 60.8523C143.436 60.525 143.865 60.256 144.214 60.0378C147.407 57.8123 149.298 55.5505 150.898 53.2814C151.763 52.045 151.218 51.5941 150.214 52.736C148.396 54.7869 146.469 56.8087 143.451 58.9032C142.28 59.6887 139.618 61.1869 135.553 61.856C134.883 61.9141 134.222 62.0523 133.567 62.096C133.211 62.1178 132.847 62.1323 132.476 62.1541L131.916 62.1832C131.749 62.1687 131.611 62.1687 131.443 62.1323C130.789 62.0232 130.142 61.7105 129.589 61.296C129.036 60.8814 128.6 60.336 128.338 59.7614C128.28 59.616 128.222 59.4705 128.185 59.325L128.113 59.056C128.083 58.9541 128.054 58.8523 128.018 58.7505C127.88 58.3505 127.676 57.9869 127.429 57.6669C126.942 57.0269 126.287 56.5978 125.633 56.3869C124.978 56.1832 124.353 56.1978 123.865 56.2996C123.422 56.3941 123.087 56.5032 122.854 56.5832C122.629 56.6705 122.505 56.7141 122.505 56.7141C122.505 56.7141 122.323 56.7869 122.003 56.9396C121.683 57.0923 121.24 57.3469 120.738 57.6814C119.72 58.3432 118.498 59.4414 117.102 60.3869C116.396 60.8669 115.654 61.2523 114.84 61.4778C114.033 61.696 113.182 61.7614 112.433 61.5941C111.683 61.4196 111.094 61.0414 110.673 60.496C110.236 59.9505 109.88 59.2887 109.436 58.765C108.76 57.936 107.843 57.4778 107.065 57.3032C106.273 57.1287 105.589 57.1505 105.014 57.2378C103.865 57.4196 103.145 57.7978 102.629 58.1032C101.829 58.605 101.283 59.1723 100.723 59.6741C100.178 60.176 99.6689 60.6414 99.1526 61.0632C98.1344 61.8923 97.1089 62.5178 96.0108 62.8305H96.0326Z\"\n fill={stroke}\n />\n </svg>\n );\n}\n\nexport default PeopleGreyscale;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Picture1(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n const green = getColorValue('illustrationGreen');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m32 221.649s139.28 16.56 210.96-.75v-172.39s-113.67 27.85-210.96-1.51c0 0 1.54 175.77 0 174.64z\"\n fill={orange}\n />\n <path\n d=\"m56.8301 205.159s106.4899 12.66 161.3099-.58v-131.8001s-86.92 21.3-161.3099-1.15c0 0 1.17 134.4001 0 133.5301z\"\n fill={blue}\n />\n <path\n d=\"m67.5798 206.299v-131.7501c-3.6-.88-7.19-1.85-10.74-2.92 0 0 1.17 134.4001 0 133.5301 0 0 3.97.47 10.74 1.14z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m218.14 204.579v-37.22l-2-1.89c-11.12-10.55-28.56-10.55-39.68 0-12.73 12.08-33.21 10.07-43.36-4.25l-18.23-25.72c-11.49-16.21-35.5499-16.21-47.0399 0l-10.52 14.85c.09 29.17.03 55.19-.48 54.81 0 0 106.4899 12.66 161.3099-.58z\"\n fill={green}\n />\n <path\n d=\"m175.86 129.689c.21-1.18.32-2.44.32-3.77s-.11-2.62-.33-3.82c-1.28-7.13-6.23-11.52-13.17-12.65-1.18-.19-2.43-.29-3.72-.29s-2.64.11-3.87.31c-6.95 1.16-11.89 5.54-13.17 12.63-.22 1.2-.33 2.47-.33 3.82s.11 2.59.32 3.77c1.27 7.08 6.22 11.47 13.18 12.63 1.23.21 2.52.31 3.87.31s2.53-.1 3.72-.29c6.95-1.13 11.91-5.53 13.18-12.65z\"\n fill={orange}\n />\n <path\n d=\"m67.5798 135.869-10.26 14.48c.09 29.17.03 55.19-.48 54.81 0 0 3.97.47 10.74 1.14v-70.42z\"\n fill={blue}\n />\n </svg>\n );\n}\n\nexport default Picture1;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction PlayMedia(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m195.96 103.181c-4.67-25.99-22.72-42-48.04-46.12-4.32-.7-8.85-1.06-13.56-1.06s-9.63.39-14.12 1.14c-25.3302 4.23-43.3502 20.21-48.0302 46.05-.79 4.37-1.2 9.01-1.2 13.93s.4 9.44 1.18 13.75c4.64 25.81 22.68 41.82 48.0502 46.05 4.49.75 9.2 1.14 14.12 1.14s9.24-.36 13.56-1.06c25.36-4.12 43.43-20.17 48.06-46.12.77-4.31 1.17-8.9 1.17-13.75s-.41-9.57-1.19-13.93z\"\n fill={blue}\n />\n <path\n d=\"m111.311 153.282-.18-54.5203 51.97 27.0903z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path d=\"m116.561 144.281-.18-54.5095 51.96 27.0795z\" fill={orange} />\n <path d=\"m223.881 209.051v-9.86h-171.8801v9.86z\" fill={blue} />\n <path\n d=\"m105.28 199.341c-1.24-6.93-6.0598-11.2-12.7998-12.29-1.15-.19-2.36-.28-3.61-.28s-2.57.1-3.76.3c-6.75 1.13-11.56 5.39-12.8 12.27-.21 1.16-.32 2.4-.32 3.71s.11 2.51.31 3.66c1.24 6.88 6.04 11.15 12.81 12.27 1.2.2 2.45.3 3.76.3s2.46-.1 3.61-.28c6.76-1.1 11.5798-5.38 12.8098-12.29.21-1.15.31-2.37.31-3.66s-.11-2.55-.32-3.71z\"\n fill={orange}\n />\n <path\n d=\"m72.3005 199.341c-.21 1.16-.32 2.4-.32 3.71s.11 2.52.31 3.66c.15.82.35 1.59.59 2.33h31.8195c.24-.74.44-1.52.59-2.33.21-1.15.31-2.37.31-3.66s-.11-2.55-.32-3.71c0-.05-.02-.1-.03-.15h-32.9195c0 .05-.02.1-.03.15z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default PlayMedia;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction PlayMediaGreyscale(props) {\n const fill = getColorValue('illustrationGreyscaleFill');\n const accent = getColorValue('illustrationGreyscaleAccent');\n const mid = getColorValue('illustrationGreyscaleMidDark');\n\n return (\n <svg fill=\"none\" height=\"196\" viewBox=\"0 0 196 196\" width=\"196\" {...props}>\n <path\n d=\"M139.665 73.5398C136.336 55.016 123.471 43.6053 105.425 40.6688C102.346 40.1699 99.1176 39.9133 95.7607 39.9133C92.4037 39.9133 88.8971 40.1913 85.6969 40.7258C67.6436 43.7407 54.8002 55.1301 51.4647 73.5469C50.9016 76.6615 50.6094 79.9686 50.6094 83.4752C50.6094 86.9818 50.8945 90.2034 51.4504 93.2752C54.7574 111.671 67.6151 123.081 85.6969 126.096C88.8971 126.631 92.254 126.909 95.7607 126.909C99.2673 126.909 102.346 126.652 105.425 126.153C123.5 123.217 136.379 111.778 139.679 93.2823C140.228 90.2105 140.513 86.9391 140.513 83.4823C140.513 80.0256 140.221 76.6616 139.665 73.5541V73.5398Z\"\n fill={fill}\n />\n <path\n d=\"M79.3314 109.248L79.2031 70.3899L116.244 89.6977L79.3314 109.248Z\"\n fill={mid}\n />\n <path\n d=\"M83.0736 102.833L82.9453 63.9822L119.979 83.2828L83.0736 102.833Z\"\n fill={accent}\n />\n <path d=\"M159.566 148.996V141.969H37.0628V148.996H159.566Z\" fill={fill} />\n <path\n d=\"M75.0353 142.076C74.1515 137.136 70.7162 134.093 65.9124 133.316C65.0927 133.181 64.2303 133.117 63.3394 133.117C62.4485 133.117 61.5077 133.188 60.6596 133.331C55.8487 134.136 52.4204 137.172 51.5367 142.076C51.387 142.902 51.3086 143.786 51.3086 144.72C51.3086 145.654 51.387 146.509 51.5295 147.328C52.4133 152.232 55.8344 155.275 60.6596 156.074C61.5148 156.216 62.4058 156.287 63.3394 156.287C64.2731 156.287 65.0927 156.216 65.9124 156.088C70.7304 155.304 74.1658 152.253 75.0424 147.328C75.1921 146.509 75.2634 145.639 75.2634 144.72C75.2634 143.8 75.185 142.902 75.0353 142.076Z\"\n fill={accent}\n />\n <path\n d=\"M51.5289 142.076C51.3792 142.902 51.3008 143.786 51.3008 144.72C51.3008 145.654 51.3792 146.516 51.5217 147.328C51.6286 147.913 51.7712 148.462 51.9422 148.989H74.6212C74.7923 148.462 74.9348 147.906 75.0417 147.328C75.1914 146.509 75.2627 145.639 75.2627 144.72C75.2627 143.8 75.1843 142.902 75.0346 142.076C75.0346 142.04 75.0203 142.004 75.0132 141.969H51.5502C51.5502 142.004 51.536 142.04 51.5289 142.076Z\"\n fill={mid}\n />\n </svg>\n );\n}\n\nexport default PlayMediaGreyscale;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction RainstormIncident(props) {\n const blue = getColorValue('illustrationAccent');\n const purple = getColorValue('illustrationPurple');\n const gray = getColorValue('illustrationRainstormGray');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={blue}>\n <path d=\"m76.6696 200.43c12.04-.09 20.99-11.27 18.33-23.01-2.75-12.17-8.14-27.19-18.67-40-9.28 12.71-14.8 27.21-18.05 39.11-3.31 12.1 5.85 24 18.39 23.91z\" />\n <path d=\"m176.75 238.59c12.04-.09 20.99-11.27 18.33-23.01-2.75-12.17-8.14-27.19-18.67-40-9.28 12.71-14.8 27.21-18.05 39.11-3.31 12.1 5.85 24 18.39 23.91z\" />\n <path d=\"m186.75 160.92c12.04-.09 20.99-11.27 18.33-23.01s-8.14-27.19-18.67-39.9998c-9.28 12.7098-14.8 27.2098-18.05 39.1098-3.31 12.1 5.85 24 18.39 23.91z\" />\n </g>\n <path\n d=\"m200.56 76.83c-.74 0-1.48.01-2.21.04-11.24-28.81-34.84-40.87-70.03-40.87-50.4398 0-78.1198 25.24-78.1198 90.01h202.5798c-5.71-32.21-25-49.18-52.23-49.18z\"\n fill={purple}\n />\n <path\n d=\"m55.4 126.09h50.92c-4.56-25.73-19.97-39.2697-41.71-39.2697-20.24 0-33.98 10.29-42.11 39.2697z\"\n fill={purple}\n />\n <path\n d=\"m171.84 126h29.87c-3.19-9.3-8.01-19.22-15.3-28.0898-6.56 8.9898-11.23 18.8698-14.56 28.0898z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m100.586 218.768c-3.03 2.65-2.32 3.51.86 1.04 4.5-3.5 9.18-7.24 15.12-12.12 6.7-5.59 8.23-7.15 12.81-10.88 3.85-3.18 9.08-7.38 13.74-11.11 5.23-4.18 9.81-7.83 11.58-9.26l.36-.29c-.95-.44-1.89-.88-2.84-1.33-1.99-.91-7.35-3.36-14.1-6.44-3.31-1.53-6.95-3.21-10.69-4.94-3.41-1.59-6.91-3.23-10.27-4.8l-.07-.03 15.56-12.5c6.83-5.49 11.86-9.67 16.74-13.86 2.68-2.3 2.07-3.06-.75-.94-5.14 3.86-10.32 7.86-17.16 13.34-1.33 1.06-3.42 2.65-6.15 4.76-1.36 1.06-2.89 2.24-4.57 3.54-1.85 1.46-3.87 3.05-6.06 4.77-.58.46-1.16.93-1.74 1.39 1.14.53 2.28 1.05 3.42 1.57.57.25 1.15.51 1.72.76 12.81 5.56 29.19 13.3 29.19 13.3l4.04 1.88-24.17 19.91c-6.63 5.47-9.82 8.1-11.78 9.72-5.93 4.9-10.5 8.78-14.79 12.53z\"\n fill={gray}\n />\n </svg>\n );\n}\n\nexport default RainstormIncident;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction Search(props) {\n const orange = getColorValue('illustrationOrange');\n const blue = getColorValue('illustrationAccent');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m186.119 90.564c-2.07-3.97-4.61-7.92-7.64-11.84-3.07-3.97-6.31-7.47-9.67-10.51-20.01-18.08-44.6-19.74-67.63-7.25-3.9299 2.13-7.8099 4.67-11.6199 7.61-3.97 3.07-7.54 6.33-10.7 9.74-17.83 19.24-22.4 43.41-10.04 67.21 2.09 4.02 4.66 8.03 7.73 12.01 3.03 3.92 6.22 7.37 9.54 10.37 19.8799 17.95 44.4499 19.62 67.5899 7.18 4.1-2.2 8.15-4.83 12.12-7.9 3.81-2.94 7.24-6.07 10.29-9.33 17.91-19.17 22.48-43.43 10.01-67.29z\"\n fill={orange}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m81.4986 172.994c12.51 11.29 27.0504 17.01 42.2504 17.01v-.01c10.89 0 22.13-2.94 33.18-8.88 3.235-1.742 6.439-3.73 9.562-5.932.367 1.127 1.03 2.333 2.028 3.622l4.24 5.48 11.75-9.09-4.24-5.48c-1.049-1.461-2.121-2.487-3.206-3.132 1.409-1.324 2.76-2.679 4.046-4.058 20.52-21.96 24.56-49.35 11.08-75.1405-2.28-4.36-5.07-8.69-8.3-12.86-3.28-4.23-6.81-8.06-10.5-11.4-21.59-19.51-49.11-22.5-75.4904-8.19-4.27 2.32-8.49 5.09-12.54 8.22-4.2 3.25-8.08 6.79-11.53 10.51-20.39 22.01-24.43 49.3605-11.09 75.0305 2.29 4.42 5.12 8.81 8.39 13.04 3.23 4.17 6.72 7.96 10.37 11.26zm22.9404-106.0105c8.96-4.87 17.92-7.28 26.57-7.28h.02c11.88 0 23.2 4.56 33.2 13.59 3.09 2.79 6.06 6.03 8.84 9.62 2.73 3.53 5.09 7.18 6.99 10.82 10.77 20.6205 7.6 41.7305-8.95 59.4405-2.82 3.01-6 5.9-9.48 8.59-3.61 2.8-7.37 5.25-11.17 7.29-21.38 11.48-42.6 9.27-59.7604-6.23-3.06-2.76-5.99-5.95-8.72-9.48-2.78-3.58-5.16-7.28-7.08-10.97-10.67-20.54-7.48-41.63 8.98-59.4005 2.93-3.17 6.25-6.19 9.86-8.98 3.48-2.68 7.0804-5.04 10.7004-7.01z\"\n fill={blue}\n fillRule=\"evenodd\"\n />\n <path\n d=\"m187.466 172.926-17.642 13.64 33.152 42.879 17.642-13.64z\"\n fill={blue}\n />\n <path\n d=\"m184.63 175.119-11.97 9.254 11.243 14.541 11.969-9.255z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default Search;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction SearchNoResult(props) {\n const bg = getColorValue('illustrationBg');\n const gray = getColorValue('illustrationGray');\n const accent = getColorValue('illustrationAccentGray');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m186.109 90.562c-2.07-3.97-4.61-7.92-7.64-11.84-3.07-3.97-6.31-7.47-9.67-10.51-20.01-18.08-44.6-19.74-67.63-7.25-3.9304 2.13-7.8104 4.67-11.6204 7.61-3.97 3.07-7.54 6.33-10.7 9.74-17.83 19.24-22.4 43.41-10.04 67.21 2.09 4.02 4.66 8.03 7.73 12.01 3.03 3.92 6.22 7.37 9.54 10.37 19.8804 17.95 44.4504 19.62 67.5904 7.18 4.1-2.2 8.15-4.83 12.12-7.9 3.81-2.94 7.24-6.07 10.29-9.33 17.91-19.17 22.48-43.43 10.01-67.29z\"\n fill={bg}\n />\n <g fill={gray}>\n <path d=\"m123.749 190.003c-15.2 0-29.7404-5.72-42.2504-17.01-3.65-3.3-7.14-7.09-10.37-11.26-3.27-4.23-6.1-8.62-8.39-13.04-13.34-25.67-9.3-53.0204 11.09-75.0304 3.45-3.72 7.33-7.26 11.53-10.51 4.05-3.13 8.27-5.9 12.54-8.22 26.3804-14.31 53.9004-11.32 75.4904 8.19 3.69 3.34 7.22 7.17 10.5 11.4 3.23 4.17 6.02 8.5 8.3 12.86 13.48 25.7904 9.44 53.1804-11.08 75.1404-3.31 3.55-7.05 6.94-11.11 10.07-4.21 3.25-8.61 6.12-13.07 8.52-11.05 5.94-22.29 8.88-33.18 8.88zm7.25-130.3004c-8.65 0-17.61 2.41-26.57 7.28-3.62 1.97-7.2204 4.33-10.7004 7.01-3.61 2.79-6.93 5.81-9.86 8.98-16.46 17.7704-19.65 38.8604-8.98 59.4004 1.92 3.69 4.3 7.39 7.08 10.97 2.73 3.53 5.66 6.72 8.72 9.48 17.1604 15.5 38.3804 17.71 59.7604 6.23 3.8-2.04 7.56-4.49 11.17-7.29 3.48-2.69 6.66-5.58 9.48-8.59 16.55-17.71 19.72-38.82 8.95-59.4404-1.9-3.64-4.26-7.29-6.99-10.82-2.78-3.59-5.75-6.83-8.84-9.62-10-9.03-21.32-13.59-33.2-13.59z\" />\n <path d=\"m180.269 169.723c-3.54-4.93-7.34-4.9-11.05-2.03-3.48 2.69-4.41 6.33-.7 11.12l4.24 5.48 11.75-9.09z\" />\n <path d=\"m187.463 172.921-17.641 13.641 33.152 42.878 17.642-13.64z\" />\n </g>\n <path\n d=\"m184.628 175.114-11.969 9.254 11.242 14.541 11.97-9.255z\"\n fill={accent}\n />\n <path\n d=\"m133.5 134.722h-10.003v-.635c-.341-7.115 3.697-14.819 9.44-17.973l.107-.056c.155-.081.306-.175.451-.272 3.134-2.02 4.916-5.499 4.807-9.33-.109-3.797-2.068-7.1351-5.24-8.9282-2.004-1.134-4.238-1.7329-6.464-1.7329-6.773 0-12.284 5.5501-12.284 12.3711h-10.005c0-12.3745 9.998-22.4433 22.288-22.4433 3.938 0 7.867 1.0454 11.363 3.0225 6.263 3.5419 10.128 10.0541 10.339 17.4208.214 7.4-3.291 14.16-9.372 18.081-.408.268-.826.517-1.239.734-2.384 1.34-4.38 5.465-4.196 8.688l.008 1.054z\"\n fill={gray}\n />\n <path\n clipRule=\"evenodd\"\n d=\"m127.531 140.498c.504-.084 1.054-.135 1.618-.135.477 0 1.019.028 1.588.125 3.262.535 5.914 2.822 6.558 6.384l.005.027.004.027c.083.496.135 1.037.135 1.607 0 .567-.051 1.115-.139 1.62l-.001.01c-.631 3.599-3.324 5.878-6.572 6.407-.561.093-1.085.123-1.578.123-.573 0-1.108-.052-1.597-.131h-.002c-3.265-.528-5.929-2.812-6.577-6.373l-.005-.029-.005-.029c-.081-.489-.134-1.02-.134-1.598 0-.57.051-1.111.134-1.607l.005-.029.005-.029c.651-3.578 3.326-5.828 6.554-6.37z\"\n fill={gray}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n}\n\nexport default SearchNoResult;\n", "import * as React from 'react';\nimport { getColorValue } from '../utilities/color';\n\nfunction Speed(props) {\n const green = getColorValue('illustrationGreen');\n const textColor = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <g fill={green}>\n <path d=\"m204.38 37.07 54.86 99.6-54.33 101.73h-62.85l61.79-102.8-63.92-99.6s63.65 1.86 64.45 1.07z\" />\n <path d=\"m139.961 82.6698 29.84 54.2502-29.55 55.41h-63.7004l33.6004-55.99-34.7604-54.2502s64.1404 1.02 64.5704.58z\" />\n <path d=\"m181.569 58.2101 43.22 78.5799-42.8 80.26h-78.69l48.67-81.1-50.35-78.5799s79.32 1.47 79.95.84z\" />\n </g>\n <path\n d=\"m140.25 192.33 29.55-55.41-29.84-54.2501c-.17.17-10.11.12-22.14 0l34.14 53.2901-33.84 56.38h22.12z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m181.99 217.05 42.8-80.26-43.22-78.5798c-.25.25-12.53.17-27.4-.01l49.68 77.4198-48.95 81.44h27.09z\"\n fill={getColorValue('tealDark')}\n />\n <path\n d=\"m41.7695 69.2202c-2 .12-2 1.23 0 1.35 2.83.17 5.81.25 9.64.26 4.34-.05 5.42-.28 8.36-.26 4.97 0 13.35.31 15.37.39.3.01.6.01.9 0 2.14-.04 11.52-.21 19.6-.13h11.0805c4.36 0 7.61-.12 10.81-.33 1.76-.12 1.76-1.09 0-1.2-3.2-.21-6.45-.33-10.81-.33-1.69 0-5.22-.27-10.2005-.31-.81 0-1.62.01-2.43.05-6.94.36-15.96.26-15.96.26h-26.73c-3.83 0-6.81.1-9.64.26z\"\n fill={textColor}\n />\n <path\n d=\"m16.35 163.611c-1.8.12-1.8 1.23 0 1.35 2.56.17 5.24.25 8.69.26 3.91-.05 4.88-.28 7.53-.26 4.48 0 12.03.31 13.85.39h.81c1.93-.04 10.39-.21 17.67-.13h9.99c3.93 0 6.86-.12 9.74-.33 1.58-.12 1.58-1.09 0-1.2-2.88-.21-5.82-.33-9.74-.33-1.53 0-4.71-.27-9.19-.31-.73 0-1.46 0-2.19.05-6.26.36-14.38.26-14.38.26h-24.09c-3.45 0-6.14.1-8.69.26z\"\n fill={textColor}\n />\n <path\n d=\"m33.7901 146.951c-2.03.12-2.03 1.23 0 1.35 2.88.17 5.9.25 9.78.26 4.4-.05 5.5-.28 8.48-.26 5.04 0 13.55.31 15.6.39h.91c2.17-.04 11.69-.21 19.89-.13h11.25c4.4199 0 7.7299-.12 10.9699-.33 1.78-.12 1.78-1.09 0-1.2-3.24-.21-6.55-.33-10.9699-.33-1.72 0-5.3-.27-10.35-.31-.82 0-1.65 0-2.46.05-7.05.36-16.2.26-16.2.26h-27.12c-3.89 0-6.91.1-9.78.26z\"\n fill={textColor}\n />\n </svg>\n );\n}\n\nexport default Speed;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction UserManagement(props) {\n const green = getColorValue('illustrationGreen');\n const greenDark = getColorValue('illustrationGreenShade');\n const blue = getColorValue('illustrationAccent');\n const blueDark = getColorValue('illustrationBlueDark');\n const face = getColorValue('illustrationFace');\n const gray = getColorValue('illustrationLine');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path d=\"m178.91 26.5h-164.91v78.54h164.91z\" fill={green} />\n <path\n d=\"m167.42 70.9794c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.66.54-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59.03 1.95.21 3.78.55 5.51 2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={greenDark}\n />\n <path\n d=\"m157.21 84.7197c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m151.14 60.8498c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12s-1.35.07-1.97.19c-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95 0 .68.07 1.32.19 1.92.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13.66 0 1.29-.07 1.9-.17 3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path\n d=\"m61.0898 57.2591c.46-.64.96-1.23 1.44-1.84 0 0 .79-.63 1.67-1.45.89-.81 1.93-1.76 2.34-2.52.78-.65 1.59-1.25 2.41-1.84s1.63-1.2 2.46-1.77c0 0 1.97-1.57 2.39-2.32.26-.46.37-.86.29-1.11-.16-.5-1.11-.35-3.06 1.23-.04 0-.14.03-.18 0-.99.88-2.01 1.67-3.11 2.38-1.1.7-2.18 1.45-3.17 2.36.12.09.13.23.02.23l-.1-.16c-1.12 1.43-2.34 1.76-3.09 3.34l-.03-.31c-4 3.89-9.3 9.31-12.78 14.25h.04l.01.02c.47-.34 2.38-2.21 2.38-2.21-.59 2.09-2.71 3.29-3.98 5l-.18-.16c.55-.74.99-1.43 1.11-1.76-1.16 1.19-2.74 3.12-4.18 5.13-.73 1-1.41 2.03-2.01 2.98-.29.48-.56.94-.82 1.36-.06.11-.12.21-.18.32l-.04.08v.02l-.02.04c-.02.07-.03.13-.05.19.14.11-.06-.3.67-.36-.27.41-.31.52-.42.74-.1.2-.22.42-.33.59-.06-.61.05-.54.04-.67-.03-.01-.09.02-.15.07-.05-.09-.11-.19-.18-.32-.03-.05-.06-.1-.09-.16-.05-.07 0-.03-.21-.3-.64-.83-1.41-1.78-2.26-2.79-1.7-2.03-3.72-4.3-5.57-6.27-3.71-3.94-6.77-6.69-5.29-4.03l-.26.02c1.07 1.26 1.94 2.31 2.83 3.83.19.16.18.2.32.07.07.03.18.07.22 0 .33-.34.56.18.73.35-1.29.79 3.48 4.03 3.93 4.64-.43.58.96 1.11 1.03 1.65-.04 0-.29-.05-.33-.05-.05.58 5.2 4.79 3.3 3.93.48.76 1.2 1.85 2.05 3.02.46-.65.94-1.33 1.42-2.02.24-.33.47-.67.71-1.01.16-.22.33-.44.49-.67.65-.91 1.33-1.85 2.03-2.83 1.4-1.95 2.85-4.03 4.38-6.03 3.03-4.04 6.33-7.84 9.38-10.2h-.11c.07-.04.18-.22.29-.18.37-.78 1.75-2.49 1.75-2.49zm-13.32 14.01s.02.03.03.03c-.06-.04-.68.85-.72.88l-.19-.15c.29-1.16 3.11-2.19 1.1-.71 0 .1-.16-.02-.23-.05zm-5.61 7.86c-.11.14-.26.32-.41.53.79-2.6 3.46-4.8 4.83-7.22.28 1.38-1.47 2.85-2.19 3.79-.49 1.11-1.51 2.11-2.22 2.9zm-10.62-8.38-.1.08-.06-.06s.06-.04.08-.04c.03 0 .06 0 .07.02zm28.23-12.94c0 .27-.56.68-.5.09.13-.04.24-.41.5-.09zm-19.39 22.89c.01.63-.8-.24-.54-.78.19.22.36.49.54.78zm24.04-27.91c-.09-.47.16-.08.4.06-.08 0-.27.12-.36-.05h-.04zm3.11-2.98c-.08-.2.03-.45.12-.52.33-.06.1.58-.12.52zm5.66-4.28c-.12-.19-.03-.36.14-.2.08.15-.01.38-.19.18 0 0 .03.02.04.02zm-34.9 31.37c.68-.26.81.75 1.24.97-.58.36-.73-.58-1.04-.77-.08-.09-.14-.16-.2-.21zm15.79-14.87c-.46-.39.52-.79.64-1.11l.17.16c-.27.38-.34.7-.8.93h-.01zm-12.18 15.12c-.1-.28.26-.41.36-.56.28.19-.11.87-.36.56zm4.67-6.36c.32.19-.06.39-.09.5-.01-.11-.11-.36-.05-.43.04-.05.09-.04.15-.07zm7.46-8.35c-.23.28-.5.57-.75.85l-.17-.17c.25-.29.5-.57.75-.85l.17.16zm-2.68 2.56-.18-.15c.17-.56.67-.21.19.14zm5.69-6.26s-.12.08-.15.12c-.5.58-.4-.8.15-.12zm2.63-3.02c.03-.08.05-.2.11-.25.4-.36.38.47-.11.25z\"\n fill={gray}\n />\n <path d=\"m261.36 170h-164.9098v78.54h164.9098z\" fill={green} />\n <path\n d=\"m249.87 214.479c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35-1.97.03-3.86.21-5.66.54-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59.03 1.95.21 3.78.55 5.51 2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={greenDark}\n />\n <path\n d=\"m239.67 228.22c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m233.6 204.34c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12-.69 0-1.35.07-1.97.19-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95s.07 1.32.19 1.92c.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13s1.29-.07 1.9-.17c3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path d=\"m220.14 98.7393h-164.9095v78.5397h164.9095z\" fill={blue} />\n <path\n d=\"m206.74 143.22c.29-1.73.42-3.57.39-5.52s-.22-3.83-.56-5.58c-2.02-10.4-9.35-16.72-19.52-18.23-1.74-.26-3.55-.38-5.44-.35s-3.86.21-5.66.54c-10.14 1.84-17.28 8.34-19.01 18.73-.29 1.76-.43 3.62-.4 5.59s.21 3.78.55 5.51c2 10.33 9.33 16.65 19.53 18.2 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 10.15-1.79 17.31-8.33 19.02-18.76z\"\n fill={blueDark}\n />\n <path\n d=\"m196.53 156.96c.21-11.55-5.64-15.85-14.57-15.69-8.38.15-13.94 4.64-13.74 16.19l.03 1.96c2.48 1.31 5.29 2.22 8.36 2.69 1.8.28 3.7.41 5.67.38 1.89-.03 3.7-.2 5.43-.5 3.29-.58 6.26-1.67 8.84-3.22l-.03-1.8z\"\n fill={face}\n />\n <path\n d=\"m190.46 133.079c.1-.6.15-1.25.14-1.93s-.08-1.34-.19-1.95c-.7-3.63-3.26-5.83-6.81-6.36-.61-.09-1.24-.13-1.9-.12s-1.35.07-1.97.19c-3.54.64-6.03 2.91-6.63 6.54-.1.61-.15 1.26-.14 1.95 0 .68.07 1.32.19 1.92.7 3.6 3.25 5.81 6.81 6.35.63.1 1.29.14 1.98.13s1.29-.07 1.9-.17c3.54-.63 6.04-2.91 6.64-6.55z\"\n fill={face}\n />\n <path d=\"m178.91 98.7295h-123.6795v6.3095h123.6795z\" fill={blue} />\n <path d=\"m220.13 169.989h-123.67v7.28h123.67z\" fill={blue} />\n <path\n d=\"m220.13 169.989h-123.67v7.28h123.67z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <path\n d=\"m178.91 98.7295h-123.6795v6.3095h123.6795z\"\n fill={illustrationColors.staticDarkBlue}\n />\n <g fill={gray}>\n <path d=\"m110.17 208.495c-1.33-1.25-2.14-.49-.99.92 1.64 2 3.42 4.05 5.75 6.64 2.68 2.9 3.5 3.49 5.22 5.53.38.44.78.92 1.2 1.45.64.81 1.34 1.67 2.08 2.61.46-.71.93-1.44 1.4-2.17.3-.43.6-.86.9-1.29.58-.82 1.16-1.61 1.71-2.32 1.08-1.44 2.02-2.59 2.44-3.13.17-.21.34-.42.5-.64 1.09-1.59 6.19-8.44 11.36-13.62.91-.92 1.73-1.75 2.47-2.5.76-.72 1.45-1.36 2.05-1.93 1.19-1.15 2.13-1.92 2.75-2.47 1.47-1.32 2.81-2.38 4.03-3.4 1.19-1.06 2.38-1.89 3.49-2.82 1.23-1 .72-1.82-.68-1-1.25.77-2.56 1.49-3.85 2.48-1.31.95-2.72 1.99-4.22 3.33-.58.52-1.57 1.22-2.75 2.26-.6.52-1.27 1.1-2 1.74-.72.65-1.48 1.4-2.3 2.21-.53.53-1.05 1.07-1.51 1.64-2.05 2.45-4.43 5.24-6.22 7.48s-3.08 3.85-3.08 3.85c-1.29 1.69-2.55 3.39-3.77 5.13-.61.87-1.22 1.74-1.8 2.63l-1.1 1.68-2.33-2.77c-2.57-2.96-3.84-4.34-4.61-5.2-2.35-2.59-4.26-4.53-6.15-6.31z\" />\n <path d=\"m27.7197 64.9948c-1.33-1.25-2.14-.49-.99.92 1.64 2 3.42 4.05 5.75 6.64 2.68 2.9 3.5 3.49 5.22 5.53.38.44.78.92 1.2 1.45.64.81 1.34 1.67 2.08 2.61.46-.71.93-1.44 1.4-2.17.3-.43.6-.86.9-1.29.58-.82 1.16-1.61 1.71-2.32 1.08-1.44 2.02-2.59 2.44-3.13.17-.21.34-.42.5-.64 1.09-1.59 6.19-8.44 11.36-13.62.91-.92 1.73-1.75 2.47-2.5.76-.72 1.45-1.36 2.05-1.93 1.19-1.15 2.13-1.92 2.75-2.47 1.47-1.32 2.81-2.38 4.03-3.4 1.19-1.06 2.38-1.89 3.49-2.82 1.23-1 .72-1.82-.68-1-1.25.77-2.56 1.49-3.85 2.48-1.31.95-2.72 1.99-4.22 3.33-.58.52-1.57 1.22-2.75 2.26-.6.52-1.27 1.1-2 1.74-.72.65-1.48 1.4-2.3 2.21-.53.53-1.05 1.07-1.51 1.64-2.05 2.45-4.43 5.24-6.22 7.48s-3.08 3.85-3.08 3.85c-1.29 1.69-2.55 3.39-3.77 5.13-.61.87-1.22 1.74-1.8 2.63l-1.1 1.68-2.33-2.77c-2.57-2.96-3.84-4.34-4.61-5.2-2.35-2.59-4.26-4.53-6.15-6.31z\" />\n <path d=\"m78.8703 156.167c-.6 1.09.34 1.69 1.11.76 1.11-1.32 2.24-2.72 3.65-4.56 1.57-2.11 1.81-2.76 2.95-4.13 1.91-2.34 5.54-5.92 6.45-6.73.13-.12.26-.25.38-.39.84-.98 4.7-5.18 8.4797-8.27 1.28-1.16 2.41-1.98 3.26-2.69.85-.7 1.51-1.18 1.96-1.5 1.07-.77 1.96-1.5 2.81-2.13.86-.62 1.63-1.22 2.38-1.84.83-.68.33-1.51-.64-1.02-.88.44-1.76.92-2.7 1.46-.94.55-1.88 1.24-2.98 2.02-.86.59-2.72 1.74-5.12 3.67-.38.32-.75.67-1.0897 1.02-3.03 3.03-6.94 6.95-6.94 6.95s-1.43 1.49-3.12 3.33c-1.68 1.86-3.59 4.08-4.69 5.44-1.66 2.03-2.41 3.05-2.9 3.66-1.42 1.88-2.43 3.41-3.28 4.94z\" />\n <path d=\"m77.3805 124.727c-1.13-.53-1.67.45-.69 1.16 1.4 1.02 2.88 2.06 4.83 3.34 2.23 1.42 2.9 1.62 4.35 2.67 2.48 1.75 6.35 5.1 7.23 5.97.13.12.27.24.42.35 1.05.76 5.54 4.32 8.9405 7.87 1.25 1.2 2.17 2.26 2.94 3.06.76.8 1.3 1.41 1.65 1.85.85 1.01 1.64 1.86 2.33 2.66.68.82 1.33 1.55 2 2.26.73.78 1.53.23.98-.7-.51-.85-1.04-1.7-1.65-2.61-.63-.89-1.39-1.8-2.25-2.84-.33-.41-.81-1.06-1.49-1.88-.68-.81-1.48-1.88-2.58-2.97-.35-.36-.72-.7-1.11-1.02-.41-.35-.83-.72-1.26-1.08s-.87-.73-1.3-1.09c-.8605-.72-1.6705-1.48-2.4105-2.08-1.46-1.26-2.52-2.17-2.52-2.17s-.4-.33-1.05-.85-1.52-1.27-2.53-2.02c-1.98-1.55-4.36-3.3-5.79-4.3-2.15-1.52-3.23-2.2-3.87-2.64-1.98-1.28-3.59-2.19-5.18-2.94z\" />\n </g>\n </svg>\n );\n}\n\nexport default UserManagement;\n", "import * as React from 'react';\nimport { illustrationColors } from '../colors';\nimport { getColorValue } from '../utilities/color';\n\nfunction VideoCall3(props) {\n const blue = getColorValue('illustrationAccent');\n const orange = getColorValue('illustrationOrange');\n const purple = getColorValue('illustrationPurple');\n\n return (\n <svg fill=\"none\" height=\"275\" viewBox=\"0 0 275 275\" width=\"275\" {...props}>\n <path\n d=\"m32 221.65s139.28 16.56 210.96-.75v-172.39s-113.67 27.85-210.96-1.51c0 0 1.54 175.77 0 174.64z\"\n fill={blue}\n />\n <path\n d=\"m170.141 133.781c.04 2.64-.14 5.14-.53 7.5-2.33 14.18-12.06 23.05-25.84 25.49-2.35.41-4.81.64-7.38.68-2.68.04-5.25-.14-7.7-.51-13.85-2.12-23.8-10.7-26.52-24.73-.46-2.34-.71-4.84-.75-7.48-.04-2.68.15-5.22.55-7.6 2.35-14.12 12.05-22.96 25.82-25.45 2.44-.45 5-.69 7.68-.73 2.57-.03 5.04.13 7.4.48 13.83 2.06 23.78 10.65 26.52 24.77.46 2.37.71 4.9.75 7.58z\"\n fill={orange}\n />\n <path\n d=\"m136.52 173.131c33.02-.57 55.19 14.51 56.65 54.51-37.01 2.34-78.36.72-109.9102-1.43 2.42-37.6 23.1502-52.56 53.2602-53.08z\"\n fill={orange}\n />\n <path\n d=\"m189.33 71.6309h31.3v8.4455l9.2-4.9758.02.01v19.19l-.02.01-9.2-4.981v8.5513h-31.3z\"\n fill={purple}\n />\n <path\n d=\"m220.62 80.0801-8.54 4.62 8.54 4.63z\"\n fill={illustrationColors.staticDarkBlue}\n />\n </svg>\n );\n}\n\nexport default VideoCall3;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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",
6
+ "names": ["import_react", "React", "_debounce", "alignments", "import_react", "React", "import_react", "FontFamily", "styled", "React", "sides", "spaces", "import_styled", "import_react", "styled", "React", "import_react", "React", "import_react", "import_styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "styled", "React", "traceUFOPress", "availableSizes", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "styled", "React", "sizesStyles", "styled", "IconSection", "React", "import_styled", "import_react", "alignments", "styled", "React", "availableAlignments", "alignments", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "React", "WarningIcon", "styled", "React", "import_styled", "import_react", "alignments", "styled", "React", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "sizeStyles", "styled", "React", "import_styled", "import_react", "import_react", "React", "import_styled", "import_react", "React", "CheckMarkIcon", "React", "CloseIcon", "styled", "Image", "React", "import_styled", "import_react", "React", "SearchIcon", "styled", "React", "styled", "Image", "React", "_a", "ResizeObserver", "Downshift", "selectedItem", "import_styled", "import_react", "import_react", "styled", "React", "import_styled", "import_react", "styled", "ChildrenSection", "React", "FocusTrap", "_a", "import_react", "import_styled", "variants", "statusStyles", "styled", "React", "availableVariants", "import_styled", "import_react", "sizesStyles", "styled", "React", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "Group", "ErrorMessage", "isGrouped", "getSelectedOptionObject", "getIcon", "getTitle", "getHeaderAccessibilityProps", "IconSection", "React", "getSelectedOption", "renderOption", "ResizeObserver", "_a", "Downshift", "selectedItem", "import_styled", "import_downshift", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "ResizeObserver", "React", "Downshift", "isOpen", "import_styled", "import_react", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "sizes", "styled", "React", "styled", "ErrorMessage", "React", "import_styled", "import_react", "import_react", "React", "import_react", "import_react", "React", "InformationCircleIcon", "import_react", "React", "React", "styled", "import_react", "import_styled", "styled", "ChildrenSection", "duration", "React", "import_styled", "import_react", "import_react_laag", "import_resize_observer_polyfill", "styled", "React", "ResizeObserver", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "React", "styled", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "variantStyles", "styled", "React", "import_styled", "import_react", "React", "styled", "_a", "import_styled", "import_react", "styled", "React", "import_styled", "import_react", "import_react_dom", "import_transition_hook", "placements", "Wrapper", "styled", "ContentWrapper", "floatingUiOffset", "React", "ReactDOM", "import_styled", "import_react", "styled", "React", "import_react", "import_styled", "styled", "React", "import_styled", "import_react", "styled", "ButtonWrapper", "React", "import_react", "import_styled", "speed", "sizes", "getTotalSize", "getDotSize", "styled", "Dot", "React", "availableSizes", "import_react", "import_styled", "sizes", "getTotalSize", "styled", "speed", "React", "availableSizes", "import_react", "import_styled", "colorStyles", "styled", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React"]
7
7
  }