{"version":3,"file":"index.cjs","sources":["../../src/constants.ts","../../src/FlameGraph/FlameGraphContextMenu.tsx","../../src/FlameGraph/FlameGraphTooltip.tsx","../../src/types.ts","../../src/FlameGraph/murmur3.ts","../../src/FlameGraph/colors.ts","../../src/FlameGraph/rendering.ts","../../src/FlameGraph/FlameGraphCanvas.tsx","../../src/FlameGraph/FlameGraphMetadata.tsx","../../src/FlameGraph/FlameGraph.tsx","../../src/FlameGraph/treeTransforms.ts","../../src/FlameGraph/dataTransform.ts","../../src/FlameGraphHeader.tsx","../../src/TopTable/FlameGraphTopTableContainer.tsx","../../src/utils.ts","../../src/FlameGraphContainer.tsx","../../src/FlameGraph/testData/dataNestedSet.ts"],"sourcesContent":["export const PIXELS_PER_LEVEL = 22 * window.devicePixelRatio;\nexport const MUTE_THRESHOLD = 10 * window.devicePixelRatio;\nexport const HIDE_THRESHOLD = 0.5 * window.devicePixelRatio;\nexport const LABEL_THRESHOLD = 20 * window.devicePixelRatio;\nexport const BAR_BORDER_WIDTH = 0.5 * window.devicePixelRatio;\nexport const BAR_TEXT_PADDING_LEFT = 4 * window.devicePixelRatio;\nexport const GROUP_STRIP_WIDTH = 3 * window.devicePixelRatio;\nexport const GROUP_STRIP_PADDING = 3 * window.devicePixelRatio;\nexport const GROUP_STRIP_MARGIN_LEFT = 4 * window.devicePixelRatio;\nexport const GROUP_TEXT_OFFSET = 2 * window.devicePixelRatio;\nexport const MIN_WIDTH_TO_SHOW_BOTH_TOPTABLE_AND_FLAMEGRAPH = 800;\nexport const TOP_TABLE_COLUMN_WIDTH = 120;\n","import { DataFrame } from '@grafana/data';\nimport { MenuItem, MenuGroup, ContextMenu, IconName } from '@grafana/ui';\n\nimport { ClickedItemData, SelectedView } from '../types';\n\nimport { CollapseConfig, FlameGraphDataContainer } from './dataTransform';\n\nexport type GetExtraContextMenuButtonsFunction = (\n  clickedItemData: ClickedItemData,\n  data: DataFrame,\n  state: { selectedView: SelectedView; isDiff: boolean; search: string; collapseConfig?: CollapseConfig }\n) => ExtraContextMenuButton[];\n\nexport type ExtraContextMenuButton = {\n  label: string;\n  icon: IconName;\n  onClick: () => void;\n};\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  itemData: ClickedItemData;\n  onMenuItemClick: () => void;\n  onItemFocus: () => void;\n  onSandwich: () => void;\n  onExpandGroup: () => void;\n  onCollapseGroup: () => void;\n  onExpandAllGroups: () => void;\n  onCollapseAllGroups: () => void;\n  getExtraContextMenuButtons?: GetExtraContextMenuButtonsFunction;\n  collapseConfig?: CollapseConfig;\n  collapsing?: boolean;\n  allGroupsCollapsed?: boolean;\n  allGroupsExpanded?: boolean;\n  selectedView: SelectedView;\n  search: string;\n};\n\nconst FlameGraphContextMenu = ({\n  data,\n  itemData,\n  onMenuItemClick,\n  onItemFocus,\n  onSandwich,\n  collapseConfig,\n  onExpandGroup,\n  onCollapseGroup,\n  onExpandAllGroups,\n  onCollapseAllGroups,\n  getExtraContextMenuButtons,\n  collapsing,\n  allGroupsExpanded,\n  allGroupsCollapsed,\n  selectedView,\n  search,\n}: Props) => {\n  function renderItems() {\n    const extraButtons =\n      getExtraContextMenuButtons?.(itemData, data.data, {\n        selectedView,\n        isDiff: data.isDiffFlamegraph(),\n        search,\n        collapseConfig,\n      }) || [];\n    return (\n      <>\n        <MenuItem\n          label=\"Focus block\"\n          icon={'eye'}\n          onClick={() => {\n            onItemFocus();\n            onMenuItemClick();\n          }}\n        />\n        <MenuItem\n          label=\"Copy function name\"\n          icon={'copy'}\n          onClick={() => {\n            navigator.clipboard.writeText(itemData.label).then(() => {\n              onMenuItemClick();\n            });\n          }}\n        />\n        <MenuItem\n          label=\"Sandwich view\"\n          icon={'gf-show-context'}\n          onClick={() => {\n            onSandwich();\n            onMenuItemClick();\n          }}\n        />\n        {extraButtons.map(({ label, icon, onClick }) => {\n          return <MenuItem label={label} icon={icon} onClick={() => onClick()} key={label} />;\n        })}\n        {collapsing && (\n          <MenuGroup label={'Grouping'}>\n            {collapseConfig ? (\n              collapseConfig.collapsed ? (\n                <MenuItem\n                  label=\"Expand group\"\n                  icon={'angle-double-down'}\n                  onClick={() => {\n                    onExpandGroup();\n                    onMenuItemClick();\n                  }}\n                />\n              ) : (\n                <MenuItem\n                  label=\"Collapse group\"\n                  icon={'angle-double-up'}\n                  onClick={() => {\n                    onCollapseGroup();\n                    onMenuItemClick();\n                  }}\n                />\n              )\n            ) : null}\n            {!allGroupsExpanded && (\n              <MenuItem\n                label=\"Expand all groups\"\n                icon={'angle-double-down'}\n                onClick={() => {\n                  onExpandAllGroups();\n                  onMenuItemClick();\n                }}\n              />\n            )}\n            {!allGroupsCollapsed && (\n              <MenuItem\n                label=\"Collapse all groups\"\n                icon={'angle-double-up'}\n                onClick={() => {\n                  onCollapseAllGroups();\n                  onMenuItemClick();\n                }}\n              />\n            )}\n          </MenuGroup>\n        )}\n      </>\n    );\n  }\n\n  return (\n    <div data-testid=\"contextMenu\">\n      <ContextMenu\n        renderMenuItems={renderItems}\n        x={itemData.posX + 10}\n        y={itemData.posY}\n        focusOnOpen={false}\n      ></ContextMenu>\n    </div>\n  );\n};\n\nexport default FlameGraphContextMenu;\n","import { css } from '@emotion/css';\n\nimport { DisplayValue, getValueFormat, GrafanaTheme2, ValueFormatter } from '@grafana/data';\nimport { InteractiveTable, Portal, useStyles2, VizTooltipContainer } from '@grafana/ui';\n\nimport { CollapseConfig, FlameGraphDataContainer, LevelItem } from './dataTransform';\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  totalTicks: number;\n  position?: { x: number; y: number };\n  item?: LevelItem;\n  collapseConfig?: CollapseConfig;\n};\n\nconst FlameGraphTooltip = ({ data, item, totalTicks, position, collapseConfig }: Props) => {\n  const styles = useStyles2(getStyles);\n\n  if (!(item && position)) {\n    return null;\n  }\n\n  let content;\n\n  if (data.isDiffFlamegraph()) {\n    const tableData = getDiffTooltipData(data, item, totalTicks);\n    content = (\n      <InteractiveTable\n        className={styles.tooltipTable}\n        columns={[\n          { id: 'label', header: '' },\n          { id: 'baseline', header: 'Baseline' },\n          { id: 'comparison', header: 'Comparison' },\n          { id: 'diff', header: 'Diff' },\n        ]}\n        data={tableData}\n        getRowId={(originalRow) => originalRow.rowId}\n      />\n    );\n  } else {\n    const tooltipData = getTooltipData(data, item, totalTicks);\n    content = (\n      <p className={styles.lastParagraph}>\n        {tooltipData.unitTitle}\n        <br />\n        Total: <b>{tooltipData.unitValue}</b> ({tooltipData.percentValue}%)\n        <br />\n        Self: <b>{tooltipData.unitSelf}</b> ({tooltipData.percentSelf}%)\n        <br />\n        Samples: <b>{tooltipData.samples}</b>\n      </p>\n    );\n  }\n\n  return (\n    <Portal>\n      <VizTooltipContainer className={styles.tooltipContainer} position={position} offset={{ x: 15, y: 0 }}>\n        <div className={styles.tooltipContent}>\n          <p className={styles.tooltipName}>\n            {data.getLabel(item.itemIndexes[0])}\n            {collapseConfig && collapseConfig.collapsed ? (\n              <span>\n                <br />\n                and {collapseConfig.items.length} similar items\n              </span>\n            ) : (\n              ''\n            )}\n          </p>\n          {content}\n        </div>\n      </VizTooltipContainer>\n    </Portal>\n  );\n};\n\ntype TooltipData = {\n  percentValue: number;\n  percentSelf: number;\n  unitTitle: string;\n  unitValue: string;\n  unitSelf: string;\n  samples: string;\n};\n\nexport const getTooltipData = (data: FlameGraphDataContainer, item: LevelItem, totalTicks: number): TooltipData => {\n  const displayValue = data.valueDisplayProcessor(item.value);\n  const displaySelf = data.getSelfDisplay(item.itemIndexes);\n\n  const percentValue = Math.round(10000 * (displayValue.numeric / totalTicks)) / 100;\n  const percentSelf = Math.round(10000 * (displaySelf.numeric / totalTicks)) / 100;\n  let unitValue = displayValue.text + displayValue.suffix;\n  let unitSelf = displaySelf.text + displaySelf.suffix;\n\n  const unitTitle = data.getUnitTitle();\n  if (unitTitle === 'Count') {\n    if (!displayValue.suffix) {\n      // Makes sure we don't show 123undefined or something like that if suffix isn't defined\n      unitValue = displayValue.text;\n    }\n    if (!displaySelf.suffix) {\n      // Makes sure we don't show 123undefined or something like that if suffix isn't defined\n      unitSelf = displaySelf.text;\n    }\n  }\n\n  return {\n    percentValue,\n    percentSelf,\n    unitTitle,\n    unitValue,\n    unitSelf,\n    samples: displayValue.numeric.toLocaleString(),\n  };\n};\n\ntype DiffTableData = {\n  rowId: string;\n  label: string;\n  baseline: string | number;\n  comparison: string | number;\n  diff: string | number;\n};\n\nconst formatWithSuffix = (value: number, formatter: ValueFormatter): string => {\n  const displayValue = formatter(value);\n  return displayValue.text + displayValue.suffix;\n};\n\nexport const getDiffTooltipData = (\n  data: FlameGraphDataContainer,\n  item: LevelItem,\n  totalTicks: number\n): DiffTableData[] => {\n  const levels = data.getLevels();\n  const totalTicksRight = levels[0][0].valueRight!;\n  const totalTicksLeft = totalTicks - totalTicksRight;\n  const valueLeft = item.value - item.valueRight!;\n\n  const percentageLeft = Math.round((10000 * valueLeft) / totalTicksLeft) / 100;\n  const percentageRight = Math.round((10000 * item.valueRight!) / totalTicksRight) / 100;\n\n  const diff = ((percentageRight - percentageLeft) / percentageLeft) * 100;\n\n  const displayValueLeft = getValueWithUnit(data, data.valueDisplayProcessor(valueLeft));\n  const displayValueRight = getValueWithUnit(data, data.valueDisplayProcessor(item.valueRight!));\n\n  const shortValFormat = getValueFormat('short');\n\n  return [\n    {\n      rowId: '1',\n      label: '% of total',\n      baseline: percentageLeft + '%',\n      comparison: percentageRight + '%',\n      diff: formatWithSuffix(diff, shortValFormat) + '%',\n    },\n    {\n      rowId: '2',\n      label: 'Value',\n      baseline: displayValueLeft,\n      comparison: displayValueRight,\n      diff: getValueWithUnit(data, data.valueDisplayProcessor(item.valueRight! - valueLeft)),\n    },\n    {\n      rowId: '3',\n      label: 'Samples',\n      baseline: formatWithSuffix(valueLeft, shortValFormat),\n      comparison: formatWithSuffix(item.valueRight!, shortValFormat),\n      diff: formatWithSuffix(item.valueRight! - valueLeft, shortValFormat),\n    },\n  ];\n};\n\nfunction getValueWithUnit(data: FlameGraphDataContainer, displayValue: DisplayValue) {\n  let unitValue = displayValue.text + displayValue.suffix;\n\n  const unitTitle = data.getUnitTitle();\n  if (unitTitle === 'Count') {\n    if (!displayValue.suffix) {\n      // Makes sure we don't show 123undefined or something like that if suffix isn't defined\n      unitValue = displayValue.text;\n    }\n  }\n  return unitValue;\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n  tooltipContainer: css({\n    title: 'tooltipContainer',\n    overflow: 'hidden',\n  }),\n  tooltipContent: css({\n    title: 'tooltipContent',\n    fontSize: theme.typography.bodySmall.fontSize,\n    width: '100%',\n  }),\n  tooltipName: css({\n    title: 'tooltipName',\n    marginTop: 0,\n    wordBreak: 'break-all',\n  }),\n  lastParagraph: css({\n    title: 'lastParagraph',\n    marginBottom: 0,\n  }),\n  name: css({\n    title: 'name',\n    marginBottom: '10px',\n  }),\n\n  tooltipTable: css({\n    title: 'tooltipTable',\n    maxWidth: '400px',\n  }),\n});\n\nexport default FlameGraphTooltip;\n","import { LevelItem } from './FlameGraph/dataTransform';\n\nexport { type FlameGraphDataContainer } from './FlameGraph/dataTransform';\n\nexport { type ExtraContextMenuButton } from './FlameGraph/FlameGraphContextMenu';\n\nexport type ClickedItemData = {\n  posX: number;\n  posY: number;\n  label: string;\n  item: LevelItem;\n};\n\nexport enum SampleUnit {\n  Bytes = 'bytes',\n  Short = 'short',\n  Nanoseconds = 'ns',\n}\n\nexport enum SelectedView {\n  TopTable = 'topTable',\n  FlameGraph = 'flameGraph',\n  Both = 'both',\n}\n\nexport interface TableData {\n  self: number;\n  total: number;\n  // For diff view\n  totalRight: number;\n}\n\nexport enum ColorScheme {\n  ValueBased = 'valueBased',\n  PackageBased = 'packageBased',\n}\n\nexport enum ColorSchemeDiff {\n  Default = 'default',\n  DiffColorBlind = 'diffColorBlind',\n}\n\nexport type TextAlign = 'left' | 'right';\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/*\n\nCopyright (c) 2011 Gary Court\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n/* eslint-disable no-plusplus */\n/* eslint-disable prefer-const */\n/* eslint-disable no-bitwise */\n/* eslint-disable camelcase */\n\nexport default function murmurhash3_32_gc(key: string, seed = 0) {\n  let remainder;\n  let bytes;\n  let h1;\n  let h1b;\n  let c1;\n  let c2;\n  let k1;\n  let i;\n\n  remainder = key.length & 3; // key.length % 4\n  bytes = key.length - remainder;\n  h1 = seed;\n  c1 = 0xcc9e2d51;\n  c2 = 0x1b873593;\n  i = 0;\n\n  while (i < bytes) {\n    k1 =\n      (key.charCodeAt(i) & 0xff) |\n      ((key.charCodeAt(++i) & 0xff) << 8) |\n      ((key.charCodeAt(++i) & 0xff) << 16) |\n      ((key.charCodeAt(++i) & 0xff) << 24);\n    ++i;\n\n    k1 = ((k1 & 0xffff) * c1 + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n    k1 = (k1 << 15) | (k1 >>> 17);\n    k1 = ((k1 & 0xffff) * c2 + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n\n    h1 ^= k1;\n    h1 = (h1 << 13) | (h1 >>> 19);\n    h1b = ((h1 & 0xffff) * 5 + ((((h1 >>> 16) * 5) & 0xffff) << 16)) & 0xffffffff;\n    h1 = (h1b & 0xffff) + 0x6b64 + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16);\n  }\n\n  k1 = 0;\n\n  switch (remainder) {\n    case 3:\n      k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n    // fall through\n    case 2:\n      k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n    // fall through\n    case 1:\n      k1 ^= key.charCodeAt(i) & 0xff;\n    // fall through\n    default:\n      k1 = ((k1 & 0xffff) * c1 + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n      k1 = (k1 << 15) | (k1 >>> 17);\n      k1 = ((k1 & 0xffff) * c2 + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n      h1 ^= k1;\n  }\n\n  h1 ^= key.length;\n\n  h1 ^= h1 >>> 16;\n  h1 = ((h1 & 0xffff) * 0x85ebca6b + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;\n  h1 ^= h1 >>> 13;\n  h1 = ((h1 & 0xffff) * 0xc2b2ae35 + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16)) & 0xffffffff;\n  h1 ^= h1 >>> 16;\n\n  return h1 >>> 0;\n}\n","import { scaleLinear } from 'd3';\nimport color from 'tinycolor2';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { ColorSchemeDiff } from '../types';\n\nimport murmurhash3_32_gc from './murmur3';\n\n// Colors taken from pyroscope, they should be from Grafana originally, but I didn't find from where exactly.\nconst packageColors = [\n  color({ h: 24, s: 69, l: 60 }),\n  color({ h: 34, s: 65, l: 65 }),\n  color({ h: 194, s: 52, l: 61 }),\n  color({ h: 163, s: 45, l: 55 }),\n  color({ h: 211, s: 48, l: 60 }),\n  color({ h: 246, s: 40, l: 65 }),\n  color({ h: 305, s: 63, l: 79 }),\n  color({ h: 47, s: 100, l: 73 }),\n\n  color({ r: 183, g: 219, b: 171 }),\n  color({ r: 244, g: 213, b: 152 }),\n  color({ r: 78, g: 146, b: 249 }),\n  color({ r: 249, g: 186, b: 143 }),\n  color({ r: 242, g: 145, b: 145 }),\n  color({ r: 130, g: 181, b: 216 }),\n  color({ r: 229, g: 168, b: 226 }),\n  color({ r: 174, g: 162, b: 224 }),\n  color({ r: 154, g: 196, b: 138 }),\n  color({ r: 242, g: 201, b: 109 }),\n  color({ r: 101, g: 197, b: 219 }),\n  color({ r: 249, g: 147, b: 78 }),\n  color({ r: 234, g: 100, b: 96 }),\n  color({ r: 81, g: 149, b: 206 }),\n  color({ r: 214, g: 131, b: 206 }),\n  color({ r: 128, g: 110, b: 183 }),\n];\n\nconst byValueMinColor = getBarColorByValue(1, 100, 0, 1);\nconst byValueMaxColor = getBarColorByValue(100, 100, 0, 1);\nexport const byValueGradient = `linear-gradient(90deg, ${byValueMinColor} 0%, ${byValueMaxColor} 100%)`;\n\n// Handpicked some vaguely rainbow-ish colors\nexport const byPackageGradient = `linear-gradient(90deg, ${packageColors[0]} 0%, ${packageColors[2]} 30%, ${packageColors[6]} 50%, ${packageColors[7]} 70%, ${packageColors[8]} 100%)`;\n\nexport function getBarColorByValue(value: number, totalTicks: number, rangeMin: number, rangeMax: number) {\n  //  / (rangeMax - rangeMin) here so when you click a bar it will adjust the top (clicked)bar to the most 'intense' color\n  const intensity = Math.min(1, value / totalTicks / (rangeMax - rangeMin));\n  const h = 50 - 50 * intensity;\n  const l = 65 + 7 * intensity;\n\n  return color({ h, s: 100, l });\n}\n\nexport function getBarColorByPackage(label: string, theme: GrafanaTheme2) {\n  const packageName = getPackageName(label);\n  // TODO: similar thing happens in trace view with selecting colors of the spans, so maybe this could be unified.\n  const hash = murmurhash3_32_gc(packageName || '', 0);\n  const colorIndex = hash % packageColors.length;\n  let packageColor = packageColors[colorIndex].clone();\n  if (theme.isLight) {\n    packageColor = packageColor.brighten(15);\n  }\n  return packageColor;\n}\n\n// green to red\nexport const diffDefaultColors = ['rgb(0, 170, 0)', 'rgb(148, 142, 142)', 'rgb(200, 0, 0)'];\nexport const diffDefaultGradient = `linear-gradient(90deg, ${diffDefaultColors[0]} 0%, ${diffDefaultColors[1]} 50%, ${diffDefaultColors[2]} 100%)`;\nexport const diffColorBlindColors = ['rgb(26, 133, 255)', 'rgb(148, 142, 142)', 'rgb(220, 50, 32)'];\nexport const diffColorBlindGradient = `linear-gradient(90deg, ${diffColorBlindColors[0]} 0%, ${diffColorBlindColors[1]} 50%, ${diffColorBlindColors[2]} 100%)`;\n\nexport function getBarColorByDiff(\n  ticks: number,\n  ticksRight: number,\n  totalTicks: number,\n  totalTicksRight: number,\n  colorScheme: ColorSchemeDiff\n) {\n  const range = colorScheme === ColorSchemeDiff.Default ? diffDefaultColors : diffColorBlindColors;\n  const colorScale = scaleLinear()\n    .domain([-100, 0, 100])\n    // TODO types from DefinitelyTyped seem to mismatch\n    // @ts-ignore\n    .range(range);\n\n  const ticksLeft = ticks - ticksRight;\n  const totalTicksLeft = totalTicks - totalTicksRight;\n\n  if (totalTicksRight === 0 || totalTicksLeft === 0) {\n    // TODO types from DefinitelyTyped seem to mismatch\n    // @ts-ignore\n    const rgbString: string = colorScale(0);\n    // Fallback to neutral color as we probably have no data for one of the sides.\n    return color(rgbString);\n  }\n\n  const percentageLeft = Math.round((10000 * ticksLeft) / totalTicksLeft) / 100;\n  const percentageRight = Math.round((10000 * ticksRight) / totalTicksRight) / 100;\n\n  const diff = ((percentageRight - percentageLeft) / percentageLeft) * 100;\n\n  // TODO types from DefinitelyTyped seem to mismatch\n  // @ts-ignore\n  const rgbString: string = colorScale(diff);\n  return color(rgbString);\n}\n\n// const getColors = memoizeOne((theme) => getFilteredColors(colors, theme));\n\n// Different regexes to get the package name and function name from the label. We may at some point get an info about\n// the language from the backend and use the right regex but right now we just try all of them from most to least\n// specific.\nconst matchers = [\n  ['phpspy', /^(?<packageName>([^\\/]*\\/)*)(?<filename>.*\\.php+)(?<line_info>.*)$/],\n  ['pyspy', /^(?<packageName>([^\\/]*\\/)*)(?<filename>.*\\.py+)(?<line_info>.*)$/],\n  ['rbspy', /^(?<packageName>([^\\/]*\\/)*)(?<filename>.*\\.rb+)(?<line_info>.*)$/],\n  [\n    'nodespy',\n    /^(\\.\\/node_modules\\/)?(?<packageName>[^/]*)(?<filename>.*\\.?(jsx?|tsx?)?):(?<functionName>.*):(?<line_info>.*)$/,\n  ],\n  ['gospy', /^(?<packageName>.*?\\/.*?\\.|.*?\\.|.+)(?<functionName>.*)$/], // also 'scrape'\n  ['javaspy', /^(?<packageName>.+\\/)(?<filename>.+\\.)(?<functionName>.+)$/],\n  ['dotnetspy', /^(?<packageName>.+)\\.(.+)\\.(.+)\\(.*\\)$/],\n  ['tracing', /^(?<packageName>.+?):.*$/],\n  ['pyroscope-rs', /^(?<packageName>[^::]+)/],\n  ['ebpfspy', /^(?<packageName>.+)$/],\n  ['unknown', /^(?<packageName>.+)$/],\n];\n\n// Get the package name from the symbol. Try matchers from the list and return first one that matches.\nfunction getPackageName(name: string): string | undefined {\n  for (const [_, matcher] of matchers) {\n    const match = name.match(matcher);\n    if (match) {\n      return match.groups?.packageName || '';\n    }\n  }\n  return undefined;\n}\n","import { RefObject, useCallback, useEffect, useMemo, useState } from 'react';\nimport color from 'tinycolor2';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { useTheme2 } from '@grafana/ui';\n\nimport {\n  BAR_BORDER_WIDTH,\n  BAR_TEXT_PADDING_LEFT,\n  MUTE_THRESHOLD,\n  HIDE_THRESHOLD,\n  LABEL_THRESHOLD,\n  PIXELS_PER_LEVEL,\n  GROUP_STRIP_WIDTH,\n  GROUP_STRIP_PADDING,\n  GROUP_STRIP_MARGIN_LEFT,\n  GROUP_TEXT_OFFSET,\n} from '../constants';\nimport { ClickedItemData, ColorScheme, ColorSchemeDiff, TextAlign } from '../types';\n\nimport { getBarColorByDiff, getBarColorByPackage, getBarColorByValue } from './colors';\nimport { CollapseConfig, CollapsedMap, FlameGraphDataContainer, LevelItem } from './dataTransform';\n\ntype RenderOptions = {\n  canvasRef: RefObject<HTMLCanvasElement>;\n  data: FlameGraphDataContainer;\n  root: LevelItem;\n  direction: 'children' | 'parents';\n\n  // Depth in number of levels\n  depth: number;\n  wrapperWidth: number;\n\n  // If we are rendering only zoomed in part of the graph.\n  rangeMin: number;\n  rangeMax: number;\n\n  matchedLabels: Set<string> | undefined;\n  textAlign: TextAlign;\n\n  // Total ticks that will be used for sizing\n  totalViewTicks: number;\n  // Total ticks that will be used for computing colors as some color scheme (like in diff view) should not be affected\n  // by sandwich or focus view.\n  totalColorTicks: number;\n  // Total ticks used to compute the diff colors\n  totalTicksRight: number | undefined;\n  colorScheme: ColorScheme | ColorSchemeDiff;\n  focusedItemData?: ClickedItemData;\n  collapsedMap: CollapsedMap;\n};\n\nexport function useFlameRender(options: RenderOptions) {\n  const {\n    canvasRef,\n    data,\n    root,\n    depth,\n    direction,\n    wrapperWidth,\n    rangeMin,\n    rangeMax,\n    matchedLabels,\n    textAlign,\n    totalViewTicks,\n    totalColorTicks,\n    totalTicksRight,\n    colorScheme,\n    focusedItemData,\n    collapsedMap,\n  } = options;\n  const ctx = useSetupCanvas(canvasRef, wrapperWidth, depth);\n  const theme = useTheme2();\n\n  // There is a bit of dependency injections here that does not add readability, mainly to prevent recomputing some\n  // common stuff for all the nodes in the graph when only once is enough. perf/readability tradeoff.\n\n  const mutedColor = useMemo(() => {\n    const barMutedColor = color(theme.colors.background.secondary);\n    return theme.isLight ? barMutedColor.darken(10).toHexString() : barMutedColor.lighten(10).toHexString();\n  }, [theme]);\n\n  const getBarColor = useColorFunction(\n    totalColorTicks,\n    totalTicksRight,\n    colorScheme,\n    theme,\n    mutedColor,\n    rangeMin,\n    rangeMax,\n    matchedLabels,\n    focusedItemData ? focusedItemData.item.level : 0\n  );\n\n  const renderFunc = useRenderFunc(ctx, data, getBarColor, textAlign, collapsedMap);\n\n  useEffect(() => {\n    if (!ctx) {\n      return;\n    }\n\n    ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n\n    const mutedPath2D = new Path2D();\n\n    //\n    // Walk the tree and compute the dimensions for each item in the flamegraph.\n    //\n    walkTree(\n      root,\n      direction,\n      data,\n      totalViewTicks,\n      rangeMin,\n      rangeMax,\n      wrapperWidth,\n      collapsedMap,\n      (item, x, y, width, height, label, muted) => {\n        if (muted) {\n          // We do a bit of optimization for muted regions, and we render them all in single fill later on as they don't\n          // have labels and are the same color.\n          mutedPath2D.rect(x, y, width, height);\n        } else {\n          renderFunc(item, x, y, width, height, label);\n        }\n      }\n    );\n\n    // Only fill the muted rects\n    ctx.fillStyle = mutedColor;\n    ctx.fill(mutedPath2D);\n  }, [\n    ctx,\n    data,\n    root,\n    wrapperWidth,\n    rangeMin,\n    rangeMax,\n    totalViewTicks,\n    direction,\n    renderFunc,\n    collapsedMap,\n    mutedColor,\n  ]);\n}\n\ntype RenderFunc = (item: LevelItem, x: number, y: number, width: number, height: number, label: string) => void;\n\ntype RenderFuncWrap = (\n  item: LevelItem,\n  x: number,\n  y: number,\n  width: number,\n  height: number,\n  label: string,\n  muted: boolean\n) => void;\n\n/**\n * Create a render function with some memoization to prevent excesive repainting of the canvas.\n * @param ctx\n * @param data\n * @param getBarColor\n * @param textAlign\n * @param collapsedMap\n */\nfunction useRenderFunc(\n  ctx: CanvasRenderingContext2D | undefined,\n  data: FlameGraphDataContainer,\n  getBarColor: (item: LevelItem, label: string, muted: boolean) => string,\n  textAlign: TextAlign,\n  collapsedMap: CollapsedMap\n) {\n  return useMemo(() => {\n    if (!ctx) {\n      return () => {};\n    }\n\n    const renderFunc: RenderFunc = (item, x, y, width, height, label) => {\n      ctx.beginPath();\n      ctx.rect(x + BAR_BORDER_WIDTH, y, width, height);\n      ctx.fillStyle = getBarColor(item, label, false);\n      ctx.stroke();\n      ctx.fill();\n\n      const collapsedItemConfig = collapsedMap.get(item);\n      let finalLabel = label;\n      if (collapsedItemConfig && collapsedItemConfig.collapsed) {\n        const numberOfCollapsedItems = collapsedItemConfig.items.length;\n        finalLabel = `(${numberOfCollapsedItems}) ` + label;\n      }\n\n      if (width >= LABEL_THRESHOLD) {\n        if (collapsedItemConfig) {\n          renderLabel(\n            ctx,\n            data,\n            finalLabel,\n            item,\n            width,\n            textAlign === 'left' ? x + GROUP_STRIP_MARGIN_LEFT + GROUP_TEXT_OFFSET : x,\n            y,\n            textAlign\n          );\n\n          renderGroupingStrip(ctx, x, y, height, item, collapsedItemConfig);\n        } else {\n          renderLabel(ctx, data, finalLabel, item, width, x, y, textAlign);\n        }\n      }\n    };\n\n    return renderFunc;\n  }, [ctx, getBarColor, textAlign, data, collapsedMap]);\n}\n\n/**\n * Render small strip on the left side of the bar to indicate that this item is part of a group that can be collapsed.\n * @param ctx\n * @param x\n * @param y\n * @param height\n * @param item\n * @param collapsedItemConfig\n */\nfunction renderGroupingStrip(\n  ctx: CanvasRenderingContext2D,\n  x: number,\n  y: number,\n  height: number,\n  item: LevelItem,\n  collapsedItemConfig: CollapseConfig\n) {\n  const groupStripX = x + GROUP_STRIP_MARGIN_LEFT;\n\n  // This is to mask the label in case we align it right to left.\n  ctx.beginPath();\n  ctx.rect(x, y, groupStripX - x + GROUP_STRIP_WIDTH + GROUP_STRIP_PADDING, height);\n  ctx.fill();\n\n  // For item in a group that can be collapsed, we draw a small strip to mark them. On the items that are at the\n  // start or and end of a group we draw just half the strip so 2 groups next to each other are separated\n  // visually.\n  ctx.beginPath();\n  if (collapsedItemConfig.collapsed) {\n    ctx.rect(groupStripX, y + height / 4, GROUP_STRIP_WIDTH, height / 2);\n  } else {\n    if (collapsedItemConfig.items[0] === item) {\n      // Top item\n      ctx.rect(groupStripX, y + height / 2, GROUP_STRIP_WIDTH, height / 2);\n    } else if (collapsedItemConfig.items[collapsedItemConfig.items.length - 1] === item) {\n      // Bottom item\n      ctx.rect(groupStripX, y, GROUP_STRIP_WIDTH, height / 2);\n    } else {\n      ctx.rect(groupStripX, y, GROUP_STRIP_WIDTH, height);\n    }\n  }\n\n  ctx.fillStyle = '#666';\n  ctx.fill();\n}\n\n/**\n * Exported for testing don't use directly\n * Walks the tree and computes coordinates, dimensions and other data needed for rendering. For each item in the tree\n * it defers the rendering to the renderFunc.\n */\nexport function walkTree(\n  root: LevelItem,\n  // In sandwich view we use parents direction to show all callers.\n  direction: 'children' | 'parents',\n  data: FlameGraphDataContainer,\n  totalViewTicks: number,\n  rangeMin: number,\n  rangeMax: number,\n  wrapperWidth: number,\n  collapsedMap: CollapsedMap,\n  renderFunc: RenderFuncWrap\n) {\n  // The levelOffset here is to keep track if items that we don't render because they are collapsed into single row.\n  // That means we have to render next items with an offset of some rows up in the stack.\n  const stack: Array<{ item: LevelItem; levelOffset: number }> = [];\n  stack.push({ item: root, levelOffset: 0 });\n\n  const pixelsPerTick = (wrapperWidth * window.devicePixelRatio) / totalViewTicks / (rangeMax - rangeMin);\n  let collapsedItemRendered: LevelItem | undefined = undefined;\n\n  while (stack.length > 0) {\n    const { item, levelOffset } = stack.shift()!;\n    let curBarTicks = item.value;\n    const muted = curBarTicks * pixelsPerTick <= MUTE_THRESHOLD;\n    const width = curBarTicks * pixelsPerTick - (muted ? 0 : BAR_BORDER_WIDTH * 2);\n    const height = PIXELS_PER_LEVEL;\n\n    if (width < HIDE_THRESHOLD) {\n      // We don't render nor it's children\n      continue;\n    }\n\n    let offsetModifier = 0;\n    let skipRender = false;\n    const collapsedItemConfig = collapsedMap.get(item);\n    const isCollapsedItem = collapsedItemConfig && collapsedItemConfig.collapsed;\n\n    if (isCollapsedItem) {\n      if (collapsedItemRendered === collapsedItemConfig.items[0]) {\n        offsetModifier = direction === 'children' ? -1 : +1;\n        skipRender = true;\n      } else {\n        // This is a case where we have another collapsed group right after different collapsed group, so we need to\n        // reset.\n        collapsedItemRendered = undefined;\n      }\n    } else {\n      collapsedItemRendered = undefined;\n    }\n\n    if (!skipRender) {\n      const barX = getBarX(item.start, totalViewTicks, rangeMin, pixelsPerTick);\n      const barY = (item.level + levelOffset) * PIXELS_PER_LEVEL;\n\n      let label = data.getLabel(item.itemIndexes[0]);\n      if (isCollapsedItem) {\n        collapsedItemRendered = item;\n      }\n\n      renderFunc(item, barX, barY, width, height, label, muted);\n    }\n\n    const nextList = direction === 'children' ? item.children : item.parents;\n    if (nextList) {\n      stack.unshift(...nextList.map((c) => ({ item: c, levelOffset: levelOffset + offsetModifier })));\n    }\n  }\n}\n\nfunction useColorFunction(\n  totalTicks: number,\n  totalTicksRight: number | undefined,\n  colorScheme: ColorScheme | ColorSchemeDiff,\n  theme: GrafanaTheme2,\n  mutedColor: string,\n  rangeMin: number,\n  rangeMax: number,\n  matchedLabels: Set<string> | undefined,\n  topLevel: number\n) {\n  return useCallback(\n    function getColor(item: LevelItem, label: string, muted: boolean) {\n      // If collapsed and no search we can quickly return the muted color\n      if (muted && !matchedLabels) {\n        // Collapsed are always grayed\n        return mutedColor;\n      }\n\n      const barColor =\n        item.valueRight !== undefined &&\n        (colorScheme === ColorSchemeDiff.Default || colorScheme === ColorSchemeDiff.DiffColorBlind)\n          ? getBarColorByDiff(item.value, item.valueRight!, totalTicks, totalTicksRight!, colorScheme)\n          : colorScheme === ColorScheme.ValueBased\n            ? getBarColorByValue(item.value, totalTicks, rangeMin, rangeMax)\n            : getBarColorByPackage(label, theme);\n\n      if (matchedLabels) {\n        // Means we are searching, we use color for matches and gray the rest\n        return matchedLabels.has(label) ? barColor.toHslString() : mutedColor;\n      }\n\n      // Mute if we are above the focused symbol\n      return item.level > topLevel - 1 ? barColor.toHslString() : barColor.lighten(15).toHslString();\n    },\n    [totalTicks, totalTicksRight, colorScheme, theme, rangeMin, rangeMax, matchedLabels, topLevel, mutedColor]\n  );\n}\n\nfunction useSetupCanvas(canvasRef: RefObject<HTMLCanvasElement>, wrapperWidth: number, numberOfLevels: number) {\n  const [ctx, setCtx] = useState<CanvasRenderingContext2D>();\n\n  useEffect(() => {\n    if (!(numberOfLevels && canvasRef.current)) {\n      return;\n    }\n    const ctx = canvasRef.current.getContext('2d')!;\n\n    const height = PIXELS_PER_LEVEL * numberOfLevels;\n    canvasRef.current.width = Math.round(wrapperWidth * window.devicePixelRatio);\n    canvasRef.current.height = Math.round(height);\n    canvasRef.current.style.width = `${wrapperWidth}px`;\n    canvasRef.current.style.height = `${height / window.devicePixelRatio}px`;\n\n    ctx.textBaseline = 'middle';\n    ctx.font = 12 * window.devicePixelRatio + 'px monospace';\n    ctx.strokeStyle = 'white';\n    setCtx(ctx);\n  }, [canvasRef, setCtx, wrapperWidth, numberOfLevels]);\n  return ctx;\n}\n\n// Renders a text inside the node rectangle. It allows setting alignment of the text left or right which takes effect\n// when text is too long to fit in the rectangle.\nfunction renderLabel(\n  ctx: CanvasRenderingContext2D,\n  data: FlameGraphDataContainer,\n  label: string,\n  item: LevelItem,\n  width: number,\n  x: number,\n  y: number,\n  textAlign: TextAlign\n) {\n  ctx.save();\n  ctx.clip(); // so text does not overflow\n  ctx.fillStyle = '#222';\n\n  const displayValue = data.valueDisplayProcessor(item.value);\n  const unit = displayValue.suffix ? displayValue.text + displayValue.suffix : displayValue.text;\n\n  // We only measure name here instead of full label because of how we deal with the units and aligning later.\n  const measure = ctx.measureText(label);\n  const spaceForTextInRect = width - BAR_TEXT_PADDING_LEFT;\n\n  let fullLabel = `${label} (${unit})`;\n  let labelX = Math.max(x, 0) + BAR_TEXT_PADDING_LEFT;\n\n  // We use the desired alignment only if there is not enough space for the text, otherwise we keep left alignment as\n  // that will already show full text.\n  if (measure.width > spaceForTextInRect) {\n    ctx.textAlign = textAlign;\n    // If aligned to the right we don't want to take the space with the unit label as the assumption is user wants to\n    // mainly see the name. This also reflects how pyro/flamegraph works.\n    if (textAlign === 'right') {\n      fullLabel = label;\n      labelX = x + width - BAR_TEXT_PADDING_LEFT;\n    }\n  }\n\n  ctx.fillText(fullLabel, labelX, y + PIXELS_PER_LEVEL / 2 + 2);\n  ctx.restore();\n}\n\n/**\n * Returns the X position of the bar. totalTicks * rangeMin is to adjust for any current zoom. So if we zoom to a\n * section of the graph we align and shift the X coordinates accordingly.\n * @param offset\n * @param totalTicks\n * @param rangeMin\n * @param pixelsPerTick\n */\nexport function getBarX(offset: number, totalTicks: number, rangeMin: number, pixelsPerTick: number) {\n  return (offset - totalTicks * rangeMin) * pixelsPerTick;\n}\n","import { css } from '@emotion/css';\nimport { MouseEvent as ReactMouseEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport * as React from 'react';\nimport { useMeasure } from 'react-use';\n\nimport { PIXELS_PER_LEVEL } from '../constants';\nimport { ClickedItemData, ColorScheme, ColorSchemeDiff, SelectedView, TextAlign } from '../types';\n\nimport FlameGraphContextMenu, { GetExtraContextMenuButtonsFunction } from './FlameGraphContextMenu';\nimport FlameGraphTooltip from './FlameGraphTooltip';\nimport { CollapsedMap, FlameGraphDataContainer, LevelItem } from './dataTransform';\nimport { getBarX, useFlameRender } from './rendering';\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  rangeMin: number;\n  rangeMax: number;\n  matchedLabels: Set<string> | undefined;\n  setRangeMin: (range: number) => void;\n  setRangeMax: (range: number) => void;\n  style?: React.CSSProperties;\n  onItemFocused: (data: ClickedItemData) => void;\n  focusedItemData?: ClickedItemData;\n  textAlign: TextAlign;\n  onSandwich: (label: string) => void;\n  colorScheme: ColorScheme | ColorSchemeDiff;\n\n  root: LevelItem;\n  direction: 'children' | 'parents';\n  // Depth in number of levels\n  depth: number;\n\n  totalProfileTicks: number;\n  totalProfileTicksRight?: number;\n  totalViewTicks: number;\n  showFlameGraphOnly?: boolean;\n\n  collapsedMap: CollapsedMap;\n  setCollapsedMap: (collapsedMap: CollapsedMap) => void;\n  collapsing?: boolean;\n  getExtraContextMenuButtons?: GetExtraContextMenuButtonsFunction;\n\n  selectedView: SelectedView;\n  search: string;\n};\n\nconst FlameGraphCanvas = ({\n  data,\n  rangeMin,\n  rangeMax,\n  matchedLabels,\n  setRangeMin,\n  setRangeMax,\n  onItemFocused,\n  focusedItemData,\n  textAlign,\n  onSandwich,\n  colorScheme,\n  totalProfileTicks,\n  totalProfileTicksRight,\n  totalViewTicks,\n  root,\n  direction,\n  depth,\n  showFlameGraphOnly,\n  collapsedMap,\n  setCollapsedMap,\n  collapsing,\n  getExtraContextMenuButtons,\n  selectedView,\n  search,\n}: Props) => {\n  const styles = getStyles();\n\n  const [sizeRef, { width: wrapperWidth }] = useMeasure<HTMLDivElement>();\n  const graphRef = useRef<HTMLCanvasElement>(null);\n  const [tooltipItem, setTooltipItem] = useState<LevelItem>();\n\n  const [clickedItemData, setClickedItemData] = useState<ClickedItemData>();\n\n  useFlameRender({\n    canvasRef: graphRef,\n    colorScheme,\n    data,\n    focusedItemData,\n    root,\n    direction,\n    depth,\n    rangeMax,\n    rangeMin,\n    matchedLabels,\n    textAlign,\n    totalViewTicks,\n    // We need this so that if we have a diff profile and are in sandwich view we still show the same diff colors.\n    totalColorTicks: data.isDiffFlamegraph() ? totalProfileTicks : totalViewTicks,\n    totalTicksRight: totalProfileTicksRight,\n    wrapperWidth,\n    collapsedMap,\n  });\n\n  const onGraphClick = useCallback(\n    (e: ReactMouseEvent<HTMLCanvasElement>) => {\n      setTooltipItem(undefined);\n      const pixelsPerTick = graphRef.current!.clientWidth / totalViewTicks / (rangeMax - rangeMin);\n      const item = convertPixelCoordinatesToBarCoordinates(\n        { x: e.nativeEvent.offsetX, y: e.nativeEvent.offsetY },\n        root,\n        direction,\n        depth,\n        pixelsPerTick,\n        totalViewTicks,\n        rangeMin,\n        collapsedMap\n      );\n\n      // if clicking on a block in the canvas\n      if (item) {\n        setClickedItemData({\n          posY: e.clientY,\n          posX: e.clientX,\n          item,\n          label: data.getLabel(item.itemIndexes[0]),\n        });\n      } else {\n        // if clicking on the canvas but there is no block beneath the cursor\n        setClickedItemData(undefined);\n      }\n    },\n    [data, rangeMin, rangeMax, totalViewTicks, root, direction, depth, collapsedMap]\n  );\n\n  const [mousePosition, setMousePosition] = useState<{ x: number; y: number }>();\n  const onGraphMouseMove = useCallback(\n    (e: ReactMouseEvent<HTMLCanvasElement>) => {\n      if (clickedItemData === undefined) {\n        setTooltipItem(undefined);\n        setMousePosition(undefined);\n        const pixelsPerTick = graphRef.current!.clientWidth / totalViewTicks / (rangeMax - rangeMin);\n        const item = convertPixelCoordinatesToBarCoordinates(\n          { x: e.nativeEvent.offsetX, y: e.nativeEvent.offsetY },\n          root,\n          direction,\n          depth,\n          pixelsPerTick,\n          totalViewTicks,\n          rangeMin,\n          collapsedMap\n        );\n\n        if (item) {\n          setMousePosition({ x: e.clientX, y: e.clientY });\n          setTooltipItem(item);\n        }\n      }\n    },\n    [rangeMin, rangeMax, totalViewTicks, clickedItemData, setMousePosition, root, direction, depth, collapsedMap]\n  );\n\n  const onGraphMouseLeave = useCallback(() => {\n    setTooltipItem(undefined);\n  }, []);\n\n  // hide context menu if outside the flame graph canvas is clicked\n  useEffect(() => {\n    const handleOnClick = (e: MouseEvent) => {\n      if (\n        e.target instanceof HTMLElement &&\n        e.target.parentElement?.id !== 'flameGraphCanvasContainer_clickOutsideCheck'\n      ) {\n        setClickedItemData(undefined);\n      }\n    };\n    window.addEventListener('click', handleOnClick);\n    return () => window.removeEventListener('click', handleOnClick);\n  }, [setClickedItemData]);\n\n  return (\n    <div className={styles.graph}>\n      <div className={styles.canvasWrapper} id=\"flameGraphCanvasContainer_clickOutsideCheck\" ref={sizeRef}>\n        <canvas\n          ref={graphRef}\n          data-testid=\"flameGraph\"\n          onClick={onGraphClick}\n          onMouseMove={onGraphMouseMove}\n          onMouseLeave={onGraphMouseLeave}\n        />\n      </div>\n      <FlameGraphTooltip\n        position={mousePosition}\n        item={tooltipItem}\n        data={data}\n        totalTicks={totalViewTicks}\n        collapseConfig={tooltipItem ? collapsedMap.get(tooltipItem) : undefined}\n      />\n      {!showFlameGraphOnly && clickedItemData && (\n        <FlameGraphContextMenu\n          data={data}\n          itemData={clickedItemData}\n          collapsing={collapsing}\n          collapseConfig={collapsedMap.get(clickedItemData.item)}\n          onMenuItemClick={() => {\n            setClickedItemData(undefined);\n          }}\n          onItemFocus={() => {\n            setRangeMin(clickedItemData.item.start / totalViewTicks);\n            setRangeMax((clickedItemData.item.start + clickedItemData.item.value) / totalViewTicks);\n            onItemFocused(clickedItemData);\n          }}\n          onSandwich={() => {\n            onSandwich(data.getLabel(clickedItemData.item.itemIndexes[0]));\n          }}\n          onExpandGroup={() => {\n            setCollapsedMap(collapsedMap.setCollapsedStatus(clickedItemData.item, false));\n          }}\n          onCollapseGroup={() => {\n            setCollapsedMap(collapsedMap.setCollapsedStatus(clickedItemData.item, true));\n          }}\n          onExpandAllGroups={() => {\n            setCollapsedMap(collapsedMap.setAllCollapsedStatus(false));\n          }}\n          onCollapseAllGroups={() => {\n            setCollapsedMap(collapsedMap.setAllCollapsedStatus(true));\n          }}\n          allGroupsCollapsed={Array.from(collapsedMap.values()).every((i) => i.collapsed)}\n          allGroupsExpanded={Array.from(collapsedMap.values()).every((i) => !i.collapsed)}\n          getExtraContextMenuButtons={getExtraContextMenuButtons}\n          selectedView={selectedView}\n          search={search}\n        />\n      )}\n    </div>\n  );\n};\n\nconst getStyles = () => ({\n  graph: css({\n    label: 'graph',\n    overflow: 'auto',\n    flexGrow: 1,\n    flexBasis: '50%',\n  }),\n  canvasContainer: css({\n    label: 'canvasContainer',\n    display: 'flex',\n  }),\n  canvasWrapper: css({\n    label: 'canvasWrapper',\n    cursor: 'pointer',\n    flex: 1,\n    overflow: 'hidden',\n  }),\n  sandwichMarker: css({\n    label: 'sandwichMarker',\n    writingMode: 'vertical-lr',\n    transform: 'rotate(180deg)',\n    overflow: 'hidden',\n    whiteSpace: 'nowrap',\n  }),\n  sandwichMarkerIcon: css({\n    label: 'sandwichMarkerIcon',\n    verticalAlign: 'baseline',\n  }),\n});\n\nexport const convertPixelCoordinatesToBarCoordinates = (\n  // position relative to the start of the graph\n  pos: { x: number; y: number },\n  root: LevelItem,\n  direction: 'children' | 'parents',\n  depth: number,\n  pixelsPerTick: number,\n  totalTicks: number,\n  rangeMin: number,\n  collapsedMap: CollapsedMap\n): LevelItem | undefined => {\n  let next: LevelItem | undefined = root;\n  let currentLevel = direction === 'children' ? 0 : depth - 1;\n  const levelIndex = Math.floor(pos.y / (PIXELS_PER_LEVEL / window.devicePixelRatio));\n  let found = undefined;\n\n  while (next) {\n    const node: LevelItem = next;\n    next = undefined;\n    if (currentLevel === levelIndex) {\n      found = node;\n      break;\n    }\n\n    const nextList = direction === 'children' ? node.children : node.parents || [];\n\n    for (const child of nextList) {\n      const xStart = getBarX(child.start, totalTicks, rangeMin, pixelsPerTick);\n      const xEnd = getBarX(child.start + child.value, totalTicks, rangeMin, pixelsPerTick);\n      if (xStart <= pos.x && pos.x < xEnd) {\n        next = child;\n        // Check if item is a collapsed item. if so also check if the item is the first collapsed item in the chain,\n        // which we render, or a child which we don't render. If it's a child in the chain then don't increase the\n        // level end effectively skip it.\n        const collapsedConfig = collapsedMap.get(child);\n        if (!collapsedConfig || !collapsedConfig.collapsed || collapsedConfig.items[0] === child) {\n          currentLevel = currentLevel + (direction === 'children' ? 1 : -1);\n        }\n        break;\n      }\n    }\n  }\n\n  return found;\n};\n\nexport default FlameGraphCanvas;\n","import { css } from '@emotion/css';\nimport { memo, ReactNode } from 'react';\n\nimport { getValueFormat, GrafanaTheme2 } from '@grafana/data';\nimport { Icon, IconButton, Tooltip, useStyles2 } from '@grafana/ui';\n\nimport { ClickedItemData } from '../types';\n\nimport { FlameGraphDataContainer } from './dataTransform';\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  totalTicks: number;\n  onFocusPillClick: () => void;\n  onSandwichPillClick: () => void;\n  focusedItem?: ClickedItemData;\n  sandwichedLabel?: string;\n};\n\nconst FlameGraphMetadata = memo(\n  ({ data, focusedItem, totalTicks, sandwichedLabel, onFocusPillClick, onSandwichPillClick }: Props) => {\n    const styles = useStyles2(getStyles);\n    const parts: ReactNode[] = [];\n    const ticksVal = getValueFormat('short')(totalTicks);\n\n    const displayValue = data.valueDisplayProcessor(totalTicks);\n    let unitValue = displayValue.text + displayValue.suffix;\n    const unitTitle = data.getUnitTitle();\n    if (unitTitle === 'Count') {\n      if (!displayValue.suffix) {\n        // Makes sure we don't show 123undefined or something like that if suffix isn't defined\n        unitValue = displayValue.text;\n      }\n    }\n\n    parts.push(\n      <div className={styles.metadataPill} key={'default'}>\n        {unitValue} | {ticksVal.text}\n        {ticksVal.suffix} samples ({unitTitle})\n      </div>\n    );\n\n    if (sandwichedLabel) {\n      parts.push(\n        <Tooltip key={'sandwich'} content={sandwichedLabel} placement=\"top\">\n          <div>\n            <Icon size={'sm'} name={'angle-right'} />\n            <div className={styles.metadataPill}>\n              <Icon size={'sm'} name={'gf-show-context'} />{' '}\n              <span className={styles.metadataPillName}>\n                {sandwichedLabel.substring(sandwichedLabel.lastIndexOf('/') + 1)}\n              </span>\n              <IconButton\n                className={styles.pillCloseButton}\n                name={'times'}\n                size={'sm'}\n                onClick={onSandwichPillClick}\n                tooltip={'Remove sandwich view'}\n                aria-label={'Remove sandwich view'}\n              />\n            </div>\n          </div>\n        </Tooltip>\n      );\n    }\n\n    if (focusedItem) {\n      const percentValue = totalTicks > 0 ? Math.round(10000 * (focusedItem.item.value / totalTicks)) / 100 : 0;\n      const iconName = percentValue > 0 ? 'eye' : 'exclamation-circle';\n\n      parts.push(\n        <Tooltip key={'focus'} content={focusedItem.label} placement=\"top\">\n          <div>\n            <Icon size={'sm'} name={'angle-right'} />\n            <div className={styles.metadataPill}>\n              <Icon size={'sm'} name={iconName} />\n              &nbsp;{percentValue}% of total\n              <IconButton\n                className={styles.pillCloseButton}\n                name={'times'}\n                size={'sm'}\n                onClick={onFocusPillClick}\n                tooltip={'Remove focus'}\n                aria-label={'Remove focus'}\n              />\n            </div>\n          </div>\n        </Tooltip>\n      );\n    }\n\n    return <div className={styles.metadata}>{parts}</div>;\n  }\n);\n\nFlameGraphMetadata.displayName = 'FlameGraphMetadata';\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n  metadataPill: css({\n    label: 'metadataPill',\n    display: 'inline-flex',\n    alignItems: 'center',\n    background: theme.colors.background.secondary,\n    borderRadius: theme.shape.borderRadius(8),\n    padding: theme.spacing(0.5, 1),\n    fontSize: theme.typography.bodySmall.fontSize,\n    fontWeight: theme.typography.fontWeightMedium,\n    lineHeight: theme.typography.bodySmall.lineHeight,\n    color: theme.colors.text.secondary,\n  }),\n  pillCloseButton: css({\n    label: 'pillCloseButton',\n    verticalAlign: 'text-bottom',\n    margin: theme.spacing(0, 0.5),\n  }),\n  metadata: css({\n    display: 'flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    margin: '8px 0',\n  }),\n  metadataPillName: css({\n    label: 'metadataPillName',\n    maxWidth: '200px',\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    marginLeft: theme.spacing(0.5),\n  }),\n});\n\nexport default FlameGraphMetadata;\n","// This component is based on logic from the flamebearer project\n// https://github.com/mapbox/flamebearer\n\n// ISC License\n\n// Copyright (c) 2018, Mapbox\n\n// Permission to use, copy, modify, and/or distribute this software for any purpose\n// with or without fee is hereby granted, provided that the above copyright notice\n// and this permission notice appear in all copies.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n// FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n// OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n// THIS SOFTWARE.\nimport { css, cx } from '@emotion/css';\nimport { useEffect, useState } from 'react';\n\nimport { Icon } from '@grafana/ui';\n\nimport { PIXELS_PER_LEVEL } from '../constants';\nimport { ClickedItemData, ColorScheme, ColorSchemeDiff, SelectedView, TextAlign } from '../types';\n\nimport FlameGraphCanvas from './FlameGraphCanvas';\nimport { GetExtraContextMenuButtonsFunction } from './FlameGraphContextMenu';\nimport FlameGraphMetadata from './FlameGraphMetadata';\nimport { CollapsedMap, FlameGraphDataContainer, LevelItem } from './dataTransform';\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  rangeMin: number;\n  rangeMax: number;\n  matchedLabels?: Set<string>;\n  setRangeMin: (range: number) => void;\n  setRangeMax: (range: number) => void;\n  onItemFocused: (data: ClickedItemData) => void;\n  focusedItemData?: ClickedItemData;\n  textAlign: TextAlign;\n  sandwichItem?: string;\n  onSandwich: (label: string) => void;\n  onFocusPillClick: () => void;\n  onSandwichPillClick: () => void;\n  colorScheme: ColorScheme | ColorSchemeDiff;\n  showFlameGraphOnly?: boolean;\n  getExtraContextMenuButtons?: GetExtraContextMenuButtonsFunction;\n  collapsing?: boolean;\n  selectedView: SelectedView;\n  search: string;\n  collapsedMap: CollapsedMap;\n  setCollapsedMap: (collapsedMap: CollapsedMap) => void;\n};\n\nconst FlameGraph = ({\n  data,\n  rangeMin,\n  rangeMax,\n  matchedLabels,\n  setRangeMin,\n  setRangeMax,\n  onItemFocused,\n  focusedItemData,\n  textAlign,\n  onSandwich,\n  sandwichItem,\n  onFocusPillClick,\n  onSandwichPillClick,\n  colorScheme,\n  showFlameGraphOnly,\n  getExtraContextMenuButtons,\n  collapsing,\n  selectedView,\n  search,\n  collapsedMap,\n  setCollapsedMap,\n}: Props) => {\n  const styles = getStyles();\n\n  const [levels, setLevels] = useState<LevelItem[][]>();\n  const [levelsCallers, setLevelsCallers] = useState<LevelItem[][]>();\n  const [totalProfileTicks, setTotalProfileTicks] = useState<number>(0);\n  const [totalProfileTicksRight, setTotalProfileTicksRight] = useState<number>();\n  const [totalViewTicks, setTotalViewTicks] = useState<number>(0);\n\n  useEffect(() => {\n    if (data) {\n      let levels = data.getLevels();\n      let totalProfileTicks = levels.length ? levels[0][0].value : 0;\n      let totalProfileTicksRight = levels.length ? levels[0][0].valueRight : undefined;\n      let totalViewTicks = totalProfileTicks;\n      let levelsCallers = undefined;\n\n      if (sandwichItem) {\n        const [callers, callees] = data.getSandwichLevels(sandwichItem);\n        levels = callees;\n        levelsCallers = callers;\n        // We need this separate as in case of diff profile we want to compute diff colors based on the original ticks.\n        totalViewTicks = callees[0]?.[0]?.value ?? 0;\n      }\n      setLevels(levels);\n      setLevelsCallers(levelsCallers);\n      setTotalProfileTicks(totalProfileTicks);\n      setTotalProfileTicksRight(totalProfileTicksRight);\n      setTotalViewTicks(totalViewTicks);\n    }\n  }, [data, sandwichItem]);\n\n  if (!levels) {\n    return null;\n  }\n\n  const commonCanvasProps = {\n    data,\n    rangeMin,\n    rangeMax,\n    matchedLabels,\n    setRangeMin,\n    setRangeMax,\n    onItemFocused,\n    focusedItemData,\n    textAlign,\n    onSandwich,\n    colorScheme,\n    totalProfileTicks,\n    totalProfileTicksRight,\n    totalViewTicks,\n    showFlameGraphOnly,\n    collapsedMap,\n    setCollapsedMap,\n    getExtraContextMenuButtons,\n    collapsing,\n    search,\n    selectedView,\n  };\n  let canvas = null;\n\n  if (levelsCallers?.length) {\n    canvas = (\n      <>\n        <div className={styles.sandwichCanvasWrapper}>\n          <div className={styles.sandwichMarker}>\n            Callers\n            <Icon className={styles.sandwichMarkerIcon} name={'arrow-down'} />\n          </div>\n          <FlameGraphCanvas\n            {...commonCanvasProps}\n            root={levelsCallers[levelsCallers.length - 1][0]}\n            depth={levelsCallers.length}\n            direction={'parents'}\n            // We do not support collapsing in sandwich view for now.\n            collapsing={false}\n          />\n        </div>\n\n        <div className={styles.sandwichCanvasWrapper}>\n          <div className={cx(styles.sandwichMarker, styles.sandwichMarkerCalees)}>\n            <Icon className={styles.sandwichMarkerIcon} name={'arrow-up'} />\n            Callees\n          </div>\n          <FlameGraphCanvas\n            {...commonCanvasProps}\n            root={levels[0][0]}\n            depth={levels.length}\n            direction={'children'}\n            collapsing={false}\n          />\n        </div>\n      </>\n    );\n  } else if (levels?.length) {\n    canvas = (\n      <FlameGraphCanvas {...commonCanvasProps} root={levels[0][0]} depth={levels.length} direction={'children'} />\n    );\n  }\n\n  return (\n    <div className={styles.graph}>\n      <FlameGraphMetadata\n        data={data}\n        focusedItem={focusedItemData}\n        sandwichedLabel={sandwichItem}\n        totalTicks={totalViewTicks}\n        onFocusPillClick={onFocusPillClick}\n        onSandwichPillClick={onSandwichPillClick}\n      />\n      {canvas}\n    </div>\n  );\n};\n\nconst getStyles = () => ({\n  graph: css({\n    label: 'graph',\n    overflow: 'auto',\n    flexGrow: 1,\n    flexBasis: '50%',\n  }),\n  sandwichCanvasWrapper: css({\n    label: 'sandwichCanvasWrapper',\n    display: 'flex',\n    marginBottom: `${PIXELS_PER_LEVEL / window.devicePixelRatio}px`,\n  }),\n  sandwichMarker: css({\n    label: 'sandwichMarker',\n    writingMode: 'vertical-lr',\n    transform: 'rotate(180deg)',\n    overflow: 'hidden',\n    whiteSpace: 'nowrap',\n  }),\n  sandwichMarkerCalees: css({\n    label: 'sandwichMarkerCalees',\n    textAlign: 'right',\n  }),\n  sandwichMarkerIcon: css({\n    label: 'sandwichMarkerIcon',\n    verticalAlign: 'baseline',\n  }),\n});\n\nexport default FlameGraph;\n","import { groupBy } from 'lodash';\n\nimport { LevelItem } from './dataTransform';\n\ntype DataInterface = {\n  getLabel: (index: number) => string;\n};\n\n// Merge parent subtree of the roots for the callers tree in the sandwich view of the flame graph.\nexport function mergeParentSubtrees(roots: LevelItem[], data: DataInterface): LevelItem[][] {\n  const newRoots = getParentSubtrees(roots);\n  return mergeSubtrees(newRoots, data, 'parents');\n}\n\n// Returns a subtrees per root that will have the parents resized to the same value as the root. When doing callers\n// tree we need to keep proper sizes of the parents, before we merge them, so we correctly attribute to the parents\n// only the value it contributed to the root.\n// So if we have something like:\n// [0/////////////]\n// [1//][4/////][6]\n// [2]  [5/////]\n// [6]  [6/][8/]\n// [7]\n// Taking all the node with '6' will create:\n// [0][0/]\n// [1][4/]\n// [2][5/][0]\n// [6][6/][6]\n// Which we can later merge.\nfunction getParentSubtrees(roots: LevelItem[]) {\n  return roots.map((r) => {\n    if (!r.parents?.length) {\n      return r;\n    }\n\n    const newRoot = {\n      ...r,\n      children: [],\n    };\n    const stack: Array<{ child: undefined | LevelItem; parent: LevelItem }> = [\n      { child: newRoot, parent: r.parents[0] },\n    ];\n\n    while (stack.length) {\n      const args = stack.shift()!;\n      const newNode = {\n        ...args.parent,\n        children: args.child ? [args.child] : [],\n        parents: [],\n      };\n\n      if (args.child) {\n        newNode.value = args.child.value;\n        args.child.parents = [newNode];\n      }\n\n      if (args.parent.parents?.length) {\n        stack.push({ child: newNode, parent: args.parent.parents[0] });\n      }\n    }\n    return newRoot;\n  });\n}\n\n// Merge subtrees into a single tree. Returns an array of levels for easy rendering. It assumes roots are mergeable,\n// meaning they represent the same unit of work (same label). Then we walk the tree in a specified direction,\n// merging nodes with the same label and same parent/child into single bigger node. This copies the tree (and all nodes)\n// as we are creating new merged nodes and modifying the parents/children.\nexport function mergeSubtrees(\n  roots: LevelItem[],\n  data: DataInterface,\n  direction: 'parents' | 'children' = 'children'\n): LevelItem[][] {\n  const oppositeDirection = direction === 'parents' ? 'children' : 'parents';\n  const levels: LevelItem[][] = [];\n\n  // Loop instead of recursion to be sure we don't blow stack size limit and save some memory. Each stack item is\n  // basically a list of arrays you would pass to each level of recursion.\n  const stack: Array<{ previous: undefined | LevelItem; items: LevelItem[]; level: number }> = [\n    { previous: undefined, items: roots, level: 0 },\n  ];\n\n  while (stack.length) {\n    const args = stack.shift()!;\n    const indexes = args.items.flatMap((i) => i.itemIndexes);\n    const newItem: LevelItem = {\n      // We use the items value instead of value from the data frame, cause we could have changed it in the process\n      value: args.items.reduce((acc, i) => acc + i.value, 0),\n      itemIndexes: indexes,\n      // these will change later\n      children: [],\n      parents: [],\n      start: 0,\n      level: args.level,\n    };\n\n    levels[args.level] = levels[args.level] || [];\n    levels[args.level].push(newItem);\n\n    if (args.previous) {\n      // Not the first level, so we need to make sure we update previous items to keep the child/parent relationships\n      // and compute correct new start offset for the item.\n      newItem[oppositeDirection] = [args.previous];\n      const prevSiblingsVal =\n        args.previous[direction]?.reduce((acc, node) => {\n          return acc + node.value;\n        }, 0) || 0;\n      newItem.start = args.previous.start + prevSiblingsVal;\n      args.previous[direction]!.push(newItem);\n    }\n\n    const nextItems = args.items.flatMap((i) => i[direction] || []);\n    // Group by label which for now is the only identifier by which we decide if node represents the same unit of work.\n    const nextGroups = groupBy(nextItems, (c) => data.getLabel(c.itemIndexes[0]));\n    for (const g of Object.values(nextGroups)) {\n      stack.push({ previous: newItem, items: g, level: args.level + 1 });\n    }\n  }\n\n  // Reverse the levels if we are doing callers tree, so we return levels in the correct order.\n  if (direction === 'parents') {\n    levels.reverse();\n    levels.forEach((level, index) => {\n      level.forEach((item) => {\n        item.level = index;\n      });\n    });\n  }\n\n  return levels;\n}\n","import {\n  createTheme,\n  DataFrame,\n  DisplayProcessor,\n  Field,\n  FieldType,\n  getDisplayProcessor,\n  GrafanaTheme2,\n} from '@grafana/data';\n\nimport { SampleUnit } from '../types';\n\nimport { mergeParentSubtrees, mergeSubtrees } from './treeTransforms';\n\nexport type LevelItem = {\n  // Offset from the start of the level.\n  start: number;\n  // Value here can be different from a value of items in the data frame as for callers tree in sandwich view we have\n  // to trim the value to correspond only to the part used by the children in the subtree.\n  // In case of diff profile this is actually left + right value.\n  value: number;\n  // Only exists for diff profiles.\n  valueRight?: number;\n  // Index into the data frame. It is an array because for sandwich views we may be merging multiple items into single\n  // node.\n  itemIndexes: number[];\n  children: LevelItem[];\n  level: number;\n  parents?: LevelItem[];\n};\n\nexport type CollapseConfig = {\n  items: LevelItem[];\n  collapsed: boolean;\n};\n\n/**\n * Convert data frame with nested set format into array of level. This is mainly done for compatibility with current\n * rendering code.\n */\nexport function nestedSetToLevels(\n  container: FlameGraphDataContainer,\n  options?: Options\n): [LevelItem[][], Record<string, LevelItem[]>, CollapsedMap] {\n  const levels: LevelItem[][] = [];\n  let offset = 0;\n\n  let parent: LevelItem | undefined = undefined;\n  const uniqueLabels: Record<string, LevelItem[]> = Object.create(null);\n\n  for (let i = 0; i < container.data.length; i++) {\n    const currentLevel = container.getLevel(i);\n    const prevLevel = i > 0 ? container.getLevel(i - 1) : undefined;\n\n    levels[currentLevel] = levels[currentLevel] || [];\n\n    if (prevLevel && prevLevel >= currentLevel) {\n      // We are going down a level or staying at the same level, so we are adding a sibling to the last item in a level.\n      // So we have to compute the correct offset based on the last sibling.\n      const lastSibling = levels[currentLevel][levels[currentLevel].length - 1];\n      offset =\n        lastSibling.start +\n        container.getValue(lastSibling.itemIndexes[0]) +\n        container.getValueRight(lastSibling.itemIndexes[0]);\n      // we assume there is always a single root node so lastSibling should always have a parent.\n      // Also it has to have the same parent because of how the items are ordered.\n      parent = lastSibling.parents![0];\n    }\n\n    const newItem: LevelItem = {\n      itemIndexes: [i],\n      value: container.getValue(i) + container.getValueRight(i),\n      valueRight: container.isDiffFlamegraph() ? container.getValueRight(i) : undefined,\n      start: offset,\n      parents: parent && [parent],\n      children: [],\n      level: currentLevel,\n    };\n\n    if (uniqueLabels[container.getLabel(i)]) {\n      uniqueLabels[container.getLabel(i)].push(newItem);\n    } else {\n      uniqueLabels[container.getLabel(i)] = [newItem];\n    }\n\n    if (parent) {\n      parent.children.push(newItem);\n    }\n\n    parent = newItem;\n    levels[currentLevel].push(newItem);\n  }\n\n  const collapsedMapContainer = new CollapsedMapBuilder(options?.collapsingThreshold);\n  if (options?.collapsing) {\n    // We collapse similar items here, where it seems like parent and child are the same thing and so the distinction\n    // isn't that important. We create a map of items that should be collapsed together. We need to do it with complete\n    // tree as we need to know how many children an item has to know if we can collapse it.\n    collapsedMapContainer.addTree(levels[0][0]);\n  }\n\n  return [levels, uniqueLabels, collapsedMapContainer.getCollapsedMap()];\n}\n\n/**\n * Small wrapper around the map of items that should be visually collapsed in the flame graph. Reason this is a wrapper\n * is that we want to make sure that when this is in the state we don't update the map directly but create a new map\n * and to have a place for the methods to collapse/expand either single item or all the items.\n */\nexport class CollapsedMap {\n  // The levelItem used as a key is the item that will always be rendered in the flame graph. The config.items are all\n  // the items that are in the group and if the config.collapsed is true they will be hidden.\n  private map: Map<LevelItem, CollapseConfig> = new Map();\n\n  constructor(map?: Map<LevelItem, CollapseConfig>) {\n    this.map = map || new Map();\n  }\n\n  get(item: LevelItem) {\n    return this.map.get(item);\n  }\n\n  keys() {\n    return this.map.keys();\n  }\n\n  values() {\n    return this.map.values();\n  }\n\n  size() {\n    return this.map.size;\n  }\n\n  setCollapsedStatus(item: LevelItem, collapsed: boolean) {\n    const newMap = new Map(this.map);\n    const collapsedConfig = this.map.get(item)!;\n    const newConfig = { ...collapsedConfig, collapsed };\n    for (const item of collapsedConfig.items) {\n      newMap.set(item, newConfig);\n    }\n    return new CollapsedMap(newMap);\n  }\n\n  setAllCollapsedStatus(collapsed: boolean) {\n    const newMap = new Map(this.map);\n    for (const item of this.map.keys()) {\n      const collapsedConfig = this.map.get(item)!;\n      const newConfig = { ...collapsedConfig, collapsed };\n      newMap.set(item, newConfig);\n    }\n\n    return new CollapsedMap(newMap);\n  }\n}\n\n/**\n * Similar to CollapsedMap but this one is mutable and used during transformation of the dataFrame data into structure\n * we use for rendering. This should not be passed to the React components.\n */\nexport class CollapsedMapBuilder {\n  private map = new Map();\n  private threshold = 0.99;\n\n  constructor(threshold?: number) {\n    if (threshold !== undefined) {\n      this.threshold = threshold;\n    }\n  }\n\n  addTree(root: LevelItem) {\n    const stack = [root];\n    while (stack.length) {\n      const current = stack.shift()!;\n\n      if (current.parents?.length) {\n        this.addItem(current, current.parents[0]);\n      }\n\n      if (current.children.length) {\n        stack.unshift(...current.children);\n      }\n    }\n  }\n\n  // The heuristics here is pretty simple right now. Just check if it's single child and if we are within threshold.\n  // We assume items with small self just aren't too important while we cannot really collapse items with siblings\n  // as it's not clear what to do with said sibling.\n  addItem(item: LevelItem, parent?: LevelItem) {\n    if (parent && item.value > parent.value * this.threshold && parent.children.length === 1) {\n      if (this.map.has(parent)) {\n        const config = this.map.get(parent)!;\n        this.map.set(item, config);\n        config.items.push(item);\n      } else {\n        const config = { items: [parent, item], collapsed: true };\n        this.map.set(parent, config);\n        this.map.set(item, config);\n      }\n    }\n  }\n\n  getCollapsedMap() {\n    return new CollapsedMap(this.map);\n  }\n}\n\nexport function getMessageCheckFieldsResult(wrongFields: CheckFieldsResult) {\n  if (wrongFields.missingFields.length) {\n    return `Data is missing fields: ${wrongFields.missingFields.join(', ')}`;\n  }\n\n  if (wrongFields.wrongTypeFields.length) {\n    return `Data has fields of wrong type: ${wrongFields.wrongTypeFields\n      .map((f) => `${f.name} has type ${f.type} but should be ${f.expectedTypes.join(' or ')}`)\n      .join(', ')}`;\n  }\n\n  return '';\n}\n\nexport type CheckFieldsResult = {\n  wrongTypeFields: Array<{ name: string; expectedTypes: FieldType[]; type: FieldType }>;\n  missingFields: string[];\n};\n\nexport function checkFields(data: DataFrame): CheckFieldsResult | undefined {\n  const fields: Array<[string, FieldType[]]> = [\n    ['label', [FieldType.string, FieldType.enum]],\n    ['level', [FieldType.number]],\n    ['value', [FieldType.number]],\n    ['self', [FieldType.number]],\n  ];\n\n  const missingFields = [];\n  const wrongTypeFields = [];\n\n  for (const field of fields) {\n    const [name, types] = field;\n    const frameField = data?.fields.find((f) => f.name === name);\n    if (!frameField) {\n      missingFields.push(name);\n      continue;\n    }\n    if (!types.includes(frameField.type)) {\n      wrongTypeFields.push({ name, expectedTypes: types, type: frameField.type });\n    }\n  }\n\n  if (missingFields.length > 0 || wrongTypeFields.length > 0) {\n    return {\n      wrongTypeFields,\n      missingFields,\n    };\n  }\n  return undefined;\n}\n\nexport type Options = {\n  collapsing: boolean;\n  collapsingThreshold?: number;\n};\n\nexport class FlameGraphDataContainer {\n  data: DataFrame;\n  options: Options;\n\n  labelField: Field;\n  levelField: Field;\n  valueField: Field;\n  selfField: Field;\n\n  // Optional fields for diff view\n  valueRightField?: Field;\n  selfRightField?: Field;\n\n  labelDisplayProcessor: DisplayProcessor;\n  valueDisplayProcessor: DisplayProcessor;\n  uniqueLabels: string[];\n\n  private levels: LevelItem[][] | undefined;\n  private uniqueLabelsMap: Record<string, LevelItem[]> | undefined;\n  private collapsedMap: CollapsedMap | undefined;\n\n  constructor(data: DataFrame, options: Options, theme: GrafanaTheme2 = createTheme()) {\n    this.data = data;\n    this.options = options;\n\n    const wrongFields = checkFields(data);\n    if (wrongFields) {\n      throw new Error(getMessageCheckFieldsResult(wrongFields));\n    }\n\n    this.labelField = data.fields.find((f) => f.name === 'label')!;\n    this.levelField = data.fields.find((f) => f.name === 'level')!;\n    this.valueField = data.fields.find((f) => f.name === 'value')!;\n    this.selfField = data.fields.find((f) => f.name === 'self')!;\n\n    this.valueRightField = data.fields.find((f) => f.name === 'valueRight')!;\n    this.selfRightField = data.fields.find((f) => f.name === 'selfRight')!;\n\n    if ((this.valueField || this.selfField) && !(this.valueField && this.selfField)) {\n      throw new Error(\n        'Malformed dataFrame: both valueRight and selfRight has to be present if one of them is present.'\n      );\n    }\n\n    const enumConfig = this.labelField?.config?.type?.enum;\n    // Label can actually be an enum field so depending on that we have to access it through display processor. This is\n    // both a backward compatibility but also to allow using a simple dataFrame without enum config. This would allow\n    // users to use this panel with correct query from data sources that do not return profiles natively.\n    if (enumConfig) {\n      this.labelDisplayProcessor = getDisplayProcessor({ field: this.labelField, theme });\n      this.uniqueLabels = enumConfig.text || [];\n    } else {\n      this.labelDisplayProcessor = (value) => ({\n        text: value + '',\n        numeric: 0,\n      });\n      this.uniqueLabels = [...new Set<string>(this.labelField.values)];\n    }\n\n    this.valueDisplayProcessor = getDisplayProcessor({\n      field: this.valueField,\n      theme,\n    });\n  }\n\n  isDiffFlamegraph() {\n    return Boolean(this.valueRightField && this.selfRightField);\n  }\n\n  getLabel(index: number) {\n    return this.labelDisplayProcessor(this.labelField.values[index]).text;\n  }\n\n  getLevel(index: number) {\n    return this.levelField.values[index];\n  }\n\n  getValue(index: number | number[]) {\n    return fieldAccessor(this.valueField, index);\n  }\n\n  getValueRight(index: number | number[]) {\n    return fieldAccessor(this.valueRightField, index);\n  }\n\n  getSelf(index: number | number[]) {\n    return fieldAccessor(this.selfField, index);\n  }\n\n  getSelfRight(index: number | number[]) {\n    return fieldAccessor(this.selfRightField, index);\n  }\n\n  getSelfDisplay(index: number | number[]) {\n    return this.valueDisplayProcessor(this.getSelf(index));\n  }\n\n  getUniqueLabels() {\n    return this.uniqueLabels;\n  }\n\n  getUnitTitle() {\n    switch (this.valueField.config.unit) {\n      case SampleUnit.Bytes:\n        return 'RAM';\n      case SampleUnit.Nanoseconds:\n        return 'Time';\n    }\n\n    return 'Count';\n  }\n\n  getLevels() {\n    this.initLevels();\n    return this.levels!;\n  }\n\n  getSandwichLevels(label: string): [LevelItem[][], LevelItem[][]] {\n    const nodes = this.getNodesWithLabel(label);\n\n    if (!nodes?.length) {\n      return [[], []];\n    }\n\n    const callers = mergeParentSubtrees(nodes, this);\n    const callees = mergeSubtrees(nodes, this);\n\n    return [callers, callees];\n  }\n\n  getNodesWithLabel(label: string) {\n    this.initLevels();\n    return this.uniqueLabelsMap![label];\n  }\n\n  getCollapsedMap() {\n    this.initLevels();\n    return this.collapsedMap!;\n  }\n\n  private initLevels() {\n    if (!this.levels) {\n      const [levels, uniqueLabelsMap, collapsedMap] = nestedSetToLevels(this, this.options);\n      this.levels = levels;\n      this.uniqueLabelsMap = uniqueLabelsMap;\n      this.collapsedMap = collapsedMap;\n    }\n  }\n}\n\n// Access field value with either single index or array of indexes. This is needed as we sometimes merge multiple\n// into one, and we want to access aggregated values.\nfunction fieldAccessor(field: Field | undefined, index: number | number[]) {\n  if (!field) {\n    return 0;\n  }\n  let indexArray: number[] = typeof index === 'number' ? [index] : index;\n  return indexArray.reduce((acc, index) => {\n    return acc + field.values[index];\n  }, 0);\n}\n","import { css, cx } from '@emotion/css';\nimport { useEffect, useState } from 'react';\nimport * as React from 'react';\nimport { useDebounce, usePrevious } from 'react-use';\n\nimport { ChatContextItem, OpenAssistantButton } from '@grafana/assistant';\nimport { GrafanaTheme2, SelectableValue } from '@grafana/data';\nimport { Button, ButtonGroup, Dropdown, Input, Menu, RadioButtonGroup, useStyles2 } from '@grafana/ui';\n\nimport { byPackageGradient, byValueGradient, diffColorBlindGradient, diffDefaultGradient } from './FlameGraph/colors';\nimport { CollapsedMap } from './FlameGraph/dataTransform';\nimport { MIN_WIDTH_TO_SHOW_BOTH_TOPTABLE_AND_FLAMEGRAPH } from './constants';\nimport { ColorScheme, ColorSchemeDiff, SelectedView, TextAlign } from './types';\n\ntype Props = {\n  search: string;\n  setSearch: (search: string) => void;\n  selectedView: SelectedView;\n  setSelectedView: (view: SelectedView) => void;\n  containerWidth: number;\n  onReset: () => void;\n  textAlign: TextAlign;\n  onTextAlignChange: (align: TextAlign) => void;\n  showResetButton: boolean;\n  colorScheme: ColorScheme | ColorSchemeDiff;\n  onColorSchemeChange: (colorScheme: ColorScheme | ColorSchemeDiff) => void;\n  stickyHeader: boolean;\n  vertical?: boolean;\n  isDiffMode: boolean;\n  setCollapsedMap: (collapsedMap: CollapsedMap) => void;\n  collapsedMap: CollapsedMap;\n\n  extraHeaderElements?: React.ReactNode;\n\n  assistantContext?: ChatContextItem[];\n};\n\nconst FlameGraphHeader = ({\n  search,\n  setSearch,\n  selectedView,\n  setSelectedView,\n  containerWidth,\n  onReset,\n  textAlign,\n  onTextAlignChange,\n  showResetButton,\n  colorScheme,\n  onColorSchemeChange,\n  stickyHeader,\n  extraHeaderElements,\n  vertical,\n  isDiffMode,\n  setCollapsedMap,\n  collapsedMap,\n  assistantContext,\n}: Props) => {\n  const styles = useStyles2(getStyles);\n  const [localSearch, setLocalSearch] = useSearchInput(search, setSearch);\n\n  const suffix =\n    localSearch !== '' ? (\n      <Button\n        icon=\"times\"\n        fill=\"text\"\n        size=\"sm\"\n        onClick={() => {\n          // We could set only one and wait them to sync but there is no need to debounce this.\n          setSearch('');\n          setLocalSearch('');\n        }}\n      >\n        Clear\n      </Button>\n    ) : null;\n\n  return (\n    <div className={cx(styles.header, { [styles.stickyHeader]: stickyHeader })}>\n      <div className={styles.inputContainer}>\n        <Input\n          value={localSearch || ''}\n          onChange={(v) => {\n            setLocalSearch(v.currentTarget.value);\n          }}\n          placeholder={'Search...'}\n          suffix={suffix}\n        />\n      </div>\n\n      <div className={styles.rightContainer}>\n        {!!assistantContext?.length && (\n          <div className={styles.buttonSpacing}>\n            <OpenAssistantButton\n              origin=\"grafana/flame-graph\"\n              prompt=\"Analyze this flamegraph by querying the current datasource\"\n              context={assistantContext}\n            />\n          </div>\n        )}\n        {showResetButton && (\n          <Button\n            variant={'secondary'}\n            fill={'outline'}\n            size={'sm'}\n            icon={'history-alt'}\n            tooltip={'Reset focus and sandwich state'}\n            onClick={() => {\n              onReset();\n            }}\n            className={styles.buttonSpacing}\n            aria-label={'Reset focus and sandwich state'}\n          />\n        )}\n        <ColorSchemeButton value={colorScheme} onChange={onColorSchemeChange} isDiffMode={isDiffMode} />\n        <ButtonGroup className={styles.buttonSpacing}>\n          <Button\n            variant={'secondary'}\n            fill={'outline'}\n            size={'sm'}\n            tooltip={'Expand all groups'}\n            onClick={() => {\n              setCollapsedMap(collapsedMap.setAllCollapsedStatus(false));\n            }}\n            aria-label={'Expand all groups'}\n            icon={'angle-double-down'}\n            disabled={selectedView === SelectedView.TopTable}\n          />\n          <Button\n            variant={'secondary'}\n            fill={'outline'}\n            size={'sm'}\n            tooltip={'Collapse all groups'}\n            onClick={() => {\n              setCollapsedMap(collapsedMap.setAllCollapsedStatus(true));\n            }}\n            aria-label={'Collapse all groups'}\n            icon={'angle-double-up'}\n            disabled={selectedView === SelectedView.TopTable}\n          />\n        </ButtonGroup>\n        <RadioButtonGroup<TextAlign>\n          size=\"sm\"\n          disabled={selectedView === SelectedView.TopTable}\n          options={alignOptions}\n          value={textAlign}\n          onChange={onTextAlignChange}\n          className={styles.buttonSpacing}\n        />\n        <RadioButtonGroup<SelectedView>\n          size=\"sm\"\n          options={getViewOptions(containerWidth, vertical)}\n          value={selectedView}\n          onChange={setSelectedView}\n        />\n        {extraHeaderElements && <div className={styles.extraElements}>{extraHeaderElements}</div>}\n      </div>\n    </div>\n  );\n};\n\ntype ColorSchemeButtonProps = {\n  value: ColorScheme | ColorSchemeDiff;\n  onChange: (colorScheme: ColorScheme | ColorSchemeDiff) => void;\n  isDiffMode: boolean;\n};\nfunction ColorSchemeButton(props: ColorSchemeButtonProps) {\n  // TODO: probably create separate getStyles\n  const styles = useStyles2(getStyles);\n  let menu = (\n    <Menu>\n      <Menu.Item label=\"By package name\" onClick={() => props.onChange(ColorScheme.PackageBased)} />\n      <Menu.Item label=\"By value\" onClick={() => props.onChange(ColorScheme.ValueBased)} />\n    </Menu>\n  );\n\n  // Show a bit different gradient as a way to indicate selected value\n  const colorDotStyle =\n    {\n      [ColorScheme.ValueBased]: styles.colorDotByValue,\n      [ColorScheme.PackageBased]: styles.colorDotByPackage,\n      [ColorSchemeDiff.DiffColorBlind]: styles.colorDotDiffColorBlind,\n      [ColorSchemeDiff.Default]: styles.colorDotDiffDefault,\n    }[props.value] || styles.colorDotByValue;\n\n  let contents = <span className={cx(styles.colorDot, colorDotStyle)} />;\n\n  if (props.isDiffMode) {\n    menu = (\n      <Menu>\n        <Menu.Item label=\"Default (green to red)\" onClick={() => props.onChange(ColorSchemeDiff.Default)} />\n        <Menu.Item label=\"Color blind (blue to red)\" onClick={() => props.onChange(ColorSchemeDiff.DiffColorBlind)} />\n      </Menu>\n    );\n\n    contents = (\n      <div className={cx(styles.colorDotDiff, colorDotStyle)}>\n        <div>-100% (removed)</div>\n        <div>0%</div>\n        <div>+100% (added)</div>\n      </div>\n    );\n  }\n\n  return (\n    <Dropdown overlay={menu}>\n      <Button\n        variant={'secondary'}\n        fill={'outline'}\n        size={'sm'}\n        tooltip={'Change color scheme'}\n        onClick={() => {}}\n        className={styles.buttonSpacing}\n        aria-label={'Change color scheme'}\n      >\n        {contents}\n      </Button>\n    </Dropdown>\n  );\n}\n\nconst alignOptions: Array<SelectableValue<TextAlign>> = [\n  { value: 'left', description: 'Align text left', icon: 'align-left' },\n  { value: 'right', description: 'Align text right', icon: 'align-right' },\n];\n\nfunction getViewOptions(width: number, vertical?: boolean): Array<SelectableValue<SelectedView>> {\n  let viewOptions: Array<{ value: SelectedView; label: string; description: string }> = [\n    { value: SelectedView.TopTable, label: 'Top Table', description: 'Only show top table' },\n    { value: SelectedView.FlameGraph, label: 'Flame Graph', description: 'Only show flame graph' },\n  ];\n\n  if (width >= MIN_WIDTH_TO_SHOW_BOTH_TOPTABLE_AND_FLAMEGRAPH || vertical) {\n    viewOptions.push({\n      value: SelectedView.Both,\n      label: 'Both',\n      description: 'Show both the top table and flame graph',\n    });\n  }\n\n  return viewOptions;\n}\n\nfunction useSearchInput(\n  search: string,\n  setSearch: (search: string) => void\n): [string | undefined, (search: string) => void] {\n  const [localSearchState, setLocalSearchState] = useState(search);\n  const prevSearch = usePrevious(search);\n\n  // Debouncing cause changing parent search triggers rerender on both the flamegraph and table\n  useDebounce(\n    () => {\n      setSearch(localSearchState);\n    },\n    250,\n    [localSearchState]\n  );\n\n  // Make sure we still handle updates from parent (from clicking on a table item for example). We check if the parent\n  // search value changed to something that isn't our local value.\n  useEffect(() => {\n    if (prevSearch !== search && search !== localSearchState) {\n      setLocalSearchState(search);\n    }\n  }, [search, prevSearch, localSearchState]);\n\n  return [localSearchState, setLocalSearchState];\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n  header: css({\n    label: 'header',\n    display: 'flex',\n    flexWrap: 'wrap',\n    justifyContent: 'space-between',\n    width: '100%',\n    top: 0,\n    gap: theme.spacing(1),\n    marginTop: theme.spacing(1),\n  }),\n  stickyHeader: css({\n    zIndex: theme.zIndex.navbarFixed,\n    position: 'sticky',\n    background: theme.colors.background.primary,\n  }),\n  inputContainer: css({\n    label: 'inputContainer',\n    flexGrow: 1,\n    minWidth: '150px',\n    maxWidth: '350px',\n  }),\n  rightContainer: css({\n    label: 'rightContainer',\n    display: 'flex',\n    alignItems: 'flex-start',\n    flexWrap: 'wrap',\n  }),\n  buttonSpacing: css({\n    label: 'buttonSpacing',\n    marginRight: theme.spacing(1),\n  }),\n  resetButton: css({\n    label: 'resetButton',\n    display: 'flex',\n    marginRight: theme.spacing(2),\n  }),\n  resetButtonIconWrapper: css({\n    label: 'resetButtonIcon',\n    padding: '0 5px',\n    color: theme.colors.text.disabled,\n  }),\n  colorDot: css({\n    label: 'colorDot',\n    display: 'inline-block',\n    width: '10px',\n    height: '10px',\n    borderRadius: theme.shape.radius.circle,\n  }),\n  colorDotDiff: css({\n    label: 'colorDotDiff',\n    display: 'flex',\n    width: '200px',\n    height: '12px',\n    color: 'white',\n    fontSize: 9,\n    lineHeight: 1.3,\n    fontWeight: 300,\n    justifyContent: 'space-between',\n    padding: '0 2px',\n    // We have a specific sizing for this so probably makes sense to use hardcoded value here\n    // eslint-disable-next-line @grafana/no-border-radius-literal\n    borderRadius: '2px',\n  }),\n  colorDotByValue: css({\n    label: 'colorDotByValue',\n    background: byValueGradient,\n  }),\n  colorDotByPackage: css({\n    label: 'colorDotByPackage',\n    background: byPackageGradient,\n  }),\n  colorDotDiffDefault: css({\n    label: 'colorDotDiffDefault',\n    background: diffDefaultGradient,\n  }),\n  colorDotDiffColorBlind: css({\n    label: 'colorDotDiffColorBlind',\n    background: diffColorBlindGradient,\n  }),\n  extraElements: css({\n    label: 'extraElements',\n    marginLeft: theme.spacing(1),\n  }),\n});\n\nexport default FlameGraphHeader;\n","import { css } from '@emotion/css';\nimport { memo, useMemo, useState } from 'react';\nimport AutoSizer from 'react-virtualized-auto-sizer';\n\nimport {\n  applyFieldOverrides,\n  DataFrame,\n  DataLinkClickEvent,\n  Field,\n  FieldType,\n  GrafanaTheme2,\n  MappingType,\n  escapeStringForRegex,\n} from '@grafana/data';\nimport {\n  IconButton,\n  Table,\n  TableCellDisplayMode,\n  TableCustomCellOptions,\n  TableFieldOptions,\n  TableSortByFieldState,\n  useStyles2,\n  useTheme2,\n} from '@grafana/ui';\n\nimport { diffColorBlindColors, diffDefaultColors } from '../FlameGraph/colors';\nimport { FlameGraphDataContainer } from '../FlameGraph/dataTransform';\nimport { TOP_TABLE_COLUMN_WIDTH } from '../constants';\nimport { ColorScheme, ColorSchemeDiff, TableData } from '../types';\n\ntype Props = {\n  data: FlameGraphDataContainer;\n  onSymbolClick: (symbol: string) => void;\n  // This is used for highlighting the search button in case there is exact match.\n  search?: string;\n  // We use these to filter out rows in the table if users is doing text search.\n  matchedLabels?: Set<string>;\n  sandwichItem?: string;\n  onSearch: (str: string) => void;\n  onSandwich: (str?: string) => void;\n  onTableSort?: (sort: string) => void;\n  colorScheme: ColorScheme | ColorSchemeDiff;\n};\n\nconst FlameGraphTopTableContainer = memo(\n  ({\n    data,\n    onSymbolClick,\n    search,\n    matchedLabels,\n    onSearch,\n    sandwichItem,\n    onSandwich,\n    onTableSort,\n    colorScheme,\n  }: Props) => {\n    const table = useMemo(() => buildFilteredTable(data, matchedLabels), [data, matchedLabels]);\n\n    const styles = useStyles2(getStyles);\n    const theme = useTheme2();\n\n    const [sort, setSort] = useState<TableSortByFieldState[]>([{ displayName: 'Self', desc: true }]);\n\n    return (\n      <div className={styles.topTableContainer} data-testid=\"topTable\">\n        <AutoSizer style={{ width: '100%' }}>\n          {({ width, height }) => {\n            if (width < 3 || height < 3) {\n              return null;\n            }\n\n            const frame = buildTableDataFrame(\n              data,\n              table,\n              width,\n              onSymbolClick,\n              onSearch,\n              onSandwich,\n              theme,\n              colorScheme,\n              search,\n              sandwichItem\n            );\n            return (\n              <Table\n                initialSortBy={sort}\n                onSortByChange={(s) => {\n                  if (s && s.length) {\n                    onTableSort?.(s[0].displayName + '_' + (s[0].desc ? 'desc' : 'asc'));\n                  }\n                  setSort(s);\n                }}\n                data={frame}\n                width={width}\n                height={height}\n              />\n            );\n          }}\n        </AutoSizer>\n      </div>\n    );\n  }\n);\n\nFlameGraphTopTableContainer.displayName = 'FlameGraphTopTableContainer';\n\nfunction buildFilteredTable(data: FlameGraphDataContainer, matchedLabels?: Set<string>) {\n  // Group the data by label, we show only one row per label and sum the values\n  // TODO: should be by filename + funcName + linenumber?\n  let filteredTable: { [key: string]: TableData } = Object.create(null);\n\n  // Track call stack to detect recursive calls\n  const callStack: string[] = [];\n\n  for (let i = 0; i < data.data.length; i++) {\n    const value = data.getValue(i);\n    const valueRight = data.getValueRight(i);\n    const self = data.getSelf(i);\n    const label = data.getLabel(i);\n    const level = data.getLevel(i);\n\n    // Maintain call stack based on level changes\n    while (callStack.length > level) {\n      callStack.pop();\n    }\n\n    // Check if this is a recursive call (same label already in call stack)\n    const isRecursive = callStack.some((entry) => entry === label);\n\n    // If user is doing text search we filter out labels in the same way we highlight them in flame graph.\n    if (!matchedLabels || matchedLabels.has(label)) {\n      filteredTable[label] = filteredTable[label] || {};\n      filteredTable[label].self = filteredTable[label].self ? filteredTable[label].self + self : self;\n\n      // Only add to total if this is not a recursive call\n      if (!isRecursive) {\n        filteredTable[label].total = filteredTable[label].total ? filteredTable[label].total + value : value;\n        filteredTable[label].totalRight = filteredTable[label].totalRight\n          ? filteredTable[label].totalRight + valueRight\n          : valueRight;\n      }\n    }\n\n    // Add current call to the stack\n    callStack.push(label);\n  }\n  return filteredTable;\n}\n\nfunction buildTableDataFrame(\n  data: FlameGraphDataContainer,\n  table: { [key: string]: TableData },\n  width: number,\n  onSymbolClick: (str: string) => void,\n  onSearch: (str: string) => void,\n  onSandwich: (str?: string) => void,\n  theme: GrafanaTheme2,\n  colorScheme: ColorScheme | ColorSchemeDiff,\n  search?: string,\n  sandwichItem?: string\n): DataFrame {\n  const actionField: Field = createActionField(onSandwich, onSearch, search, sandwichItem);\n\n  const symbolField: Field = {\n    type: FieldType.string,\n    name: 'Symbol',\n    values: [],\n    config: {\n      custom: { width: width - actionColumnWidth - TOP_TABLE_COLUMN_WIDTH * 2 },\n      links: [\n        {\n          title: 'Highlight symbol',\n          url: '',\n          onClick: (e: DataLinkClickEvent) => {\n            const field: Field = e.origin.field;\n            const value = field.values[e.origin.rowIndex];\n            onSymbolClick(value);\n          },\n        },\n      ],\n    },\n  };\n\n  let frame;\n\n  if (data.isDiffFlamegraph()) {\n    symbolField.config.custom.width = width - actionColumnWidth - TOP_TABLE_COLUMN_WIDTH * 3;\n\n    const baselineField = createNumberField('Baseline', 'percent');\n    const comparisonField = createNumberField('Comparison', 'percent');\n    const diffField = createNumberField('Diff', 'percent');\n    diffField.config.custom.cellOptions.type = TableCellDisplayMode.ColorText;\n\n    const [removeColor, addColor] =\n      colorScheme === ColorSchemeDiff.DiffColorBlind\n        ? [diffColorBlindColors[0], diffColorBlindColors[2]]\n        : [diffDefaultColors[0], diffDefaultColors[2]];\n\n    diffField.config.mappings = [\n      { type: MappingType.ValueToText, options: { [Infinity]: { text: 'new', color: addColor } } },\n      { type: MappingType.ValueToText, options: { [-100]: { text: 'removed', color: removeColor } } },\n      { type: MappingType.RangeToText, options: { from: 0, to: Infinity, result: { color: addColor } } },\n      { type: MappingType.RangeToText, options: { from: -Infinity, to: 0, result: { color: removeColor } } },\n    ];\n\n    // For this we don't really consider sandwich view even though you can switch it on.\n    const levels = data.getLevels();\n    const totalTicks = levels.length ? levels[0][0].value : 0;\n    const totalTicksRight = levels.length ? levels[0][0].valueRight : undefined;\n\n    for (let key in table) {\n      actionField.values.push(null);\n      symbolField.values.push(key);\n\n      const ticksLeft = table[key].total;\n      const ticksRight = table[key].totalRight;\n\n      // We are iterating over table of the data so totalTicksRight needs to be defined\n      const totalTicksLeft = totalTicks - totalTicksRight!;\n\n      const percentageLeft = Math.round((10000 * ticksLeft) / totalTicksLeft) / 100;\n      const percentageRight = Math.round((10000 * ticksRight) / totalTicksRight!) / 100;\n\n      const diff = ((percentageRight - percentageLeft) / percentageLeft) * 100;\n\n      diffField.values.push(diff);\n      baselineField.values.push(percentageLeft);\n      comparisonField.values.push(percentageRight);\n    }\n\n    frame = {\n      fields: [actionField, symbolField, baselineField, comparisonField, diffField],\n      length: symbolField.values.length,\n    };\n  } else {\n    const selfField = createNumberField('Self', data.selfField.config.unit);\n    const totalField = createNumberField('Total', data.valueField.config.unit);\n\n    for (let key in table) {\n      actionField.values.push(null);\n      symbolField.values.push(key);\n      selfField.values.push(table[key].self);\n      totalField.values.push(table[key].total);\n    }\n\n    frame = { fields: [actionField, symbolField, selfField, totalField], length: symbolField.values.length };\n  }\n\n  const dataFrames = applyFieldOverrides({\n    data: [frame],\n    fieldConfig: {\n      defaults: {},\n      overrides: [],\n    },\n    replaceVariables: (value: string) => value,\n    theme,\n  });\n\n  return dataFrames[0];\n}\n\nfunction createNumberField(name: string, unit?: string): Field {\n  const tableFieldOptions: TableFieldOptions = {\n    width: TOP_TABLE_COLUMN_WIDTH,\n    align: 'auto',\n    inspect: false,\n    cellOptions: { type: TableCellDisplayMode.Auto },\n  };\n\n  return {\n    type: FieldType.number,\n    name,\n    values: [],\n    config: {\n      unit,\n      custom: tableFieldOptions,\n    },\n  };\n}\n\nconst actionColumnWidth = 61;\n\nfunction createActionField(\n  onSandwich: (str?: string) => void,\n  onSearch: (str: string) => void,\n  search?: string,\n  sandwichItem?: string\n): Field {\n  const options: TableCustomCellOptions = {\n    type: TableCellDisplayMode.Custom,\n    cellComponent: (props) => {\n      return (\n        <ActionCell\n          frame={props.frame}\n          onSandwich={onSandwich}\n          onSearch={onSearch}\n          search={search}\n          sandwichItem={sandwichItem}\n          rowIndex={props.rowIndex}\n        />\n      );\n    },\n  };\n\n  const actionFieldTableConfig: TableFieldOptions = {\n    filterable: false,\n    width: actionColumnWidth,\n    hideHeader: true,\n    inspect: false,\n    align: 'auto',\n    cellOptions: options,\n  };\n\n  return {\n    type: FieldType.number,\n    name: 'actions',\n    values: [],\n    config: {\n      custom: actionFieldTableConfig,\n    },\n  };\n}\n\ntype ActionCellProps = {\n  frame: DataFrame;\n  rowIndex: number;\n  search?: string;\n  sandwichItem?: string;\n  onSearch: (symbol: string) => void;\n  onSandwich: (symbol: string) => void;\n};\n\nfunction ActionCell(props: ActionCellProps) {\n  const styles = getStylesActionCell();\n  const symbol = props.frame.fields.find((f: Field) => f.name === 'Symbol')?.values[props.rowIndex];\n  const isSearched = props.search === `^${escapeStringForRegex(String(symbol))}$`;\n  const isSandwiched = props.sandwichItem === symbol;\n\n  return (\n    <div className={styles.actionCellWrapper}>\n      <IconButton\n        className={styles.actionCellButton}\n        name={'search'}\n        variant={isSearched ? 'primary' : 'secondary'}\n        tooltip={isSearched ? 'Clear from search' : 'Search for symbol'}\n        aria-label={isSearched ? 'Clear from search' : 'Search for symbol'}\n        onClick={() => {\n          props.onSearch(isSearched ? '' : symbol);\n        }}\n      />\n      <IconButton\n        className={styles.actionCellButton}\n        name={'gf-show-context'}\n        tooltip={isSandwiched ? 'Remove from sandwich view' : 'Show in sandwich view'}\n        variant={isSandwiched ? 'primary' : 'secondary'}\n        aria-label={isSandwiched ? 'Remove from sandwich view' : 'Show in sandwich view'}\n        onClick={() => {\n          props.onSandwich(isSandwiched ? undefined : symbol);\n        }}\n      />\n    </div>\n  );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => {\n  return {\n    topTableContainer: css({\n      label: 'topTableContainer',\n      padding: theme.spacing(1),\n      backgroundColor: theme.colors.background.secondary,\n      height: '100%',\n    }),\n  };\n};\n\nconst getStylesActionCell = () => {\n  return {\n    actionCellWrapper: css({\n      label: 'actionCellWrapper',\n      display: 'flex',\n      height: '24px',\n    }),\n    actionCellButton: css({\n      label: 'actionCellButton',\n      marginRight: 0,\n      width: '24px',\n    }),\n  };\n};\n\nexport { buildFilteredTable };\n\nexport default FlameGraphTopTableContainer;\n","import { ChatContextItem } from '@grafana/assistant';\nimport { DataFrame } from '@grafana/data';\n\nexport function getAssistantContextFromDataFrame(data: DataFrame): ChatContextItem[] {\n  return data.meta?.custom?.assistantContext || [];\n}\n","import { css } from '@emotion/css';\nimport uFuzzy from '@leeoniya/ufuzzy';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport * as React from 'react';\nimport { useMeasure } from 'react-use';\n\nimport { DataFrame, GrafanaTheme2, escapeStringForRegex } from '@grafana/data';\nimport { ThemeContext } from '@grafana/ui';\n\nimport FlameGraph from './FlameGraph/FlameGraph';\nimport { GetExtraContextMenuButtonsFunction } from './FlameGraph/FlameGraphContextMenu';\nimport { CollapsedMap, FlameGraphDataContainer } from './FlameGraph/dataTransform';\nimport FlameGraphHeader from './FlameGraphHeader';\nimport FlameGraphTopTableContainer from './TopTable/FlameGraphTopTableContainer';\nimport { MIN_WIDTH_TO_SHOW_BOTH_TOPTABLE_AND_FLAMEGRAPH } from './constants';\nimport { ClickedItemData, ColorScheme, ColorSchemeDiff, SelectedView, TextAlign } from './types';\nimport { getAssistantContextFromDataFrame } from './utils';\n\nconst ufuzzy = new uFuzzy();\n\nexport type Props = {\n  /**\n   * DataFrame with the profile data. The dataFrame needs to have the following fields:\n   * label: string - the label of the node\n   * level: number - the nesting level of the node\n   * value: number - the total value of the node\n   * self: number - the self value of the node\n   * Optionally if it represents diff of 2 different profiles it can also have fields:\n   * valueRight: number - the total value of the node in the right profile\n   * selfRight: number - the self value of the node in the right profile\n   */\n  data?: DataFrame;\n\n  /**\n   * Whether the header should be sticky and be always visible on the top when scrolling.\n   */\n  stickyHeader?: boolean;\n\n  /**\n   * Provides a theme for the visualization on which colors and some sizes are based.\n   */\n  getTheme: () => GrafanaTheme2;\n\n  /**\n   * Various interaction hooks that can be used to report on the interaction.\n   */\n  onTableSymbolClick?: (symbol: string) => void;\n  onViewSelected?: (view: string) => void;\n  onTextAlignSelected?: (align: string) => void;\n  onTableSort?: (sort: string) => void;\n\n  /**\n   * Elements that will be shown in the header on the right side of the header buttons. Useful for additional\n   * functionality.\n   */\n  extraHeaderElements?: React.ReactNode;\n\n  /**\n   * Extra buttons that will be shown in the context menu when user clicks on a Node.\n   */\n  getExtraContextMenuButtons?: GetExtraContextMenuButtonsFunction;\n\n  /**\n   * If true the flamegraph will be rendered on top of the table.\n   */\n  vertical?: boolean;\n\n  /**\n   * If true only the flamegraph will be rendered.\n   */\n  showFlameGraphOnly?: boolean;\n\n  /**\n   * Disable behaviour where similar items in the same stack will be collapsed into single item.\n   */\n  disableCollapsing?: boolean;\n  /**\n   * Whether or not to keep any focused item when the profile data changes.\n   */\n  keepFocusOnDataChange?: boolean;\n\n  /**\n   * If true, the assistant button will be shown in the header if available.\n   * This is needed mainly for Profiles Drilldown where in some cases we need to hide the button to show alternative\n   * option to use AI.\n   * @default true\n   */\n  showAnalyzeWithAssistant?: boolean;\n};\n\nconst FlameGraphContainer = ({\n  data,\n  onTableSymbolClick,\n  onViewSelected,\n  onTextAlignSelected,\n  onTableSort,\n  getTheme,\n  stickyHeader,\n  extraHeaderElements,\n  vertical,\n  showFlameGraphOnly,\n  disableCollapsing,\n  keepFocusOnDataChange,\n  getExtraContextMenuButtons,\n  showAnalyzeWithAssistant = true,\n}: Props) => {\n  const [focusedItemData, setFocusedItemData] = useState<ClickedItemData>();\n\n  const [rangeMin, setRangeMin] = useState(0);\n  const [rangeMax, setRangeMax] = useState(1);\n  const [search, setSearch] = useState('');\n  const [selectedView, setSelectedView] = useState(SelectedView.Both);\n  const [sizeRef, { width: containerWidth }] = useMeasure<HTMLDivElement>();\n  const [textAlign, setTextAlign] = useState<TextAlign>('left');\n  // This is a label of the item because in sandwich view we group all items by label and present a merged graph\n  const [sandwichItem, setSandwichItem] = useState<string>();\n  const [collapsedMap, setCollapsedMap] = useState(new CollapsedMap());\n\n  const theme = useMemo(() => getTheme(), [getTheme]);\n  const dataContainer = useMemo((): FlameGraphDataContainer | undefined => {\n    if (!data) {\n      return;\n    }\n\n    const container = new FlameGraphDataContainer(data, { collapsing: !disableCollapsing }, theme);\n    setCollapsedMap(container.getCollapsedMap());\n    return container;\n  }, [data, theme, disableCollapsing]);\n  const [colorScheme, setColorScheme] = useColorScheme(dataContainer);\n  const styles = getStyles(theme);\n  const matchedLabels = useLabelSearch(search, dataContainer);\n\n  // If user resizes window with both as the selected view\n  useEffect(() => {\n    if (\n      containerWidth > 0 &&\n      containerWidth < MIN_WIDTH_TO_SHOW_BOTH_TOPTABLE_AND_FLAMEGRAPH &&\n      selectedView === SelectedView.Both &&\n      !vertical\n    ) {\n      setSelectedView(SelectedView.FlameGraph);\n    }\n  }, [selectedView, setSelectedView, containerWidth, vertical]);\n\n  const resetFocus = useCallback(() => {\n    setFocusedItemData(undefined);\n    setRangeMin(0);\n    setRangeMax(1);\n  }, [setFocusedItemData, setRangeMax, setRangeMin]);\n\n  const resetSandwich = useCallback(() => {\n    setSandwichItem(undefined);\n  }, [setSandwichItem]);\n\n  useEffect(() => {\n    if (!keepFocusOnDataChange) {\n      resetFocus();\n      resetSandwich();\n      return;\n    }\n\n    if (dataContainer && focusedItemData) {\n      const item = dataContainer.getNodesWithLabel(focusedItemData.label)?.[0];\n\n      if (item) {\n        setFocusedItemData({ ...focusedItemData, item });\n\n        const levels = dataContainer.getLevels();\n        const totalViewTicks = levels.length ? levels[0][0].value : 0;\n        setRangeMin(item.start / totalViewTicks);\n        setRangeMax((item.start + item.value) / totalViewTicks);\n      } else {\n        setFocusedItemData({\n          ...focusedItemData,\n          item: {\n            start: 0,\n            value: 0,\n            itemIndexes: [],\n            children: [],\n            level: 0,\n          },\n        });\n\n        setRangeMin(0);\n        setRangeMax(1);\n      }\n    }\n  }, [dataContainer, keepFocusOnDataChange]); // eslint-disable-line react-hooks/exhaustive-deps\n\n  const onSymbolClick = useCallback(\n    (symbol: string) => {\n      const anchored = `^${escapeStringForRegex(symbol)}$`;\n\n      if (search === anchored) {\n        setSearch('');\n      } else {\n        onTableSymbolClick?.(symbol);\n        setSearch(anchored);\n        resetFocus();\n      }\n    },\n    [setSearch, resetFocus, onTableSymbolClick, search]\n  );\n\n  if (!dataContainer) {\n    return null;\n  }\n\n  const flameGraph = (\n    <FlameGraph\n      data={dataContainer}\n      rangeMin={rangeMin}\n      rangeMax={rangeMax}\n      matchedLabels={matchedLabels}\n      setRangeMin={setRangeMin}\n      setRangeMax={setRangeMax}\n      onItemFocused={(data) => setFocusedItemData(data)}\n      focusedItemData={focusedItemData}\n      textAlign={textAlign}\n      sandwichItem={sandwichItem}\n      onSandwich={(label: string) => {\n        resetFocus();\n        setSandwichItem(label);\n      }}\n      onFocusPillClick={resetFocus}\n      onSandwichPillClick={resetSandwich}\n      colorScheme={colorScheme}\n      showFlameGraphOnly={showFlameGraphOnly}\n      collapsing={!disableCollapsing}\n      getExtraContextMenuButtons={getExtraContextMenuButtons}\n      selectedView={selectedView}\n      search={search}\n      collapsedMap={collapsedMap}\n      setCollapsedMap={setCollapsedMap}\n    />\n  );\n\n  const table = (\n    <FlameGraphTopTableContainer\n      data={dataContainer}\n      onSymbolClick={onSymbolClick}\n      search={search}\n      matchedLabels={matchedLabels}\n      sandwichItem={sandwichItem}\n      onSandwich={setSandwichItem}\n      onSearch={(str) => {\n        if (!str) {\n          setSearch('');\n          return;\n        }\n        setSearch(`^${escapeStringForRegex(str)}$`);\n      }}\n      onTableSort={onTableSort}\n      colorScheme={colorScheme}\n    />\n  );\n\n  let body;\n  if (showFlameGraphOnly || selectedView === SelectedView.FlameGraph) {\n    body = flameGraph;\n  } else if (selectedView === SelectedView.TopTable) {\n    body = <div className={styles.tableContainer}>{table}</div>;\n  } else if (selectedView === SelectedView.Both) {\n    if (vertical) {\n      body = (\n        <div>\n          <div className={styles.verticalGraphContainer}>{flameGraph}</div>\n          <div className={styles.verticalTableContainer}>{table}</div>\n        </div>\n      );\n    } else {\n      body = (\n        <div className={styles.horizontalContainer}>\n          <div className={styles.horizontalTableContainer}>{table}</div>\n          <div className={styles.horizontalGraphContainer}>{flameGraph}</div>\n        </div>\n      );\n    }\n  }\n\n  return (\n    // We add the theme context to bridge the gap if this is rendered in non grafana environment where the context\n    // isn't already provided.\n    <ThemeContext.Provider value={theme}>\n      <div ref={sizeRef} className={styles.container}>\n        {!showFlameGraphOnly && (\n          <FlameGraphHeader\n            search={search}\n            setSearch={setSearch}\n            selectedView={selectedView}\n            setSelectedView={(view) => {\n              setSelectedView(view);\n              onViewSelected?.(view);\n            }}\n            containerWidth={containerWidth}\n            onReset={() => {\n              resetFocus();\n              resetSandwich();\n            }}\n            textAlign={textAlign}\n            onTextAlignChange={(align) => {\n              setTextAlign(align);\n              onTextAlignSelected?.(align);\n            }}\n            showResetButton={Boolean(focusedItemData || sandwichItem)}\n            colorScheme={colorScheme}\n            onColorSchemeChange={setColorScheme}\n            stickyHeader={Boolean(stickyHeader)}\n            extraHeaderElements={extraHeaderElements}\n            vertical={vertical}\n            isDiffMode={dataContainer.isDiffFlamegraph()}\n            setCollapsedMap={setCollapsedMap}\n            collapsedMap={collapsedMap}\n            assistantContext={data && showAnalyzeWithAssistant ? getAssistantContextFromDataFrame(data) : undefined}\n          />\n        )}\n\n        <div className={styles.body}>{body}</div>\n      </div>\n    </ThemeContext.Provider>\n  );\n};\n\nfunction useColorScheme(dataContainer: FlameGraphDataContainer | undefined) {\n  const defaultColorScheme = dataContainer?.isDiffFlamegraph() ? ColorSchemeDiff.Default : ColorScheme.PackageBased;\n  const [colorScheme, setColorScheme] = useState<ColorScheme | ColorSchemeDiff>(defaultColorScheme);\n\n  // This makes sure that if we change the data to/from diff profile we reset the color scheme.\n  useEffect(() => {\n    setColorScheme(defaultColorScheme);\n  }, [defaultColorScheme]);\n\n  return [colorScheme, setColorScheme] as const;\n}\n\n/**\n * Based on the search string it does a fuzzy search over all the unique labels, so we can highlight them later.\n */\nexport function useLabelSearch(\n  search: string | undefined,\n  data: FlameGraphDataContainer | undefined\n): Set<string> | undefined {\n  return useMemo(() => {\n    if (!search || !data) {\n      // In this case undefined means there was no search so no attempt to\n      // highlighting anything should be made.\n      return undefined;\n    }\n\n    return labelSearch(search, data);\n  }, [search, data]);\n}\n\nexport function labelSearch(search: string, data: FlameGraphDataContainer): Set<string> {\n  const foundLabels = new Set<string>();\n  const terms = search.split(',');\n\n  const regexFilter = (labels: string[], pattern: string): boolean => {\n    let regex: RegExp;\n    try {\n      regex = new RegExp(pattern);\n    } catch (e) {\n      return false;\n    }\n\n    let foundMatch = false;\n    for (let label of labels) {\n      if (!regex.test(label)) {\n        continue;\n      }\n\n      foundLabels.add(label);\n      foundMatch = true;\n    }\n    return foundMatch;\n  };\n\n  const fuzzyFilter = (labels: string[], term: string): boolean => {\n    let idxs = ufuzzy.filter(labels, term);\n    if (!idxs) {\n      return false;\n    }\n\n    let foundMatch = false;\n    for (let idx of idxs) {\n      foundLabels.add(labels[idx]);\n      foundMatch = true;\n    }\n    return foundMatch;\n  };\n\n  for (let term of terms) {\n    if (!term) {\n      continue;\n    }\n\n    const found = regexFilter(data.getUniqueLabels(), term);\n    if (!found) {\n      fuzzyFilter(data.getUniqueLabels(), term);\n    }\n  }\n\n  return foundLabels;\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n  return {\n    container: css({\n      label: 'container',\n      overflow: 'auto',\n      height: '100%',\n      display: 'flex',\n      flex: '1 1 0',\n      flexDirection: 'column',\n      minHeight: 0,\n      gap: theme.spacing(1),\n    }),\n    body: css({\n      label: 'body',\n      flexGrow: 1,\n    }),\n\n    tableContainer: css({\n      // This is not ideal for dashboard panel where it creates a double scroll. In a panel it should be 100% but then\n      // in explore we need a specific height.\n      height: 800,\n    }),\n\n    horizontalContainer: css({\n      label: 'horizontalContainer',\n      display: 'flex',\n      minHeight: 0,\n      flexDirection: 'row',\n      columnGap: theme.spacing(1),\n      width: '100%',\n    }),\n\n    horizontalGraphContainer: css({\n      flexBasis: '50%',\n    }),\n\n    horizontalTableContainer: css({\n      flexBasis: '50%',\n      maxHeight: 800,\n    }),\n\n    verticalGraphContainer: css({\n      marginBottom: theme.spacing(1),\n    }),\n\n    verticalTableContainer: css({\n      height: 800,\n    }),\n  };\n}\n\nexport default FlameGraphContainer;\n","import { DataFrameDTO } from '@grafana/data';\n\nexport const data: DataFrameDTO = {\n  name: 'response',\n  refId: 'A',\n  // @ts-ignore\n  meta: { preferredVisualisationType: 'flamegraph' },\n  fields: [\n    {\n      name: 'level',\n      values: [\n        0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 12, 13, 14, 15, 16, 10, 11, 12, 13, 9, 10, 9, 9, 7, 7, 6, 5, 6, 7,\n        8, 8, 9, 10, 11, 12, 13, 8, 9, 10, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 11, 12,\n        13, 8, 8, 7, 8, 8, 7, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 9, 8, 8, 7, 8, 6, 7, 8, 8, 7, 6, 7, 8,\n        8, 8, 9, 10, 11, 12, 4, 5, 6, 7, 8, 9, 9, 10, 11, 9, 10, 7, 4, 5, 6, 7, 8, 8, 7, 8, 9, 10, 11, 12, 13, 10, 10,\n        11, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 5, 6, 7, 6, 7, 6, 5, 6, 6, 6, 6, 5, 6, 7, 6, 5, 6, 7, 8, 4, 5,\n        6, 5, 6, 5, 4, 5, 5, 3, 4, 5, 6, 7, 7, 8, 7, 8, 9, 8, 9, 8, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n        14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 24, 25, 26, 24, 25, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n        32, 21, 22, 23, 24, 25, 26, 27, 26, 24, 25, 26, 25, 24, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 25, 26,\n        27, 25, 26, 24, 23, 24, 24, 25, 23, 23, 22, 23, 24, 24, 23, 24, 25, 26, 24, 25, 23, 24, 24, 25, 23, 23, 24, 24,\n        23, 23, 23, 23, 23, 24, 25, 22, 23, 24, 25, 22, 23, 24, 25, 26, 27, 28, 25, 26, 27, 28, 29, 24, 22, 23, 24, 25,\n        26, 27, 28, 29, 30, 31, 32, 33, 21, 22, 23, 23, 24, 24, 24, 22, 23, 24, 25, 24, 23, 24, 24, 23, 22, 23, 24, 25,\n        25, 26, 27, 24, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 24, 21, 22, 23, 24, 25, 26, 27, 28, 21, 22, 19, 20,\n        21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 24, 25, 26, 27, 28, 23, 24, 25, 26, 27, 28, 19, 20,\n        21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,\n        31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 31, 30, 28, 29, 30, 31, 32, 33, 34,\n        35, 36, 37, 29, 30, 31, 26, 27, 28, 28, 28, 29, 27, 26, 27, 26, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 30,\n        31, 32, 33, 34, 33, 34, 35, 36, 37, 38, 39, 29, 30, 31, 32, 32, 27, 28, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n        36, 37, 38, 39, 40, 27, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 28, 27, 28, 28, 29, 27, 27, 28, 27, 27, 26,\n        27, 28, 28, 29, 29, 29, 26, 27, 27, 28, 29, 30, 29, 30, 30, 29, 30, 31, 28, 29, 30, 28, 28, 28, 28, 29, 30, 29,\n        30, 27, 28, 28, 26, 27, 26, 27, 27, 28, 29, 26, 27, 28, 29, 28, 27, 28, 29, 30, 30, 28, 29, 30, 31, 32, 32, 27,\n        28, 26, 25, 25, 26, 27, 28, 29, 30, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n        48, 31, 30, 31, 32, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 29, 26, 27, 28,\n        29, 30, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 30, 29, 29, 29, 25, 26, 27, 28, 26,\n        26, 27, 28, 27, 28, 28, 26, 27, 28, 28, 27, 28, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 25, 26, 27, 28, 25,\n        26, 24, 25, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 34, 34, 32, 33, 34, 34, 32, 28, 29, 30, 31, 27,\n        28, 29, 26, 27, 28, 29, 30, 31, 32, 33, 34, 26, 27, 28, 29, 24, 25, 26, 27, 28, 29, 30, 27, 28, 26, 27, 25, 26,\n        27, 28, 29, 26, 25, 26, 27, 26, 27, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38, 39, 30, 31, 32, 26, 27,\n        28, 27, 28, 29, 25, 26, 27, 28, 29, 30, 31, 32, 28, 29, 28, 29, 28, 29, 27, 28, 29, 30, 31, 29, 30, 31, 32, 33,\n        34, 35, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 28, 29, 30, 31, 28, 29, 30, 31, 26, 25, 26, 27, 28, 29,\n        27, 28, 29, 30, 25, 26, 15, 14, 15, 16, 17, 13, 14, 15, 16, 15, 16, 17, 18, 19, 20, 12, 13, 14, 15, 16, 17, 10,\n        11, 12, 13, 14, 12, 13, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 7, 8, 9, 2, 3, 1, 2, 3, 4, 5, 6,\n        6, 6, 6, 7, 8, 8, 9, 6, 7, 6, 6, 6, 6, 5, 5, 6, 5, 5, 5, 5, 5, 6, 7, 4, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9, 1, 2,\n        3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 1, 2, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 5,\n        5, 6, 7, 4, 5, 6, 4, 2, 3, 4, 3, 4, 5, 6, 5, 5, 6, 4, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n        2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n        23, 16, 17, 18, 19, 16, 17, 18, 19, 20, 21, 22, 23, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n        23, 8, 9, 10, 11, 12, 13, 14, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4,\n      ],\n    },\n    {\n      name: 'value',\n      values: [\n        16460000000, 4100000000, 4100000000, 3670000000, 1130000000, 1060000000, 1020000000, 150000000, 150000000,\n        50000000, 30000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 80000000, 40000000, 10000000, 10000000, 530000000, 80000000, 40000000, 70000000,\n        50000000, 50000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000,\n        390000000, 390000000, 180000000, 70000000, 50000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 20000000, 10000000, 10000000, 10000000, 110000000, 80000000, 60000000,\n        10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        20000000, 10000000, 10000000, 30000000, 20000000, 40000000, 30000000, 20000000, 10000000, 10000000, 40000000,\n        40000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 210000000, 210000000, 210000000,\n        130000000, 130000000, 10000000, 50000000, 40000000, 40000000, 70000000, 10000000, 40000000, 1840000000,\n        240000000, 240000000, 50000000, 10000000, 10000000, 190000000, 130000000, 50000000, 20000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 80000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 60000000, 10000000, 1330000000, 1290000000, 320000000, 10000000,\n        10000000, 10000000, 130000000, 10000000, 10000000, 60000000, 30000000, 100000000, 40000000, 10000000, 10000000,\n        40000000, 30000000, 10000000, 10000000, 70000000, 10000000, 10000000, 50000000, 40000000, 10000000, 30000000,\n        20000000, 10000000, 430000000, 430000000, 430000000, 430000000, 10000000, 40000000, 20000000, 370000000,\n        20000000, 10000000, 180000000, 10000000, 30000000, 10000000, 10000000, 10000000, 5630000000, 5580000000,\n        5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5540000000, 5540000000,\n        5530000000, 5510000000, 5500000000, 5490000000, 5490000000, 1610000000, 1610000000, 1540000000, 1540000000,\n        190000000, 170000000, 170000000, 10000000, 20000000, 120000000, 10000000, 10000000, 20000000, 20000000,\n        20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 850000000, 350000000, 300000000, 120000000, 110000000, 80000000, 20000000, 10000000, 80000000,\n        40000000, 20000000, 10000000, 10000000, 50000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000,\n        20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 370000000, 40000000, 20000000, 10000000, 100000000,\n        10000000, 10000000, 10000000, 30000000, 30000000, 80000000, 20000000, 10000000, 10000000, 10000000, 40000000,\n        10000000, 10000000, 10000000, 20000000, 10000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 110000000, 110000000, 60000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 480000000, 150000000, 10000000, 130000000, 10000000, 10000000,\n        50000000, 140000000, 80000000, 40000000, 10000000, 10000000, 20000000, 10000000, 10000000, 20000000, 120000000,\n        60000000, 40000000, 10000000, 10000000, 10000000, 10000000, 20000000, 30000000, 30000000, 20000000, 20000000,\n        20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 60000000, 60000000, 60000000, 60000000,\n        30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 30000000, 30000000, 30000000, 30000000,\n        30000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 3880000000, 3880000000, 3880000000,\n        3880000000, 3870000000, 3230000000, 3230000000, 3210000000, 320000000, 70000000, 70000000, 40000000, 40000000,\n        20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000,\n        30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000,\n        20000000, 20000000, 70000000, 60000000, 20000000, 30000000, 10000000, 10000000, 10000000, 100000000, 20000000,\n        50000000, 1850000000, 410000000, 110000000, 110000000, 90000000, 60000000, 60000000, 40000000, 20000000,\n        20000000, 20000000, 30000000, 30000000, 30000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000,\n        20000000, 20000000, 10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 30000000, 20000000, 10000000,\n        40000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 40000000, 10000000, 80000000, 30000000, 30000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 20000000, 60000000, 30000000, 30000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 160000000, 120000000, 20000000, 100000000, 50000000, 10000000, 10000000,\n        640000000, 10000000, 550000000, 410000000, 80000000, 60000000, 260000000, 20000000, 170000000, 60000000,\n        30000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 20000000, 50000000, 40000000, 10000000,\n        10000000, 10000000, 70000000, 30000000, 40000000, 290000000, 90000000, 30000000, 10000000, 10000000, 10000000,\n        10000000, 210000000, 20000000, 10000000, 10000000, 10000000, 120000000, 90000000, 90000000, 60000000, 10000000,\n        30000000, 30000000, 30000000, 30000000, 10000000, 20000000, 50000000, 10000000, 10000000, 10000000, 280000000,\n        150000000, 150000000, 150000000, 60000000, 30000000, 80000000, 50000000, 20000000, 20000000, 20000000, 20000000,\n        20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 130000000, 130000000, 130000000, 70000000, 30000000, 30000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 40000000, 10000000, 590000000, 20000000,\n        20000000, 10000000, 40000000, 150000000, 30000000, 30000000, 120000000, 10000000, 80000000, 370000000,\n        260000000, 40000000, 150000000, 110000000, 90000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 70000000, 60000000,\n        20000000, 20000000, 640000000, 640000000, 250000000, 250000000, 230000000, 180000000, 170000000, 170000000,\n        170000000, 170000000, 50000000, 10000000, 40000000, 10000000, 10000000, 60000000, 60000000, 10000000, 30000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 50000000, 50000000, 20000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 390000000,\n        60000000, 40000000, 30000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 30000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 90000000, 10000000, 10000000, 60000000, 10000000, 40000000,\n        40000000, 40000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        180000000, 170000000, 50000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 30000000, 30000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 90000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 70000000, 70000000,\n        70000000, 70000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000,\n        20000000, 20000000, 20000000, 10000000, 40000000, 40000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000, 10000000, 6190000000, 6170000000,\n        6170000000, 6070000000, 4460000000, 10000000, 50000000, 440000000, 540000000, 20000000, 10000000, 10000000,\n        10000000, 980000000, 10000000, 50000000, 480000000, 540000000, 50000000, 210000000, 30000000, 30000000,\n        60000000, 180000000, 10000000, 210000000, 20000000, 20000000, 20000000, 100000000, 20000000, 20000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 40000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000,\n        20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 170000000, 160000000, 70000000, 30000000,\n        10000000, 40000000, 10000000, 170000000, 90000000, 90000000, 70000000, 20000000, 10000000, 30000000, 30000000,\n        30000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 80000000,\n        10000000, 10000000, 70000000, 60000000, 10000000, 10000000, 20000000, 20000000, 20000000, 10000000, 80000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000,\n        20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 50000000, 50000000, 50000000, 50000000, 50000000,\n        50000000, 50000000, 10000000, 10000000, 10000000, 60000000, 60000000, 60000000, 60000000, 60000000, 60000000,\n        60000000, 40000000, 40000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n        10000000, 10000000,\n      ],\n      config: {\n        unit: 'short',\n      },\n    },\n    {\n      name: 'self',\n      values: [\n        16460, 4100, 4100, 3670, 1130, 1060, 1020, 150, 150, 50, 30, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 80,\n        40, 10, 10, 530, 80, 40, 70, 50, 50, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n        10, 390, 390, 180, 70, 50, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 110, 80, 60, 10, 20, 20, 20,\n        10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 30, 20, 40, 30, 20, 10, 10, 40, 40, 10, 10, 10, 10, 10, 10, 10, 210,\n        210, 210, 130, 130, 10, 50, 40, 40, 70, 10, 40, 1840, 240, 240, 50, 10, 10, 190, 130, 50, 20, 10, 10, 10, 10,\n        10, 10, 80, 20, 10, 10, 10, 10, 10, 10, 10, 10, 60, 10, 1330, 1290, 320, 10, 10, 10, 130, 10, 10, 60, 30, 100,\n        40, 10, 10, 40, 30, 10, 10, 70, 10, 10, 50, 40, 10, 30, 20, 10, 430, 430, 430, 430, 10, 40, 20, 370, 20, 10,\n        180, 10, 30, 10, 10, 10, 5630, 5580, 5580, 5580, 5580, 5580, 5580, 5580, 5580, 5540, 5540, 5530, 5510, 5500,\n        5490, 5490, 1610, 1610, 1540, 1540, 190, 170, 170, 10, 20, 120, 10, 10, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 850, 350, 300, 120, 110, 80, 20, 10, 80, 40, 20, 10, 10, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 20, 20, 20, 20, 10, 10, 10, 10, 10, 370, 40, 20, 10, 100, 10, 10, 10, 30, 30, 80, 20, 10,\n        10, 10, 40, 10, 10, 10, 20, 10, 20, 10, 10, 10, 10, 10, 10, 10, 110, 110, 60, 20, 20, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 480, 150, 10, 130, 10, 10, 50, 140, 80, 40, 10, 10, 20,\n        10, 10, 20, 120, 60, 40, 10, 10, 10, 10, 20, 30, 30, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 60, 60, 60, 60, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 30,\n        30, 30, 30, 30, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3880, 3880, 3880, 3880,\n        3870, 3230, 3230, 3210, 320, 70, 70, 40, 40, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 20, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 70, 60, 20, 30, 10, 10, 10, 100, 20, 50,\n        1850, 410, 110, 110, 90, 60, 60, 40, 20, 20, 20, 30, 30, 30, 10, 10, 20, 20, 20, 20, 20, 20, 10, 20, 20, 20, 10,\n        10, 30, 20, 10, 40, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 80, 30, 30, 10, 10, 10, 10, 10,\n        10, 10, 20, 60, 30, 30, 10, 10, 10, 10, 10, 10, 160, 120, 20, 100, 50, 10, 10, 640, 10, 550, 410, 80, 60, 260,\n        20, 170, 60, 30, 20, 20, 20, 10, 10, 10, 20, 50, 40, 10, 10, 10, 70, 30, 40, 290, 90, 30, 10, 10, 10, 10, 210,\n        20, 10, 10, 10, 120, 90, 90, 60, 10, 30, 30, 30, 30, 10, 20, 50, 10, 10, 10, 280, 150, 150, 150, 60, 30, 80, 50,\n        20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 130, 130, 130, 70, 30, 30, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 590, 20, 20, 10, 40, 150, 30, 30, 120, 10, 80, 370, 260, 40,\n        150, 110, 90, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 70, 60, 20, 20, 640, 640, 250, 250,\n        230, 180, 170, 170, 170, 170, 50, 10, 40, 10, 10, 60, 60, 10, 30, 10, 10, 10, 10, 10, 50, 50, 20, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 390, 60, 40, 30, 20, 20, 10, 10, 10, 10, 10, 30, 10, 10, 10, 10, 10, 90,\n        10, 10, 60, 10, 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 30, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10, 180,\n        170, 50, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 30, 30, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 90, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 70, 70, 70, 70, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 10, 10, 10, 10,\n        10, 20, 20, 20, 20, 20, 10, 40, 40, 10, 10, 10, 10, 10, 30, 30, 30, 30, 30, 30, 10, 10, 6190, 6170, 6170, 6070,\n        4460, 10, 50, 440, 540, 20, 10, 10, 10, 980, 10, 50, 480, 540, 50, 210, 30, 30, 60, 180, 10, 210, 20, 20, 20,\n        100, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20,\n        10, 10, 10, 10, 10, 170, 160, 70, 30, 10, 40, 10, 170, 90, 90, 70, 20, 10, 30, 30, 30, 30, 10, 10, 10, 10, 10,\n        10, 10, 10, 80, 10, 10, 70, 60, 10, 10, 20, 20, 20, 10, 80, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20,\n        20, 20, 20, 20, 50, 50, 50, 50, 50, 50, 50, 10, 10, 10, 60, 60, 60, 60, 60, 60, 60, 40, 40, 30, 30, 30, 30, 30,\n        30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n        10, 10, 10, 10,\n      ],\n      config: {\n        unit: 'short',\n      },\n    },\n    {\n      name: 'label',\n      values: [\n        'total',\n        'test/pkg/agent.(*Target).start.func1',\n        'test/pkg/agent.(*Target).scrape',\n        'test/pkg/distributor.(*Distributor).Push',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.(*compressor).write',\n        'compress/flate.(*compressor).deflate',\n        'compress/flate.(*compressor).writeBlock',\n        'compress/flate.(*huffmanBitWriter).writeBlock',\n        'compress/flate.(*huffmanBitWriter).indexTokens',\n        'compress/flate.(*huffmanEncoder).generate',\n        'compress/flate.(*huffmanEncoder).bitCounts',\n        'runtime.memmove',\n        'compress/flate.(*huffmanEncoder).assignEncodingAndSize',\n        'sort.Sort',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.insertionSort',\n        'compress/flate.(*byFreq).sort',\n        'sort.Sort',\n        'sort.quickSort',\n        'sort.doPivot',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'compress/flate.offsetCode',\n        'compress/flate.(*huffmanBitWriter).dynamicSize',\n        'compress/flate.(*compressor).findMatch',\n        'compress/flate.matchLen',\n        'compress/flate.hash4',\n        'compress/flate.NewWriter',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.heapBitsSetType',\n        'runtime.heapBitsSetTypeGCProg',\n        'runtime.runGCProg',\n        'compress/flate.(*compressor).initDeflate',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.pageIndexOf',\n        'test/pkg/pprof.OpenRaw',\n        'test/pkg/gen/google/v1.(*Profile).UnmarshalVT',\n        'test/pkg/gen/google/v1.(*Sample).UnmarshalVT',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).uncacheSpan',\n        'runtime.(*spanSet).push',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.(*mcentral).grow',\n        'runtime.(*mheap).alloc',\n        'runtime.getMCache',\n        'runtime.nextFreeFast',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'runtime.mallocgc',\n        'runtime.growslice',\n        'test/pkg/gen/google/v1.(*Location).UnmarshalVT',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.heapBitsForAddr',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.(*mcentral).grow',\n        'runtime.(*mheap).alloc',\n        'runtime.systemstack',\n        'runtime.(*mheap).alloc.func1',\n        'runtime.(*mheap).allocSpan',\n        'runtime.(*mheap).allocMSpanLocked',\n        'runtime.(*fixalloc).alloc',\n        'runtime.heapBitsSetType',\n        'runtime.nextFreeFast',\n        'runtime.getMCache',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.memclrNoHeapPointers',\n        'runtime.memmove',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.memclrNoHeapPointers',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).uncacheSpan',\n        'runtime.(*spanSet).push',\n        'runtime.(*headTailIndex).incTail',\n        'compress/gzip.(*Writer).Close',\n        'compress/flate.(*compressor).close',\n        'compress/flate.(*compressor).deflate',\n        'compress/flate.(*compressor).writeBlock',\n        'compress/flate.(*huffmanBitWriter).writeBlock',\n        'compress/flate.offsetCode',\n        'compress/flate.(*huffmanBitWriter).indexTokens',\n        'compress/flate.(*huffmanEncoder).generate',\n        'compress/flate.(*huffmanEncoder).bitCounts',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'compress/flate.(*compressor).findMatch',\n        'test/pkg/pprof.(*Profile).Normalize',\n        'sort.Sort',\n        'sort.quickSort',\n        'sort.doPivot',\n        'test/pkg/pprof.(*sortedSample).Less',\n        'test/pkg/pprof.(*sortedSample).Swap',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.quickSort',\n        'sort.insertionSort',\n        'test/pkg/pprof.(*sortedSample).Less',\n        'sort.doPivot',\n        'sort.insertionSort',\n        'test/pkg/pprof.(*sortedSample).Swap',\n        'sort.doPivot',\n        'test/pkg/pprof.(*sortedSample).Less',\n        'test/pkg/pprof.(*sortedSample).Swap',\n        'runtime.gcWriteBarrierR8',\n        'runtime.gcWriteBarrier',\n        'runtime.wbBufFlush',\n        'runtime.systemstack',\n        'runtime.wbBufFlush.func1',\n        'runtime.wbBufFlush1',\n        'runtime.findObject',\n        'sort.doPivot',\n        'test/pkg/pprof.(*sortedSample).Less',\n        'test/pkg/pprof.(*Profile).clearSampleReferences',\n        'test/pkg/slices.RemoveInPlace[...]',\n        'test/pkg/pprof.(*Profile).clearSampleReferences.func1',\n        'runtime.growslice',\n        'runtime.memmove',\n        'runtime.memmove',\n        'test/pkg/pprof.StacktracesHasher.Hashes',\n        'github.com/cespare/xxhash/v2.round',\n        'github.com/cespare/xxhash/v2.(*Digest).Sum64',\n        'github.com/cespare/xxhash/v2.(*Digest).Write',\n        'github.com/cespare/xxhash/v2.u64',\n        'github.com/samber/lo.Uniq[...]',\n        'runtime.mapaccess2_fast64',\n        'runtime.memhash64',\n        'runtime.bucketMask',\n        'test/pkg/slices.RemoveInPlace[...]',\n        'test/pkg/pprof.(*Profile).Normalize.func1',\n        'test/pkg/slices.RemoveInPlace[...]',\n        'test/pkg/pprof.(*Profile).Normalize.func1.1',\n        'test/pkg/gen/google/v1.(*Profile).MarshalToVT',\n        'test/pkg/gen/google/v1.(*Profile).MarshalToSizedBufferVT',\n        'test/pkg/gen/google/v1.(*Sample).MarshalToSizedBufferVT',\n        'test/pkg/gen/google/v1.(*Profile).SizeVT',\n        'test/pkg/gen/google/v1.(*Sample).SizeVT',\n        'test/pkg/gen/google/v1.encodeVarint',\n        'test/pkg/gen/google/v1.(*Profile).SizeVT',\n        'test/pkg/gen/google/v1.(*Location).SizeVT',\n        'test/pkg/gen/google/v1.(*Sample).SizeVT',\n        'io/ioutil.ReadAll',\n        'io.ReadAll',\n        'compress/gzip.(*Reader).Read',\n        'compress/flate.(*decompressor).Read',\n        'runtime.memmove',\n        'compress/flate.(*dictDecoder).tryWriteCopy',\n        'runtime.memmove',\n        'compress/flate.(*decompressor).huffmanBlock',\n        'compress/flate.(*dictDecoder).writeCopy',\n        'runtime.memmove',\n        'compress/flate.(*decompressor).huffSym',\n        'bytes.(*Reader).ReadByte',\n        'compress/flate.(*decompressor).moreBits',\n        'compress/flate.(*decompressor).nextBlock',\n        'compress/flate.(*decompressor).huffmanBlock',\n        'compress/flate.(*decompressor).moreBits',\n        'net/http.(*conn).serve',\n        'net/http.serverHandler.ServeHTTP',\n        'net/http.HandlerFunc.ServeHTTP',\n        'test/pkg/util.glob..func1.1',\n        'golang.org/x/net/http2/h2c.h2cHandler.ServeHTTP',\n        'net/http.HandlerFunc.ServeHTTP',\n        'test/pkg/create.(*create).initServer.func2.1',\n        'net/http.HandlerFunc.ServeHTTP',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.MiddlewareFunc.func5',\n        'net/http.HandlerFunc.ServeHTTP',\n        'github.com/weaveworks/common/middleware.Log.Wrap.func1',\n        'net/http.HandlerFunc.ServeHTTP',\n        'github.com/weaveworks/common/middleware.Instrument.Wrap.func1',\n        'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics',\n        'github.com/weaveworks/common/middleware.Instrument.Wrap.func1.2',\n        'github.com/gorilla/mux.(*Router).ServeHTTP',\n        'github.com/bufbuild/connect-go.(*Handler).ServeHTTP',\n        'github.com/bufbuild/connect-go.NewUnaryHandler[...].func1',\n        'github.com/bufbuild/connect-go.NewUnaryHandler[...].func1.1',\n        'test/pkg/ingester.(*Ingester).Push',\n        'io.ReadAll',\n        'github.com/klauspost/compress/gzip.(*Reader).Read',\n        'github.com/klauspost/compress/flate.(*decompressor).Read',\n        'github.com/klauspost/compress/flate.(*dictDecoder).tryWriteCopy',\n        'github.com/klauspost/compress/flate.(*dictDecoder).writeByte',\n        'github.com/klauspost/compress/flate.(*decompressor).huffmanBytesReader',\n        'github.com/klauspost/compress/flate.(*dictDecoder).writeCopy',\n        'runtime.memmove',\n        'github.com/klauspost/compress/flate.(*decompressor).nextBlock',\n        'github.com/klauspost/compress/flate.(*decompressor).huffmanBytesReader',\n        'runtime.growslice',\n        'runtime.memmove',\n        'runtime.mallocgc',\n        'runtime.(*mcache).allocLarge',\n        'runtime.(*mheap).alloc',\n        'runtime.systemstack',\n        'runtime.(*mheap).alloc.func1',\n        'runtime.(*mheap).allocSpan',\n        'runtime.(*pageAlloc).alloc',\n        'runtime.(*pageAlloc).allocRange',\n        'runtime.(*pageAlloc).update',\n        'runtime.(*pallocBits).summarize',\n        'test/pkg/create.(*Head).Ingest',\n        'test/pkg/create.(*Head).convertSamples',\n        'test/pkg/create.(*deduplicatingSlice[...]).ingest',\n        'test/pkg/create.(*stacktracesHelper).rewrite',\n        'test/pkg/create.idConversionTable.rewriteUint64',\n        'runtime.mapaccess2_fast64',\n        'runtime.memhash64',\n        'runtime.add',\n        'test/pkg/create.(*stacktracesHelper).key',\n        'github.com/cespare/xxhash/v2.(*Digest).Write',\n        'runtime.memmove',\n        'github.com/cespare/xxhash/v2.round',\n        'runtime.mapaccess2_fast64',\n        'runtime.mapassign_fast64',\n        'runtime.hashGrow',\n        'runtime.makeBucketArray',\n        'runtime.newarray',\n        'runtime.mallocgc',\n        'runtime.profilealloc',\n        'runtime.mProf_Malloc',\n        'runtime.callers',\n        'runtime.systemstack',\n        'runtime.callers.func1',\n        'runtime.gentraceback',\n        'runtime.findfunc',\n        'runtime.(*hmap).newoverflow',\n        'runtime.growslice',\n        'runtime.releasem',\n        'runtime.growWork_fast64',\n        'runtime.evacuate_fast64',\n        'encoding/binary.littleEndian.PutUint64',\n        'runtime.newobject',\n        'runtime.acquirem',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'test/pkg/create.(*labelCache).rewriteLabels',\n        'runtime.mapaccess1_fast64',\n        'test/pkg/create.(*deduplicatingSlice[...]).ingest',\n        'runtime.mapaccess2_faststr',\n        'aeshashbody',\n        'memeqbody',\n        'runtime.mapassign_fast64',\n        'runtime.(*hmap).newoverflow',\n        'runtime.growslice',\n        'runtime.nextFreeFast',\n        'runtime.growWork_fast64',\n        'runtime.evacuate_fast64',\n        'runtime.mapaccess2',\n        'memeqbody',\n        'runtime.memhash_varlen',\n        'aeshashbody',\n        'runtime.evacuated',\n        'test/pkg/create.(*locationsHelper).key',\n        'github.com/cespare/xxhash/v2.(*Digest).Sum64',\n        'github.com/cespare/xxhash/v2.(*Digest).Write',\n        'runtime.bucketShift',\n        'test/pkg/create.(*stringsHelper).addToRewriter',\n        'encoding/binary.littleEndian.PutUint64',\n        'runtime.add',\n        'test/pkg/create.(*locationsHelper).rewrite',\n        'test/pkg/create.idConversionTable.rewriteUint64',\n        'runtime.mapaccess2_fast64',\n        'github.com/prometheus/client_golang/prometheus.(*CounterVec).WithLabelValues',\n        'github.com/prometheus/client_golang/prometheus.(*MetricVec).GetMetricWithLabelValues',\n        'github.com/prometheus/client_golang/prometheus.(*MetricVec).hashLabelValues',\n        'github.com/prometheus/client_golang/prometheus.hashAdd',\n        'test/pkg/create.(*deltaProfiles).computeDelta',\n        'test/pkg/create.deltaSamples',\n        'runtime.mapassign_fast64',\n        'runtime.growWork_fast64',\n        'runtime.evacuate_fast64',\n        'runtime.typedmemmove',\n        'runtime.bulkBarrierPreWrite',\n        'runtime.hashGrow',\n        'runtime.makeBucketArray',\n        'runtime.newarray',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.mapaccess2_fast64',\n        'test/pkg/create.copySlice[...]',\n        'runtime.mallocgc',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.(*mcentral).grow',\n        'runtime.(*mheap).alloc',\n        'runtime.systemstack',\n        'runtime.(*mheap).alloc.func1',\n        'runtime.(*mheap).allocSpan',\n        'runtime.(*mheap).allocMSpanLocked',\n        'runtime.(*fixalloc).alloc',\n        'test/pkg/gen/google/v1.(*Profile).UnmarshalVT',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'runtime.mallocgc',\n        'runtime.add1',\n        'runtime.heapBitsForAddr',\n        'runtime.heapBitsSetType',\n        'test/pkg/gen/google/v1.(*Location).UnmarshalVT',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.nextFreeFast',\n        'runtime.newobject',\n        'runtime.getMCache',\n        'runtime.mallocgc',\n        'runtime.roundupsize',\n        'test/pkg/gen/google/v1.(*Sample).UnmarshalVT',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.acquirem',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.profilealloc',\n        'runtime.mProf_Malloc',\n        'runtime.callers',\n        'runtime.systemstack',\n        'runtime.callers.func1',\n        'runtime.gentraceback',\n        'runtime.pcdatavalue',\n        'runtime.pcvalue',\n        'runtime.step',\n        'runtime.memclrNoHeapPointers',\n        'github.com/go-kit/log.(*context).Log',\n        'github.com/go-kit/log.bindValues',\n        'github.com/go-kit/log.Caller.func1',\n        'runtime.Caller',\n        'runtime.(*Frames).Next',\n        'runtime.funcline1',\n        'runtime.pcvalue',\n        'runtime.readvarint',\n        'test/pkg/gen/google/v1.(*Profile).ReturnToVTPool',\n        'test/pkg/gen/google/v1.(*Profile).ResetVT',\n        'github.com/bufbuild/connect-go.(*errorTranslatingSender).Send',\n        'github.com/bufbuild/connect-go.(*connectUnaryHandlerSender).Send',\n        'github.com/bufbuild/connect-go.(*connectUnaryMarshaler).Marshal',\n        'github.com/bufbuild/connect-go.(*compressionPool).Compress',\n        'github.com/bufbuild/connect-go.(*compressionPool).putCompressor',\n        'compress/gzip.(*Writer).Close',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.NewWriter',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.spanOf',\n        'compress/gzip.(*Writer).Reset',\n        'compress/gzip.(*Writer).init',\n        'compress/flate.(*Writer).Reset',\n        'compress/flate.(*compressor).reset',\n        'runtime.memclrNoHeapPointers',\n        'github.com/bufbuild/connect-go.(*compressionPool).getCompressor',\n        'compress/gzip.(*Writer).Reset',\n        'compress/gzip.(*Writer).init',\n        'compress/flate.(*Writer).Reset',\n        'compress/flate.(*compressor).reset',\n        'runtime.memclrNoHeapPointers',\n        'github.com/bufbuild/connect-go.receiveUnaryRequest[...]',\n        'github.com/bufbuild/connect-go.(*errorTranslatingReceiver).Receive',\n        'github.com/bufbuild/connect-go.(*connectUnaryHandlerReceiver).Receive',\n        'github.com/bufbuild/connect-go.(*connectUnaryUnmarshaler).UnmarshalFunc',\n        'bytes.(*Buffer).ReadFrom',\n        'github.com/weaveworks/common/middleware.(*reqBody).Read',\n        'net/http.(*body).Read',\n        'net/http.(*body).readLocked',\n        'net/http/internal.(*chunkedReader).Read',\n        'bufio.(*Reader).Read',\n        'net/http.(*connReader).Read',\n        'net.(*conn).Read',\n        'net.(*netFD).Read',\n        'syscall.Read',\n        'syscall.read',\n        'syscall.Syscall',\n        'net/http.(*ServeMux).ServeHTTP',\n        'net/http.HandlerFunc.ServeHTTP',\n        'net/http/pprof.Index',\n        'net/http/pprof.handler.ServeHTTP',\n        'runtime/pprof.(*Profile).WriteTo',\n        'runtime/pprof.writeAlloc',\n        'runtime/pprof.writeHeapInternal',\n        'runtime/pprof.writeHeapProto',\n        'runtime/pprof.(*profileBuilder).pbSample',\n        'runtime/pprof.(*profileBuilder).flush',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.(*compressor).write',\n        'compress/flate.(*compressor).encSpeed',\n        'compress/flate.(*huffmanBitWriter).writeBlockDynamic',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'github.com/felixge/httpsnoop.(*rw).Write',\n        'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics.func2.1',\n        'github.com/weaveworks/common/middleware.(*badResponseLoggingWriter).Write',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.(*statusCodeTracker).Write',\n        'net/http.(*response).Write',\n        'net/http.(*response).write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.(*chunkWriter).Write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.checkConnErrorWriter.Write',\n        'net.(*conn).Write',\n        'net.(*netFD).Write',\n        'internal/poll.(*FD).Write',\n        'syscall.write',\n        'syscall.Syscall',\n        'compress/flate.token.length',\n        'compress/flate.(*deflateFast).encode',\n        'compress/flate.NewWriter',\n        'compress/flate.(*compressor).init',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime/pprof.writeHeapProto.func1',\n        'runtime/pprof.(*profileBuilder).pbLabel',\n        'runtime.mapaccess2_faststr',\n        'runtime/pprof.(*protobuf).int64Opt',\n        'runtime/pprof.(*protobuf).endMessage',\n        'runtime.memmove',\n        'runtime/pprof.(*protobuf).startMessage',\n        'runtime/pprof.(*protobuf).uint64s',\n        'runtime.memmove',\n        'runtime/pprof.(*protobuf).int64s',\n        'runtime/pprof.(*profileBuilder).appendLocsForStack',\n        'runtime/pprof.(*profileBuilder).emitLocation',\n        'runtime/pprof.(*profileBuilder).flush',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.NewWriter',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.heapBitsSetType',\n        'runtime.heapBitsSetTypeGCProg',\n        'runtime.runGCProg',\n        'compress/flate.(*compressor).init',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointersChunked',\n        'runtime.memclrNoHeapPointers',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.pageIndexOf',\n        'compress/flate.(*compressor).write',\n        'compress/flate.(*compressor).encSpeed',\n        'compress/flate.(*huffmanBitWriter).writeBlockDynamic',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).indexTokens',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.acquirem',\n        'runtime.mapassign_faststr',\n        'runtime.hashGrow',\n        'runtime.makeBucketArray',\n        'runtime.newarray',\n        'runtime.mallocgc',\n        'runtime.profilealloc',\n        'runtime.mProf_Malloc',\n        'runtime.callers',\n        'runtime.systemstack',\n        'runtime.callers.func1',\n        'runtime.gentraceback',\n        'runtime.pcdatavalue',\n        'runtime.pcvalue',\n        'runtime.step',\n        'runtime.mapaccess1_faststr',\n        'aeshashbody',\n        'runtime.mapassign_fast64',\n        'runtime.growWork_fast64',\n        'runtime.evacuate_fast64',\n        'runtime.memclrHasPointers',\n        'runtime.bulkBarrierPreWrite',\n        'runtime.wbBufFlush',\n        'runtime.systemstack',\n        'runtime.wbBufFlush.func1',\n        'runtime.wbBufFlush1',\n        'runtime.spanOf',\n        'runtime.memhash64',\n        'runtime/pprof.(*profileBuilder).pbLine',\n        'runtime/pprof.(*protobuf).int64Opt',\n        'runtime/pprof.(*protobuf).endMessage',\n        'runtime.memmove',\n        'runtime.duffcopy',\n        'runtime/pprof.(*protobuf).endMessage',\n        'runtime.memmove',\n        'runtime.duffzero',\n        'runtime/pprof.(*protobuf).int64Opt',\n        'runtime.CallersFrames',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.memclrNoHeapPointers',\n        'runtime.heapBitsForAddr',\n        'runtime/pprof.allFrames',\n        'runtime.duffcopy',\n        'runtime.(*Frames).Next',\n        'runtime.funcline1',\n        'runtime.funcInfo.entry',\n        'runtime.(*moduledata).textAddr',\n        'runtime.pcvalue',\n        'runtime.readvarint',\n        'runtime.step',\n        'runtime.funcfile',\n        'runtime.findnull',\n        'indexbytebody',\n        'runtime.funcname',\n        'runtime.findnull',\n        'indexbytebody',\n        'runtime.findfunc',\n        'runtime.duffzero',\n        'runtime.(*Func).Entry',\n        'runtime.pcdatavalue1',\n        'runtime.pcvalue',\n        'runtime.step',\n        'runtime.funcInfo.entry',\n        'runtime.(*moduledata).textAddr',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'runtime.mallocgc',\n        'runtime.mapaccess2_fast64',\n        'runtime.memhash64',\n        'runtime/pprof.runtime_expandFinalInlineFrame',\n        'runtime.findfunc',\n        'runtime.pcdatavalue1',\n        'runtime.funcInfo.entry',\n        'runtime.(*moduledata).textAddr',\n        'runtime/pprof.(*profileBuilder).stringIndex',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.memmove',\n        'runtime.mapassign_faststr',\n        'runtime.growWork_faststr',\n        'runtime.evacuate_faststr',\n        'aeshashbody',\n        'runtime.advanceEvacuationMark',\n        'runtime.hashGrow',\n        'runtime.makeBucketArray',\n        'runtime.newarray',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.heapBitsSetType',\n        'runtime.mapaccess2_faststr',\n        'aeshashbody',\n        'runtime/pprof.(*protobuf).uint64Opt',\n        'runtime.funcdata',\n        'runtime/pprof.(*profileBuilder).build',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.(*compressor).write',\n        'compress/flate.(*compressor).encSpeed',\n        'compress/flate.(*deflateFast).encode',\n        'compress/flate.(*deflateFast).matchLen',\n        'compress/flate.(*huffmanBitWriter).writeBlockDynamic',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'github.com/felixge/httpsnoop.(*rw).Write',\n        'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics.func2.1',\n        'github.com/weaveworks/common/middleware.(*badResponseLoggingWriter).Write',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.(*statusCodeTracker).Write',\n        'net/http.(*response).Write',\n        'net/http.(*response).write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.(*chunkWriter).Write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.checkConnErrorWriter.Write',\n        'net.(*conn).Write',\n        'net.(*netFD).Write',\n        'internal/poll.(*FD).Write',\n        'syscall.write',\n        'syscall.Syscall',\n        'compress/flate.(*huffmanBitWriter).writeBits',\n        'compress/flate.(*huffmanBitWriter).indexTokens',\n        'compress/flate.(*huffmanEncoder).generate',\n        'compress/flate.(*huffmanEncoder).bitCounts',\n        'compress/flate.(*huffmanBitWriter).writeDynamicHeader',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'github.com/felixge/httpsnoop.(*rw).Write',\n        'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics.func2.1',\n        'github.com/weaveworks/common/middleware.(*badResponseLoggingWriter).Write',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.(*statusCodeTracker).Write',\n        'net/http.(*response).Write',\n        'net/http.(*response).write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.(*chunkWriter).Write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.checkConnErrorWriter.Write',\n        'net.(*conn).Write',\n        'net.(*netFD).Write',\n        'internal/poll.(*FD).Write',\n        'syscall.write',\n        'syscall.Syscall',\n        'compress/flate.hash',\n        'compress/gzip.(*Writer).Close',\n        'compress/flate.(*compressor).close',\n        'compress/flate.(*compressor).encSpeed',\n        'compress/flate.(*huffmanBitWriter).writeBlockDynamic',\n        'compress/flate.(*huffmanBitWriter).indexTokens',\n        'compress/flate.(*huffmanBitWriter).writeTokens',\n        'compress/flate.(*huffmanBitWriter).writeBits',\n        'github.com/felixge/httpsnoop.(*rw).Write',\n        'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics.func2.1',\n        'github.com/weaveworks/common/middleware.(*badResponseLoggingWriter).Write',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.(*statusCodeTracker).Write',\n        'net/http.(*response).Write',\n        'net/http.(*response).write',\n        'bufio.(*Writer).Write',\n        'bufio.(*Writer).Flush',\n        'net/http.(*chunkWriter).Write',\n        'fmt.Fprintf',\n        'fmt.(*pp).doPrintf',\n        'fmt.(*pp).printArg',\n        'fmt.(*pp).fmtInteger',\n        'fmt.(*fmt).fmtInteger',\n        'compress/flate.(*huffmanBitWriter).writeCode',\n        'compress/flate.token.offset',\n        'compress/flate.hash',\n        'compress/flate.(*deflateFast).encode',\n        'compress/flate.load64',\n        'runtime.FuncForPC',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime.findfunc',\n        'runtime.pcdatavalue1',\n        'runtime.funcInfo.entry',\n        'runtime.(*moduledata).textAddr',\n        'runtime.pcvalue',\n        'runtime.readvarint',\n        'runtime.step',\n        'runtime.funcline1',\n        'runtime.pcvalue',\n        'runtime.readvarint',\n        'runtime.step',\n        'runtime.funcInfo.entry',\n        'runtime.(*moduledata).textAddr',\n        'runtime/pprof.newProfileBuilder',\n        'runtime/pprof.(*profileBuilder).readMapping',\n        'os.ReadFile',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.duffcopy',\n        'runtime.(*Func).Name',\n        'runtime.funcname',\n        'runtime.findnull',\n        'indexbytebody',\n        'runtime/pprof.scaleHeapSample',\n        'math.archExp',\n        'runtime.(*MemProfileRecord).Stack',\n        'runtime.duffcopy',\n        'runtime/pprof.writeGoroutine',\n        'runtime/pprof.writeRuntimeProfile',\n        'runtime/pprof.runtime_goroutineProfileWithLabels',\n        'runtime.goroutineProfileWithLabels',\n        'runtime.forEachGRace',\n        'runtime.goroutineProfileWithLabels.func4',\n        'runtime.systemstack',\n        'runtime.goroutineProfileWithLabels.func4.1',\n        'runtime.saveg',\n        'runtime.gentraceback',\n        'runtime.pcdatavalue',\n        'runtime.funcInfo.entry',\n        'runtime.pcvalue',\n        'runtime.step',\n        'runtime.readvarint',\n        'runtime.funcspdelta',\n        'runtime.pcvalue',\n        'runtime.readvarint',\n        'runtime.step',\n        'runtime.findfunc',\n        'runtime.goroutineProfileWithLabels.func1',\n        'runtime.isSystemGoroutine',\n        'runtime.funcname',\n        'runtime.findnull',\n        'runtime.goroutineProfileWithLabels.func2',\n        'runtime.goroutineProfileWithLabels.func1',\n        'runtime.isSystemGoroutine',\n        'runtime.startTheWorld',\n        'runtime.systemstack',\n        'runtime.startTheWorld.func1',\n        'runtime.startTheWorldWithSema',\n        'runtime.wakep',\n        'runtime.startm',\n        'runtime.notewakeup',\n        'runtime.futexwakeup',\n        'runtime.futex',\n        'runtime.systemstack',\n        'runtime.goroutineProfileWithLabels.func3',\n        'runtime.saveg',\n        'runtime.gentraceback',\n        'runtime/pprof.printCountProfile',\n        'runtime/pprof.printCountProfile.func1',\n        'fmt.Fprintf',\n        'fmt.(*pp).doPrintf',\n        'fmt.(*pp).printArg',\n        'fmt.(*pp).fmtInteger',\n        'fmt.(*fmt).fmtInteger',\n        'bytes.(*Buffer).Write',\n        'runtime.memmove',\n        'runtime.slicebytetostring',\n        'runtime.nextFreeFast',\n        'runtime.mapassign_faststr',\n        'runtime.hashGrow',\n        'runtime.makeBucketArray',\n        'runtime.newarray',\n        'runtime.nextFreeFast',\n        'aeshashbody',\n        'runtime/pprof.(*profileBuilder).appendLocsForStack',\n        'runtime/pprof.(*profileBuilder).stringIndex',\n        'runtime.overLoadFactor',\n        'runtime/pprof.(*profileBuilder).emitLocation',\n        'runtime/pprof.(*profileBuilder).pbLine',\n        'runtime/pprof.(*profileBuilder).flush',\n        'compress/gzip.(*Writer).Write',\n        'compress/flate.NewWriter',\n        'compress/flate.(*compressor).init',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.heapBits.bits',\n        'runtime.scanobject',\n        'runtime.greyobject',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime/pprof.allFrames',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'runtime.(*Frames).Next',\n        'runtime.funcline1',\n        'runtime.pcvalue',\n        'runtime/pprof.newProfileBuilder',\n        'runtime/pprof.(*profileBuilder).readMapping',\n        'runtime/pprof.parseProcSelfMaps',\n        'runtime/pprof.elfBuildID',\n        'os.OpenFile',\n        'syscall.Open',\n        'syscall.openat',\n        'syscall.Syscall6',\n        'runtime/pprof.parseProcSelfMaps.func1',\n        'bytes.Cut',\n        'runtime.slicebytetostring',\n        'runtime.nextFreeFast',\n        'runtime/pprof.(*profileBuilder).addMapping',\n        'runtime.growslice',\n        'os.Open',\n        'os.OpenFile',\n        'syscall.Open',\n        'syscall.openat',\n        'syscall.Syscall6',\n        'os.openFileNolog',\n        'os.newFile',\n        'runtime.SetFinalizer',\n        'runtime.systemstack',\n        'runtime.SetFinalizer.func2',\n        'runtime.addfinalizer',\n        'runtime.addspecial',\n        'os.ReadFile',\n        'runtime.growslice',\n        'runtime.mallocgc',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.(*mcentral).grow',\n        'runtime.(*mheap).alloc',\n        'runtime.systemstack',\n        'runtime.(*mheap).alloc.func1',\n        'runtime.(*mheap).allocSpan',\n        'runtime.(*pageAlloc).allocToCache',\n        'os.(*File).Stat',\n        'internal/poll.(*FD).Fstat',\n        'syscall.Fstat',\n        'syscall.Syscall',\n        'os.(*File).Read',\n        'syscall.Read',\n        'syscall.read',\n        'syscall.Syscall',\n        'runtime.newobject',\n        'sort.Sort',\n        'sort.quickSort',\n        'sort.doPivot',\n        'runtime/pprof.(*keysByCount).Less',\n        'cmpbody',\n        'sort.quickSort',\n        'sort.insertionSort',\n        'runtime/pprof.(*keysByCount).Less',\n        'runtime.mapaccess1_faststr',\n        'runtime/pprof.(*profileBuilder).pbSample',\n        'runtime/pprof.(*protobuf).uint64s',\n        'runtime.newobject',\n        'github.com/prometheus/client_golang/prometheus.(*GaugeVec).WithLabelValues',\n        'runtime.assertI2I',\n        'runtime.getitab',\n        'runtime.(*itabTableType).find',\n        'github.com/weaveworks/common/middleware.Instrument.getRouteName',\n        'github.com/weaveworks/common/middleware.getRouteName',\n        'github.com/weaveworks/common/middleware.MakeLabelValue',\n        'strings.Trim',\n        'github.com/gorilla/mux.(*Router).Match',\n        'github.com/gorilla/mux.(*Route).Match',\n        'github.com/gorilla/mux.(*routeRegexp).Match',\n        'regexp.(*Regexp).doExecute',\n        'regexp.(*Regexp).backtrack',\n        'regexp.(*Regexp).tryBacktrack',\n        'github.com/weaveworks/common/logging.gokit.Debugf',\n        'github.com/go-kit/log.(*context).Log',\n        'github.com/go-kit/log.bindValues',\n        'github.com/go-kit/log.Caller.func1',\n        'runtime.Caller',\n        'runtime.callers',\n        'github.com/uber/jaeger-client-go.(*Tracer).Extract',\n        'github.com/uber/jaeger-client-go.(*TextMapPropagator).Extract',\n        'runtime.assertE2I2',\n        'runtime.getitab',\n        'runtime.(*itabTableType).find',\n        'runtime.newobject',\n        'runtime.nextFreeFast',\n        'github.com/weaveworks/common/middleware.Tracer.Wrap.func1',\n        'github.com/weaveworks/common/middleware.getRouteName',\n        'github.com/gorilla/mux.(*Router).Match',\n        'github.com/gorilla/mux.(*Route).Match',\n        'github.com/gorilla/mux.(*routeRegexp).Match',\n        'regexp.(*Regexp).doExecute',\n        'net/http.(*response).finishRequest',\n        'bufio.(*Writer).Flush',\n        'net/http.(*chunkWriter).Write',\n        'net/http.(*chunkWriter).writeHeader',\n        'net/http.Header.writeSubset',\n        'net/http.Header.sortedKeyValues',\n        'sync.(*Pool).Get',\n        'net/http.checkConnErrorWriter.Write',\n        'net.(*conn).Write',\n        'net.(*netFD).Write',\n        'internal/poll.(*FD).Write',\n        'syscall.write',\n        'syscall.Syscall',\n        'net/http.(*conn).readRequest',\n        'runtime.mapiterinit',\n        'runtime.gcBgMarkWorker',\n        'runtime.systemstack',\n        'runtime.gcBgMarkWorker.func2',\n        'runtime.gcDrain',\n        'runtime.scanobject',\n        'runtime.(*gcBits).bytep',\n        'runtime.(*mspan).objIndex',\n        'runtime.pageIndexOf',\n        'runtime.greyobject',\n        'runtime.(*gcWork).put',\n        'runtime.getempty',\n        'runtime.putfull',\n        'runtime.(*lfstack).push',\n        'runtime.findObject',\n        'runtime.spanOf',\n        'runtime.(*mspan).markBitsForIndex',\n        'runtime.spanOf',\n        'runtime.markBits.isMarked',\n        'runtime.arenaIndex',\n        'runtime.heapBitsForAddr',\n        'runtime.(*gcWork).tryGet',\n        'runtime.trygetfull',\n        'runtime.spanOfUnchecked',\n        'runtime.heapBits.next',\n        'runtime.gcFlushBgCredit',\n        'runtime.heapBits.bits',\n        'runtime.(*gcWork).balance',\n        'runtime.handoff',\n        'runtime.getempty',\n        'runtime.(*gcWork).tryGetFast',\n        'runtime.gcMarkDone',\n        'runtime.gcMarkTermination',\n        'runtime.mProf_Flush',\n        'runtime.mProf_FlushLocked',\n        'runtime.(*bucket).mp',\n        'runtime.systemstack',\n        'runtime.gcMarkTermination.func4',\n        'runtime.forEachP',\n        'runtime.gcMarkTermination.func4.1',\n        'runtime.(*mcache).prepareForSweep',\n        'runtime.(*mcache).releaseAll',\n        'net/http.(*persistConn).readLoop',\n        'runtime.selectgo',\n        'runtime.send',\n        'runtime.goready',\n        'runtime.systemstack',\n        'runtime.goready.func1',\n        'runtime.ready',\n        'runtime.runqput',\n        'bufio.(*Reader).Peek',\n        'bufio.(*Reader).fill',\n        'net/http.(*persistConn).Read',\n        'net.(*conn).Read',\n        'net.(*netFD).Read',\n        'syscall.Read',\n        'syscall.read',\n        'syscall.Syscall',\n        'net/http.(*persistConn).readResponse',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.(*Tracer).gotFirstResponseByte',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.memclrNoHeapPointers',\n        'runtime.bgsweep',\n        'runtime.sweepone',\n        'runtime.(*sweepLocker).tryAcquire',\n        'runtime.(*sweepLocked).sweep',\n        'runtime.(*gcBitsArena).tryAlloc',\n        'runtime.spanClass.sizeclass',\n        'runtime/internal/atomic.(*Uint32).CompareAndSwap',\n        'runtime.mcall',\n        'runtime.park_m',\n        'runtime.schedule',\n        'runtime.findrunnable',\n        'runtime.netpoll',\n        'runtime.epollwait',\n        'runtime.stopm',\n        'runtime.notesleep',\n        'runtime.futexsleep',\n        'runtime.futex',\n        'runtime.(*randomOrder).start',\n        'runtime.checkTimers',\n        'runtime.runtimer',\n        'runtime.dodeltimer0',\n        'runtime.gcstopm',\n        'runtime.lock2',\n        'runtime.procyield',\n        'runtime.(*lfstack).pop',\n        'runtime.gosched_m',\n        'runtime.lock',\n        'runtime.lock2',\n        'runtime.goschedImpl',\n        'runtime.schedule',\n        'runtime.execute',\n        'runtime.casgstatus',\n        'runtime.checkTimers',\n        'runtime.findrunnable',\n        'runtime.checkTimers',\n        'runtime.casgstatus',\n        'net/http.(*persistConn).writeLoop',\n        'net/http.(*Request).write',\n        'net/http.newTransferWriter',\n        'runtime.convI2I',\n        'runtime.getitab',\n        'runtime.(*itabTableType).find',\n        'runtime.chansend1',\n        'runtime.chansend',\n        'runtime.send',\n        'runtime.goready',\n        'runtime.systemstack',\n        'runtime.goready.func1',\n        'runtime.ready',\n        'runtime.wakep',\n        'runtime.startm',\n        'runtime.notewakeup',\n        'runtime.futexwakeup',\n        'runtime.futex',\n        'bufio.(*Writer).Flush',\n        'net/http.persistConnWriter.Write',\n        'net.(*conn).Write',\n        'net.(*netFD).Write',\n        'internal/poll.(*FD).Write',\n        'syscall.write',\n        'syscall.Syscall',\n        'runtime.exitsyscall',\n        'runtime.exitsyscallfast',\n        'runtime.exitsyscallfast_reacquired',\n        'test/pkg/distributor.(*Distributor).Push.func1',\n        'test/pkg/distributor.(*Distributor).sendProfiles',\n        'test/pkg/distributor.(*Distributor).sendProfilesErr',\n        'test/pkg/gen/ingester/v1/ingesterv1connect.(*ingesterServiceClient).Push',\n        'github.com/bufbuild/connect-go.(*Client[...]).CallUnary',\n        'github.com/bufbuild/connect-go.NewClient[...].func2',\n        'github.com/bufbuild/connect-go.NewClient[...].func1',\n        'github.com/bufbuild/connect-go.receiveUnaryResponse[...]',\n        'github.com/bufbuild/connect-go.(*errorTranslatingReceiver).Receive',\n        'github.com/bufbuild/connect-go.(*connectUnaryClientReceiver).Receive',\n        'github.com/bufbuild/connect-go.(*connectUnaryUnmarshaler).UnmarshalFunc',\n        'github.com/bufbuild/connect-go.(*compressionPool).Decompress',\n        'github.com/bufbuild/connect-go.(*compressionPool).getDecompressor',\n        'compress/gzip.(*Reader).Reset',\n        'compress/gzip.(*Reader).readHeader',\n        'compress/flate.(*dictDecoder).init',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.(*mcache).nextFree',\n        'runtime.(*mcache).refill',\n        'runtime.(*mcentral).cacheSpan',\n        'runtime.(*mcentral).grow',\n        'runtime.heapBits.initSpan',\n        'compress/flate.(*decompressor).Reset',\n        'runtime.newstack',\n        'runtime.copystack',\n        'runtime.gentraceback',\n        'compress/flate.NewReader',\n        'compress/flate.fixedHuffmanDecoderInit',\n        'runtime.newstack',\n        'runtime.copystack',\n        'runtime.gentraceback',\n        'runtime.funcspdelta',\n        'runtime.pcvalue',\n        'runtime.step',\n        'github.com/bufbuild/connect-go.(*errorTranslatingSender).Send',\n        'github.com/bufbuild/connect-go.(*connectClientSender).Send',\n        'github.com/bufbuild/connect-go.(*connectUnaryMarshaler).Marshal',\n        'github.com/bufbuild/connect-go.(*connectUnaryMarshaler).write',\n        'github.com/bufbuild/connect-go.(*duplexHTTPCall).Write',\n        'io.(*pipe).write',\n        'runtime.chanrecv1',\n        'runtime.chanrecv',\n        'runtime.recv',\n        'runtime.gcWriteBarrierR8',\n        'runtime.gcWriteBarrier',\n        'runtime.wbBufFlush',\n        'runtime.systemstack',\n        'runtime.wbBufFlush.func1',\n        'runtime.wbBufFlush1',\n        'runtime.findObject',\n        'github.com/bufbuild/connect-go.(*errorTranslatingReceiver).Close',\n        'github.com/bufbuild/connect-go.(*connectUnaryClientReceiver).Close',\n        'github.com/bufbuild/connect-go.(*duplexHTTPCall).CloseRead',\n        'github.com/opentracing-contrib/go-stdlib/nethttp.closeTracker.Close',\n        'runtime.newobject',\n        'runtime.mallocgc',\n        'runtime.heapBitsSetType',\n        'runtime/pprof.profileWriter',\n        'runtime/pprof.(*profileBuilder).addCPUData',\n        'runtime/pprof.(*profMap).lookup',\n        'runtime.makeslice',\n        'runtime.mallocgc',\n        'runtime.gcAssistAlloc',\n        'runtime.systemstack',\n        'runtime.gcAssistAlloc.func1',\n        'runtime.gcAssistAlloc1',\n        'runtime.gcDrainN',\n        'runtime.scanobject',\n        'runtime.pageIndexOf',\n        'net/http.(*connReader).backgroundRead',\n        'net.(*conn).Read',\n        'net.(*netFD).Read',\n        'internal/poll.(*FD).Read',\n      ],\n    },\n    {\n      name: 'fileName',\n      values: [\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/net.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/fd_posix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/internal/poll/fd_unix.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/zsyscall_linux_amd64.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/malloc.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/memclr_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/compress/flate/huffman_bit_writer.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/syscall_linux.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/runtime/internal/syscall/asm_linux_amd64.s',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/bufio/bufio.go',\n        '/usr/local/Cellar/go/1.19.4/libexec/src/net/http/server.go',\n      ],\n    },\n    {\n      name: 'line',\n      values: [\n        0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 12, 13, 14, 15, 16, 10, 11, 12, 13, 9, 10, 9, 9, 7, 7, 6, 5, 6, 7,\n        8, 8, 9, 10, 11, 12, 13, 8, 9, 10, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 11, 12,\n        13, 8, 8, 7, 8, 8, 7, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 9, 8, 8, 7, 8, 6, 7, 8, 8, 7, 6, 7, 8,\n        8, 8, 9, 10, 11, 12, 4, 5, 6, 7, 8, 9, 9, 10, 11, 9, 10, 7, 4, 5, 6, 7, 8, 8, 7, 8, 9, 10, 11, 12, 13, 10, 10,\n        11, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 5, 6, 7, 6, 7, 6, 5, 6, 6, 6, 6, 5, 6, 7, 6, 5, 6, 7, 8, 4, 5,\n        6, 5, 6, 5, 4, 5, 5, 3, 4, 5, 6, 7, 7, 8, 7, 8, 9, 8, 9, 8, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n        14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 24, 25, 26, 24, 25, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n        32, 21, 22, 23, 24, 25, 26, 27, 26, 24, 25, 26, 25, 24, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 25, 26,\n        27, 25, 26, 24, 23, 24, 24, 25, 23, 23, 22, 23, 24, 24, 23, 24, 25, 26, 24, 25, 23, 24, 24, 25, 23, 23, 24, 24,\n        23, 23, 23, 23, 23, 24, 25, 22, 23, 24, 25, 22, 23, 24, 25, 26, 27, 28, 25, 26, 27, 28, 29, 24, 22, 23, 24, 25,\n        26, 27, 28, 29, 30, 31, 32, 33, 21, 22, 23, 23, 24, 24, 24, 22, 23, 24, 25, 24, 23, 24, 24, 23, 22, 23, 24, 25,\n        25, 26, 27, 24, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 24, 21, 22, 23, 24, 25, 26, 27, 28, 21, 22, 19, 20,\n        21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 24, 25, 26, 27, 28, 23, 24, 25, 26, 27, 28, 19, 20,\n        21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,\n        31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 31, 30, 28, 29, 30, 31, 32, 33, 34,\n        35, 36, 37, 29, 30, 31, 26, 27, 28, 28, 28, 29, 27, 26, 27, 26, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 30,\n        31, 32, 33, 34, 33, 34, 35, 36, 37, 38, 39, 29, 30, 31, 32, 32, 27, 28, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n        36, 37, 38, 39, 40, 27, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 28, 27, 28, 28, 29, 27, 27, 28, 27, 27, 26,\n        27, 28, 28, 29, 29, 29, 26, 27, 27, 28, 29, 30, 29, 30, 30, 29, 30, 31, 28, 29, 30, 28, 28, 28, 28, 29, 30, 29,\n        30, 27, 28, 28, 26, 27, 26, 27, 27, 28, 29, 26, 27, 28, 29, 28, 27, 28, 29, 30, 30, 28, 29, 30, 31, 32, 32, 27,\n        28, 26, 25, 25, 26, 27, 28, 29, 30, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n        48, 31, 30, 31, 32, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 29, 26, 27, 28,\n        29, 30, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 30, 29, 29, 29, 25, 26, 27, 28, 26,\n        26, 27, 28, 27, 28, 28, 26, 27, 28, 28, 27, 28, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 25, 26, 27, 28, 25,\n        26, 24, 25, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 34, 34, 32, 33, 34, 34, 32, 28, 29, 30, 31, 27,\n        28, 29, 26, 27, 28, 29, 30, 31, 32, 33, 34, 26, 27, 28, 29, 24, 25, 26, 27, 28, 29, 30, 27, 28, 26, 27, 25, 26,\n        27, 28, 29, 26, 25, 26, 27, 26, 27, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38, 39, 30, 31, 32, 26, 27,\n        28, 27, 28, 29, 25, 26, 27, 28, 29, 30, 31, 32, 28, 29, 28, 29, 28, 29, 27, 28, 29, 30, 31, 29, 30, 31, 32, 33,\n        34, 35, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 28, 29, 30, 31, 28, 29, 30, 31, 26, 25, 26, 27, 28, 29,\n        27, 28, 29, 30, 25, 26, 15, 14, 15, 16, 17, 13, 14, 15, 16, 15, 16, 17, 18, 19, 20, 12, 13, 14, 15, 16, 17, 10,\n        11, 12, 13, 14, 12, 13, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 7, 8, 9, 2, 3, 1, 2, 3, 4, 5, 6,\n        6, 6, 6, 7, 8, 8, 9, 6, 7, 6, 6, 6, 6, 5, 5, 6, 5, 5, 5, 5, 5, 6, 7, 4, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9, 1, 2,\n        3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 1, 2, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 5,\n        5, 6, 7, 4, 5, 6, 4, 2, 3, 4, 3, 4, 5, 6, 5, 5, 6, 4, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n        2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n        23, 16, 17, 18, 19, 16, 17, 18, 19, 20, 21, 22, 23, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n        23, 8, 9, 10, 11, 12, 13, 14, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4,\n      ],\n    },\n  ],\n};\n"],"names":["jsxs","Fragment","jsx","MenuItem","MenuGroup","ContextMenu","useStyles2","getStyles","InteractiveTable","Portal","VizTooltipContainer","getValueFormat","css","SampleUnit","SelectedView","ColorScheme","ColorSchemeDiff","color","scaleLinear","rgbString","useTheme2","useMemo","useEffect","useCallback","useState","ctx","useMeasure","useRef","memo","Tooltip","Icon","IconButton","levels","totalProfileTicks","totalProfileTicksRight","totalViewTicks","levelsCallers","cx","groupBy","item","FieldType","createTheme","getDisplayProcessor","index","Button","Input","OpenAssistantButton","ButtonGroup","RadioButtonGroup","Menu","Dropdown","usePrevious","useDebounce","AutoSizer","Table","TableCellDisplayMode","MappingType","applyFieldOverrides","escapeStringForRegex","uFuzzy","data","ThemeContext"],"mappings":"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AG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC9G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC7G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC7G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AA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;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACtG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QACvG,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QACrG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,KAAA;AAAA,QAAY,KAAA;AAAA,QAAY,KAAA;AAAA,QAC9F,KAAA;AAAA,QAAY,KAAA;AAAA,QAAY,KAAA;AAAA,QAAY,KAAA;AAAA,QAAY,KAAA;AAAA,QAAY,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACrG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAW,GAAA;AAAA,QACrG,GAAA;AAAA,QAAU,KAAA;AAAA,QAAY,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAC/F,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAC7F,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAC/F,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACrG,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACtG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QACpG,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACvG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACvG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QACrG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAC5F,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACvG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,IAAA;AAAA,QACjG,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACtG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,IAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,IAAA;AAAA,QAAW,IAAA;AAAA,QAAW,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACtG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAA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U,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QACpG,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;AAAA,QAAU,GAAA;A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AI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC1G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QACtG,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,IAAA;AAAA,QAAM,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAC1G,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAC1G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAC7G,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QACzG,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC1G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAC5G,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QAAM,IAAA;AAAA,QAC1G,IAAA;AAAA,QAAM,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC1G,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC7G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,GAAA;AAAA,QAAK,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAA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AA;AAAA,QAAI,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC9G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC7G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC7G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC5G,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC3G,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAC1G,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,EAAA;AAAA,QAAI,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG;AAAA;AAChF;AACF;AAEJ;;;;;;;;;"}