@carbonplan/components 12.0.0-develop.2 → 12.0.0-develop.3
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.
- package/dst/index.esm.js +1 -1
- package/dst/index.esm.js.map +1 -1
- package/dst/index.js +1 -1
- package/dst/index.js.map +1 -1
- package/dst/index.modern.js +1 -1
- package/dst/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dst/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/avatar.js","../src/row.js","../src/column.js","../src/group.js","../src/avatar-group.js","../src/badge.js","../src/blockquote.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/caption.js","../src/colorbar.js","../src/colors.js","../src/meta.js","../src/logo.js","../src/menu.js","../src/header.js","../src/monogram.js","../src/footer.js","../src/dimmer.js","../src/gitsha.js","../src/metadata.js","../src/fade-in.js","../src/utils/get-scrollbar-width.js","../src/scrollbar.js","../src/guide.js","../src/settings.js","../src/layout.js","../src/tag.js","../src/filter.js","../src/sidenote.js","../src/input.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/utils/format-date.js","../src/custom-404.js","../src/expander.js","../src/figure.js","../src/figure-caption.js","../src/heading.js","../src/link-group.js","../src/select.js","../src/utils/get-props.js","../src/table-caption.js","../src/tracking.js","../src/tray.js","../src/utils/use-scrollbar-class.js"],"sourcesContent":["import React from 'react'\nimport { Box, Image } from 'theme-ui'\n\nconst Avatar = ({\n color = 'transparent',\n width = '90px',\n maxWidth,\n name,\n github,\n alt,\n src,\n sx,\n ...props\n}) => {\n if (!name && !src && !github) {\n console.warn('must specify either name, github, or src')\n }\n\n let srcProp, altProp\n if (name) {\n srcProp = `https://images.carbonplan.org/team/${name\n .toLowerCase()\n .replace(' ', '-')}.png`\n altProp = alt || name\n } else if (github) {\n srcProp = `https://github.com/${github}.png`\n altProp = alt || github\n } else {\n srcProp = src\n altProp = alt\n }\n\n return (\n <Box\n sx={{\n width: width,\n maxWidth: maxWidth,\n height: 'auto',\n borderRadius: '50%',\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'top',\n bg: color,\n ...sx,\n }}\n {...props}\n >\n <Image\n alt={altProp}\n src={srcProp}\n sx={{\n opacity: color && color !== 'transparent' ? 0.25 : 1,\n filter:\n color && color !== 'transparent'\n ? 'grayscale(100%) contrast(200%) brightness(100%)'\n : 'none',\n width: '100%',\n borderRadius: '50%',\n display: 'block',\n }}\n />\n </Box>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { Grid } from 'theme-ui'\n\nconst Row = ({ children, sx, columns, gap, ...props }) => {\n const makeArray = (input) => {\n if (!Array.isArray(input)) {\n input = [input, input, input, input]\n }\n if (Array.isArray(input) && ![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d]).flat()\n }\n if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n return input\n }\n\n let columnGap, rowGap\n if (Number.isInteger(gap) || Array.isArray(gap)) {\n gap = makeArray(gap)\n columnGap = gap\n rowGap = gap\n } else {\n columnGap = [4, 5, 5, 6]\n rowGap = [0, 0, 0, 0]\n }\n\n if (Number.isInteger(columns) || Array.isArray(columns)) {\n columns = makeArray(columns)\n } else {\n columns = [6, 8, 12, 12]\n }\n\n return (\n <Grid\n {...props}\n columns={columns}\n sx={{\n columnGap: columnGap,\n rowGap: rowGap,\n ...sx,\n }}\n >\n {children}\n </Grid>\n )\n}\n\nexport default Row\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Column = ({ start, width, dl, dr, children, sx, ...props }) => {\n start = start || 'auto'\n width = width || 'auto'\n\n const makeArray = (input) => {\n if (input && !Array.isArray(input)) {\n input = [input]\n }\n\n if (![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d, d, d, d]).flat()\n } else if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n\n return input\n }\n\n start = makeArray(start)\n width = makeArray(width)\n\n const end = start.map((d, i) => {\n if (d == 'auto') return 'auto'\n return d + width[i]\n })\n\n let ml, mr\n\n if (dl) {\n if (![0.5, 1].includes(dl)) {\n throw new Error('dl must be 0.5 or 1')\n }\n if (dl === 0.5) {\n ml = ['-12px', -3, -3, -4]\n }\n if (dl === 1) {\n ml = [-4, -5, -5, -6]\n }\n }\n\n if (dr) {\n if (![0.5, 1].includes(dr)) {\n throw new Error('dr must be 0.5 or 1')\n }\n if (dr === 0.5) {\n mr = ['-12px', -3, -3, -4]\n }\n if (dr === 1) {\n mr = [-4, -5, -5, -6]\n }\n }\n\n return (\n <Box\n {...props}\n sx={{\n gridColumnStart: start,\n gridColumnEnd: end,\n ml: ml,\n mr: mr,\n ...sx,\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default Column\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\nconst Group = ({ children, direction = 'vertical', spacing = 'md', sx }) => {\n let marginValue\n if (typeof spacing === 'string' && sizes.hasOwnProperty(spacing)) {\n marginValue = sizes[spacing]\n } else {\n marginValue = spacing\n }\n\n if (!['horizontal', 'vertical'].includes(direction)) {\n throw new Error(\n 'Invalid direction value. Must be either horizontal or vertical'\n )\n }\n\n const marginProperty = direction === 'vertical' ? 'mb' : 'mr'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box sx={sx}>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i < children.length - 1 ? marginValue : 0,\n ...additionalStyles,\n }}\n >\n {child}\n </Box>\n )\n })}\n </Box>\n )\n}\n\nexport default Group\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Avatar from './avatar'\nimport Row from './row'\nimport Column from './column'\nimport Group from './group'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\n\nconst Blank = ({ overflow, maxWidth }) => {\n return (\n <Box\n sx={{\n bg: 'muted',\n height: '100%',\n maxWidth: maxWidth,\n borderRadius: '50%',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Box\n sx={{\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [3, 3, 3, 4],\n }}\n >\n +{overflow}\n </Box>\n </Box>\n </Box>\n )\n}\n\nconst AvatarGroup = ({\n members,\n direction = 'horizontal',\n align,\n spacing = 'md',\n limit,\n width,\n maxWidth,\n fixedCount,\n sx,\n ...props\n}) => {\n let gap\n if (sizes.hasOwnProperty(spacing)) {\n gap = sizes[spacing]\n } else {\n gap = spacing\n }\n\n let start = (idx) => 'auto'\n if (align) {\n if (!Array.isArray(align)) {\n align = [align]\n }\n start = (idx) =>\n align.map((d) => {\n if (d === 'left') {\n return 'auto'\n } else if (d === 'right') {\n const offset = Math.max(1, fixedCount - members.length + 1)\n return (offset + idx) % fixedCount\n } else {\n throw Error(`alignment '${align}' not recognized`)\n }\n })\n }\n\n const excess = members.length > limit\n const overflow = members.length - limit + 1\n\n return (\n <>\n {fixedCount && (\n <Row columns={fixedCount} gap={gap} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Column key={idx} start={start(idx)}>\n {(!excess || idx < limit - 1) && (\n <Avatar {...props} width={width} maxWidth={maxWidth} />\n )}\n {excess && idx === limit - 1 && (\n <Blank overflow={overflow} maxWidth={maxWidth} />\n )}\n </Column>\n ))}\n </Row>\n )}\n {!fixedCount && (\n <Group direction={direction} spacing={spacing} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Avatar key={idx} {...props} width={width} maxWidth={maxWidth} />\n ))}\n </Group>\n )}\n </>\n )\n}\n\nexport default AvatarGroup\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Badge = ({ sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n return (\n <Box\n sx={{\n display: 'inline-block',\n width: 'fit-content',\n height: ['24px', '24px', '24px', '26px'],\n borderRadius: '5px',\n backgroundColor:\n color == 'primary' || color == 'secondary'\n ? 'muted'\n : transparentize(color, 0.7),\n textAlign: 'center',\n userSelect: 'none',\n fontSize: [2, 2, 2, 3],\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n letterSpacing: '0.02em',\n fontFamily: 'mono',\n mt: ['1px', '1px', '1px', '0px'],\n px: [1, 1, 1, '5px'],\n color: color,\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n\nexport default Badge\n","import React, { cloneElement, Children } from 'react'\nimport { Box } from 'theme-ui'\n\nconst specialChars = ['“', '\"', \"'\", '‘']\n\nconst Blockquote = ({ children }) => {\n let firstChar = ''\n let filteredChildren = children\n\n if (\n Array.isArray(children) &&\n children[0].props &&\n typeof children[0].props.children === 'string'\n ) {\n firstChar = children[0].props.children.slice(0, 1)\n filteredChildren = Children.map(children, (d, i) => {\n if (i == 0) {\n return cloneElement(d, { children: d.props.children.slice(1) })\n } else return d\n })\n } else if (children.props && typeof children.props.children === 'string') {\n firstChar = children.props.children.slice(0, 1)\n filteredChildren = cloneElement(children, {\n children: children.props.children.slice(1),\n })\n } else if (typeof children === 'string') {\n firstChar = children.slice(0, 1)\n filteredChildren = children.slice(1)\n }\n\n return (\n <Box variant='styles.blockquote'>\n {specialChars.includes(firstChar) && (\n <Box as='span' sx={{ position: 'absolute', ml: '-0.4em' }}>\n {firstChar}\n </Box>\n )}\n {specialChars.includes(firstChar) ? filteredChildren : children}\n </Box>\n )\n}\n\nexport default Blockquote\n","import React, { forwardRef } from 'react'\nimport { Link as ThemedLink } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\n\nconst event = ({ action, category, label, value }) => {\n if (typeof window.gtag !== 'function') {\n console.warn(`Missing window.gtag, skipping analytics action: '${action}'.`)\n return\n }\n\n window.gtag('event', action, {\n event_category: category,\n event_label: label,\n value: value,\n })\n}\n\nconst Link = (\n { href, children, internal = false, tracking = false, ...props },\n ref\n) => {\n if (internal || (href && href.startsWith('/'))) {\n return (\n <NextLink href={href} passHref>\n <ThemedLink ref={ref} {...props}>\n {children}\n </ThemedLink>\n </NextLink>\n )\n } else if (tracking) {\n let action\n let category\n if (href && href.includes('pdf')) {\n action = 'PDF'\n category = 'download'\n } else {\n action = 'website'\n category = 'external'\n }\n const track = (e) => {\n event({\n action: action,\n category: category,\n label: href,\n })\n }\n return (\n <ThemedLink\n ref={ref}\n onClick={track}\n onContextMenu={track}\n href={href}\n {...props}\n >\n {children}\n </ThemedLink>\n )\n } else {\n return (\n <ThemedLink ref={ref} href={href} {...props}>\n {children}\n </ThemedLink>\n )\n }\n}\n\nexport default forwardRef(Link)\n","const getSizeStyles = (size) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let fontSize, fontFamily, letterSpacing, lineHeight\n\n if (size === 'xs') {\n fontSize = [2, 2, 2, 3]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'sm') {\n fontSize = [3, 3, 3, 4]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'md') {\n fontSize = [4, 4, 4, 5]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'lg') {\n fontSize = [5, 5, 6, 7]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.2, 1.2, 1.25, 1.25]\n }\n\n if (size === 'xl') {\n fontSize = [6, 7, 8, 9]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.25]\n }\n\n return { fontSize, fontFamily, letterSpacing, lineHeight }\n}\n\nexport default getSizeStyles\n","import React, { forwardRef, cloneElement } from 'react'\nimport { Box } from 'theme-ui'\nimport Link from './link'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Button = (\n {\n size = 'sm',\n prefix,\n suffix,\n inverted,\n sx,\n children,\n align,\n href,\n internal,\n tracking,\n ...props\n },\n ref\n) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let offset, margin, top, height, width, strokeWidth\n\n const { color, ...sxProp } = sx || {}\n\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n if (size === 'xs') {\n margin = ['6px', '6px', '6px', '6px']\n height = [12, 12, 12, 13]\n width = [12, 12, 12, 13]\n strokeWidth = [1.5, 1.5, 1.5, 1.5]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'sm') {\n margin = ['7px', '7px', '7px', '7px']\n height = [13, 13, 13, 18]\n width = [13, 13, 13, 18]\n strokeWidth = [1.5, 1.5, 1.5, 2]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'md') {\n margin = ['8px', '8px', '8px', '8px']\n height = [18, 18, 18, 24]\n width = [18, 18, 18, 24]\n strokeWidth = [2, 2, 2, 3]\n }\n\n if (size === 'lg') {\n margin = ['10px', '10px', '12px', '16px']\n height = [24, 24, 34, 46]\n width = [24, 24, 34, 46]\n strokeWidth = [3, 3, 4, 5]\n }\n\n if (size === 'xl') {\n margin = ['12px', '16px', '18px', '20px']\n height = [34, 46, 56, 68]\n width = [34, 46, 56, 68]\n strokeWidth = [4, 5, 6, 7]\n }\n\n let prefixHover,\n suffixHover,\n prefixAlign,\n suffixAlign,\n prefixOffset,\n suffixOffset\n\n if (align) {\n prefixAlign = align\n suffixAlign = align\n } else {\n if (prefix && suffix) {\n prefixAlign = 'initial'\n suffixAlign = 'initial'\n } else if (prefix) {\n prefixAlign = 'initial'\n } else if (suffix) {\n suffixAlign = 'middle'\n }\n }\n\n if (prefixAlign === 'middle') {\n prefixOffset = {}\n } else {\n prefixOffset = offset\n }\n\n if (suffixAlign === 'middle') {\n suffixOffset = {}\n } else {\n suffixOffset = offset\n }\n\n if (prefix) {\n prefixHover = {\n '&:hover > #prefix-span > #prefix': {\n color: hoverColor,\n ...prefix.type.hover,\n },\n }\n prefix = cloneElement(prefix, {\n id: 'prefix',\n sx: {\n position: 'relative',\n height: height,\n width: width,\n mr: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: prefixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...prefix.props.sx,\n },\n })\n }\n\n if (suffix) {\n suffixHover = {\n '&:hover > #suffix-span >#suffix': {\n color: hoverColor,\n ...suffix.type.hover,\n },\n }\n suffix = cloneElement(suffix, {\n id: 'suffix',\n sx: {\n height: height,\n width: width,\n ml: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: suffixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...suffix.props.sx,\n },\n })\n }\n\n let sizeStyles = getSizeStyles(size)\n\n const style = {\n ...sizeStyles,\n lineHeight: 1.05,\n border: 'none',\n background: 'transparent',\n display: 'block',\n color: baseColor,\n padding: [0],\n textAlign: 'left',\n cursor: 'pointer',\n width: 'fit-content',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n color: hoverColor,\n },\n ...suffixHover,\n ...prefixHover,\n },\n ...sxProp,\n }\n\n const Inner = (\n <>\n <Box\n as='span'\n id='prefix-span'\n sx={{ display: 'inline-block', ...prefixOffset }}\n >\n {prefix && prefix}\n </Box>\n <Box as='span' sx={{ transition: 'color 0.15s' }}>\n {children}\n </Box>\n <Box\n as='span'\n id='suffix-span'\n sx={{ display: 'inline-block', ...suffixOffset }}\n >\n {suffix && suffix}\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={{\n ...style,\n textDecoration: 'none',\n }}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Button)\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Link from './link'\n\nconst Callout = (\n { label, children, inverted, color, href, internal, tracking, sx, ...props },\n ref\n) => {\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n const style = {\n border: 'none',\n padding: [0],\n fontSize: [3, 3, 3, 4],\n color: baseColor,\n background: 'transparent',\n textDecoration: 'none',\n fontFamily: 'body',\n lineHeight: 'h3',\n letterSpacing: 'body',\n width: 'fit-content',\n cursor: 'pointer',\n textAlign: 'left',\n mb: [1],\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #container > #arrow': {\n transform: 'rotate(45deg)',\n fill: hoverColor,\n },\n '&:hover': {\n color: hoverColor,\n },\n },\n ...sx,\n }\n\n const Inner = (\n <>\n <Box sx={{ transition: '0.15s', letterSpacing: 'body', pb: ['6px'] }}>\n {children}\n </Box>\n <Box\n sx={{\n transition: '0.15s',\n display: 'inline-block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n }}\n >\n {label}\n </Box>\n <Box\n as='span'\n id='container'\n sx={{\n ml: [2],\n display: 'inline-block',\n }}\n >\n <Arrow\n id='arrow'\n sx={{\n transition: 'fill 0.15s, transform 0.15s',\n position: 'relative',\n top: ['2px'],\n color: baseColor,\n height: [15, 15, 15, 17],\n width: [15, 15, 15, 17],\n }}\n />\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={style}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Callout)\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Caption = ({ as = 'figcaption', number, children, label = 'figure' }) => {\n return (\n <Box\n as={as}\n sx={{\n color: 'secondary',\n display: 'block',\n textAlign: 'left',\n fontSize: [2, 2, 2, 3],\n '& a': { color: 'secondary' },\n '& a:hover': { color: 'primary' },\n '& > :last-child': {\n display: 'inline',\n fontSize: [2, 2, 2, 3],\n },\n }}\n >\n {number && (\n <>\n <Box\n sx={{\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n display: 'inline-block',\n }}\n >\n {label} {number}\n </Box>{' '}\n <Box sx={{ display: 'inline-block', mx: [1], pr: [1] }}>/</Box>\n </>\n )}\n {children}\n </Box>\n )\n}\n\nexport default Caption\n","import React, { useState, useEffect, useRef } from 'react'\nimport { Box, Flex } from 'theme-ui'\n\nconst styles = {\n clim: (setClim) => {\n return {\n bg: 'unset',\n border: 'none',\n color: 'primary',\n px: 0,\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n transition: 'border 0.15s',\n userSelect: setClim ? 'none !important' : 'unset',\n width: 'fit-content',\n minWidth: 'fit-content',\n }\n },\n}\n\nconst DIMENSIONS = {\n width: ['10px', '16px', '16px', '17px'],\n height: ['80px', '110px', '110px', '130px'],\n}\n\nconst Gradient = ({ colormap, discrete, horizontal, width, height }) => {\n const step = (1 / colormap.length) * 100\n const values = colormap.map((d, i) => {\n return `rgb(${d}) ${i * step}% ${\n discrete && i < colormap.length - 1 ? `${(i + 1) * step}%` : ''\n }`\n })\n\n const css = `linear-gradient(to ${\n horizontal ? 'right' : 'top'\n }, ${values.join(',')})`\n\n return (\n <Box\n sx={{\n ...(horizontal\n ? {\n width: width || DIMENSIONS.height,\n height: height || DIMENSIONS.width,\n }\n : {\n width: width || DIMENSIONS.width,\n minHeight: height || DIMENSIONS.height,\n }),\n mt: horizontal ? ['1px', '1px', '1px', 0] : 0,\n border: ({ colors }) => `solid 1px ${colors.hinted}`,\n background: css,\n }}\n />\n )\n}\n\nconst Label = ({ label, units, horizontal }) => (\n <Box\n sx={\n !horizontal && {\n width: ['13px', '17px', '17px', '19px'],\n alignSelf: 'flex-end',\n }\n }\n >\n <Box\n sx={{\n mb: horizontal ? 0 : ['-4px', '-4px', '-4px', '-3px'],\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n ...(horizontal\n ? {}\n : {\n writingMode: 'vertical-rl',\n transform: 'rotate(180deg)',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n overflow: 'visible',\n }),\n }}\n >\n {label}{' '}\n <Box\n as='span'\n sx={{\n textTransform: 'none',\n color: 'secondary',\n display: 'inline-block',\n }}\n >\n {units}\n </Box>\n </Box>\n </Box>\n)\n\nconst Colorbar = ({\n colormap,\n label,\n clim,\n setClim,\n setClimStep = 1,\n discrete,\n units,\n width,\n height,\n format = (d) => d,\n horizontal = false,\n bottom = false,\n sx,\n sxClim,\n ...props\n}) => {\n if (!Array.isArray(colormap)) {\n throw new Error(`expected array for colormap, got '${colormap}'.`)\n }\n\n const climRef = [useRef(), useRef()]\n const [climMinDragging, setClimMinDragging] = useState(false)\n const [climMaxDragging, setClimMaxDragging] = useState(false)\n\n let x,\n y,\n dx,\n dy = 0\n let id = null\n let init = [0, 0]\n let scale = setClimStep\n\n const draggingFunction = (e) => {\n if (id === 'min' && !climMinDragging) setClimMinDragging(true)\n if (id === 'max' && !climMaxDragging) setClimMaxDragging(true)\n dx = e.pageX - x\n dy = e.pageY - y\n if (horizontal) {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] + dx * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] + dx * scale, init[0])])\n } else {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] - dy * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] - dy * scale, init[0])])\n }\n }\n\n const handleMouseDown = (e) => {\n y = e.pageY\n x = e.pageX\n id = e.target.id\n init = clim\n\n document.body.setAttribute(\n 'style',\n horizontal\n ? 'cursor: ew-resize !important'\n : 'cursor: ns-resize !important'\n )\n document.addEventListener('mousemove', draggingFunction)\n const updater = () => {\n document.body.setAttribute('style', 'cursor: unset')\n document.removeEventListener('mousemove', draggingFunction)\n window.removeEventListener('mouseup', updater)\n if (id === 'min') setClimMinDragging(false)\n if (id === 'max') setClimMaxDragging(false)\n }\n window.addEventListener('mouseup', updater)\n }\n\n const increment = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] + scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] + scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n const decrement = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] - scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] - scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n useEffect(() => {\n const listener = (e) => {\n if (\n ['ArrowUp', 'ArrowRight'].includes(e.code) ||\n ['ArrowUp', 'ArrowRight'].includes(e.key)\n ) {\n increment(e)\n }\n if (\n ['ArrowDown', 'ArrowLeft'].includes(e.code) ||\n ['ArrowDown', 'ArrowLeft'].includes(e.key)\n ) {\n decrement(e)\n }\n }\n window.addEventListener('keydown', listener)\n\n return () => {\n window.removeEventListener('keydown', listener)\n }\n }, [clim])\n\n const ClimMin = () => {\n return (\n <Box\n id='min'\n as={setClim ? 'button' : 'div'}\n ref={climRef[0]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: label\n ? horizontal\n ? bottom\n ? '0px'\n : '10px'\n : ['2px', '1px', '1px', '2px']\n : 0,\n mr: horizontal ? ['2px', '1px', '1px', '2px'] : 0,\n mb: horizontal ? 0 : ['-2px', '-2px', '-2px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[0].current.focus()}\n >\n {format(clim[0])}\n </Box>\n )\n }\n\n const ClimMax = () => {\n return (\n <Box\n id='max'\n as={setClim ? 'button' : 'div'}\n ref={climRef[1]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: horizontal\n ? ['2px', '1px', '1px', '2px']\n : ['2px', '1px', '1px', '2px'],\n mt: horizontal ? 0 : ['-2px', '-3px', '-3px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[1].current.focus()}\n >\n {format(clim[1])}\n </Box>\n )\n }\n\n return (\n <Flex\n {...props}\n sx={{\n flexDirection: 'row',\n alignItems: 'start',\n justifyContent: 'flex-start',\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n ...sx,\n }}\n >\n {label && <Label label={label} units={units} horizontal={horizontal} />}\n <Flex\n sx={{\n flexGrow: horizontal ? 1 : 'unset',\n flexDirection: 'column',\n ml: bottom && label ? '4px' : '0px',\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n <Flex\n sx={{\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n {horizontal && clim && !bottom && <ClimMin />}\n <Gradient\n colormap={colormap}\n horizontal={horizontal}\n discrete={discrete}\n width={width}\n height={height}\n />\n {horizontal && clim && !bottom && <ClimMax />}\n </Flex>\n {horizontal && clim && bottom && (\n <Flex sx={{ justifyContent: 'space-between' }}>\n <ClimMin />\n <ClimMax />\n </Flex>\n )}\n </Flex>\n\n {!horizontal && (\n <Flex\n sx={{\n flexDirection: 'column-reverse',\n justifyContent: 'space-between',\n height: height || DIMENSIONS.height,\n }}\n >\n {clim && <ClimMin />}\n {clim && <ClimMax />}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Colorbar\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst InlineColor = ({ sx, color, children, ...props }) => {\n return (\n <Box\n as='span'\n sx={{ display: 'inline-block', color: color, ...sx }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst Colors = {}\n\nColors.Primary = (props) => {\n return <InlineColor color='primary' {...props} />\n}\n\nColors.Secondary = (props) => {\n return <InlineColor color='secondary' {...props} />\n}\n\nColors.Background = (props) => {\n return <InlineColor color='background' {...props} />\n}\n\nColors.Red = (props) => {\n return <InlineColor color='red' {...props} />\n}\n\nColors.Orange = (props) => {\n return <InlineColor color='orange' {...props} />\n}\n\nColors.Yellow = (props) => {\n return <InlineColor color='yellow' {...props} />\n}\n\nColors.Green = (props) => {\n return <InlineColor color='green' {...props} />\n}\n\nColors.Teal = (props) => {\n return <InlineColor color='teal' {...props} />\n}\n\nColors.Blue = (props) => {\n return <InlineColor color='blue' {...props} />\n}\n\nColors.Purple = (props) => {\n return <InlineColor color='purple' {...props} />\n}\n\nColors.Pink = (props) => {\n return <InlineColor color='pink' {...props} />\n}\n\nColors.Grey = (props) => {\n return <InlineColor color='grey' {...props} />\n}\n\nexport default Colors\n","import React from 'react'\nimport Head from 'next/head'\nimport { useThemeUI } from 'theme-ui'\n\nconst Meta = ({ title, description, card }) => {\n const { theme, colorMode } = useThemeUI()\n if (!description) {\n console.warn(\n 'a custom description should be used for search engine optimization'\n )\n }\n if (!title) {\n console.warn('a custom title should be used for search engine optimization')\n }\n const titleProp = title || 'CarbonPlan'\n const descriptionProp =\n description ||\n 'Improving the transparency and scientific integrity of climate solutions with open data and tools.'\n const cardProp = card || 'https://images.carbonplan.org/social/homepage.png'\n\n return (\n <Head>\n <title>{titleProp}</title>\n <meta name='description' content={descriptionProp} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\n />\n <link\n rel='icon'\n type='image/svg+xml'\n href='https://images.carbonplan.org/favicon.svg'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-medium-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link rel='manifest' href='https://images.carbonplan.org/manifest.json' />\n <meta name='theme-color' content={theme.colors.background} />\n <meta\n name='color-scheme'\n content={colorMode === 'light' ? 'light' : 'dark'}\n />\n <link\n rel='mask-icon'\n href='https://images.carbonplan.org/safari-pinned-tab.svg'\n color='#000000'\n />\n <link\n rel='apple-touch-icon'\n sizes='180x180'\n href='https://images.carbonplan.org/apple-touch-icon.png'\n />\n <meta name='msapplication-TileColor' content={theme.colors.background} />\n <meta\n name='msapplication-TileImage'\n content='https://images.carbonplan.org/mstile-144x144.png'\n />\n <meta\n name='msapplication-config'\n content='https://images.carbonplan.org/browserconfig.xml'\n />\n <meta property='og:title' content={titleProp} />\n <meta property='og:description' content={descriptionProp} />\n <meta property='og:image' content={cardProp} />\n <meta property='og:url' content='https://carbonplan.org' />\n <meta name='twitter:title' content={titleProp} />\n <meta name='twitter:description' content={descriptionProp} />\n <meta name='twitter:image' content={cardProp} />\n <meta name='twitter:card' content='summary_large_image' />\n <meta name='format-detection' content='telephone=no' />\n </Head>\n )\n}\n\nexport default Meta\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Logo = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='150'\n fill='currentColor'\n stroke='none'\n viewBox='0 0 151.1 28.8'\n {...props}\n >\n <g>\n <g>\n <path\n d='M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3\n c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8\n c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2\n c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3\n c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z'\n />\n </g>\n <g>\n <path\n d='M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z'\n />\n </g>\n <g>\n <path\n d='M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6\n c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8\n c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z'\n />\n </g>\n <g>\n <path\n d='M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1\n c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3\n s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3\n C52.9,10.2,51.9,10.7,51.2,11.5z'\n />\n </g>\n <g>\n <path\n d='M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2\n c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5\n c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4\n c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z'\n />\n </g>\n <g>\n <path\n d='M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z'\n />\n </g>\n <g>\n <path\n d='M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3\n H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3\n c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z'\n />\n </g>\n <g>\n <path\n d='M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2\n C117.3,21.8,117.2,21.7,117.2,21.6z'\n />\n </g>\n <g>\n <path\n d='M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z'\n />\n </g>\n <g>\n <path\n d='M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z'\n />\n </g>\n <path\n d='M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2\n s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z'\n />\n <path\n d='M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2\n s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z'\n />\n </g>\n </Box>\n )\n}\n\nexport default Logo\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Menu = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='52' y1='29.9' x2='16' y2='29.9' />\n <line x1='52' y1='6.1' x2='16' y2='6.1' />\n <line x1='52' y1='18' x2='16' y2='18' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Menu\n","import React, { useState } from 'react'\nimport { default as NextLink } from 'next/link'\nimport { Box, Flex, Container, Link } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Logo from './logo'\nimport Row from './row'\nimport Column from './column'\nimport Menu from './menu'\n\nconst sx = {\n link: (current, label, first = false) => {\n return {\n width: 'auto',\n color: current === label ? 'secondary' : 'text',\n fontSize: [6, 6, 7, 8],\n fontFamily: 'heading',\n letterSpacing: 'heading',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderTopWidth: first ? '1px' : '0px',\n py: [3, 3, 4, 5],\n textDecoration: 'none',\n display: 'block',\n position: 'relative',\n transition: 'color 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #arrow': {\n opacity: 1,\n },\n },\n '&:hover': {\n color: current == label ? 'secondary' : 'text',\n },\n }\n },\n}\n\nconst links = [\n { url: 'about', display: 'About' },\n { url: 'research', display: 'Research' },\n { url: 'blog', display: 'Blog' },\n { url: 'press', display: 'Press' },\n]\n\nconst HoverArrow = () => {\n return (\n <Arrow\n id='arrow'\n sx={{\n pointerEvents: 'none',\n display: 'inline-block',\n position: 'absolute',\n left: ['-60px', '-68px', '-80px', '-104px'],\n top: ['32px', '32px', '46px', '62px'],\n opacity: 0,\n transition: 'opacity 0.2s ease-out',\n transform: 'rotate(45deg)',\n width: [36, 36, 48, 56],\n height: [36, 36, 48, 56],\n }}\n />\n )\n}\n\nconst Nav = ({ link, mode, nav, first, setExpanded }) => {\n const { url, display } = link\n const href = mode === 'remote' ? 'https://carbonplan.org/' + url : '/' + url\n\n if (mode === 'homepage' || (mode === 'local' && nav === url)) {\n return (\n <NextLink href={href} passHref>\n <Link\n onClick={() => {\n if (nav === url) setExpanded(false)\n }}\n sx={sx.link(nav, url, first)}\n >\n <HoverArrow />\n {display}\n </Link>\n </NextLink>\n )\n } else {\n return (\n <Link href={href} sx={sx.link(nav, url, first)}>\n <HoverArrow />\n {display}\n </Link>\n )\n }\n}\n\nconst NavGroup = ({ links, nav, mode, setExpanded }) => {\n return links.map((d, i) => {\n return (\n <Nav\n key={i}\n link={d}\n mode={mode}\n nav={nav}\n first={i === 0}\n setExpanded={setExpanded}\n />\n )\n })\n}\n\nconst Header = ({ status, mode, nav, menuItems }) => {\n const [expanded, setExpanded] = useState(false)\n\n const toggle = (e) => {\n setExpanded(!expanded)\n }\n\n return (\n <Row\n sx={{\n pt: ['12px'],\n pb: [3],\n }}\n >\n <Column start={[1]} width={[2]}>\n <Box\n sx={{ pointerEvents: 'all', display: 'block', width: 'fit-content' }}\n >\n {(mode == 'homepage' || mode == 'local') && (\n <NextLink href='/' passHref>\n <Link\n aria-label='CarbonPlan Homepage'\n sx={{\n display: 'block',\n }}\n >\n <Logo\n id='logo'\n sx={{\n cursor: 'pointer',\n color: 'primary',\n }}\n />\n </Link>\n </NextLink>\n )}\n {(mode == null || mode == 'remote') && (\n <Link\n href='https://carbonplan.org'\n aria-label='CarbonPlan Homepage'\n sx={{ display: 'block' }}\n >\n <Logo sx={{ cursor: 'pointer', color: 'primary' }} />\n </Link>\n )}\n </Box>\n </Column>\n <Column\n start={[4, 9]}\n width={[2, 2]}\n dr={1}\n sx={{\n display: [status ? 'flex' : 'none', 'flex', 'flex', 'flex'],\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n fontSize: [1, 2, 3],\n position: 'relative',\n top: ['-2px', '-3px', '-3px'],\n }}\n >\n {status ? `(${status})` : ''}\n </Box>\n </Column>\n <Column\n start={[status ? 6 : 4, 6, 11, 11]}\n width={[status ? 1 : 3, 3, 2, 2]}\n sx={{ zIndex: 5000 }}\n >\n <Flex sx={{ pointerEvents: 'all', justifyContent: 'flex-end' }}>\n <Box\n sx={{\n display: [status ? 'none' : 'flex', 'flex', 'flex', 'flex'],\n mr: '18px',\n gap: '18px',\n opacity: expanded ? 0 : 1,\n transition: 'opacity 0.15s',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {menuItems}\n </Box>\n <Menu\n sx={{\n flexShrink: 0,\n mr: ['-2px'],\n }}\n value={expanded}\n onClick={toggle}\n />\n </Flex>\n </Column>\n <Box\n sx={{\n opacity: expanded ? 1 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n minWidth: '0px',\n maxHeight: '100vh',\n width: '100vw',\n backgroundColor: 'background',\n zIndex: 4000,\n pt: ['79px'],\n transition: 'opacity 0.25s',\n }}\n >\n <Container>\n <Row>\n <Column start={[2, 4, 7, 7]} width={[5, 4, 5, 5]}>\n <Box\n as='nav'\n sx={{\n display: expanded ? 'inherit' : 'none',\n mt: [5, 5, 5, 6],\n }}\n >\n <NavGroup\n links={links}\n nav={nav}\n mode={mode}\n setExpanded={setExpanded}\n />\n </Box>\n </Column>\n </Row>\n </Container>\n </Box>\n </Row>\n )\n}\n\nexport default Header\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Monogram = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='80'\n stroke='none'\n fill='currentColor'\n viewBox='0 0 32 32'\n {...props}\n >\n <path d='M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z'></path>\n <path d='M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4'></path>\n <path d='M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15'></path>\n </Box>\n )\n}\n\nexport default Monogram\n","import React from 'react'\nimport { Box, Grid, Link } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\nimport Monogram from './monogram'\nimport Row from './row'\nimport Column from './column'\n\nconst Footer = () => {\n return (\n <Box\n sx={{\n mt: [7, 7, 7, 8],\n mb: [7, 7, 7, 8],\n pb: [2, 1, 0, 0],\n }}\n >\n <Row sx={{ mb: [0, 0, 4, 5] }}>\n <Column start={[1, 2]} width={[3, 3]}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n EMAIL\n </Box>\n <Link\n href='mailto:hello@carbonplan.org'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n hello@carbonplan.org\n </Link>\n </Box>\n </Column>\n <Column\n start={[5]}\n width={[1]}\n dl={1}\n dr={1}\n sx={{\n display: ['flex', 'none', 'none', 'none'],\n justifyContent: ['center'],\n }}\n >\n <Monogram sx={{ mt: ['-4px'], width: '60px', height: '60px' }} />\n </Column>\n <Column start={[1, 5, 5, 5]} width={[3, 3]} sx={{ mt: [3, 0, 0, 0] }}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n FOLLOW\n </Box>\n <Link\n href='https://twitter.com/carbonplanorg'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n @carbonplanorg\n </Link>\n </Box>\n </Column>\n <Column\n start={[1, 9]}\n width={[5, 4, 3, 3]}\n sx={{ mt: ['42px', '42px', 0, 0], mb: [3, 3, 0, 0] }}\n >\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'body',\n color: 'secondary',\n }}\n >\n CarbonPlan is a registered nonprofit public benefit corporation in\n California with 501(c)(3) status.\n </Box>\n </Box>\n </Column>\n </Row>\n <Row sx={{ mb: ['2px'], mt: [5, 5, 4] }}>\n <Column\n start={[1, 1, 2, 2]}\n width={[3, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n pt: [2],\n }}\n >\n <Box\n sx={{\n color: 'secondary',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n }}\n >\n (c) 2022 CARBONPLAN\n </Box>\n </Box>\n </Column>\n <Column\n start={[4, 3, 5, 5]}\n width={[2, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n mt: [0, 0, 0, 0],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n width: ['100%', 'auto', 'auto', 'auto'],\n pt: [2],\n }}\n >\n <NextLink href='/terms' passHref>\n <Box\n as='a'\n sx={{\n textDecoration: 'none',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n display: 'block',\n }}\n >\n READ OUR TERMS\n </Box>\n </NextLink>\n </Box>\n </Column>\n <Column\n start={[5, 7, 9, 9]}\n width={[2, 3, 3, 3]}\n sx={{ display: ['none', 'initial', 'initial', 'initial'] }}\n >\n <Monogram\n sx={{\n width: 80,\n height: 80,\n mt: [0, '-10px', 4, 5],\n mb: ['-12px'],\n }}\n />\n </Column>\n </Row>\n </Box>\n )\n}\n\nexport default Footer\n","import React from 'react'\nimport { Box, IconButton, useColorMode } from 'theme-ui'\nimport { useCallback } from 'react'\nimport { Sun } from '@carbonplan/icons'\n\nconst Dimmer = ({ sx, ...props }) => {\n const [colorMode, setColorMode] = useColorMode()\n\n const toggle = useCallback(() => {\n setColorMode(colorMode === 'light' ? 'dark' : 'light')\n }, [colorMode])\n\n return (\n <IconButton\n aria-label='Toggle dark mode'\n onClick={toggle}\n role='checkbox'\n sx={{\n width: 32,\n height: 32,\n display: 'inline-block',\n cursor: 'pointer',\n color: 'secondary',\n ...sx,\n }}\n {...props}\n >\n <Sun\n sx={{\n strokeWidth: '1.75',\n transition: 'stroke 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n stroke: 'primary',\n },\n },\n }}\n />\n </IconButton>\n )\n}\n\nexport default Dimmer\n","import React from 'react'\nimport { Box, Text, Link, useThemeUI } from 'theme-ui'\n\nconst GitSha = () => {\n const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\n const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER\n const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG\n\n const { theme } = useThemeUI()\n\n const color = theme.rawColors.secondary\n\n if (sha && owner && slug) {\n const shortSha = sha.substring(0, 7)\n const href = 'https://github.com/' + owner + '/' + slug + '/tree/' + sha\n\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Link\n href={href}\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n textDecoration: 'none',\n }}\n >\n {shortSha}\n </Link>\n </Box>\n )\n } else {\n // fallback\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {color}\n </Text>\n </Box>\n )\n }\n}\n\nconst Separator = ({ color }) => {\n return (\n <svg fill={color} opacity='0.8' viewBox='0 0 24 24' width='24' height='24'>\n <circle r={5} cx={19} cy={19} />\n </svg>\n )\n}\n\nexport default GitSha\n","import React from 'react'\nimport { Box, Text } from 'theme-ui'\nimport { useState, useEffect } from 'react'\nimport GitSha from './gitsha'\n\nconst Value = ({ mode }) => {\n const [display, setDisplay] = useState(init(mode))\n\n useEffect(() => {\n if (mode === 'mouse') {\n const setFromEvent = (e) => {\n const x = format(e.clientX, 4)\n const y = format(e.clientY, 4)\n setDisplay(`X,Y: ${x},${y}`)\n }\n window.addEventListener('mousemove', setFromEvent)\n return () => {\n window.removeEventListener('mousemove', setFromEvent)\n }\n }\n if (mode === 'scroll') {\n const setFromEvent = (e) => {\n const y = scrollFraction(window, document)\n setDisplay(`SCROLL: 0.${format((y * 100).toFixed(0), 2)}`)\n }\n window.addEventListener('scroll', setFromEvent)\n const y = scrollFraction(window, document)\n return () => {\n window.removeEventListener('scroll', setFromEvent)\n }\n }\n }, [])\n\n return (\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n mr: '-6px',\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: 'secondary',\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {display}\n </Text>\n )\n}\n\nconst Metadata = ({ mode }) => {\n return (\n <Box\n sx={{\n userSelect: 'none',\n position: 'fixed',\n bottom: '42px',\n right: '24px',\n transformOrigin: 'right',\n transform: 'rotate(90deg)',\n display: ['none', 'none', 'initial'],\n }}\n >\n <Value mode={mode} />\n <GitSha />\n </Box>\n )\n}\n\nfunction init(mode) {\n if (mode === 'mouse') {\n return `X,Y: ${format(0, 4)},${format(0, 4)}`\n } else if (mode === 'scroll') {\n return `SCROLL: 0.${format((0).toFixed(0), 2)}`\n } else {\n return mode\n }\n}\n\nfunction format(num, pad) {\n return num.toString().padStart(pad, '0')\n}\n\nfunction scrollFraction(window, documnt) {\n return Math.min(window.scrollY / (document.body.offsetHeight - 770), 0.99)\n}\n\nexport default Metadata\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { keyframes } from '@emotion/react'\n\nconst fade = keyframes({\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n})\n\nconst FadeIn = ({ duration = 300, delay = 0, children, ...delegated }) => {\n return (\n <Box\n {...delegated}\n sx={{\n animationDuration: duration + 'ms',\n animationDelay: delay + 'ms',\n animationName: fade.toString(),\n animationFillMode: 'backwards',\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default FadeIn\n","const getScrollbarWidth = (document) => {\n const outer = document.createElement('div')\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n document.body.appendChild(outer)\n outer.style.overflow = 'scroll'\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n const delta = outer.offsetWidth - inner.offsetWidth\n outer.parentNode.removeChild(outer)\n return delta\n}\n\nexport default getScrollbarWidth\n","import React, { useEffect } from 'react'\nimport getScrollbarWidth from './utils/get-scrollbar-width'\n\nconst Scrollbar = () => {\n useEffect(() => {\n if (typeof document !== 'undefined') {\n const delta = getScrollbarWidth(document)\n if (delta > 0) {\n document.body.classList.add('custom-scrollbar')\n document\n .getElementsByTagName('html')[0]\n .classList.add('custom-scrollbar')\n }\n }\n }, [])\n return null\n}\n\nexport default Scrollbar\n","import React, { useState, useEffect } from 'react'\nimport { Box, Container } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Guide = ({ color = 'muted' }) => {\n const [display, setDisplay] = useState(false)\n\n useEffect(() => {\n function handler(event) {\n const { key, keyCode, metaKey } = event\n if (key === ';' && metaKey) {\n setDisplay((prev) => !prev)\n }\n }\n\n document.addEventListener('keydown', handler)\n return () => {\n document.removeEventListener('keydown', handler)\n }\n }, [])\n\n return (\n <Box\n sx={{\n position: 'fixed',\n width: '100%',\n left: 0,\n top: 0,\n zIndex: color === 'teal' ? 5000 : -1,\n pointerEvents: 'none',\n display: display ? 'initial' : 'none',\n }}\n >\n <Container>\n <Box sx={{ display: ['none', 'none', 'initial', 'initial'] }}>\n <GuideColumns\n indices={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]}\n color={color}\n />\n </Box>\n <Box sx={{ display: ['none', 'initial', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6, 7, 8]} color={color} />\n </Box>\n <Box sx={{ display: ['initial', 'none', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6]} color={color} />\n </Box>\n </Container>\n </Box>\n )\n}\n\nconst colorCycle = [\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'teal',\n 'blue',\n 'purple',\n 'pink',\n]\n\nfunction GuideColumns({ indices, color }) {\n const sx = {\n outerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: color === 'teal' ? '0px' : '1px',\n borderRightWidth: color === 'teal' ? '0px' : '1px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n innerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: '0px',\n borderRightWidth: '0px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n }\n\n return (\n <Row>\n {indices.map((i) => {\n return (\n <Column\n key={i}\n start={[i]}\n width={[1, 1]}\n dl={0.5}\n dr={0.5}\n sx={{\n bg: color === 'teal' ? 'teal' : 'transparent',\n height: '100vh',\n ...sx.innerGuideColumn,\n }}\n >\n <Box\n sx={{\n mx: ['12px', 3, 3, 4],\n bg: color === 'teal' ? 'background' : 'transparent',\n height: '100%',\n borderLeftColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n borderRightColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n ...sx.outerGuideColumn,\n }}\n ></Box>\n </Column>\n )\n })}\n </Row>\n )\n}\n\nexport default Guide\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Settings = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='24' y1='2.1' x2='24' y2='6.1' />\n <line x1='24' y1='24.1' x2='24' y2='33.9' />\n <line x1='44' y1='2.1' x2='44' y2='12.1' />\n <line x1='44' y1='30.1' x2='44' y2='33.9' />\n <circle cx='24' cy='15.1' r='5' />\n <circle cx='44' cy='21.1' r='5' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Settings\n","import React, { useEffect } from 'react'\nimport { useThemeUI, Container, Flex, Box } from 'theme-ui'\nimport Meta from './meta'\nimport Header from './header'\nimport Footer from './footer'\nimport Dimmer from './dimmer'\nimport Metadata from './metadata'\nimport FadeIn from './fade-in'\nimport Scrollbar from './scrollbar'\nimport Guide from './guide'\nimport Settings from './settings'\n\nconst Layout = ({\n title,\n description,\n card,\n children,\n status,\n nav,\n settings,\n footer = true,\n header = true,\n metadata = 'mouse',\n links = 'remote',\n dimmer = 'bottom',\n guide = true,\n scrollbar = false,\n fade = true,\n container = true,\n printable = false,\n}) => {\n let content = children\n\n if (fade) {\n content = <FadeIn duration={250}>{content}</FadeIn>\n }\n if (container) {\n content = (\n <Box sx={{ mb: [8, 8, 9, 10] }}>\n <Container>{content}</Container>\n </Box>\n )\n }\n\n const { theme } = useThemeUI()\n\n const hideOnPrint = printable\n ? {\n '@media print': {\n display: 'none',\n },\n }\n : {}\n\n useEffect(() => {\n if (!theme) return\n\n const handler = (e) => {\n if (e.matches && settings?.value && settings?.onClick) {\n settings?.onClick()\n }\n }\n\n const query = window.matchMedia(`(min-width: ${theme.breakpoints[1]})`)\n query.onchange = handler\n\n return () => {\n query.onchange = null\n }\n }, [theme?.breakpoints, settings?.value, settings?.onClick])\n\n const menuItems = [\n <Dimmer\n key='dimmer'\n sx={{\n color: 'primary',\n mt: '-2px',\n display: [\n 'block',\n 'block',\n dimmer === 'top' ? 'block' : 'none',\n dimmer === 'top' ? 'block' : 'none',\n ],\n }}\n />,\n ]\n\n if (settings) {\n menuItems.push(\n <Settings\n key='settings'\n sx={{ mr: ['2px'], display: ['inherit', 'inherit', 'none', 'none'] }}\n {...settings}\n />\n )\n }\n\n return (\n <>\n {guide && <Guide color={guide} />}\n {scrollbar && <Scrollbar />}\n <Meta card={card} description={description} title={title} />\n <Flex\n sx={{\n flexDirection: 'column',\n minHeight: '100vh',\n }}\n >\n {header && (\n <Box\n as='header'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n position: 'sticky',\n top: 0,\n bg: 'background',\n height: '56px',\n zIndex: 2000,\n ...hideOnPrint,\n }}\n >\n <Container>\n <Header\n mode={links}\n status={status}\n nav={nav}\n menuItems={menuItems}\n />\n </Container>\n </Box>\n )}\n <Box\n sx={{\n width: '100%',\n flex: '1 1 auto',\n }}\n >\n {content}\n </Box>\n {footer && (\n <Box\n as='footer'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n ...hideOnPrint,\n }}\n >\n <Container>\n <Footer />\n </Container>\n </Box>\n )}\n {dimmer === 'bottom' && (\n <Box\n sx={{\n display: ['none', 'none', 'initial', 'initial'],\n position: ['fixed'],\n right: [13],\n bottom: [17, 17, 15, 15],\n }}\n >\n <Dimmer />\n </Box>\n )}\n {metadata && <Metadata mode={metadata} />}\n </Flex>\n </>\n )\n}\n\nexport default Layout\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Tag = ({ label, value, sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const isClickable = props && (props.onClick || props.onDoubleClick)\n\n return (\n <Box\n as={isClickable ? 'button' : 'span'}\n role='checkbox'\n aria-checked={value}\n aria-label={label}\n sx={{\n display: 'inline-block',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n cursor: isClickable ? 'pointer' : 'inherit',\n color: color,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderColor: color,\n lineHeight: 'body',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n textTransform: 'uppercase',\n userSelect: 'none',\n transition: 'opacity 0.05s',\n pt: ['1px'],\n pb: ['2px'],\n px: [0],\n m: [0],\n opacity: value == null || value ? 1 : color == 'primary' ? 0.24 : 0.33,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nexport default Tag\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Tag from './tag'\n\nconst sx = {\n label: {\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n userSelect: 'none',\n textTransform: 'uppercase',\n },\n}\n\nconst duplicateOptions = (options, defaultValue, overrides = {}) => {\n return Object.keys(options).reduce(\n (o, key) => Object.assign(o, { [key]: overrides[key] || defaultValue }),\n {}\n )\n}\n\nconst isAll = (option) => {\n return (\n Object.keys(option).filter((d) => option[d]).length ==\n Object.keys(option).length\n )\n}\n\nconst updateValues = ({ values, multiSelect, setValues, value }) => {\n const isAllAlreadySelected = isAll(values)\n const isSelectingAll = value === 'all'\n\n let updatedToggle\n\n if (multiSelect) {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // deselect all\n updatedToggle = duplicateOptions(values, false)\n } else {\n // de/select value, inherit other values\n updatedToggle = { ...values, [value]: !values[value] }\n }\n } else {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // do nothing\n } else {\n // select only value\n updatedToggle = duplicateOptions(values, false, { [value]: true })\n }\n }\n\n if (updatedToggle) {\n setValues(updatedToggle)\n }\n}\n\nconst Filter = ({\n values,\n setValues,\n label,\n colors,\n showAll = false,\n multiSelect = false,\n ...props\n}) => {\n return (\n <Box {...props}>\n {label && <Box sx={sx.label}>{label}</Box>}\n <Box sx={{ mt: label ? [3] : 0 }}>\n {showAll && (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: 'all',\n })\n }\n value={isAll(values)}\n sx={{ mr: [2] }}\n >\n All\n </Tag>\n )}\n {Object.keys(values).map((d, i) => (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: d,\n })\n }\n onDoubleClick={() =>\n updateValues({\n values: values,\n multiSelect: false,\n setValues: setValues,\n value: d,\n })\n }\n key={i}\n value={values[d]}\n sx={{\n width: 'max-content',\n color: colors ? colors[d] : 'primary',\n mr: [2],\n mb: [1],\n }}\n >\n {d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Column from './column'\n\nconst Sidenote = ({ children, variant = 'h1' }) => {\n let mt\n if (variant === 'h1') mt = [4, '27px', '42px', '54px']\n if (variant === 'h2') mt = [4, 4, '14px', '25px']\n return (\n <>\n <Column start={[1, 4, 8, 8]} width={[1, 1, 1, 1]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n textAlign: 'right',\n }}\n >\n /\n </Box>\n </Column>\n <Column start={[2, 5, 9, 9]} width={[3, 3, 2, 2]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n height: ['100%', '0px', '0px', '0px'],\n }}\n >\n {children}\n </Box>\n </Column>\n </>\n )\n}\n\nexport default Sidenote\n","import React, { forwardRef } from 'react'\nimport { Input as ThemedInput } from 'theme-ui'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Input = ({ size = 'sm', inverted, sx, ...props }, ref) => {\n const defaultColor = inverted ? 'secondary' : 'primary'\n\n const styles = {\n color: defaultColor,\n borderColor: 'secondary',\n borderStyle: 'solid',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderRadius: '0px',\n transition: 'border 0.15s',\n borderBottomWidth: '1px',\n width: 'calc(min(15ch, 100%))',\n p: [0],\n py: ['2px'],\n 'input::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n 'input::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n ':focus': {\n borderColor: 'primary',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: 'none !important',\n },\n ...getSizeStyles(size),\n ...sx,\n }\n return <ThemedInput {...props} ref={ref} sx={styles} />\n}\n\nexport default forwardRef(Input)\n","import React, { forwardRef } from 'react'\nimport { useThemeUI, Slider as ThemeSlider } from 'theme-ui'\n\nconst Slider = ({ sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const {\n theme: { rawColors: colors },\n } = useThemeUI()\n\n return (\n <ThemeSlider\n ref={ref}\n sx={{\n '&::-webkit-slider-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n '&::-moz-range-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: `${colors.secondary} !important`,\n },\n ':focus': {\n color: color,\n '&::-webkit-slider-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n '&::-moz-range-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n },\n color: color,\n ...sx,\n }}\n {...props}\n />\n )\n}\n\nexport default forwardRef(Slider)\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst styles = {\n reset: {\n verticalAlign: 'baseline',\n border: 0,\n outline: 0,\n margin: 0,\n padding: 0,\n },\n row: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderTopWidth: '1px',\n borderColor: 'muted',\n pt: [3, 3, 3, '20px'],\n pb: [3, 3, 3, '20px'],\n mb: ['2px'],\n },\n header: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n index: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n entry: {\n display: 'block',\n fontSize: [2, 2, 2, 3],\n fontFamily: 'faux',\n letterSpacing: 'faux',\n mb: ['1px'],\n mt: [2, 0, 0, 0],\n },\n}\n\nconst Table = ({\n data,\n sx,\n color,\n header,\n columns,\n start,\n width,\n index = true,\n borderBottom = true,\n borderTop = true,\n}) => {\n if (!start || !columns || !width) {\n throw new Error('Must provide columns, start, and width')\n }\n return (\n <Box as='table' sx={{ display: 'block', ...sx }}>\n <Box as='tbody' sx={{ display: 'block' }}>\n {header && (\n <Row\n as='tr'\n sx={{\n ...styles.reset,\n ...styles.header,\n ...styles.row,\n color: color,\n borderTopWidth: !borderTop ? '0px' : '1px',\n }}\n >\n <Column as='td' start={[1]} width={columns} sx={styles.index}>\n {header}\n </Column>\n </Row>\n )}\n {data.map((row, i) => {\n return (\n <Row\n as='tr'\n columns={columns}\n key={i}\n sx={{\n ...styles.reset,\n ...styles.row,\n pb:\n borderBottom && i === data.length - 1\n ? ['18px', '18px', '18px', '22px']\n : [3, 3, 3, '20px'],\n borderBottomWidth:\n borderBottom && i === data.length - 1 ? '1px' : '0px',\n borderTopWidth:\n !borderTop && i === 0 && !header ? '0px' : '1px',\n }}\n >\n {row.map((column, j) => {\n return (\n <Column\n as='td'\n key={j}\n start={start[j]}\n width={width[j]}\n sx={\n j == 0 && index\n ? { ...styles.reset, ...styles.index }\n : { ...styles.reset, ...styles.entry }\n }\n >\n {column}\n </Column>\n )\n })}\n </Row>\n )\n })}\n </Box>\n </Box>\n )\n}\n\nexport default Table\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Toggle = ({ value, onClick, disabled, sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n value = disabled ? false : value\n return (\n <Box\n ref={ref}\n as='button'\n onClick={onClick}\n role='checkbox'\n aria-checked={value}\n aria-label='Toggle'\n sx={{\n border: 'none',\n background: 'none',\n cursor: disabled ? 'default' : 'pointer',\n p: [0],\n m: [0],\n display: 'inline-block',\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n width: '50px',\n height: '20px',\n borderRadius: '20px',\n backgroundColor: value\n ? transparentize(color, color == 'primary' ? 0.5 : 0.45)\n : 'muted',\n position: 'relative',\n transition: '0.15s',\n display: 'inline-block',\n }}\n >\n <Box\n sx={{\n width: '14px',\n height: '14px',\n borderRadius: '7px',\n position: 'absolute',\n left: value ? '32px' : '4px',\n top: '3px',\n backgroundColor: value ? color : 'secondary',\n transition: '0.15s',\n }}\n ></Box>\n </Box>\n </Box>\n )\n}\n\nexport default forwardRef(Toggle)\n","const defaultOptions = {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n}\n\nconst formatDateElement = (date, element, option) => {\n if (!option) {\n return null\n }\n\n const format = typeof option === 'string' ? option : defaultOptions[element]\n\n const result = date.toLocaleString('default', {\n [element]: format,\n })\n\n if (format === 'numeric' && ['day', 'month'].includes(element)) {\n return result.padStart(2, '0')\n } else {\n return result\n }\n}\nconst formatDate = (date, options = defaultOptions) => {\n const d = new Date(date.replace(/-/g, '/'))\n\n const month = formatDateElement(d, 'month', options.month)\n const day = formatDateElement(d, 'day', options.day)\n const year = formatDateElement(d, 'year', options.year)\n\n return [month, day, year].filter(Boolean).join(options.separator ?? ' ')\n}\n\nexport default formatDate\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { PoopSad } from '@carbonplan/emoji'\nimport Layout from './layout'\nimport Row from './row'\nimport Column from './column'\n\nconst Custom404 = () => {\n return (\n <Layout\n footer={false}\n title={'404 – CarbonPlan'}\n description={\n \"Sorry but we can't seem to find the page you are looking for.\"\n }\n >\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Box as='h1' variant='styles.h1'>\n Oops!\n </Box>\n <Box\n sx={{\n fontSize: [4, 4, 4, 5],\n lineHeight: 'h3',\n mt: [3, 4, 4],\n mb: [2, 3, 3],\n maxWidth: ['90%', '90%', '400px'],\n }}\n >\n Sorry but we can't seem to find the page you are looking for.\n </Box>\n <Box\n sx={{\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [2, 2, 2, 3],\n mt: [4, 5, 5],\n }}\n >\n ERROR CODE 404\n </Box>\n </Column>\n <Column start={[2, 5, 7, 7]} width={[4, 4, 4, 4]}>\n <Box\n sx={{\n width: ['100%'],\n mt: [2, 4, 4, 5],\n fill: 'primary',\n }}\n >\n <PoopSad sx={{ width: '100%', height: 'auto' }} />\n </Box>\n </Column>\n </Row>\n </Layout>\n )\n}\n\nexport default Custom404\n","import React from 'react'\nimport { Box, IconButton } from 'theme-ui'\n\nconst Expander = ({ value, id, onClick, sx }) => {\n return (\n <IconButton\n onClick={onClick}\n id={id}\n role='checkbox'\n aria-checked={value}\n aria-label='Expand'\n sx={{\n display: 'inline-block',\n width: 24,\n height: 24,\n p: [1],\n cursor: 'pointer',\n fill: 'secondary',\n stroke: 'secondary',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n fill: 'primary',\n stroke: 'primary',\n },\n },\n ...sx,\n }}\n >\n <svg viewBox='0 0 16 16'>\n <path\n d='M8,0 V16 M0,8 H16'\n style={{\n strokeWidth: 2,\n transition: '0.25s all',\n transformOrigin: '8px 8px',\n transform: value ? 'rotate(45deg)' : '',\n }}\n />\n </svg>\n </IconButton>\n )\n}\n\nexport default Expander\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nimport Group from './group'\n\nconst Figure = ({ as = 'figure', children, sx }) => {\n return (\n <Box\n as={as}\n sx={{\n my: [6, 6, 6, 7],\n '@media print': {\n breakInside: 'avoid',\n },\n ...sx,\n }}\n >\n <Group spacing={[4, 4, 4, 5]}>{children}</Group>\n </Box>\n )\n}\n\nexport default Figure\n","import React from 'react'\nimport Caption from './caption'\n\nconst FigureCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='figure'>\n {children}\n </Caption>\n )\n}\n\nexport default FigureCaption\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\nimport Sidenote from './sidenote'\n\nconst Heading = ({\n children,\n sidenote,\n variant = 'h1',\n description,\n descriptionStart = [1, 3, 5, 5],\n descriptionWidth = [5, 5, 5, 4],\n sx,\n}) => {\n let titleWidth = [6, 6, 6, 6]\n if (description) {\n titleWidth[1] = descriptionStart[1] - 1\n titleWidth[2] = descriptionStart[2] - 2\n titleWidth[3] = descriptionStart[3] - 2\n }\n\n if (!['h1', 'h2'].includes(variant)) {\n throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`)\n }\n\n return (\n <Row sx={{ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8], ...sx }}>\n <Column start={[1, 1, 2, 2]} width={titleWidth}>\n {variant === 'h1' && (\n <Box as='h1' variant='styles.h1' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n {variant === 'h2' && (\n <Box as='h2' variant='styles.h2' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n </Column>\n {sidenote && <Sidenote variant={variant}>{sidenote}</Sidenote>}\n {description && (\n <Column start={descriptionStart} width={descriptionWidth}>\n <Box\n sx={{\n mt: [4, '5px', '20px', '31px'],\n fontSize: [2, 2, 2, 3],\n }}\n >\n {description}\n </Box>\n </Column>\n )}\n </Row>\n )\n}\n\nexport default Heading\n","import React from 'react'\nimport { Flex } from 'theme-ui'\nimport { RotatingArrow } from '@carbonplan/icons'\nimport Button from './button'\n\nconst LinkGroup = ({\n members,\n color,\n inverted,\n tracking,\n size = 'xs',\n rowGap = [2, 2, 2, 3],\n columnGap = [3, 3, 3, 4],\n direction = 'horizontal',\n sx,\n}) => {\n return (\n <Flex\n sx={{\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n rowGap,\n columnGap,\n flexWrap: 'wrap',\n ...sx,\n }}\n >\n {members.map((d, i) => {\n return (\n <Button\n key={i}\n href={d.href}\n label={d.label}\n size={size}\n sx={{ color: color }}\n inverted={inverted}\n suffix={<RotatingArrow />}\n tracking={tracking}\n >\n {d.label}\n </Button>\n )\n })}\n </Flex>\n )\n}\n\nexport default LinkGroup\n","import React, { useRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport getProps from './utils/get-props'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Select = ({ children, size = 'sm', sx, sxSelect, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const sizeStyles = getSizeStyles(size)\n const ref = useRef(null)\n\n const { onChange } = props\n const omitOnChange = getProps((k) => k !== 'onChange')(props)\n\n if (!['xs', 'sm', 'md'].includes(size)) {\n throw new Error('Size must be xs, sm, or md')\n }\n\n let pr, height, width, ml, top\n\n if (size === 'xs') {\n height = [14, 14, 14, 16]\n width = [14, 14, 14, 14]\n top = ['1px']\n ml = ['-14px', '-14px', '-14px', '-16px']\n }\n\n if (size === 'sm') {\n height = [15, 15, 15, 20]\n width = [15, 15, 15, 20]\n top = ['1px']\n ml = ['-16px', '-16px', '-16px', '-20px']\n }\n\n if (size === 'md') {\n height = [20, 20, 20, 20]\n width = [20, 20, 20, 20]\n top = ['2px']\n ml = ['-20px', '-20px', '-20px', '-20px']\n }\n\n pr = width.map((d) => d + 12)\n\n return (\n <Box\n sx={{\n display: 'inline-block',\n ...sx,\n }}\n >\n <Box\n as='select'\n ref={ref}\n onChange={(e) => {\n ref.current.blur()\n if (onChange) onChange(e)\n }}\n sx={{\n ...sizeStyles,\n lineHeight: 'normal',\n cursor: 'pointer',\n WebkitAppearance: 'none',\n MozAppearance: 'none',\n pb: ['5px'],\n bg: 'background',\n pr: pr,\n border: 'none',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderBottomColor: 'primary',\n borderRadius: '0px',\n color: 'text',\n width: 'fit-content',\n color: color,\n userSelect: 'none',\n '@media (hover: none) and (pointer: coarse)': {\n '&:focus-visible': {\n outline: 'none !important',\n background: 'transparent !important',\n },\n },\n ...sxSelect,\n }}\n {...omitOnChange}\n >\n {children}\n </Box>\n <Arrow\n sx={{\n width: width,\n height: height,\n position: 'relative',\n ml: ml,\n top: top,\n fill: 'secondary',\n transform: 'rotate(135deg)',\n pointerEvents: 'none',\n }}\n />\n </Box>\n )\n}\n\nexport default Select\n","const getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nexport default getProps\n","import React from 'react'\nimport Caption from './caption'\n\nconst TableCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='table'>\n {children}\n </Caption>\n )\n}\n\nexport default TableCaption\n","import React from 'react'\n\nconst Tracking = ({ id }) => {\n if (!id) {\n return null\n }\n return (\n <>\n <script async src={`https://www.googletagmanager.com/gtag/js?id=${id}`} />\n <script\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}', {\n page_path: window.location.pathname,\n });\n `,\n }}\n />\n </>\n )\n}\n\nexport default Tracking\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Tray = ({ expanded, sx, children }) => {\n return (\n <>\n <Box\n sx={{\n position: 'fixed',\n top: '56px',\n bottom: '0px',\n left: '0px',\n width: 'calc(100vw)',\n mt: ['56px'],\n bg: 'background',\n zIndex: 1000,\n transition: 'opacity 0.15s',\n opacity: expanded ? 0.9 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n }}\n />\n <Box\n sx={{\n position: 'fixed',\n width: 'calc(100vw)',\n top: '0px',\n mt: ['56px'],\n pb: [6, 7, 7, 8],\n pt: [5, 6, 7, 8],\n bg: 'background',\n zIndex: 1100,\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n transition: 'transform 0.15s',\n ml: [-3, -4, -5, -6],\n pl: [3, 4, 5, 6],\n pr: [3, 4, 5, 6],\n transform: expanded ? 'translateY(0)' : 'translateY(-100%)',\n ...sx,\n }}\n >\n <Row>\n <Column start={[1, 1, 1, 1]} width={[6, 8, 10, 10]}>\n {children}\n </Column>\n </Row>\n </Box>\n </>\n )\n}\n\nexport default Tray\n","import { useEffect, useState } from 'react'\n\nimport getScrollbarWidth from './get-scrollbar-width'\n\nconst useScrollbarClass = () => {\n const [className, setClassName] = useState(null)\n\n useEffect(() => {\n if (document && getScrollbarWidth(document) > 0) {\n setClassName('custom-scrollbar')\n }\n }, [])\n\n return className\n}\n\nexport default useScrollbarClass\n"],"names":["_ref","color","srcProp","altProp","_ref$color","_ref$width","width","maxWidth","name","github","alt","src","sx","props","console","warn","toLowerCase","replace","React","createElement","Box","_extends","height","borderRadius","position","display","verticalAlign","bg","Image","opacity","filter","_excluded","Row","columnGap","rowGap","children","columns","gap","_objectWithoutPropertiesLoose","makeArray","input","Array","isArray","includes","length","Error","map","d","flat","Number","isInteger","Grid","start","dl","dr","ml","mr","end","i","gridColumnStart","gridColumnEnd","xs","sm","md","lg","xl","Group","marginValue","_ref$direction","direction","_ref$spacing","spacing","sizes","hasOwnProperty","marginProperty","additionalStyles","Children","child","_extends2","Blank","justifyContent","alignItems","fontFamily","letterSpacing","fontSize","overflow","specialChars","forwardRef","ref","href","_ref2","internal","_ref2$internal","tracking","_ref2$tracking","startsWith","NextLink","passHref","ThemedLink","action","category","track","e","window","gtag","event_category","event_label","label","value","event","Link","onClick","onContextMenu","getSizeStyles","size","lineHeight","Button$1","offset","margin","strokeWidth","_ref$size","prefix","suffix","inverted","align","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","sxProp","_excluded2","baseColor","hoverColor","transform","type","hover","cloneElement","id","transition","style","sizeStyles","border","background","padding","textAlign","cursor","Inner","as","textDecoration","mb","fill","pb","textTransform","Arrow","top","_ref$as","number","Fragment","_ref$label","mx","pr","styles","setClim","px","userSelect","minWidth","DIMENSIONS","Gradient","colormap","discrete","horizontal","step","css","join","minHeight","mt","colors","hinted","Label","_ref3","units","alignSelf","writingMode","whiteSpace","InlineColor","Colors","Meta","title","description","card","_useThemeUI","useThemeUI","theme","colorMode","titleProp","descriptionProp","cardProp","Head","content","rel","crossOrigin","property","Logo","stroke","viewBox","Menu","IconButton","marginTop","flexShrink","xmlns","x1","y1","x2","y2","className","current","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","url","HoverArrow","pointerEvents","left","Nav","link","mode","nav","setExpanded","NavGroup","key","Header","status","menuItems","useState","expanded","_useState","pt","Column","zIndex","Flex","right","bottom","maxHeight","backgroundColor","Container","Monogram","Dimmer","_useColorMode","useColorMode","setColorMode","toggle","useCallback","role","Sun","GitSha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","rawColors","secondary","sha","shortSha","substring","Separator","Text","r","cx","cy","format","toFixed","init","setDisplay","useEffect","setFromEvent","x","clientX","clientY","y","addEventListener","removeEventListener","_setFromEvent","documnt","Math","min","scrollY","document","body","offsetHeight","scrollFraction","transformOrigin","Value","num","pad","toString","padStart","fade","keyframes","from","to","FadeIn","duration","_ref$duration","delay","_ref$delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","visibility","appendChild","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","metaKey","prev","GuideColumns","indices","colorCycle","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","borderLeftColor","borderRightColor","Settings","settings","footer","_ref$footer","header","_ref$header","_ref$metadata","metadata","_ref$links","dimmer","_ref$dimmer","_ref$guide","guide","scrollbar","_ref$scrollbar","container","_ref$container","_ref$printable","printable","_ref$fade","hideOnPrint","query","matchMedia","breakpoints","onchange","matches","push","flexDirection","flex","Footer","Metadata","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","Object","keys","reduce","o","assign","_Object$assign","isAll","option","updateValues","updatedToggle","values","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","_duplicateOptions","Sidenote","variant","_ref$variant","p","WebkitAppearance","outline","ThemedInput","Input","ThemeSlider","boxShadow","reset","row","index","entry","disabled","transparentize","defaultOptions","month","day","year","formatDateElement","date","element","_date$toLocaleString","result","toLocaleString","members","_ref2$direction","_ref2$spacing","limit","fixedCount","idx","max","excess","Avatar","firstChar","filteredChildren","slice","_ref4","clim","setClimStep","_ref4$setClimStep","_ref4$format","_ref4$horizontal","_ref4$bottom","sxClim","dx","climRef","useRef","climMinDragging","setClimMinDragging","climMaxDragging","_useState2","setClimMaxDragging","dy","scale","draggingFunction","pageX","pageY","target","setAttribute","updater","listener","code","activeElement","preventDefault","focus","increment","decrement","ClimMin","tabIndex","borderBottom","_ref5","primary","onMouseDown","handleMouseDown","ClimMax","_ref6","flexGrow","Layout","PoopSad","my","breakInside","Caption","_ref2$showAll","showAll","_ref2$multiSelect","sidenote","descriptionStart","_ref$descriptionStart","_ref$descriptionWidth","descriptionWidth","titleWidth","_ref$rowGap","_ref$columnGap","flexWrap","Button","RotatingArrow","test","sxSelect","onChange","omitOnChange","k","next","blur","MozAppearance","borderBottomStyle","borderBottomColor","data","_ref$index","_ref$borderBottom","borderTop","_ref$borderTop","column","j","async","dangerouslySetInnerHTML","__html","pl","_options$separator","Date","Boolean","separator","setClassName"],"mappings":"iuBAGe,SAAAA,GACbC,IAcIC,EAASC,EAdbF,EAAAA,EAAAA,MAAAA,OASI,IAAAG,EATI,cASJA,EAAAC,EAAAL,EARJM,MAAAA,OAAQ,IAAAD,EAAA,OACRE,EAAAA,EAAAA,EAAAA,SACAC,EAMIR,EANJQ,KACAC,EAKIT,EALJS,OACAC,EAAAA,EAAAA,IACAC,EAAAA,EAAAA,IACAC,EAAAA,EAAAA,GACGC,SAoBH,OAlBKL,GAASG,GAAQF,GACpBK,QAAQC,KAAK,4CAIXP,GACFN,wCAAgDM,EAC7CQ,cACAC,QAAQ,IAAK,KAFT,OAGPd,EAAUO,GAAOF,GACRC,GACTP,EAAgCO,sBAAAA,EAAhC,OACAN,EAAUO,GAAOD,IAEjBP,EAAUS,EACVR,EAAUO,GAIVQ,EAAC,QAAAC,cAAAC,MACCC,EAAA,CAAAT,GACEN,EAAAA,CAAAA,MAAOA,EACPC,SAAUA,EACVe,OAAQ,OACRC,aAAc,MACdC,SAAU,WACVC,QAAS,eACTC,cAAe,MACfC,GAAI1B,GACDW,IAEDC,GAEJK,EAAAA,QAACC,cAAAS,EAAAA,MACC,CAAAlB,IAAKP,EACLQ,IAAKT,EACLU,GAAI,CACFiB,QAAS5B,GAAmB,gBAAVA,EAA0B,IAAO,EACnD6B,OACE7B,GAAmB,gBAAVA,EACL,kDACA,OACNK,MAAO,OACPiB,aAAc,MACdE,QAAS,WAKlB,EC/DDM,EAAA,CAAA,WAAA,KAAA,UAAA,OAGMC,EAAM,SAA8ChC,GAAA,IAiBxDiC,EAAeC,EAjByCC,EAAAnC,EAA3CmC,SAAUvB,EAAiCZ,EAAjCY,GAAIwB,EAAAA,EAAAA,QAASC,EAAAA,EAAAA,IAAQxB,EAAYyB,EAAAtC,EAAA+B,GAClDQ,EAAY,SAACC,GAIjB,GAHKC,MAAMC,QAAQF,KACjBA,EAAQ,CAACA,EAAOA,EAAOA,EAAOA,IAE5BC,MAAMC,QAAQF,KAAW,CAAC,EAAG,EAAG,GAAGG,SAASH,EAAMI,QACpD,MAAUC,IAAAA,MAAM,mCAQlB,OANIJ,MAAMC,QAAQF,IAA0B,GAAhBA,EAAMI,SAChCJ,EAAQA,EAAMM,IAAI,SAACC,GAAD,MAAO,CAACA,EAAR,GAAYC,QAE5BP,MAAMC,QAAQF,IAA0B,GAAhBA,EAAMI,SAChCJ,EAAQA,EAAMM,IAAI,SAACC,GAAM,MAAA,CAACA,EAAGA,EAAX,GAAeC,QAGpCR,CAAA,EAkBD,OAfIS,OAAOC,UAAUb,IAAQI,MAAMC,QAAQL,IAEzCJ,EADAI,EAAME,EAAUF,GAEhBH,EAASG,IAETJ,EAAY,CAAC,EAAG,EAAG,EAAG,GACtBC,EAAS,CAAC,EAAG,EAAG,EAAG,IAInBE,EADEa,OAAOC,UAAUd,IAAYK,MAAMC,QAAQN,GACnCG,EAAUH,GAEV,CAAC,EAAG,EAAG,GAAI,IAIrBlB,EAAA,QAAAC,cAACgC,OAAD9B,EAAA,CAAA,EACMR,EADN,CAEEuB,QAASA,EACTxB,GACEqB,EAAAA,CAAAA,UAAWA,EACXC,OAAQA,GACLtB,KAGJuB,EAGN,kDC9Cc,SAAsDnC,GAAA,MAAnDoD,EAAAA,MAAO9C,EAAAA,EAAAA,MAAO+C,EAAqCrD,EAArCqD,GAAIC,IAAAA,GAAInB,EAAAA,EAAAA,SAAUvB,EAAmBZ,EAAnBY,GAAOC,SAEvDP,EAAQA,GAAS,OAEjB,IAAeiC,EAAG,SAACC,GAKjB,GAJIA,IAAUC,MAAMC,QAAQF,KAC1BA,EAAQ,CAACA,KAGN,CAAC,EAAG,EAAG,GAAGG,SAASH,EAAMI,QAC5B,MAAUC,IAAAA,MAAM,mCASlB,OANIJ,MAAMC,QAAQF,IAA0B,GAAhBA,EAAMI,OAChCJ,EAAQA,EAAMM,IAAI,SAACC,GAAM,MAAA,CAACA,EAAGA,EAAGA,EAAGA,EAAjB,GAAqBC,OAC9BP,MAAMC,QAAQF,IAA0B,GAAhBA,EAAMI,SACvCJ,EAAQA,EAAMM,IAAI,SAACC,GAAD,MAAO,CAACA,EAAGA,EAAX,GAAeC,QAIpCR,CAAA,EAEDY,EAAQb,EArBRa,EAAQA,GAAS,QAsBjB9C,EAAQiC,EAAUjC,GAElB,IAKIiD,EAAIC,EALCC,EAAGL,EAAMN,IAAI,SAACC,EAAGW,GACxB,MAAS,QAALX,EAAoB,OACjBA,EAAIzC,EAAMoD,EAClB,GAID,GAAIL,EAAI,CACN,IAAK,CAAC,GAAK,GAAGV,SAASU,GACrB,MAAM,UAAU,uBAEP,KAAPA,IACFE,EAAK,CAAC,SAAU,GAAI,GAAI,IAEf,IAAPF,IACFE,EAAK,EAAE,GAAI,GAAI,GAAI,GAEtB,CAED,GAAID,EAAI,CACN,IAAK,CAAC,GAAK,GAAGX,SAASW,GACrB,MAAM,UAAU,uBAEP,KAAPA,IACFE,EAAK,CAAC,SAAU,GAAI,GAAI,IAEf,IAAPF,IACFE,EAAK,EAAE,GAAI,GAAI,GAAI,GAEtB,CAED,OACEtC,wBAACE,EAAAA,IAADC,EAAA,CAAA,EACMR,EADN,CAEED,GAAES,EAAA,CACAsC,gBAAiBP,EACjBQ,cAAeH,EACfF,GAAIA,EACJC,GAAIA,GACD5C,KAGJuB,EAGN,ICtEa,CACZ0B,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,IAEIC,EAAG,YAAG/B,IACfgC,EADehC,IAAAA,SAA2DiC,EAAApE,EAAjDqE,UAAAA,aAAY,WAAqCD,EAAAE,EAAAtE,EAAzBuE,QAAAA,aAAU,KAAeD,EAAT1D,EAAAA,EAAAA,GAQjE,GALEuD,EADqB,iBAAZI,GAAwBC,EAAMC,eAAeF,GACxCC,EAAMD,GAENA,GAGX,CAAC,aAAc,YAAY5B,SAAS0B,GACvC,UAAMxB,MACJ,kEAIJ,IAAM6B,EAA+B,aAAdL,EAA2B,KAAO,KACnDM,EACU,eAAdN,EAA6B,CAAE5C,QAAS,gBAAmB,CAD7D,EAEA,OACEP,EAAAA,QAAAC,cAACC,EAAAA,IAAD,CAAKR,GAAIA,GACNM,EAAAA,QAAM0D,SAAS9B,IAAIX,EAAU,SAAC0C,EAAOnB,GAAM,IAAAoB,EAC1C,OACE5D,EAAAA,QAACC,cAAAC,EAAAA,IACC,CAAAR,GACG8D,GAAAA,EAAAA,GAAAA,EAAAA,GAAiBhB,EAAIvB,EAASS,OAAS,EAAIuB,EAAc,EAD1DW,GAEGH,IAGJE,EAGN,GAGN,2FCpCUL,EAAG,CACZX,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,GACLC,GAAI,CAAC,IAGIc,EAAG,SAA4B/E,GACxC,OACEkB,EAAA,QAAAC,cAACC,EAAAA,IAAD,CACER,GAAI,CACFe,GAAI,QACJL,OAAQ,OACRf,SANkCP,EAAfO,SAOnBgB,aAAc,QAGhBL,EAAA,QAAAC,cAACC,MAAD,CACER,GAAI,CACFa,QAAS,OACTuD,eAAgB,SAChBC,WAAY,SACZ3D,OAAQ,SAGVJ,EAAAA,QAAAC,cAACC,EAADA,IAAA,CACER,GAAI,CACFsE,WAAY,OACZC,cAAe,OACfC,SAAU,CAAC,EAAG,EAAG,EAAG,KAJxB,IAlBkCpF,EAAzBqF,WA8BhB,EC7CDtD,EAAA,CAAA,KAAA,YCGMuD,EAAe,CAAC,IAAK,IAAK,IAAK,KCHrCvD,EAAA,CAAA,OAAA,WAAA,WAAA,cAkEyBwD,EAAAA,WAjDZ,SAEXC,EAAAA,GACG,IAAAC,EAAAC,EAFDD,KAAMtD,EAAAA,EAAAA,SAAUwD,EAAAA,EAAAA,SAAAA,OAAW,IAAAC,GAAOC,EAAAA,EAAAA,EAAAA,SAAAA,OAAW,IAAAC,GAAUjF,EAAAA,SAGzD,GAAI8E,GAAaF,GAAQA,EAAKM,WAAW,KACvC,OACE7E,UAACC,cAAA6E,EAAAA,SAASP,KAAMA,EAAMQ,UAAQ,GAC5B/E,UAAAC,cAAC+E,EAAAA,KAAD7E,EAAA,CAAYmE,IAAKA,GAAS3E,GACvBsB,IAIE0D,GAAAA,EAAU,CACnB,IAAIM,EACJC,EACIX,GAAQA,EAAK9C,SAAS,QACxBwD,EAAS,MACTC,EAAW,aAEXD,EAAS,UACTC,EAAW,YAEb,IAAWC,EAAG,SAACC,IAnCL,SAAwCtG,GAAA,IAAAmG,EAAAnG,EAArCmG,OACY,mBAAhBI,OAAOC,KAKlBD,OAAOC,KAAK,QAASL,EAAQ,CAC3BM,eAPqBL,EAAAA,SAQrBM,YAR+BC,EAAAA,MAS/BC,MATsCA,EAAAA,QAEtC9F,QAAQC,KAAyDoF,oDAAAA,EACjE,KAQH,CAyBKU,CAAM,CACJV,OAAQA,EACRC,SAAUA,EACVO,MAAOlB,GAEV,EACD,OACEvE,EAAAA,QAAAC,cAAC+E,EAADY,KAAAzF,EAAA,CACEmE,IAAKA,EACLuB,QAASV,EACTW,cAAeX,EACfZ,KAAMA,GACF5E,GAEHsB,EAGN,CACC,OACEjB,EAAAA,QAAAC,cAAC+E,OAAD7E,EAAA,CAAYmE,IAAKA,EAAKC,KAAMA,GAAU5E,GACnCsB,EAIR,GChEK8E,EAAgB,SAACC,GACrB,IAAK,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMvE,SAASuE,GAC3C,MAAUrE,IAAAA,MAAM,sCAGlB,IAAAuC,EAAcF,EAAYC,EAAegC,EAqCzC,MAnCa,OAATD,IACF9B,EAAW,CAAC,EAAG,EAAG,EAAG,GACrBF,EAAa,OACbC,EAAgB,OAChBgC,EAAa,CAAC,MAGH,OAATD,IACF9B,EAAW,CAAC,EAAG,EAAG,EAAG,GACrBF,EAAa,OACbC,EAAgB,OAChBgC,EAAa,CAAC,MAGH,OAATD,IACF9B,EAAW,CAAC,EAAG,EAAG,EAAG,GACrBF,EAAa,OACbC,EAAgB,OAChBgC,EAAa,CAAC,MAGH,OAATD,IACF9B,EAAW,CAAC,EAAG,EAAG,EAAG,GACrBF,EAAa,UACbC,EAAgB,UAChBgC,EAAa,CAAC,IAAK,IAAK,KAAM,OAGnB,OAATD,IACF9B,EAAW,CAAC,EAAG,EAAG,EAAG,GACrBF,EAAa,UACbC,EAAgB,UAChBgC,EAAa,CAAC,OAGT,CAAE/B,SAAAA,EAAUF,WAAAA,EAAYC,cAAAA,EAAegC,WAAAA,EAC/C,2GC4KDC,EAAe7B,EAAUA,WAlNV,SAcbC,EAAAA,GACG,IAKH6B,EAAYC,EAAahG,EAAQhB,EAAOiH,EALrCC,EAAAxH,EAbDkH,KAAAA,OAAO,IAAAM,EAAA,KACPC,EAAAA,IAAAA,OACAC,EAWC1H,EAXD0H,OACAC,EAAAA,EAAAA,SACA/G,EAAAA,EAAAA,GACAuB,EAQCnC,EARDmC,SACAyF,EAOC5H,EAPD4H,MACAnC,EAAAA,EAAAA,KACAE,IAAAA,SACAE,EAIC7F,EAJD6F,SACGhF,EAILyB,EAAAtC,EAAA+B,GAAA,IAAK,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMY,SAASuE,GAC3C,MAAUrE,IAAAA,MAAM,sCAKlB,IA0CAgF,EACEC,EACAC,EACAC,EACAC,EACAC,IA/C2BtH,GAAM,CAAnC,EAAQX,EAARyF,EAAQzF,MAAUkI,EAElB7F,EAAAoD,EAAA0C,GAAeC,EAAGpI,IAAU0H,EAAW,YAAc,WACrCW,EAAGrI,GAAoB0H,EAAZ,UAAmC,YAEjD,OAATT,IACFI,EAAS,CAAC,MAAO,MAAO,MAAO,OAC/BhG,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBiH,EAAc,CAAC,IAAK,IAAK,IAAK,KAC9BF,EAAS,CAAEkB,UAAW,uBAGX,OAATrB,IACFI,EAAS,CAAC,MAAO,MAAO,MAAO,OAC/BhG,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBiH,EAAc,CAAC,IAAK,IAAK,IAAK,GAC9BF,EAAS,CAAEkB,UAAW,uBAGX,OAATrB,IACFI,EAAS,CAAC,MAAO,MAAO,MAAO,OAC/BhG,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBiH,EAAc,CAAC,EAAG,EAAG,EAAG,IAGb,OAATL,IACFI,EAAS,CAAC,OAAQ,OAAQ,OAAQ,QAClChG,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBiH,EAAc,CAAC,EAAG,EAAG,EAAG,IAGb,OAATL,IACFI,EAAS,CAAC,OAAQ,OAAQ,OAAQ,QAClChG,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBiH,EAAc,CAAC,EAAG,EAAG,EAAG,IAUtBK,GACFG,EAAcH,EACdI,EAAcJ,GAEVH,GAAUC,GACZK,EAAc,UACdC,EAAc,WACLP,EACTM,EAAc,UACLL,IACTM,EAAc,UAKhBC,EADkB,WAAhBF,EACa,CAAA,EAEAV,EAIfa,EADkB,WAAhBF,EACa,CAAA,EAEAX,EAGbI,IACFI,EAAc,CACZ,mCAAAxG,EAAA,CACEpB,MAAOqI,GACJb,EAAOe,KAAKC,QAGnBhB,EAASiB,EAAYA,aAACjB,EAAQ,CAC5BkB,GAAI,SACJ/H,GAAES,EAAA,CACAG,SAAU,WACVF,OAAQA,EACRhB,MAAOA,EACPkD,GAAIrB,EAAWmF,EAAS,CAAC,GACzBC,YAAaA,EACb7F,cAAeqG,EACfa,WAAY,gCACTnB,EAAO5G,MAAMD,OAKlB8G,IACFI,EAAc,CACZ,kCAAAzG,EAAA,CACEpB,MAAOqI,GACJZ,EAAOc,KAAKC,QAGnBf,EAASgB,EAAAA,aAAahB,EAAQ,CAC5BiB,GAAI,SACJ/H,GACEU,EAAAA,CAAAA,OAAQA,EACRhB,MAAOA,EACPiD,GAAIpB,EAAWmF,EAAS,CAAC,GACzBC,YAAaA,EACb7F,cAAesG,EACfY,WAAY,gCACTlB,EAAO7G,MAAMD,OAKtB,IAEMiI,EACDC,EAAAA,CAAAA,EAHY7B,EAAcC,GAI7BC,CAAAA,WAAY,KACZ4B,OAAQ,OACRC,WAAY,cACZvH,QAAS,QACTxB,MAAOoI,EACPY,QAAS,CAAC,GACVC,UAAW,OACXC,OAAQ,UACR7I,MAAO,cACP,4CAAAe,EAAA,CACE,UAAW,CACTpB,MAAOqI,IAENR,EACAD,IAEFM,GAGMiB,EACTlI,gDACEA,EAAC,QAAAC,cAAAC,EAADA,IACE,CAAAiI,GAAG,OACHV,GAAG,cACH/H,GAAES,EAAA,CAAII,QAAS,gBAAmBwG,IAEjCR,GAAUA,GAEbvG,EAAC,QAAAC,cAAAC,EAADA,KAAKiI,GAAG,OAAOzI,GAAI,CAAEgI,WAAY,gBAC9BzG,GAEHjB,EAAAA,QAACC,cAAAC,EAAAA,IACC,CAAAiI,GAAG,OACHV,GAAG,cACH/H,GAAMa,EAAAA,CAAAA,QAAS,gBAAmByG,IAEjCR,GAAUA,IAKjB,OAAIjC,EAEAvE,EAAAA,QAAAC,cAAC2F,EACCzF,EAAA,CAAAmE,IAAKA,EACLC,KAAMA,EACNE,SAAUA,EACVE,SAAUA,EACVjF,GACKiI,EAAAA,CAAAA,EAAAA,GACHS,eAAgB,UAEdzI,GAEHuI,GAKHlI,EAAAA,sBAACE,EAAAA,IAADC,EAAA,CAAKmE,IAAKA,EAAK6D,GAAG,SAASzI,GAAIiI,GAAWhI,GACvCuI,EAIR,+ECjHc7D,EAAAA,EAAAA,WA/FC,SAEdC,EAAAA,GADEmB,IAAAA,IAAAA,MAAOxE,EAAAA,EAAAA,SAAUwF,EAEhB3H,EAFgB2H,SAAU1H,EAAAA,EAAAA,MAAOwF,IAAAA,KAAME,EAAAA,EAAAA,SAAUE,EAEjD7F,EAFiD6F,SAAUjF,IAAAA,GAAOC,EAGrEyB,EAAAtC,EAAA+B,KAAkB9B,IAAU0H,EAAW,YAAc,WAC/CW,EAAarI,GAAoB0H,EAAZ,UAAmC,cAG5DoB,EAAAA,CAAAA,OAAQ,OACRE,QAAS,CAAC,GACV7D,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBnF,MAAOoI,EACPW,WAAY,cACZM,eAAgB,OAChBpE,WAAY,OACZiC,WAAY,KACZhC,cAAe,OACf7E,MAAO,cACP6I,OAAQ,UACRD,UAAW,OACXK,GAAI,CAAC,GACL,4CAA6C,CAC3C,gCAAiC,CAC/BhB,UAAW,gBACXiB,KAAMlB,GAER,UAAW,CACTrI,MAAOqI,KAGR1H,GAGMwI,EACTlI,EAAAA,8CACEA,EAAC,QAAAC,cAAAC,EAADA,KAAKR,GAAI,CAAEgI,WAAY,QAASzD,cAAe,OAAQsE,GAAI,CAAC,SACzDtH,GAEHjB,wBAACE,EAADA,IAAA,CACER,GAAI,CACFgI,WAAY,QACZnH,QAAS,eACTiI,cAAe,YACfvE,cAAe,YACfD,WAAY,UACZE,SAAU,CAAC,EAAG,EAAG,EAAG,KAGrBuB,GAEHzF,UAAAC,cAACC,EAAAA,IACC,CAAAiI,GAAG,OACHV,GAAG,YACH/H,GAAI,CACF2C,GAAI,CAAC,GACL9B,QAAS,iBAGXP,EAAAA,QAAAC,cAACwI,EAAAA,MACC,CAAAhB,GAAG,QACH/H,GAAI,CACFgI,WAAY,8BACZpH,SAAU,WACVoI,IAAK,CAAC,OACN3J,MAAOoI,EACP/G,OAAQ,CAAC,GAAI,GAAI,GAAI,IACrBhB,MAAO,CAAC,GAAI,GAAI,GAAI,SAO9B,OAAImF,EAEAvE,UAACC,cAAA2F,KACCtB,IAAKA,EACLC,KAAMA,EACNE,SAAUA,EACVE,SAAUA,EACVjF,GAAIiI,GACAhI,GAEHuI,GAKHlI,EAAA,QAAAC,cAACC,EAADA,IAAAC,EAAA,CAAKmE,IAAKA,EAAK6D,GAAG,SAASzI,GAAIiI,GAAWhI,GACvCuI,EAIR,KC/Fe,SAA+DpJ,GAAA,IAAA6J,EAAA7J,EAA5DqJ,GAAmBS,EAAyC9J,EAAzC8J,OAAQ3H,EAAAA,EAAAA,SAAUwE,EAAAA,EAAAA,MACtD,OACEzF,EAAAA,sBAACE,EAADA,IAAA,CACEiI,QAHkB,IAAAQ,EAAA,eAIlBjJ,GAAI,CACFX,MAAO,YACPwB,QAAS,QACTyH,UAAW,OACX9D,SAAU,CAAC,EAAG,EAAG,EAAG,GACpB,MAAO,CAAEnF,MAAO,aAChB,YAAa,CAAEA,MAAO,WACtB,kBAAmB,CACjBwB,QAAS,SACT2D,SAAU,CAAC,EAAG,EAAG,EAAG,MAIvB0E,GACC5I,UAAAC,cAAAD,EAAA,QAAA6I,SAAA,KACE7I,UAACC,cAAAC,EAAAA,KACCR,GAAI,CACF8I,cAAe,YACfvE,cAAe,YACf1D,QAAS,sBAvBwD,IAAAuI,EAAf,SAC9DA,EAkBQ,IAOWF,GACJ,IACP5I,EAAAA,QAACC,cAAAC,EAADA,KAAKR,GAAI,CAAEa,QAAS,eAAgBwI,GAAI,CAAC,GAAIC,GAAI,CAAC,KAAlD,MAGH/H,EAGN,yIClCKgI,EACE,SAACC,GACL,MAAO,CACLzI,GAAI,QACJoH,OAAQ,OACR9I,MAAO,UACPoK,GAAI,EACJnF,WAAY,OACZE,SAAU,CAAC,MAAO,EAAG,EAAG,GACxBD,cAAe,YACfuE,cAAe,YACfd,WAAY,eACZ0B,WAAYF,EAAU,kBAAoB,QAC1C9J,MAAO,cACPiK,SAAU,cAEb,EAGGC,EAAa,CACjBlK,MAAO,CAAC,OAAQ,OAAQ,OAAQ,QAChCgB,OAAQ,CAAC,OAAQ,QAAS,QAAS,UAG/BmJ,EAAW,SAAAzK,OAAuD0K,EAAA1K,EAApD0K,SAAUC,EAA0C3K,EAA1C2K,SAAUC,EAAAA,EAAAA,WAAYtK,IAAAA,MAAOgB,EAAatB,EAAbsB,OAC/CuJ,EAAI,EAAIH,EAAS9H,OAAU,IAO/BkI,EACJF,uBAAAA,EAAa,QAAU,OADhB,KANMF,EAAS5H,IAAI,SAACC,EAAGW,GAC9B,MAAcX,OAAAA,EAAMW,KAAAA,EAAImH,QACtBF,GAAYjH,EAAIgH,EAAS9H,OAAS,GAAQc,EAAI,GAAKmH,EAAnD,IAA6D,GAEhE,GAIWE,KAAK,KAFR,IAIT,OACE7J,EAAC,QAAAC,cAAAC,EAADA,IACE,CAAAR,GACMgK,EAAAA,CAAAA,EAAAA,EACA,CACEtK,MAAOA,GAASkK,EAAWlJ,OAC3BA,OAAQA,GAAUkJ,EAAWlK,OAE/B,CACEA,MAAOA,GAASkK,EAAWlK,MAC3B0K,UAAW1J,GAAUkJ,EAAWlJ,QARtC,CAUA2J,GAAIL,EAAa,CAAC,MAAO,MAAO,MAAO,GAAK,EAC5C7B,OAAQ,SAAGmC,GAA0BA,MAAAA,aAA1BA,EAAAA,OAAiCC,MAApC,EACRnC,WAAY8B,KAInB,EAEUM,EAAG,SAAAC,GAAA,IAAA1E,EAAA0E,EAAG1E,MAAO2E,EAAVD,EAAUC,MAAOV,EAAjBS,EAAiBT,WAAjB,OACZ1J,EAAAA,sBAACE,EAAAA,IAAD,CACER,IACGgK,GAAc,CACbtK,MAAO,CAAC,OAAQ,OAAQ,OAAQ,QAChCiL,UAAW,aAIfrK,UAAAC,cAACC,EAAAA,IAAD,CACER,GACE2I,EAAAA,CAAAA,GAAIqB,EAAa,EAAI,CAAC,OAAQ,OAAQ,OAAQ,QAC9C1F,WAAY,OACZE,SAAU,CAAC,MAAO,EAAG,EAAG,GACxBD,cAAe,YACfuE,cAAe,aACXkB,EACA,CAAA,EACA,CACEY,YAAa,cACbjD,UAAW,iBACXkD,WAAY,SACZhK,QAAS,eACT4D,SAAU,aAIjBsB,EAAO,IACRzF,UAACC,cAAAC,EAAAA,IACC,CAAAiI,GAAG,OACHzI,GAAI,CACF8I,cAAe,OACfzJ,MAAO,YACPwB,QAAS,iBAGV6J,IApCK,EC3DdvJ,EAAA,CAAA,KAAA,QAAA,YAGiB2J,EAAG,YAAG9K,IAAAA,EAAAA,EAAAA,GAAIX,EAAAA,EAAAA,MAAOkC,EAAyBnC,EAAzBmC,SAAatB,EAC7CyB,EAAAtC,EAAA+B,GAAA,OACEb,EAAAA,QAACC,cAAAC,EAADA,OACEiI,GAAG,OACHzI,GAAES,EAAA,CAAII,QAAS,eAAgBxB,MAAOA,GAAUW,IAC5CC,GAEHsB,EAGN,EAEKwJ,EAAS,CAEfA,QAAiB,SAAC9K,GAChB,OAAOK,wBAACwK,EAADrK,EAAA,CAAapB,MAAM,WAAcY,GACzC,EAED8K,UAAmB,SAAC9K,GAClB,OAAOK,EAAC,QAAAC,cAAAuK,EAAYrK,EAAA,CAAApB,MAAM,aAAgBY,GAC3C,EAED8K,WAAoB,SAAC9K,GACnB,OAAOK,EAAAA,QAAAC,cAACuK,EAADrK,EAAA,CAAapB,MAAM,cAAiBY,GAC5C,EAED8K,IAAa,SAAC9K,GACZ,OAAOK,EAAC,QAAAC,cAAAuK,KAAYzL,MAAM,OAAUY,GACrC,EAED8K,OAAgB,SAAC9K,GACf,OAAOK,EAAAA,QAACC,cAAAuK,EAAYrK,EAAA,CAAApB,MAAM,UAAaY,GACxC,EAED8K,OAAgB,SAAC9K,GACf,OAAOK,EAAA,QAAAC,cAACuK,EAADrK,EAAA,CAAapB,MAAM,UAAaY,GACxC,EAED8K,MAAe,SAAC9K,GACd,OAAOK,EAAAA,QAACC,cAAAuK,EAAYrK,EAAA,CAAApB,MAAM,SAAYY,GACvC,EAED8K,KAAc,SAAC9K,GACb,OAAOK,UAACC,cAAAuK,EAAYrK,EAAA,CAAApB,MAAM,QAAWY,GACtC,EAED8K,KAAc,SAAC9K,GACb,OAAOK,EAAA,QAAAC,cAACuK,EAADrK,EAAA,CAAapB,MAAM,QAAWY,GACtC,EAED8K,OAAgB,SAAC9K,GACf,OAAOK,UAACC,cAAAuK,KAAYzL,MAAM,UAAaY,GACxC,EAED8K,KAAc,SAAC9K,GACb,OAAOK,EAAA,QAAAC,cAACuK,EAAYrK,EAAA,CAAApB,MAAM,QAAWY,GACtC,EAED8K,KAAc,SAAC9K,GACb,OAAOK,EAAAA,QAAAC,cAACuK,EAAYrK,EAAA,CAAApB,MAAM,QAAWY,GACtC,GC3DK+K,EAAO,SAAkC5L,GAAA,IAAA6L,EAAA7L,EAA/B6L,MAAOC,EAAAA,EAAAA,YAAaC,EAAW/L,EAAX+L,KAClCC,EAA6BC,EAAAA,aAArBC,IAAAA,MAAOC,EAAfH,EAAeG,UACVL,GACHhL,QAAQC,KACN,sEAGC8K,GACH/K,QAAQC,KAAK,gEAEf,IAAeqL,EAAGP,GAAS,aACNQ,EACnBP,GACA,qGACIQ,EAAWP,GAAQ,oDAEzB,OACE7K,UAAAC,cAACoL,EAAAA,QACC,KAAArL,EAAAA,QAAAC,cAAA,QAAA,KAAQiL,GACRlL,UAAAC,cAAA,OAAA,CAAMX,KAAK,cAAcgM,QAASH,IAClCnL,EAAA,QAAAC,cAAA,OAAA,CAAMX,KAAK,WAAWgM,QAAQ,0CAC9BtL,UAAAC,cAAA,OAAA,CACEsL,IAAI,iBACJjE,KAAK,YACL/C,KAAK,8CAEPvE,EAAAA,QAAAC,cAAA,OAAA,CACEsL,IAAI,OACJjE,KAAK,gBACL/C,KAAK,8CAEPvE,EAAAA,8BACEuL,IAAI,UACJhH,KAAK,gEACL4D,GAAG,OACHb,KAAK,aACLkE,YAAY,cAEdxL,EAAAA,QAAAC,cAAA,OAAA,CACEsL,IAAI,UACJhH,KAAK,kEACL4D,GAAG,OACHb,KAAK,aACLkE,YAAY,cAEdxL,EAAAA,8BACEuL,IAAI,UACJhH,KAAK,yEACL4D,GAAG,OACHb,KAAK,aACLkE,YAAY,cAEdxL,UACEC,cAAA,OAAA,CAAAsL,IAAI,UACJhH,KAAK,qEACL4D,GAAG,OACHb,KAAK,aACLkE,YAAY,cAEdxL,EAAAA,8BAAMuL,IAAI,WAAWhH,KAAK,gDAC1BvE,EAAAA,8BAAMV,KAAK,cAAcgM,QAASN,EAAMhB,OAAOlC,aAC/C9H,EAAAA,QAAAC,cAAA,OAAA,CACEX,KAAK,eACLgM,QAAuB,UAAdL,EAAwB,QAAU,SAE7CjL,gCACEuL,IAAI,YACJhH,KAAK,sDACLxF,MAAM,YAERiB,EAAAA,8BACEuL,IAAI,mBACJjI,MAAM,UACNiB,KAAK,uDAEPvE,EAAAA,QAAMC,cAAA,OAAA,CAAAX,KAAK,0BAA0BgM,QAASN,EAAMhB,OAAOlC,aAC3D9H,EAAAA,QACEC,cAAA,OAAA,CAAAX,KAAK,0BACLgM,QAAQ,qDAEVtL,EACE,QAAAC,cAAA,OAAA,CAAAX,KAAK,uBACLgM,QAAQ,oDAEVtL,EAAM,QAAAC,cAAA,OAAA,CAAAwL,SAAS,WAAWH,QAASJ,IACnClL,EAAA,QAAAC,cAAA,OAAA,CAAMwL,SAAS,iBAAiBH,QAASH,IACzCnL,EAAAA,QAAMC,cAAA,OAAA,CAAAwL,SAAS,WAAWH,QAASF,IACnCpL,EAAAA,QAAAC,cAAA,OAAA,CAAMwL,SAAS,SAASH,QAAQ,2BAChCtL,EAAAA,8BAAMV,KAAK,gBAAgBgM,QAASJ,IACpClL,EAAAA,QAAAC,cAAA,OAAA,CAAMX,KAAK,sBAAsBgM,QAASH,IAC1CnL,gCAAMV,KAAK,gBAAgBgM,QAASF,IACpCpL,EAAM,QAAAC,cAAA,OAAA,CAAAX,KAAK,eAAegM,QAAQ,wBAClCtL,UAAAC,cAAA,OAAA,CAAMX,KAAK,mBAAmBgM,QAAQ,iBAG3C,EChGKI,EAAO,SAAkB5M,GAAA,IAAAa,EAAAQ,EAAA,CAAA,EAAArB,GAC7B,OACEkB,EAAA,QAAAC,cAACC,MAADC,EAAA,CACEgI,GAAG,MACH/I,MAAM,MACNkJ,KAAK,eACLqD,OAAO,OACPC,QAAQ,kBACJjM,GAEJK,UAAAC,cAAA,IAAA,KACED,EACE,QAAAC,cAAA,IAAA,KAAAD,EAAA,QAAAC,cAAA,OAAA,CACE4B,EAAE,kgBAON7B,EAAA,QAAAC,cAAA,IAAA,KACED,EAAAA,QACEC,cAAA,OAAA,CAAA4B,EAAE,qqBAQN7B,EACE,QAAAC,cAAA,IAAA,KAAAD,EAAA,QAAAC,cAAA,OAAA,CACE4B,EAAE,uTAKN7B,EAAA,QAAAC,cAAA,IAAA,KACED,EAAAA,QACEC,cAAA,OAAA,CAAA4B,EAAE,6cAON7B,EACE,QAAAC,cAAA,IAAA,KAAAD,EAAAA,QAAAC,cAAA,OAAA,CACE4B,EAAE,8YAMN7B,iCACEA,UACEC,cAAA,OAAA,CAAA4B,EAAE,yUAKN7B,EAAAA,QAAAC,cAAA,IAAA,KACED,gCACE6B,EAAE,scAMN7B,EAAAA,QACEC,cAAA,IAAA,KAAAD,UAAAC,cAAA,OAAA,CACE4B,EAAE,wIAIN7B,UAAAC,cAAA,IAAA,KACED,EACE,QAAAC,cAAA,OAAA,CAAA4B,EAAE,oqBAQN7B,EAAAA,QACEC,cAAA,IAAA,KAAAD,UAAAC,cAAA,OAAA,CACE4B,EAAE,2UAKN7B,UAAAC,cAAA,OAAA,CACE4B,EAAE,kNAGJ7B,EACE,QAAAC,cAAA,OAAA,CAAA4B,EAAE,2MAMX,EC1GDhB,EAAA,CAAA,QAAA,MAGUgL,EAAG,YAAGnG,IAAAA,EAAAA,EAAAA,MAAOhG,EAAAA,EAAAA,GAAOC,EAAYyB,EAAAtC,EAAA+B,GACxC,OACEb,EAAA,QAAAC,cAAC6L,EAAAA,WACC3L,EAAA,CAAAT,GACEuI,EAAAA,CAAAA,OAAQ,UACRK,KAAM,OACNjC,YAAa,MACbsF,OAAQ,OACR,SAAU,CACRhL,QAAS,KAEX,4CAA6C,CAC3C,iBAAkB,CAChBA,QAAS,OAGVjB,GAEL,aAAW,eACPC,IAEF+F,GACA1F,EAAAA,QACEC,cAAA,MAAA,CAAA0H,MAAO,CACLvI,MAAO,OACPgB,OAAQ,OACR2L,UAAW,OACXC,WAAY,GAEdC,MAAM,6BACNL,QAAQ,aAER5L,UAAMC,cAAA,OAAA,CAAAiM,GAAG,KAAKC,GAAG,OAAOC,GAAG,KAAKC,GAAG,SACnCrM,gCAAMkM,GAAG,KAAKC,GAAG,MAAMC,GAAG,KAAKC,GAAG,QAClCrM,EAAAA,QAAMC,cAAA,OAAA,CAAAiM,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,OACjCrM,EAAAA,QAAAC,cAAA,OAAA,CACE0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,uCAEJ7B,EACE,QAAAC,cAAA,OAAA,CAAA0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,yCAIP6D,GACC1F,EACE,QAAAC,cAAA,MAAA,CAAA0H,MAAO,CACLvI,MAAO,OACPgB,OAAQ,OACR2L,UAAW,OACXC,WAAY,GAEdC,MAAM,6BACNL,QAAQ,aAER5L,EAAA,QAAAC,cAAA,OAAA,CAAMiM,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,SAC1CrM,EAAM,QAAAC,cAAA,OAAA,CAAAiM,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,SAC1CrM,gCACE2H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,uCAEJ7B,EAAAA,QAAAC,cAAA,OAAA,CACE0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,yCAMb,ECpEOnC,EACA,SAAC6M,EAAS9G,EAAO+G,GACrB,YADuC,IAAlBA,IAAAA,GAAQ,GACtB,CACLpN,MAAO,OACPL,MAAOwN,IAAY9G,EAAQ,YAAc,OACzCvB,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,UACZC,cAAe,UACfwI,YAAa,QACbC,YAAa,QACbC,YAAa,MACbC,kBAAmB,MACnBC,eAAgBL,EAAQ,MAAQ,MAChCM,GAAI,CAAC,EAAG,EAAG,EAAG,GACd1E,eAAgB,OAChB7H,QAAS,QACTD,SAAU,WACVoH,WAAY,cACZ,4CAA6C,CAC3C,mBAAoB,CAClB/G,QAAS,IAGb,UAAW,CACT5B,MAAOwN,GAAW9G,EAAQ,YAAc,QAG7C,EAGGsH,EAAQ,CACZ,CAAEC,IAAK,QAASzM,QAAS,SACzB,CAAEyM,IAAK,WAAYzM,QAAS,YAC5B,CAAEyM,IAAK,OAAQzM,QAAS,QACxB,CAAEyM,IAAK,QAASzM,QAAS,UAGX0M,EAAG,WACjB,OACEjN,EAAC,QAAAC,cAAAwI,QACC,CAAAhB,GAAG,QACH/H,GAAI,CACFwN,cAAe,OACf3M,QAAS,eACTD,SAAU,WACV6M,KAAM,CAAC,QAAS,QAAS,QAAS,UAClCzE,IAAK,CAAC,OAAQ,OAAQ,OAAQ,QAC9B/H,QAAS,EACT+G,WAAY,wBACZL,UAAW,gBACXjI,MAAO,CAAC,GAAI,GAAI,GAAI,IACpBgB,OAAQ,CAAC,GAAI,GAAI,GAAI,MAI5B,EAEQgN,EAAG,SAA6CtO,GAAA,IAAAuO,EAAAvO,EAA1CuO,KAAMC,EAAAA,EAAAA,KAAMC,EAAAA,EAAAA,IAAKf,EAAyB1N,EAAzB0N,MAAOgB,EAAkB1O,EAAlB0O,YACrCR,EAAyBK,EAAjBL,IAAKzM,EAAY8M,EAAZ9M,QACPgE,EAAgB,WAAT+I,EAAoB,0BAA4BN,EAAM,IAAMA,EAEzE,MAAa,aAATM,GAAiC,UAATA,GAAoBC,IAAQP,EAEpDhN,EAAAA,QAAAC,cAAC6E,EAAD,QAAA,CAAUP,KAAMA,EAAMQ,UAAtB,GACE/E,UAACC,cAAA2F,EAAAA,MACCC,QAAS,WACH0H,IAAQP,GAAKQ,GAAY,EAC9B,EACD9N,GAAIA,EAAQ6N,EAAKP,EAAKR,IAEtBxM,EAAC,QAAAC,cAAAgN,EANH,MAOG1M,IAMLP,EAAAA,QAACC,cAAA2F,EAADA,KAAM,CAAArB,KAAMA,EAAM7E,GAAIA,EAAQ6N,EAAKP,EAAKR,IACtCxM,EAAAA,QAACC,cAAAgN,QACA1M,EAIR,EAEKkN,EAAW,SAAuCjJ,GAAA,IAA7B+I,EAAAA,EAAAA,IAAKD,EAAAA,EAAAA,KAAME,IAAAA,YACpC,OADsDhJ,EAApCuI,MACLnL,IAAI,SAACC,EAAGW,GACnB,OACExC,EAAAA,QAACC,cAAAmN,GACCM,IAAKlL,EACL6K,KAAMxL,EACNyL,KAAMA,EACNC,IAAKA,EACLf,MAAa,IAANhK,EACPgL,YAAaA,GAGlB,EACF,EAEWG,EAAG,YAAGC,IAAAA,EAAAA,EAAAA,OAAQN,EAAAA,EAAAA,KAAMC,EAAqBpD,EAArBoD,IAAKM,EAAgB1D,EAAhB0D,YACHC,EAAAA,UAAS,GAAlCC,EAAUP,EAAAA,GAAAA,EAEjBQ,EAAA,GAIA,OACEhO,EAAAA,QAACC,cAAAa,EACC,CAAApB,GAAI,CACFuO,GAAI,CAAC,QACL1F,GAAI,CAAC,KAGPvI,EAAC,QAAAC,cAAAiO,EAAO,CAAAhM,MAAO,CAAC,GAAI9C,MAAO,CAAC,IAC1BY,wBAACE,EAAAA,IAAD,CACER,GAAI,CAAEwN,cAAe,MAAO3M,QAAS,QAASnB,MAAO,iBAE3C,YAARkO,GAA8B,SAARA,IACtBtN,EAAA,QAAAC,cAAC6E,UAAD,CAAUP,KAAK,IAAIQ,UAAnB,GACE/E,EAAAA,QAACC,cAAA2F,EAADA,KACE,CAAA,aAAW,sBACXlG,GAAI,CACFa,QAAS,UAGXP,EAAAA,QAAAC,cAACyL,EACC,CAAAjE,GAAG,OACH/H,GAAI,CACFuI,OAAQ,UACRlJ,MAAO,gBAMP,MAARuO,GAAwB,UAARA,IAChBtN,EAAC,QAAAC,cAAA2F,EAAAA,KACC,CAAArB,KAAK,yBACL,aAAW,sBACX7E,GAAI,CAAEa,QAAS,UAEfP,EAAAA,QAAAC,cAACyL,EAAD,CAAMhM,GAAI,CAAEuI,OAAQ,UAAWlJ,MAAO,gBAK9CiB,EAAC,QAAAC,cAAAiO,EACC,CAAAhM,MAAO,CAAC,EAAG,GACX9C,MAAO,CAAC,EAAG,GACXgD,GAAI,EACJ1C,GAAI,CACFa,QAAS,CAACqN,EAAS,OAAS,OAAQ,OAAQ,OAAQ,QACpD7J,WAAY,WAGd/D,EAAA,QAAAC,cAACC,EAAAA,IACC,CAAAR,GAAI,CACFwE,SAAU,CAAC,EAAG,EAAG,GACjB5D,SAAU,WACVoI,IAAK,CAAC,OAAQ,OAAQ,UAGvBkF,EAAM,IAAOA,EAAP,IAAmB,KAG9B5N,EAAA,QAAAC,cAACiO,EAAD,CACEhM,MAAO,CAAC0L,EAAS,EAAI,EAAG,EAAG,GAAI,IAC/BxO,MAAO,CAACwO,EAAS,EAAI,EAAG,EAAG,EAAG,GAC9BlO,GAAI,CAAEyO,OAAQ,MAEdnO,EAAC,QAAAC,cAAAmO,EAAAA,KAAK,CAAA1O,GAAI,CAAEwN,cAAe,MAAOpJ,eAAgB,aAChD9D,EAAC,QAAAC,cAAAC,EAAAA,KACCR,GAAI,CACFa,QAAS,CAACqN,EAAS,OAAS,OAAQ,OAAQ,OAAQ,QACpDtL,GAAI,OACJnB,IAAK,OACLR,QAASoN,EAAW,EAAI,EACxBrG,WAAY,gBACZ5D,eAAgB,gBAChBC,WAAY,WAGb8J,GAEH7N,EAAAA,QAAAC,cAAC4L,EACC,CAAAnM,GAAI,CACFsM,WAAY,EACZ1J,GAAI,CAAC,SAEPoD,MAAOqI,EACPlI,QAxFK,SAACT,GACdoI,GAAaO,EACd,MA0FG/N,wBAACE,EAAAA,IAAD,CACER,GAAI,CACFiB,QAASoN,EAAW,EAAI,EACxBb,cAAea,EAAW,MAAQ,OAClCzN,SAAU,QACVoI,IAAK,MACL2F,MAAO,MACPC,OAAQ,MACRjF,SAAU,MACVkF,UAAW,QACXnP,MAAO,QACPoP,gBAAiB,aACjBL,OAAQ,IACRF,GAAI,CAAC,QACLvG,WAAY,kBAGd1H,EAAAA,QAACC,cAAAwO,EAADA,eACEzO,EAAAA,QAACC,cAAAa,EACC,KAAAd,UAAAC,cAACiO,EAAD,CAAQhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,EAAG,IAC5CY,EAAAA,QAACC,cAAAC,EAADA,IACE,CAAAiI,GAAG,MACHzI,GAAI,CACFa,QAASwN,EAAW,UAAY,OAChChE,GAAI,CAAC,EAAG,EAAG,EAAG,KAGhB/J,wBAACyN,EAAD,CACEV,MAAOA,EACPQ,IAAKA,EACLD,KAAMA,EACNE,YAAaA,SAS9B,ECjPakB,GAAG,SAAA5P,GAAMa,IAAAA,EACrBQ,EAAA,CAAA,EAAArB,GAAA,OACEkB,EAAC,QAAAC,cAAAC,EAAAA,IACCC,EAAA,CAAAgI,GAAG,MACH/I,MAAM,KACNuM,OAAO,OACPrD,KAAK,eACLsD,QAAQ,aACJjM,GAEJK,EAAAA,QAAMC,cAAA,OAAA,CAAA4B,EAAE,+QACR7B,UAAAC,cAAA,OAAA,CAAM4B,EAAE,yMACR7B,EAAM,QAAAC,cAAA,OAAA,CAAA4B,EAAE,gJAGb,KCXc,WACb,OACE7B,EAAAA,QAACC,cAAAC,EAAAA,IACC,CAAAR,GAAI,CACFqK,GAAI,CAAC,EAAG,EAAG,EAAG,GACd1B,GAAI,CAAC,EAAG,EAAG,EAAG,GACdE,GAAI,CAAC,EAAG,EAAG,EAAG,KAGhBvI,EAAAA,QAACC,cAAAa,GAAIpB,GAAI,CAAE2I,GAAI,CAAC,EAAG,EAAG,EAAG,KACvBrI,EAAC,QAAAC,cAAAiO,GAAOhM,MAAO,CAAC,EAAG,GAAI9C,MAAO,CAAC,EAAG,IAChCY,EAAAA,QAAAC,cAACC,EAAAA,IAAD,KACEF,EAAAA,sBAACE,EAADA,IAAA,CACER,GAAI,CACFwE,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,UACZC,cAAe,OACfoE,GAAI,CAAC,cAKTrI,EAAAA,QAAAC,cAAC2F,EAAAA,KAAD,CACErB,KAAK,8BACL7E,GAAI,CACF0I,eAAgB,OAChBlE,SAAU,CAAC,EAAG,EAAG,EAAG,KAJxB,0BAWJlE,EAAA,QAAAC,cAACiO,EACC,CAAAhM,MAAO,CAAC,GACR9C,MAAO,CAAC,GACR+C,GAAI,EACJC,GAAI,EACJ1C,GAAI,CACFa,QAAS,CAAC,OAAQ,OAAQ,OAAQ,QAClCuD,eAAgB,CAAC,YAGnB9D,EAAAA,QAAAC,cAACyO,GAAS,CAAAhP,GAAI,CAAEqK,GAAI,CAAC,QAAS3K,MAAO,OAAQgB,OAAQ,WAEvDJ,EAAA,QAAAC,cAACiO,EAAO,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,GAAIM,GAAI,CAAEqK,GAAI,CAAC,EAAG,EAAG,EAAG,KAC9D/J,EAAA,QAAAC,cAACC,EAADA,IACE,KAAAF,EAAAA,QAAAC,cAACC,EAAAA,IACC,CAAAR,GAAI,CACFwE,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,UACZC,cAAe,OACfoE,GAAI,CAAC,KANX,UAWErI,wBAAC4F,EAAAA,KAAD,CACErB,KAAK,oCACL7E,GAAI,CACF0I,eAAgB,OAChBlE,SAAU,CAAC,EAAG,EAAG,EAAG,yBAO5BlE,EAAAA,QAACC,cAAAiO,GACChM,MAAO,CAAC,EAAG,GACX9C,MAAO,CAAC,EAAG,EAAG,EAAG,GACjBM,GAAI,CAAEqK,GAAI,CAAC,OAAQ,OAAQ,EAAG,GAAI1B,GAAI,CAAC,EAAG,EAAG,EAAG,KAEhDrI,wBAACE,EAADA,IAAA,KACEF,wBAACE,EAAAA,IAAD,CACER,GAAI,CACFwE,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,OACZjF,MAAO,cALb,2GAcJiB,UAAAC,cAACa,EAAI,CAAApB,GAAI,CAAE2I,GAAI,CAAC,OAAQ0B,GAAI,CAAC,EAAG,EAAG,KACjC/J,EAAAA,QAACC,cAAAiO,EACC,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GACjB9C,MAAO,CAAC,EAAG,EAAG,EAAG,GACjBM,GAAI,CACFa,QAAS,OACTwD,WAAY,CAAC,aAAc,aAAc,cAG3C/D,EAAA,QAAAC,cAACC,EAAAA,IACC,CAAAR,GAAI,CACF4O,OAAQ,MACR7B,YAAa,QACbC,YAAa,QACbC,YAAa,MACbE,eAAgB,MAChBoB,GAAI,CAAC,KAGPjO,UAACC,cAAAC,EAAAA,IACC,CAAAR,GAAI,CACFX,MAAO,YACPmF,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,OACZC,cAAe,kCAOvBjE,EAAC,QAAAC,cAAAiO,GACChM,MAAO,CAAC,EAAG,EAAG,EAAG,GACjB9C,MAAO,CAAC,EAAG,EAAG,EAAG,GACjBM,GAAI,CACFa,QAAS,OACTwD,WAAY,CAAC,aAAc,aAAc,YACzCgG,GAAI,CAAC,EAAG,EAAG,EAAG,KAGhB/J,EAAC,QAAAC,cAAAC,EAADA,IACE,CAAAR,GAAI,CACF4O,OAAQ,MACR7B,YAAa,QACbC,YAAa,QACbC,YAAa,MACbE,eAAgB,MAChBzN,MAAO,CAAC,OAAQ,OAAQ,OAAQ,QAChC6O,GAAI,CAAC,KAGPjO,EAAA,QAAAC,cAAC6E,EAAD,QAAU,CAAAP,KAAK,SAASQ,UAAQ,GAC9B/E,EAAAA,QAAAC,cAACC,EAAAA,IACC,CAAAiI,GAAG,IACHzI,GAAI,CACF0I,eAAgB,OAChBlE,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBnF,MAAO,YACPiF,WAAY,OACZC,cAAe,OACf1D,QAAS,UARb,qBAgBNP,EAAC,QAAAC,cAAAiO,EACC,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GACjB9C,MAAO,CAAC,EAAG,EAAG,EAAG,GACjBM,GAAI,CAAEa,QAAS,CAAC,OAAQ,UAAW,UAAW,aAE9CP,EAAC,QAAAC,cAAAyO,IACChP,GAAI,CACFN,MAAO,GACPgB,OAAQ,GACR2J,GAAI,CAAC,EAAG,QAAS,EAAG,GACpB1B,GAAI,CAAC,cAOlB,ECnLDxH,GAAA,CAAA,MAKY8N,GAAG,SAAsB7P,GAAA,MAAnBY,EAAAA,GAAOC,EACvByB,EAAAtC,EAAA+B,IAAA+N,EAAkCC,EAAYA,eAAvC5D,EAAP2D,EAAA,GAAkBE,EAAlBF,EAAA,GAEMG,EAASC,cAAY,WACzBF,EAA2B,UAAd7D,EAAwB,OAAS,QAC/C,EAAE,CAACA,IAEJ,OACEjL,EAAC,QAAAC,cAAA6L,EAAAA,WACC3L,EAAA,CAAA,aAAW,mBACX0F,QAASkJ,EACTE,KAAK,WACLvP,MACEN,MAAO,GACPgB,OAAQ,GACRG,QAAS,eACT0H,OAAQ,UACRlJ,MAAO,aACJW,IAEDC,GAEJK,EAAA,QAAAC,cAACiP,MACC,CAAAxP,GAAI,CACF2G,YAAa,OACbqB,WAAY,eACZ,4CAA6C,CAC3C,UAAW,CACTiE,OAAQ,eAOrB,ECrCKwD,GAAS,WACb,MAAYC,QAAQC,IAAIC,kCAClBC,EAAQH,QAAQC,IAAIG,kCACpBC,EAAOL,QAAQC,IAAIK,iCAId3Q,EAFOgM,EAAAA,aAAVC,MAEY2E,UAAUC,UAE9B,GAAIC,GAAON,GAASE,EAAM,CACxB,IAAcK,EAAGD,EAAIE,UAAU,EAAG,GACxBxL,EAAG,sBAAwBgL,EAAQ,IAAME,EAAO,SAAWI,EAErE,OACE7P,UAACC,cAAAC,EAAAA,IAAI,CAAAR,GAAI,CAAEa,QAAS,eAAgBnB,MAAO,SACzCY,EAAA,QAAAC,cAAC+P,GAAD,CAAWjR,MAAOA,IAClBiB,wBAAC4F,EAAAA,KAAD,CACErB,KAAMA,EACN7E,GAAI,CACF6K,WAAY,SACZhK,QAAS,eACT8B,GAAI,CAAC,GACL2B,WAAY,OACZC,cAAe,OACflF,MAAOA,EACPmF,SAAU,CAAC,GACXsE,cAAe,YACfJ,eAAgB,SAGjB0H,GAIR,CAEC,OACE9P,EAAAA,sBAACE,EAADA,IAAA,CAAKR,GAAI,CAAEa,QAAS,eAAgBnB,MAAO,SACzCY,UAACC,cAAA+P,GAAU,CAAAjR,MAAOA,IAClBiB,UAAAC,cAACgQ,EAAAA,KACC,CAAAvQ,GAAI,CACF6K,WAAY,SACZhK,QAAS,eACT8B,GAAI,CAAC,GACL2B,WAAY,OACZC,cAAe,OACflF,MAAOA,EACPmF,SAAU,CAAC,GACXsE,cAAe,cAGhBzJ,GAKV,EAEciR,GAAG,YAChB,OACEhQ,EAAA,QAAAC,cAAA,MAAA,CAAKqI,KAFYvJ,EAAAA,MAEC4B,QAAQ,MAAMiL,QAAQ,YAAYxM,MAAM,KAAKgB,OAAO,MACpEJ,EAAAA,QAAAC,cAAA,SAAA,CAAQiQ,EAAG,EAAGC,GAAI,GAAIC,GAAI,KAG/B,KC9Da,SAActR,GAAA,MAAXwO,EAAAA,KACfU,EAA8BF,WAgEhC,SAAcR,GACZ,MAAa,UAATA,EACF,QAAe+C,GAAO,EAAG,OAAMA,GAAO,EAAG,GACvB,WAAT/C,EACT,aAAoB+C,IAAQ,GAAGC,QAAQ,GAAI,GAG5ChD,CACF,CAxEwCiD,CAAKjD,IAArC/M,EAASiQ,EAAAA,GAAAA,EAEhBC,EAAAA,GAyBA,OAzBAA,EAAAA,UAAU,WACR,GAAa,UAATnD,EAAkB,CACpB,IAAMoD,EAAe,SAACtL,GACpB,IAAOuL,EAAGN,GAAOjL,EAAEwL,QAAS,KAClBP,GAAOjL,EAAEyL,QAAS,GAC5BL,EAAU,QAASG,EAAKG,IAAAA,EACzB,EAED,OADAzL,OAAO0L,iBAAiB,YAAaL,GAC9B,WACLrL,OAAO2L,oBAAoB,YAAaN,EACzC,CACF,CACD,GAAa,WAATpD,EAAmB,CACrB,IAAkB2D,EAAG,SAAC7L,GACpB,IAAO0L,EA8Df,SAAwBzL,EAAQ6L,GAC9B,OAAWC,KAACC,IAAI/L,EAAOgM,SAAWC,SAASC,KAAKC,aAAe,KAAM,IACtE,CAhEiBC,CAAepM,QACzBmL,EAAwBH,aAAAA,IAAY,IAAJS,GAASR,QAAQ,GAAI,GACtD,EAGD,OAFAjL,OAAO0L,iBAAiB,SAAUL,GAE3B,WACLrL,OAAO2L,oBAAoB,SAAUN,EACtC,CACF,CACF,EAAE,IAGD1Q,wBAACiQ,EAADA,KAAA,CACEvQ,GAAI,CACF6K,WAAY,SACZhK,QAAS,eACT+B,GAAI,OACJ0B,WAAY,OACZC,cAAe,OACflF,MAAO,YACPmF,SAAU,CAAC,GACXsE,cAAe,cAGhBjI,EAGN,KAEgB,SAAciE,GAC7B,OACExE,UAACC,cAAAC,EAAAA,KACCR,GAAI,CACF0J,WAAY,OACZ9I,SAAU,QACVgO,OAAQ,OACRD,MAAO,OACPqD,gBAAiB,QACjBrK,UAAW,gBACX9G,QAAS,CAAC,OAAQ,OAAQ,aAG5BP,wBAAC2R,GAAD,CAAOrE,KAbOA,EAAAA,OAcdtN,EAAAA,QAACC,cAAAkP,GAZH,MAeH,EAYD,SAASkB,GAAOuB,EAAKC,GACnB,OAAOD,EAAIE,WAAWC,SAASF,EAAK,IACrC,wCC9ESG,GAAGC,EAASA,UAAC,CACrBC,KAAM,CACJvR,QAAS,GAEXwR,GAAI,CACFxR,QAAS,KAIPyR,GAAS,YAAGC,IAAAA,EAAAA,EAAAA,SAAAA,OAAW,IAAAC,EAAA,UAAKC,MAAAA,OAAQ,IAAAC,EAAA,IAAGvR,EAA6BnC,EAA7BmC,SAAawR,EAAgBrR,EAAAtC,EAAA+B,IACxE,OACEb,EAAC,QAAAC,cAAAC,EAADA,SACMuS,EADN,CAEE/S,GAAI,CACFgT,kBAAmBL,EAAW,KAC9BM,eAAgBJ,EAAQ,KACxBK,cAAeZ,GAAKF,WACpBe,kBAAmB,eAGpB5R,EAGN,EC3BK6R,GAAoB,SAACxB,GACzB,IAAMyB,EAAQzB,EAASrR,cAAc,OACrC8S,EAAMpL,MAAMqL,WAAa,SACzBD,EAAMpL,MAAMvI,MAAQ,QACpBkS,EAASC,KAAK0B,YAAYF,GAC1BA,EAAMpL,MAAMxD,SAAW,SACvB,IAAM+O,EAAQ5B,EAASrR,cAAc,OACrCiT,EAAMvL,MAAMvI,MAAQ,OACpB2T,EAAME,YAAYC,GAClB,IAAWC,EAAGJ,EAAMK,YAAcF,EAAME,YAExC,OADAL,EAAMM,WAAWC,YAAYP,GAE9BI,CAAA,ECTKI,GAAY,WAYhB,OAXA9C,EAASA,UAAC,WACgB,oBAAba,UACKwB,GAAkBxB,UACpB,IACVA,SAASC,KAAKiC,UAAUC,IAAI,oBAC5BnC,SACGoC,qBAAqB,QAAQ,GAC7BF,UAAUC,IAAI,oBAGtB,EAAE,QAEJ,ECXUE,GAAG,YAAG5U,IAAAA,EAAAA,EAAAA,MAAAA,OAAQ,IAAAG,EAAA,QACvBA,EAAA8O,EAA8BF,YAAS,GAAhCvN,EAAPyN,EAAA,GAAgBwC,EAAhBxC,EAAA,GAgBA,OAdAyC,EAAAA,UAAU,WACR,SAAAmD,EAAiBjO,GAEH,MADsBA,EAA1B+H,KAA0B/H,EAAZkO,SAEpBrD,EAAW,SAACsD,GAAD,OAAWA,CAAX,EAEd,CAGD,OADAxC,SAASP,iBAAiB,UAAW6C,GAC9B,WACLtC,SAASN,oBAAoB,UAAW4C,EACzC,CACF,EAAE,IAGD5T,UAACC,cAAAC,EAAAA,IACC,CAAAR,GAAI,CACFY,SAAU,QACVlB,MAAO,OACP+N,KAAM,EACNzE,IAAK,EACLyF,OAAkB,SAAVpP,EAAmB,KAAQ,EACnCmO,cAAe,OACf3M,QAASA,EAAU,UAAY,SAGjCP,EAAAA,QAACC,cAAAwO,EAADA,UACE,KAAAzO,UAAAC,cAACC,EAAAA,IAAI,CAAAR,GAAI,CAAEa,QAAS,CAAC,OAAQ,OAAQ,UAAW,aAC9CP,EAAAA,sBAAC+T,GAAD,CACEC,QAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,IAC7CjV,MAAOA,KAGXiB,EAAAA,QAACC,cAAAC,EAADA,IAAK,CAAAR,GAAI,CAAEa,QAAS,CAAC,OAAQ,UAAW,OAAQ,UAC9CP,EAAA,QAAAC,cAAC8T,GAAD,CAAcC,QAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIjV,MAAOA,KAE1DiB,UAAAC,cAACC,EAAAA,IAAD,CAAKR,GAAI,CAAEa,QAAS,CAAC,UAAW,OAAQ,OAAQ,UAC9CP,UAAAC,cAAC8T,GAAD,CAAcC,QAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIjV,MAAOA,MAK3D,EAEKkV,GAAa,CACjB,MACA,SACA,SACA,QACA,OACA,OACA,SACA,QAGF,SAASF,GAAiCvP,GAAA,IAATzF,EAAAA,EAAAA,MACvBW,EAAG,CACTwU,iBAAkB,CAChBzH,YAAa,QACbE,YAAa,MACbwH,gBAA2B,SAAVpV,EAAmB,MAAQ,MAC5CqV,iBAA4B,SAAVrV,EAAmB,MAAQ,MAC7C4B,QAAkB,QAAT5B,EAAkB,GAAM,GAEnCsV,iBAAkB,CAChB5H,YAAa,QACbE,YAAa,MACbwH,gBAAiB,MACjBC,iBAAkB,MAClBzT,QAAkB,QAAT5B,EAAkB,GAAM,IAIrC,OACEiB,EAAAA,QAAAC,cAACa,EAAD,KAnBsC0D,EAAlBwP,QAoBTpS,IAAI,SAACY,GACZ,OACExC,EAAAA,QAACC,cAAAiO,EACC,CAAAR,IAAKlL,EACLN,MAAO,CAACM,GACRpD,MAAO,CAAC,EAAG,GACX+C,GAAI,GACJC,GAAI,GACJ1C,GAAES,EAAA,CACAM,GAAc,SAAV1B,EAAmB,OAAS,cAChCqB,OAAQ,SACLV,EAAG2U,mBAGRrU,EAAC,QAAAC,cAAAC,EAAAA,IACC,CAAAR,GACEqJ,EAAAA,CAAAA,GAAI,CAAC,OAAQ,EAAG,EAAG,GACnBtI,GAAc,SAAV1B,EAAmB,aAAe,cACtCqB,OAAQ,OACRkU,gBACY,YAAVvV,EAAsBkV,GAAWzR,EAAI,GAAK,QAC5C+R,iBACY,YAAVxV,EAAsBkV,GAAWzR,EAAI,GAAK,SACzC9C,EAAGwU,oBAKf,GAGN,CClHD,IAAArT,GAAA,CAAA,QAAA,MAGM2T,GAAW,YAAG9O,IAAAA,IAAAA,MAAOhG,EAAmBZ,EAAnBY,GAAOC,UAChC,OACEK,EAAA,QAAAC,cAAC6L,EAAAA,WACC3L,EAAA,CAAAT,GACEuI,EAAAA,CAAAA,OAAQ,UACRK,KAAM,OACNjC,YAAa,MACbsF,OAAQ,OACR,SAAU,CACRhL,QAAS,KAEX,4CAA6C,CAC3C,iBAAkB,CAChBA,QAAS,OAGVjB,GAEL,aAAW,eACPC,IAEF+F,GACA1F,EAAA,QAAAC,cAAA,MAAA,CACE0H,MAAO,CACLvI,MAAO,OACPgB,OAAQ,OACR2L,UAAW,OACXC,WAAY,GAEdC,MAAM,6BACNL,QAAQ,aAER5L,EAAAA,8BAAMkM,GAAG,KAAKC,GAAG,MAAMC,GAAG,KAAKC,GAAG,QAClCrM,EAAA,QAAAC,cAAA,OAAA,CAAMiM,GAAG,KAAKC,GAAG,OAAOC,GAAG,KAAKC,GAAG,SACnCrM,UAAMC,cAAA,OAAA,CAAAiM,GAAG,KAAKC,GAAG,MAAMC,GAAG,KAAKC,GAAG,SAClCrM,EAAAA,QAAAC,cAAA,OAAA,CAAMiM,GAAG,KAAKC,GAAG,OAAOC,GAAG,KAAKC,GAAG,SACnCrM,EAAQ,QAAAC,cAAA,SAAA,CAAAkQ,GAAG,KAAKC,GAAG,OAAOF,EAAE,MAC5BlQ,EAAAA,QAAQC,cAAA,SAAA,CAAAkQ,GAAG,KAAKC,GAAG,OAAOF,EAAE,MAC5BlQ,EACE,QAAAC,cAAA,OAAA,CAAA0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,uCAEJ7B,gCACE2H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,yCAIP6D,GACC1F,EAAA,QAAAC,cAAA,MAAA,CACE0H,MAAO,CACLvI,MAAO,OACPgB,OAAQ,OACR2L,UAAW,OACXC,WAAY,GAEdC,MAAM,6BACNL,QAAQ,aAER5L,EAAM,QAAAC,cAAA,OAAA,CAAAiM,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,SAC1CrM,EAAA,QAAAC,cAAA,OAAA,CAAMiM,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,SAC1CrM,EAAAA,QACEC,cAAA,OAAA,CAAA0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,uCAEJ7B,EAAA,QAAAC,cAAA,OAAA,CACE0H,MAAO,CAAED,WAAY,YACrB4E,UAAU,QACVzK,EAAE,yCAMb,KCpEc,SAkBT/C,GAAA,MAjBJ6L,EAAAA,MACAC,IAAAA,YACAC,EAAAA,EAAAA,KAEA+C,EAAAA,EAAAA,OACAL,IAAAA,IACAkH,EAWI3V,EAXJ2V,SACAC,EAAAA,EAAAA,OAAAA,OAUI,IAAAC,GATJC,EAAAA,EAAAA,EAAAA,OAAAA,cASIC,EAAAC,EAAAhW,EARJiW,SAAAA,OAAW,IAAAD,EAAA,QACX/H,EAAAA,EAAAA,EAAAA,MAAAA,OAOI,IAAAiI,EAPI,SACRC,EAAAA,EAAAA,EAAAA,OAAAA,OAMI,IAAAC,EANK,SAMLA,EAAAC,EAAArW,EALJsW,MAAAA,OAAQ,IAAAD,SACRE,UAAAA,OAII,IAAAC,GAHJtD,EAAAA,EAAAA,EAAAA,KACAuD,EAAAA,EAAAA,UAAAA,cAEIC,EAAAC,EAAA3W,EADJ4W,UAAAA,cACID,EACAnK,EADAxM,EAdJmC,eAcI,IAAA0U,GAFJJ,KAMEjK,EAAUtL,EAAAA,QAACC,cAAAmS,IAAOC,SAAU,KAAM/G,IAEhCiK,IACFjK,EACEtL,EAAAA,QAACC,cAAAC,EAADA,KAAKR,GAAI,CAAE2I,GAAI,CAAC,EAAG,EAAG,EAAG,MACvBrI,EAAAA,QAAAC,cAACwO,EAAAA,UAAWnD,KAAAA,KAKlB,IAAQN,EAAUD,EAAUA,aAApBC,MAEF4K,EAAcF,EAChB,CACE,eAAgB,CACdnV,QAAS,SAGb,CAAA,EAEJkQ,EAASA,UAAC,WACR,GAAKzF,EAAL,CAEA,IAMM6K,EAAQxQ,OAAOyQ,WAAP,eAAiC9K,EAAM+K,YAAY,QAGjE,OAFAF,EAAMG,SAPU,SAAC5Q,GACXA,EAAE6Q,SAAWxB,MAAAA,GAAAA,EAAU/O,OAAvB,MAAgC+O,GAAAA,EAAU5O,gBAC5C4O,GAAAA,EAAU5O,UAEb,EAKM,WACLgQ,EAAMG,SAAW,IAClB,CAbW,CAcb,EAAE,OAAChL,SAAAA,EAAO+K,YAAatB,MAAAA,OAAAA,EAAAA,EAAU/O,MAAO+O,MAAAA,OAAAA,EAAAA,EAAU5O,UAEnD,IAAegI,EAAG,CAChB7N,UAACC,cAAA0O,GACC,CAAAjB,IAAI,SACJhO,GAAI,CACFX,MAAO,UACPgL,GAAI,OACJxJ,QAAS,CACP,QACA,QACW,QAAX0U,EAAmB,QAAU,OAClB,QAAXA,EAAmB,QAAU,YAgBrC,OAVIR,GACF5G,EAAUqI,KACRlW,EAAAA,QAAAC,cAACuU,GAADrU,EAAA,CACEuN,IAAI,WACJhO,GAAI,CAAE4C,GAAI,CAAC,OAAQ/B,QAAS,CAAC,UAAW,UAAW,OAAQ,UACvDkU,KAMRzU,EAAAA,QACGoV,cAAAA,EAAAA,QAAAA,SAAAA,KAAAA,GAASpV,EAAC,QAAAC,cAAA0T,GAAM,CAAA5U,MAAOqW,IACvBC,GAAarV,EAAAA,QAACC,cAAAsT,SACfvT,EAAAA,QAAAC,cAACyK,EAAK,CAAAG,KAAMA,EAAMD,YAAaA,EAAaD,MAAOA,IACnD3K,EAAAA,sBAACoO,EAADA,KAAA,CACE1O,GAAI,CACFyW,cAAe,SACfrM,UAAW,UAGZ8K,GACC5U,EAAC,QAAAC,cAAAC,EAAAA,IACC,CAAAiI,GAAG,SACHzI,GACEN,EAAAA,CAAAA,MAAO,OACPqN,YAAa,QACbC,YAAa,QACbC,YAAa,MACbC,kBAAmB,MACnBtM,SAAU,SACVoI,IAAK,EACLjI,GAAI,aACJL,OAAQ,OACR+N,OAAQ,KACLyH,IAGL5V,EAAAA,QAAAC,cAACwO,EAADA,UACE,KAAAzO,EAAA,QAAAC,cAAC0N,EAAD,CACEL,KAAMP,EACNa,OAAQA,EACRL,IAAKA,EACLM,UAAWA,MAKnB7N,EAAAA,QAACC,cAAAC,EAADA,KACER,GAAI,CACFN,MAAO,OACPgX,KAAM,aAGP9K,GAEFoJ,GACC1U,EAAA,QAAAC,cAACC,EAADA,IAAA,CACEiI,GAAG,SACHzI,GAAES,EAAA,CACAf,MAAO,OACPqN,YAAa,QACbC,YAAa,QACbC,YAAa,MACbE,eAAgB,OACb+I,IAGL5V,UAAAC,cAACwO,EAAAA,UAAD,KACEzO,wBAACqW,GAAD,QAIM,WAAXpB,GACCjV,EAAAA,QAAAC,cAACC,EAAAA,IACC,CAAAR,GAAI,CACFa,QAAS,CAAC,OAAQ,OAAQ,UAAW,WACrCD,SAAU,CAAC,SACX+N,MAAO,CAAC,IACRC,OAAQ,CAAC,GAAI,GAAI,GAAI,MAGvBtO,EAAA,QAAAC,cAAC0O,GARH,OAWDoG,GAAY/U,EAAAA,sBAACsW,GAAD,CAAUhJ,KAAMyH,KAIpC,uCC7KKwB,GAAM,YAAG9Q,IAAAA,IAAAA,MAAOC,EAAoC5G,EAApC4G,MAAOhG,EAAAA,EAAAA,GAAIuB,EAAyBnC,EAAzBmC,SAAatB,EAC5CyB,EAAAtC,EAAA+B,IAAW9B,EAAGW,GAAMA,EAAGX,MAAQW,EAAGX,MAAQ,UACpCyX,EAAc7W,IAAUA,EAAMkG,SAAWlG,EAAM8W,eAErD,OACEzW,EAAAA,sBAACE,EAAAA,IAADC,EAAA,CACEgI,GAAIqO,EAAc,SAAW,OAC7BvH,KAAK,WACL,eAAcvJ,EACd,aAAYD,EACZ/F,GAAES,EAAA,CACAI,QAAS,eACT2D,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,OACZC,cAAe,OACfgE,OAAQuO,EAAc,UAAY,UAClCzX,MAAOA,EACPyP,gBAAiB,cACjB/B,YAAa,QACbC,YAAa3N,EACbkH,WAAY,OACZ0G,YAAa,MACbC,kBAAmB,MACnBpE,cAAe,YACfY,WAAY,OACZ1B,WAAY,gBACZuG,GAAI,CAAC,OACL1F,GAAI,CAAC,OACLY,GAAI,CAAC,GACLuN,EAAG,CAAC,GACJ/V,QAAkB,MAAT+E,GAAiBA,EAAQ,EAAa,WAAT3G,EAAqB,IAAO,KAC/DW,IAEDC,GAEHsB,EAGN,ECzCDJ,GAAA,CAAA,SAAA,YAAA,QAAA,SAAA,UAAA,eAIMnB,GAAK,CACT+F,MAAO,CACLzB,WAAY,OACZC,cAAe,OACfC,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBnF,MAAO,YACPqK,WAAY,OACZZ,cAAe,cAIGmO,GAAG,SAACC,EAASC,EAAcC,GAC/C,YAD+CA,IAAAA,IAAAA,EAAY,IAC9CC,OAACC,KAAKJ,GAASK,OAC1B,SAACC,EAAGxJ,GAAQqJ,IAAAA,EAAAA,OAAAA,OAAOI,OAAOD,IAAMxJ,EAAAA,CAAAA,GAAAA,GAAMoJ,EAAUpJ,IAAQmJ,EAAxDO,GAAA,EACA,CAFK,EAIR,EAEUC,GAAG,SAACC,GACb,OACQP,OAACC,KAAKM,GAAQ1W,OAAO,SAACiB,UAAYyV,EAACzV,EAAd,GAAkBH,QAC7CqV,OAAOC,KAAKM,GAAQ5V,MAEvB,EAEiB6V,GAAG,SAA+CzY,GAAA,IAIlE0Y,EAJkEC,EAAA3Y,EAA5C2Y,OAAQC,EAAoC5Y,EAApC4Y,YAAaC,EAAAA,EAAAA,UAAWjS,EAAAA,EAAAA,MAC5BkS,EAAGP,GAAMI,KACF,QAAV/R,EAIvB,GAAIgS,EACF,GAAIG,IAAmBD,EAErBJ,EAAgBb,GAAiBc,GAAQ,QAChCI,GAAAA,GAAkBD,EAE3BJ,EAAgBb,GAAiBc,GAAQ,OACpC,CAELD,IAAAA,EAAAA,EAAqBC,EAAAA,CAAAA,EAAAA,UAAS/R,IAAS+R,EAAO/R,GAAjC9B,GACd,MAED,GAAIiU,IAAmBD,EAErBJ,EAAgBb,GAAiBc,GAAQ,QAChCI,GAAAA,GAAkBD,OAEtB,CAAA,IAAAE,EAELN,EAAgBb,GAAiBc,GAAQ,IAATK,EAAA,CAAA,GAAmBpS,IAAQ,EAA3BoS,GACjC,CAGCN,GACFG,EAAUH,EAEb,ECzDaO,GAAG,SAAAjZ,GAAGmC,IACd8I,EADc9I,EAAAA,EAAAA,aAAU+W,QAAAA,OAAU,IAAAC,EAAA,OAItC,MAFgB,OAAZD,IAAkBjO,EAAK,CAAC,EAAG,OAAQ,OAAQ,SAC/B,OAAZiO,IAAkBjO,EAAK,CAAC,EAAG,EAAG,OAAQ,SAExC/J,EACE,QAAAC,cAAAD,UAAA6I,SAAA,KAAA7I,EAAAA,QAAAC,cAACiO,EAAO,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,EAAG,IAC5CY,EAAA,QAAAC,cAACC,EAADA,IACE,CAAAR,GAAI,CACFqK,GAAIA,EACJ/F,WAAY,OACZC,cAAe,OACfC,SAAU,CAAC,EAAG,EAAG,EAAG,GACpB8D,UAAW,UANf,MAYFhI,EAAAA,QAAAC,cAACiO,EAAO,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,EAAG,IAC5CY,EAAA,QAAAC,cAACC,EAADA,IACE,CAAAR,GAAI,CACFqK,GAAIA,EACJ/F,WAAY,OACZC,cAAe,OACfC,SAAU,CAAC,EAAG,EAAG,EAAG,GACpB9D,OAAQ,CAAC,OAAQ,MAAO,MAAO,SAGhCa,IAKV,ECtCDJ,GAAA,CAAA,OAAA,WAAA,MAwCyBwD,GAAAA,EAAAA,WApCX,SAA0CC,EAAAA,GAAvC0B,IAAAA,EAAAA,EAAAA,EAAAA,KAAAA,OAA+C,IAAAM,EAAxC,KAAwCA,EAAlCG,EAAAA,EAAAA,SAAU/G,EAAwBZ,EAAxBY,GAAOC,EAC7CyB,EAAAtC,EAAA+B,IAEYoI,EAAA9I,IAAAyD,EAAA,CACV7E,MAHmB0H,EAAW,YAAc,UAI5CiG,YAAa,YACbD,YAAa,QACbE,YAAa,MACbC,kBAAmB,MACnBvM,aAAc,MACdqH,WAAY,iBAPF,kBAQS,MACnBtI,EAAAA,MAAO,0BACP8Y,EAAG,CAAC,KACJpL,GAAI,CAAC,OACLlJ,EAAA,oCAAoC,CAClCuU,iBAAkB,OAClB/R,OAAQ,GAdAxC,EAgBV,oCAAoC,CAClCuU,iBAAkB,OAClB/R,OAAQ,KAEV,UAAU,CACRsG,YAAa,aAEf,kBAAkB,CAChB0L,QAAS,kBACTtQ,WAAY,mBAEX/B,GAAAA,EAAcC,GACdtG,GAEL,OAAOM,EAAAA,sBAACqY,EAADC,MAAAnY,EAAA,CAAA,EAAiBR,EAAO,CAAA2E,IAAKA,EAAK5E,GAAIuJ,IAC9C,0CCtCDpI,GAAA,CAAA,MA8CyBwD,GAAAA,EAAAA,WA3CV,SAAAvF,EAAmBwF,GAAQ,MAAxB5E,EAAAA,GAAOC,EAAiByB,EAAAtC,EAAA+B,IAC7B9B,EAAGW,GAAMA,EAAGX,MAAQW,EAAGX,MAAQ,UAEpBiL,EAClBe,EAAUA,aADZC,MAAS2E,UAGX,OACE3P,wBAACuY,SAADpY,EAAA,CACEmE,IAAKA,EACL5E,GAAES,EAAA,CACA,0BAA2B,CACzBC,OAAQ,CAAC,GAAI,GAAI,IACjBhB,MAAO,CAAC,GAAI,GAAI,IAChBoZ,UAAS,aAAexO,EAAO4F,UAC/BlI,WAAY,wBAEd,sBAAuB,CACrBtH,OAAQ,CAAC,GAAI,GAAI,IACjBhB,MAAO,CAAC,GAAI,GAAI,IAChBoZ,uBAAwBxO,EAAO4F,UAC/BlI,WAAY,wBAEd,iBAAkB,CAChB0Q,QAAS,kBACTtQ,WAAekC,EAAO4F,yBAExB,SAAU,CACR7Q,MAAOA,EACP,0BAA2B,CACzByZ,uBAAwBxO,EAAO4F,WAEjC,sBAAuB,CACrB4I,uBAAwBxO,EAAO4F,YAGnC7Q,MAAOA,GACJW,IAEDC,GAGT,GCvCKsJ,GAAS,CACbwP,MAAO,CACLjY,cAAe,WACfqH,OAAQ,EACRuQ,QAAS,EACThS,OAAQ,EACR2B,QAAS,GAEX2Q,IAAK,CACHjM,YAAa,QACbE,YAAa,MACbE,eAAgB,MAChBH,YAAa,QACbuB,GAAI,CAAC,EAAG,EAAG,EAAG,QACd1F,GAAI,CAAC,EAAG,EAAG,EAAG,QACdF,GAAI,CAAC,QAEPuM,OAAQ,CACNrU,QAAS,QACTiI,cAAe,YACfvE,cAAe,YACfD,WAAY,UACZE,SAAU,CAAC,EAAG,EAAG,EAAG,IAEtByU,MAAO,CACLpY,QAAS,QACTiI,cAAe,YACfvE,cAAe,YACfD,WAAY,UACZE,SAAU,CAAC,EAAG,EAAG,EAAG,IAEtB0U,MAAO,CACLrY,QAAS,QACT2D,SAAU,CAAC,EAAG,EAAG,EAAG,GACpBF,WAAY,OACZC,cAAe,OACfoE,GAAI,CAAC,OACL0B,GAAI,CAAC,EAAG,EAAG,EAAG,4CCclBgF,GAAe1K,EAAUA,WApDV,SAAAvF,EAA6CwF,GAA1CoB,IAAAA,EAAAA,EAAAA,MAAOG,EAA2C/G,EAA3C+G,QAASgT,EAAkC/Z,EAAlC+Z,SAAUnZ,EAAwBZ,EAAxBY,GAAOC,EAAiByB,EAAAtC,EAAA+B,IACvD9B,EAAGW,GAAMA,EAAGX,MAAQW,EAAGX,MAAQ,UAE1C,OACEiB,UAACC,cAAAC,EAAAA,IACCC,EAAA,CAAAmE,IAAKA,EACL6D,GAAG,SACHtC,QAASA,EACToJ,KAAK,WACL,eAPJvJ,GAAQmT,GAAmBnT,EAQvB,aAAW,SACXhG,GACEmI,EAAAA,CAAAA,OAAQ,OACRC,WAAY,OACZG,OAAQ4Q,EAAW,UAAY,UAC/BX,EAAG,CAAC,GACJxB,EAAG,CAAC,GACJnW,QAAS,gBACNb,IAEDC,GAEJK,EAAAA,QAACC,cAAAC,EAAAA,KACCR,GAAI,CACFN,MAAO,OACPgB,OAAQ,OACRC,aAAc,OACdmO,gBAAiB9I,EACboT,iBAAe/Z,EAAgB,WAATA,EAAqB,GAAM,KACjD,QACJuB,SAAU,WACVoH,WAAY,QACZnH,QAAS,iBAGXP,EAAC,QAAAC,cAAAC,EAADA,IACE,CAAAR,GAAI,CACFN,MAAO,OACPgB,OAAQ,OACRC,aAAc,MACdC,SAAU,WACV6M,KAAMzH,EAAQ,OAAS,MACvBgD,IAAK,MACL8F,gBAAiB9I,EAAQ3G,EAAQ,YACjC2I,WAAY,YAMvB,GCtDKqR,GAAiB,CACrBC,MAAO,QACPC,IAAK,UACLC,KAAM,WAGeC,GAAG,SAACC,EAAMC,EAAS/B,GAAW,IAAAgC,EACnD,IAAKhC,EACH,YAGF,MAAiC,mBAAWA,EAASyB,GAAeM,GAE9DE,EAASH,EAAKI,eAAe,kBAChCH,GAAUhJ,EADbiJ,IAIA,MAAe,YAAXjJ,GAAwB,CAAC,MAAO,SAAS5O,SAAS4X,GACvCE,EAACxH,SAAS,EAAG,KAEnBwH,CAEV,uChCyBmB,SAWd/U,GAAA,IACJrD,EADIsY,EAAAjV,EAVJiV,QAUIC,EAAAlV,EATJrB,UAAAA,OASI,IAAAuW,EATQ,aASRA,EARJhT,EAQIlC,EARJkC,MAQIiT,EAAAnV,EAPJnB,QAAAA,OAOI,IAAAsW,EAPM,KACVC,EAAAA,EAAAA,EAAAA,MACAxa,EAAAA,EAAAA,MACAC,EAAAA,EAAAA,SACAwa,EAAAA,EAAAA,WACAna,EAAAA,EAAAA,GACGC,EAEHyB,EAAAoD,EAAA3D,GAEEM,EADEmC,EAAMC,eAAeF,GACjBC,EAAMD,GAENA,EAGR,IAAInB,EAAQ,SAAC4X,GAAD,MAAS,MAAT,EACRpT,IACGnF,MAAMC,QAAQkF,KACjBA,EAAQ,CAACA,IAEXxE,EAAQ,SAAC4X,GACPpT,OAAAA,EAAM9E,IAAI,SAACC,GACT,GAAU,SAANA,EACF,MAAO,OACEA,GAAM,UAANA,EAET,OADesP,KAAK4I,IAAI,EAAGF,EAAaJ,EAAQ/X,OAAS,GACxCoY,GAAOD,EAExB,MAAWlY,MAAA,cAAe+E,EAAf,mBAEd,EAVK,GAaV,IAAYsT,EAAGP,EAAQ/X,OAASkY,EAC1BzV,EAAWsV,EAAQ/X,OAASkY,EAAQ,EAE1C,OACE5Z,EAAAA,QAAAC,cAAAD,EAAA,QAAA6I,SAAA,KACGgR,GACC7Z,EAAC,QAAAC,cAAAa,EAAIX,EAAA,CAAAe,QAAS2Y,EAAY1Y,IAAKA,EAAKzB,GAAIA,GAAQC,GAC7C8Z,EAAQ7X,IAAI,SAACjC,EAAOma,GACnB,OAAA9Z,EAAA,QAAAC,cAACiO,EAAD,CAAQR,IAAKoM,EAAK5X,MAAOA,EAAM4X,MAC1BE,GAAUF,EAAMF,EAAQ,IACzB5Z,EAAAA,QAACC,cAAAga,EAAWta,EAAAA,CAAAA,EAAAA,EAAO,CAAAP,MAAOA,EAAOC,SAAUA,KAE5C2a,GAAUF,IAAQF,EAAQ,GACzB5Z,UAACC,cAAA4D,EAAM,CAAAM,SAAUA,EAAU9E,SAAUA,IAN9B,KAYfwa,GACA7Z,UAACC,cAAA+C,EAAM7C,EAAA,CAAAgD,UAAWA,EAAWE,QAASA,EAAS3D,GAAIA,GAAQC,GACxD8Z,EAAQ7X,IAAI,SAACjC,EAAOma,GAAR,OACX9Z,EAAC,QAAAC,cAAAga,EAAO9Z,EAAA,CAAAuN,IAAKoM,GAASna,EAAO,CAAAP,MAAOA,EAAOC,SAAUA,IAD1C,IAOtB,gBC5Ga,SAAgCP,GAAA,MAA7BY,EAAAA,GAAIuB,EAAyBnC,EAAzBmC,SAAatB,EAChCyB,EAAAtC,EAAA+B,KAAcnB,GAAMA,EAAGX,MAAQW,EAAGX,MAAQ,UAC1C,OACEiB,UAAAC,cAACC,EAADA,IACEC,EAAA,CAAAT,GACEa,EAAAA,CAAAA,QAAS,eACTnB,MAAO,cACPgB,OAAQ,CAAC,OAAQ,OAAQ,OAAQ,QACjCC,aAAc,MACdmO,gBACW,WAATzP,GAA+B,aAATA,EAClB,QACA+Z,EAAcA,eAAC/Z,EAAO,IAC5BiJ,UAAW,SACXoB,WAAY,OACZlF,SAAU,CAAC,EAAG,EAAG,EAAG,IACjBxE,IAEDC,GAEJK,UAAAC,cAACC,EAADA,IACE,CAAAR,GAAI,CACFuE,cAAe,SACfD,WAAY,OACZ+F,GAAI,CAAC,MAAO,MAAO,MAAO,OAC1BZ,GAAI,CAAC,EAAG,EAAG,EAAG,OACdpK,MAAOA,IAGRkC,GAIR,qBChCkB,SAAAnC,GAAGmC,IAAAA,EAAAA,EAAAA,SACPiZ,EAAG,GACZC,EAAmBlZ,EAuBvB,OApBEM,MAAMC,QAAQP,IACdA,EAAS,GAAGtB,OAC0B,iBAA/BsB,EAAS,GAAGtB,MAAMsB,UAEzBiZ,EAAYjZ,EAAS,GAAGtB,MAAMsB,SAASmZ,MAAM,EAAG,GAChDD,EAAmBzW,EAAAA,SAAS9B,IAAIX,EAAU,SAACY,EAAGW,GAC5C,OAAS,GAALA,EACKgF,EAAAA,aAAa3F,EAAG,CAAEZ,SAAUY,EAAElC,MAAMsB,SAASmZ,MAAM,KAC9CvY,CACf,IACQZ,EAAStB,OAA4C,iBAApBsB,EAACtB,MAAMsB,UACjDiZ,EAAYjZ,EAAStB,MAAMsB,SAASmZ,MAAM,EAAG,GAC7CD,EAAmB3S,EAAAA,aAAavG,EAAU,CACxCA,SAAUA,EAAStB,MAAMsB,SAASmZ,MAAM,MAEb,iBAApBnZ,IACTiZ,EAAYjZ,EAASmZ,MAAM,EAAG,GAC9BD,EAAmBlZ,EAASmZ,MAAM,IAIlCpa,EAAAA,QAACC,cAAAC,EAADA,IAAK,CAAA8X,QAAQ,qBACV5T,EAAa3C,SAASyY,IACrBla,EAAAA,QAACC,cAAAC,EAADA,IAAK,CAAAiI,GAAG,OAAOzI,GAAI,CAAEY,SAAU,WAAY+B,GAAI,WAC5C6X,GAGJ9V,EAAa3C,SAASyY,GAAaC,EAAmBlZ,EAG5D,wEM6DgB,SAAAoZ,GACf7Q,IAAAA,EAAAA,EAAAA,SACA/D,EAAAA,EAAAA,MACA6U,EAaID,EAbJC,KACApR,EAYImR,EAZJnR,QACAqR,EAAAA,EAAAA,YAAAA,OAAc,IAAAC,EAAA,IACd/Q,EAUI4Q,EAVJ5Q,SACAW,EASIiQ,EATJjQ,MACAhL,EAAAA,EAAAA,MACAgB,IAAAA,OAOIqa,EAAAJ,EANJhK,OAAAA,OAMI,IAAAoK,EANK,SAAC5Y,GAAD,OAAAA,CAAA,EACT6H,EAAAA,EAAAA,EAAAA,WAAAA,OAKI,IAAAgR,GAAAA,EAAAC,EAAAN,EAJJ/L,OAAAA,OAII,IAAAqM,GAAAA,EAHJjb,EAGI2a,EAHJ3a,GACAkb,EAAAA,EAAAA,OACGjb,EAEHyB,EAAAiZ,EAAAxZ,GAAA,IAAKU,MAAMC,QAAQgI,GACjB,MAAU7H,IAAAA,MAA2C6H,qCAAAA,EACtD,MAED,IAIImH,EACFG,EACA+J,EANIC,EAAU,CAACC,EAAAA,SAAUA,EAAMA,UACajN,EAAAA,EAAAA,UAAS,GAAhDkN,EAAiBC,EAAAA,GAAAA,OACsBnN,EAAAA,EAAAA,UAAS,GAAhDoN,EAAPC,EAAA,GAAwBC,EAAxBD,EAAA,GAKEE,EAAK,EACD5T,EAAG,KACL8I,EAAO,CAAC,EAAG,GACX+K,EAAQf,EAEUgB,EAAG,SAACnW,GACb,QAAPqC,GAAiBuT,GAAiBC,GAAmB,GAC9C,QAAPxT,GAAiByT,GAAiBE,GAAmB,GACzDP,EAAKzV,EAAEoW,MAAQ7K,EACf0K,EAAKjW,EAAEqW,MAAQ3K,EACXpH,GACS,QAAPjC,GACFyB,EAAQ,SAAC4K,GAAS,MAAA,CAAC3C,KAAKC,IAAIb,EAAK,GAAKsK,EAAKS,EAAO/K,EAAK,IAAKuD,EAAK,GAAzD,GACC,QAAPrM,GACFyB,EAAQ,SAAC4K,GAAS,MAAA,CAACA,EAAK,GAAI3C,KAAK4I,IAAIxJ,EAAK,GAAKsK,EAAKS,EAAO/K,EAAK,IAAxD,KAEC,QAAP9I,GACFyB,EAAQ,SAAC4K,GAAD,MAAU,CAAC3C,KAAKC,IAAIb,EAAK,GAAK8K,EAAKC,EAAO/K,EAAK,IAAKuD,EAAK,GAAzD,GACC,QAAPrM,GACFyB,EAAQ,SAAC4K,GAAD,MAAU,CAACA,EAAK,GAAI3C,KAAK4I,IAAIxJ,EAAK,GAAK8K,EAAKC,EAAO/K,EAAK,IAAxD,GAEb,IAEuB,SAACnL,GACvB0L,EAAI1L,EAAEqW,MACN9K,EAAIvL,EAAEoW,MACN/T,EAAKrC,EAAEsW,OAAOjU,GACd8I,EAAO+J,EAEPhJ,SAASC,KAAKoK,aACZ,QACAjS,EACI,+BACA,gCAEN4H,SAASP,iBAAiB,YAAawK,GAQvClW,OAAO0L,iBAAiB,UAPR,aACdO,SAASC,KAAKoK,aAAa,QAAS,iBACpCrK,SAASN,oBAAoB,YAAauK,GAC1ClW,OAAO2L,oBAAoB,UAAW4K,GAC3B,QAAPnU,GAAcwT,GAAmB,GAC1B,QAAPxT,GAAc2T,GAAmB,EACtC,EAEF,EA4BD3K,EAAAA,UAAU,WACR,IAAcoL,EAAG,SAACzW,IAEd,CAAC,UAAW,cAAc3D,SAAS2D,EAAE0W,OACrC,CAAC,UAAW,cAAcra,SAAS2D,EAAEsI,OA9BzB,SAACtI,GACb0V,EAAQ,GAAGvO,UAAY+E,SAASyK,gBAClC3W,EAAE4W,iBACF9S,EAAQ,SAAC4K,GAAD,MAAU,CAAC3C,KAAKC,IAAI0C,EAAK,GAAKwH,EAAOxH,EAAK,IAAKA,EAAK,GAApD,GACRgH,EAAQ,GAAGvO,QAAQ0P,SAEjBnB,EAAQ,GAAGvO,UAAY+E,SAASyK,gBAClC3W,EAAE4W,iBACF9S,EAAQ,SAAC4K,GAAD,MAAU,CAACA,EAAK,GAAI3C,KAAK4I,IAAIjG,EAAK,GAAKwH,EAAOxH,EAAK,IAAnD,GACRgH,EAAQ,GAAGvO,QAAQ0P,QAEtB,CAqBKC,CAAU9W,IAGV,CAAC,YAAa,aAAa3D,SAAS2D,EAAE0W,OACtC,CAAC,YAAa,aAAara,SAAS2D,EAAEsI,OAvB1B,SAACtI,GACb0V,EAAQ,GAAGvO,UAAY+E,SAASyK,gBAClC3W,EAAE4W,iBACF9S,EAAQ,SAAC4K,GAAS,MAAA,CAAC3C,KAAKC,IAAI0C,EAAK,GAAKwH,EAAOxH,EAAK,IAAKA,EAAK,GAApD,GACRgH,EAAQ,GAAGvO,QAAQ0P,SAEjBnB,EAAQ,GAAGvO,UAAY+E,SAASyK,gBAClC3W,EAAE4W,iBACF9S,EAAQ,SAAC4K,GAAS,MAAA,CAACA,EAAK,GAAI3C,KAAK4I,IAAIjG,EAAK,GAAKwH,EAAOxH,EAAK,IAAnD,GACRgH,EAAQ,GAAGvO,QAAQ0P,QAEtB,CAcKE,CAAU/W,EAEb,EAGD,OAFAC,OAAO0L,iBAAiB,UAAW8K,GAE5B,WACLxW,OAAO2L,oBAAoB,UAAW6K,EACvC,CACF,EAAE,CAACvB,IAEJ,IAAa8B,EAAG,WACd,OACEpc,EAAA,QAAAC,cAACC,EAADA,IACE,CAAAuH,GAAG,MACHU,GAAIe,EAAU,SAAW,MACzB5E,IAAKwW,EAAQ,GACbuB,SAAU,EACV3c,GAAES,EAAA,CAAA,EACG8I,EAAYC,GADf,CAEA7G,GAAIoD,EACAiE,EACE4E,EACE,MACA,OACF,CAAC,MAAO,MAAO,MAAO,OACxB,EACJhM,GAAIoH,EAAa,CAAC,MAAO,MAAO,MAAO,OAAS,EAChDrB,GAAIqB,EAAa,EAAI,CAAC,OAAQ,OAAQ,OAAQ,QAC9C4S,aAAcpT,EACV,YAAA,MAAA,aAAAqT,EAAGvS,OAAiCwS,OAApC,EACA,QACJvU,OAAQiB,EACJQ,EACE,YACA,YACF,WACDkR,GAEL6B,YAAavT,EAAUwT,EAAkB,aACzC7W,QAAS,WAAA,OAAaiV,EAAC,GAAGvO,QAAQ0P,OAAzB,GAER5L,EAAOiK,EAAK,IAGlB,EAEYqC,EAAG,WACd,OACE3c,EAAC,QAAAC,cAAAC,EAADA,IACE,CAAAuH,GAAG,MACHU,GAAIe,EAAU,SAAW,MACzB5E,IAAKwW,EAAQ,GACbuB,SAAU,EACV3c,GACKuJ,EAAAA,CAAAA,EAAAA,EAAYC,GADf,CAEA7G,GACI,CAAC,MAAO,MAAO,MAAO,OAE1B0H,GAAIL,EAAa,EAAI,CAAC,OAAQ,OAAQ,OAAQ,QAC9C4S,aAAcpT,EACV,SAAA0T,GAA6B5S,MAAAA,aAA7B4S,EAAG5S,OAAiCwS,OAApC,EACA,QACJvU,OAAQiB,EACJQ,EACE,YACA,YACF,WACDkR,GAEL6B,YAAavT,EAAUwT,EAAkB,aACzC7W,QAAS,WAAMiV,OAAAA,EAAQ,GAAGvO,QAAQ0P,OAAzB,GAER5L,EAAOiK,EAAK,IAGlB,EAED,OACEta,EAAC,QAAAC,cAAAmO,EAAAA,KACKzO,EAAAA,CAAAA,EAAAA,EACJ,CAAAD,GACEyW,EAAAA,CAAAA,cAAe,MACfpS,WAAY,QACZD,eAAgB,aAChB3C,IAAK,CAAC,MAAO,MAAO,MAAO,OAC3Bf,OAASsJ,EAAsB,QAAT,QACnBhK,KAGJ+F,GAASzF,EAAC,QAAAC,cAAAiK,EAAM,CAAAzE,MAAOA,EAAO2E,MAAOA,EAAOV,WAAYA,IACzD1J,EAAC,QAAAC,cAAAmO,EAADA,KACE,CAAA1O,GAAI,CACFmd,SAAUnT,EAAa,EAAI,QAC3ByM,cAAe,SACf9T,GAAIiM,GAAU7I,EAAQ,MAAQ,MAC9BrF,OAASsJ,EAAsB,QAAT,SAGxB1J,EAAA,QAAAC,cAACmO,EAADA,KACE,CAAA1O,GAAI,CACFyB,IAAK,CAAC,MAAO,MAAO,MAAO,OAC3Bf,OAASsJ,EAAsB,QAAT,SAGvBA,GAAc4Q,IAAShM,GAAUtO,EAAC,QAAAC,cAAAmc,QACnCpc,EAAA,QAAAC,cAACsJ,EAAD,CACEC,SAAUA,EACVE,WAAYA,EACZD,SAAUA,EACVrK,MAAOA,EACPgB,OAAQA,IAETsJ,GAAc4Q,IAAShM,GAAUtO,UAAAC,cAAC0c,EAAD,OAEnCjT,GAAc4Q,GAAQhM,GACrBtO,EAAAA,QAAAC,cAACmO,EAADA,KAAA,CAAM1O,GAAI,CAAEoE,eAAgB,kBAC1B9D,EAAAA,QAAAC,cAACmc,EAAD,MACApc,EAAAA,QAACC,cAAA0c,EAFH,SAOFjT,GACA1J,EAAC,QAAAC,cAAAmO,EAADA,KACE,CAAA1O,GAAI,CACFyW,cAAe,iBACfrS,eAAgB,gBAChB1D,OAAQA,GAAUkJ,EAAWlJ,SAG9Bka,GAAQta,EAAAA,QAAAC,cAACmc,EAPZ,MAQG9B,GAAQta,EAAC,QAAAC,cAAA0c,EARZ,OAaP,sDyBtViB,WAChB,OACE3c,EAAC,QAAAC,cAAA6c,GACC,CAAApI,QAAQ,EACR/J,MAAO,mBACPC,YACE,iEAGF5K,EAAA,QAAAC,cAACa,EAAD,CAAKpB,GAAI,CAAE2I,GAAI,CAAC,EAAG,EAAG,GAAI4F,GAAI,CAAC,EAAG,EAAG,KACnCjO,EAAC,QAAAC,cAAAiO,EAAO,CAAAhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,EAAG,IAC5CY,EAAAA,sBAACE,EAADA,IAAA,CAAKiI,GAAG,KAAK6P,QAAQ,aADvB,SAIEhY,EAAC,QAAAC,cAAAC,EAAAA,IACC,CAAAR,GAAI,CACFwE,SAAU,CAAC,EAAG,EAAG,EAAG,GACpB+B,WAAY,KACZ8D,GAAI,CAAC,EAAG,EAAG,GACX1B,GAAI,CAAC,EAAG,EAAG,GACXhJ,SAAU,CAAC,MAAO,MAAO,4EAK7BW,UAAAC,cAACC,EAAAA,IAAD,CACER,GAAI,CACFX,MAAO,YACPiF,WAAY,OACZC,cAAe,OACfC,SAAU,CAAC,EAAG,EAAG,EAAG,GACpB6F,GAAI,CAAC,EAAG,EAAG,wBAMjB/J,EAAC,QAAAC,cAAAiO,GAAOhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,EAAG,IAC5CY,EAAAA,QAACC,cAAAC,EAADA,KACER,GAAI,CACFN,MAAO,CAAC,QACR2K,GAAI,CAAC,EAAG,EAAG,EAAG,GACdzB,KAAM,YAGRtI,EAAC,QAAAC,cAAA8c,EAAAA,SAAQrd,GAAI,CAAEN,MAAO,OAAQgB,OAAQ,aAMjD,qCCvDgB,SAAgCtB,GAAA,IAAA4G,EAAA5G,EAA7B4G,MAClB,OACE1F,UAACC,cAAA6L,EAADA,WACE,CAAAjG,UAHyBA,QAIzB4B,GAJqBA,EAAAA,GAKrBwH,KAAK,WACL,eAAcvJ,EACd,aAAW,SACXhG,GACEa,EAAAA,CAAAA,QAAS,eACTnB,MAAO,GACPgB,OAAQ,GACR8X,EAAG,CAAC,GACJjQ,OAAQ,UACRK,KAAM,YACNqD,OAAQ,YACR,4CAA6C,CAC3C,UAAW,CACTrD,KAAM,UACNqD,OAAQ,aAnB6B7M,EAATY,KAyBlCM,EAAA,QAAAC,cAAA,MAAA,CAAK2L,QAAQ,aACX5L,EAAAA,QAAAC,cAAA,OAAA,CACE4B,EAAE,oBACF8F,MAAO,CACLtB,YAAa,EACbqB,WAAY,YACZgK,gBAAiB,UACjBrK,UAAW3B,EAAQ,gBAAkB,OAMhD,mCCpCc,SAAqC5G,GAAA,IAAA6J,EAAA7J,EAAlCqJ,GAAelH,EAAmBnC,EAAnBmC,SAC/B,OACEjB,EAAAA,QAACC,cAAAC,EAAAA,KACCiI,QAHiB,IAAAQ,EAAA,WAIjBjJ,GACEsd,EAAAA,CAAAA,GAAI,CAAC,EAAG,EAAG,EAAG,GACd,eAAgB,CACdC,YAAa,YAPoBvd,KAYrCM,UAACC,cAAA+C,GAAMK,QAAS,CAAC,EAAG,EAAG,EAAG,IAAKpC,GAGpC,wBCjBqB,SAA6CnC,GAAA,IAAA6J,EAAA7J,EAA1CqJ,GACvB,OACEnI,EAAAA,QAAAC,cAACid,EAAQ,CAAA/U,QAFiB,IAAAQ,EAAA,aAAcC,EAEvBA,OAFuBA,EAAAA,OAEPnD,MAAM,UAFwB3G,EAAfmC,SAMnD,iBVsDc,SAAAuD,GACbiT,IAAAA,EAAAA,EAAAA,OACAE,EAAAA,EAAAA,UACAlS,EAAAA,EAAAA,MACAuE,IAAAA,OAIImT,EAAA3Y,EAHJ4Y,QAAAA,OAGI,IAAAD,GAAAA,EAAAE,EAAA7Y,EAFJkT,YAAAA,OAEI,IAAA2F,GAAAA,EADD1d,EACCyB,EAAAoD,EAAA3D,IACJ,OACEb,EAAC,QAAAC,cAAAC,EAAAA,IAAQP,EACN8F,GAASzF,EAAA,QAAAC,cAACC,EAAAA,IAAD,CAAKR,GAAIA,GAAG+F,OAAQA,GAC9BzF,EAAAA,QAAAC,cAACC,EAADA,IAAA,CAAKR,GAAI,CAAEqK,GAAItE,EAAQ,CAAC,GAAK,IAC1B2X,GACCpd,EAAAA,QAAAC,cAACsW,GAAD,CACE1Q,QAAS,WACP0R,OAAAA,GAAa,CACXE,OAAQA,EACRC,YAAAA,EACAC,UAAWA,EACXjS,MAAO,OALF,EAQTA,MAAO2R,GAAMI,GACb/X,GAAI,CAAE4C,GAAI,CAAC,KAVb,OAeDyU,OAAOC,KAAKS,GAAQ7V,IAAI,SAACC,EAAGW,GAAJ,OACvBxC,EAAC,QAAAC,cAAAsW,IACC1Q,QAAS,WACP0R,OAAAA,GAAa,CACXE,OAAQA,EACRC,YAAAA,EACAC,UAAWA,EACXjS,MAAO7D,GALF,EAQT4U,cAAe,WACbc,OAAAA,GAAa,CACXE,OAAQA,EACRC,aAAa,EACbC,UAAWA,EACXjS,MAAO7D,GALI,EAQf6L,IAAKlL,EACLkD,MAAO+R,EAAO5V,GACdnC,GAAI,CACFN,MAAO,cACPL,MAAOiL,EAASA,EAAOnI,GAAK,UAC5BS,GAAI,CAAC,GACL+F,GAAI,CAAC,KAGNxG,EA3BoB,IAiChC,sFWvHe,SAQV/C,GAAA,MAPJmC,EAAAA,SACAqc,EAMIxe,EANJwe,SACAtF,EAAAA,EAAAA,QAAAA,aAAU,KAKNC,EAJJrN,EAII9L,EAJJ8L,YACA2S,EAAAA,EAAAA,iBAAAA,aAAmB,CAAC,EAAG,EAAG,EAAG,GAGzBC,EAAAC,EAAA3e,EAFJ4e,iBAAAA,aAAmB,CAAC,EAAG,EAAG,EAAG,GAEzBD,EADJ/d,EAAAA,EAAAA,GAEIie,EAAa,CAAC,EAAG,EAAG,EAAG,GAO3B,GANI/S,IACF+S,EAAW,GAAKJ,EAAiB,GAAK,EACtCI,EAAW,GAAKJ,EAAiB,GAAK,EACtCI,EAAW,GAAKJ,EAAiB,GAAK,IAGnC,CAAC,KAAM,MAAM9b,SAASuW,GACzB,MAAM,UAAmDA,yCAAAA,OAG3D,OACEhY,wBAACc,EAAD,CAAKpB,GAAES,EAAA,CAAI4J,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI1B,GAAI,CAAC,EAAG,EAAG,EAAG,IAAO3I,IAChDM,EAAAA,sBAACkO,EAAD,CAAQhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAOue,GACrB,OAAZ3F,GACChY,UAAAC,cAACC,EAADA,IAAA,CAAKiI,GAAG,KAAK6P,QAAQ,YAAYtY,GAAI,CAAEsd,GAAI,CAAC,EAAG,EAAG,EAAG,KAClD/b,GAGQ,OAAZ+W,GACChY,EAAAA,QAAAC,cAACC,MAAI,CAAAiI,GAAG,KAAK6P,QAAQ,YAAYtY,GAAI,CAAEsd,GAAI,CAAC,EAAG,EAAG,EAAG,KAClD/b,IAINqc,GAAYtd,EAAAA,sBAAC+X,GAAD,CAAUC,QAASA,GAAUsF,GACzC1S,GACC5K,EAAC,QAAAC,cAAAiO,GAAOhM,MAAOqb,EAAkBne,MAAOse,GACtC1d,EAAC,QAAAC,cAAAC,EAAAA,IACC,CAAAR,GAAI,CACFqK,GAAI,CAAC,EAAG,MAAO,OAAQ,QACvB7F,SAAU,CAAC,EAAG,EAAG,EAAG,KAGrB0G,IAMZ,sEClDiB,SAUZ9L,GAAA,MATJ2a,EAAAA,QACA1a,EAQID,EARJC,MACA0H,IAAAA,SACA9B,EAAAA,EAAAA,aACAqB,KAAAA,OAKI,IAAAM,EALG,KACPtF,EAAAA,EAAAA,EAAAA,WACAD,UAGImC,EAAApE,EAFJqE,UAGA,OACEnD,EAAA,QAAAC,cAACmO,EAADA,KACE,CAAA1O,GACEyW,EAAAA,CAAAA,cAA6B,2BANvB,aAERjT,GAI8C,MAAQ,SACpDlC,YALF,IAAA4c,EAJK,CAAC,EAAG,EAAG,EAAG,KAUb7c,eATM,IAAA8c,EAAA,CAAC,EAAG,EAAG,EAAG,GAGlBA,EAOEC,SAAU,QARhBpe,EAAAA,KAYK+Z,EAAQ7X,IAAI,SAACC,EAAGW,GACf,OACExC,EAAAA,QAAAC,cAAC8d,EACC,CAAArQ,IAAKlL,EACL+B,KAAM1C,EAAE0C,KACRkB,MAAO5D,EAAE4D,MACTO,KAAMA,EACNtG,GAAI,CAAEX,MAAOA,GACb0H,SAAUA,EACVD,OAAQxG,EAAAA,QAACC,cAAA+d,EAAAA,oBACTrZ,SAAUA,GAET9C,EAAE4D,MAGR,GAGN,qHCtCc,SAAuD3G,GAAA,IAAA8E,ECNpDqa,EDkBhBjV,EAAQ5I,EAAQhB,EAAOiD,EAAIqG,EAZyCzH,EAAAnC,EAApDmC,SAAoDqF,EAAAxH,EAA1CkH,KAAAA,OAA0C,IAAAM,EAAnC,KAAmCA,EAA7B5G,EAAAA,EAAAA,GAAIwe,EAAAA,EAAAA,SAAave,EACxDyB,EAAAtC,EAAA+B,IAAW9B,EAAGW,GAAMA,EAAGX,MAAQW,EAAGX,MAAQ,UAC1B6I,EAAG7B,EAAcC,GAC3B1B,EAAMyW,EAAMA,OAAC,MAEXoD,EAAaxe,EAAbwe,SACFC,GCZUH,EDYc,SAACI,GAAD,MAAa,aAALA,CAAR,WCZJ1e,GAC1B,IAAM2e,EAAO,GACb,IAAK,IAAM5Q,KAAO/N,EACZse,EAAKvQ,GAAO,MAAK4Q,EAAK5Q,GAAO/N,EAAM+N,IAEzC,QACD,GDMwD/N,GAEvD,IAAK,CAAC,KAAM,KAAM,MAAM8B,SAASuE,GAC/B,MAAM,IAAArE,MAAU,8BA4BlB,MAvBa,OAATqE,IACF5F,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBsJ,EAAM,CAAC,OACPrG,EAAK,CAAC,QAAS,QAAS,QAAS,UAGtB,OAAT2D,IACF5F,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBsJ,EAAM,CAAC,OACPrG,EAAK,CAAC,QAAS,QAAS,QAAS,UAGtB,OAAT2D,IACF5F,EAAS,CAAC,GAAI,GAAI,GAAI,IACtBhB,EAAQ,CAAC,GAAI,GAAI,GAAI,IACrBsJ,EAAM,CAAC,OACPrG,EAAK,CAAC,QAAS,QAAS,QAAS,UAGnC2G,EAAK5J,EAAMwC,IAAI,SAACC,GAAMA,OAAAA,EAAI,EAAX,GAGb7B,EAAA,QAAAC,cAACC,EAADA,IAAA,CACER,GAAES,EAAA,CACAI,QAAS,gBACNb,IAGLM,EAAA,QAAAC,cAACC,EAADA,IACEC,EAAA,CAAAgI,GAAG,SACH7D,IAAKA,EACL6Z,SAAU,SAAC/Y,GACTd,EAAIiI,QAAQgS,OACRJ,GAAUA,EAAS/Y,EACxB,EACD1F,GACKkI,EAAAA,CAAAA,EAAAA,GACH3B,EAAAA,CAAAA,WAAY,SACZgC,OAAQ,UACRkQ,iBAAkB,OAClBqG,cAAe,OACfjW,GAAI,CAAC,OACL9H,GAAI,aACJuI,GAAIA,EACJnB,OAAQ,OACR4W,kBAAmB,QACnB7R,kBAAmB,MACnB8R,kBAAmB,UACnBre,aAAc,MACdtB,MAAO,OACPK,MAAO,eACAL,EAAAA,MAAAA,EACPqK,EAAAA,WAAY,OACZxF,EAAA,8CAA8C,CAC5C,kBAAmB,CACjBwU,QAAS,kBACTtQ,WAAY,2BAGboW,GAAAA,IAEDE,GAEHnd,GAEHjB,EAAC,QAAAC,cAAAwI,EAADA,MACE,CAAA/I,GAAI,CACFN,MAAOA,EACPgB,OAAQA,EACRE,SAAU,WACV+B,GAAIA,EACJqG,IAAKA,EACLJ,KAAM,YACNjB,UAAW,iBACX6F,cAAe,UAKxB,sDTvDa,SAWRpO,GAAA,IAAA6f,EAAA7f,EAVJ6f,KACAjf,EAAAA,EAAAA,GACAX,EAAAA,EAAAA,MACA6V,EAAAA,EAAAA,OACA1T,EAAAA,EAAAA,QACAgB,IAAAA,MACA9C,EAIIN,EAJJM,MAIIwf,EAAA9f,EAHJ6Z,MAAAA,OAGI,IAAAiG,GAAAA,EAAAC,EAAA/f,EAFJwd,aAAAA,OAEI,IAAAuC,GADJC,EAAAA,EAAAA,EAAAA,UAAAA,OAAY,IAAAC,GAEZA,EAAA,IAAK7c,IAAUhB,IAAY9B,EACzB,MAAM,IAAAuC,MAAU,0CAElB,OACE3B,EAAC,QAAAC,cAAAC,EAAAA,IAAI,CAAAiI,GAAG,QAAQzI,MAAMa,QAAS,SAAYb,IACzCM,EAAAA,QAAAC,cAACC,EAADA,IAAA,CAAKiI,GAAG,QAAQzI,GAAI,CAAEa,QAAS,UAC5BqU,GACC5U,EAAA,QAAAC,cAACa,EAAD,CACEqH,GAAG,KACHzI,GAAES,EAAA,CAAA,EACG8I,GAAOwP,MACPxP,GAAO2L,OACP3L,GAAOyP,IAHV,CAIA3Z,MAAOA,EACP8N,eAAiBiS,EAAoB,MAAR,SAG/B9e,EAAA,QAAAC,cAACiO,EAAD,CAAQ/F,GAAG,KAAKjG,MAAO,CAAC,GAAI9C,MAAO8B,EAASxB,GAAIuJ,GAAO0P,OACpD/D,IAIN+J,EAAK/c,IAAI,SAAC8W,EAAKlW,GACd,OACExC,EAAA,QAAAC,cAACa,EAAD,CACEqH,GAAG,KACHjH,QAASA,EACTwM,IAAKlL,EACL9C,GAAES,EAAA,CAAA,EACG8I,GAAOwP,MACPxP,GAAOyP,IACVnQ,CAAAA,GACE+T,GAAgB9Z,IAAMmc,EAAKjd,OAAS,EAChC,CAAC,OAAQ,OAAQ,OAAQ,QACzB,CAAC,EAAG,EAAG,EAAG,QAChBkL,kBACE0P,GAAgB9Z,IAAMmc,EAAKjd,OAAS,EAAI,MAAQ,MAClDmL,eACGiS,GAAmB,IAANtc,GAAYoS,EAAiB,MAAR,SAGtC8D,EAAI9W,IAAI,SAACod,EAAQC,GAChB,OACEjf,EAAAA,QAACC,cAAAiO,EACC,CAAA/F,GAAG,KACHuF,IAAKuR,EACL/c,MAAOA,EAAM+c,GACb7f,MAAOA,EAAM6f,GACbvf,GACES,EAAA,CAAA,EACS8I,GAAOwP,MADX,GAALwG,GAAUtG,EACgB1P,GAAO0P,MACP1P,GAAO2P,QAGlCoG,EAGN,GAGN,IAIR,uBWvHoB,SAA6ClgB,GAAA,IAAA6J,EAAA7J,EAA1CqJ,GACtB,OACEnI,EAAAA,QAAAC,cAACid,EAAQ,CAAA/U,QAFgB,IAAAQ,EAAA,aAAcC,EAEtBA,OAFsBA,EAAAA,OAENnD,MAAM,SAFuB3G,EAAfmC,SAMlD,oDCPgB,SAAYnC,GAAA,MAAT2I,EAAAA,GAClB,OAAKA,EAIHzH,gDACEA,EAAQ,QAAAC,cAAA,SAAA,CAAAif,SAAMzf,mDAAoDgI,IAClEzH,EAAA,QAAAC,cAAA,SAAA,CACEkf,wBAAyB,CACvBC,OAAM,+KAIY3X,EALK,sFANtB,IAmBV,eClBY,SAAgC3I,GAAA,IAAAiP,EAAAjP,EAA7BiP,SAAUrO,EAAAA,EAAAA,GAAIuB,EAAAA,EAAAA,SAC5B,OACEjB,EAAAA,QACEC,cAAAD,EAAA,QAAA6I,SAAA,KAAA7I,EAAA,QAAAC,cAACC,EAAAA,IAAD,CACER,GAAI,CACFY,SAAU,QACVoI,IAAK,OACL4F,OAAQ,MACRnB,KAAM,MACN/N,MAAO,cACP2K,GAAI,CAAC,QACLtJ,GAAI,aACJ0N,OAAQ,IACRzG,WAAY,gBACZ/G,QAASoN,EAAW,GAAM,EAC1Bb,cAAea,EAAW,MAAQ,UAGtC/N,EAAAA,QAAAC,cAACC,EAAAA,IAAD,CACER,GAAES,EAAA,CACAG,SAAU,QACVlB,MAAO,cACPsJ,IAAK,MACLqB,GAAI,CAAC,QACLxB,GAAI,CAAC,EAAG,EAAG,EAAG,GACd0F,GAAI,CAAC,EAAG,EAAG,EAAG,GACdxN,GAAI,aACJ0N,OAAQ,KACR1B,YAAa,QACbC,YAAa,QACbC,YAAa,MACbC,kBAAmB,MACnBlF,WAAY,kBACZrF,GAAI,EAAE,GAAI,GAAI,GAAI,GAClBgd,GAAI,CAAC,EAAG,EAAG,EAAG,GACdrW,GAAI,CAAC,EAAG,EAAG,EAAG,GACd3B,UAAW0G,EAAW,gBAAkB,qBACrCrO,IAGLM,EAAAA,QAAAC,cAACa,EAAD,KACEd,wBAACkO,EAAD,CAAQhM,MAAO,CAAC,EAAG,EAAG,EAAG,GAAI9C,MAAO,CAAC,EAAG,EAAG,GAAI,KAC5C6B,KAMZ,qBX9BkB,SAACmY,EAAMxC,GAA6B,IAAA0I,OAA7B1I,IAAAA,IAAAA,EAAUmC,IAClC,IAAOlX,EAAG,IAAI0d,KAAKnG,EAAKrZ,QAAQ,KAAM,MAMtC,MAAO,CAJOoZ,GAAkBtX,EAAG,QAAS+U,EAAQoC,OACxCG,GAAkBtX,EAAG,MAAO+U,EAAQqC,KACnCE,GAAkBtX,EAAG,OAAQ+U,EAAQsC,OAExBtY,OAAO4e,SAAS3V,KAAnC,OAAwC+M,EAAAA,EAAQ6I,WAAhDH,EAA6D,IACrE,yDY3ByB,WACxB,IAAAtR,EAAkCF,EAAAA,SAAS,MAApCxB,EAAWoT,EAAAA,GAAAA,EAElBjP,EAAAA,GAMA,OANAA,EAASA,UAAC,WACJa,UAAYwB,GAAkBxB,UAAY,GAC5CoO,EAAa,mBAEhB,EAAE,IAGJpT,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/avatar.js","../src/row.js","../src/column.js","../src/group.js","../src/avatar-group.js","../src/badge.js","../src/blockquote.js","../src/link.js","../src/utils/get-size-styles.js","../src/button.js","../src/callout.js","../src/caption.js","../src/colorbar.js","../src/colors.js","../src/meta.js","../src/logo.js","../src/menu.js","../src/header.js","../src/monogram.js","../src/footer.js","../src/dimmer.js","../src/gitsha.js","../src/metadata.js","../src/fade-in.js","../src/utils/get-scrollbar-width.js","../src/scrollbar.js","../src/guide.js","../src/settings.js","../src/layout.js","../src/tag.js","../src/filter.js","../src/sidenote.js","../src/input.js","../src/slider.js","../src/table.js","../src/toggle.js","../src/utils/format-date.js","../src/custom-404.js","../src/expander.js","../src/figure.js","../src/figure-caption.js","../src/heading.js","../src/link-group.js","../src/select.js","../src/utils/get-props.js","../src/table-caption.js","../src/tracking.js","../src/tray.js","../src/utils/use-scrollbar-class.js"],"sourcesContent":["import React from 'react'\nimport { Box, Image } from 'theme-ui'\n\nconst Avatar = ({\n color = 'transparent',\n width = '90px',\n maxWidth,\n name,\n github,\n alt,\n src,\n sx,\n ...props\n}) => {\n if (!name && !src && !github) {\n console.warn('must specify either name, github, or src')\n }\n\n let srcProp, altProp\n if (name) {\n srcProp = `https://images.carbonplan.org/team/${name\n .toLowerCase()\n .replace(' ', '-')}.png`\n altProp = alt || name\n } else if (github) {\n srcProp = `https://github.com/${github}.png`\n altProp = alt || github\n } else {\n srcProp = src\n altProp = alt\n }\n\n return (\n <Box\n sx={{\n width: width,\n maxWidth: maxWidth,\n height: 'auto',\n borderRadius: '50%',\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'top',\n bg: color,\n ...sx,\n }}\n {...props}\n >\n <Image\n alt={altProp}\n src={srcProp}\n sx={{\n opacity: color && color !== 'transparent' ? 0.25 : 1,\n filter:\n color && color !== 'transparent'\n ? 'grayscale(100%) contrast(200%) brightness(100%)'\n : 'none',\n width: '100%',\n borderRadius: '50%',\n display: 'block',\n }}\n />\n </Box>\n )\n}\n\nexport default Avatar\n","import React from 'react'\nimport { Grid } from 'theme-ui'\n\nconst Row = ({ children, sx, columns, gap, ...props }) => {\n const makeArray = (input) => {\n if (!Array.isArray(input)) {\n input = [input, input, input, input]\n }\n if (Array.isArray(input) && ![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d]).flat()\n }\n if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n return input\n }\n\n let columnGap, rowGap\n if (Number.isInteger(gap) || Array.isArray(gap)) {\n gap = makeArray(gap)\n columnGap = gap\n rowGap = gap\n } else {\n columnGap = [4, 5, 5, 6]\n rowGap = [0, 0, 0, 0]\n }\n\n if (Number.isInteger(columns) || Array.isArray(columns)) {\n columns = makeArray(columns)\n } else {\n columns = [6, 8, 12, 12]\n }\n\n return (\n <Grid\n {...props}\n columns={columns}\n sx={{\n columnGap: columnGap,\n rowGap: rowGap,\n ...sx,\n }}\n >\n {children}\n </Grid>\n )\n}\n\nexport default Row\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Column = ({ start, width, dl, dr, children, sx, ...props }) => {\n start = start || 'auto'\n width = width || 'auto'\n\n const makeArray = (input) => {\n if (input && !Array.isArray(input)) {\n input = [input]\n }\n\n if (![1, 2, 4].includes(input.length)) {\n throw new Error('Array length must be 1, 2, or 4')\n }\n\n if (Array.isArray(input) && input.length == 1) {\n input = input.map((d) => [d, d, d, d]).flat()\n } else if (Array.isArray(input) && input.length == 2) {\n input = input.map((d) => [d, d]).flat()\n }\n\n return input\n }\n\n start = makeArray(start)\n width = makeArray(width)\n\n const end = start.map((d, i) => {\n if (d == 'auto') return 'auto'\n return d + width[i]\n })\n\n let ml, mr\n\n if (dl) {\n if (![0.5, 1].includes(dl)) {\n throw new Error('dl must be 0.5 or 1')\n }\n if (dl === 0.5) {\n ml = ['-12px', -3, -3, -4]\n }\n if (dl === 1) {\n ml = [-4, -5, -5, -6]\n }\n }\n\n if (dr) {\n if (![0.5, 1].includes(dr)) {\n throw new Error('dr must be 0.5 or 1')\n }\n if (dr === 0.5) {\n mr = ['-12px', -3, -3, -4]\n }\n if (dr === 1) {\n mr = [-4, -5, -5, -6]\n }\n }\n\n return (\n <Box\n {...props}\n sx={{\n gridColumnStart: start,\n gridColumnEnd: end,\n ml: ml,\n mr: mr,\n ...sx,\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default Column\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\nconst Group = ({ children, direction = 'vertical', spacing = 'md', sx }) => {\n let marginValue\n if (typeof spacing === 'string' && sizes.hasOwnProperty(spacing)) {\n marginValue = sizes[spacing]\n } else {\n marginValue = spacing\n }\n\n if (!['horizontal', 'vertical'].includes(direction)) {\n throw new Error(\n 'Invalid direction value. Must be either horizontal or vertical'\n )\n }\n\n const marginProperty = direction === 'vertical' ? 'mb' : 'mr'\n const additionalStyles =\n direction === 'horizontal' ? { display: 'inline-block' } : {}\n return (\n <Box sx={sx}>\n {React.Children.map(children, (child, i) => {\n return (\n <Box\n sx={{\n [marginProperty]: i < children.length - 1 ? marginValue : 0,\n ...additionalStyles,\n }}\n >\n {child}\n </Box>\n )\n })}\n </Box>\n )\n}\n\nexport default Group\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Avatar from './avatar'\nimport Row from './row'\nimport Column from './column'\nimport Group from './group'\n\nconst sizes = {\n xs: [1],\n sm: [3],\n md: [5],\n lg: [7],\n xl: [9],\n}\n\nconst Blank = ({ overflow, maxWidth }) => {\n return (\n <Box\n sx={{\n bg: 'muted',\n height: '100%',\n maxWidth: maxWidth,\n borderRadius: '50%',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Box\n sx={{\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [3, 3, 3, 4],\n }}\n >\n +{overflow}\n </Box>\n </Box>\n </Box>\n )\n}\n\nconst AvatarGroup = ({\n members,\n direction = 'horizontal',\n align,\n spacing = 'md',\n limit,\n width,\n maxWidth,\n fixedCount,\n sx,\n ...props\n}) => {\n let gap\n if (sizes.hasOwnProperty(spacing)) {\n gap = sizes[spacing]\n } else {\n gap = spacing\n }\n\n let start = (idx) => 'auto'\n if (align) {\n if (!Array.isArray(align)) {\n align = [align]\n }\n start = (idx) =>\n align.map((d) => {\n if (d === 'left') {\n return 'auto'\n } else if (d === 'right') {\n const offset = Math.max(1, fixedCount - members.length + 1)\n return (offset + idx) % fixedCount\n } else {\n throw Error(`alignment '${align}' not recognized`)\n }\n })\n }\n\n const excess = members.length > limit\n const overflow = members.length - limit + 1\n\n return (\n <>\n {fixedCount && (\n <Row columns={fixedCount} gap={gap} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Column key={idx} start={start(idx)}>\n {(!excess || idx < limit - 1) && (\n <Avatar {...props} width={width} maxWidth={maxWidth} />\n )}\n {excess && idx === limit - 1 && (\n <Blank overflow={overflow} maxWidth={maxWidth} />\n )}\n </Column>\n ))}\n </Row>\n )}\n {!fixedCount && (\n <Group direction={direction} spacing={spacing} sx={sx} {...props}>\n {members.map((props, idx) => (\n <Avatar key={idx} {...props} width={width} maxWidth={maxWidth} />\n ))}\n </Group>\n )}\n </>\n )\n}\n\nexport default AvatarGroup\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Badge = ({ sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n return (\n <Box\n sx={{\n display: 'inline-block',\n width: 'fit-content',\n height: ['24px', '24px', '24px', '26px'],\n borderRadius: '5px',\n backgroundColor:\n color == 'primary' || color == 'secondary'\n ? 'muted'\n : transparentize(color, 0.7),\n textAlign: 'center',\n userSelect: 'none',\n fontSize: [2, 2, 2, 3],\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n letterSpacing: '0.02em',\n fontFamily: 'mono',\n mt: ['1px', '1px', '1px', '0px'],\n px: [1, 1, 1, '5px'],\n color: color,\n }}\n >\n {children}\n </Box>\n </Box>\n )\n}\n\nexport default Badge\n","import React, { Children } from 'react'\nimport { Box } from 'theme-ui'\n\nconst specialChars = ['“', '\"', \"'\", '‘']\n\nconst Blockquote = ({ children }) => {\n return (\n <Box variant='styles.blockquote'>\n {Children.map(children, (d, i) => {\n let firstChar = ''\n let remaining = children\n\n if (d.props && typeof d.props.children === 'string') {\n firstChar = d.props.children.slice(0, 1)\n remaining = d.props.children.slice(1)\n } else if (typeof d === 'string') {\n firstChar = d.slice(0, 1)\n remaining = d.slice(1)\n }\n\n return (\n <>\n {specialChars.includes(firstChar) && (\n <Box as='span' sx={{ position: 'absolute', ml: '-0.4em' }}>\n {firstChar}\n </Box>\n )}\n {specialChars.includes(firstChar) ? remaining : d}\n </>\n )\n })}\n </Box>\n )\n}\n\nexport default Blockquote\n","import React, { forwardRef } from 'react'\nimport { Link as ThemedLink } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\n\nconst event = ({ action, category, label, value }) => {\n if (typeof window.gtag !== 'function') {\n console.warn(`Missing window.gtag, skipping analytics action: '${action}'.`)\n return\n }\n\n window.gtag('event', action, {\n event_category: category,\n event_label: label,\n value: value,\n })\n}\n\nconst Link = (\n { href, children, internal = false, tracking = false, ...props },\n ref\n) => {\n if (internal || (href && href.startsWith('/'))) {\n return (\n <NextLink href={href} passHref>\n <ThemedLink ref={ref} {...props}>\n {children}\n </ThemedLink>\n </NextLink>\n )\n } else if (tracking) {\n let action\n let category\n if (href && href.includes('pdf')) {\n action = 'PDF'\n category = 'download'\n } else {\n action = 'website'\n category = 'external'\n }\n const track = (e) => {\n event({\n action: action,\n category: category,\n label: href,\n })\n }\n return (\n <ThemedLink\n ref={ref}\n onClick={track}\n onContextMenu={track}\n href={href}\n {...props}\n >\n {children}\n </ThemedLink>\n )\n } else {\n return (\n <ThemedLink ref={ref} href={href} {...props}>\n {children}\n </ThemedLink>\n )\n }\n}\n\nexport default forwardRef(Link)\n","const getSizeStyles = (size) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let fontSize, fontFamily, letterSpacing, lineHeight\n\n if (size === 'xs') {\n fontSize = [2, 2, 2, 3]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'sm') {\n fontSize = [3, 3, 3, 4]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'md') {\n fontSize = [4, 4, 4, 5]\n fontFamily = 'body'\n letterSpacing = 'body'\n lineHeight = [1.2]\n }\n\n if (size === 'lg') {\n fontSize = [5, 5, 6, 7]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.2, 1.2, 1.25, 1.25]\n }\n\n if (size === 'xl') {\n fontSize = [6, 7, 8, 9]\n fontFamily = 'heading'\n letterSpacing = 'heading'\n lineHeight = [1.25]\n }\n\n return { fontSize, fontFamily, letterSpacing, lineHeight }\n}\n\nexport default getSizeStyles\n","import React, { forwardRef, cloneElement } from 'react'\nimport { Box } from 'theme-ui'\nimport Link from './link'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Button = (\n {\n size = 'sm',\n prefix,\n suffix,\n inverted,\n sx,\n children,\n align,\n href,\n internal,\n tracking,\n ...props\n },\n ref\n) => {\n if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {\n throw new Error('Size must be xs, sm, md, lg, or xl')\n }\n\n let offset, margin, top, height, width, strokeWidth\n\n const { color, ...sxProp } = sx || {}\n\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n if (size === 'xs') {\n margin = ['6px', '6px', '6px', '6px']\n height = [12, 12, 12, 13]\n width = [12, 12, 12, 13]\n strokeWidth = [1.5, 1.5, 1.5, 1.5]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'sm') {\n margin = ['7px', '7px', '7px', '7px']\n height = [13, 13, 13, 18]\n width = [13, 13, 13, 18]\n strokeWidth = [1.5, 1.5, 1.5, 2]\n offset = { transform: 'translateY(0.25px)' }\n }\n\n if (size === 'md') {\n margin = ['8px', '8px', '8px', '8px']\n height = [18, 18, 18, 24]\n width = [18, 18, 18, 24]\n strokeWidth = [2, 2, 2, 3]\n }\n\n if (size === 'lg') {\n margin = ['10px', '10px', '12px', '16px']\n height = [24, 24, 34, 46]\n width = [24, 24, 34, 46]\n strokeWidth = [3, 3, 4, 5]\n }\n\n if (size === 'xl') {\n margin = ['12px', '16px', '18px', '20px']\n height = [34, 46, 56, 68]\n width = [34, 46, 56, 68]\n strokeWidth = [4, 5, 6, 7]\n }\n\n let prefixHover,\n suffixHover,\n prefixAlign,\n suffixAlign,\n prefixOffset,\n suffixOffset\n\n if (align) {\n prefixAlign = align\n suffixAlign = align\n } else {\n if (prefix && suffix) {\n prefixAlign = 'initial'\n suffixAlign = 'initial'\n } else if (prefix) {\n prefixAlign = 'initial'\n } else if (suffix) {\n suffixAlign = 'middle'\n }\n }\n\n if (prefixAlign === 'middle') {\n prefixOffset = {}\n } else {\n prefixOffset = offset\n }\n\n if (suffixAlign === 'middle') {\n suffixOffset = {}\n } else {\n suffixOffset = offset\n }\n\n if (prefix) {\n prefixHover = {\n '&:hover > #prefix-span > #prefix': {\n color: hoverColor,\n ...prefix.type.hover,\n },\n }\n prefix = cloneElement(prefix, {\n id: 'prefix',\n sx: {\n position: 'relative',\n height: height,\n width: width,\n mr: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: prefixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...prefix.props.sx,\n },\n })\n }\n\n if (suffix) {\n suffixHover = {\n '&:hover > #suffix-span >#suffix': {\n color: hoverColor,\n ...suffix.type.hover,\n },\n }\n suffix = cloneElement(suffix, {\n id: 'suffix',\n sx: {\n height: height,\n width: width,\n ml: children ? margin : [0],\n strokeWidth: strokeWidth,\n verticalAlign: suffixAlign,\n transition: 'color 0.15s, transform 0.15s',\n ...suffix.props.sx,\n },\n })\n }\n\n let sizeStyles = getSizeStyles(size)\n\n const style = {\n ...sizeStyles,\n lineHeight: 1.05,\n border: 'none',\n background: 'transparent',\n display: 'block',\n color: baseColor,\n padding: [0],\n textAlign: 'left',\n cursor: 'pointer',\n width: 'fit-content',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n color: hoverColor,\n },\n ...suffixHover,\n ...prefixHover,\n },\n ...sxProp,\n }\n\n const Inner = (\n <>\n <Box\n as='span'\n id='prefix-span'\n sx={{ display: 'inline-block', ...prefixOffset }}\n >\n {prefix && prefix}\n </Box>\n <Box as='span' sx={{ transition: 'color 0.15s' }}>\n {children}\n </Box>\n <Box\n as='span'\n id='suffix-span'\n sx={{ display: 'inline-block', ...suffixOffset }}\n >\n {suffix && suffix}\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={{\n ...style,\n textDecoration: 'none',\n }}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Button)\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Link from './link'\n\nconst Callout = (\n { label, children, inverted, color, href, internal, tracking, sx, ...props },\n ref\n) => {\n const baseColor = color || (inverted ? 'secondary' : 'primary')\n const hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary'\n\n const style = {\n border: 'none',\n padding: [0],\n fontSize: [3, 3, 3, 4],\n color: baseColor,\n background: 'transparent',\n textDecoration: 'none',\n fontFamily: 'body',\n lineHeight: 'h3',\n letterSpacing: 'body',\n width: 'fit-content',\n cursor: 'pointer',\n textAlign: 'left',\n mb: [1],\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #container > #arrow': {\n transform: 'rotate(45deg)',\n fill: hoverColor,\n },\n '&:hover': {\n color: hoverColor,\n },\n },\n ...sx,\n }\n\n const Inner = (\n <>\n <Box sx={{ transition: '0.15s', letterSpacing: 'body', pb: ['6px'] }}>\n {children}\n </Box>\n <Box\n sx={{\n transition: '0.15s',\n display: 'inline-block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n }}\n >\n {label}\n </Box>\n <Box\n as='span'\n id='container'\n sx={{\n ml: [2],\n display: 'inline-block',\n }}\n >\n <Arrow\n id='arrow'\n sx={{\n transition: 'fill 0.15s, transform 0.15s',\n position: 'relative',\n top: ['2px'],\n color: baseColor,\n height: [15, 15, 15, 17],\n width: [15, 15, 15, 17],\n }}\n />\n </Box>\n </>\n )\n\n if (href) {\n return (\n <Link\n ref={ref}\n href={href}\n internal={internal}\n tracking={tracking}\n sx={style}\n {...props}\n >\n {Inner}\n </Link>\n )\n } else {\n return (\n <Box ref={ref} as='button' sx={style} {...props}>\n {Inner}\n </Box>\n )\n }\n}\n\nexport default forwardRef(Callout)\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Caption = ({ as = 'figcaption', number, children, label = 'figure' }) => {\n return (\n <Box\n as={as}\n sx={{\n color: 'secondary',\n display: 'block',\n textAlign: 'left',\n fontSize: [2, 2, 2, 3],\n '& a': { color: 'secondary' },\n '& a:hover': { color: 'primary' },\n '& > p': {\n display: 'inline',\n fontSize: [2, 2, 2, 3],\n },\n }}\n >\n {number && (\n <>\n <Box\n sx={{\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n display: 'inline-block',\n }}\n >\n {label} {number}\n </Box>{' '}\n <Box sx={{ display: 'inline-block', mx: [1], pr: [1] }}>/</Box>\n </>\n )}\n {children}\n </Box>\n )\n}\n\nexport default Caption\n","import React, { useState, useEffect, useRef } from 'react'\nimport { Box, Flex } from 'theme-ui'\n\nconst styles = {\n clim: (setClim) => {\n return {\n bg: 'unset',\n border: 'none',\n color: 'primary',\n px: 0,\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n transition: 'border 0.15s',\n userSelect: setClim ? 'none !important' : 'unset',\n width: 'fit-content',\n minWidth: 'fit-content',\n }\n },\n}\n\nconst DIMENSIONS = {\n width: ['10px', '16px', '16px', '17px'],\n height: ['80px', '110px', '110px', '130px'],\n}\n\nconst Gradient = ({ colormap, discrete, horizontal, width, height }) => {\n const step = (1 / colormap.length) * 100\n const values = colormap.map((d, i) => {\n return `rgb(${d}) ${i * step}% ${\n discrete && i < colormap.length - 1 ? `${(i + 1) * step}%` : ''\n }`\n })\n\n const css = `linear-gradient(to ${\n horizontal ? 'right' : 'top'\n }, ${values.join(',')})`\n\n return (\n <Box\n sx={{\n ...(horizontal\n ? {\n width: width || DIMENSIONS.height,\n height: height || DIMENSIONS.width,\n }\n : {\n width: width || DIMENSIONS.width,\n minHeight: height || DIMENSIONS.height,\n }),\n mt: horizontal ? ['1px', '1px', '1px', 0] : 0,\n border: ({ colors }) => `solid 1px ${colors.hinted}`,\n background: css,\n }}\n />\n )\n}\n\nconst Label = ({ label, units, horizontal }) => (\n <Box\n sx={\n !horizontal && {\n width: ['13px', '17px', '17px', '19px'],\n alignSelf: 'flex-end',\n }\n }\n >\n <Box\n sx={{\n mb: horizontal ? 0 : ['-4px', '-4px', '-4px', '-3px'],\n fontFamily: 'mono',\n fontSize: ['9px', 0, 0, 1],\n letterSpacing: 'smallcaps',\n textTransform: 'uppercase',\n ...(horizontal\n ? {}\n : {\n writingMode: 'vertical-rl',\n transform: 'rotate(180deg)',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n overflow: 'visible',\n }),\n }}\n >\n {label}{' '}\n <Box\n as='span'\n sx={{\n textTransform: 'none',\n color: 'secondary',\n display: 'inline-block',\n }}\n >\n {units}\n </Box>\n </Box>\n </Box>\n)\n\nconst Colorbar = ({\n colormap,\n label,\n clim,\n setClim,\n setClimStep = 1,\n discrete,\n units,\n width,\n height,\n format = (d) => d,\n horizontal = false,\n bottom = false,\n sx,\n sxClim,\n ...props\n}) => {\n if (!Array.isArray(colormap)) {\n throw new Error(`expected array for colormap, got '${colormap}'.`)\n }\n\n const climRef = [useRef(), useRef()]\n const [climMinDragging, setClimMinDragging] = useState(false)\n const [climMaxDragging, setClimMaxDragging] = useState(false)\n\n let x,\n y,\n dx,\n dy = 0\n let id = null\n let init = [0, 0]\n let scale = setClimStep\n\n const draggingFunction = (e) => {\n if (id === 'min' && !climMinDragging) setClimMinDragging(true)\n if (id === 'max' && !climMaxDragging) setClimMaxDragging(true)\n dx = e.pageX - x\n dy = e.pageY - y\n if (horizontal) {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] + dx * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] + dx * scale, init[0])])\n } else {\n if (id === 'min')\n setClim((prev) => [Math.min(init[0] - dy * scale, init[1]), prev[1]])\n if (id === 'max')\n setClim((prev) => [prev[0], Math.max(init[1] - dy * scale, init[0])])\n }\n }\n\n const handleMouseDown = (e) => {\n y = e.pageY\n x = e.pageX\n id = e.target.id\n init = clim\n\n document.body.setAttribute(\n 'style',\n horizontal\n ? 'cursor: ew-resize !important'\n : 'cursor: ns-resize !important'\n )\n document.addEventListener('mousemove', draggingFunction)\n const updater = () => {\n document.body.setAttribute('style', 'cursor: unset')\n document.removeEventListener('mousemove', draggingFunction)\n window.removeEventListener('mouseup', updater)\n if (id === 'min') setClimMinDragging(false)\n if (id === 'max') setClimMaxDragging(false)\n }\n window.addEventListener('mouseup', updater)\n }\n\n const increment = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] + scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] + scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n const decrement = (e) => {\n if (climRef[0].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [Math.min(prev[0] - scale, prev[1]), prev[1]])\n climRef[0].current.focus()\n }\n if (climRef[1].current === document.activeElement) {\n e.preventDefault()\n setClim((prev) => [prev[0], Math.max(prev[1] - scale, prev[0])])\n climRef[1].current.focus()\n }\n }\n\n useEffect(() => {\n const listener = (e) => {\n if (\n ['ArrowUp', 'ArrowRight'].includes(e.code) ||\n ['ArrowUp', 'ArrowRight'].includes(e.key)\n ) {\n increment(e)\n }\n if (\n ['ArrowDown', 'ArrowLeft'].includes(e.code) ||\n ['ArrowDown', 'ArrowLeft'].includes(e.key)\n ) {\n decrement(e)\n }\n }\n window.addEventListener('keydown', listener)\n\n return () => {\n window.removeEventListener('keydown', listener)\n }\n }, [clim])\n\n const ClimMin = () => {\n return (\n <Box\n id='min'\n as={setClim ? 'button' : 'div'}\n ref={climRef[0]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: label\n ? horizontal\n ? bottom\n ? '0px'\n : '10px'\n : ['2px', '1px', '1px', '2px']\n : 0,\n mr: horizontal ? ['2px', '1px', '1px', '2px'] : 0,\n mb: horizontal ? 0 : ['-2px', '-2px', '-2px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[0].current.focus()}\n >\n {format(clim[0])}\n </Box>\n )\n }\n\n const ClimMax = () => {\n return (\n <Box\n id='max'\n as={setClim ? 'button' : 'div'}\n ref={climRef[1]}\n tabIndex={0}\n sx={{\n ...styles.clim(setClim),\n ml: horizontal\n ? ['2px', '1px', '1px', '2px']\n : ['2px', '1px', '1px', '2px'],\n mt: horizontal ? 0 : ['-2px', '-3px', '-3px', '-3px'],\n borderBottom: setClim\n ? ({ colors }) => `solid 1px ${colors.primary}`\n : 'unset',\n cursor: setClim\n ? horizontal\n ? 'ew-resize'\n : 'ns-resize'\n : 'default',\n ...sxClim,\n }}\n onMouseDown={setClim ? handleMouseDown : () => {}}\n onClick={() => climRef[1].current.focus()}\n >\n {format(clim[1])}\n </Box>\n )\n }\n\n return (\n <Flex\n {...props}\n sx={{\n flexDirection: 'row',\n alignItems: 'start',\n justifyContent: 'flex-start',\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n ...sx,\n }}\n >\n {label && <Label label={label} units={units} horizontal={horizontal} />}\n <Flex\n sx={{\n flexGrow: horizontal ? 1 : 'unset',\n flexDirection: 'column',\n ml: bottom && label ? '4px' : '0px',\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n <Flex\n sx={{\n gap: ['3px', '6px', '6px', '7px'],\n height: !horizontal ? '100%' : 'unset',\n }}\n >\n {horizontal && clim && !bottom && <ClimMin />}\n <Gradient\n colormap={colormap}\n horizontal={horizontal}\n discrete={discrete}\n width={width}\n height={height}\n />\n {horizontal && clim && !bottom && <ClimMax />}\n </Flex>\n {horizontal && clim && bottom && (\n <Flex sx={{ justifyContent: 'space-between' }}>\n <ClimMin />\n <ClimMax />\n </Flex>\n )}\n </Flex>\n\n {!horizontal && (\n <Flex\n sx={{\n flexDirection: 'column-reverse',\n justifyContent: 'space-between',\n height: height || DIMENSIONS.height,\n }}\n >\n {clim && <ClimMin />}\n {clim && <ClimMax />}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Colorbar\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst InlineColor = ({ sx, color, children, ...props }) => {\n return (\n <Box\n as='span'\n sx={{ display: 'inline-block', color: color, ...sx }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst Colors = {}\n\nColors.Primary = (props) => {\n return <InlineColor color='primary' {...props} />\n}\n\nColors.Secondary = (props) => {\n return <InlineColor color='secondary' {...props} />\n}\n\nColors.Background = (props) => {\n return <InlineColor color='background' {...props} />\n}\n\nColors.Red = (props) => {\n return <InlineColor color='red' {...props} />\n}\n\nColors.Orange = (props) => {\n return <InlineColor color='orange' {...props} />\n}\n\nColors.Yellow = (props) => {\n return <InlineColor color='yellow' {...props} />\n}\n\nColors.Green = (props) => {\n return <InlineColor color='green' {...props} />\n}\n\nColors.Teal = (props) => {\n return <InlineColor color='teal' {...props} />\n}\n\nColors.Blue = (props) => {\n return <InlineColor color='blue' {...props} />\n}\n\nColors.Purple = (props) => {\n return <InlineColor color='purple' {...props} />\n}\n\nColors.Pink = (props) => {\n return <InlineColor color='pink' {...props} />\n}\n\nColors.Grey = (props) => {\n return <InlineColor color='grey' {...props} />\n}\n\nexport default Colors\n","import React from 'react'\nimport Head from 'next/head'\nimport { useThemeUI } from 'theme-ui'\n\nconst Meta = ({ title, description, card }) => {\n const { theme, colorMode } = useThemeUI()\n if (!description) {\n console.warn(\n 'a custom description should be used for search engine optimization'\n )\n }\n if (!title) {\n console.warn('a custom title should be used for search engine optimization')\n }\n const titleProp = title || 'CarbonPlan'\n const descriptionProp =\n description ||\n 'Improving the transparency and scientific integrity of climate solutions with open data and tools.'\n const cardProp = card || 'https://images.carbonplan.org/social/homepage.png'\n\n return (\n <Head>\n <title>{titleProp}</title>\n <meta name='description' content={descriptionProp} />\n <meta name='viewport' content='initial-scale=1.0, width=device-width' />\n <link\n rel='alternate icon'\n type='image/png'\n href='https://images.carbonplan.org/favicon.png'\n />\n <link\n rel='icon'\n type='image/svg+xml'\n href='https://images.carbonplan.org/favicon.svg'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-medium-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link\n rel='preload'\n href='https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2'\n as='font'\n type='font/woff2'\n crossOrigin='anonymous'\n />\n <link rel='manifest' href='https://images.carbonplan.org/manifest.json' />\n <meta name='theme-color' content={theme.colors.background} />\n <meta\n name='color-scheme'\n content={colorMode === 'light' ? 'light' : 'dark'}\n />\n <link\n rel='mask-icon'\n href='https://images.carbonplan.org/safari-pinned-tab.svg'\n color='#000000'\n />\n <link\n rel='apple-touch-icon'\n sizes='180x180'\n href='https://images.carbonplan.org/apple-touch-icon.png'\n />\n <meta name='msapplication-TileColor' content={theme.colors.background} />\n <meta\n name='msapplication-TileImage'\n content='https://images.carbonplan.org/mstile-144x144.png'\n />\n <meta\n name='msapplication-config'\n content='https://images.carbonplan.org/browserconfig.xml'\n />\n <meta property='og:title' content={titleProp} />\n <meta property='og:description' content={descriptionProp} />\n <meta property='og:image' content={cardProp} />\n <meta property='og:url' content='https://carbonplan.org' />\n <meta name='twitter:title' content={titleProp} />\n <meta name='twitter:description' content={descriptionProp} />\n <meta name='twitter:image' content={cardProp} />\n <meta name='twitter:card' content='summary_large_image' />\n <meta name='format-detection' content='telephone=no' />\n </Head>\n )\n}\n\nexport default Meta\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Logo = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='150'\n fill='currentColor'\n stroke='none'\n viewBox='0 0 151.1 28.8'\n {...props}\n >\n <g>\n <g>\n <path\n d='M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3\n c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8\n c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2\n c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3\n c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z'\n />\n </g>\n <g>\n <path\n d='M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z'\n />\n </g>\n <g>\n <path\n d='M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6\n c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8\n c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z'\n />\n </g>\n <g>\n <path\n d='M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1\n c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3\n s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3\n C52.9,10.2,51.9,10.7,51.2,11.5z'\n />\n </g>\n <g>\n <path\n d='M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2\n c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5\n c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4\n c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z'\n />\n </g>\n <g>\n <path\n d='M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z'\n />\n </g>\n <g>\n <path\n d='M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6\n c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3\n H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3\n c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z'\n />\n </g>\n <g>\n <path\n d='M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2\n C117.3,21.8,117.2,21.7,117.2,21.6z'\n />\n </g>\n <g>\n <path\n d='M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1\n c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3\n c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6\n c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2\n C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9\n c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z'\n />\n </g>\n <g>\n <path\n d='M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8\n c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1\n c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z'\n />\n </g>\n <path\n d='M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2\n s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z'\n />\n <path\n d='M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2\n s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z'\n />\n </g>\n </Box>\n )\n}\n\nexport default Logo\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Menu = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='52' y1='29.9' x2='16' y2='29.9' />\n <line x1='52' y1='6.1' x2='16' y2='6.1' />\n <line x1='52' y1='18' x2='16' y2='18' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Menu\n","import React, { useState } from 'react'\nimport { default as NextLink } from 'next/link'\nimport { Box, Flex, Container, Link } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport Logo from './logo'\nimport Row from './row'\nimport Column from './column'\nimport Menu from './menu'\n\nconst sx = {\n link: (current, label, first = false) => {\n return {\n width: 'auto',\n color: current === label ? 'secondary' : 'text',\n fontSize: [6, 6, 7, 8],\n fontFamily: 'heading',\n letterSpacing: 'heading',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderTopWidth: first ? '1px' : '0px',\n py: [3, 3, 4, 5],\n textDecoration: 'none',\n display: 'block',\n position: 'relative',\n transition: 'color 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover > #arrow': {\n opacity: 1,\n },\n },\n '&:hover': {\n color: current == label ? 'secondary' : 'text',\n },\n }\n },\n}\n\nconst links = [\n { url: 'about', display: 'About' },\n { url: 'research', display: 'Research' },\n { url: 'blog', display: 'Blog' },\n { url: 'press', display: 'Press' },\n]\n\nconst HoverArrow = () => {\n return (\n <Arrow\n id='arrow'\n sx={{\n pointerEvents: 'none',\n display: 'inline-block',\n position: 'absolute',\n left: ['-60px', '-68px', '-80px', '-104px'],\n top: ['32px', '32px', '46px', '62px'],\n opacity: 0,\n transition: 'opacity 0.2s ease-out',\n transform: 'rotate(45deg)',\n width: [36, 36, 48, 56],\n height: [36, 36, 48, 56],\n }}\n />\n )\n}\n\nconst Nav = ({ link, mode, nav, first, setExpanded }) => {\n const { url, display } = link\n const href = mode === 'remote' ? 'https://carbonplan.org/' + url : '/' + url\n\n if (mode === 'homepage' || (mode === 'local' && nav === url)) {\n return (\n <NextLink href={href} passHref>\n <Link\n onClick={() => {\n if (nav === url) setExpanded(false)\n }}\n sx={sx.link(nav, url, first)}\n >\n <HoverArrow />\n {display}\n </Link>\n </NextLink>\n )\n } else {\n return (\n <Link href={href} sx={sx.link(nav, url, first)}>\n <HoverArrow />\n {display}\n </Link>\n )\n }\n}\n\nconst NavGroup = ({ links, nav, mode, setExpanded }) => {\n return links.map((d, i) => {\n return (\n <Nav\n key={i}\n link={d}\n mode={mode}\n nav={nav}\n first={i === 0}\n setExpanded={setExpanded}\n />\n )\n })\n}\n\nconst Header = ({ status, mode, nav, menuItems }) => {\n const [expanded, setExpanded] = useState(false)\n\n const toggle = (e) => {\n setExpanded(!expanded)\n }\n\n return (\n <Row\n sx={{\n pt: ['12px'],\n pb: [3],\n }}\n >\n <Column start={[1]} width={[2]}>\n <Box\n sx={{ pointerEvents: 'all', display: 'block', width: 'fit-content' }}\n >\n {(mode == 'homepage' || mode == 'local') && (\n <NextLink href='/' passHref>\n <Link\n aria-label='CarbonPlan Homepage'\n sx={{\n display: 'block',\n }}\n >\n <Logo\n id='logo'\n sx={{\n cursor: 'pointer',\n color: 'primary',\n }}\n />\n </Link>\n </NextLink>\n )}\n {(mode == null || mode == 'remote') && (\n <Link\n href='https://carbonplan.org'\n aria-label='CarbonPlan Homepage'\n sx={{ display: 'block' }}\n >\n <Logo sx={{ cursor: 'pointer', color: 'primary' }} />\n </Link>\n )}\n </Box>\n </Column>\n <Column\n start={[4, 9]}\n width={[2, 2]}\n dr={1}\n sx={{\n display: [status ? 'flex' : 'none', 'flex', 'flex', 'flex'],\n alignItems: 'center',\n }}\n >\n <Box\n sx={{\n fontSize: [1, 2, 3],\n position: 'relative',\n top: ['-2px', '-3px', '-3px'],\n }}\n >\n {status ? `(${status})` : ''}\n </Box>\n </Column>\n <Column\n start={[status ? 6 : 4, 6, 11, 11]}\n width={[status ? 1 : 3, 3, 2, 2]}\n sx={{ zIndex: 5000 }}\n >\n <Flex sx={{ pointerEvents: 'all', justifyContent: 'flex-end' }}>\n <Box\n sx={{\n display: [status ? 'none' : 'flex', 'flex', 'flex', 'flex'],\n mr: '18px',\n gap: '18px',\n opacity: expanded ? 0 : 1,\n transition: 'opacity 0.15s',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {menuItems}\n </Box>\n <Menu\n sx={{\n flexShrink: 0,\n mr: ['-2px'],\n }}\n value={expanded}\n onClick={toggle}\n />\n </Flex>\n </Column>\n <Box\n sx={{\n opacity: expanded ? 1 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n minWidth: '0px',\n maxHeight: '100vh',\n width: '100vw',\n backgroundColor: 'background',\n zIndex: 4000,\n pt: ['79px'],\n transition: 'opacity 0.25s',\n }}\n >\n <Container>\n <Row>\n <Column start={[2, 4, 7, 7]} width={[5, 4, 5, 5]}>\n <Box\n as='nav'\n sx={{\n display: expanded ? 'inherit' : 'none',\n mt: [5, 5, 5, 6],\n }}\n >\n <NavGroup\n links={links}\n nav={nav}\n mode={mode}\n setExpanded={setExpanded}\n />\n </Box>\n </Column>\n </Row>\n </Container>\n </Box>\n </Row>\n )\n}\n\nexport default Header\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Monogram = ({ ...props }) => {\n return (\n <Box\n as='svg'\n width='80'\n stroke='none'\n fill='currentColor'\n viewBox='0 0 32 32'\n {...props}\n >\n <path d='M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z'></path>\n <path d='M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4'></path>\n <path d='M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15'></path>\n </Box>\n )\n}\n\nexport default Monogram\n","import React from 'react'\nimport { Box, Grid, Link } from 'theme-ui'\nimport { default as NextLink } from 'next/link'\nimport Monogram from './monogram'\nimport Row from './row'\nimport Column from './column'\n\nconst Footer = () => {\n return (\n <Box\n sx={{\n mt: [7, 7, 7, 8],\n mb: [7, 7, 7, 8],\n pb: [2, 1, 0, 0],\n }}\n >\n <Row sx={{ mb: [0, 0, 4, 5] }}>\n <Column start={[1, 2]} width={[3, 3]}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n EMAIL\n </Box>\n <Link\n href='mailto:hello@carbonplan.org'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n hello@carbonplan.org\n </Link>\n </Box>\n </Column>\n <Column\n start={[5]}\n width={[1]}\n dl={1}\n dr={1}\n sx={{\n display: ['flex', 'none', 'none', 'none'],\n justifyContent: ['center'],\n }}\n >\n <Monogram sx={{ mt: ['-4px'], width: '60px', height: '60px' }} />\n </Column>\n <Column start={[1, 5, 5, 5]} width={[3, 3]} sx={{ mt: [3, 0, 0, 0] }}>\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'heading',\n letterSpacing: 'mono',\n mb: [2],\n }}\n >\n FOLLOW\n </Box>\n <Link\n href='https://twitter.com/carbonplanorg'\n sx={{\n textDecoration: 'none',\n fontSize: [2, 2, 2, 3],\n }}\n >\n @carbonplanorg\n </Link>\n </Box>\n </Column>\n <Column\n start={[1, 9]}\n width={[5, 4, 3, 3]}\n sx={{ mt: ['42px', '42px', 0, 0], mb: [3, 3, 0, 0] }}\n >\n <Box>\n <Box\n sx={{\n fontSize: [2, 2, 2, 3],\n fontFamily: 'body',\n color: 'secondary',\n }}\n >\n CarbonPlan is a registered nonprofit public benefit corporation in\n California with 501(c)(3) status.\n </Box>\n </Box>\n </Column>\n </Row>\n <Row sx={{ mb: ['2px'], mt: [5, 5, 4] }}>\n <Column\n start={[1, 1, 2, 2]}\n width={[3, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n pt: [2],\n }}\n >\n <Box\n sx={{\n color: 'secondary',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n }}\n >\n (c) 2022 CARBONPLAN\n </Box>\n </Box>\n </Column>\n <Column\n start={[4, 3, 5, 5]}\n width={[2, 2, 3, 3]}\n sx={{\n display: 'flex',\n alignItems: ['flex-start', 'flex-start', 'flex-end'],\n mt: [0, 0, 0, 0],\n }}\n >\n <Box\n sx={{\n bottom: '0px',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n width: ['100%', 'auto', 'auto', 'auto'],\n pt: [2],\n }}\n >\n <NextLink href='/terms' passHref>\n <Box\n as='a'\n sx={{\n textDecoration: 'none',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n display: 'block',\n }}\n >\n READ OUR TERMS\n </Box>\n </NextLink>\n </Box>\n </Column>\n <Column\n start={[5, 7, 9, 9]}\n width={[2, 3, 3, 3]}\n sx={{ display: ['none', 'initial', 'initial', 'initial'] }}\n >\n <Monogram\n sx={{\n width: 80,\n height: 80,\n mt: [0, '-10px', 4, 5],\n mb: ['-12px'],\n }}\n />\n </Column>\n </Row>\n </Box>\n )\n}\n\nexport default Footer\n","import React from 'react'\nimport { Box, IconButton, useColorMode } from 'theme-ui'\nimport { useCallback } from 'react'\nimport { Sun } from '@carbonplan/icons'\n\nconst Dimmer = ({ sx, ...props }) => {\n const [colorMode, setColorMode] = useColorMode()\n\n const toggle = useCallback(() => {\n setColorMode(colorMode === 'light' ? 'dark' : 'light')\n }, [colorMode])\n\n return (\n <IconButton\n aria-label='Toggle dark mode'\n onClick={toggle}\n role='checkbox'\n sx={{\n width: 32,\n height: 32,\n display: 'inline-block',\n cursor: 'pointer',\n color: 'secondary',\n ...sx,\n }}\n {...props}\n >\n <Sun\n sx={{\n strokeWidth: '1.75',\n transition: 'stroke 0.15s',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n stroke: 'primary',\n },\n },\n }}\n />\n </IconButton>\n )\n}\n\nexport default Dimmer\n","import React from 'react'\nimport { Box, Text, Link, useThemeUI } from 'theme-ui'\n\nconst GitSha = () => {\n const sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA\n const owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER\n const slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG\n\n const { theme } = useThemeUI()\n\n const color = theme.rawColors.secondary\n\n if (sha && owner && slug) {\n const shortSha = sha.substring(0, 7)\n const href = 'https://github.com/' + owner + '/' + slug + '/tree/' + sha\n\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Link\n href={href}\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n textDecoration: 'none',\n }}\n >\n {shortSha}\n </Link>\n </Box>\n )\n } else {\n // fallback\n return (\n <Box sx={{ display: 'inline-block', width: '87px' }}>\n <Separator color={color} />\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n ml: [2],\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: color,\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {color}\n </Text>\n </Box>\n )\n }\n}\n\nconst Separator = ({ color }) => {\n return (\n <svg fill={color} opacity='0.8' viewBox='0 0 24 24' width='24' height='24'>\n <circle r={5} cx={19} cy={19} />\n </svg>\n )\n}\n\nexport default GitSha\n","import React from 'react'\nimport { Box, Text } from 'theme-ui'\nimport { useState, useEffect } from 'react'\nimport GitSha from './gitsha'\n\nconst Value = ({ mode }) => {\n const [display, setDisplay] = useState(init(mode))\n\n useEffect(() => {\n if (mode === 'mouse') {\n const setFromEvent = (e) => {\n const x = format(e.clientX, 4)\n const y = format(e.clientY, 4)\n setDisplay(`X,Y: ${x},${y}`)\n }\n window.addEventListener('mousemove', setFromEvent)\n return () => {\n window.removeEventListener('mousemove', setFromEvent)\n }\n }\n if (mode === 'scroll') {\n const setFromEvent = (e) => {\n const y = scrollFraction(window, document)\n setDisplay(`SCROLL: 0.${format((y * 100).toFixed(0), 2)}`)\n }\n window.addEventListener('scroll', setFromEvent)\n const y = scrollFraction(window, document)\n return () => {\n window.removeEventListener('scroll', setFromEvent)\n }\n }\n }, [])\n\n return (\n <Text\n sx={{\n whiteSpace: 'nowrap',\n display: 'inline-block',\n mr: '-6px',\n fontFamily: 'mono',\n letterSpacing: 'body',\n color: 'secondary',\n fontSize: [1],\n textTransform: 'uppercase',\n }}\n >\n {display}\n </Text>\n )\n}\n\nconst Metadata = ({ mode }) => {\n return (\n <Box\n sx={{\n userSelect: 'none',\n position: 'fixed',\n bottom: '42px',\n right: '24px',\n transformOrigin: 'right',\n transform: 'rotate(90deg)',\n display: ['none', 'none', 'initial'],\n }}\n >\n <Value mode={mode} />\n <GitSha />\n </Box>\n )\n}\n\nfunction init(mode) {\n if (mode === 'mouse') {\n return `X,Y: ${format(0, 4)},${format(0, 4)}`\n } else if (mode === 'scroll') {\n return `SCROLL: 0.${format((0).toFixed(0), 2)}`\n } else {\n return mode\n }\n}\n\nfunction format(num, pad) {\n return num.toString().padStart(pad, '0')\n}\n\nfunction scrollFraction(window, documnt) {\n return Math.min(window.scrollY / (document.body.offsetHeight - 770), 0.99)\n}\n\nexport default Metadata\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { keyframes } from '@emotion/react'\n\nconst fade = keyframes({\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n})\n\nconst FadeIn = ({ duration = 300, delay = 0, children, ...delegated }) => {\n return (\n <Box\n {...delegated}\n sx={{\n animationDuration: duration + 'ms',\n animationDelay: delay + 'ms',\n animationName: fade.toString(),\n animationFillMode: 'backwards',\n }}\n >\n {children}\n </Box>\n )\n}\n\nexport default FadeIn\n","const getScrollbarWidth = (document) => {\n const outer = document.createElement('div')\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n document.body.appendChild(outer)\n outer.style.overflow = 'scroll'\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n const delta = outer.offsetWidth - inner.offsetWidth\n outer.parentNode.removeChild(outer)\n return delta\n}\n\nexport default getScrollbarWidth\n","import React, { useEffect } from 'react'\nimport getScrollbarWidth from './utils/get-scrollbar-width'\n\nconst Scrollbar = () => {\n useEffect(() => {\n if (typeof document !== 'undefined') {\n const delta = getScrollbarWidth(document)\n if (delta > 0) {\n document.body.classList.add('custom-scrollbar')\n document\n .getElementsByTagName('html')[0]\n .classList.add('custom-scrollbar')\n }\n }\n }, [])\n return null\n}\n\nexport default Scrollbar\n","import React, { useState, useEffect } from 'react'\nimport { Box, Container } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Guide = ({ color = 'muted' }) => {\n const [display, setDisplay] = useState(false)\n\n useEffect(() => {\n function handler(event) {\n const { key, keyCode, metaKey } = event\n if (key === ';' && metaKey) {\n setDisplay((prev) => !prev)\n }\n }\n\n document.addEventListener('keydown', handler)\n return () => {\n document.removeEventListener('keydown', handler)\n }\n }, [])\n\n return (\n <Box\n sx={{\n position: 'fixed',\n width: '100%',\n left: 0,\n top: 0,\n zIndex: color === 'teal' ? 5000 : -1,\n pointerEvents: 'none',\n display: display ? 'initial' : 'none',\n }}\n >\n <Container>\n <Box sx={{ display: ['none', 'none', 'initial', 'initial'] }}>\n <GuideColumns\n indices={[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]}\n color={color}\n />\n </Box>\n <Box sx={{ display: ['none', 'initial', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6, 7, 8]} color={color} />\n </Box>\n <Box sx={{ display: ['initial', 'none', 'none', 'none'] }}>\n <GuideColumns indices={[1, 2, 3, 4, 5, 6]} color={color} />\n </Box>\n </Container>\n </Box>\n )\n}\n\nconst colorCycle = [\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'teal',\n 'blue',\n 'purple',\n 'pink',\n]\n\nfunction GuideColumns({ indices, color }) {\n const sx = {\n outerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: color === 'teal' ? '0px' : '1px',\n borderRightWidth: color === 'teal' ? '0px' : '1px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n innerGuideColumn: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderLeftWidth: '0px',\n borderRightWidth: '0px',\n opacity: color == 'teal' ? 0.4 : 1,\n },\n }\n\n return (\n <Row>\n {indices.map((i) => {\n return (\n <Column\n key={i}\n start={[i]}\n width={[1, 1]}\n dl={0.5}\n dr={0.5}\n sx={{\n bg: color === 'teal' ? 'teal' : 'transparent',\n height: '100vh',\n ...sx.innerGuideColumn,\n }}\n >\n <Box\n sx={{\n mx: ['12px', 3, 3, 4],\n bg: color === 'teal' ? 'background' : 'transparent',\n height: '100%',\n borderLeftColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n borderRightColor:\n color === 'rainbow' ? colorCycle[i % 8] : 'muted',\n ...sx.outerGuideColumn,\n }}\n ></Box>\n </Column>\n )\n })}\n </Row>\n )\n}\n\nexport default Guide\n","import React from 'react'\nimport { IconButton } from 'theme-ui'\n\nconst Settings = ({ value, sx, ...props }) => {\n return (\n <IconButton\n sx={{\n cursor: 'pointer',\n fill: 'none',\n strokeWidth: '2px',\n stroke: 'text',\n '.paren': {\n opacity: '0',\n },\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover .paren': {\n opacity: '1',\n },\n },\n ...sx,\n }}\n aria-label='Toggle Menu'\n {...props}\n >\n {!value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='24' y1='2.1' x2='24' y2='6.1' />\n <line x1='24' y1='24.1' x2='24' y2='33.9' />\n <line x1='44' y1='2.1' x2='44' y2='12.1' />\n <line x1='44' y1='30.1' x2='44' y2='33.9' />\n <circle cx='24' cy='15.1' r='5' />\n <circle cx='44' cy='21.1' r='5' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n {value && (\n <svg\n style={{\n width: '50px',\n height: '30px',\n marginTop: '-3px',\n flexShrink: 0,\n }}\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 68 36'\n >\n <line x1='50.85' y1='29.79' x2='17.15' y2='6.21' />\n <line x1='17.15' y1='29.79' x2='50.85' y2='6.21' />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6'\n />\n <path\n style={{ transition: 'all 0.2s' }}\n className='paren'\n d='M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6'\n />\n </svg>\n )}\n </IconButton>\n )\n}\n\nexport default Settings\n","import React, { useEffect } from 'react'\nimport { useThemeUI, Container, Flex, Box } from 'theme-ui'\nimport Meta from './meta'\nimport Header from './header'\nimport Footer from './footer'\nimport Dimmer from './dimmer'\nimport Metadata from './metadata'\nimport FadeIn from './fade-in'\nimport Scrollbar from './scrollbar'\nimport Guide from './guide'\nimport Settings from './settings'\n\nconst Layout = ({\n title,\n description,\n card,\n children,\n status,\n nav,\n settings,\n footer = true,\n header = true,\n metadata = 'mouse',\n links = 'remote',\n dimmer = 'bottom',\n guide = true,\n scrollbar = false,\n fade = true,\n container = true,\n printable = false,\n}) => {\n let content = children\n\n if (fade) {\n content = <FadeIn duration={250}>{content}</FadeIn>\n }\n if (container) {\n content = (\n <Box sx={{ mb: [8, 8, 9, 10] }}>\n <Container>{content}</Container>\n </Box>\n )\n }\n\n const { theme } = useThemeUI()\n\n const hideOnPrint = printable\n ? {\n '@media print': {\n display: 'none',\n },\n }\n : {}\n\n useEffect(() => {\n if (!theme) return\n\n const handler = (e) => {\n if (e.matches && settings?.value && settings?.onClick) {\n settings?.onClick()\n }\n }\n\n const query = window.matchMedia(`(min-width: ${theme.breakpoints[1]})`)\n query.onchange = handler\n\n return () => {\n query.onchange = null\n }\n }, [theme?.breakpoints, settings?.value, settings?.onClick])\n\n const menuItems = [\n <Dimmer\n key='dimmer'\n sx={{\n color: 'primary',\n mt: '-2px',\n display: [\n 'block',\n 'block',\n dimmer === 'top' ? 'block' : 'none',\n dimmer === 'top' ? 'block' : 'none',\n ],\n }}\n />,\n ]\n\n if (settings) {\n menuItems.push(\n <Settings\n key='settings'\n sx={{ mr: ['2px'], display: ['inherit', 'inherit', 'none', 'none'] }}\n {...settings}\n />\n )\n }\n\n return (\n <>\n {guide && <Guide color={guide} />}\n {scrollbar && <Scrollbar />}\n <Meta card={card} description={description} title={title} />\n <Flex\n sx={{\n flexDirection: 'column',\n minHeight: '100vh',\n }}\n >\n {header && (\n <Box\n as='header'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n position: 'sticky',\n top: 0,\n bg: 'background',\n height: '56px',\n zIndex: 2000,\n ...hideOnPrint,\n }}\n >\n <Container>\n <Header\n mode={links}\n status={status}\n nav={nav}\n menuItems={menuItems}\n />\n </Container>\n </Box>\n )}\n <Box\n sx={{\n width: '100%',\n flex: '1 1 auto',\n }}\n >\n {content}\n </Box>\n {footer && (\n <Box\n as='footer'\n sx={{\n width: '100%',\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderTopWidth: '1px',\n ...hideOnPrint,\n }}\n >\n <Container>\n <Footer />\n </Container>\n </Box>\n )}\n {dimmer === 'bottom' && (\n <Box\n sx={{\n display: ['none', 'none', 'initial', 'initial'],\n position: ['fixed'],\n right: [13],\n bottom: [17, 17, 15, 15],\n }}\n >\n <Dimmer />\n </Box>\n )}\n {metadata && <Metadata mode={metadata} />}\n </Flex>\n </>\n )\n}\n\nexport default Layout\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nconst Tag = ({ label, value, sx, children, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const isClickable = props && (props.onClick || props.onDoubleClick)\n\n return (\n <Box\n as={isClickable ? 'button' : 'span'}\n role='checkbox'\n aria-checked={value}\n aria-label={label}\n sx={{\n display: 'inline-block',\n fontSize: [1, 1, 1, 2],\n fontFamily: 'mono',\n letterSpacing: 'mono',\n cursor: isClickable ? 'pointer' : 'inherit',\n color: color,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderColor: color,\n lineHeight: 'body',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n textTransform: 'uppercase',\n userSelect: 'none',\n transition: 'opacity 0.05s',\n pt: ['1px'],\n pb: ['2px'],\n px: [0],\n m: [0],\n opacity: value == null || value ? 1 : color == 'primary' ? 0.24 : 0.33,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nexport default Tag\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Tag from './tag'\n\nconst sx = {\n label: {\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [1, 1, 1, 2],\n color: 'secondary',\n userSelect: 'none',\n textTransform: 'uppercase',\n },\n}\n\nconst duplicateOptions = (options, defaultValue, overrides = {}) => {\n return Object.keys(options).reduce(\n (o, key) => Object.assign(o, { [key]: overrides[key] || defaultValue }),\n {}\n )\n}\n\nconst isAll = (option) => {\n return (\n Object.keys(option).filter((d) => option[d]).length ==\n Object.keys(option).length\n )\n}\n\nconst updateValues = ({ values, multiSelect, setValues, value }) => {\n const isAllAlreadySelected = isAll(values)\n const isSelectingAll = value === 'all'\n\n let updatedToggle\n\n if (multiSelect) {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // deselect all\n updatedToggle = duplicateOptions(values, false)\n } else {\n // de/select value, inherit other values\n updatedToggle = { ...values, [value]: !values[value] }\n }\n } else {\n if (isSelectingAll && !isAllAlreadySelected) {\n // select all\n updatedToggle = duplicateOptions(values, true)\n } else if (isSelectingAll && isAllAlreadySelected) {\n // do nothing\n } else {\n // select only value\n updatedToggle = duplicateOptions(values, false, { [value]: true })\n }\n }\n\n if (updatedToggle) {\n setValues(updatedToggle)\n }\n}\n\nconst Filter = ({\n values,\n setValues,\n label,\n colors,\n showAll = false,\n multiSelect = false,\n ...props\n}) => {\n return (\n <Box {...props}>\n {label && <Box sx={sx.label}>{label}</Box>}\n <Box sx={{ mt: label ? [3] : 0 }}>\n {showAll && (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: 'all',\n })\n }\n value={isAll(values)}\n sx={{ mr: [2] }}\n >\n All\n </Tag>\n )}\n {Object.keys(values).map((d, i) => (\n <Tag\n onClick={() =>\n updateValues({\n values: values,\n multiSelect,\n setValues: setValues,\n value: d,\n })\n }\n onDoubleClick={() =>\n updateValues({\n values: values,\n multiSelect: false,\n setValues: setValues,\n value: d,\n })\n }\n key={i}\n value={values[d]}\n sx={{\n width: 'max-content',\n color: colors ? colors[d] : 'primary',\n mr: [2],\n mb: [1],\n }}\n >\n {d}\n </Tag>\n ))}\n </Box>\n </Box>\n )\n}\n\nexport default Filter\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Column from './column'\n\nconst Sidenote = ({ children, variant = 'h1' }) => {\n let mt\n if (variant === 'h1') mt = [4, '27px', '42px', '54px']\n if (variant === 'h2') mt = [4, 4, '14px', '25px']\n return (\n <>\n <Column start={[1, 4, 8, 8]} width={[1, 1, 1, 1]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n textAlign: 'right',\n }}\n >\n /\n </Box>\n </Column>\n <Column start={[2, 5, 9, 9]} width={[3, 3, 2, 2]}>\n <Box\n sx={{\n mt: mt,\n fontFamily: 'faux',\n letterSpacing: 'faux',\n fontSize: [2, 2, 2, 3],\n height: ['100%', '0px', '0px', '0px'],\n }}\n >\n {children}\n </Box>\n </Column>\n </>\n )\n}\n\nexport default Sidenote\n","import React, { forwardRef } from 'react'\nimport { Input as ThemedInput } from 'theme-ui'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Input = ({ size = 'sm', inverted, sx, ...props }, ref) => {\n const defaultColor = inverted ? 'secondary' : 'primary'\n\n const styles = {\n color: defaultColor,\n borderColor: 'secondary',\n borderStyle: 'solid',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n borderRadius: '0px',\n transition: 'border 0.15s',\n borderBottomWidth: '1px',\n width: 'calc(min(15ch, 100%))',\n p: [0],\n py: ['2px'],\n 'input::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n 'input::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n ':focus': {\n borderColor: 'primary',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: 'none !important',\n },\n ...getSizeStyles(size),\n ...sx,\n }\n return <ThemedInput {...props} ref={ref} sx={styles} />\n}\n\nexport default forwardRef(Input)\n","import React, { forwardRef } from 'react'\nimport { useThemeUI, Slider as ThemeSlider } from 'theme-ui'\n\nconst Slider = ({ sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const {\n theme: { rawColors: colors },\n } = useThemeUI()\n\n return (\n <ThemeSlider\n ref={ref}\n sx={{\n '&::-webkit-slider-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n '&::-moz-range-thumb': {\n height: [22, 18, 16],\n width: [22, 18, 16],\n boxShadow: `0 0 0 0px ${colors.secondary}`,\n transition: 'box-shadow .15s ease',\n },\n ':focus-visible': {\n outline: 'none !important',\n background: `${colors.secondary} !important`,\n },\n ':focus': {\n color: color,\n '&::-webkit-slider-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n '&::-moz-range-thumb': {\n boxShadow: `0 0 0 4px ${colors.secondary}`,\n },\n },\n color: color,\n ...sx,\n }}\n {...props}\n />\n )\n}\n\nexport default forwardRef(Slider)\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst styles = {\n reset: {\n verticalAlign: 'baseline',\n border: 0,\n outline: 0,\n margin: 0,\n padding: 0,\n },\n row: {\n borderStyle: 'solid',\n borderWidth: '0px',\n borderTopWidth: '1px',\n borderColor: 'muted',\n pt: [3, 3, 3, '20px'],\n pb: [3, 3, 3, '20px'],\n mb: ['2px'],\n },\n header: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n index: {\n display: 'block',\n textTransform: 'uppercase',\n letterSpacing: 'smallcaps',\n fontFamily: 'heading',\n fontSize: [2, 2, 2, 3],\n },\n entry: {\n display: 'block',\n fontSize: [2, 2, 2, 3],\n fontFamily: 'faux',\n letterSpacing: 'faux',\n mb: ['1px'],\n mt: [2, 0, 0, 0],\n },\n}\n\nconst Table = ({\n data,\n sx,\n color,\n header,\n columns,\n start,\n width,\n index = true,\n borderBottom = true,\n borderTop = true,\n}) => {\n if (!start || !columns || !width) {\n throw new Error('Must provide columns, start, and width')\n }\n return (\n <Box as='table' sx={{ display: 'block', ...sx }}>\n <Box as='tbody' sx={{ display: 'block' }}>\n {header && (\n <Row\n as='tr'\n sx={{\n ...styles.reset,\n ...styles.header,\n ...styles.row,\n color: color,\n borderTopWidth: !borderTop ? '0px' : '1px',\n }}\n >\n <Column as='td' start={[1]} width={columns} sx={styles.index}>\n {header}\n </Column>\n </Row>\n )}\n {data.map((row, i) => {\n return (\n <Row\n as='tr'\n columns={columns}\n key={i}\n sx={{\n ...styles.reset,\n ...styles.row,\n pb:\n borderBottom && i === data.length - 1\n ? ['18px', '18px', '18px', '22px']\n : [3, 3, 3, '20px'],\n borderBottomWidth:\n borderBottom && i === data.length - 1 ? '1px' : '0px',\n borderTopWidth:\n !borderTop && i === 0 && !header ? '0px' : '1px',\n }}\n >\n {row.map((column, j) => {\n return (\n <Column\n as='td'\n key={j}\n start={start[j]}\n width={width[j]}\n sx={\n j == 0 && index\n ? { ...styles.reset, ...styles.index }\n : { ...styles.reset, ...styles.entry }\n }\n >\n {column}\n </Column>\n )\n })}\n </Row>\n )\n })}\n </Box>\n </Box>\n )\n}\n\nexport default Table\n","import React, { forwardRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { transparentize } from '@theme-ui/color'\n\nconst Toggle = ({ value, onClick, disabled, sx, ...props }, ref) => {\n const color = sx && sx.color ? sx.color : 'primary'\n value = disabled ? false : value\n return (\n <Box\n ref={ref}\n as='button'\n onClick={onClick}\n role='checkbox'\n aria-checked={value}\n aria-label='Toggle'\n sx={{\n border: 'none',\n background: 'none',\n cursor: disabled ? 'default' : 'pointer',\n p: [0],\n m: [0],\n display: 'inline-block',\n ...sx,\n }}\n {...props}\n >\n <Box\n sx={{\n width: '50px',\n height: '20px',\n borderRadius: '20px',\n backgroundColor: value\n ? transparentize(color, color == 'primary' ? 0.5 : 0.45)\n : 'muted',\n position: 'relative',\n transition: '0.15s',\n display: 'inline-block',\n }}\n >\n <Box\n sx={{\n width: '14px',\n height: '14px',\n borderRadius: '7px',\n position: 'absolute',\n left: value ? '32px' : '4px',\n top: '3px',\n backgroundColor: value ? color : 'secondary',\n transition: '0.15s',\n }}\n ></Box>\n </Box>\n </Box>\n )\n}\n\nexport default forwardRef(Toggle)\n","const defaultOptions = {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n}\n\nconst formatDateElement = (date, element, option) => {\n if (!option) {\n return null\n }\n\n const format = typeof option === 'string' ? option : defaultOptions[element]\n\n const result = date.toLocaleString('default', {\n [element]: format,\n })\n\n if (format === 'numeric' && ['day', 'month'].includes(element)) {\n return result.padStart(2, '0')\n } else {\n return result\n }\n}\nconst formatDate = (date, options = defaultOptions) => {\n const d = new Date(date.replace(/-/g, '/'))\n\n const month = formatDateElement(d, 'month', options.month)\n const day = formatDateElement(d, 'day', options.day)\n const year = formatDateElement(d, 'year', options.year)\n\n return [month, day, year].filter(Boolean).join(options.separator ?? ' ')\n}\n\nexport default formatDate\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport { PoopSad } from '@carbonplan/emoji'\nimport Layout from './layout'\nimport Row from './row'\nimport Column from './column'\n\nconst Custom404 = () => {\n return (\n <Layout\n footer={false}\n title={'404 – CarbonPlan'}\n description={\n \"Sorry but we can't seem to find the page you are looking for.\"\n }\n >\n <Row sx={{ mb: [5, 0, 0], pt: [0, 0, 6] }}>\n <Column start={[1, 1, 3, 3]} width={[6, 4, 4, 4]}>\n <Box as='h1' variant='styles.h1'>\n Oops!\n </Box>\n <Box\n sx={{\n fontSize: [4, 4, 4, 5],\n lineHeight: 'h3',\n mt: [3, 4, 4],\n mb: [2, 3, 3],\n maxWidth: ['90%', '90%', '400px'],\n }}\n >\n Sorry but we can't seem to find the page you are looking for.\n </Box>\n <Box\n sx={{\n color: 'secondary',\n fontFamily: 'mono',\n letterSpacing: 'mono',\n fontSize: [2, 2, 2, 3],\n mt: [4, 5, 5],\n }}\n >\n ERROR CODE 404\n </Box>\n </Column>\n <Column start={[2, 5, 7, 7]} width={[4, 4, 4, 4]}>\n <Box\n sx={{\n width: ['100%'],\n mt: [2, 4, 4, 5],\n fill: 'primary',\n }}\n >\n <PoopSad sx={{ width: '100%', height: 'auto' }} />\n </Box>\n </Column>\n </Row>\n </Layout>\n )\n}\n\nexport default Custom404\n","import React from 'react'\nimport { Box, IconButton } from 'theme-ui'\n\nconst Expander = ({ value, id, onClick, sx }) => {\n return (\n <IconButton\n onClick={onClick}\n id={id}\n role='checkbox'\n aria-checked={value}\n aria-label='Expand'\n sx={{\n display: 'inline-block',\n width: 24,\n height: 24,\n p: [1],\n cursor: 'pointer',\n fill: 'secondary',\n stroke: 'secondary',\n '@media (hover: hover) and (pointer: fine)': {\n '&:hover': {\n fill: 'primary',\n stroke: 'primary',\n },\n },\n ...sx,\n }}\n >\n <svg viewBox='0 0 16 16'>\n <path\n d='M8,0 V16 M0,8 H16'\n style={{\n strokeWidth: 2,\n transition: '0.25s all',\n transformOrigin: '8px 8px',\n transform: value ? 'rotate(45deg)' : '',\n }}\n />\n </svg>\n </IconButton>\n )\n}\n\nexport default Expander\n","import React from 'react'\nimport { Box } from 'theme-ui'\n\nimport Group from './group'\n\nconst Figure = ({ as = 'figure', children, sx }) => {\n return (\n <Box\n as={as}\n sx={{\n my: [6, 6, 6, 7],\n '@media print': {\n breakInside: 'avoid',\n },\n ...sx,\n }}\n >\n <Group spacing={[4, 4, 4, 5]}>{children}</Group>\n </Box>\n )\n}\n\nexport default Figure\n","import React from 'react'\nimport Caption from './caption'\n\nconst FigureCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='figure'>\n {children}\n </Caption>\n )\n}\n\nexport default FigureCaption\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\nimport Sidenote from './sidenote'\n\nconst Heading = ({\n children,\n sidenote,\n variant = 'h1',\n description,\n descriptionStart = [1, 3, 5, 5],\n descriptionWidth = [5, 5, 5, 4],\n sx,\n}) => {\n let titleWidth = [6, 6, 6, 6]\n if (description) {\n titleWidth[1] = descriptionStart[1] - 1\n titleWidth[2] = descriptionStart[2] - 2\n titleWidth[3] = descriptionStart[3] - 2\n }\n\n if (!['h1', 'h2'].includes(variant)) {\n throw new Error(`variant must be 'h1' or 'h2' but got '${variant}'`)\n }\n\n return (\n <Row sx={{ mt: [5, 6, 7, 8], mb: [5, 6, 7, 8], ...sx }}>\n <Column start={[1, 1, 2, 2]} width={titleWidth}>\n {variant === 'h1' && (\n <Box as='h1' variant='styles.h1' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n {variant === 'h2' && (\n <Box as='h2' variant='styles.h2' sx={{ my: [0, 0, 0, 0] }}>\n {children}\n </Box>\n )}\n </Column>\n {sidenote && <Sidenote variant={variant}>{sidenote}</Sidenote>}\n {description && (\n <Column start={descriptionStart} width={descriptionWidth}>\n <Box\n sx={{\n mt: [4, '5px', '20px', '31px'],\n fontSize: [2, 2, 2, 3],\n }}\n >\n {description}\n </Box>\n </Column>\n )}\n </Row>\n )\n}\n\nexport default Heading\n","import React from 'react'\nimport { Flex } from 'theme-ui'\nimport { RotatingArrow } from '@carbonplan/icons'\nimport Button from './button'\n\nconst LinkGroup = ({\n members,\n color,\n inverted,\n tracking,\n size = 'xs',\n rowGap = [2, 2, 2, 3],\n columnGap = [3, 3, 3, 4],\n direction = 'horizontal',\n sx,\n}) => {\n return (\n <Flex\n sx={{\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n rowGap,\n columnGap,\n flexWrap: 'wrap',\n ...sx,\n }}\n >\n {members.map((d, i) => {\n return (\n <Button\n key={i}\n href={d.href}\n label={d.label}\n size={size}\n sx={{ color: color }}\n inverted={inverted}\n suffix={<RotatingArrow />}\n tracking={tracking}\n >\n {d.label}\n </Button>\n )\n })}\n </Flex>\n )\n}\n\nexport default LinkGroup\n","import React, { useRef } from 'react'\nimport { Box } from 'theme-ui'\nimport { Arrow } from '@carbonplan/icons'\nimport getProps from './utils/get-props'\nimport getSizeStyles from './utils/get-size-styles'\n\nconst Select = ({ children, size = 'sm', sx, sxSelect, ...props }) => {\n const color = sx && sx.color ? sx.color : 'primary'\n const sizeStyles = getSizeStyles(size)\n const ref = useRef(null)\n\n const { onChange } = props\n const omitOnChange = getProps((k) => k !== 'onChange')(props)\n\n if (!['xs', 'sm', 'md'].includes(size)) {\n throw new Error('Size must be xs, sm, or md')\n }\n\n let pr, height, width, ml, top\n\n if (size === 'xs') {\n height = [14, 14, 14, 16]\n width = [14, 14, 14, 14]\n top = ['1px']\n ml = ['-14px', '-14px', '-14px', '-16px']\n }\n\n if (size === 'sm') {\n height = [15, 15, 15, 20]\n width = [15, 15, 15, 20]\n top = ['1px']\n ml = ['-16px', '-16px', '-16px', '-20px']\n }\n\n if (size === 'md') {\n height = [20, 20, 20, 20]\n width = [20, 20, 20, 20]\n top = ['2px']\n ml = ['-20px', '-20px', '-20px', '-20px']\n }\n\n pr = width.map((d) => d + 12)\n\n return (\n <Box\n sx={{\n display: 'inline-block',\n ...sx,\n }}\n >\n <Box\n as='select'\n ref={ref}\n onChange={(e) => {\n ref.current.blur()\n if (onChange) onChange(e)\n }}\n sx={{\n ...sizeStyles,\n lineHeight: 'normal',\n cursor: 'pointer',\n WebkitAppearance: 'none',\n MozAppearance: 'none',\n pb: ['5px'],\n bg: 'background',\n pr: pr,\n border: 'none',\n borderBottomStyle: 'solid',\n borderBottomWidth: '1px',\n borderBottomColor: 'primary',\n borderRadius: '0px',\n color: 'text',\n width: 'fit-content',\n color: color,\n userSelect: 'none',\n '@media (hover: none) and (pointer: coarse)': {\n '&:focus-visible': {\n outline: 'none !important',\n background: 'transparent !important',\n },\n },\n ...sxSelect,\n }}\n {...omitOnChange}\n >\n {children}\n </Box>\n <Arrow\n sx={{\n width: width,\n height: height,\n position: 'relative',\n ml: ml,\n top: top,\n fill: 'secondary',\n transform: 'rotate(135deg)',\n pointerEvents: 'none',\n }}\n />\n </Box>\n )\n}\n\nexport default Select\n","const getProps = (test) => (props) => {\n const next = {}\n for (const key in props) {\n if (test(key || '')) next[key] = props[key]\n }\n return next\n}\n\nexport default getProps\n","import React from 'react'\nimport Caption from './caption'\n\nconst TableCaption = ({ as = 'figcaption', number, children }) => {\n return (\n <Caption as={as} number={number} label='table'>\n {children}\n </Caption>\n )\n}\n\nexport default TableCaption\n","import React from 'react'\n\nconst Tracking = ({ id }) => {\n if (!id) {\n return null\n }\n return (\n <>\n <script async src={`https://www.googletagmanager.com/gtag/js?id=${id}`} />\n <script\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${id}', {\n page_path: window.location.pathname,\n });\n `,\n }}\n />\n </>\n )\n}\n\nexport default Tracking\n","import React from 'react'\nimport { Box } from 'theme-ui'\nimport Row from './row'\nimport Column from './column'\n\nconst Tray = ({ expanded, sx, children }) => {\n return (\n <>\n <Box\n sx={{\n position: 'fixed',\n top: '56px',\n bottom: '0px',\n left: '0px',\n width: 'calc(100vw)',\n mt: ['56px'],\n bg: 'background',\n zIndex: 1000,\n transition: 'opacity 0.15s',\n opacity: expanded ? 0.9 : 0,\n pointerEvents: expanded ? 'all' : 'none',\n }}\n />\n <Box\n sx={{\n position: 'fixed',\n width: 'calc(100vw)',\n top: '0px',\n mt: ['56px'],\n pb: [6, 7, 7, 8],\n pt: [5, 6, 7, 8],\n bg: 'background',\n zIndex: 1100,\n borderStyle: 'solid',\n borderColor: 'muted',\n borderWidth: '0px',\n borderBottomWidth: '1px',\n transition: 'transform 0.15s',\n ml: [-3, -4, -5, -6],\n pl: [3, 4, 5, 6],\n pr: [3, 4, 5, 6],\n transform: expanded ? 'translateY(0)' : 'translateY(-100%)',\n ...sx,\n }}\n >\n <Row>\n <Column start={[1, 1, 1, 1]} width={[6, 8, 10, 10]}>\n {children}\n </Column>\n </Row>\n </Box>\n </>\n )\n}\n\nexport default Tray\n","import { useEffect, useState } from 'react'\n\nimport getScrollbarWidth from './get-scrollbar-width'\n\nconst useScrollbarClass = () => {\n const [className, setClassName] = useState(null)\n\n useEffect(() => {\n if (document && getScrollbarWidth(document) > 0) {\n setClassName('custom-scrollbar')\n }\n }, [])\n\n return className\n}\n\nexport default useScrollbarClass\n"],"names":["_ref","color","srcProp","altProp","_ref$color","_ref$width","width","maxWidth","name","github","alt","src","sx","props","console","warn","toLowerCase","replace","React","createElement","Box","_extends","height","borderRadius","position","display","verticalAlign","bg","Image","opacity","filter","_excluded","Row","columnGap","rowGap","children","columns","gap","_objectWithoutPropertiesLoose","makeArray","input","Array","isArray","includes","length","Error","map","d","flat","Number","isInteger","Grid","start","dl","dr","ml","mr","end","i","gridColumnStart","gridColumnEnd","xs","sm","md","lg","xl","Group","marginValue","_ref$direction","direction","_ref$spacing","spacing","sizes","hasOwnProperty","marginProperty","additionalStyles","Children","child","_extends2","Blank","justifyContent","alignItems","fontFamily","letterSpacing","fontSize","overflow","forwardRef","ref","href","_ref2","internal","_ref2$internal","tracking","_ref2$tracking","startsWith","NextLink","passHref","ThemedLink","action","category","track","e","window","gtag","event_category","event_label","label","value","event","Link","onClick","onContextMenu","getSizeStyles","size","lineHeight","Button$1","offset","margin","strokeWidth","_ref$size","prefix","suffix","inverted","align","prefixHover","suffixHover","prefixAlign","suffixAlign","prefixOffset","suffixOffset","sxProp","_excluded2","baseColor","hoverColor","transform","type","hover","cloneElement","id","transition","style","sizeStyles","border","background","padding","textAlign","cursor","Inner","as","textDecoration","mb","fill","pb","textTransform","Arrow","top","_ref$as","number","Fragment","_ref$label","mx","pr","styles","setClim","px","userSelect","minWidth","DIMENSIONS","Gradient","colormap","discrete","horizontal","step","css","join","minHeight","mt","colors","hinted","Label","_ref3","units","alignSelf","writingMode","whiteSpace","InlineColor","Colors","Meta","title","description","card","_useThemeUI","useThemeUI","theme","colorMode","titleProp","descriptionProp","cardProp","Head","content","rel","crossOrigin","property","Logo","stroke","viewBox","Menu","IconButton","marginTop","flexShrink","xmlns","x1","y1","x2","y2","className","current","first","borderStyle","borderColor","borderWidth","borderBottomWidth","borderTopWidth","py","links","url","HoverArrow","pointerEvents","left","Nav","link","mode","nav","setExpanded","NavGroup","key","Header","status","menuItems","useState","expanded","_useState","pt","Column","zIndex","Flex","right","bottom","maxHeight","backgroundColor","Container","Monogram","Dimmer","_useColorMode","useColorMode","setColorMode","toggle","useCallback","role","Sun","GitSha","process","env","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","owner","NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER","slug","NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG","rawColors","secondary","sha","shortSha","substring","Separator","Text","r","cx","cy","format","toFixed","init","setDisplay","useEffect","setFromEvent","x","clientX","clientY","y","addEventListener","removeEventListener","_setFromEvent","documnt","Math","min","scrollY","document","body","offsetHeight","scrollFraction","transformOrigin","Value","num","pad","toString","padStart","fade","keyframes","from","to","FadeIn","duration","_ref$duration","delay","_ref$delay","delegated","animationDuration","animationDelay","animationName","animationFillMode","getScrollbarWidth","outer","visibility","appendChild","inner","delta","offsetWidth","parentNode","removeChild","Scrollbar","classList","add","getElementsByTagName","Guide","handler","metaKey","prev","GuideColumns","indices","colorCycle","outerGuideColumn","borderLeftWidth","borderRightWidth","innerGuideColumn","borderLeftColor","borderRightColor","Settings","settings","footer","_ref$footer","header","_ref$header","_ref$metadata","metadata","_ref$links","dimmer","_ref$dimmer","_ref$guide","guide","scrollbar","_ref$scrollbar","container","_ref$container","_ref$printable","printable","_ref$fade","hideOnPrint","query","matchMedia","breakpoints","onchange","matches","push","flexDirection","flex","Footer","Metadata","Tag","isClickable","onDoubleClick","m","duplicateOptions","options","defaultValue","overrides","Object","keys","reduce","o","assign","_Object$assign","isAll","option","updateValues","updatedToggle","values","multiSelect","setValues","isAllAlreadySelected","isSelectingAll","_duplicateOptions","Sidenote","variant","_ref$variant","p","WebkitAppearance","outline","ThemedInput","Input","ThemeSlider","boxShadow","reset","row","index","entry","disabled","transparentize","defaultOptions","month","day","year","formatDateElement","date","element","_date$toLocaleString","result","toLocaleString","members","_ref2$direction","_ref2$spacing","limit","fixedCount","idx","max","excess","Avatar","firstChar","slice","remaining","specialChars","_ref4","clim","setClimStep","_ref4$setClimStep","_ref4$format","_ref4$horizontal","_ref4$bottom","sxClim","dx","climRef","useRef","climMinDragging","setClimMinDragging","climMaxDragging","_useState2","setClimMaxDragging","dy","scale","draggingFunction","pageX","pageY","target","setAttribute","updater","listener","code","activeElement","preventDefault","focus","increment","decrement","ClimMin","tabIndex","borderBottom","_ref5","primary","onMouseDown","handleMouseDown","ClimMax","_ref6","flexGrow","Layout","PoopSad","my","breakInside","Caption","_ref2$showAll","showAll","_ref2$multiSelect","sidenote","descriptionStart","_ref$descriptionStart","_ref$descriptionWidth","descriptionWidth","titleWidth","_ref$rowGap","_ref$columnGap","flexWrap","Button","RotatingArrow","test","sxSelect","onChange","omitOnChange","k","next","blur","MozAppearance","borderBottomStyle","borderBottomColor","data","_ref$index","_ref$borderBottom","borderTop","_ref$borderTop","column","j","async","dangerouslySetInnerHTML","__html","pl","_options$separator","Date","Boolean","separator","setClassName"],"mappings":"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"}
|