Browse Source

lots of layout changes + sidbars

master
rdrew 1 week ago
parent
commit
f035d16951
  1. 16
      bs.js
  2. 15
      css/components/header.css
  3. 35
      css/components/search.css
  4. 26
      css/components/site-branding.css
  5. 65
      css/components/tabs.css
  6. 39
      css/components/top-nav.css
  7. 86
      css/layout.css
  8. 16
      css/tokens.css
  9. 13
      druid.info.yml
  10. 8
      druid.libraries.yml
  11. 30
      druid.theme
  12. 285
      logo.svg
  13. 1
      logo.svg.old
  14. 1
      node_modules/.bin/acorn
  15. 1
      node_modules/.bin/autoprefixer
  16. 1
      node_modules/.bin/baseline-browser-mapping
  17. 1
      node_modules/.bin/browser-sync
  18. 1
      node_modules/.bin/browserslist
  19. 1
      node_modules/.bin/chromedriver
  20. 1
      node_modules/.bin/cross-env
  21. 1
      node_modules/.bin/cross-env-shell
  22. 1
      node_modules/.bin/cspell
  23. 1
      node_modules/.bin/css-blank-pseudo
  24. 1
      node_modules/.bin/css-has-pseudo
  25. 1
      node_modules/.bin/css-prefers-color-scheme
  26. 1
      node_modules/.bin/cssesc
  27. 1
      node_modules/.bin/dev-ip
  28. 1
      node_modules/.bin/eslint
  29. 1
      node_modules/.bin/eslint-config-prettier-check
  30. 1
      node_modules/.bin/esparse
  31. 1
      node_modules/.bin/esvalidate
  32. 1
      node_modules/.bin/extract-zip
  33. 1
      node_modules/.bin/gonzales
  34. 1
      node_modules/.bin/js-yaml
  35. 1
      node_modules/.bin/jsesc
  36. 1
      node_modules/.bin/json5
  37. 1
      node_modules/.bin/loose-envify
  38. 1
      node_modules/.bin/lt
  39. 1
      node_modules/.bin/mime
  40. 1
      node_modules/.bin/mkdirp
  41. 1
      node_modules/.bin/parser
  42. 1
      node_modules/.bin/prettier
  43. 1
      node_modules/.bin/regjsparser
  44. 1
      node_modules/.bin/resolve
  45. 1
      node_modules/.bin/rimraf
  46. 1
      node_modules/.bin/semver
  47. 1
      node_modules/.bin/specificity
  48. 1
      node_modules/.bin/stylehacks
  49. 1
      node_modules/.bin/stylelint
  50. 1
      node_modules/.bin/terser
  51. 1
      node_modules/.bin/throttleproxy
  52. 1
      node_modules/.bin/ua-parser-js
  53. 1
      node_modules/.bin/update-browserslist-db
  54. 1
      node_modules/.bin/which
  55. 1125
      node_modules/.yarn-integrity
  56. 22
      node_modules/@babel/code-frame/LICENSE
  57. 19
      node_modules/@babel/code-frame/README.md
  58. 217
      node_modules/@babel/code-frame/lib/index.js
  59. 1
      node_modules/@babel/code-frame/lib/index.js.map
  60. 32
      node_modules/@babel/code-frame/package.json
  61. 22
      node_modules/@babel/compat-data/LICENSE
  62. 19
      node_modules/@babel/compat-data/README.md
  63. 2
      node_modules/@babel/compat-data/corejs2-built-ins.js
  64. 2
      node_modules/@babel/compat-data/corejs3-shipped-proposals.js
  65. 2120
      node_modules/@babel/compat-data/data/corejs2-built-ins.json
  66. 5
      node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
  67. 18
      node_modules/@babel/compat-data/data/native-modules.json
  68. 38
      node_modules/@babel/compat-data/data/overlapping-plugins.json
  69. 231
      node_modules/@babel/compat-data/data/plugin-bugfixes.json
  70. 843
      node_modules/@babel/compat-data/data/plugins.json
  71. 2
      node_modules/@babel/compat-data/native-modules.js
  72. 2
      node_modules/@babel/compat-data/overlapping-plugins.js
  73. 40
      node_modules/@babel/compat-data/package.json
  74. 2
      node_modules/@babel/compat-data/plugin-bugfixes.js
  75. 2
      node_modules/@babel/compat-data/plugins.js
  76. 22
      node_modules/@babel/core/LICENSE
  77. 19
      node_modules/@babel/core/README.md
  78. 5
      node_modules/@babel/core/lib/config/cache-contexts.js
  79. 1
      node_modules/@babel/core/lib/config/cache-contexts.js.map
  80. 261
      node_modules/@babel/core/lib/config/caching.js
  81. 1
      node_modules/@babel/core/lib/config/caching.js.map
  82. 469
      node_modules/@babel/core/lib/config/config-chain.js
  83. 1
      node_modules/@babel/core/lib/config/config-chain.js.map
  84. 190
      node_modules/@babel/core/lib/config/config-descriptors.js
  85. 1
      node_modules/@babel/core/lib/config/config-descriptors.js.map
  86. 290
      node_modules/@babel/core/lib/config/files/configuration.js
  87. 1
      node_modules/@babel/core/lib/config/files/configuration.js.map
  88. 6
      node_modules/@babel/core/lib/config/files/import.cjs
  89. 1
      node_modules/@babel/core/lib/config/files/import.cjs.map
  90. 58
      node_modules/@babel/core/lib/config/files/index-browser.js
  91. 1
      node_modules/@babel/core/lib/config/files/index-browser.js.map
  92. 78
      node_modules/@babel/core/lib/config/files/index.js
  93. 1
      node_modules/@babel/core/lib/config/files/index.js.map
  94. 203
      node_modules/@babel/core/lib/config/files/module-types.js
  95. 1
      node_modules/@babel/core/lib/config/files/module-types.js.map
  96. 61
      node_modules/@babel/core/lib/config/files/package.js
  97. 1
      node_modules/@babel/core/lib/config/files/package.js.map
  98. 220
      node_modules/@babel/core/lib/config/files/plugins.js
  99. 1
      node_modules/@babel/core/lib/config/files/plugins.js.map
  100. 5
      node_modules/@babel/core/lib/config/files/types.js
  101. Some files were not shown because too many files have changed in this diff Show More

16
bs.js

@ -0,0 +1,16 @@
var browserSync = require("browser-sync");
browserSync({
//proxy: 'http://137.149.200.93',
proxy: "https://drupal-theme-dev.ddev.site",
// files: "css/**/*.css",
files: ["css/**/*.css", "js/**/*.js"],
// plugins: ["bs-rewrite-rules"],
// serveStatic: ["."],
// rewriteRules: [
// {
// match: /\/themes\/custom\/olivesnews/g,
// replace: "",
// },
// ],
});

15
css/components/header.css

@ -0,0 +1,15 @@
/**
* @file
* Site header visual styling.
*
* Width-capping of the inner rail lives in css/layout.css (.header__inner).
* This file handles the bar's skin only: padding, eventual background,
* borders, etc.
*/
@layer components {
.header {
padding-block: var(--size-4);
padding-inline: var(--size-3);
border-bottom: 1px solid #ccc;
}
}

35
css/components/search.css

@ -0,0 +1,35 @@
/**
* @file
* Search block input + submit button styling.
*
* Markup hooks come from templates/block/block--search-form-block.html.twig
* (outer .block-search) and Drupal's Form API (.form-search on the input,
* .form-submit on the button).
*/
@layer components {
.block-search .form-search {
padding: var(--size-2) var(--size-3);
border: 1px solid var(--surface-2);
border-radius: var(--radius-2);
font: inherit;
}
.block-search .form-search:focus {
outline: 2px solid var(--upei-red);
outline-offset: 2px;
}
.block-search .form-submit {
padding: var(--size-2) var(--size-3);
border: none;
border-radius: var(--radius-2);
background-color: var(--upei-red);
color: white;
font: inherit;
cursor: pointer;
}
.block-search .form-submit:hover {
background-color: var(--upei-dark-red);
}
}

26
css/components/site-branding.css

@ -0,0 +1,26 @@
/**
* @file
* Site branding block logo, site name, slogan.
*
* Markup hooks live in templates/block/block--system-branding-block.html.twig.
*/
@layer components {
#block-druid-site-branding {
display: flex;
}
.site-logo {
border-right: 1px solid var(--upei-dark-red);
padding-right: var(--size-3);
margin-right: var(--size-3);
}
.site-logo img {
width: 200px;
height: auto;
display: block;
}
.site-name a {
font-family: var(--font-serif);
font-size: 2em;
text-decoration: none;
}
}

65
css/components/tabs.css

@ -2,36 +2,43 @@
/**
* @file
* Visual styles for tabs.
* Visual styles for tabs (local-task tabs on node pages, etc.).
*
* Underline-style tab bar: a thin baseline runs under all tabs, and the
* active tab "owns" a thicker brand-colored segment of it. The link's
* negative bottom margin lets its 2px border overlap the row's 1px rail.
*/
div.tabs {
margin: 1em 0;
}
ul.tabs {
margin: 0 0 0.5em;
padding: 0;
list-style: none;
}
.tabs > li {
display: inline-block;
margin-right: 0.3em; /* LTR */
}
[dir="rtl"] .tabs > li {
margin-right: 0;
margin-left: 0.3em;
}
.tabs a {
display: block;
padding: 0.2em 1em;
text-decoration: none;
}
.tabs a.is-active {
background-color: #eee;
}
.tabs a:focus,
.tabs a:hover {
background-color: #f5f5f5;
}
div.tabs {
margin: 1em 0;
border-bottom: 1px solid var(--surface-2);
}
ul.tabs {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
.tabs > li {
margin: 0;
}
.tabs a {
display: block;
padding: var(--size-2) var(--size-3);
color: var(--text-2);
text-decoration: none;
border-bottom: 2px solid transparent;
margin-bottom: -1px;
}
.tabs a:hover,
.tabs a:focus {
color: var(--text-1);
background-color: var(--surface-2);
}
.tabs a.is-active {
color: var(--upei-red);
border-bottom-color: var(--upei-red);
}
}

39
css/components/top-nav.css

@ -0,0 +1,39 @@
/**
* @file
* Top navigation bar visual styling.
*
* Geometry (flex arrangement of left/right regions) lives in css/layout.css.
* This file handles the bar's skin only: background, text color, font.
*/
@layer components {
.top-nav {
text-transform: uppercase;
background-color: var(--upei-red);
color: white;
font-family: var(--font-sans);
ul.menu {
display: flex;
flex-wrap: wrap;
gap: var(--size-3);
margin: 0;
padding: 0;
font-size: 12px;
}
a {
color: white;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a.is-active {
color: var(--upei-yellow);
}
ul.menu a {
color: white;
}
ul.menu a.is-active {
color: var(--upei-yellow);
}
}
}

86
css/layout.css

@ -19,4 +19,90 @@
*/
@layer layout {
.content-rail {
max-width: var(--content-max-width);
margin-inline: auto;
padding-inline: var(--size-3);
}
main,
footer {
padding-block: var(--size-4);
padding-inline: var(--size-3);
}
.region-primary-menu,
.region-secondary-menu {
padding-block: var(--size-3);
}
.top-nav__inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
.top-nav__left,
.top-nav__right {
display: flex;
align-items: center;
gap: 1rem;
}
/*
Sidebar layout
Body classes are set in druid_preprocess_html() (druid.theme):
layout-no-sidebars, layout-one-sidebar, layout-sidebar-first,
layout-sidebar-second, layout-two-sidebars.
Source order inside <main> is content sidebar_first sidebar_second.
On mobile, that's also the visual order (content first best UX).
At wider viewports, grid-template-areas re-orders sidebars around
content without touching the DOM.
No-sidebar pages skip the grid entirely; .layout-content just fills
its parent rail. */
body:is(.layout-sidebar-first, .layout-sidebar-second, .layout-two-sidebars) main > .content-rail {
display: grid;
gap: var(--size-4);
grid-template-columns: minmax(0, 1fr);
}
body.layout-sidebar-first main > .content-rail {
grid-template-areas: "content" "first";
}
body.layout-sidebar-second main > .content-rail {
grid-template-areas: "content" "second";
}
body.layout-two-sidebars main > .content-rail {
grid-template-areas: "content" "first" "second";
}
.layout-content { grid-area: content; }
.layout-sidebar-first { grid-area: first; }
.layout-sidebar-second { grid-area: second; }
/* Tablet+: single-sidebar layouts side-by-side. */
@media (min-width: 768px) {
body.layout-sidebar-first main > .content-rail {
grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
grid-template-areas: "first content";
}
body.layout-sidebar-second main > .content-rail {
grid-template-columns: minmax(0, 1fr) var(--sidebar-width);
grid-template-areas: "content second";
}
}
/* Small-desktop+: two-sidebar layout becomes three columns. */
@media (min-width: 1024px) {
body.layout-two-sidebars main > .content-rail {
grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--sidebar-width);
grid-template-areas: "first content second";
}
}
}

16
css/tokens.css

@ -1,4 +1,4 @@
/**
/*
* @file
* Design tokens for the druid theme.
*
@ -43,8 +43,8 @@
--font-sans body text (Open Sans, self-hosted variable font, weights 300800)
--font-serif headings (Adelle, self-hosted, Regular/Italic/Bold/BoldItalic)
System fallbacks ensure usable text before the @font-face files load. */
--font-sans: 'Open Sans', system-ui, sans-serif;
--font-serif: 'Adelle', Georgia, 'Times New Roman', serif;
--font-sans: "Open Sans", system-ui, sans-serif;
--font-serif: "Adelle", Georgia, "Times New Roman", serif;
/* Sizing scale — hand-picked, loosely follows Open Props `--size-N`. */
--size-1: 0.25rem;
@ -52,6 +52,10 @@
--size-3: 1rem;
--size-4: 1.5rem;
/* Layout sizing — shared width caps for centered content rails. */
--content-max-width: 1180px;
--sidebar-width: 240px;
/* Border radius */
--radius-2: 8px;
@ -64,6 +68,12 @@
--text-2: #555;
/* Brand */
--upei-yellow: #fdc902;
--upei-green: #5c8727;
--upei-dark-red: #691803;
--upei-red: #8c2004;
--upei-orange: #fbb040;
--brand: hsl(210 90% 50%);
--brand: #8c2004;
}
}

13
druid.info.yml

@ -45,3 +45,16 @@ libraries-extend:
description: ''
core_version_requirement: ^11
generator: 'starterkit_theme:11.3.7'
regions:
top_nav_left: 'Top navigation (left)'
top_nav_right: 'Top navigation (right)'
header: 'Header'
primary_menu: 'Primary menu'
secondary_menu: 'Secondary menu'
breadcrumb: 'Breadcrumb'
highlighted: 'Highlighted'
help: 'Help'
content: 'Content'
sidebar_first: 'Sidebar first'
sidebar_second: 'Sidebar second'
footer: 'Footer'

8
druid.libraries.yml

@ -88,6 +88,8 @@ components:
weight: -10
css/components/form.css:
weight: -10
css/components/header.css:
weight: -10
css/components/icons.css:
weight: -10
css/components/inline-form.css:
@ -102,6 +104,10 @@ components:
weight: -10
css/components/pager.css:
weight: -10
css/components/search.css:
weight: -10
css/components/site-branding.css:
weight: -10
css/components/tabledrag.css:
weight: -10
css/components/tableselect.css:
@ -110,6 +116,8 @@ components:
weight: -10
css/components/textarea.css:
weight: -10
css/components/top-nav.css:
weight: -10
css/components/ui-dialog.css:
weight: -10
dialog:

30
druid.theme

@ -5,6 +5,36 @@
* Functions to support theming.
*/
/**
* Implements hook_preprocess_html().
*
* Tags <body> with a sidebar-configuration class so css/layout.css can
* pick the right grid template. One of:
* - layout-no-sidebars
* - layout-one-sidebar + layout-sidebar-first (only sidebar_first has content)
* - layout-one-sidebar + layout-sidebar-second (only sidebar_second has content)
* - layout-two-sidebars
*/
function druid_preprocess_html(array &$variables): void {
$has_first = !empty($variables['page']['sidebar_first']);
$has_second = !empty($variables['page']['sidebar_second']);
if ($has_first && $has_second) {
$variables['attributes']['class'][] = 'layout-two-sidebars';
}
elseif ($has_first) {
$variables['attributes']['class'][] = 'layout-one-sidebar';
$variables['attributes']['class'][] = 'layout-sidebar-first';
}
elseif ($has_second) {
$variables['attributes']['class'][] = 'layout-one-sidebar';
$variables['attributes']['class'][] = 'layout-sidebar-second';
}
else {
$variables['attributes']['class'][] = 'layout-no-sidebars';
}
}
/**
* Implements hook_preprocess_image_widget().
*/

285
logo.svg

@ -1 +1,284 @@
<svg xmlns="http://www.w3.org/2000/svg" width="57" height="66" viewBox="471.5 467 57 66" enable-background="new 471.5 467 57 66"><path opacity=".2" fill="#303030" d="M528.5 504.965c0 16.634-13.123 27.615-28.24 27.615-10.29 0-19.894-5.523-24.978-14.167l.605-.027c1.313 1.192 3.39 2.58 7.404 2.515 4.77-.064 5.645-.875 9.855-2.756 22.716-10.17 26.925-19.457 27.736-21.59s2.013-5.587.756-9.415c-.242-.737-.42-1.333-.54-1.808-3.018-3.372-6.017-5.225-6.92-5.784-.14-.093-.29-.177-.43-.26l.44.26c2.01 1.247 14.314 8.782 14.314 25.417z"/><path fill="#fff" d="M509.09 518.507c1.006 0 2.077.065 2.83.568.756.503 1.193 1.63 1.445 2.263.25.634 0 1.006-.503 1.258-.438.25-.503.12-.94-.69-.44-.81-.82-1.63-3.01-1.63s-2.887.755-3.948 1.63c-1.062.876-1.443 1.193-1.825.69s-.253-1.006.437-1.63 1.825-1.63 2.888-2.077c1.06-.45 1.62-.383 2.625-.383zm-10.413 7.152c1.257 1.005 3.14 1.825 7.153 1.825 4.015 0 6.836-1.137 8.094-2.077.568-.438.82-.065.875.187.056.25.186.624-.252 1.07-.316.317-3.194 2.33-6.594 2.636-3.4.31-7.964.504-10.73-2.01-.438-.44-.316-1.07 0-1.323.317-.25.568-.438.94-.438.374.008.317.008.513.13z"/><path opacity=".2" fill="#aaa" d="M520.89 496.545c-.81 2.133-5.02 11.42-27.735 21.59-4.21 1.88-5.085 2.69-9.854 2.756-4.013.066-6.09-1.32-7.403-2.514l-.605.028h-.01c-2.393-4.042-3.78-8.783-3.78-13.952 0-7.852 2.97-13.654 6.287-17.687.11-.13.213-.26.325-.382 2.683-3.148 5.55-5.17 7.218-6.203.038-.028.075-.047.112-.065.42-.25.754-.447.987-.568 2.757-1.51 4.77-2.263 7.963-4.77.12-.092.242-.186.354-.288l.008-.01c.875-.754 1.64-1.76 2.18-3.4v-.008c.325-.97.567-2.16.716-3.65l.02.018c2.253 2.69 4.954 5.886 6.89 7.144.69.447 1.38.848 2.068 1.202l.3.15c2.243 1.126 4.507 1.945 6.807 3.333l.428.26c.903.56 3.902 2.412 6.92 5.784.12.475.298 1.07.54 1.807 1.274 3.837.073 7.292-.737 9.425z"/><path opacity=".5" fill="#333" d="M514.176 479.538c-3.26-2.077-6.464-2.887-9.603-4.955-1.938-1.267-4.64-4.47-6.893-7.162-.438 4.332-1.686 6.148-3.26 7.35-3.195 2.515-5.207 3.26-7.963 4.77-2.338 1.256-14.958 8.726-14.958 24.913 0 5.17 1.387 9.91 3.77 13.96 5.077 8.635 14.68 14.158 24.97 14.158 15.126 0 28.24-10.98 28.24-27.614 0-9.127-3.707-15.526-7.386-19.633-3.016-3.382-6.015-5.217-6.918-5.785zm7.627 7.34c4.117 5.15 6.213 11.23 6.213 18.077 0 3.968-.755 7.712-2.245 11.148-1.414 3.25-3.444 6.13-6.053 8.56-5.15 4.806-12.062 7.45-19.475 7.45-3.67 0-7.265-.698-10.692-2.086-3.372-1.36-6.398-3.297-9.016-5.774-5.532-5.225-8.57-12.257-8.57-19.8 0-6.716 2.18-12.695 6.483-17.753 3.288-3.865 6.836-6.007 8.196-6.743.67-.363 1.285-.69 1.89-.997 1.892-.97 3.68-1.89 6.14-3.818 1.312-.997 2.71-2.58 3.305-6.585 2.077 2.468 4.48 5.234 6.314 6.426 1.63 1.08 3.307 1.835 4.918 2.562 1.527.69 3.11 1.406 4.676 2.403l.056.037c4.62 2.84 7.06 5.896 7.86 6.892z"/><path opacity=".5" fill="#fff" d="M497.98 468.678c.874 2.58.753 3.893.753 4.452 0 .56-.307 2.077-1.313 2.832-.438.317-.568.568-.568.624 0 .25.568.438.568 1.006 0 .69-.317 2.077-3.642 5.393-3.325 3.316-8.103 6.278-11.8 8.103-3.698 1.826-5.468 1.686-5.97.81s.185-2.83 2.514-5.392l9.667-6.278 9.164-6.398.503-2.44"/><path fill="#fff" d="M497.98 468.613c-.57 4.145-1.826 5.393-3.512 6.715-2.83 2.133-5.588 3.446-6.212 3.763-1.63.82-7.535 4.08-10.608 8.784-.94 1.444 0 2.012.186 2.133.187.12 2.33.372 6.9-2.385 4.574-2.757 6.595-4.387 9.175-7.078 1.377-1.444 1.573-2.263 1.573-2.636 0-.438-.316-.624-.82-.754-.25-.065-.316-.187 0-.373.317-.186 1.622-.82 1.938-1.07.318-.25 1.827-1.257 1.882-2.887.065-1.63-.056-2.766-.503-4.21zm-14.112 45.628c.065-4.898 4.648-9.472 10.422-9.536 7.348-.065 12.424 7.283 16.13 7.208 3.14-.064 9.166-6.212 12.118-6.212 3.14 0 4.014 3.26 4.014 5.206 0 1.938-.623 5.458-2.133 7.656-1.51 2.198-2.44 3.008-4.2 2.888-2.264-.187-6.78-7.21-9.67-7.35-3.64-.12-11.547 7.6-17.75 7.6-3.763 0-4.9-.567-6.147-1.378-1.92-1.312-2.85-3.315-2.785-6.08z"/></svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 403.7 160.2" style="enable-background:new 0 0 403.7 160.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#8C2004;}
.st1{fill:#5C8727;}
.st2{fill:#FFFFFF;}
.st3{fill:#FBB040;}
.st4{fill:#EC008C;}
</style>
<path class="st0" d="M123.3,94.9c0.3-0.9,0.6-1.8,0.9-2.7V1.3H62.7H1.2v90.9c0.3,0.9,0.6,1.8,0.9,2.7l60.6-41L123.3,94.9z"/>
<path class="st1" d="M4.3,101.1c16.1,43.1,31.1,41.6,58.4,57.7c27.2-16.1,42.3-14.6,58.4-57.7L62.8,61.8L4.3,101.1z"/>
<g>
<path class="st2" d="M61.4,89.1c0,0,0-0.7-0.6-0.8c0,0-3.3-2-9.8-2c-6.6,0-12,3-12,3s-0.6,0.3-0.6,1v35.5c0,0,0,0.7,0.6,0.5
c0,0,6.6-2.9,13.3-2.6c6.7,0.2,8.6,1.4,8.6,1.4s0.6,0.4,0.6-0.3V89.1z"/>
<path class="st2" d="M64,89.1c0,0,0-0.7,0.6-0.8c0,0,3.3-2,9.8-2c6.6,0,12,3,12,3s0.6,0.3,0.6,1v35.5c0,0,0,0.7-0.6,0.5
c0,0-6.6-2.9-13.3-2.6c-6.7,0.2-8.6,1.4-8.6,1.4s-0.6,0.4-0.6-0.3V89.1z"/>
<path class="st3" d="M93,95.4c0,0,0-0.7-0.6-1l-2.9-1.8c0,0-0.1,0-0.2-0.1v35c0,0,0,0.7-0.7,1.1c-0.7,0.4-1.5,0.1-1.5,0.1
s-9.3-4.1-15.9-2.9c-5.3,1-7.8,2.2-8.6,2.7c-0.8-0.4-3.3-1.7-8.6-2.7c-6.6-1.3-15.9,2.9-15.9,2.9s-0.8,0.3-1.5-0.1
c-0.7-0.4-0.7-1.1-0.7-1.1v-35c-0.1,0-0.2,0.1-0.2,0.1l-2.9,1.8c-0.6,0.4-0.6,1-0.6,1l0,37.6c0,0.7,0.6,0.9,0.6,0.9l2.6-0.1
c0,0,3.3-3.9,15.9-3.9c5.6,0,8.6,3,8.6,3h0.6h4.3h0.6c0,0,3-3,8.5-3c12.6,0,15.9,3.9,15.9,3.9l2.6,0.1c0,0,0.6-0.3,0.6-0.9L93,95.4
z"/>
</g>
<g>
<path class="st3" d="M110.1,38.8l-1.8-1.4l-0.3,2.4l-1.1-2.1l-1.8,3l2,0.3c0,0-1.7,2-3.8,1.2c-0.5-0.2-0.9-0.6-1.2-1
c0.2,0.1,0.8,0.1,1.1-0.3c0.5-0.5-0.2-1.1-0.2-1.1s-0.1,0.4-0.6,0.5c-0.5,0-0.5-0.7-0.5-0.7s0.4-0.1,0.4-0.4c0-0.2-0.3-0.5-0.3-0.5
s0.6-1.4,1.5-1c0.9,0.4,0,1.3,0,1.3s1.2-0.2,1.7-0.6c0.5-0.5,0.4-1.5-0.8-1.8c-1.2-0.3-2.1,0.7-2.1,0.7s0.5-1,0.7-1.9
c0.1-0.9-0.5-1.8-0.5-1.8s-1.1,0.6-1.4,1.1c-0.2,0.5-0.2,2.4-0.2,2.4s-1-1.4-1.6-1.6c-0.4-0.1-1.2-0.1-1.4,0.9
c-0.1,0.9,0.9,1.7,0.9,1.7s0-0.5,0.3-0.9c0.3-0.3,0.7-0.1,1,0.3c0.3,0.3,0.3,0.9,0.3,0.9s-0.4,0.3-0.4,0.5c0,0.2,0.2,0.5,0.2,0.5
s-0.2,0.5-0.7,0.3c-0.4-0.1-0.2-1-0.2-1s-0.5,0.3-0.8,0.6c-0.3,0.2-0.1,0.7,0.3,1.1c0,0,0,0,0,0c-0.6,0.2-1.3,0.4-2,0.3
c-1-0.2-1.7-0.8-2.1-1.3l-0.5-1.9l1.8,1.4l0.4-3.7l-2.3,1.4l1.1-2.5h-3.2l0.9,2.5L90.6,35l0.3,3.8l1.9-1.3l-0.6,1.8
c-0.5,0.6-1.3,1.3-2.9,1.3c-0.7,0-1.2,0-1.6-0.2c0.2-0.1,0.4-0.2,0.5-0.3c0.4-0.3,0.7-0.8,0.4-1.1c-0.3-0.2-0.8-0.6-0.8-0.6
s0.2,0.8-0.2,0.9c-0.4,0.1-0.6-0.4-0.6-0.4s0.2-0.4,0.2-0.5c0-0.2-0.4-0.5-0.4-0.5s0-0.5,0.3-0.9c0.3-0.4,0.7-0.6,1-0.2
c0.3,0.4,0.2,0.9,0.2,0.9s1.1-0.8,0.9-1.7c-0.1-0.9-1-1-1.4-0.9c-0.6,0.2-1.6,1.6-1.6,1.6s0.1-1.8-0.2-2.4
c-0.2-0.5-1.4-1.1-1.4-1.1s-0.7,0.8-0.5,1.8c0.1,0.9,0.7,2,0.7,2s-0.9-0.9-2.1-0.7c-1.2,0.2-1.4,1.3-0.9,1.8
c0.5,0.5,1.7,0.6,1.7,0.6s-0.8-0.9,0.1-1.3c0.9-0.4,1.5,1,1.5,1s-0.4,0.3-0.4,0.5c0.1,0.3,0.4,0.4,0.4,0.4s0,0.7-0.5,0.7
c-0.5-0.1-0.5-0.5-0.5-0.5s-0.7,0.6-0.2,1.1c0.5,0.5,1.1,0.3,1.2,0.2c-0.4,0.4-0.9,0.8-1.8,0.9c-2.5,0.4-3.6-1.5-3.6-1.5l2,0
l-1.4-3L79.1,39l-0.3-2.2L77,37.6l4.9,9.5h0.9c1.5-1.3,5.2-2.5,10.5-2.5c5.3,0,9.1,1.3,10.6,2.5h0.9L110.1,38.8z"/>
<g>
<path class="st4" d="M112.4,25.4"/>
</g>
<g>
<g>
<path class="st2" d="M107.1,31.1c-0.1-0.1-0.1-0.2-0.2-0.2c-0.2-0.1-0.4-0.3-0.4-0.6c0-0.3-0.3-0.9-0.7-0.9c-0.1,0-0.6,0.3-1.8,2
l0,0.1c-0.2,0.3-0.3,0.4-0.4,0.5l0.8,0.2c0.2,0.2,0.8,1.1,0.9,2.3c0.2,0.1,0.5,0.2,0.7,0.3c0.2-0.3,0.4-0.6,0.6-0.9
c0.1-0.3,0.4-0.6,0.5-0.8c0.1-0.2,0.2-0.2,0.3-0.4c0.2-0.2,0.2-0.2,0.2-0.3C107.7,32,107.3,31.5,107.1,31.1L107.1,31.1z"/>
<path class="st2" d="M82.1,29.4c-0.4-0.1-0.6,0.2-0.9,0.6c0,0.1-0.1,0.1-0.1,0.2c-0.4,0.5-1,1.7-1,2c0,0.3,0.1,0.6,0.2,0.9
c0.2,0.2,0.3,0.5,0.5,0.7c0.1,0.1,0.3,0.3,0.4,0.4c0.1,0.1,0.1,0.3,0.1,0.4c0.2-0.1,0.4-0.2,0.7-0.2c0.2-1.2,0.8-2.1,1-2.3
l0.5-0.1C83.1,30.9,82.6,29.6,82.1,29.4z"/>
<path class="st2" d="M88.8,18.5c0.1,0,0.1,0.1,0.2,0.1c-0.1-0.2-0.2-0.7,0-1.3c0.1-0.1,0.1-0.3,0.3-0.3c0.2,0,0.2,0.2,0.3,0.4
c0.1,0.5,0.2,1.5,1.2,1.9c0.6,0.2,1,0.3,1.3,0.4c0.6,0.2,0.9,0.3,1.2,0.6c0.2,0.2,0.4,0.5,0.5,0.8c0.1,0.1,0.2,0.3,0.3,0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.4-0.4,1-0.9,1.7-1.2c1.4-0.5,2.3-1,2.6-1.4c0.6-1,0.2-2,0-2.5l0-0.1c0-0.1-0.1-0.2,0-0.3
c0-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,1,1.6c0,0,0.1,0,0.2,0c0.2,0,0.3-0.1,0.5-0.2c0.3-0.2,0.1-0.7,0.1-0.7c0-0.1,0-0.2,0.1-0.2
c0.1-0.1,0.2,0,0.2,0c0.1,0.1,0.4,0.4,0.5,0.4c0.1,0,0.5-0.4,0.8-0.8c0.1-0.1,0.2-0.1,0.2,0c0.1,0.1,0.1,0.2,0.1,0.2
c-0.1,0.2-0.9,1.5-1.5,1.8c-0.4,0.2-1,0.4-1.2,0.5c-0.1,0.3-0.7,1.5-1.9,2c-1.2,0.5-2.2,1-2.7,1.7c-0.2,0.3-0.5,0.8-0.6,0.9
c0,1.4,0.1,4.6-0.3,5C94.1,28,94.1,28,94,28c-0.3,0-0.4-0.4-0.5-1.8c0-0.7-0.1-1.5-0.2-1.8c-0.2-0.4-0.2-1-0.2-1.4
c-0.1-0.7-0.1-1.4-0.5-1.9C92,20.3,91.3,20,91.1,20c-0.1,0-0.1,0-0.1,0c0,0.4,0,0.6,0,0.6c0,0.1,0,0.1-0.1,0.2
c-0.1,0-0.1,0-0.2,0c0,0-1-1.1-1.5-1.4c-0.3-0.2-0.9-0.6-1.5-0.9c0,0.3,0.1,0.6,0.1,0.9c0.1,0.4,0.1,0.8,0.1,1.1
c0.1,0.6,0.3,1.2,0.4,1.7c0.1,0.2,0.1,0.4,0.2,0.6c0.1,0.1,0.2,0.2,0.2,0.4c0.1,0.1,1.6,0.9,1.5,1.2c-0.3,0.2-1.9-0.7-1.7-0.2
c0,0.3,0,0.2,0.1,0.5l0.1,0.6c0,0.4,0.2,0.7,0.2,1c0,0.2,0.1,0.4,0.1,0.6c0.1,0.4,0.2,0.7,0.3,1.1c0.1,0.3,0.1,0.7,0.1,1
c0,0.4,0,0.8,0.1,1.1c0,0.3,0.1,0.6,0.1,0.9c0,0.1,0,0.1,0,0.2c0,0.2,0,0.5,0.1,0.7c0.1,0.2,0.1,0.5,0.2,0.7
c0,0.2,0.1,0.4,0.1,0.6c0.2,0.1,0.3,0.2,0.5,0.4l1.5-2.2h3.2l1.5,2.3c0.1-0.1,0.3-0.2,0.5-0.4c0-0.1,0-0.2,0.1-0.3
c0.3-1.2,0.5-2.4,0.7-3.6l1.1-4.8c0,0,0.1-0.2,0.2-0.4c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0.1-0.1,0.1-0.2c0.1-0.2,0.1-0.4,0.2-0.5
c0.1-0.4,0.4-2.6,0.4-2.6s-0.9,0.3-0.9-0.1c0-0.1,0.8-0.6,1-0.8c0.1-0.2,0.2-0.9,0.2-0.9l2-2.4c0,0,1-2,1-2.6
c0-1.2-0.4-2.6-0.4-2.6c-0.2-0.4-0.4-0.8-0.5-1.1c-0.1-0.2-0.2-0.5-0.4-0.6c-0.2-0.2-0.5-0.3-0.7-0.5c-0.3-0.2-0.7-0.4-1-0.5
c-0.2-0.1-0.3-0.1-0.5-0.1c-0.2,0-0.4,0-0.6,0c-0.4,0-0.8,0-1.1,0.1c-0.1,0-0.3,0.1-0.4,0.2c-0.7,0.3-1.5,0.7-2.2,1
c-0.3,0.4-0.4,0.6-0.4,1.9c-0.1,1.5-0.4,4-0.4,4s-0.3,0.3-0.4-0.2c-0.2-1-0.5-2.6-0.5-3.5c0-1-0.5-1.9-0.7-2.3
c-0.4-0.2-1-0.7-1.3-0.9c-0.5-0.3-2.2-0.4-2.7-0.2c-0.4,0.1-0.8,0.2-1.2,0.4c-0.2,0.1-0.4,0.2-0.5,0.4c-0.2,0.2-0.4,0.3-0.6,0.5
c-0.1,0.2-0.3,0.3-0.4,0.5c-0.1,0.2-0.2,0.5-0.2,0.7c0,0.2,0,0.2,0,0.4c0,0.4-0.4,0.6-0.5,1.1c-0.1,0.4-0.1,0.9-0.1,1.3
c0,1.3,0.6,2.6,1.5,3.5C87.6,17.7,88.5,18.3,88.8,18.5z"/>
<path class="st2" d="M93.3,46.8c-1,0-1.9,0.1-2.7,0.1c0.1,0.7,0.2,1.6,0.3,1.8c0,0.5,0,1.1,0.1,1.6c0.1,1,0,2.1,0,3.2
c0,0.5,0,1,0.1,1.6c0.1,0.5,0.1,1.1,0.4,1.5c0.1,0.2,0.3,0.3,0.5,0.5c0.1,0.1,0.2,0.2,0.4,0.4c0.1,0,0.2,0.1,0.3,0.2
c0.1,0.1,0.1,0.4,0.1,0.6c0.1,0.5,0.1,1,0.1,1.4c0,0.5,0,1-0.1,1.5c0,0.4-0.1,1,0.2,1.4c0.4,0.6,0.6-1,0.6-1.2
c0-0.9-0.1-1.8,0.1-2.7c0.1-0.4,0-1,0.3-1.4c0.1-0.2,0.4-0.3,0.6-0.4c0.2-0.1,0.4-0.3,0.6-0.5c0.2-0.2,0.4-0.5,0.4-0.8
c0.1-0.3,0.2-0.7,0.3-1c0-0.1,0.1-0.3,0.1-0.4c0-0.3,0-0.6,0-0.9c0-0.3,0-0.6,0-0.9c0-0.2,0-0.4,0-0.6c0-0.1,0-0.3,0-0.4
c0,0,0,0-0.1,0c0.5-0.9,0.5-2,0.6-3c0-0.2,0-0.5,0.1-0.6c0-0.1,0.1-0.5,0.2-0.8C95.7,46.9,94.6,46.8,93.3,46.8z"/>
<path class="st2" d="M118.5,23.3c-0.3-0.3-0.7-0.4-1-0.7c-0.4-0.3-1-0.3-1.5-0.3c-0.1,0-0.1,0-0.2,0c-0.3,0.1-0.5,0.3-0.5,0.6
c0,0.4-0.9,3.4-1.9,4.1c-0.9,0.6-0.7,0.2-0.4-0.2c0.3-0.4,1-2.3,1.1-3.5c0.1-0.9-0.5-2.2-0.9-2.9c0,0,0,0,0,0
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.2-0.1-0.3-0.3-0.3c-0.2-0.1-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.2-0.5-0.3
c-0.3-0.2-0.8-0.4-1.2-0.4c-0.4,0-0.9-0.1-1.4-0.1c-0.1,0-0.2,0-0.4,0c-0.1,0-0.2,0.1-0.3,0.1c-0.4,0-0.8,0-1.2,0.1
c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.3,0.3-0.6,0.3c-0.2,0.1-0.3,0.2-0.5,0.3c-0.3,0.2-0.5,0.5-0.7,0.8
c-0.1,0.2-0.3,0.4-0.4,0.7c0,0.2-0.1,0.4-0.2,0.6c-0.1,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.2,0.1-0.2,0.2c-0.1,0.1-0.2,0.3-0.3,0.5
c-0.4,0.5-0.9,0.9-1.3,1.4c-0.1,0.1-0.1,0.3-0.2,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.2-0.2,0.5-0.3,0.6c-0.1,0.2-0.3,0.4-0.4,0.6
c-0.1,0.3-0.3,0.5-0.3,0.8c-0.1,0.3-0.2,0.5-0.3,0.8c-0.3,0.6-0.5,1.3-0.8,1.9c-0.1,0.3,0,0.6-0.1,0.9c-0.1,0.3-0.4,0.5-0.5,0.7
c-0.1,0.2-0.1,0.4-0.2,0.5c-0.1,0.2-0.1,0.5-0.2,0.7c-0.1,0.2-0.1,0.4-0.1,0.5c0.4-0.1,0.8-0.2,1.3-0.1c0.6-0.7,1.4-1.2,2-1.6
l1.6,0.4c0-0.1,0-0.1,0.1-0.2c0.3-0.5,1.7-3.5,1.8-3.8c0-0.1,0-0.3-0.1-0.5c-0.2-0.8-0.3-1.6,0-1.9c0.2-0.3,0.3-1.2,0.3-1.7
c0,0,0-1.1,0.2-1.8c0.2-1,0.4-1,0.5-1c0.1,0,0.1,0,0.1,0.1c0.1,0.1,0.1,0.1-0.2,1c-0.1,0.3,0.1,0.9,0.2,1.2
c0.2-0.2,0.7-0.5,1.2-0.9c0,0,0.1,0,0.1,0c0,0,0,0,0.1,0c0.3,0,0.4,0.1,0.4,0.2c0.1,0.2-0.1,0.4-0.3,0.5
c-0.4,0.3-1.1,0.9-1.5,1.7c-0.2,0.4-0.1,1.3,0,1.9c0,0.2,0,0.3,0,0.4c0,0.3,0.3,1.5,0.6,1.6c0,0,0.1-0.2,0.2-0.6
c0.1-0.5,0.8-1.1,0.8-1.1c0.1,0,0.1-0.1,0.2,0c0.1,0,0.1,0.1,0.1,0.2c0,0.1-0.2,0.6-0.4,0.9c-0.2,0.1-0.3,1.2,0.3,2.5
c0.3,0.6,0.8,1.3,1.2,1.8c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.2,0.3,0.4,0.5,0.5c0.2,0.1,0.5,0.3,0.7,0.4c0.2,0.1,0.3,0.1,0.5,0.2
c0.2,0.1,1.1,0.4,1.1,0c0-0.1-0.3-0.3-0.3-0.3c-0.1-0.3,0.1-0.4,0.2-0.5c0.1-0.2,0.3-0.2,0.5-0.2c0.2-0.1,0.5-0.2,0.7-0.3
c0.4-0.1,0.8-0.4,1.2-0.6c0.3-0.3,0.5-0.5,0.7-0.8c0.1-0.3,0.4-1.2,0.2-1.8c-0.2-0.5-0.1-0.6-0.1-0.6c0,0,0.1-0.1,0.2-0.1
c0.1,0,0.2,0,0.4,0.7c0,0.1,0,0.2,0,0.3c0.1,0.4,0.1,0.7,0.4,0.8c0.2,0,0.4,0,0.6-0.1c0.3-0.1,0.6-0.3,0.8-0.5
c0.2-0.2,0.4-0.3,0.5-0.5c0.1-0.1,0.2-0.3,0.3-0.4c0.1-0.1,0.1-0.1,0.2-0.2c0.3-0.4,0.3-1,0.3-1.5c0-0.1,0-0.1,0-0.2
c0-0.1,0-0.2-0.1-0.3c-0.1-0.2-0.2-0.4-0.4-0.6c-0.1-0.1-0.2-0.1-0.2-0.2l-0.4-0.2c-0.1-0.1-0.2-0.1-0.3-0.1l0,0
c-0.1,0-0.3-0.1-0.3-0.2c0-0.1,0.1-0.2,0.2-0.2c0.1,0,0.2,0,0.2,0.1c0.2,0,0.4,0.2,0.5,0.3c0.2,0.1,0.3,0.2,0.4,0.3
c0.1,0.1,0.2,0.1,0.3,0.1c0.3,0.1,0.5-0.2,0.5-0.2c0,0,0,0,0,0c0-0.1,0.1-0.2,0.1-0.2c0.1-0.2,0.1-0.5,0.1-0.7
C119.3,24.3,118.9,23.6,118.5,23.3z"/>
<path class="st2" d="M104.7,59.2c0,0-1-2.4-1.1-2.4c-0.1-0.2-0.2-0.5-0.3-0.7c-0.1-0.3,0.2-0.5,0.3-0.7c0.1-0.3,0.3-0.7,0.3-1.1
c0-0.2,0-0.5,0-0.8c0-0.2-0.1-0.5-0.2-0.7c0-0.2,0-0.3-0.1-0.5c-0.1-0.3-0.2-0.7-0.2-1c-0.1-0.5-0.3-1.1-0.4-1.6
c-0.1-0.2-0.1-0.5-0.2-0.8l-0.4-0.1c-0.6-0.5-2.2-1.3-5-1.7c0.1,0.4,0.1,0.8,0.2,0.9c0.1,0.2,0.2,0.4,0.3,0.6
c0.1,0.3,0.4,0.5,0.5,0.8c0.1,0.3,0.1,0.6,0.2,0.9c0.1,0.4,0.2,0.7,0.4,1c0.1,0.2,0.3,0.4,0.3,0.6c0,0.2-0.1,0.5,0,0.7
c0,0.2,0.2,0.3,0.2,0.5c0.1,0.2,0.1,0.4,0.3,0.5c0.4,0.5,0.7,1,1.2,1.4c0.3,0.3,0.7,0.6,1,0.8c0.2,0.1,0.4,0.2,0.5,0.4
c0.1,0.2,0.1,0.5,0.2,0.7c0.1,0.2,0.4,0.5,0.3,0.8c0.2-0.1,0.4,0.4,0.4,0.6c0.1,0.2,0.2,0.5,0.3,0.7c0.2,0.2,0.4,0.6,0.6,0.8
c0.1,0.1,0.2,0.1,0.3,0.1c0.2,0,0.1-0.1,0.1-0.3C104.8,59.6,104.7,59.4,104.7,59.2z"/>
<path class="st2" d="M75.8,31.7c0.2,0.1,0.5,0.1,0.7,0.3c0.1,0.1,0.2,0.3,0.3,0.5c0,0.1,0,0.3,0.1,0.3c0.1,0.1,0.4,0.1,0.5,0
c0.2-0.1,0.2-0.2,0.4-0.3c0.1-0.1,0.2-0.1,0.2-0.1c0,0,0-0.1,0-0.1c0,0,2.2-1.4,2.4-3.1c0.2-1.7,0-2.4,0-2.4c0-0.1,0-0.2,0.1-0.2
c0.1,0,0.2,0,0.2,0.1c0,0,0.3,0.4,0.4,1.1c0.1,0.3,0.1,0.5,0.2,0.6c0.3-0.4,0.8-1.3,0.8-2.1c0-0.3,0-0.6,0-0.9
c0-0.7,0.1-1.2-0.2-1.8c-0.4-0.8-0.6-1-0.6-1c-0.1-0.1-0.1-0.2,0-0.2c0.1-0.1,0.2-0.1,0.2,0c0.1,0.1,1.4,1.1,1.6,1.7
c0.1,0.4,0.1,1.7,0,3c0,0.3,0,0.5,0,0.6c0,0.3,0.4,2,0.8,2.7c0.1,0.3,0.3,0.8,0.5,1.3l1.5-0.3c0.7,0.3,1.5,0.9,2,1.6
c0.4,0,0.8,0,1.2,0.1c0,0,0,0,0-0.1c0-0.1,0.1-0.2,0.1-0.3c0-0.2-0.1-0.4-0.2-0.6c-0.1-0.3-0.2-0.6-0.4-0.9
c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.2-0.1-0.4-0.1-0.6c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.2-0.5-0.2-0.8
c-0.1-0.2-0.1-0.4-0.2-0.6c-0.1-0.1-0.1-0.3-0.2-0.4c-0.1-0.2-0.3-0.1-0.4-0.4c-0.1-0.2,0-0.5-0.2-0.7c-0.2-0.4-0.5-0.7-0.7-1.2
c-0.1-0.3-0.2-0.7-0.3-1c-0.1-0.3-0.2-0.5-0.4-0.8c-0.2-0.2-0.2-0.4-0.2-0.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.2-0.1-0.4-0.3-0.5
c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.2-0.2-0.2-0.3c-0.2-0.3-0.3-0.6-0.4-0.9c-0.1-0.4-0.4-0.6-0.7-0.9c-0.1-0.1-0.3-0.2-0.4-0.3
c-0.1-0.1-0.2-0.2-0.3-0.2c-0.1-0.1-0.2-0.1-0.3-0.2c-0.4-0.3-0.8-0.6-1.2-0.7c-0.2,0-0.3-0.1-0.5-0.2c-0.3-0.1-0.6-0.2-0.9-0.2
c-0.3,0-0.6-0.1-0.9-0.1c-0.2,0-0.4,0-0.6,0c-0.2,0-0.5,0-0.7,0c-0.3,0.1-0.6,0.2-0.9,0.2c-0.4,0.1-0.7,0.4-1,0.7
c-0.3,0.2-0.6,0.4-0.9,0.7c-0.7,0.8-1,1.7-1,2.8c0,1.5,0.6,3,1.1,3.9c0.2,0.4,0.1,0.8,0.1,0.8s-0.3-0.6-0.7-1.2
c-0.4-0.6-0.5-0.2-1.2-1.8c-0.5-1-0.2-2.3,0.1-3.1c-0.1,0.1-0.2,0.1-0.3,0.1c-0.1,0-0.2,0-0.3,0c-0.4,0.1-0.8,0.2-1.2,0.3
c-0.3,0.1-0.6,0.2-0.9,0.3c-0.5,0.2-0.8,0.6-1.1,0.9c-0.3,0.4-0.5,1-0.6,1.5c0,0.2,0,0.3,0,0.5c0,0.3,0.2,0.6,0.2,0.9
c0,0.1,0.1,0.2,0.2,0.3c0.1,0.2,0.1,0.5,0.1,0.7c0.1,0.9,0.3,1.9,1.1,2.6c0.2,0.2,0.4,0.2,0.7,0.3c0.3,0.2,0.6,0.4,1,0.5
c0.5,0.2,1,0.1,1.4,0.4c0.2,0.2,0.3,0.5,0.6,0.7c0.1,0.1,0.3,0.2,0.4,0.2c0.2,0.1,0.4,0.3,0.6,0.4C75.2,31.5,75.5,31.6,75.8,31.7
z"/>
<path class="st2" d="M84.2,48.9L84,49c0,0.2,0,0.3-0.1,0.5c-0.2,0.8-0.5,1.5-0.6,2.3c-0.1,0.3-0.2,0.5-0.3,0.8
c-0.2,0.5-0.2,1,0,1.5c0.1,0.7,0.6,1.6,0.4,2.4c-0.1,0.2-0.2,0.4-0.3,0.7c-0.2,0.3-0.4,0.7-0.6,1c-0.2,0.3-0.3,0.6-0.5,0.8
c-0.1,0.2-0.4,0.6,0,0.7c0.3,0,0.4-0.2,0.5-0.3c0.1-0.2,0.3-0.3,0.4-0.5c0.1-0.2,0.3-0.4,0.4-0.5c0.1-0.2,0.2-0.4,0.3-0.6
c0.1-0.3,0.4-0.6,0.5-0.9c0.1-0.2,0.3-0.5,0.5-0.6c0.3-0.2,0.6-0.3,1-0.4c0.4-0.2,0.7-0.5,0.9-0.9c0.2-0.3,0.4-0.6,0.6-0.9
c0.2-0.4,0.5-0.8,0.6-1.2c0.1-0.3,0.3-0.7,0.4-1c0-0.2,0.1-0.5,0.2-0.7c0.2-0.6,0.3-1.2,0.5-1.8c0.1-0.2,0.2-0.5,0.3-0.7
c0.1-0.2,0.1-0.5,0.3-0.8c0.1-0.1,0.2-0.4,0.3-0.7C86.6,47.5,84.8,48.4,84.2,48.9z"/>
</g>
</g>
</g>
<g>
<path class="st2" d="M25.9,20c-1.8,1.4-4.8,3.5-4.8,4.4c-0.2,2.3,0.3,5,0.5,6.4c0.1,0.4,0.2,1.7,0.4,3.3c1.1-0.1,2.4-0.1,3.7-0.2
c-0.1-2.1-0.2-3.8-0.2-3.8s-0.1-2.1,0-2.8c0.1-0.7,1.4-2,1.4-2s1-1,1.9-2l0.5-0.7c0,0-0.1,0-0.1,0c0,0-0.6-0.3-0.5-0.6
c0-0.1,0.1-0.2,0.2-0.2c0.1,0,0.4,0.1,0.4,0.1c0.9,0,1.3-0.4,1.5-1c0.1-0.2,0.1-0.6,0.1-0.7l0-0.1c0-0.1,0-0.2,0-0.2
c0.1-0.1,0.1-0.1,0.2-0.1c0.1,0,0.7,0.3,0.4,1.8c-0.1,0.6-1.2,1.5-2.1,2.1c0.8,0.9,1.6,1.6,1.6,1.6s1.3,1.3,1.4,2
c0.1,0.7,0,2.8,0,2.8s-0.1,1.8-0.2,3.8c1.3,0,2.5,0.1,3.7,0.2c0.2-1.6,0.4-2.9,0.4-3.3c0.2-1.4,0.7-4.1,0.5-6.4
c-0.1-0.9-3-3-4.8-4.4c1.6-1.7,4-4.4,4.3-5.9c0.4-2.1-0.7-3.7-3.1-4.7c-2.3-0.9-3.7-0.3-4.2,0c-0.5-0.3-1.9-0.9-4.2,0
c-2.4,1-3.5,2.6-3.1,4.7C21.9,15.5,24.3,18.3,25.9,20z M25.9,11.7c0.5-0.7,1.5-1.4,2.1-1.7c0.2-0.1,0.7-0.3,1-0.4
c0.3,0.1,0.7,0.3,1,0.4c0.6,0.3,1.6,1,2.1,1.7c0.6,0.8,0.2,2.7-0.7,3.7c-0.3,0.4-1.3,1.2-2.3,2l-0.4,0.4c0.3,0,0.4,0,0.6,0.1
c0.6,0.3,0.9,0.8,0.9,1c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.3-0.1c0,0-0.3-0.1-0.7-0.1c-0.3,0-1,0.1-1.2,0.7
c-0.2,0.6,0.2,1.3,0.3,1.4c0,0,0.1,0.1,0.1,0.2c0,0.1-0.1,0.2-0.2,0.2c0,0,0,0,0,0c0,0-0.1,0-0.1,0l-0.2-0.1c0,0-1.4-0.4-1.1-2.1
c0.1-0.6,1.1-1.4,1.9-2.1c-0.8-0.7-1.6-1.3-1.8-1.6C25.7,14.3,25.3,12.5,25.9,11.7z"/>
<path class="st2" d="M16.1,46.7c-1.4,0.2-2.5,0.5-3.3,0.8v6.7c0,0-0.1,2.1,1.7,2.1c1.8,0,1.6-2.1,1.6-2.1V46.7z"/>
<path class="st2" d="M47.7,14.5h-7c-1.1,0-1.9,0.8-1.9,0.8l-2.7,2.9c-0.8,0.8-0.8,1.7-0.8,1.7v0.9h4.9c1.1,0,1.1,1.1,1.1,1.1v8.5
v4.2c1.3,0.2,2.4,0.4,3.3,0.7V21.9c0-1.1,1.1-1.1,1.1-1.1h3v-5.2C48.8,14.5,47.7,14.5,47.7,14.5z"/>
<path class="st2" d="M12.8,21.9v13.3c0.9-0.2,2-0.5,3.3-0.7v-4.1v-8.5c0,0,0-1.1,1.1-1.1h4.9v-0.9c0,0,0-0.9-0.8-1.7l-2.7-2.9
c0,0-0.8-0.8-1.9-0.8h-7c0,0-1.1,0-1.1,1.1v5.2h3C11.7,20.8,12.8,20.8,12.8,21.9z"/>
<path class="st2" d="M41.4,46.7v7.4c0,0-0.2,2.1,1.6,2.1c1.8,0,1.7-2.1,1.7-2.1v-6.7C43.9,47.2,42.8,46.9,41.4,46.7z"/>
<path class="st2" d="M26.4,45.8c-1,0-1.9,0-2.8,0.1c0.3,2.5,1,9.2,1,10.6c0,1.5-0.5,2.9-0.6,3.3c-0.1,0.7-0.3,1.8,0.4,2
c0.7,0.1,1.2-0.5,1.4-0.9c0.2-0.4,0.7-1.6,0.9-3.3c0.1-0.8-0.4-8.9-0.4-9.5C26.5,47.8,26.5,46.9,26.4,45.8z"/>
<path class="st2" d="M33.2,56.5c0-1.3,0.7-8,1-10.6c-0.9,0-1.8-0.1-2.7-0.1c-0.1,1.1-0.1,2-0.1,2.2c0,0.6-0.5,8.7-0.4,9.5
c0.2,1.8,0.8,2.9,0.9,3.3c0.2,0.4,0.7,1,1.4,0.9c0.7-0.1,0.6-1.3,0.4-2C33.7,59.4,33.2,58,33.2,56.5z"/>
</g>
<path class="st3" d="M28.7,36.4c-16,0-19.2,2.8-19.2,2.8l0.3,7c0,0,2.9-2.9,18.9-2.9c16,0,19,2.9,19,2.9l0.3-7
C48,39.2,44.8,36.4,28.7,36.4z M31.3,41.3l-1.7-0.7l0.7,1.7h-3l0.7-1.7l-1.7,0.7v-3l1.7,0.7l-0.7-1.7h3L29.5,39l1.7-0.7V41.3z"/>
<g>
<path class="st0" d="M168.3,15.1l0.5,0c3.3,0.3,3.5,0.8,3.7,2.2c0.2,1.3,0.3,3.3,0.3,7V28c0,5.8-1,12.4-8.5,12.4
c-5.7,0-8.6-3.6-8.6-10.8V19.4c0-4,0.3-4,3.4-4.2l0.5,0v-1.6h-12.6v1.6l0.5,0c3.3,0.3,3.3,0.3,3.3,4.2v11.3c0,5.1,1.4,8.4,4.4,10.5
c1.8,1.3,4.5,2.1,7.5,2.1c3.6,0,6.6-1.1,8.7-3.1c2.5-2.5,3.6-5.9,3.6-11.4v-4.3c0-3.8,0.1-5.7,0.2-6.8c0.2-1.6,0.6-2.1,3.4-2.4
l0.5-0.1v-1.6h-11V15.1z"/>
<path class="st0" d="M202.3,15.2l0.5,0c3.3,0.2,3.8,0.7,4,2.5c0.2,1.4,0.2,3.5,0.2,6.9v10.5l-19.7-21.5H180v1.6l0.5,0
c2.4,0.2,2.8,0.5,3.8,1.6c0.7,0.8,0.9,1.1,0.9,4.4v10c0,3.9-0.2,5.9-0.3,7.2l0,0.2c-0.2,2-0.8,2.5-3.5,2.7l-0.5,0v1.6h11.2v-1.6
l-0.5,0c-3.1-0.3-3.6-0.6-3.8-2.7c-0.2-1.6-0.3-4-0.3-7.3V20.6l20.1,22.5l0.2,0.2h1.6V24.6c0-3.8,0.1-5.6,0.2-7
c0.2-1.8,0.7-2.2,3.2-2.4l0.5,0v-1.6h-10.9V15.2z"/>
<path class="st0" d="M214.1,15.2l0.5,0c3.5,0.2,3.6,0.4,3.6,3.8v18.3c0,3.4-0.1,3.6-3.6,3.8l-0.5,0v1.6h13.2v-1.6l-0.5,0
c-3.5-0.2-3.7-0.4-3.7-3.8V19c0-3.4,0.1-3.6,3.7-3.8l0.5,0v-1.6h-13.2V15.2z"/>
<path class="st0" d="M260.2,13.6h-11v1.6l0.5,0.1c1.4,0.2,2.8,0.4,3.1,0.8c0.2,0.3-0.1,1.1-0.3,1.9c-2,5.8-5.4,13.8-7.3,18
c-3.2-7.6-6.5-15.6-7.7-18.7c-0.2-0.5-0.4-1.1-0.2-1.3c0.2-0.4,1.9-0.6,2.6-0.6l0.5-0.1v-1.6h-12.2v1.6l0.5,0
c2.5,0.2,2.9,0.4,4.4,4c3.1,7.3,6.5,15.6,9.7,23.9l0.1,0.3h1.5l0.1-0.3c3.7-9.4,8.7-20.5,10.1-23.6c1.7-3.8,2.1-4,5-4.3l0.5-0.1
V13.6z"/>
<path class="st0" d="M282.6,35.5c-0.7,1.6-1.4,3-2.1,3.8c-0.9,1-1.5,1.5-6,1.5c-2.2,0-3.8,0-4.6-0.6c-0.5-0.3-0.8-0.9-0.8-3v-8.4
h4.3c4,0,4.1,0.4,4.5,3l0.1,0.5h1.6v-9H278l-0.1,0.4c-0.5,2.5-0.6,2.8-4.6,2.8h-4.2V16.4c0-0.2,0-0.6,0-0.7c0,0,0.2-0.1,0.8-0.1
h3.2c3.7,0,4.9,0.2,5.7,1.2c0.6,0.7,1,1.7,1.4,3.3l0.1,0.5l1.7-0.3l0-0.5c-0.1-1.4-0.3-4.2-0.3-5.6v-0.6h-21.3v1.6l0.5,0
c3.3,0.3,3.3,0.3,3.3,4.1v18c0,3.4-0.2,3.5-4.1,3.8l-0.5,0v1.6h22.9l0.1-0.4c0.5-1.6,1.4-5,1.6-6.4l0.1-0.5l-1.7-0.3L282.6,35.5z"
/>
<path class="st0" d="M309.7,39.5c-1.2-1.3-2.6-2.9-4-4.9c-1.3-1.7-3.1-4.2-4-5.8c4-1.7,6-4.3,6-7.6c0-2.6-1.1-4.7-3.2-6
c-1.8-1.1-4.1-1.6-7.9-1.6h-11.8v1.6l0.5,0c3.3,0.3,3.4,0.3,3.4,3.7v18.5c0,3.4-0.1,3.6-3.6,3.8l-0.5,0v1.6h13v-1.6l-0.5,0
c-3.4-0.2-3.5-0.4-3.5-3.8v-7.3h0.7c2.2,0,2.8,0.5,3.6,1.7c0.6,0.8,1.2,1.7,1.8,2.6c1.1,1.6,2.1,3.2,3.2,4.6
c2.2,2.9,4.3,3.9,8.3,4.1c0.4,0,0.9,0,1.3,0h0.4l0.3-1.4l-0.5-0.1C311.8,41.3,311.1,40.9,309.7,39.5z M293.6,17.3
c0-1.4,0.2-1.5,0.2-1.5c0.1-0.1,1-0.2,2.4-0.2c3.9,0,6.2,2.4,6.2,6.3c0,2.4-0.8,4.1-2.4,5.3c-1.1,0.8-2.4,1.1-4.9,1.1h-1.5V17.3z"
/>
<path class="st0" d="M324.2,25.9l-0.3-0.2c-4.1-2-5.9-3.4-5.9-6.3c0-2.8,1.9-4.6,4.9-4.6c3,0,5,1.7,6.2,5.4l0.2,0.5l1.6-0.3
l-0.2-1.2c-0.3-2-0.6-3.5-0.7-4.9l0-0.4l-0.4-0.1c-0.2-0.1-0.5-0.1-0.7-0.2c-1.2-0.3-2.9-0.7-5.2-0.7c-6.6,0-10.1,4.1-10.1,8.1
c0,4.8,4.6,7.2,7.4,8.7l0.7,0.4c3.5,1.9,5.9,3.3,5.9,6.2c0,3.1-2.1,5-5.4,5c-5.9,0-7.5-6.1-7.7-6.8l-0.1-0.6l-1.6,0.6l0,0.4
c0.1,1.1,0.8,5.9,1.2,6.7l0.1,0.2l0.2,0.1c0.5,0.2,1.3,0.5,2.6,0.9l0.2,0.1c1,0.3,2.5,0.6,4.4,0.6c6.1,0,10.8-3.6,10.8-8.5
C332.2,29.9,327.9,27.8,324.2,25.9z"/>
<path class="st0" d="M333.4,15.2l0.5,0c3.5,0.2,3.6,0.4,3.6,3.8v18.3c0,3.4-0.1,3.6-3.6,3.8l-0.5,0v1.6h13.2v-1.6l-0.5,0
c-3.5-0.2-3.7-0.4-3.7-3.8V19c0-3.4,0.1-3.6,3.7-3.8l0.5,0v-1.6h-13.2V15.2z"/>
<path class="st0" d="M392.9,13.6v1.6l0.5,0c0.9,0.1,2.6,0.3,2.8,0.6c0.1,0.3-0.3,1.2-0.5,1.6c-1.3,2.5-3.9,7-5.7,9.8l-0.5-0.9
c-1.8-3-3.9-6.5-5.7-9.8c-0.3-0.5-0.3-0.7-0.3-0.7c0-0.1,0.3-0.3,2.4-0.6l0.5-0.1v-1.6h-11.6c0-0.2,0-0.4,0-0.5v-0.6h-1.3l-0.2,0.2
c-0.6,0.7-0.9,0.9-2,0.9h-19c-1.3,0-1.7-0.1-2.1-0.8l-0.2-0.3h-1.3l0,0.5c-0.1,2.6-0.3,5.3-0.6,7.4l-0.1,0.6h1.7l0.1-0.4
c0.4-1.7,0.9-2.8,1.3-3.6c0.5-0.9,1.3-1.4,6-1.4h2v21.8c0,3-0.1,3.5-3.9,3.7l-0.5,0v1.6h13.8v-1.6l-0.5,0c-4-0.2-4-0.7-4-3.7V15.6
h2.7c4.1,0,4.8,0.4,5.4,1.3c0.4,0.6,0.8,1.6,1.3,3.6l0.1,0.5l1.7-0.2l-0.1-0.5c-0.2-1.6-0.3-3.4-0.4-5.1l0.3,0
c2.5,0.1,2.6,0.3,4.6,3.6c2.4,3.8,4.3,7,5.8,9.8c0.7,1.3,0.8,1.7,0.8,2.4v6.3c0,3.5-0.1,3.6-3.8,3.9l-0.5,0v1.6h13.6v-1.6l-0.5,0
c-3.8-0.2-3.9-0.4-3.9-3.9v-6.3c0-1.1,0-1.6,0.8-2.8c2.2-3.8,3.9-6.6,6.6-10.4l0.1-0.2c1.2-1.7,1.5-2,4.4-2.4l0.5-0.1v-1.6H392.9z"
/>
</g>
<g>
<path class="st0" d="M161.7,62.1c0-2.7-1.7-4.3-4.4-4.3c-0.8,0-2.1,0.3-3.2,0.8c-2.6,1.1-5.1,3.9-5.1,7.8c0,2.8,1.6,4.4,4.3,4.4
c1.5,0,3.3-0.6,4.9-1.8C160.3,67.5,161.7,64.8,161.7,62.1z M155.2,69.2c-0.3,0.1-0.5,0.1-0.8,0.1c-1.4,0-2.3-1.2-2.3-3.1
c0-4.4,2.3-6.5,3.4-6.9c0.3-0.1,0.6-0.2,1-0.2h0c1.3,0,2.1,1.2,2.1,3.1C158.6,65.8,156.8,68.7,155.2,69.2z"/>
<path class="st0" d="M172.8,50c-1.4,0-3.4,1-4.8,2.3c-1.3,1.2-2.2,3-2.9,5.9h-1.8l-1.2,0.8l0.1,0.7h2.5c-0.4,1.7-0.7,3.2-1.1,5.2
l-0.8,3.7c-0.8,4-1.5,6.2-2.1,6.8c-0.3,0.3-0.8,0.5-1.3,0.5c-0.5,0-1.5-0.3-2-0.6c-0.3-0.2-0.6-0.2-0.9,0c-0.5,0.3-1,0.8-1,1.3
c0,0.8,1.2,1.4,2.3,1.4c1.2,0,2.6-0.6,3.8-1.7c2.2-1.9,3-3.6,4.1-8.3c0.9-3.5,1.2-5.2,1.8-8.1l0-0.1l3-0.3l1.4-1.2H168
c0.9-4.6,1.8-6.5,3.1-6.5c0.6,0,1.2,0.3,1.7,0.8c0.3,0.3,0.7,0.4,1.1,0.1c0.2-0.2,0.9-0.7,0.9-1.3c0-0.2-0.1-0.5-0.3-0.8
C174.1,50.4,173.5,50,172.8,50z"/>
<path class="st0" d="M197.4,53.2c-1.5-1-3.9-1.4-7.1-1.4h-10.2v1.1l0.3,0c2.8,0.2,2.9,0.3,2.9,3.1v14.8c0,2.8-0.1,2.9-3.2,3.1
l-0.3,0v1.1h11.2V74l-0.3,0c-3.2-0.2-3.4-0.4-3.4-3.1v-5.7l2.7,0.6c0.4,0.1,1.2,0.1,1.7,0c4.1-0.4,8.4-2.6,8.4-7.4
C200.2,56.2,199.3,54.4,197.4,53.2z M190,64.1c-1.1,0-2-0.1-2.6-0.3v-8.8c0-1,0.1-1.5,0.3-1.7c0.1-0.1,0.8-0.3,2-0.3
c3.8,0,6,1.9,6,5.3C195.8,63.6,191.7,64.1,190,64.1z"/>
<path class="st0" d="M212,59c-2,0-3.7,1.9-4.7,3.1v-3.4l-0.5,0.2c-2,0.7-3.6,1.2-5.5,1.4l-0.3,0v0.9l0.3,0c2.2,0.3,2.2,0.3,2.2,2.4
v7.6c0,2.2-0.1,2.3-2.4,2.5l-0.3,0v1.1h9.9V74l-0.3,0c-3.1-0.2-3.1-0.4-3.1-2.5v-7c0.9-1.6,1.9-2.5,2.8-2.5c0.6,0,1,0.2,1.6,0.7
c0.3,0.3,0.8,0.3,1.4,0.1c0.9-0.4,1.4-1.1,1.4-1.7C214.6,60.1,213.5,59,212,59z"/>
<path class="st0" d="M219.7,55.6c1.1,0,2.1-0.8,2.1-1.8c0-1-0.9-1.8-2.1-1.8c-1.1,0-2,0.8-2,1.8C217.6,54.8,218.6,55.6,219.7,55.6z
"/>
<path class="st0" d="M221.7,71.4V58.8l-0.5,0.2c-1.6,0.6-3.4,1.1-5.4,1.3l-0.3,0v1l0.3,0c2.1,0.4,2.2,0.4,2.2,2.4v7.6
c0,2.2-0.1,2.3-2.5,2.5l-0.3,0v1.1h9.5V74l-0.3,0C221.9,73.8,221.7,73.6,221.7,71.4z"/>
<path class="st0" d="M243.5,71.4v-6.9c0-3.4-2.1-5.4-5.6-5.4c-1.3,0-2.2,0.4-3.4,1.1c-0.9,0.5-1.8,1-2.5,1.4v-2.7l-0.5,0.2
c-1.6,0.6-3.3,1.1-5.4,1.4l-0.3,0v0.9l0.3,0.1c2.1,0.4,2.1,0.4,2.1,2.4v7.6c0,2.2-0.2,2.4-2.8,2.6l-0.3,0v1.1h9.5V74l-0.3,0
c-2.2-0.2-2.4-0.3-2.4-2.5V63c1.1-0.8,2.7-1.6,4.2-1.6c2.4,0,3.5,1.2,3.5,3.7v5.9c0,2.6-0.2,2.7-2.6,2.9l-0.3,0v1.1h9.2V74l-0.3,0
C243.6,73.8,243.5,73.7,243.5,71.4z"/>
<path class="st0" d="M260.2,70.9c-1.9,1.5-3.2,1.8-4.9,1.8c-2.4,0-6.1-1.7-6.1-6.4c0-3.3,1.8-5.3,4.9-5.3c1.5,0,2.9,0.4,3.9,1.3
c0.5,0.4,0.7,0.5,1.1,0.5c0.6,0,1.5-0.7,1.5-1.6c0-0.5-0.2-0.8-0.8-1.3c-0.7-0.5-2.1-1-3.8-1c-1.6,0-4.1,0.6-6.2,2
c-2.9,1.9-4.3,4.3-4.3,7.1c0,3.6,3,7.4,8.4,7.4c2.3,0,4.9-1.4,7.1-3.7l0.2-0.2l-0.8-0.9L260.2,70.9z"/>
<path class="st0" d="M277.6,64.2c0-2.4-2.6-5.2-6.3-5.2c-2,0-4.4,1-6.2,2.6c-1.8,1.7-2.8,3.8-2.8,6.2c0,3.7,2.6,7.6,8.3,7.6
c1.3,0,4.3-0.8,6.7-3.6l0.2-0.2l-0.8-0.8l-0.2,0.2c-1.4,1.1-2.9,1.7-4.4,1.7c-1.7,0-3.3-0.6-4.4-1.8c-1.2-1.2-1.8-2.9-1.8-5
c5-0.1,9.8-0.4,10.5-0.6C277.2,65.3,277.6,65,277.6,64.2z M273.2,64.3c-2.3,0.1-4.6,0.1-6.9,0.1c0.6-2.5,2.4-3.7,3.9-3.7h0
c1,0,1.9,0.3,2.5,1c0.6,0.6,0.9,1.5,0.9,2.4C273.6,64.1,273.6,64.3,273.2,64.3z"/>
<path class="st0" d="M304.9,69.3c-0.4,1-1.1,2.3-1.8,3.1c-0.9,0.9-1.6,1.2-5.4,1.2c-2,0-3.4,0-4.1-0.5c-0.5-0.3-0.8-0.8-0.8-2.5
v-6.9h3.9c3.7,0,3.7,0.4,4.2,2.5l0.1,0.3h1.1v-7h-1.1l-0.1,0.3c-0.4,2-0.5,2.4-4.2,2.4h-3.8v-8.4c0-0.7,0-0.7,0.9-0.7h2.8
c3.4,0,4.4,0.2,5.1,1c0.5,0.6,0.9,1.4,1.3,2.7l0.1,0.3l1.2-0.2l0-0.3c-0.1-1.2-0.3-3.4-0.3-4.5v-0.3h-18.5v1.1l0.3,0
c2.9,0.3,3.1,0.3,3.1,3.4v14.5c0,2.7-0.1,2.9-3.7,3.2l-0.3,0v1.1h19.9l0.1-0.2c0.4-1.2,1.2-4,1.5-5.2l0.1-0.4l-1.2-0.2L304.9,69.3z
"/>
<path class="st0" d="M323.8,71.1v-22l-0.4,0.1c-1.4,0.4-4,1-6.1,1.2l-0.3,0v0.9l0.3,0c2.8,0.2,2.8,0.3,2.8,2.3v5.6
c-0.9-0.2-1.9-0.2-2.5-0.2c-5.9,0-10.8,4-10.8,8.8c0,5.2,4.7,7.6,7.8,7.6c0.8,0,2-0.4,3.5-1.1l2-1v2.3l0.5-0.2
c1.5-0.5,3.5-0.9,6-1.3l0.3,0v-1l-1.6-0.2C323.9,72.9,323.8,72.8,323.8,71.1z M320.1,71.9c-0.9,0.5-2.3,1.1-3.6,1.1
c-2.8,0-5.5-2.1-5.5-6c0-5,3.3-6.3,5.2-6.3c1.7,0,3.1,0.6,4,1.7V71.9z"/>
<path class="st0" d="M353.2,60.5v-1.1h-7.7v1.1l0.3,0c1.2,0.2,2.2,0.3,2.4,0.7c0.1,0.2,0.1,0.7-0.1,1.3c-0.7,2.4-1.6,4.8-2.4,7.1
l-0.3,0.8c-1.9-3.9-3.4-7.2-4.9-10.5l-0.1-0.2h-1l-0.1,0.2c-1.5,3.7-3,7.1-4.5,10.3c-1.3-3-2.3-5.6-3.2-7.9c-0.2-0.5-0.3-1-0.2-1.1
c0.2-0.3,1.2-0.4,2.2-0.6l0.3,0v-1.1h-8.9v1.1l0.3,0c1.8,0.2,2,0.3,2.6,2c1.7,4.3,3.4,8.5,5,12.7l0.1,0.2h1.1l0.1-0.2
c1.2-2.9,2.4-5.6,3.7-8.4c0.3-0.6,0.6-1.3,0.9-1.9c0.5,1,1,2,1.4,3c1.2,2.5,2.4,4.9,3.5,7.4l0.1,0.2h1.1l1-2.5
c1.6-4,3.2-8.1,4.1-10.1c0.8-1.7,0.9-2.1,2.9-2.3L353.2,60.5z"/>
<path class="st0" d="M368.2,72.6c-0.3,0.2-0.8,0.3-1.2,0.3c-0.7,0-1.2-0.6-1.2-1.6v-6.7c0-2.2-0.6-3.6-2-4.6
c-0.9-0.6-2.1-0.9-3.4-0.9c-2.1,0.4-4.9,1.7-6.2,2.5c-0.7,0.4-1.4,0.9-1.4,1.5c0,0.9,1.1,1.7,2,1.7c0.7,0,1.1-0.3,1.3-1
c0.4-1.1,0.7-1.8,1.2-2.2c0.4-0.4,0.9-0.6,1.6-0.6c2.1,0,3.2,1.4,3.2,3.9v0.7c-1.2,0.7-3.8,1.5-6.1,2.1c-2.4,0.7-3.4,1.8-3.4,3.5
c0,2.1,2.1,4.3,5.2,4.3c0.9,0,2.6-1,4.5-2.1c0.2,0.5,0.5,1,0.9,1.3c0.5,0.5,1.5,0.8,2.3,0.8h0.1l3.5-2l-0.6-1.1L368.2,72.6z
M362.1,72c-0.8,0.7-2,1-2.8,1c-1.1,0-2.7-0.8-2.7-2.5c0-1,0.6-1.6,2.3-2.3c0.3-0.1,0.8-0.3,1.3-0.5c0.7-0.3,1.4-0.5,1.9-0.8V72z"
/>
<path class="st0" d="M383.1,61c0-0.9-1-2-2.5-2c-1.9,0-3.7,1.9-4.6,3.1v-3.4l-0.5,0.2c-2,0.7-3.6,1.2-5.5,1.4l-0.3,0v0.9l0.3,0
c2.2,0.3,2.2,0.3,2.2,2.4v7.6c0,2.2-0.1,2.3-2.4,2.5l-0.3,0v1.1h9.9V74l-0.3,0c-3.1-0.2-3.1-0.4-3.1-2.5v-7
c0.9-1.6,1.9-2.5,2.8-2.5c0.6,0,1,0.2,1.6,0.7c0.3,0.3,0.8,0.3,1.4,0.1C382.5,62.3,383.1,61.7,383.1,61z"/>
<path class="st0" d="M400.1,73c-1.4-0.2-1.4-0.3-1.4-1.9v-22l-0.4,0.1c-1.4,0.4-4,1-6.1,1.2l-0.3,0v0.9l0.3,0
c2.8,0.2,2.8,0.3,2.8,2.3v5.6c-0.9-0.2-1.9-0.2-2.5-0.2c-5.9,0-10.8,4-10.8,8.8c0,5.2,4.7,7.6,7.8,7.6c0.8,0,2-0.4,3.5-1.1l2-1v2.3
l0.5-0.2c1.5-0.5,3.5-0.9,6-1.3l0.3,0v-1L400.1,73z M394.9,71.9c-0.9,0.5-2.3,1.1-3.6,1.1c-2.8,0-5.5-2.1-5.5-6
c0-5,3.3-6.3,5.2-6.3c1.7,0,3.1,0.6,4,1.7V71.9z"/>
</g>
<g>
<path class="st0" d="M149,86.4l0.4,0c6.1,0.5,6.6,1,6.6,7.7v33.7c0,6.6-0.5,7.2-6.6,7.7l-0.4,0v1.8h21.3v-1.8l-0.4,0
c-6.2-0.5-6.7-1-6.7-7.7V94.1c0-6.6,0.5-7.2,6.7-7.7l0.4,0v-1.8H149V86.4z"/>
<path class="st0" d="M192,107.4l-0.6-0.3c-6.2-3.4-10.3-6.1-10.3-12.1c0-4.2,2.3-9,8.9-9c5.4,0,8.9,3.3,10.9,10.3l0.1,0.4l1.8-0.4
l-0.2-1.2c-0.6-3.9-1-6.7-1.3-9.4l0-0.3l-0.3-0.1c-0.4-0.1-0.8-0.2-1.2-0.3c-2.1-0.6-4.9-1.4-8.8-1.4c-10.9,0-16.6,7.2-16.6,14.3
c0,8.5,7.4,12.7,12.3,15.4c0.4,0.2,0.8,0.4,1.2,0.7c6.2,3.6,10.2,6.3,10.2,11.9c0,6-3.7,9.8-9.6,9.8c-7.9,0-12.2-7-13.5-13
l-0.1-0.5l-1.8,0.7l0,0.3c0.2,2.2,1.4,10.7,2,12.1l0.1,0.1l0.1,0.1c0.9,0.5,2.2,1,4.3,1.6l0.4,0.1c1.8,0.5,4.2,1.1,7.3,1.1
c11.6,0,17.8-7.7,17.8-15C205.2,114.5,198.2,110.7,192,107.4z"/>
<path class="st0" d="M245.5,125.1l0.1-0.4l-1.9-0.4l-0.1,0.4c-1,3.2-2.3,5.8-3.9,7.7c-1.6,1.8-3.9,2.4-9.5,2.4
c-3.7,0-6.3-0.2-7.7-1c-1.2-0.7-1.5-2.3-1.5-6.8V94c0-6.9,0.5-7.1,6.1-7.6l0.4,0v-1.8h-20.2v1.8l0.4,0c5.9,0.5,6.1,0.7,6.1,7.6
v33.6c0,6.8-0.5,7.3-6.6,7.8l-0.4,0v1.8h35.8l0.1-0.3c0.5-1.6,1.1-4.4,1.7-7C244.8,127.9,245.2,126,245.5,125.1z"/>
<path class="st0" d="M287.6,127.4c-5.6-15-10.9-29.7-15.8-43.6l-0.1-0.4l-1.9,0.7l-17.3,43.1c-2.8,7.1-3.9,7.8-8.4,8.2l-0.4,0v1.7
h17.1v-1.7l-0.4,0c-2.9-0.3-4.7-0.6-5.3-1.5c-0.6-0.9-0.2-2.4,0.6-4.7l0.5-1.4c1-3.2,2.2-6.7,3.8-10.9H276l1.2,3.2
c1.8,4.8,3.2,8.6,4,11.3c0.4,1.3,0.4,2.1,0.1,2.6c-0.5,0.8-2,1.1-4.5,1.5l-0.4,0v1.7h19.9v-1.7l-0.4,0
C291.3,135,290.2,134.3,287.6,127.4z M275.1,113.9H261l1.2-3.2c2-5.3,4-10.7,6.2-16L275.1,113.9z"/>
<path class="st0" d="M396.1,91.5c-4.8-4.6-12.2-6.8-22.8-6.8h-22h-0.5h-17.1v1.8l0.4,0c5.5,0.4,6.8,1.3,7.2,5.1
c0.3,2.7,0.4,6.5,0.4,12.7v20.9l-34-40.4l-0.1-0.1h-11.7v1.7l0.4,0c4.2,0.4,4.9,1.1,6.7,3.1c1.4,1.7,1.6,2.4,1.6,8.4v18.4
c0,7.3-0.3,11-0.5,13.3l0,0.3c-0.4,4.3-1.9,5.1-6.5,5.5l-0.4,0v1.8h18v-1.8l-0.4,0c-5.2-0.5-6.6-1.2-7-5.5
c-0.3-2.9-0.5-7.3-0.5-13.6V95.5l35.1,42.5l0.1,0.1h1.9v-33.8c0-7,0.2-10.3,0.3-12.9c0.3-3.9,1.7-4.7,6-5l0.4,0v0
c5.7,0.5,6.2,0.7,6.2,7.7v33.7c0,6.6-0.5,7.2-7,7.7l-0.4,0v1.8h18.8c10.1,0,18.5-2.3,24.3-6.8c6.5-4.9,9.9-12.4,9.9-21.5
C403,101.8,400.6,95.8,396.1,91.5z M364.7,92.3c0-3.9,0.4-4.5,0.9-4.7c0.8-0.3,2.4-0.6,5.4-0.6c5.5,0,10,0.9,13.3,2.8
c6.6,3.6,10.3,10.8,10.3,20.3c0,11.8-5.8,24.4-22.2,24.4c-5.1,0-7.8-1.2-7.8-7.2V92.3z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 28 KiB

1
logo.svg.old

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="57" height="66" viewBox="471.5 467 57 66" enable-background="new 471.5 467 57 66"><path opacity=".2" fill="#303030" d="M528.5 504.965c0 16.634-13.123 27.615-28.24 27.615-10.29 0-19.894-5.523-24.978-14.167l.605-.027c1.313 1.192 3.39 2.58 7.404 2.515 4.77-.064 5.645-.875 9.855-2.756 22.716-10.17 26.925-19.457 27.736-21.59s2.013-5.587.756-9.415c-.242-.737-.42-1.333-.54-1.808-3.018-3.372-6.017-5.225-6.92-5.784-.14-.093-.29-.177-.43-.26l.44.26c2.01 1.247 14.314 8.782 14.314 25.417z"/><path fill="#fff" d="M509.09 518.507c1.006 0 2.077.065 2.83.568.756.503 1.193 1.63 1.445 2.263.25.634 0 1.006-.503 1.258-.438.25-.503.12-.94-.69-.44-.81-.82-1.63-3.01-1.63s-2.887.755-3.948 1.63c-1.062.876-1.443 1.193-1.825.69s-.253-1.006.437-1.63 1.825-1.63 2.888-2.077c1.06-.45 1.62-.383 2.625-.383zm-10.413 7.152c1.257 1.005 3.14 1.825 7.153 1.825 4.015 0 6.836-1.137 8.094-2.077.568-.438.82-.065.875.187.056.25.186.624-.252 1.07-.316.317-3.194 2.33-6.594 2.636-3.4.31-7.964.504-10.73-2.01-.438-.44-.316-1.07 0-1.323.317-.25.568-.438.94-.438.374.008.317.008.513.13z"/><path opacity=".2" fill="#aaa" d="M520.89 496.545c-.81 2.133-5.02 11.42-27.735 21.59-4.21 1.88-5.085 2.69-9.854 2.756-4.013.066-6.09-1.32-7.403-2.514l-.605.028h-.01c-2.393-4.042-3.78-8.783-3.78-13.952 0-7.852 2.97-13.654 6.287-17.687.11-.13.213-.26.325-.382 2.683-3.148 5.55-5.17 7.218-6.203.038-.028.075-.047.112-.065.42-.25.754-.447.987-.568 2.757-1.51 4.77-2.263 7.963-4.77.12-.092.242-.186.354-.288l.008-.01c.875-.754 1.64-1.76 2.18-3.4v-.008c.325-.97.567-2.16.716-3.65l.02.018c2.253 2.69 4.954 5.886 6.89 7.144.69.447 1.38.848 2.068 1.202l.3.15c2.243 1.126 4.507 1.945 6.807 3.333l.428.26c.903.56 3.902 2.412 6.92 5.784.12.475.298 1.07.54 1.807 1.274 3.837.073 7.292-.737 9.425z"/><path opacity=".5" fill="#333" d="M514.176 479.538c-3.26-2.077-6.464-2.887-9.603-4.955-1.938-1.267-4.64-4.47-6.893-7.162-.438 4.332-1.686 6.148-3.26 7.35-3.195 2.515-5.207 3.26-7.963 4.77-2.338 1.256-14.958 8.726-14.958 24.913 0 5.17 1.387 9.91 3.77 13.96 5.077 8.635 14.68 14.158 24.97 14.158 15.126 0 28.24-10.98 28.24-27.614 0-9.127-3.707-15.526-7.386-19.633-3.016-3.382-6.015-5.217-6.918-5.785zm7.627 7.34c4.117 5.15 6.213 11.23 6.213 18.077 0 3.968-.755 7.712-2.245 11.148-1.414 3.25-3.444 6.13-6.053 8.56-5.15 4.806-12.062 7.45-19.475 7.45-3.67 0-7.265-.698-10.692-2.086-3.372-1.36-6.398-3.297-9.016-5.774-5.532-5.225-8.57-12.257-8.57-19.8 0-6.716 2.18-12.695 6.483-17.753 3.288-3.865 6.836-6.007 8.196-6.743.67-.363 1.285-.69 1.89-.997 1.892-.97 3.68-1.89 6.14-3.818 1.312-.997 2.71-2.58 3.305-6.585 2.077 2.468 4.48 5.234 6.314 6.426 1.63 1.08 3.307 1.835 4.918 2.562 1.527.69 3.11 1.406 4.676 2.403l.056.037c4.62 2.84 7.06 5.896 7.86 6.892z"/><path opacity=".5" fill="#fff" d="M497.98 468.678c.874 2.58.753 3.893.753 4.452 0 .56-.307 2.077-1.313 2.832-.438.317-.568.568-.568.624 0 .25.568.438.568 1.006 0 .69-.317 2.077-3.642 5.393-3.325 3.316-8.103 6.278-11.8 8.103-3.698 1.826-5.468 1.686-5.97.81s.185-2.83 2.514-5.392l9.667-6.278 9.164-6.398.503-2.44"/><path fill="#fff" d="M497.98 468.613c-.57 4.145-1.826 5.393-3.512 6.715-2.83 2.133-5.588 3.446-6.212 3.763-1.63.82-7.535 4.08-10.608 8.784-.94 1.444 0 2.012.186 2.133.187.12 2.33.372 6.9-2.385 4.574-2.757 6.595-4.387 9.175-7.078 1.377-1.444 1.573-2.263 1.573-2.636 0-.438-.316-.624-.82-.754-.25-.065-.316-.187 0-.373.317-.186 1.622-.82 1.938-1.07.318-.25 1.827-1.257 1.882-2.887.065-1.63-.056-2.766-.503-4.21zm-14.112 45.628c.065-4.898 4.648-9.472 10.422-9.536 7.348-.065 12.424 7.283 16.13 7.208 3.14-.064 9.166-6.212 12.118-6.212 3.14 0 4.014 3.26 4.014 5.206 0 1.938-.623 5.458-2.133 7.656-1.51 2.198-2.44 3.008-4.2 2.888-2.264-.187-6.78-7.21-9.67-7.35-3.64-.12-11.547 7.6-17.75 7.6-3.763 0-4.9-.567-6.147-1.378-1.92-1.312-2.85-3.315-2.785-6.08z"/></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

1
node_modules/.bin/acorn generated vendored

@ -0,0 +1 @@
../acorn/bin/acorn

1
node_modules/.bin/autoprefixer generated vendored

@ -0,0 +1 @@
../autoprefixer/bin/autoprefixer

1
node_modules/.bin/baseline-browser-mapping generated vendored

@ -0,0 +1 @@
../baseline-browser-mapping/dist/cli.cjs

1
node_modules/.bin/browser-sync generated vendored

@ -0,0 +1 @@
../browser-sync/dist/bin.js

1
node_modules/.bin/browserslist generated vendored

@ -0,0 +1 @@
../browserslist/cli.js

1
node_modules/.bin/chromedriver generated vendored

@ -0,0 +1 @@
../chromedriver/bin/chromedriver

1
node_modules/.bin/cross-env generated vendored

@ -0,0 +1 @@
../cross-env/src/bin/cross-env.js

1
node_modules/.bin/cross-env-shell generated vendored

@ -0,0 +1 @@
../cross-env/src/bin/cross-env-shell.js

1
node_modules/.bin/cspell generated vendored

@ -0,0 +1 @@
../cspell/bin.js

1
node_modules/.bin/css-blank-pseudo generated vendored

@ -0,0 +1 @@
../css-blank-pseudo/cli.js

1
node_modules/.bin/css-has-pseudo generated vendored

@ -0,0 +1 @@
../css-has-pseudo/cli.js

1
node_modules/.bin/css-prefers-color-scheme generated vendored

@ -0,0 +1 @@
../css-prefers-color-scheme/cli.js

1
node_modules/.bin/cssesc generated vendored

@ -0,0 +1 @@
../cssesc/bin/cssesc

1
node_modules/.bin/dev-ip generated vendored

@ -0,0 +1 @@
../dev-ip/lib/dev-ip.js

1
node_modules/.bin/eslint generated vendored

@ -0,0 +1 @@
../eslint/bin/eslint.js

1
node_modules/.bin/eslint-config-prettier-check generated vendored

@ -0,0 +1 @@
../eslint-config-prettier/bin/cli.js

1
node_modules/.bin/esparse generated vendored

@ -0,0 +1 @@
../esprima/bin/esparse.js

1
node_modules/.bin/esvalidate generated vendored

@ -0,0 +1 @@
../esprima/bin/esvalidate.js

1
node_modules/.bin/extract-zip generated vendored

@ -0,0 +1 @@
../extract-zip/cli.js

1
node_modules/.bin/gonzales generated vendored

@ -0,0 +1 @@
../gonzales-pe/bin/gonzales.js

1
node_modules/.bin/js-yaml generated vendored

@ -0,0 +1 @@
../js-yaml/bin/js-yaml.js

1
node_modules/.bin/jsesc generated vendored

@ -0,0 +1 @@
../jsesc/bin/jsesc

1
node_modules/.bin/json5 generated vendored

@ -0,0 +1 @@
../json5/lib/cli.js

1
node_modules/.bin/loose-envify generated vendored

@ -0,0 +1 @@
../loose-envify/cli.js

1
node_modules/.bin/lt generated vendored

@ -0,0 +1 @@
../localtunnel/bin/lt.js

1
node_modules/.bin/mime generated vendored

@ -0,0 +1 @@
../mime/cli.js

1
node_modules/.bin/mkdirp generated vendored

@ -0,0 +1 @@
../mkdirp/bin/cmd.js

1
node_modules/.bin/parser generated vendored

@ -0,0 +1 @@
../@babel/parser/bin/babel-parser.js

1
node_modules/.bin/prettier generated vendored

@ -0,0 +1 @@
../prettier/bin-prettier.js

1
node_modules/.bin/regjsparser generated vendored

@ -0,0 +1 @@
../regjsparser/bin/parser

1
node_modules/.bin/resolve generated vendored

@ -0,0 +1 @@
../eslint-import-resolver-node/node_modules/resolve/bin/resolve

1
node_modules/.bin/rimraf generated vendored

@ -0,0 +1 @@
../rimraf/bin.js

1
node_modules/.bin/semver generated vendored

@ -0,0 +1 @@
../eslint/node_modules/semver/bin/semver.js

1
node_modules/.bin/specificity generated vendored

@ -0,0 +1 @@
../specificity/bin/specificity

1
node_modules/.bin/stylehacks generated vendored

@ -0,0 +1 @@
../stylehacks/dist/cli.js

1
node_modules/.bin/stylelint generated vendored

@ -0,0 +1 @@
../stylelint/bin/stylelint.js

1
node_modules/.bin/terser generated vendored

@ -0,0 +1 @@
../terser/bin/terser

1
node_modules/.bin/throttleproxy generated vendored

@ -0,0 +1 @@
../stream-throttle/bin/throttleproxy.js

1
node_modules/.bin/ua-parser-js generated vendored

@ -0,0 +1 @@
../ua-parser-js/script/cli.js

1
node_modules/.bin/update-browserslist-db generated vendored

@ -0,0 +1 @@
../update-browserslist-db/cli.js

1
node_modules/.bin/which generated vendored

@ -0,0 +1 @@
../global-prefix/node_modules/which/bin/which

1125
node_modules/.yarn-integrity generated vendored

File diff suppressed because it is too large Load Diff

22
node_modules/@babel/code-frame/LICENSE generated vendored

@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
Permission 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:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE 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.

19
node_modules/@babel/code-frame/README.md generated vendored

@ -0,0 +1,19 @@
# @babel/code-frame
> Generate errors that contain a code frame that point to source locations.
See our website [@babel/code-frame](https://babeljs.io/docs/babel-code-frame) for more information.
## Install
Using npm:
```sh
npm install --save-dev @babel/code-frame
```
or using yarn:
```sh
yarn add @babel/code-frame --dev
```

217
node_modules/@babel/code-frame/lib/index.js generated vendored

@ -0,0 +1,217 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var picocolors = require('picocolors');
var jsTokens = require('js-tokens');
var helperValidatorIdentifier = require('@babel/helper-validator-identifier');
function isColorSupported() {
return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
);
}
const compose = (f, g) => v => f(g(v));
function buildDefs(colors) {
return {
keyword: colors.cyan,
capitalized: colors.yellow,
jsxIdentifier: colors.yellow,
punctuator: colors.yellow,
number: colors.magenta,
string: colors.green,
regex: colors.magenta,
comment: colors.gray,
invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
gutter: colors.gray,
marker: compose(colors.red, colors.bold),
message: compose(colors.red, colors.bold),
reset: colors.reset
};
}
const defsOn = buildDefs(picocolors.createColors(true));
const defsOff = buildDefs(picocolors.createColors(false));
function getDefs(enabled) {
return enabled ? defsOn : defsOff;
}
const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
const BRACKET = /^[()[\]{}]$/;
let tokenize;
const JSX_TAG = /^[a-z][\w-]*$/i;
const getTokenType = function (token, offset, text) {
if (token.type === "name") {
const tokenValue = token.value;
if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
return "keyword";
}
if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
return "jsxIdentifier";
}
const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
if (firstChar !== firstChar.toLowerCase()) {
return "capitalized";
}
}
if (token.type === "punctuator" && BRACKET.test(token.value)) {
return "bracket";
}
if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
return "punctuator";
}
return token.type;
};
tokenize = function* (text) {
let match;
while (match = jsTokens.default.exec(text)) {
const token = jsTokens.matchToToken(match);
yield {
type: getTokenType(token, match.index, text),
value: token.value
};
}
};
function highlight(text) {
if (text === "") return "";
const defs = getDefs(true);
let highlighted = "";
for (const {
type,
value
} of tokenize(text)) {
if (type in defs) {
highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
} else {
highlighted += value;
}
}
return highlighted;
}
let deprecationWarningShown = false;
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
function getMarkerLines(loc, source, opts, startLineBaseZero) {
const startLoc = Object.assign({
column: 0,
line: -1
}, loc.start);
const endLoc = Object.assign({}, startLoc, loc.end);
const {
linesAbove = 2,
linesBelow = 3
} = opts || {};
const startLine = startLoc.line - startLineBaseZero;
const startColumn = startLoc.column;
const endLine = endLoc.line - startLineBaseZero;
const endColumn = endLoc.column;
let start = Math.max(startLine - (linesAbove + 1), 0);
let end = Math.min(source.length, endLine + linesBelow);
if (startLine === -1) {
start = 0;
}
if (endLine === -1) {
end = source.length;
}
const lineDiff = endLine - startLine;
const markerLines = {};
if (lineDiff) {
for (let i = 0; i <= lineDiff; i++) {
const lineNumber = i + startLine;
if (!startColumn) {
markerLines[lineNumber] = true;
} else if (i === 0) {
const sourceLength = source[lineNumber - 1].length;
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
} else if (i === lineDiff) {
markerLines[lineNumber] = [0, endColumn];
} else {
const sourceLength = source[lineNumber - i].length;
markerLines[lineNumber] = [0, sourceLength];
}
}
} else {
if (startColumn === endColumn) {
if (startColumn) {
markerLines[startLine] = [startColumn, 0];
} else {
markerLines[startLine] = true;
}
} else {
markerLines[startLine] = [startColumn, endColumn - startColumn];
}
}
return {
start,
end,
markerLines
};
}
function codeFrameColumns(rawLines, loc, opts = {}) {
const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
const startLineBaseZero = (opts.startLine || 1) - 1;
const defs = getDefs(shouldHighlight);
const lines = rawLines.split(NEWLINE);
const {
start,
end,
markerLines
} = getMarkerLines(loc, lines, opts, startLineBaseZero);
const hasColumns = loc.start && typeof loc.start.column === "number";
const numberMaxWidth = String(end + startLineBaseZero).length;
const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
const number = start + 1 + index;
const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
const gutter = ` ${paddedNumber} |`;
const hasMarker = markerLines[number];
const lastMarkerLine = !markerLines[number + 1];
if (hasMarker) {
let markerLine = "";
if (Array.isArray(hasMarker)) {
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
const numberOfMarkers = hasMarker[1] || 1;
markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
if (lastMarkerLine && opts.message) {
markerLine += " " + defs.message(opts.message);
}
}
return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
} else {
return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
}
}).join("\n");
if (opts.message && !hasColumns) {
frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
}
if (shouldHighlight) {
return defs.reset(frame);
} else {
return frame;
}
}
function index (rawLines, lineNumber, colNumber, opts = {}) {
if (!deprecationWarningShown) {
deprecationWarningShown = true;
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
if (process.emitWarning) {
process.emitWarning(message, "DeprecationWarning");
} else {
const deprecationError = new Error(message);
deprecationError.name = "DeprecationWarning";
console.warn(new Error(message));
}
}
colNumber = Math.max(colNumber, 0);
const location = {
start: {
column: colNumber,
line: lineNumber
}
};
return codeFrameColumns(rawLines, location, opts);
}
exports.codeFrameColumns = codeFrameColumns;
exports.default = index;
exports.highlight = highlight;
//# sourceMappingURL=index.js.map

1
node_modules/@babel/code-frame/lib/index.js.map generated vendored

File diff suppressed because one or more lines are too long

32
node_modules/@babel/code-frame/package.json generated vendored

@ -0,0 +1,32 @@
{
"name": "@babel/code-frame",
"version": "7.29.0",
"description": "Generate errors that contain a code frame that point to source locations.",
"author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-code-frame",
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-code-frame"
},
"main": "./lib/index.js",
"dependencies": {
"@babel/helper-validator-identifier": "^7.28.5",
"js-tokens": "^4.0.0",
"picocolors": "^1.1.1"
},
"devDependencies": {
"charcodes": "^0.2.0",
"import-meta-resolve": "^4.1.0",
"strip-ansi": "^4.0.0"
},
"engines": {
"node": ">=6.9.0"
},
"type": "commonjs"
}

22
node_modules/@babel/compat-data/LICENSE generated vendored

@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
Permission 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:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE 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.

19
node_modules/@babel/compat-data/README.md generated vendored

@ -0,0 +1,19 @@
# @babel/compat-data
> The compat-data to determine required Babel plugins
See our website [@babel/compat-data](https://babeljs.io/docs/babel-compat-data) for more information.
## Install
Using npm:
```sh
npm install --save @babel/compat-data
```
or using yarn:
```sh
yarn add @babel/compat-data
```

2
node_modules/@babel/compat-data/corejs2-built-ins.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2
module.exports = require("./data/corejs2-built-ins.json");

2
node_modules/@babel/compat-data/corejs3-shipped-proposals.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3
module.exports = require("./data/corejs3-shipped-proposals.json");

2120
node_modules/@babel/compat-data/data/corejs2-built-ins.json generated vendored

File diff suppressed because it is too large Load Diff

5
node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json generated vendored

@ -0,0 +1,5 @@
[
"esnext.promise.all-settled",
"esnext.string.match-all",
"esnext.global-this"
]

18
node_modules/@babel/compat-data/data/native-modules.json generated vendored

@ -0,0 +1,18 @@
{
"es6.module": {
"chrome": "61",
"and_chr": "61",
"edge": "16",
"firefox": "60",
"and_ff": "60",
"node": "13.2.0",
"opera": "48",
"op_mob": "45",
"safari": "10.1",
"ios": "10.3",
"samsung": "8.2",
"android": "61",
"electron": "2.0",
"ios_saf": "10.3"
}
}

38
node_modules/@babel/compat-data/data/overlapping-plugins.json generated vendored

@ -0,0 +1,38 @@
{
"transform-async-to-generator": [
"bugfix/transform-async-arrows-in-class"
],
"transform-parameters": [
"bugfix/transform-edge-default-parameters",
"bugfix/transform-safari-id-destructuring-collision-in-function-expression"
],
"transform-function-name": [
"bugfix/transform-edge-function-name"
],
"transform-block-scoping": [
"bugfix/transform-safari-block-shadowing",
"bugfix/transform-safari-for-shadowing"
],
"transform-destructuring": [
"bugfix/transform-safari-rest-destructuring-rhs-array"
],
"transform-template-literals": [
"bugfix/transform-tagged-template-caching"
],
"transform-optional-chaining": [
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
],
"proposal-optional-chaining": [
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
],
"transform-class-properties": [
"bugfix/transform-v8-static-class-fields-redefine-readonly",
"bugfix/transform-firefox-class-in-computed-class-key",
"bugfix/transform-safari-class-field-initializer-scope"
],
"proposal-class-properties": [
"bugfix/transform-v8-static-class-fields-redefine-readonly",
"bugfix/transform-firefox-class-in-computed-class-key",
"bugfix/transform-safari-class-field-initializer-scope"
]
}

231
node_modules/@babel/compat-data/data/plugin-bugfixes.json generated vendored

@ -0,0 +1,231 @@
{
"bugfix/transform-async-arrows-in-class": {
"chrome": "55",
"opera": "42",
"edge": "15",
"firefox": "52",
"safari": "11",
"node": "7.6",
"deno": "1",
"ios": "11",
"samsung": "6",
"opera_mobile": "42",
"electron": "1.6"
},
"bugfix/transform-edge-default-parameters": {
"chrome": "49",
"opera": "36",
"edge": "18",
"firefox": "52",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"bugfix/transform-edge-function-name": {
"chrome": "51",
"opera": "38",
"edge": "79",
"firefox": "53",
"safari": "10",
"node": "6.5",
"deno": "1",
"ios": "10",
"samsung": "5",
"rhino": "1.9",
"opera_mobile": "41",
"electron": "1.2"
},
"bugfix/transform-safari-block-shadowing": {
"chrome": "49",
"opera": "36",
"edge": "12",
"firefox": "44",
"safari": "11",
"node": "6",
"deno": "1",
"ie": "11",
"ios": "11",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"bugfix/transform-safari-for-shadowing": {
"chrome": "49",
"opera": "36",
"edge": "12",
"firefox": "4",
"safari": "11",
"node": "6",
"deno": "1",
"ie": "11",
"ios": "11",
"samsung": "5",
"rhino": "1.7.13",
"opera_mobile": "36",
"electron": "0.37"
},
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
"chrome": "49",
"opera": "36",
"edge": "14",
"firefox": "2",
"safari": "16.3",
"node": "6",
"deno": "1",
"ios": "16.3",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"bugfix/transform-safari-rest-destructuring-rhs-array": {
"chrome": "49",
"opera": "36",
"edge": "14",
"firefox": "34",
"safari": "14.1",
"node": "6",
"deno": "1",
"ios": "14.5",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"bugfix/transform-tagged-template-caching": {
"chrome": "41",
"opera": "28",
"edge": "12",
"firefox": "34",
"safari": "13",
"node": "4",
"deno": "1",
"ios": "13",
"samsung": "3.4",
"rhino": "1.7.14",
"opera_mobile": "28",
"electron": "0.21"
},
"bugfix/transform-v8-spread-parameters-in-optional-chaining": {
"chrome": "91",
"opera": "77",
"edge": "91",
"firefox": "74",
"safari": "13.1",
"node": "16.9",
"deno": "1.9",
"ios": "13.4",
"samsung": "16",
"opera_mobile": "64",
"electron": "13.0"
},
"transform-optional-chaining": {
"chrome": "80",
"opera": "67",
"edge": "80",
"firefox": "74",
"safari": "13.1",
"node": "14",
"deno": "1",
"ios": "13.4",
"samsung": "13",
"rhino": "1.8",
"opera_mobile": "57",
"electron": "8.0"
},
"proposal-optional-chaining": {
"chrome": "80",
"opera": "67",
"edge": "80",
"firefox": "74",
"safari": "13.1",
"node": "14",
"deno": "1",
"ios": "13.4",
"samsung": "13",
"rhino": "1.8",
"opera_mobile": "57",
"electron": "8.0"
},
"transform-parameters": {
"chrome": "49",
"opera": "36",
"edge": "15",
"firefox": "52",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"transform-async-to-generator": {
"chrome": "55",
"opera": "42",
"edge": "15",
"firefox": "52",
"safari": "10.1",
"node": "7.6",
"deno": "1",
"ios": "10.3",
"samsung": "6",
"opera_mobile": "42",
"electron": "1.6"
},
"transform-template-literals": {
"chrome": "41",
"opera": "28",
"edge": "13",
"firefox": "34",
"safari": "9",
"node": "4",
"deno": "1",
"ios": "9",
"samsung": "3.4",
"rhino": "1.9",
"opera_mobile": "28",
"electron": "0.21"
},
"transform-function-name": {
"chrome": "51",
"opera": "38",
"edge": "14",
"firefox": "53",
"safari": "10",
"node": "6.5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "41",
"electron": "1.2"
},
"transform-destructuring": {
"chrome": "51",
"opera": "38",
"edge": "15",
"firefox": "53",
"safari": "10",
"node": "6.5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "41",
"electron": "1.2"
},
"transform-block-scoping": {
"chrome": "50",
"opera": "37",
"edge": "14",
"firefox": "53",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "37",
"electron": "1.1"
}
}

843
node_modules/@babel/compat-data/data/plugins.json generated vendored

@ -0,0 +1,843 @@
{
"transform-explicit-resource-management": {
"chrome": "141",
"edge": "141",
"firefox": "141",
"node": "25",
"electron": "39.0"
},
"transform-duplicate-named-capturing-groups-regex": {
"chrome": "126",
"opera": "112",
"edge": "126",
"firefox": "129",
"safari": "17.4",
"node": "23",
"ios": "17.4",
"rhino": "1.9",
"electron": "31.0"
},
"transform-regexp-modifiers": {
"chrome": "125",
"opera": "111",
"edge": "125",
"firefox": "132",
"node": "23",
"samsung": "27",
"electron": "31.0"
},
"transform-unicode-sets-regex": {
"chrome": "112",
"opera": "98",
"edge": "112",
"firefox": "116",
"safari": "17",
"node": "20",
"deno": "1.32",
"ios": "17",
"samsung": "23",
"opera_mobile": "75",
"electron": "24.0"
},
"bugfix/transform-v8-static-class-fields-redefine-readonly": {
"chrome": "98",
"opera": "84",
"edge": "98",
"firefox": "75",
"safari": "15",
"node": "12",
"deno": "1.18",
"ios": "15",
"samsung": "11",
"opera_mobile": "52",
"electron": "17.0"
},
"bugfix/transform-firefox-class-in-computed-class-key": {
"chrome": "74",
"opera": "62",
"edge": "79",
"firefox": "126",
"safari": "16",
"node": "12",
"deno": "1",
"ios": "16",
"samsung": "11",
"opera_mobile": "53",
"electron": "6.0"
},
"bugfix/transform-safari-class-field-initializer-scope": {
"chrome": "74",
"opera": "62",
"edge": "79",
"firefox": "69",
"safari": "16",
"node": "12",
"deno": "1",
"ios": "16",
"samsung": "11",
"opera_mobile": "53",
"electron": "6.0"
},
"transform-class-static-block": {
"chrome": "94",
"opera": "80",
"edge": "94",
"firefox": "93",
"safari": "16.4",
"node": "16.11",
"deno": "1.14",
"ios": "16.4",
"samsung": "17",
"opera_mobile": "66",
"electron": "15.0"
},
"proposal-class-static-block": {
"chrome": "94",
"opera": "80",
"edge": "94",
"firefox": "93",
"safari": "16.4",
"node": "16.11",
"deno": "1.14",
"ios": "16.4",
"samsung": "17",
"opera_mobile": "66",
"electron": "15.0"
},
"transform-private-property-in-object": {
"chrome": "91",
"opera": "77",
"edge": "91",
"firefox": "90",
"safari": "15",
"node": "16.9",
"deno": "1.9",
"ios": "15",
"samsung": "16",
"opera_mobile": "64",
"electron": "13.0"
},
"proposal-private-property-in-object": {
"chrome": "91",
"opera": "77",
"edge": "91",
"firefox": "90",
"safari": "15",
"node": "16.9",
"deno": "1.9",
"ios": "15",
"samsung": "16",
"opera_mobile": "64",
"electron": "13.0"
},
"transform-class-properties": {
"chrome": "74",
"opera": "62",
"edge": "79",
"firefox": "90",
"safari": "14.1",
"node": "12",
"deno": "1",
"ios": "14.5",
"samsung": "11",
"opera_mobile": "53",
"electron": "6.0"
},
"proposal-class-properties": {
"chrome": "74",
"opera": "62",
"edge": "79",
"firefox": "90",
"safari": "14.1",
"node": "12",
"deno": "1",
"ios": "14.5",
"samsung": "11",
"opera_mobile": "53",
"electron": "6.0"
},
"transform-private-methods": {
"chrome": "84",
"opera": "70",
"edge": "84",
"firefox": "90",
"safari": "15",
"node": "14.6",
"deno": "1",
"ios": "15",
"samsung": "14",
"opera_mobile": "60",
"electron": "10.0"
},
"proposal-private-methods": {
"chrome": "84",
"opera": "70",
"edge": "84",
"firefox": "90",
"safari": "15",
"node": "14.6",
"deno": "1",
"ios": "15",
"samsung": "14",
"opera_mobile": "60",
"electron": "10.0"
},
"transform-numeric-separator": {
"chrome": "75",
"opera": "62",
"edge": "79",
"firefox": "70",
"safari": "13",
"node": "12.5",
"deno": "1",
"ios": "13",
"samsung": "11",
"rhino": "1.7.14",
"opera_mobile": "54",
"electron": "6.0"
},
"proposal-numeric-separator": {
"chrome": "75",
"opera": "62",
"edge": "79",
"firefox": "70",
"safari": "13",
"node": "12.5",
"deno": "1",
"ios": "13",
"samsung": "11",
"rhino": "1.7.14",
"opera_mobile": "54",
"electron": "6.0"
},
"transform-logical-assignment-operators": {
"chrome": "85",
"opera": "71",
"edge": "85",
"firefox": "79",
"safari": "14",
"node": "15",
"deno": "1.2",
"ios": "14",
"samsung": "14",
"opera_mobile": "60",
"electron": "10.0"
},
"proposal-logical-assignment-operators": {
"chrome": "85",
"opera": "71",
"edge": "85",
"firefox": "79",
"safari": "14",
"node": "15",
"deno": "1.2",
"ios": "14",
"samsung": "14",
"opera_mobile": "60",
"electron": "10.0"
},
"transform-nullish-coalescing-operator": {
"chrome": "80",
"opera": "67",
"edge": "80",
"firefox": "72",
"safari": "13.1",
"node": "14",
"deno": "1",
"ios": "13.4",
"samsung": "13",
"rhino": "1.8",
"opera_mobile": "57",
"electron": "8.0"
},
"proposal-nullish-coalescing-operator": {
"chrome": "80",
"opera": "67",
"edge": "80",
"firefox": "72",
"safari": "13.1",
"node": "14",
"deno": "1",
"ios": "13.4",
"samsung": "13",
"rhino": "1.8",
"opera_mobile": "57",
"electron": "8.0"
},
"transform-optional-chaining": {
"chrome": "91",
"opera": "77",
"edge": "91",
"firefox": "74",
"safari": "13.1",
"node": "16.9",
"deno": "1.9",
"ios": "13.4",
"samsung": "16",
"opera_mobile": "64",
"electron": "13.0"
},
"proposal-optional-chaining": {
"chrome": "91",
"opera": "77",
"edge": "91",
"firefox": "74",
"safari": "13.1",
"node": "16.9",
"deno": "1.9",
"ios": "13.4",
"samsung": "16",
"opera_mobile": "64",
"electron": "13.0"
},
"transform-json-strings": {
"chrome": "66",
"opera": "53",
"edge": "79",
"firefox": "62",
"safari": "12",
"node": "10",
"deno": "1",
"ios": "12",
"samsung": "9",
"rhino": "1.7.14",
"opera_mobile": "47",
"electron": "3.0"
},
"proposal-json-strings": {
"chrome": "66",
"opera": "53",
"edge": "79",
"firefox": "62",
"safari": "12",
"node": "10",
"deno": "1",
"ios": "12",
"samsung": "9",
"rhino": "1.7.14",
"opera_mobile": "47",
"electron": "3.0"
},
"transform-optional-catch-binding": {
"chrome": "66",
"opera": "53",
"edge": "79",
"firefox": "58",
"safari": "11.1",
"node": "10",
"deno": "1",
"ios": "11.3",
"samsung": "9",
"opera_mobile": "47",
"electron": "3.0"
},
"proposal-optional-catch-binding": {
"chrome": "66",
"opera": "53",
"edge": "79",
"firefox": "58",
"safari": "11.1",
"node": "10",
"deno": "1",
"ios": "11.3",
"samsung": "9",
"opera_mobile": "47",
"electron": "3.0"
},
"transform-parameters": {
"chrome": "49",
"opera": "36",
"edge": "18",
"firefox": "52",
"safari": "16.3",
"node": "6",
"deno": "1",
"ios": "16.3",
"samsung": "5",
"opera_mobile": "36",
"electron": "0.37"
},
"transform-async-generator-functions": {
"chrome": "63",
"opera": "50",
"edge": "79",
"firefox": "57",
"safari": "12",
"node": "10",
"deno": "1",
"ios": "12",
"samsung": "8",
"opera_mobile": "46",
"electron": "3.0"
},
"proposal-async-generator-functions": {
"chrome": "63",
"opera": "50",
"edge": "79",
"firefox": "57",
"safari": "12",
"node": "10",
"deno": "1",
"ios": "12",
"samsung": "8",
"opera_mobile": "46",
"electron": "3.0"
},
"transform-object-rest-spread": {
"chrome": "60",
"opera": "47",
"edge": "79",
"firefox": "55",
"safari": "11.1",
"node": "8.3",
"deno": "1",
"ios": "11.3",
"samsung": "8",
"opera_mobile": "44",
"electron": "2.0"
},
"proposal-object-rest-spread": {
"chrome": "60",
"opera": "47",
"edge": "79",
"firefox": "55",
"safari": "11.1",
"node": "8.3",
"deno": "1",
"ios": "11.3",
"samsung": "8",
"opera_mobile": "44",
"electron": "2.0"
},
"transform-dotall-regex": {
"chrome": "62",
"opera": "49",
"edge": "79",
"firefox": "78",
"safari": "11.1",
"node": "8.10",
"deno": "1",
"ios": "11.3",
"samsung": "8",
"rhino": "1.7.15",
"opera_mobile": "46",
"electron": "3.0"
},
"transform-unicode-property-regex": {
"chrome": "64",
"opera": "51",
"edge": "79",
"firefox": "78",
"safari": "11.1",
"node": "10",
"deno": "1",
"ios": "11.3",
"samsung": "9",
"rhino": "1.9",
"opera_mobile": "47",
"electron": "3.0"
},
"proposal-unicode-property-regex": {
"chrome": "64",
"opera": "51",
"edge": "79",
"firefox": "78",
"safari": "11.1",
"node": "10",
"deno": "1",
"ios": "11.3",
"samsung": "9",
"rhino": "1.9",
"opera_mobile": "47",
"electron": "3.0"
},
"transform-named-capturing-groups-regex": {
"chrome": "64",
"opera": "51",
"edge": "79",
"firefox": "78",
"safari": "11.1",
"node": "10",
"deno": "1",
"ios": "11.3",
"samsung": "9",
"rhino": "1.9",
"opera_mobile": "47",
"electron": "3.0"
},
"transform-async-to-generator": {
"chrome": "55",
"opera": "42",
"edge": "15",
"firefox": "52",
"safari": "11",
"node": "7.6",
"deno": "1",
"ios": "11",
"samsung": "6",
"opera_mobile": "42",
"electron": "1.6"
},
"transform-exponentiation-operator": {
"chrome": "52",
"opera": "39",
"edge": "14",
"firefox": "52",
"safari": "10.1",
"node": "7",
"deno": "1",
"ios": "10.3",
"samsung": "6",
"rhino": "1.7.14",
"opera_mobile": "41",
"electron": "1.3"
},
"transform-template-literals": {
"chrome": "41",
"opera": "28",
"edge": "13",
"firefox": "34",
"safari": "13",
"node": "4",
"deno": "1",
"ios": "13",
"samsung": "3.4",
"rhino": "1.9",
"opera_mobile": "28",
"electron": "0.21"
},
"transform-literals": {
"chrome": "44",
"opera": "31",
"edge": "12",
"firefox": "53",
"safari": "9",
"node": "4",
"deno": "1",
"ios": "9",
"samsung": "4",
"rhino": "1.7.15",
"opera_mobile": "32",
"electron": "0.30"
},
"transform-function-name": {
"chrome": "51",
"opera": "38",
"edge": "79",
"firefox": "53",
"safari": "10",
"node": "6.5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "41",
"electron": "1.2"
},
"transform-arrow-functions": {
"chrome": "47",
"opera": "34",
"edge": "13",
"firefox": "43",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"rhino": "1.7.13",
"opera_mobile": "34",
"electron": "0.36"
},
"transform-block-scoped-functions": {
"chrome": "41",
"opera": "28",
"edge": "12",
"firefox": "46",
"safari": "10",
"node": "4",
"deno": "1",
"ie": "11",
"ios": "10",
"samsung": "3.4",
"opera_mobile": "28",
"electron": "0.21"
},
"transform-classes": {
"chrome": "46",
"opera": "33",
"edge": "13",
"firefox": "45",
"safari": "10",
"node": "5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "33",
"electron": "0.36"
},
"transform-object-super": {
"chrome": "46",
"opera": "33",
"edge": "13",
"firefox": "45",
"safari": "10",
"node": "5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "33",
"electron": "0.36"
},
"transform-shorthand-properties": {
"chrome": "43",
"opera": "30",
"edge": "12",
"firefox": "33",
"safari": "9",
"node": "4",
"deno": "1",
"ios": "9",
"samsung": "4",
"rhino": "1.7.14",
"opera_mobile": "30",
"electron": "0.27"
},
"transform-duplicate-keys": {
"chrome": "42",
"opera": "29",
"edge": "12",
"firefox": "34",
"safari": "9",
"node": "4",
"deno": "1",
"ios": "9",
"samsung": "3.4",
"opera_mobile": "29",
"electron": "0.25"
},
"transform-computed-properties": {
"chrome": "44",
"opera": "31",
"edge": "12",
"firefox": "34",
"safari": "7.1",
"node": "4",
"deno": "1",
"ios": "8",
"samsung": "4",
"rhino": "1.8",
"opera_mobile": "32",
"electron": "0.30"
},
"transform-for-of": {
"chrome": "51",
"opera": "38",
"edge": "15",
"firefox": "53",
"safari": "10",
"node": "6.5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "41",
"electron": "1.2"
},
"transform-sticky-regex": {
"chrome": "49",
"opera": "36",
"edge": "13",
"firefox": "3",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"rhino": "1.7.15",
"opera_mobile": "36",
"electron": "0.37"
},
"transform-unicode-escapes": {
"chrome": "44",
"opera": "31",
"edge": "12",
"firefox": "53",
"safari": "9",
"node": "4",
"deno": "1",
"ios": "9",
"samsung": "4",
"rhino": "1.7.15",
"opera_mobile": "32",
"electron": "0.30"
},
"transform-unicode-regex": {
"chrome": "50",
"opera": "37",
"edge": "13",
"firefox": "46",
"safari": "12",
"node": "6",
"deno": "1",
"ios": "12",
"samsung": "5",
"opera_mobile": "37",
"electron": "1.1"
},
"transform-spread": {
"chrome": "46",
"opera": "33",
"edge": "13",
"firefox": "45",
"safari": "10",
"node": "5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "33",
"electron": "0.36"
},
"transform-destructuring": {
"chrome": "51",
"opera": "38",
"edge": "15",
"firefox": "53",
"safari": "14.1",
"node": "6.5",
"deno": "1",
"ios": "14.5",
"samsung": "5",
"opera_mobile": "41",
"electron": "1.2"
},
"transform-block-scoping": {
"chrome": "50",
"opera": "37",
"edge": "14",
"firefox": "53",
"safari": "11",
"node": "6",
"deno": "1",
"ios": "11",
"samsung": "5",
"opera_mobile": "37",
"electron": "1.1"
},
"transform-typeof-symbol": {
"chrome": "48",
"opera": "35",
"edge": "12",
"firefox": "36",
"safari": "9",
"node": "6",
"deno": "1",
"ios": "9",
"samsung": "5",
"rhino": "1.8",
"opera_mobile": "35",
"electron": "0.37"
},
"transform-new-target": {
"chrome": "46",
"opera": "33",
"edge": "14",
"firefox": "41",
"safari": "10",
"node": "5",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "33",
"electron": "0.36"
},
"transform-regenerator": {
"chrome": "50",
"opera": "37",
"edge": "13",
"firefox": "53",
"safari": "10",
"node": "6",
"deno": "1",
"ios": "10",
"samsung": "5",
"opera_mobile": "37",
"electron": "1.1"
},
"transform-member-expression-literals": {
"chrome": "7",
"opera": "12",
"edge": "12",
"firefox": "2",
"safari": "5.1",
"node": "0.4",
"deno": "1",
"ie": "9",
"android": "4",
"ios": "6",
"phantom": "1.9",
"samsung": "1",
"rhino": "1.7.13",
"opera_mobile": "12",
"electron": "0.20"
},
"transform-property-literals": {
"chrome": "7",
"opera": "12",
"edge": "12",
"firefox": "2",
"safari": "5.1",
"node": "0.4",
"deno": "1",
"ie": "9",
"android": "4",
"ios": "6",
"phantom": "1.9",
"samsung": "1",
"rhino": "1.7.13",
"opera_mobile": "12",
"electron": "0.20"
},
"transform-reserved-words": {
"chrome": "13",
"opera": "10.50",
"edge": "12",
"firefox": "2",
"safari": "3.1",
"node": "0.6",
"deno": "1",
"ie": "9",
"android": "4.4",
"ios": "6",
"phantom": "1.9",
"samsung": "1",
"rhino": "1.7.13",
"opera_mobile": "10.1",
"electron": "0.20"
},
"transform-export-namespace-from": {
"chrome": "72",
"deno": "1.0",
"edge": "79",
"firefox": "80",
"node": "13.2.0",
"opera": "60",
"opera_mobile": "51",
"safari": "14.1",
"ios": "14.5",
"samsung": "11.0",
"android": "72",
"electron": "5.0"
},
"proposal-export-namespace-from": {
"chrome": "72",
"deno": "1.0",
"edge": "79",
"firefox": "80",
"node": "13.2.0",
"opera": "60",
"opera_mobile": "51",
"safari": "14.1",
"ios": "14.5",
"samsung": "11.0",
"android": "72",
"electron": "5.0"
}
}

2
node_modules/@babel/compat-data/native-modules.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
module.exports = require("./data/native-modules.json");

2
node_modules/@babel/compat-data/overlapping-plugins.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
module.exports = require("./data/overlapping-plugins.json");

40
node_modules/@babel/compat-data/package.json generated vendored

@ -0,0 +1,40 @@
{
"name": "@babel/compat-data",
"version": "7.29.3",
"author": "The Babel Team (https://babel.dev/team)",
"license": "MIT",
"description": "The compat-data to determine required Babel plugins",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-compat-data"
},
"publishConfig": {
"access": "public"
},
"exports": {
"./plugins": "./plugins.js",
"./native-modules": "./native-modules.js",
"./corejs2-built-ins": "./corejs2-built-ins.js",
"./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js",
"./overlapping-plugins": "./overlapping-plugins.js",
"./plugin-bugfixes": "./plugin-bugfixes.js"
},
"scripts": {
"build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.mjs && node ./scripts/build-modules-support.mjs && node ./scripts/build-bugfixes-targets.mjs"
},
"keywords": [
"babel",
"compat-table",
"compat-data"
],
"devDependencies": {
"@mdn/browser-compat-data": "^6.0.8",
"core-js-compat": "^3.48.0",
"electron-to-chromium": "^1.5.278"
},
"engines": {
"node": ">=6.9.0"
},
"type": "commonjs"
}

2
node_modules/@babel/compat-data/plugin-bugfixes.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
module.exports = require("./data/plugin-bugfixes.json");

2
node_modules/@babel/compat-data/plugins.js generated vendored

@ -0,0 +1,2 @@
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
module.exports = require("./data/plugins.json");

22
node_modules/@babel/core/LICENSE generated vendored

@ -0,0 +1,22 @@
MIT License
Copyright (c) 2014-present Sebastian McKenzie and other contributors
Permission 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:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE 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.

19
node_modules/@babel/core/README.md generated vendored

@ -0,0 +1,19 @@
# @babel/core
> Babel compiler core.
See our website [@babel/core](https://babeljs.io/docs/babel-core) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen) associated with this package.
## Install
Using npm:
```sh
npm install --save-dev @babel/core
```
or using yarn:
```sh
yarn add @babel/core --dev
```

5
node_modules/@babel/core/lib/config/cache-contexts.js generated vendored

@ -0,0 +1,5 @@
"use strict";
0 && 0;
//# sourceMappingURL=cache-contexts.js.map

1
node_modules/@babel/core/lib/config/cache-contexts.js.map generated vendored

@ -0,0 +1 @@
{"version":3,"names":[],"sources":["../../src/config/cache-contexts.ts"],"sourcesContent":["import type { ConfigContext } from \"./config-chain.ts\";\nimport type {\n CallerMetadata,\n TargetsListOrObject,\n} from \"./validation/options.ts\";\n\nexport type { ConfigContext as FullConfig };\n\nexport type FullPreset = {\n targets: TargetsListOrObject;\n} & ConfigContext;\nexport type FullPlugin = {\n assumptions: Record<string, boolean>;\n} & FullPreset;\n\n// Context not including filename since it is used in places that cannot\n// process 'ignore'/'only' and other filename-based logic.\nexport type SimpleConfig = {\n envName: string;\n caller: CallerMetadata | undefined;\n};\nexport type SimplePreset = {\n targets: TargetsListOrObject;\n} & SimpleConfig;\nexport type SimplePlugin = {\n assumptions: Record<string, boolean>;\n} & SimplePreset;\n"],"mappings":"","ignoreList":[]}

261
node_modules/@babel/core/lib/config/caching.js generated vendored

@ -0,0 +1,261 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.assertSimpleType = assertSimpleType;
exports.makeStrongCache = makeStrongCache;
exports.makeStrongCacheSync = makeStrongCacheSync;
exports.makeWeakCache = makeWeakCache;
exports.makeWeakCacheSync = makeWeakCacheSync;
function _gensync() {
const data = require("gensync");
_gensync = function () {
return data;
};
return data;
}
var _async = require("../gensync-utils/async.js");
var _util = require("./util.js");
const synchronize = gen => {
return _gensync()(gen).sync;
};
function* genTrue() {
return true;
}
function makeWeakCache(handler) {
return makeCachedFunction(WeakMap, handler);
}
function makeWeakCacheSync(handler) {
return synchronize(makeWeakCache(handler));
}
function makeStrongCache(handler) {
return makeCachedFunction(Map, handler);
}
function makeStrongCacheSync(handler) {
return synchronize(makeStrongCache(handler));
}
function makeCachedFunction(CallCache, handler) {
const callCacheSync = new CallCache();
const callCacheAsync = new CallCache();
const futureCache = new CallCache();
return function* cachedFunction(arg, data) {
const asyncContext = yield* (0, _async.isAsync)();
const callCache = asyncContext ? callCacheAsync : callCacheSync;
const cached = yield* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data);
if (cached.valid) return cached.value;
const cache = new CacheConfigurator(data);
const handlerResult = handler(arg, cache);
let finishLock;
let value;
if ((0, _util.isIterableIterator)(handlerResult)) {
value = yield* (0, _async.onFirstPause)(handlerResult, () => {
finishLock = setupAsyncLocks(cache, futureCache, arg);
});
} else {
value = handlerResult;
}
updateFunctionCache(callCache, cache, arg, value);
if (finishLock) {
futureCache.delete(arg);
finishLock.release(value);
}
return value;
};
}
function* getCachedValue(cache, arg, data) {
const cachedValue = cache.get(arg);
if (cachedValue) {
for (const {
value,
valid
} of cachedValue) {
if (yield* valid(data)) return {
valid: true,
value
};
}
}
return {
valid: false,
value: null
};
}
function* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) {
const cached = yield* getCachedValue(callCache, arg, data);
if (cached.valid) {
return cached;
}
if (asyncContext) {
const cached = yield* getCachedValue(futureCache, arg, data);
if (cached.valid) {
const value = yield* (0, _async.waitFor)(cached.value.promise);
return {
valid: true,
value
};
}
}
return {
valid: false,
value: null
};
}
function setupAsyncLocks(config, futureCache, arg) {
const finishLock = new Lock();
updateFunctionCache(futureCache, config, arg, finishLock);
return finishLock;
}
function updateFunctionCache(cache, config, arg, value) {
if (!config.configured()) config.forever();
let cachedValue = cache.get(arg);
config.deactivate();
switch (config.mode()) {
case "forever":
cachedValue = [{
value,
valid: genTrue
}];
cache.set(arg, cachedValue);
break;
case "invalidate":
cachedValue = [{
value,
valid: config.validator()
}];
cache.set(arg, cachedValue);
break;
case "valid":
if (cachedValue) {
cachedValue.push({
value,
valid: config.validator()
});
} else {
cachedValue = [{
value,
valid: config.validator()
}];
cache.set(arg, cachedValue);
}
}
}
class CacheConfigurator {
constructor(data) {
this._active = true;
this._never = false;
this._forever = false;
this._invalidate = false;
this._configured = false;
this._pairs = [];
this._data = void 0;
this._data = data;
}
simple() {
return makeSimpleConfigurator(this);
}
mode() {
if (this._never) return "never";
if (this._forever) return "forever";
if (this._invalidate) return "invalidate";
return "valid";
}
forever() {
if (!this._active) {
throw new Error("Cannot change caching after evaluation has completed.");
}
if (this._never) {
throw new Error("Caching has already been configured with .never()");
}
this._forever = true;
this._configured = true;
}
never() {
if (!this._active) {
throw new Error("Cannot change caching after evaluation has completed.");
}
if (this._forever) {
throw new Error("Caching has already been configured with .forever()");
}
this._never = true;
this._configured = true;
}
using(handler) {
if (!this._active) {
throw new Error("Cannot change caching after evaluation has completed.");
}
if (this._never || this._forever) {
throw new Error("Caching has already been configured with .never or .forever()");
}
this._configured = true;
const key = handler(this._data);
const fn = (0, _async.maybeAsync)(handler, `You appear to be using an async cache handler, but Babel has been called synchronously`);
if ((0, _async.isThenable)(key)) {
return key.then(key => {
this._pairs.push([key, fn]);
return key;
});
}
this._pairs.push([key, fn]);
return key;
}
invalidate(handler) {
this._invalidate = true;
return this.using(handler);
}
validator() {
const pairs = this._pairs;
return function* (data) {
for (const [key, fn] of pairs) {
if (key !== (yield* fn(data))) return false;
}
return true;
};
}
deactivate() {
this._active = false;
}
configured() {
return this._configured;
}
}
function makeSimpleConfigurator(cache) {
function cacheFn(val) {
if (typeof val === "boolean") {
if (val) cache.forever();else cache.never();
return;
}
return cache.using(() => assertSimpleType(val()));
}
cacheFn.forever = () => cache.forever();
cacheFn.never = () => cache.never();
cacheFn.using = cb => cache.using(() => assertSimpleType(cb()));
cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb()));
return cacheFn;
}
function assertSimpleType(value) {
if ((0, _async.isThenable)(value)) {
throw new Error(`You appear to be using an async cache handler, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously handle your caching logic.`);
}
if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") {
throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");
}
return value;
}
class Lock {
constructor() {
this.released = false;
this.promise = void 0;
this._resolve = void 0;
this.promise = new Promise(resolve => {
this._resolve = resolve;
});
}
release(value) {
this.released = true;
this._resolve(value);
}
}
0 && 0;
//# sourceMappingURL=caching.js.map

1
node_modules/@babel/core/lib/config/caching.js.map generated vendored

File diff suppressed because one or more lines are too long

469
node_modules/@babel/core/lib/config/config-chain.js generated vendored

@ -0,0 +1,469 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildPresetChain = buildPresetChain;
exports.buildPresetChainWalker = void 0;
exports.buildRootChain = buildRootChain;
function _path() {
const data = require("path");
_path = function () {
return data;
};
return data;
}
function _debug() {
const data = require("debug");
_debug = function () {
return data;
};
return data;
}
var _options = require("./validation/options.js");
var _patternToRegex = require("./pattern-to-regex.js");
var _printer = require("./printer.js");
var _rewriteStackTrace = require("../errors/rewrite-stack-trace.js");
var _configError = require("../errors/config-error.js");
var _index = require("./files/index.js");
var _caching = require("./caching.js");
var _configDescriptors = require("./config-descriptors.js");
const debug = _debug()("babel:config:config-chain");
function* buildPresetChain(arg, context) {
const chain = yield* buildPresetChainWalker(arg, context);
if (!chain) return null;
return {
plugins: dedupDescriptors(chain.plugins),
presets: dedupDescriptors(chain.presets),
options: chain.options.map(o => createConfigChainOptions(o)),
files: new Set()
};
}
const buildPresetChainWalker = exports.buildPresetChainWalker = makeChainWalker({
root: preset => loadPresetDescriptors(preset),
env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),
overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),
overridesEnv: (preset, index, envName) => loadPresetOverridesEnvDescriptors(preset)(index)(envName),
createLogger: () => () => {}
});
const loadPresetDescriptors = (0, _caching.makeWeakCacheSync)(preset => buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors));
const loadPresetEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName)));
const loadPresetOverridesDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index)));
const loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName))));
function* buildRootChain(opts, context) {
let configReport, babelRcReport;
const programmaticLogger = new _printer.ConfigPrinter();
const programmaticChain = yield* loadProgrammaticChain({
options: opts,
dirname: context.cwd
}, context, undefined, programmaticLogger);
if (!programmaticChain) return null;
const programmaticReport = yield* programmaticLogger.output();
let configFile;
if (typeof opts.configFile === "string") {
configFile = yield* (0, _index.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller);
} else if (opts.configFile !== false) {
configFile = yield* (0, _index.findRootConfig)(context.root, context.envName, context.caller);
}
let {
babelrc,
babelrcRoots
} = opts;
let babelrcRootsDirectory = context.cwd;
const configFileChain = emptyChain();
const configFileLogger = new _printer.ConfigPrinter();
if (configFile) {
const validatedFile = validateConfigFile(configFile);
const result = yield* loadFileChain(validatedFile, context, undefined, configFileLogger);
if (!result) return null;
configReport = yield* configFileLogger.output();
if (babelrc === undefined) {
babelrc = validatedFile.options.babelrc;
}
if (babelrcRoots === undefined) {
babelrcRootsDirectory = validatedFile.dirname;
babelrcRoots = validatedFile.options.babelrcRoots;
}
mergeChain(configFileChain, result);
}
let ignoreFile, babelrcFile;
let isIgnored = false;
const fileChain = emptyChain();
if ((babelrc === true || babelrc === undefined) && typeof context.filename === "string") {
const pkgData = yield* (0, _index.findPackageData)(context.filename);
if (pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) {
({
ignore: ignoreFile,
config: babelrcFile
} = yield* (0, _index.findRelativeConfig)(pkgData, context.envName, context.caller));
if (ignoreFile) {
fileChain.files.add(ignoreFile.filepath);
}
if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) {
isIgnored = true;
}
if (babelrcFile && !isIgnored) {
const validatedFile = validateBabelrcFile(babelrcFile);
const babelrcLogger = new _printer.ConfigPrinter();
const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger);
if (!result) {
isIgnored = true;
} else {
babelRcReport = yield* babelrcLogger.output();
mergeChain(fileChain, result);
}
}
if (babelrcFile && isIgnored) {
fileChain.files.add(babelrcFile.filepath);
}
}
}
if (context.showConfig) {
console.log(`Babel configs on "${context.filename}" (ascending priority):\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join("\n\n") + "\n-----End Babel configs-----");
}
const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain);
return {
plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),
presets: isIgnored ? [] : dedupDescriptors(chain.presets),
options: isIgnored ? [] : chain.options.map(o => createConfigChainOptions(o)),
fileHandling: isIgnored ? "ignored" : "transpile",
ignore: ignoreFile || undefined,
babelrc: babelrcFile || undefined,
config: configFile || undefined,
files: chain.files
};
}
function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) {
if (typeof babelrcRoots === "boolean") return babelrcRoots;
const absoluteRoot = context.root;
if (babelrcRoots === undefined) {
return pkgData.directories.includes(absoluteRoot);
}
let babelrcPatterns = babelrcRoots;
if (!Array.isArray(babelrcPatterns)) {
babelrcPatterns = [babelrcPatterns];
}
babelrcPatterns = babelrcPatterns.map(pat => {
return typeof pat === "string" ? _path().resolve(babelrcRootsDirectory, pat) : pat;
});
if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {
return pkgData.directories.includes(absoluteRoot);
}
return babelrcPatterns.some(pat => {
if (typeof pat === "string") {
pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory);
}
return pkgData.directories.some(directory => {
return matchPattern(pat, babelrcRootsDirectory, directory, context);
});
});
}
const validateConfigFile = (0, _caching.makeWeakCacheSync)(file => ({
filepath: file.filepath,
dirname: file.dirname,
options: (0, _options.validate)("configfile", file.options, file.filepath)
}));
const validateBabelrcFile = (0, _caching.makeWeakCacheSync)(file => ({
filepath: file.filepath,
dirname: file.dirname,
options: (0, _options.validate)("babelrcfile", file.options, file.filepath)
}));
const validateExtendFile = (0, _caching.makeWeakCacheSync)(file => ({
filepath: file.filepath,
dirname: file.dirname,
options: (0, _options.validate)("extendsfile", file.options, file.filepath)
}));
const loadProgrammaticChain = makeChainWalker({
root: input => buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors),
env: (input, envName) => buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName),
overrides: (input, index) => buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index),
overridesEnv: (input, index, envName) => buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName),
createLogger: (input, context, baseLogger) => buildProgrammaticLogger(input, context, baseLogger)
});
const loadFileChainWalker = makeChainWalker({
root: file => loadFileDescriptors(file),
env: (file, envName) => loadFileEnvDescriptors(file)(envName),
overrides: (file, index) => loadFileOverridesDescriptors(file)(index),
overridesEnv: (file, index, envName) => loadFileOverridesEnvDescriptors(file)(index)(envName),
createLogger: (file, context, baseLogger) => buildFileLogger(file.filepath, context, baseLogger)
});
function* loadFileChain(input, context, files, baseLogger) {
const chain = yield* loadFileChainWalker(input, context, files, baseLogger);
chain == null || chain.files.add(input.filepath);
return chain;
}
const loadFileDescriptors = (0, _caching.makeWeakCacheSync)(file => buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors));
const loadFileEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName)));
const loadFileOverridesDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index)));
const loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName))));
function buildFileLogger(filepath, context, baseLogger) {
if (!baseLogger) {
return () => {};
}
return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Config, {
filepath
});
}
function buildRootDescriptors({
dirname,
options
}, alias, descriptors) {
return descriptors(dirname, options, alias);
}
function buildProgrammaticLogger(_, context, baseLogger) {
var _context$caller;
if (!baseLogger) {
return () => {};
}
return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Programmatic, {
callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name
});
}
function buildEnvDescriptors({
dirname,
options
}, alias, descriptors, envName) {
var _options$env;
const opts = (_options$env = options.env) == null ? void 0 : _options$env[envName];
return opts ? descriptors(dirname, opts, `${alias}.env["${envName}"]`) : null;
}
function buildOverrideDescriptors({
dirname,
options
}, alias, descriptors, index) {
var _options$overrides;
const opts = (_options$overrides = options.overrides) == null ? void 0 : _options$overrides[index];
if (!opts) throw new Error("Assertion failure - missing override");
return descriptors(dirname, opts, `${alias}.overrides[${index}]`);
}
function buildOverrideEnvDescriptors({
dirname,
options
}, alias, descriptors, index, envName) {
var _options$overrides2, _override$env;
const override = (_options$overrides2 = options.overrides) == null ? void 0 : _options$overrides2[index];
if (!override) throw new Error("Assertion failure - missing override");
const opts = (_override$env = override.env) == null ? void 0 : _override$env[envName];
return opts ? descriptors(dirname, opts, `${alias}.overrides[${index}].env["${envName}"]`) : null;
}
function makeChainWalker({
root,
env,
overrides,
overridesEnv,
createLogger
}) {
return function* chainWalker(input, context, files = new Set(), baseLogger) {
const {
dirname
} = input;
const flattenedConfigs = [];
const rootOpts = root(input);
if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {
flattenedConfigs.push({
config: rootOpts,
envName: undefined,
index: undefined
});
const envOpts = env(input, context.envName);
if (envOpts && configIsApplicable(envOpts, dirname, context, input.filepath)) {
flattenedConfigs.push({
config: envOpts,
envName: context.envName,
index: undefined
});
}
(rootOpts.options.overrides || []).forEach((_, index) => {
const overrideOps = overrides(input, index);
if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {
flattenedConfigs.push({
config: overrideOps,
index,
envName: undefined
});
const overrideEnvOpts = overridesEnv(input, index, context.envName);
if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context, input.filepath)) {
flattenedConfigs.push({
config: overrideEnvOpts,
index,
envName: context.envName
});
}
}
});
}
if (flattenedConfigs.some(({
config: {
options: {
ignore,
only
}
}
}) => shouldIgnore(context, ignore, only, dirname))) {
return null;
}
const chain = emptyChain();
const logger = createLogger(input, context, baseLogger);
for (const {
config,
index,
envName
} of flattenedConfigs) {
if (!(yield* mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger))) {
return null;
}
logger(config, index, envName);
yield* mergeChainOpts(chain, config);
}
return chain;
};
}
function* mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) {
if (opts.extends === undefined) return true;
const file = yield* (0, _index.loadConfig)(opts.extends, dirname, context.envName, context.caller);
if (files.has(file)) {
throw new Error(`Configuration cycle detected loading ${file.filepath}.\n` + `File already loaded following the config chain:\n` + Array.from(files, file => ` - ${file.filepath}`).join("\n"));
}
files.add(file);
const fileChain = yield* loadFileChain(validateExtendFile(file), context, files, baseLogger);
files.delete(file);
if (!fileChain) return false;
mergeChain(chain, fileChain);
return true;
}
function mergeChain(target, source) {
target.options.push(...source.options);
target.plugins.push(...source.plugins);
target.presets.push(...source.presets);
for (const file of source.files) {
target.files.add(file);
}
return target;
}
function* mergeChainOpts(target, {
options,
plugins,
presets
}) {
target.options.push(options);
target.plugins.push(...(yield* plugins()));
target.presets.push(...(yield* presets()));
return target;
}
function emptyChain() {
return {
options: [],
presets: [],
plugins: [],
files: new Set()
};
}
function createConfigChainOptions(opts) {
const options = Object.assign({}, opts);
delete options.extends;
delete options.env;
delete options.overrides;
delete options.plugins;
delete options.presets;
delete options.passPerPreset;
delete options.ignore;
delete options.only;
delete options.test;
delete options.include;
delete options.exclude;
if (hasOwnProperty.call(options, "sourceMap")) {
options.sourceMaps = options.sourceMap;
delete options.sourceMap;
}
return options;
}
function dedupDescriptors(items) {
const map = new Map();
const descriptors = [];
for (const item of items) {
if (typeof item.value === "function") {
const fnKey = item.value;
let nameMap = map.get(fnKey);
if (!nameMap) {
nameMap = new Map();
map.set(fnKey, nameMap);
}
let desc = nameMap.get(item.name);
if (!desc) {
desc = {
value: item
};
descriptors.push(desc);
if (!item.ownPass) nameMap.set(item.name, desc);
} else {
desc.value = item;
}
} else {
descriptors.push({
value: item
});
}
}
return descriptors.reduce((acc, desc) => {
acc.push(desc.value);
return acc;
}, []);
}
function configIsApplicable({
options
}, dirname, context, configName) {
return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname, configName)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname, configName)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname, configName));
}
function configFieldIsApplicable(context, test, dirname, configName) {
const patterns = Array.isArray(test) ? test : [test];
return matchesPatterns(context, patterns, dirname, configName);
}
function ignoreListReplacer(_key, value) {
if (value instanceof RegExp) {
return String(value);
}
return value;
}
function shouldIgnore(context, ignore, only, dirname) {
if (ignore && matchesPatterns(context, ignore, dirname)) {
var _context$filename;
const message = `No config is applied to "${(_context$filename = context.filename) != null ? _context$filename : "(unknown)"}" because it matches one of \`ignore: ${JSON.stringify(ignore, ignoreListReplacer)}\` from "${dirname}"`;
debug(message);
if (context.showConfig) {
console.log(message);
}
return true;
}
if (only && !matchesPatterns(context, only, dirname)) {
var _context$filename2;
const message = `No config is applied to "${(_context$filename2 = context.filename) != null ? _context$filename2 : "(unknown)"}" because it fails to match one of \`only: ${JSON.stringify(only, ignoreListReplacer)}\` from "${dirname}"`;
debug(message);
if (context.showConfig) {
console.log(message);
}
return true;
}
return false;
}
function matchesPatterns(context, patterns, dirname, configName) {
return patterns.some(pattern => matchPattern(pattern, dirname, context.filename, context, configName));
}
function matchPattern(pattern, dirname, pathToTest, context, configName) {
if (typeof pattern === "function") {
return !!(0, _rewriteStackTrace.endHiddenCallStack)(pattern)(pathToTest, {
dirname,
envName: context.envName,
caller: context.caller
});
}
if (typeof pathToTest !== "string") {
throw new _configError.default(`Configuration contains string/RegExp pattern, but no filename was passed to Babel`, configName);
}
if (typeof pattern === "string") {
pattern = (0, _patternToRegex.default)(pattern, dirname);
}
return pattern.test(pathToTest);
}
0 && 0;
//# sourceMappingURL=config-chain.js.map

1
node_modules/@babel/core/lib/config/config-chain.js.map generated vendored

File diff suppressed because one or more lines are too long

190
node_modules/@babel/core/lib/config/config-descriptors.js generated vendored

@ -0,0 +1,190 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createCachedDescriptors = createCachedDescriptors;
exports.createDescriptor = createDescriptor;
exports.createUncachedDescriptors = createUncachedDescriptors;
function _gensync() {
const data = require("gensync");
_gensync = function () {
return data;
};
return data;
}
var _functional = require("../gensync-utils/functional.js");
var _index = require("./files/index.js");
var _item = require("./item.js");
var _caching = require("./caching.js");
var _resolveTargets = require("./resolve-targets.js");
function isEqualDescriptor(a, b) {
var _a$file, _b$file, _a$file2, _b$file2;
return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && ((_a$file = a.file) == null ? void 0 : _a$file.request) === ((_b$file = b.file) == null ? void 0 : _b$file.request) && ((_a$file2 = a.file) == null ? void 0 : _a$file2.resolved) === ((_b$file2 = b.file) == null ? void 0 : _b$file2.resolved);
}
function* handlerOf(value) {
return value;
}
function optionsWithResolvedBrowserslistConfigFile(options, dirname) {
if (typeof options.browserslistConfigFile === "string") {
options.browserslistConfigFile = (0, _resolveTargets.resolveBrowserslistConfigFile)(options.browserslistConfigFile, dirname);
}
return options;
}
function createCachedDescriptors(dirname, options, alias) {
const {
plugins,
presets,
passPerPreset
} = options;
return {
options: optionsWithResolvedBrowserslistConfigFile(options, dirname),
plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => handlerOf([]),
presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => handlerOf([])
};
}
function createUncachedDescriptors(dirname, options, alias) {
return {
options: optionsWithResolvedBrowserslistConfigFile(options, dirname),
plugins: (0, _functional.once)(() => createPluginDescriptors(options.plugins || [], dirname, alias)),
presets: (0, _functional.once)(() => createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset))
};
}
const PRESET_DESCRIPTOR_CACHE = new WeakMap();
const createCachedPresetDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => {
const dirname = cache.using(dir => dir);
return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCache)(function* (passPerPreset) {
const descriptors = yield* createPresetDescriptors(items, dirname, alias, passPerPreset);
return descriptors.map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc));
}));
});
const PLUGIN_DESCRIPTOR_CACHE = new WeakMap();
const createCachedPluginDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => {
const dirname = cache.using(dir => dir);
return (0, _caching.makeStrongCache)(function* (alias) {
const descriptors = yield* createPluginDescriptors(items, dirname, alias);
return descriptors.map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc));
});
});
const DEFAULT_OPTIONS = {};
function loadCachedDescriptor(cache, desc) {
const {
value,
options = DEFAULT_OPTIONS
} = desc;
if (options === false) return desc;
let cacheByOptions = cache.get(value);
if (!cacheByOptions) {
cacheByOptions = new WeakMap();
cache.set(value, cacheByOptions);
}
let possibilities = cacheByOptions.get(options);
if (!possibilities) {
possibilities = [];
cacheByOptions.set(options, possibilities);
}
if (!possibilities.includes(desc)) {
const matches = possibilities.filter(possibility => isEqualDescriptor(possibility, desc));
if (matches.length > 0) {
return matches[0];
}
possibilities.push(desc);
}
return desc;
}
function* createPresetDescriptors(items, dirname, alias, passPerPreset) {
return yield* createDescriptors("preset", items, dirname, alias, passPerPreset);
}
function* createPluginDescriptors(items, dirname, alias) {
return yield* createDescriptors("plugin", items, dirname, alias);
}
function* createDescriptors(type, items, dirname, alias, ownPass) {
const descriptors = yield* _gensync().all(items.map((item, index) => createDescriptor(item, dirname, {
type,
alias: `${alias}$${index}`,
ownPass: !!ownPass
})));
assertNoDuplicates(descriptors);
return descriptors;
}
function* createDescriptor(pair, dirname, {
type,
alias,
ownPass
}) {
const desc = (0, _item.getItemDescriptor)(pair);
if (desc) {
return desc;
}
let name;
let options;
let value = pair;
if (Array.isArray(value)) {
if (value.length === 3) {
[value, options, name] = value;
} else {
[value, options] = value;
}
}
let file = undefined;
let filepath = null;
if (typeof value === "string") {
if (typeof type !== "string") {
throw new Error("To resolve a string-based item, the type of item must be given");
}
const resolver = type === "plugin" ? _index.loadPlugin : _index.loadPreset;
const request = value;
({
filepath,
value
} = yield* resolver(value, dirname));
file = {
request,
resolved: filepath
};
}
if (!value) {
throw new Error(`Unexpected falsy value: ${String(value)}`);
}
if (typeof value === "object" && value.__esModule) {
if (value.default) {
value = value.default;
} else {
throw new Error("Must export a default export when using ES6 modules.");
}
}
if (typeof value !== "object" && typeof value !== "function") {
throw new Error(`Unsupported format: ${typeof value}. Expected an object or a function.`);
}
if (filepath !== null && typeof value === "object" && value) {
throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`);
}
return {
name,
alias: filepath || alias,
value,
options,
dirname,
ownPass,
file
};
}
function assertNoDuplicates(items) {
const map = new Map();
for (const item of items) {
if (typeof item.value !== "function") continue;
let nameMap = map.get(item.value);
if (!nameMap) {
nameMap = new Set();
map.set(item.value, nameMap);
}
if (nameMap.has(item.name)) {
const conflicts = items.filter(i => i.value === item.value);
throw new Error([`Duplicate plugin/preset detected.`, `If you'd like to use two separate instances of a plugin,`, `they need separate names, e.g.`, ``, ` plugins: [`, ` ['some-plugin', {}],`, ` ['some-plugin', {}, 'some unique name'],`, ` ]`, ``, `Duplicates detected are:`, `${JSON.stringify(conflicts, null, 2)}`].join("\n"));
}
nameMap.add(item.name);
}
}
0 && 0;
//# sourceMappingURL=config-descriptors.js.map

1
node_modules/@babel/core/lib/config/config-descriptors.js.map generated vendored

File diff suppressed because one or more lines are too long

290
node_modules/@babel/core/lib/config/files/configuration.js generated vendored

@ -0,0 +1,290 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ROOT_CONFIG_FILENAMES = void 0;
exports.findConfigUpwards = findConfigUpwards;
exports.findRelativeConfig = findRelativeConfig;
exports.findRootConfig = findRootConfig;
exports.loadConfig = loadConfig;
exports.resolveShowConfigPath = resolveShowConfigPath;
function _debug() {
const data = require("debug");
_debug = function () {
return data;
};
return data;
}
function _fs() {
const data = require("fs");
_fs = function () {
return data;
};
return data;
}
function _path() {
const data = require("path");
_path = function () {
return data;
};
return data;
}
function _json() {
const data = require("json5");
_json = function () {
return data;
};
return data;
}
function _gensync() {
const data = require("gensync");
_gensync = function () {
return data;
};
return data;
}
var _caching = require("../caching.js");
var _configApi = require("../helpers/config-api.js");
var _utils = require("./utils.js");
var _moduleTypes = require("./module-types.js");
var _patternToRegex = require("../pattern-to-regex.js");
var _configError = require("../../errors/config-error.js");
var fs = require("../../gensync-utils/fs.js");
require("module");
var _rewriteStackTrace = require("../../errors/rewrite-stack-trace.js");
var _async = require("../../gensync-utils/async.js");
const debug = _debug()("babel:config:loading:files:configuration");
const ROOT_CONFIG_FILENAMES = exports.ROOT_CONFIG_FILENAMES = ["babel.config.js", "babel.config.cjs", "babel.config.mjs", "babel.config.json", "babel.config.cts", "babel.config.ts", "babel.config.mts"];
const RELATIVE_CONFIG_FILENAMES = [".babelrc", ".babelrc.js", ".babelrc.cjs", ".babelrc.mjs", ".babelrc.json", ".babelrc.cts"];
const BABELIGNORE_FILENAME = ".babelignore";
const runConfig = (0, _caching.makeWeakCache)(function* runConfig(options, cache) {
yield* [];
return {
options: (0, _rewriteStackTrace.endHiddenCallStack)(options)((0, _configApi.makeConfigAPI)(cache)),
cacheNeedsConfiguration: !cache.configured()
};
});
function* readConfigCode(filepath, data) {
if (!_fs().existsSync(filepath)) return null;
let options = yield* (0, _moduleTypes.default)(filepath, (yield* (0, _async.isAsync)()) ? "auto" : "require", "You appear to be using a native ECMAScript module configuration " + "file, which is only supported when running Babel asynchronously " + "or when using the Node.js `--experimental-require-module` flag.", "You appear to be using a configuration file that contains top-level " + "await, which is only supported when running Babel asynchronously.");
let cacheNeedsConfiguration = false;
if (typeof options === "function") {
({
options,
cacheNeedsConfiguration
} = yield* runConfig(options, data));
}
if (!options || typeof options !== "object" || Array.isArray(options)) {
throw new _configError.default(`Configuration should be an exported JavaScript object.`, filepath);
}
if (typeof options.then === "function") {
options.catch == null || options.catch(() => {});
throw new _configError.default(`You appear to be using an async configuration, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously return your config.`, filepath);
}
if (cacheNeedsConfiguration) throwConfigError(filepath);
return buildConfigFileObject(options, filepath);
}
const cfboaf = new WeakMap();
function buildConfigFileObject(options, filepath) {
let configFilesByFilepath = cfboaf.get(options);
if (!configFilesByFilepath) {
cfboaf.set(options, configFilesByFilepath = new Map());
}
let configFile = configFilesByFilepath.get(filepath);
if (!configFile) {
configFile = {
filepath,
dirname: _path().dirname(filepath),
options
};
configFilesByFilepath.set(filepath, configFile);
}
return configFile;
}
const packageToBabelConfig = (0, _caching.makeWeakCacheSync)(file => {
const babel = file.options.babel;
if (babel === undefined) return null;
if (typeof babel !== "object" || Array.isArray(babel) || babel === null) {
throw new _configError.default(`.babel property must be an object`, file.filepath);
}
return {
filepath: file.filepath,
dirname: file.dirname,
options: babel
};
});
const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => {
let options;
try {
options = _json().parse(content);
} catch (err) {
throw new _configError.default(`Error while parsing config - ${err.message}`, filepath);
}
if (!options) throw new _configError.default(`No config detected`, filepath);
if (typeof options !== "object") {
throw new _configError.default(`Config returned typeof ${typeof options}`, filepath);
}
if (Array.isArray(options)) {
throw new _configError.default(`Expected config object but found array`, filepath);
}
delete options.$schema;
return {
filepath,
dirname: _path().dirname(filepath),
options
};
});
const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => {
const ignoreDir = _path().dirname(filepath);
const ignorePatterns = content.split("\n").map(line => line.replace(/#.*$/, "").trim()).filter(Boolean);
for (const pattern of ignorePatterns) {
if (pattern.startsWith("!")) {
throw new _configError.default(`Negation of file paths is not supported.`, filepath);
}
}
return {
filepath,
dirname: _path().dirname(filepath),
ignore: ignorePatterns.map(pattern => (0, _patternToRegex.default)(pattern, ignoreDir))
};
});
function findConfigUpwards(rootDir) {
let dirname = rootDir;
for (;;) {
for (const filename of ROOT_CONFIG_FILENAMES) {
if (_fs().existsSync(_path().join(dirname, filename))) {
return dirname;
}
}
const nextDir = _path().dirname(dirname);
if (dirname === nextDir) break;
dirname = nextDir;
}
return null;
}
function* findRelativeConfig(packageData, envName, caller) {
let config = null;
let ignore = null;
const dirname = _path().dirname(packageData.filepath);
for (const loc of packageData.directories) {
if (!config) {
var _packageData$pkg;
config = yield* loadOneConfig(RELATIVE_CONFIG_FILENAMES, loc, envName, caller, ((_packageData$pkg = packageData.pkg) == null ? void 0 : _packageData$pkg.dirname) === loc ? packageToBabelConfig(packageData.pkg) : null);
}
if (!ignore) {
const ignoreLoc = _path().join(loc, BABELIGNORE_FILENAME);
ignore = yield* readIgnoreConfig(ignoreLoc);
if (ignore) {
debug("Found ignore %o from %o.", ignore.filepath, dirname);
}
}
}
return {
config,
ignore
};
}
function findRootConfig(dirname, envName, caller) {
return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller);
}
function* loadOneConfig(names, dirname, envName, caller, previousConfig = null) {
const configs = yield* _gensync().all(names.map(filename => readConfig(_path().join(dirname, filename), envName, caller)));
const config = configs.reduce((previousConfig, config) => {
if (config && previousConfig) {
throw new _configError.default(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().basename(previousConfig.filepath)}\n` + ` - ${config.filepath}\n` + `from ${dirname}`);
}
return config || previousConfig;
}, previousConfig);
if (config) {
debug("Found configuration %o from %o.", config.filepath, dirname);
}
return config;
}
function* loadConfig(name, dirname, envName, caller) {
const filepath = (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, {
paths: [b]
}, M = require("module")) => {
let f = M._findPath(r, M._nodeModulePaths(b).concat(b));
if (f) return f;
f = new Error(`Cannot resolve module '${r}'`);
f.code = "MODULE_NOT_FOUND";
throw f;
})(name, {
paths: [dirname]
});
const conf = yield* readConfig(filepath, envName, caller);
if (!conf) {
throw new _configError.default(`Config file contains no configuration data`, filepath);
}
debug("Loaded config %o from %o.", name, dirname);
return conf;
}
function readConfig(filepath, envName, caller) {
const ext = _path().extname(filepath);
switch (ext) {
case ".js":
case ".cjs":
case ".mjs":
case ".ts":
case ".cts":
case ".mts":
return readConfigCode(filepath, {
envName,
caller
});
default:
return readConfigJSON5(filepath);
}
}
function* resolveShowConfigPath(dirname) {
const targetPath = process.env.BABEL_SHOW_CONFIG_FOR;
if (targetPath != null) {
const absolutePath = _path().resolve(dirname, targetPath);
const stats = yield* fs.stat(absolutePath);
if (!stats.isFile()) {
throw new Error(`${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`);
}
return absolutePath;
}
return null;
}
function throwConfigError(filepath) {
throw new _configError.default(`\
Caching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured
for various types of caching, using the first param of their handler functions:
module.exports = function(api) {
// The API exposes the following:
// Cache the returned value forever and don't call this function again.
api.cache(true);
// Don't cache at all. Not recommended because it will be very slow.
api.cache(false);
// Cached based on the value of some function. If this function returns a value different from
// a previously-encountered value, the plugins will re-evaluate.
var env = api.cache(() => process.env.NODE_ENV);
// If testing for a specific env, we recommend specifics to avoid instantiating a plugin for
// any possible NODE_ENV value that might come up during plugin execution.
var isProd = api.cache(() => process.env.NODE_ENV === "production");
// .cache(fn) will perform a linear search though instances to find the matching plugin based
// based on previous instantiated plugins. If you want to recreate the plugin and discard the
// previous instance whenever something changes, you may use:
var isProd = api.cache.invalidate(() => process.env.NODE_ENV === "production");
// Note, we also expose the following more-verbose versions of the above examples:
api.cache.forever(); // api.cache(true)
api.cache.never(); // api.cache(false)
api.cache.using(fn); // api.cache(fn)
// Return the value that will be cached.
return { };
};`, filepath);
}
0 && 0;
//# sourceMappingURL=configuration.js.map

1
node_modules/@babel/core/lib/config/files/configuration.js.map generated vendored

File diff suppressed because one or more lines are too long

6
node_modules/@babel/core/lib/config/files/import.cjs generated vendored

@ -0,0 +1,6 @@
module.exports = function import_(filepath) {
return import(filepath);
};
0 && 0;
//# sourceMappingURL=import.cjs.map

1
node_modules/@babel/core/lib/config/files/import.cjs.map generated vendored

@ -0,0 +1 @@
{"version":3,"names":["module","exports","import_","filepath"],"sources":["../../../src/config/files/import.cjs"],"sourcesContent":["// We keep this in a separate file so that in older node versions, where\n// import() isn't supported, we can try/catch around the require() call\n// when loading this file.\n\nmodule.exports = function import_(filepath) {\n return import(filepath);\n};\n"],"mappings":"AAIAA,MAAM,CAACC,OAAO,GAAG,SAASC,OAAOA,CAACC,QAAQ,EAAE;EAC1C,OAAO,OAAOA,QAAQ,CAAC;AACzB,CAAC;AAAC","ignoreList":[]}

58
node_modules/@babel/core/lib/config/files/index-browser.js generated vendored

@ -0,0 +1,58 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ROOT_CONFIG_FILENAMES = void 0;
exports.findConfigUpwards = findConfigUpwards;
exports.findPackageData = findPackageData;
exports.findRelativeConfig = findRelativeConfig;
exports.findRootConfig = findRootConfig;
exports.loadConfig = loadConfig;
exports.loadPlugin = loadPlugin;
exports.loadPreset = loadPreset;
exports.resolvePlugin = resolvePlugin;
exports.resolvePreset = resolvePreset;
exports.resolveShowConfigPath = resolveShowConfigPath;
function findConfigUpwards(rootDir) {
return null;
}
function* findPackageData(filepath) {
return {
filepath,
directories: [],
pkg: null,
isPackage: false
};
}
function* findRelativeConfig(pkgData, envName, caller) {
return {
config: null,
ignore: null
};
}
function* findRootConfig(dirname, envName, caller) {
return null;
}
function* loadConfig(name, dirname, envName, caller) {
throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);
}
function* resolveShowConfigPath(dirname) {
return null;
}
const ROOT_CONFIG_FILENAMES = exports.ROOT_CONFIG_FILENAMES = [];
function resolvePlugin(name, dirname) {
return null;
}
function resolvePreset(name, dirname) {
return null;
}
function loadPlugin(name, dirname) {
throw new Error(`Cannot load plugin ${name} relative to ${dirname} in a browser`);
}
function loadPreset(name, dirname) {
throw new Error(`Cannot load preset ${name} relative to ${dirname} in a browser`);
}
0 && 0;
//# sourceMappingURL=index-browser.js.map

1
node_modules/@babel/core/lib/config/files/index-browser.js.map generated vendored

@ -0,0 +1 @@
{"version":3,"names":["findConfigUpwards","rootDir","findPackageData","filepath","directories","pkg","isPackage","findRelativeConfig","pkgData","envName","caller","config","ignore","findRootConfig","dirname","loadConfig","name","Error","resolveShowConfigPath","ROOT_CONFIG_FILENAMES","exports","resolvePlugin","resolvePreset","loadPlugin","loadPreset"],"sources":["../../../src/config/files/index-browser.ts"],"sourcesContent":["/* c8 ignore start */\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types.ts\";\n\nimport type { CallerMetadata } from \"../validation/options.ts\";\n\nexport type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };\n\nexport function findConfigUpwards(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n rootDir: string,\n): string | null {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* findPackageData(filepath: string): Handler<FilePackageData> {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false,\n };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRelativeConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pkgData: FilePackageData,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler<RelativeConfig> {\n return { config: null, ignore: null };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRootConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler<ConfigFile | null> {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* loadConfig(\n name: string,\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler<ConfigFile> {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\n\n// eslint-disable-next-line require-yield\nexport function* resolveShowConfigPath(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n): Handler<string | null> {\n return null;\n}\n\nexport const ROOT_CONFIG_FILENAMES: string[] = [];\n\ntype Resolved =\n | { loader: \"require\"; filepath: string }\n | { loader: \"import\"; filepath: string };\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePlugin(name: string, dirname: string): Resolved | null {\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePreset(name: string, dirname: string): Resolved | null {\n return null;\n}\n\nexport function loadPlugin(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load plugin ${name} relative to ${dirname} in a browser`,\n );\n}\n\nexport function loadPreset(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load preset ${name} relative to ${dirname} in a browser`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAeO,SAASA,iBAAiBA,CAE/BC,OAAe,EACA;EACf,OAAO,IAAI;AACb;AAGO,UAAUC,eAAeA,CAACC,QAAgB,EAA4B;EAC3E,OAAO;IACLA,QAAQ;IACRC,WAAW,EAAE,EAAE;IACfC,GAAG,EAAE,IAAI;IACTC,SAAS,EAAE;EACb,CAAC;AACH;AAGO,UAAUC,kBAAkBA,CAEjCC,OAAwB,EAExBC,OAAe,EAEfC,MAAkC,EACT;EACzB,OAAO;IAAEC,MAAM,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC;AACvC;AAGO,UAAUC,cAAcA,CAE7BC,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACN;EAC5B,OAAO,IAAI;AACb;AAGO,UAAUK,UAAUA,CACzBC,IAAY,EACZF,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACb;EACrB,MAAM,IAAIO,KAAK,CAAC,eAAeD,IAAI,gBAAgBF,OAAO,eAAe,CAAC;AAC5E;AAGO,UAAUI,qBAAqBA,CAEpCJ,OAAe,EACS;EACxB,OAAO,IAAI;AACb;AAEO,MAAMK,qBAA+B,GAAAC,OAAA,CAAAD,qBAAA,GAAG,EAAE;AAO1C,SAASE,aAAaA,CAACL,IAAY,EAAEF,OAAe,EAAmB;EAC5E,OAAO,IAAI;AACb;AAGO,SAASQ,aAAaA,CAACN,IAAY,EAAEF,OAAe,EAAmB;EAC5E,OAAO,IAAI;AACb;AAEO,SAASS,UAAUA,CACxBP,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACb,sBAAsBD,IAAI,gBAAgBF,OAAO,eACnD,CAAC;AACH;AAEO,SAASU,UAAUA,CACxBR,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACb,sBAAsBD,IAAI,gBAAgBF,OAAO,eACnD,CAAC;AACH;AAAC","ignoreList":[]}

78
node_modules/@babel/core/lib/config/files/index.js generated vendored

@ -0,0 +1,78 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ROOT_CONFIG_FILENAMES", {
enumerable: true,
get: function () {
return _configuration.ROOT_CONFIG_FILENAMES;
}
});
Object.defineProperty(exports, "findConfigUpwards", {
enumerable: true,
get: function () {
return _configuration.findConfigUpwards;
}
});
Object.defineProperty(exports, "findPackageData", {
enumerable: true,
get: function () {
return _package.findPackageData;
}
});
Object.defineProperty(exports, "findRelativeConfig", {
enumerable: true,
get: function () {
return _configuration.findRelativeConfig;
}
});
Object.defineProperty(exports, "findRootConfig", {
enumerable: true,
get: function () {
return _configuration.findRootConfig;
}
});
Object.defineProperty(exports, "loadConfig", {
enumerable: true,
get: function () {
return _configuration.loadConfig;
}
});
Object.defineProperty(exports, "loadPlugin", {
enumerable: true,
get: function () {
return _plugins.loadPlugin;
}
});
Object.defineProperty(exports, "loadPreset", {
enumerable: true,
get: function () {
return _plugins.loadPreset;
}
});
Object.defineProperty(exports, "resolvePlugin", {
enumerable: true,
get: function () {
return _plugins.resolvePlugin;
}
});
Object.defineProperty(exports, "resolvePreset", {
enumerable: true,
get: function () {
return _plugins.resolvePreset;
}
});
Object.defineProperty(exports, "resolveShowConfigPath", {
enumerable: true,
get: function () {
return _configuration.resolveShowConfigPath;
}
});
var _package = require("./package.js");
var _configuration = require("./configuration.js");
var _plugins = require("./plugins.js");
({});
0 && 0;
//# sourceMappingURL=index.js.map

1
node_modules/@babel/core/lib/config/files/index.js.map generated vendored

@ -0,0 +1 @@
{"version":3,"names":["_package","require","_configuration","_plugins"],"sources":["../../../src/config/files/index.ts"],"sourcesContent":["type indexBrowserType = typeof import(\"./index-browser\");\ntype indexType = typeof import(\"./index\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n({}) as any as indexBrowserType as indexType;\n\nexport { findPackageData } from \"./package.ts\";\n\nexport {\n findConfigUpwards,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./configuration.ts\";\nexport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types.ts\";\nexport {\n loadPlugin,\n loadPreset,\n resolvePlugin,\n resolvePreset,\n} from \"./plugins.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAcA,IAAAE,QAAA,GAAAF,OAAA;AAlBA,CAAC,CAAC,CAAC;AAA0C","ignoreList":[]}

203
node_modules/@babel/core/lib/config/files/module-types.js generated vendored

@ -0,0 +1,203 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = loadCodeDefault;
exports.supportsESM = void 0;
var _async = require("../../gensync-utils/async.js");
function _path() {
const data = require("path");
_path = function () {
return data;
};
return data;
}
function _url() {
const data = require("url");
_url = function () {
return data;
};
return data;
}
require("module");
function _semver() {
const data = require("semver");
_semver = function () {
return data;
};
return data;
}
function _debug() {
const data = require("debug");
_debug = function () {
return data;
};
return data;
}
var _rewriteStackTrace = require("../../errors/rewrite-stack-trace.js");
var _configError = require("../../errors/config-error.js");
var _transformFile = require("../../transform-file.js");
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
const debug = _debug()("babel:config:loading:files:module-types");
try {
var import_ = require("./import.cjs");
} catch (_unused) {}
const supportsESM = exports.supportsESM = _semver().satisfies(process.versions.node, "^12.17 || >=13.2");
const LOADING_CJS_FILES = new Set();
function loadCjsDefault(filepath) {
if (LOADING_CJS_FILES.has(filepath)) {
debug("Auto-ignoring usage of config %o.", filepath);
return {};
}
let module;
try {
LOADING_CJS_FILES.add(filepath);
module = (0, _rewriteStackTrace.endHiddenCallStack)(require)(filepath);
} finally {
LOADING_CJS_FILES.delete(filepath);
}
return module != null && (module.__esModule || module[Symbol.toStringTag] === "Module") ? module.default || (arguments[1] ? module : undefined) : module;
}
const loadMjsFromPath = (0, _rewriteStackTrace.endHiddenCallStack)(function () {
var _loadMjsFromPath = _asyncToGenerator(function* (filepath) {
const url = (0, _url().pathToFileURL)(filepath).toString() + "?import";
if (!import_) {
throw new _configError.default("Internal error: Native ECMAScript modules aren't supported by this platform.\n", filepath);
}
return yield import_(url);
});
function loadMjsFromPath(_x) {
return _loadMjsFromPath.apply(this, arguments);
}
return loadMjsFromPath;
}());
const tsNotSupportedError = ext => `\
You are using a ${ext} config file, but Babel only supports transpiling .cts configs. Either:
- Use a .cts config file
- Update to Node.js 23.6.0, which has native TypeScript support
- Install tsx to transpile ${ext} files on the fly\
`;
const SUPPORTED_EXTENSIONS = {
".js": "unknown",
".mjs": "esm",
".cjs": "cjs",
".ts": "unknown",
".mts": "esm",
".cts": "cjs"
};
const asyncModules = new Set();
function* loadCodeDefault(filepath, loader, esmError, tlaError) {
let async;
const ext = _path().extname(filepath);
const isTS = ext === ".ts" || ext === ".cts" || ext === ".mts";
const type = SUPPORTED_EXTENSIONS[hasOwnProperty.call(SUPPORTED_EXTENSIONS, ext) ? ext : ".js"];
const pattern = `${loader} ${type}`;
switch (pattern) {
case "require cjs":
case "auto cjs":
if (isTS) {
return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath));
} else {
return loadCjsDefault(filepath, arguments[2]);
}
case "auto unknown":
case "require unknown":
case "require esm":
try {
if (isTS) {
return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath));
} else {
return loadCjsDefault(filepath, arguments[2]);
}
} catch (e) {
if (e.code === "ERR_REQUIRE_ASYNC_MODULE" || e.code === "ERR_REQUIRE_CYCLE_MODULE" && asyncModules.has(filepath)) {
asyncModules.add(filepath);
if (!(async != null ? async : async = yield* (0, _async.isAsync)())) {
throw new _configError.default(tlaError, filepath);
}
} else if (e.code === "ERR_REQUIRE_ESM" || type === "esm") {} else {
throw e;
}
}
case "auto esm":
if (async != null ? async : async = yield* (0, _async.isAsync)()) {
const promise = isTS ? ensureTsSupport(filepath, ext, () => loadMjsFromPath(filepath)) : loadMjsFromPath(filepath);
return (yield* (0, _async.waitFor)(promise)).default;
}
if (isTS) {
throw new _configError.default(tsNotSupportedError(ext), filepath);
} else {
throw new _configError.default(esmError, filepath);
}
default:
throw new Error("Internal Babel error: unreachable code.");
}
}
function ensureTsSupport(filepath, ext, callback) {
if (process.features.typescript || require.extensions[".ts"] || require.extensions[".cts"] || require.extensions[".mts"]) {
return callback();
}
if (ext !== ".cts") {
throw new _configError.default(tsNotSupportedError(ext), filepath);
}
const opts = {
babelrc: false,
configFile: false,
sourceType: "unambiguous",
sourceMaps: "inline",
sourceFileName: _path().basename(filepath),
presets: [[getTSPreset(filepath), Object.assign({
onlyRemoveTypeImports: true,
optimizeConstEnums: true
}, {
allowDeclareFields: true
})]]
};
let handler = function (m, filename) {
if (handler && filename.endsWith(".cts")) {
try {
return m._compile((0, _transformFile.transformFileSync)(filename, Object.assign({}, opts, {
filename
})).code, filename);
} catch (error) {
const packageJson = require("@babel/preset-typescript/package.json");
if (_semver().lt(packageJson.version, "7.21.4")) {
console.error("`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`.");
}
throw error;
}
}
return require.extensions[".js"](m, filename);
};
require.extensions[ext] = handler;
try {
return callback();
} finally {
if (require.extensions[ext] === handler) delete require.extensions[ext];
handler = undefined;
}
}
function getTSPreset(filepath) {
try {
return require("@babel/preset-typescript");
} catch (error) {
if (error.code !== "MODULE_NOT_FOUND") throw error;
let message = "You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!";
if (process.versions.pnp) {
message += `
If you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file:
packageExtensions:
\t"@babel/core@*":
\t\tpeerDependencies:
\t\t\t"@babel/preset-typescript": "*"
`;
}
throw new _configError.default(message, filepath);
}
}
0 && 0;
//# sourceMappingURL=module-types.js.map

1
node_modules/@babel/core/lib/config/files/module-types.js.map generated vendored

File diff suppressed because one or more lines are too long

61
node_modules/@babel/core/lib/config/files/package.js generated vendored

@ -0,0 +1,61 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findPackageData = findPackageData;
function _path() {
const data = require("path");
_path = function () {
return data;
};
return data;
}
var _utils = require("./utils.js");
var _configError = require("../../errors/config-error.js");
const PACKAGE_FILENAME = "package.json";
const readConfigPackage = (0, _utils.makeStaticFileCache)((filepath, content) => {
let options;
try {
options = JSON.parse(content);
} catch (err) {
throw new _configError.default(`Error while parsing JSON - ${err.message}`, filepath);
}
if (!options) throw new Error(`${filepath}: No config detected`);
if (typeof options !== "object") {
throw new _configError.default(`Config returned typeof ${typeof options}`, filepath);
}
if (Array.isArray(options)) {
throw new _configError.default(`Expected config object but found array`, filepath);
}
return {
filepath,
dirname: _path().dirname(filepath),
options
};
});
function* findPackageData(filepath) {
let pkg = null;
const directories = [];
let isPackage = true;
let dirname = _path().dirname(filepath);
while (!pkg && _path().basename(dirname) !== "node_modules") {
directories.push(dirname);
pkg = yield* readConfigPackage(_path().join(dirname, PACKAGE_FILENAME));
const nextLoc = _path().dirname(dirname);
if (dirname === nextLoc) {
isPackage = false;
break;
}
dirname = nextLoc;
}
return {
filepath,
directories,
pkg,
isPackage
};
}
0 && 0;
//# sourceMappingURL=package.js.map

1
node_modules/@babel/core/lib/config/files/package.js.map generated vendored

@ -0,0 +1 @@
{"version":3,"names":["_path","data","require","_utils","_configError","PACKAGE_FILENAME","readConfigPackage","makeStaticFileCache","filepath","content","options","JSON","parse","err","ConfigError","message","Error","Array","isArray","dirname","path","findPackageData","pkg","directories","isPackage","basename","push","join","nextLoc"],"sources":["../../../src/config/files/package.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { Handler } from \"gensync\";\nimport { makeStaticFileCache } from \"./utils.ts\";\n\nimport type { ConfigFile, FilePackageData } from \"./types.ts\";\n\nimport ConfigError from \"../../errors/config-error.ts\";\n\nconst PACKAGE_FILENAME = \"package.json\";\n\nconst readConfigPackage = makeStaticFileCache(\n (filepath, content): ConfigFile => {\n let options;\n try {\n options = JSON.parse(content) as unknown;\n } catch (err) {\n throw new ConfigError(\n `Error while parsing JSON - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new Error(`${filepath}: No config detected`);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(\n `Config returned typeof ${typeof options}`,\n filepath,\n );\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n },\n);\n\n/**\n * Find metadata about the package that this file is inside of. Resolution\n * of Babel's config requires general package information to decide when to\n * search for .babelrc files\n */\nexport function* findPackageData(filepath: string): Handler<FilePackageData> {\n let pkg = null;\n const directories = [];\n let isPackage = true;\n\n let dirname = path.dirname(filepath);\n while (!pkg && path.basename(dirname) !== \"node_modules\") {\n directories.push(dirname);\n\n pkg = yield* readConfigPackage(path.join(dirname, PACKAGE_FILENAME));\n\n const nextLoc = path.dirname(dirname);\n if (dirname === nextLoc) {\n isPackage = false;\n break;\n }\n dirname = nextLoc;\n }\n\n return { filepath, directories, pkg, isPackage };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AAEA,MAAMG,gBAAgB,GAAG,cAAc;AAEvC,MAAMC,iBAAiB,GAAG,IAAAC,0BAAmB,EAC3C,CAACC,QAAQ,EAAEC,OAAO,KAAiB;EACjC,IAAIC,OAAO;EACX,IAAI;IACFA,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAAY;EAC1C,CAAC,CAAC,OAAOI,GAAG,EAAE;IACZ,MAAM,IAAIC,oBAAW,CACnB,8BAA8BD,GAAG,CAACE,OAAO,EAAE,EAC3CP,QACF,CAAC;EACH;EAEA,IAAI,CAACE,OAAO,EAAE,MAAM,IAAIM,KAAK,CAAC,GAAGR,QAAQ,sBAAsB,CAAC;EAEhE,IAAI,OAAOE,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAII,oBAAW,CACnB,0BAA0B,OAAOJ,OAAO,EAAE,EAC1CF,QACF,CAAC;EACH;EACA,IAAIS,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAII,oBAAW,CAAC,wCAAwC,EAAEN,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ;IACRW,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;IAC/BE;EACF,CAAC;AACH,CACF,CAAC;AAOM,UAAUW,eAAeA,CAACb,QAAgB,EAA4B;EAC3E,IAAIc,GAAG,GAAG,IAAI;EACd,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIC,SAAS,GAAG,IAAI;EAEpB,IAAIL,OAAO,GAAGC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;EACpC,OAAO,CAACc,GAAG,IAAIF,MAAGA,CAAC,CAACK,QAAQ,CAACN,OAAO,CAAC,KAAK,cAAc,EAAE;IACxDI,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC;IAEzBG,GAAG,GAAG,OAAOhB,iBAAiB,CAACc,MAAGA,CAAC,CAACO,IAAI,CAACR,OAAO,EAAEd,gBAAgB,CAAC,CAAC;IAEpE,MAAMuB,OAAO,GAAGR,MAAGA,CAAC,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAKS,OAAO,EAAE;MACvBJ,SAAS,GAAG,KAAK;MACjB;IACF;IACAL,OAAO,GAAGS,OAAO;EACnB;EAEA,OAAO;IAAEpB,QAAQ;IAAEe,WAAW;IAAED,GAAG;IAAEE;EAAU,CAAC;AAClD;AAAC","ignoreList":[]}

220
node_modules/@babel/core/lib/config/files/plugins.js generated vendored

@ -0,0 +1,220 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.loadPlugin = loadPlugin;
exports.loadPreset = loadPreset;
exports.resolvePreset = exports.resolvePlugin = void 0;
function _debug() {
const data = require("debug");
_debug = function () {
return data;
};
return data;
}
function _path() {
const data = require("path");
_path = function () {
return data;
};
return data;
}
var _async = require("../../gensync-utils/async.js");
var _moduleTypes = require("./module-types.js");
function _url() {
const data = require("url");
_url = function () {
return data;
};
return data;
}
var _importMetaResolve = require("../../vendor/import-meta-resolve.js");
require("module");
function _fs() {
const data = require("fs");
_fs = function () {
return data;
};
return data;
}
const debug = _debug()("babel:config:loading:files:plugins");
const EXACT_RE = /^module:/;
const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/;
const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/;
const BABEL_PLUGIN_ORG_RE = /^(@babel\/)(?!plugin-|[^/]+\/)/;
const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/;
const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/;
const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/;
const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;
const resolvePlugin = exports.resolvePlugin = resolveStandardizedName.bind(null, "plugin");
const resolvePreset = exports.resolvePreset = resolveStandardizedName.bind(null, "preset");
function* loadPlugin(name, dirname) {
const {
filepath,
loader
} = resolvePlugin(name, dirname, yield* (0, _async.isAsync)());
const value = yield* requireModule("plugin", loader, filepath);
debug("Loaded plugin %o from %o.", name, dirname);
return {
filepath,
value
};
}
function* loadPreset(name, dirname) {
const {
filepath,
loader
} = resolvePreset(name, dirname, yield* (0, _async.isAsync)());
const value = yield* requireModule("preset", loader, filepath);
debug("Loaded preset %o from %o.", name, dirname);
return {
filepath,
value
};
}
function standardizeName(type, name) {
if (_path().isAbsolute(name)) return name;
const isPreset = type === "preset";
return name.replace(isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE, `babel-${type}-`).replace(isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE, `$1${type}-`).replace(isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE, `$1babel-${type}-`).replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`).replace(EXACT_RE, "");
}
function* resolveAlternativesHelper(type, name) {
const standardizedName = standardizeName(type, name);
const {
error,
value
} = yield standardizedName;
if (!error) return value;
if (error.code !== "MODULE_NOT_FOUND") throw error;
if (standardizedName !== name && !(yield name).error) {
error.message += `\n- If you want to resolve "${name}", use "module:${name}"`;
}
if (!(yield standardizeName(type, "@babel/" + name)).error) {
error.message += `\n- Did you mean "@babel/${name}"?`;
}
const oppositeType = type === "preset" ? "plugin" : "preset";
if (!(yield standardizeName(oppositeType, name)).error) {
error.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;
}
if (type === "plugin") {
const transformName = standardizedName.replace("-proposal-", "-transform-");
if (transformName !== standardizedName && !(yield transformName).error) {
error.message += `\n- Did you mean "${transformName}"?`;
}
}
error.message += `\n
Make sure that all the Babel plugins and presets you are using
are defined as dependencies or devDependencies in your package.json
file. It's possible that the missing plugin is loaded by a preset
you are using that forgot to add the plugin to its dependencies: you
can workaround this problem by explicitly adding the missing package
to your top-level package.json.
`;
throw error;
}
function tryRequireResolve(id, dirname) {
try {
if (dirname) {
return {
error: null,
value: (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, {
paths: [b]
}, M = require("module")) => {
let f = M._findPath(r, M._nodeModulePaths(b).concat(b));
if (f) return f;
f = new Error(`Cannot resolve module '${r}'`);
f.code = "MODULE_NOT_FOUND";
throw f;
})(id, {
paths: [dirname]
})
};
} else {
return {
error: null,
value: require.resolve(id)
};
}
} catch (error) {
return {
error,
value: null
};
}
}
function tryImportMetaResolve(id, options) {
try {
return {
error: null,
value: (0, _importMetaResolve.resolve)(id, options)
};
} catch (error) {
return {
error,
value: null
};
}
}
function resolveStandardizedNameForRequire(type, name, dirname) {
const it = resolveAlternativesHelper(type, name);
let res = it.next();
while (!res.done) {
res = it.next(tryRequireResolve(res.value, dirname));
}
return {
loader: "require",
filepath: res.value
};
}
function resolveStandardizedNameForImport(type, name, dirname) {
const parentUrl = (0, _url().pathToFileURL)(_path().join(dirname, "./babel-virtual-resolve-base.js")).href;
const it = resolveAlternativesHelper(type, name);
let res = it.next();
while (!res.done) {
res = it.next(tryImportMetaResolve(res.value, parentUrl));
}
return {
loader: "auto",
filepath: (0, _url().fileURLToPath)(res.value)
};
}
function resolveStandardizedName(type, name, dirname, allowAsync) {
if (!_moduleTypes.supportsESM || !allowAsync) {
return resolveStandardizedNameForRequire(type, name, dirname);
}
try {
const resolved = resolveStandardizedNameForImport(type, name, dirname);
if (!(0, _fs().existsSync)(resolved.filepath)) {
throw Object.assign(new Error(`Could not resolve "${name}" in file ${dirname}.`), {
type: "MODULE_NOT_FOUND"
});
}
return resolved;
} catch (e) {
try {
return resolveStandardizedNameForRequire(type, name, dirname);
} catch (e2) {
if (e.type === "MODULE_NOT_FOUND") throw e;
if (e2.type === "MODULE_NOT_FOUND") throw e2;
throw e;
}
}
}
var LOADING_MODULES = new Set();
function* requireModule(type, loader, name) {
if (!(yield* (0, _async.isAsync)()) && LOADING_MODULES.has(name)) {
throw new Error(`Reentrant ${type} detected trying to load "${name}". This module is not ignored ` + "and is trying to load itself while compiling itself, leading to a dependency cycle. " + 'We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.');
}
try {
LOADING_MODULES.add(name);
return yield* (0, _moduleTypes.default)(name, loader, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously " + "or when using the Node.js `--experimental-require-module` flag.", `You appear to be using a ${type} that contains top-level await, ` + "which is only supported when running Babel asynchronously.", true);
} catch (err) {
err.message = `[BABEL]: ${err.message} (While processing: ${name})`;
throw err;
} finally {
LOADING_MODULES.delete(name);
}
}
0 && 0;
//# sourceMappingURL=plugins.js.map

1
node_modules/@babel/core/lib/config/files/plugins.js.map generated vendored

File diff suppressed because one or more lines are too long

5
node_modules/@babel/core/lib/config/files/types.js generated vendored

@ -0,0 +1,5 @@
"use strict";
0 && 0;
//# sourceMappingURL=types.js.map

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save