@aristobyte-ui/button 1.0.53 → 1.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -4,10 +4,10 @@ import { IconPropsType } from '@aristobyte-ui/utils';
4
4
  interface IButton {
5
5
  type?: "button" | "link";
6
6
  text?: string;
7
- children?: React.ReactElement | React.JSX.Element | React.ReactNode | string;
7
+ children?: React.ReactNode;
8
8
  href?: string;
9
9
  target?: "_self" | "_blank" | "_parent" | "_top";
10
- onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>) => void | Promise<void>;
10
+ onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void | Promise<void>;
11
11
  disabled?: boolean;
12
12
  transparent?: boolean;
13
13
  variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
@@ -15,7 +15,7 @@ interface IButton {
15
15
  size?: "xsm" | "sm" | "md" | "lg" | "xlg";
16
16
  radius?: "none" | "sm" | "md" | "lg" | "full";
17
17
  icon?: {
18
- component: (props: IconPropsType) => React.JSX.Element;
18
+ component: (props: IconPropsType) => React.ReactElement;
19
19
  color?: string;
20
20
  size?: number;
21
21
  align?: "left" | "right";
package/dist/index.d.ts CHANGED
@@ -4,10 +4,10 @@ import { IconPropsType } from '@aristobyte-ui/utils';
4
4
  interface IButton {
5
5
  type?: "button" | "link";
6
6
  text?: string;
7
- children?: React.ReactElement | React.JSX.Element | React.ReactNode | string;
7
+ children?: React.ReactNode;
8
8
  href?: string;
9
9
  target?: "_self" | "_blank" | "_parent" | "_top";
10
- onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>) => void | Promise<void>;
10
+ onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void | Promise<void>;
11
11
  disabled?: boolean;
12
12
  transparent?: boolean;
13
13
  variant?: "default" | "primary" | "secondary" | "success" | "error" | "warning";
@@ -15,7 +15,7 @@ interface IButton {
15
15
  size?: "xsm" | "sm" | "md" | "lg" | "xlg";
16
16
  radius?: "none" | "sm" | "md" | "lg" | "full";
17
17
  icon?: {
18
- component: (props: IconPropsType) => React.JSX.Element;
18
+ component: (props: IconPropsType) => React.ReactElement;
19
19
  color?: string;
20
20
  size?: number;
21
21
  align?: "left" | "right";
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- import "./index.css";
3
2
  "use strict";
4
3
  var __create = Object.create;
5
4
  var __defProp = Object.defineProperty;
@@ -39,40 +38,26 @@ module.exports = __toCommonJS(index_exports);
39
38
 
40
39
  // components/Button/index.tsx
41
40
  var React = __toESM(require("react"));
42
- var import_spinner = require("@aristobyte-ui/spinner");
43
- var import_utils = require("@aristobyte-ui/utils");
44
41
 
45
- // components/Button/Button.module.scss
46
- var Button_module_default = {
47
- button: "Button_module_button",
48
- "button--transparent": "Button_module_button--transparent",
49
- "button-variant--default": "Button_module_button-variant--default",
50
- "button-appearance--solid": "Button_module_button-appearance--solid",
51
- icon: "Button_module_icon",
52
- "button-appearance--outline": "Button_module_button-appearance--outline",
53
- "button-appearance--outline-dashed": "Button_module_button-appearance--outline-dashed",
54
- "button-appearance--no-outline": "Button_module_button-appearance--no-outline",
55
- "button-appearance--glowing": "Button_module_button-appearance--glowing",
56
- "button-variant--primary": "Button_module_button-variant--primary",
57
- "button-variant--secondary": "Button_module_button-variant--secondary",
58
- "button-variant--success": "Button_module_button-variant--success",
59
- "button-variant--error": "Button_module_button-variant--error",
60
- "button-variant--warning": "Button_module_button-variant--warning",
61
- "button-size--xsm": "Button_module_button-size--xsm",
62
- spinner: "Button_module_spinner",
63
- "button-size--sm": "Button_module_button-size--sm",
64
- "button-size--md": "Button_module_button-size--md",
65
- "button-size--lg": "Button_module_button-size--lg",
66
- "button-size--xlg": "Button_module_button-size--xlg",
67
- "button-radius--none": "Button_module_button-radius--none",
68
- "button-radius--sm": "Button_module_button-radius--sm",
69
- "button-radius--md": "Button_module_button-radius--md",
70
- "button-radius--lg": "Button_module_button-radius--lg",
71
- "button-radius--full": "Button_module_button-radius--full",
72
- "icon--right": "Button_module_icon--right"
73
- };
42
+ // ../../node_modules/clsx/dist/clsx.mjs
43
+ function r(e) {
44
+ var t, f, n = "";
45
+ if ("string" == typeof e || "number" == typeof e) n += e;
46
+ else if ("object" == typeof e) if (Array.isArray(e)) {
47
+ var o = e.length;
48
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
49
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
50
+ return n;
51
+ }
52
+ function clsx() {
53
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
54
+ return n;
55
+ }
56
+ var clsx_default = clsx;
74
57
 
75
58
  // components/Button/index.tsx
59
+ var import_spinner = require("@aristobyte-ui/spinner");
60
+ var import_utils = require("@aristobyte-ui/utils");
76
61
  var import_jsx_runtime = require("react/jsx-runtime");
77
62
  var Button = ({
78
63
  onClick,
@@ -97,52 +82,51 @@ var Button = ({
97
82
  const ref = React.useRef(null);
98
83
  const handleClick = (e) => {
99
84
  const { clientX, clientY } = e;
100
- (0, import_utils.renderRipple)({
101
- ref,
102
- clientX,
103
- clientY
104
- });
105
- if (onClick) {
106
- onClick(e);
107
- }
108
- };
109
- const getCommonProps = () => ({
110
- onClick: handleClick,
111
- disabled: disabled || isLoading,
112
- style,
113
- className: `${Button_module_default["button"]} ${transparent ? Button_module_default["button--transparent"] : ""} ${Button_module_default[`button-variant--${variant}`]} ${Button_module_default[`button-appearance--${appearance}`]} ${Button_module_default[`button-size--${size}`]} ${Button_module_default[`button-radius--${radius}`]} ${isLoading ? Button_module_default["button--loading"] : ""} ${className}`
114
- });
115
- const renderChildren = () => {
116
- var _a;
117
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
118
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
- import_spinner.Spinner,
120
- {
121
- size,
122
- variant,
123
- type: spinnerType,
124
- className: Button_module_default["spinner"]
125
- }
126
- ),
127
- icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
128
- "span",
129
- {
130
- className: `${Button_module_default["icon"]} ${Button_module_default[`icon--${(_a = icon.align) != null ? _a : "left"}`]}`,
131
- children: icon.component({ color: icon.color, size: icon.size })
132
- }
133
- ),
134
- text || children
135
- ] });
85
+ (0, import_utils.renderRipple)({ ref, clientX, clientY });
86
+ onClick == null ? void 0 : onClick(e);
136
87
  };
88
+ const buttonClasses = clsx_default(
89
+ "btn",
90
+ transparent && "btn-transparent",
91
+ `btn-${variant}-${appearance}`,
92
+ `btn-${size}`,
93
+ `btn-radius-${radius}`,
94
+ isLoading && "btn-loading",
95
+ className
96
+ );
97
+ const renderContent = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
98
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
99
+ import_spinner.Spinner,
100
+ {
101
+ size,
102
+ variant,
103
+ type: spinnerType,
104
+ className: "inline-block"
105
+ }
106
+ ),
107
+ icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
108
+ "span",
109
+ {
110
+ className: clsx_default(
111
+ "btn-icon",
112
+ icon.align === "right" && "btn-icon-right"
113
+ ),
114
+ children: icon.component({ color: icon.color, size: icon.size })
115
+ }
116
+ ),
117
+ text || children
118
+ ] });
137
119
  if (type === "link") {
138
120
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
139
121
  "a",
140
122
  {
141
123
  ref,
142
- target,
143
124
  href,
144
- ...getCommonProps(),
145
- children: renderChildren()
125
+ target,
126
+ style,
127
+ className: buttonClasses,
128
+ onClick: handleClick,
129
+ children: renderContent()
146
130
  },
147
131
  uniqueId
148
132
  );
@@ -151,8 +135,12 @@ var Button = ({
151
135
  "button",
152
136
  {
153
137
  ref,
154
- ...getCommonProps(),
155
- children: renderChildren()
138
+ type: "button",
139
+ disabled: disabled || isLoading,
140
+ style,
141
+ className: buttonClasses,
142
+ onClick: handleClick,
143
+ children: renderContent()
156
144
  },
157
145
  uniqueId
158
146
  );
@@ -160,26 +148,6 @@ var Button = ({
160
148
 
161
149
  // components/ButtonGroup/index.tsx
162
150
  var React2 = __toESM(require("react"));
163
-
164
- // components/ButtonGroup/ButtonGroup.module.scss
165
- var ButtonGroup_module_default = {
166
- "button-group": "ButtonGroup_module_button-group",
167
- "button-group-align--horizontal": "ButtonGroup_module_button-group-align--horizontal",
168
- "button-group-align--vertical": "ButtonGroup_module_button-group-align--vertical",
169
- "button-group-variant--default": "ButtonGroup_module_button-group-variant--default",
170
- "button-group-variant--primary": "ButtonGroup_module_button-group-variant--primary",
171
- "button-group-variant--secondary": "ButtonGroup_module_button-group-variant--secondary",
172
- "button-group-variant--success": "ButtonGroup_module_button-group-variant--success",
173
- "button-group-variant--error": "ButtonGroup_module_button-group-variant--error",
174
- "button-group-variant--warning": "ButtonGroup_module_button-group-variant--warning",
175
- "button-group-radius--none": "ButtonGroup_module_button-group-radius--none",
176
- "button-group-radius--sm": "ButtonGroup_module_button-group-radius--sm",
177
- "button-group-radius--md": "ButtonGroup_module_button-group-radius--md",
178
- "button-group-radius--lg": "ButtonGroup_module_button-group-radius--lg",
179
- "button-group-radius--full": "ButtonGroup_module_button-group-radius--full"
180
- };
181
-
182
- // components/ButtonGroup/index.tsx
183
151
  var import_jsx_runtime2 = require("react/jsx-runtime");
184
152
  var ButtonGroup = ({
185
153
  children,
@@ -187,28 +155,30 @@ var ButtonGroup = ({
187
155
  variant = "default",
188
156
  size = "md",
189
157
  radius = "md",
190
- disabled,
158
+ disabled = false,
191
159
  className = "",
192
160
  style = {}
193
161
  }) => {
194
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
195
- "div",
196
- {
197
- className: `${ButtonGroup_module_default["button-group"]} ${ButtonGroup_module_default[`button-group-variant--${variant}`]} ${ButtonGroup_module_default[`button-group-size--${size}`]} ${ButtonGroup_module_default[`button-group-radius--${radius}`]} ${ButtonGroup_module_default[`button-group-align--${align}`]} ${className}`,
198
- style,
199
- children: React2.Children.toArray(children).filter(
200
- (child) => React2.isValidElement(child) && child.type === Button
201
- ).map(
202
- (child, index) => React2.cloneElement(child, {
203
- key: index || child.key,
204
- size: size || child.props.size,
205
- disabled: disabled || child.props.disabled,
206
- variant: variant || child.props.variant,
207
- radius: "none"
208
- })
209
- )
210
- }
162
+ const groupClasses = clsx_default(
163
+ "btn-group",
164
+ `btn-group-${align}`,
165
+ `btn-group-variant-${variant}`,
166
+ `btn-group-radius-${radius}`,
167
+ `btn-group-size-${size}`,
168
+ className
211
169
  );
170
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: groupClasses, style, children: React2.Children.toArray(children).filter(
171
+ (child) => React2.isValidElement(child) && child.type === Button
172
+ ).map(
173
+ (child, index) => React2.cloneElement(child, {
174
+ key: index || child.key,
175
+ size: size || child.props.size,
176
+ disabled: disabled || child.props.disabled,
177
+ variant: variant || child.props.variant,
178
+ radius: "none"
179
+ // individual buttons inside group have no border-radius, group handles it
180
+ })
181
+ ) });
212
182
  };
213
183
  // Annotate the CommonJS export names for ESM import in node:
214
184
  0 && (module.exports = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../index.ts","../components/Button/index.tsx","../components/Button/Button.module.scss","../components/ButtonGroup/index.tsx","../components/ButtonGroup/ButtonGroup.module.scss"],"sourcesContent":["export * from \"./components\";\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Spinner } from \"@aristobyte-ui/spinner\";\nimport { type IconPropsType, renderRipple } from \"@aristobyte-ui/utils\";\n\nimport styles from \"./Button.module.scss\";\n\nexport interface IButton {\n type?: \"button\" | \"link\";\n text?: string;\n children?: React.ReactElement | React.JSX.Element | React.ReactNode | string;\n href?: string;\n target?: \"_self\" | \"_blank\" | \"_parent\" | \"_top\";\n onClick?: (\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>\n ) => void | Promise<void>;\n disabled?: boolean;\n transparent?: boolean;\n variant?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"error\"\n | \"warning\";\n appearance?:\n | \"solid\"\n | \"outline\"\n | \"outline-dashed\"\n | \"no-outline\"\n | \"glowing\";\n size?: \"xsm\" | \"sm\" | \"md\" | \"lg\" | \"xlg\";\n radius?: \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\n icon?: {\n component: (props: IconPropsType) => React.JSX.Element;\n color?: string;\n size?: number;\n align?: \"left\" | \"right\";\n };\n isLoading?: boolean;\n spinnerType?: \"default\" | \"duo\" | \"gradient\" | \"pulse\" | \"pulse-duo\";\n className?: string;\n // @TODO: apply this everywhere\n style?: React.CSSProperties;\n}\n\nexport const Button: React.FC<IButton> = ({\n onClick,\n text = \"\",\n href = \"\",\n target = \"_self\",\n children = \"\",\n type = \"button\",\n variant = \"default\",\n appearance = \"solid\",\n size = \"md\",\n radius = \"md\",\n icon,\n spinnerType = \"default\",\n transparent = false,\n isLoading = false,\n disabled = false,\n className = \"\",\n style = {},\n}) => {\n const uniqueId = React.useId();\n const ref = React.useRef<HTMLButtonElement | HTMLAnchorElement>(null);\n\n const handleClick = (\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>\n ) => {\n const { clientX, clientY } = e;\n renderRipple<HTMLButtonElement | HTMLAnchorElement>({\n ref,\n clientX,\n clientY,\n });\n if (onClick) {\n onClick(e);\n }\n };\n\n const getCommonProps = () => ({\n onClick: handleClick,\n disabled: disabled || isLoading,\n style,\n className: `${styles[\"button\"]} ${transparent ? styles[\"button--transparent\"] : \"\"} ${styles[`button-variant--${variant}`]} ${\n styles[`button-appearance--${appearance}`]\n } ${styles[`button-size--${size}`]} ${\n styles[`button-radius--${radius}`]\n } ${isLoading ? styles[\"button--loading\"] : \"\"} ${className}`,\n });\n\n const renderChildren = () => (\n <>\n {isLoading && (\n <Spinner\n size={size}\n variant={variant}\n type={spinnerType}\n className={styles[\"spinner\"]}\n />\n )}\n {icon && (\n <span\n className={`${styles[\"icon\"]} ${\n styles[`icon--${icon.align ?? \"left\"}`]\n }`}\n >\n {icon.component({ color: icon.color, size: icon.size })}\n </span>\n )}\n {text || children}\n </>\n );\n\n if (type === \"link\") {\n return (\n <a\n key={uniqueId}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n target={target}\n href={href}\n {...getCommonProps()}\n >\n {renderChildren()}\n </a>\n );\n }\n\n return (\n <button\n key={uniqueId}\n ref={ref as React.RefObject<HTMLButtonElement>}\n {...getCommonProps()}\n >\n {renderChildren()}\n </button>\n );\n};\n",".button {\n align-items: center;\n border: none;\n cursor: pointer;\n display: flex;\n font-weight: 500;\n gap: 10px;\n justify-content: center;\n letter-spacing: 0rem;\n line-height: 1.42;\n overflow: hidden;\n position: relative;\n text-align: center;\n transition: background-color 200ms ease, transform 300ms ease;\n}\n.button:disabled {\n cursor: not-allowed;\n opacity: 1;\n}\n.button:active {\n transform: scale(0.96);\n}\n.button--transparent {\n background-color: transparent !important;\n}\n.button-variant--default.button-appearance--solid {\n background-color: #1f2937;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--default.button-appearance--solid:hover {\n background-color: #111827;\n}\n.button-variant--default.button-appearance--solid:disabled {\n background-color: rgba(31, 41, 55, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--default.button-appearance--outline {\n background-color: rgba(31, 41, 55, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #1f2937;\n color: #ffffff;\n}\n.button-variant--default.button-appearance--outline:hover {\n background-color: #1f2937;\n}\n.button-variant--default.button-appearance--outline:disabled {\n background-color: rgba(31, 41, 55, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--default.button-appearance--outline-dashed {\n background-color: rgba(31, 41, 55, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #1f2937;\n color: #ffffff;\n}\n.button-variant--default.button-appearance--outline-dashed:hover {\n background-color: #1f2937;\n}\n.button-variant--default.button-appearance--outline-dashed:disabled {\n background-color: rgba(31, 41, 55, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--default.button-appearance--no-outline {\n background-color: rgba(31, 41, 55, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--default.button-appearance--no-outline:hover {\n background-color: #1f2937;\n}\n.button-variant--default.button-appearance--no-outline:disabled {\n background-color: rgba(31, 41, 55, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--default.button-appearance--glowing {\n background-color: rgba(31, 41, 55, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #1f2937;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(31, 41, 55, 0.5), 0 0 16px rgba(31, 41, 55, 0.4), 0 0 24px rgba(31, 41, 55, 0.3);\n}\n.button-variant--default.button-appearance--glowing:hover {\n background-color: #1f2937;\n}\n.button-variant--default.button-appearance--glowing:disabled {\n background-color: rgba(31, 41, 55, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--default.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--solid {\n background-color: #2563eb;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--solid:hover {\n background-color: #1d4ed8;\n}\n.button-variant--primary.button-appearance--solid:disabled {\n background-color: rgba(37, 99, 235, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--outline {\n background-color: rgba(37, 99, 235, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #2563eb;\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--outline:hover {\n background-color: #2563eb;\n}\n.button-variant--primary.button-appearance--outline:disabled {\n background-color: rgba(37, 99, 235, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--outline-dashed {\n background-color: rgba(37, 99, 235, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #2563eb;\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--outline-dashed:hover {\n background-color: #2563eb;\n}\n.button-variant--primary.button-appearance--outline-dashed:disabled {\n background-color: rgba(37, 99, 235, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--no-outline {\n background-color: rgba(37, 99, 235, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--no-outline:hover {\n background-color: #2563eb;\n}\n.button-variant--primary.button-appearance--no-outline:disabled {\n background-color: rgba(37, 99, 235, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--primary.button-appearance--glowing {\n background-color: rgba(37, 99, 235, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #2563eb;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(37, 99, 235, 0.5), 0 0 16px rgba(37, 99, 235, 0.4), 0 0 24px rgba(37, 99, 235, 0.3);\n}\n.button-variant--primary.button-appearance--glowing:hover {\n background-color: #2563eb;\n}\n.button-variant--primary.button-appearance--glowing:disabled {\n background-color: rgba(37, 99, 235, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--primary.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--solid {\n background-color: #4f46e5;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--solid:hover {\n background-color: #4338ca;\n}\n.button-variant--secondary.button-appearance--solid:disabled {\n background-color: rgba(79, 70, 229, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--outline {\n background-color: rgba(79, 70, 229, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #4f46e5;\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--outline:hover {\n background-color: #4f46e5;\n}\n.button-variant--secondary.button-appearance--outline:disabled {\n background-color: rgba(79, 70, 229, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--outline-dashed {\n background-color: rgba(79, 70, 229, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #4f46e5;\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--outline-dashed:hover {\n background-color: #4f46e5;\n}\n.button-variant--secondary.button-appearance--outline-dashed:disabled {\n background-color: rgba(79, 70, 229, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--no-outline {\n background-color: rgba(79, 70, 229, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--no-outline:hover {\n background-color: #4f46e5;\n}\n.button-variant--secondary.button-appearance--no-outline:disabled {\n background-color: rgba(79, 70, 229, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--secondary.button-appearance--glowing {\n background-color: rgba(79, 70, 229, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #4f46e5;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(79, 70, 229, 0.5), 0 0 16px rgba(79, 70, 229, 0.4), 0 0 24px rgba(79, 70, 229, 0.3);\n}\n.button-variant--secondary.button-appearance--glowing:hover {\n background-color: #4f46e5;\n}\n.button-variant--secondary.button-appearance--glowing:disabled {\n background-color: rgba(79, 70, 229, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--secondary.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-variant--success.button-appearance--solid {\n background-color: #16a34a;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--success.button-appearance--solid:hover {\n background-color: #15803d;\n}\n.button-variant--success.button-appearance--solid:disabled {\n background-color: rgba(22, 163, 74, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--success.button-appearance--outline {\n background-color: rgba(22, 163, 74, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #16a34a;\n color: #ffffff;\n}\n.button-variant--success.button-appearance--outline:hover {\n background-color: #16a34a;\n}\n.button-variant--success.button-appearance--outline:disabled {\n background-color: rgba(22, 163, 74, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--success.button-appearance--outline-dashed {\n background-color: rgba(22, 163, 74, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #16a34a;\n color: #ffffff;\n}\n.button-variant--success.button-appearance--outline-dashed:hover {\n background-color: #16a34a;\n}\n.button-variant--success.button-appearance--outline-dashed:disabled {\n background-color: rgba(22, 163, 74, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--success.button-appearance--no-outline {\n background-color: rgba(22, 163, 74, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--success.button-appearance--no-outline:hover {\n background-color: #16a34a;\n}\n.button-variant--success.button-appearance--no-outline:disabled {\n background-color: rgba(22, 163, 74, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--success.button-appearance--glowing {\n background-color: rgba(22, 163, 74, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #16a34a;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(22, 163, 74, 0.5), 0 0 16px rgba(22, 163, 74, 0.4), 0 0 24px rgba(22, 163, 74, 0.3);\n}\n.button-variant--success.button-appearance--glowing:hover {\n background-color: #16a34a;\n}\n.button-variant--success.button-appearance--glowing:disabled {\n background-color: rgba(22, 163, 74, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--success.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-variant--error.button-appearance--solid {\n background-color: #dc2626;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--error.button-appearance--solid:hover {\n background-color: #b91c1c;\n}\n.button-variant--error.button-appearance--solid:disabled {\n background-color: rgba(220, 38, 38, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--error.button-appearance--outline {\n background-color: rgba(220, 38, 38, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #dc2626;\n color: #ffffff;\n}\n.button-variant--error.button-appearance--outline:hover {\n background-color: #dc2626;\n}\n.button-variant--error.button-appearance--outline:disabled {\n background-color: rgba(220, 38, 38, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--error.button-appearance--outline-dashed {\n background-color: rgba(220, 38, 38, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #dc2626;\n color: #ffffff;\n}\n.button-variant--error.button-appearance--outline-dashed:hover {\n background-color: #dc2626;\n}\n.button-variant--error.button-appearance--outline-dashed:disabled {\n background-color: rgba(220, 38, 38, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--error.button-appearance--no-outline {\n background-color: rgba(220, 38, 38, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--error.button-appearance--no-outline:hover {\n background-color: #dc2626;\n}\n.button-variant--error.button-appearance--no-outline:disabled {\n background-color: rgba(220, 38, 38, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--error.button-appearance--glowing {\n background-color: rgba(220, 38, 38, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #dc2626;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(220, 38, 38, 0.5), 0 0 16px rgba(220, 38, 38, 0.4), 0 0 24px rgba(220, 38, 38, 0.3);\n}\n.button-variant--error.button-appearance--glowing:hover {\n background-color: #dc2626;\n}\n.button-variant--error.button-appearance--glowing:disabled {\n background-color: rgba(220, 38, 38, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--error.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--solid {\n background-color: #d97706;\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--solid:hover {\n background-color: #b45309;\n}\n.button-variant--warning.button-appearance--solid:disabled {\n background-color: rgba(217, 119, 6, 0.5);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--solid:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--solid .icon {\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--outline {\n background-color: rgba(217, 119, 6, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #d97706;\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--outline:hover {\n background-color: #d97706;\n}\n.button-variant--warning.button-appearance--outline:disabled {\n background-color: rgba(217, 119, 6, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--outline .icon {\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--outline-dashed {\n background-color: rgba(217, 119, 6, 0.2);\n backdrop-filter: 8px;\n border: 1px dashed #d97706;\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--outline-dashed:hover {\n background-color: #d97706;\n}\n.button-variant--warning.button-appearance--outline-dashed:disabled {\n background-color: rgba(217, 119, 6, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--outline-dashed:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--outline-dashed .icon {\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--no-outline {\n background-color: rgba(217, 119, 6, 0.2);\n backdrop-filter: 8px;\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--no-outline:hover {\n background-color: #d97706;\n}\n.button-variant--warning.button-appearance--no-outline:disabled {\n background-color: rgba(217, 119, 6, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--no-outline:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--no-outline .icon {\n color: #ffffff;\n}\n.button-variant--warning.button-appearance--glowing {\n background-color: rgba(217, 119, 6, 0.2);\n backdrop-filter: 8px;\n border: 1px solid #d97706;\n color: #ffffff;\n box-shadow: 0 0 8px rgba(217, 119, 6, 0.5), 0 0 16px rgba(217, 119, 6, 0.4), 0 0 24px rgba(217, 119, 6, 0.3);\n}\n.button-variant--warning.button-appearance--glowing:hover {\n background-color: #d97706;\n}\n.button-variant--warning.button-appearance--glowing:disabled {\n background-color: rgba(217, 119, 6, 0.2);\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--glowing:disabled .icon {\n color: rgba(255, 255, 255, 0.5);\n}\n.button-variant--warning.button-appearance--glowing .icon {\n color: #ffffff;\n}\n.button-size--xsm {\n font-size: 0.75rem;\n line-height: 1rem;\n padding: 0.25rem 0.5rem;\n min-height: 28px;\n}\n.button-size--xsm .spinner,\n.button-size--xsm .icon {\n max-height: 1rem;\n max-width: 1rem;\n}\n.button-size--sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n padding: 0.375rem 0.75rem;\n min-height: 32px;\n}\n.button-size--sm .spinner,\n.button-size--sm .icon {\n max-height: 1.125rem;\n max-width: 1.125rem;\n}\n.button-size--md {\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0.5rem 1rem;\n min-height: 40px;\n}\n.button-size--md .spinner,\n.button-size--md .icon {\n height: 1.25rem;\n width: 1.25rem;\n}\n.button-size--lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n padding: 0.625rem 1.25rem;\n min-height: 44px;\n}\n.button-size--lg .spinner,\n.button-size--lg .icon {\n max-height: 1.375rem;\n max-width: 1.375rem;\n}\n.button-size--xlg {\n font-size: 1.25rem;\n line-height: 1.75rem;\n padding: 0.75rem 1.5rem;\n min-height: 48px;\n}\n.button-size--xlg .spinner,\n.button-size--xlg .icon {\n max-height: 1.5rem;\n max-width: 1.5rem;\n}\n.button-radius--none {\n border-radius: 0rem;\n}\n.button-radius--sm {\n border-radius: 0.125rem;\n}\n.button-radius--md {\n border-radius: 0.375rem;\n}\n.button-radius--lg {\n border-radius: 0.5rem;\n}\n.button-radius--full {\n border-radius: 1.5rem;\n}\n.button .icon {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n.button .icon--right {\n order: 5;\n}\n.button .icon svg {\n width: 100%;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL1VzZXJzL2RodW5hbnlhbi9hcmlzdG9ieXRlL2dpdGh1Yi9hcmlzdG9ieXRlLXVpL3BhY2thZ2VzL2J1dHRvbi9jb21wb25lbnRzL0J1dHRvbiIsInNvdXJjZXMiOlsiQnV0dG9uLm1vZHVsZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BhcmlzdG9ieXRlLXVpL3V0aWxzL3N0eWxlcy9fc2V0dGluZ3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRTtFQUNFLGtCQ3VCRztFRHRCSDtFQUNBLE9DaEJBOztBRGtCQTtFQUNFLGtCQ21CQzs7QURoQkg7RUFDRSxrQkN3RWU7RUR2RWYsT0MrRmtCOztBRDdGbEI7RUFDRSxPQzRGZ0I7O0FEeEZwQjtFQUNFLE9DaENGOztBRG9DRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DeENBOztBRDBDQTtFQUNFLGtCQ05DOztBRFNIO0VBQ0U7RUFDQSxPQ3VFa0I7O0FEckVsQjtFQUNFLE9Db0VnQjs7QURoRXBCO0VBQ0UsT0N4REY7O0FENERGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0NoRUE7O0FEa0VBO0VBQ0Usa0JDOUJDOztBRGlDSDtFQUNFO0VBQ0EsT0MrQ2tCOztBRDdDbEI7RUFDRSxPQzRDZ0I7O0FEeENwQjtFQUNFLE9DaEZGOztBRG9GRjtFQUNFO0VBQ0E7RUFDQSxPQ3ZGQTs7QUR5RkE7RUFDRSxrQkNyREM7O0FEd0RIO0VBQ0U7RUFDQSxPQ3dCa0I7O0FEdEJsQjtFQUNFLE9DcUJnQjs7QURqQnBCO0VBQ0UsT0N2R0Y7O0FEMkdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0MvR0E7RURnSEEsWUFDRTs7QUFJRjtFQUNFLGtCQ2pGQzs7QURvRkg7RUFDRTtFQUNBLE9DSmtCOztBRE1sQjtFQUNFLE9DUGdCOztBRFdwQjtFQUNFLE9DbklGOztBRHlJRjtFQUNFLGtCQzNGRztFRDRGSDtFQUNBLE9DNUlBOztBRDhJQTtFQUNFLGtCQy9GQzs7QURrR0g7RUFDRSxrQkNoRGU7RURpRGYsT0M3QmtCOztBRCtCbEI7RUFDRSxPQ2hDZ0I7O0FEb0NwQjtFQUNFLE9DNUpGOztBRGdLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DcEtBOztBRHNLQTtFQUNFLGtCQ3hIQzs7QUQySEg7RUFDRTtFQUNBLE9DckRrQjs7QUR1RGxCO0VBQ0UsT0N4RGdCOztBRDREcEI7RUFDRSxPQ3BMRjs7QUR3TEY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPQzVMQTs7QUQ4TEE7RUFDRSxrQkNoSkM7O0FEbUpIO0VBQ0U7RUFDQSxPQzdFa0I7O0FEK0VsQjtFQUNFLE9DaEZnQjs7QURvRnBCO0VBQ0UsT0M1TUY7O0FEZ05GO0VBQ0U7RUFDQTtFQUNBLE9Dbk5BOztBRHFOQTtFQUNFLGtCQ3ZLQzs7QUQwS0g7RUFDRTtFQUNBLE9DcEdrQjs7QURzR2xCO0VBQ0UsT0N2R2dCOztBRDJHcEI7RUFDRSxPQ25PRjs7QUR1T0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPQzNPQTtFRDRPQSxZQUNFOztBQUlGO0VBQ0Usa0JDbk1DOztBRHNNSDtFQUNFO0VBQ0EsT0NoSWtCOztBRGtJbEI7RUFDRSxPQ25JZ0I7O0FEdUlwQjtFQUNFLE9DL1BGOztBRHFRRjtFQUNFLGtCQzNNSztFRDRNTDtFQUNBLE9DeFFBOztBRDBRQTtFQUNFLGtCQy9NRzs7QURrTkw7RUFDRSxrQkN4S2lCO0VEeUtqQixPQ3pKa0I7O0FEMkpsQjtFQUNFLE9DNUpnQjs7QURnS3BCO0VBQ0UsT0N4UkY7O0FENFJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0NoU0E7O0FEa1NBO0VBQ0Usa0JDeE9HOztBRDJPTDtFQUNFO0VBQ0EsT0NqTGtCOztBRG1MbEI7RUFDRSxPQ3BMZ0I7O0FEd0xwQjtFQUNFLE9DaFRGOztBRG9URjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DeFRBOztBRDBUQTtFQUNFLGtCQ2hRRzs7QURtUUw7RUFDRTtFQUNBLE9Dek1rQjs7QUQyTWxCO0VBQ0UsT0M1TWdCOztBRGdOcEI7RUFDRSxPQ3hVRjs7QUQ0VUY7RUFDRTtFQUNBO0VBQ0EsT0MvVUE7O0FEaVZBO0VBQ0Usa0JDdlJHOztBRDBSTDtFQUNFO0VBQ0EsT0NoT2tCOztBRGtPbEI7RUFDRSxPQ25PZ0I7O0FEdU9wQjtFQUNFLE9DL1ZGOztBRG1XRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DdldBO0VEd1dBLFlBQ0U7O0FBSUY7RUFDRSxrQkNuVEc7O0FEc1RMO0VBQ0U7RUFDQSxPQzVQa0I7O0FEOFBsQjtFQUNFLE9DL1BnQjs7QURtUXBCO0VBQ0UsT0MzWEY7O0FEaVlGO0VBQ0Usa0JDblRJO0VEb1RKO0VBQ0EsT0NwWUE7O0FEc1lBO0VBQ0Usa0JDdlRFOztBRDBUSjtFQUNFLGtCQzVSZTtFRDZSZixPQ3JSa0I7O0FEdVJsQjtFQUNFLE9DeFJnQjs7QUQ0UnBCO0VBQ0UsT0NwWkY7O0FEd1pGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0M1WkE7O0FEOFpBO0VBQ0Usa0JDaFZFOztBRG1WSjtFQUNFO0VBQ0EsT0M3U2tCOztBRCtTbEI7RUFDRSxPQ2hUZ0I7O0FEb1RwQjtFQUNFLE9DNWFGOztBRGdiRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DcGJBOztBRHNiQTtFQUNFLGtCQ3hXRTs7QUQyV0o7RUFDRTtFQUNBLE9DclVrQjs7QUR1VWxCO0VBQ0UsT0N4VWdCOztBRDRVcEI7RUFDRSxPQ3BjRjs7QUR3Y0Y7RUFDRTtFQUNBO0VBQ0EsT0MzY0E7O0FENmNBO0VBQ0Usa0JDL1hFOztBRGtZSjtFQUNFO0VBQ0EsT0M1VmtCOztBRDhWbEI7RUFDRSxPQy9WZ0I7O0FEbVdwQjtFQUNFLE9DM2RGOztBRCtkRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DbmVBO0VEb2VBLFlBQ0U7O0FBSUY7RUFDRSxrQkMzWkU7O0FEOFpKO0VBQ0U7RUFDQSxPQ3hYa0I7O0FEMFhsQjtFQUNFLE9DM1hnQjs7QUQrWHBCO0VBQ0UsT0N2ZkY7O0FENmZGO0VBQ0Usa0JDemJFO0VEMGJGO0VBQ0EsT0NoZ0JBOztBRGtnQkE7RUFDRSxrQkM3YkE7O0FEZ2NGO0VBQ0Usa0JDNVphO0VENlpiLE9DalprQjs7QURtWmxCO0VBQ0UsT0NwWmdCOztBRHdacEI7RUFDRSxPQ2hoQkY7O0FEb2hCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DeGhCQTs7QUQwaEJBO0VBQ0Usa0JDdGRBOztBRHlkRjtFQUNFO0VBQ0EsT0N6YWtCOztBRDJhbEI7RUFDRSxPQzVhZ0I7O0FEZ2JwQjtFQUNFLE9DeGlCRjs7QUQ0aUJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0NoakJBOztBRGtqQkE7RUFDRSxrQkM5ZUE7O0FEaWZGO0VBQ0U7RUFDQSxPQ2pja0I7O0FEbWNsQjtFQUNFLE9DcGNnQjs7QUR3Y3BCO0VBQ0UsT0Noa0JGOztBRG9rQkY7RUFDRTtFQUNBO0VBQ0EsT0N2a0JBOztBRHlrQkE7RUFDRSxrQkNyZ0JBOztBRHdnQkY7RUFDRTtFQUNBLE9DeGRrQjs7QUQwZGxCO0VBQ0UsT0MzZGdCOztBRCtkcEI7RUFDRSxPQ3ZsQkY7O0FEMmxCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DL2xCQTtFRGdtQkEsWUFDRTs7QUFJRjtFQUNFLGtCQ2ppQkE7O0FEb2lCRjtFQUNFO0VBQ0EsT0NwZmtCOztBRHNmbEI7RUFDRSxPQ3ZmZ0I7O0FEMmZwQjtFQUNFLE9Dbm5CRjs7QUR5bkJGO0VBQ0Usa0JDamlCSTtFRGtpQko7RUFDQSxPQzVuQkE7O0FEOG5CQTtFQUNFLGtCQ3JpQkU7O0FEd2lCSjtFQUNFLGtCQ2hoQmU7RURpaEJmLE9DN2dCa0I7O0FEK2dCbEI7RUFDRSxPQ2hoQmdCOztBRG9oQnBCO0VBQ0UsT0M1b0JGOztBRGdwQkY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPQ3BwQkE7O0FEc3BCQTtFQUNFLGtCQzlqQkU7O0FEaWtCSjtFQUNFO0VBQ0EsT0NyaUJrQjs7QUR1aUJsQjtFQUNFLE9DeGlCZ0I7O0FENGlCcEI7RUFDRSxPQ3BxQkY7O0FEd3FCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9DNXFCQTs7QUQ4cUJBO0VBQ0Usa0JDdGxCRTs7QUR5bEJKO0VBQ0U7RUFDQSxPQzdqQmtCOztBRCtqQmxCO0VBQ0UsT0Noa0JnQjs7QURva0JwQjtFQUNFLE9DNXJCRjs7QURnc0JGO0VBQ0U7RUFDQTtFQUNBLE9DbnNCQTs7QURxc0JBO0VBQ0Usa0JDN21CRTs7QURnbkJKO0VBQ0U7RUFDQSxPQ3BsQmtCOztBRHNsQmxCO0VBQ0UsT0N2bEJnQjs7QUQybEJwQjtFQUNFLE9DbnRCRjs7QUR1dEJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0MzdEJBO0VENHRCQSxZQUNFOztBQUlGO0VBQ0Usa0JDem9CRTs7QUQ0b0JKO0VBQ0U7RUFDQSxPQ2huQmtCOztBRGtuQmxCO0VBQ0UsT0NubkJnQjs7QUR1bkJwQjtFQUNFLE9DL3VCRjs7QURzdkJKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUU7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUU7RUFDQTs7QUFNSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcIkBhcmlzdG9ieXRlLXVpL3V0aWxzL3N0eWxlcy9zZXR0aW5nc1wiIGFzICo7XG5cbi5idXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZ2FwOiAxMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDByZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2UsXG4gICAgdHJhbnNmb3JtIDMwMG1zIGVhc2U7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7XG4gIH1cblxuICAmLS10cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gICYtdmFyaWFudCB7XG4gICAgJi0tZGVmYXVsdC5idXR0b24tYXBwZWFyYW5jZSB7XG4gICAgICAmLS1zb2xpZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZWZhdWx0O1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZWZhdWx0LWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtZGlzYWJsZWQ7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tb3V0bGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRlZmF1bHQsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGVmYXVsdDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZGVmYXVsdC1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1vdXRsaW5lLWRhc2hlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRlZmF1bHQsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJGNvbG9yLWRlZmF1bHQ7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRlZmF1bHQtZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tbm8tb3V0bGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRlZmF1bHQsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1kZWZhdWx0LWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLWdsb3dpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1kZWZhdWx0LCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWRlZmF1bHQ7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgOHB4IHJnYmEoJGNvbG9yLWRlZmF1bHQsIDAuNSksXG4gICAgICAgICAgMCAwIDE2cHggcmdiYSgkY29sb3ItZGVmYXVsdCwgMC40KSxcbiAgICAgICAgICAwIDAgMjRweCByZ2JhKCRjb2xvci1kZWZhdWx0LCAwLjMpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZGVmYXVsdC1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXByaW1hcnkuYnV0dG9uLWFwcGVhcmFuY2Uge1xuICAgICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWRpc2FibGVkO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXByaW1hcnktZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tb3V0bGluZS1kYXNoZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW5vLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeS1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1nbG93aW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeSwgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwIDhweCByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjUpLFxuICAgICAgICAgIDAgMCAxNnB4IHJnYmEoJGNvbG9yLXByaW1hcnksIDAuNCksXG4gICAgICAgICAgMCAwIDI0cHggcmdiYSgkY29sb3ItcHJpbWFyeSwgMC4zKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXByaW1hcnktZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWNvbmRhcnkuYnV0dG9uLWFwcGVhcmFuY2Uge1xuICAgICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRpc2FibGVkO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1zZWNvbmRhcnksIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXNlY29uZGFyeS1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1vdXRsaW5lLWRhc2hlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXNlY29uZGFyeS1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1uby1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc2Vjb25kYXJ5LCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1zZWNvbmRhcnktZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tZ2xvd2luZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgOHB4IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC41KSxcbiAgICAgICAgICAwIDAgMTZweCByZ2JhKCRjb2xvci1zZWNvbmRhcnksIDAuNCksXG4gICAgICAgICAgMCAwIDI0cHggcmdiYSgkY29sb3Itc2Vjb25kYXJ5LCAwLjMpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1zZWNvbmRhcnktZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWNjZXNzLmJ1dHRvbi1hcHBlYXJhbmNlIHtcbiAgICAgICYtLXNvbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3MtaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3VjY2Vzcy1kaXNhYmxlZDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc3VjY2VzcywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1zdWNjZXNzO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1zdWNjZXNzLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUtZGFzaGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc3VjY2VzcywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkY29sb3Itc3VjY2VzcztcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdWNjZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc3VjY2Vzcy1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1uby1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itc3VjY2VzcywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3VjY2VzcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXN1Y2Nlc3MtZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tZ2xvd2luZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXN1Y2Nlc3MsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc3VjY2VzcztcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMCA4cHggcmdiYSgkY29sb3Itc3VjY2VzcywgMC41KSxcbiAgICAgICAgICAwIDAgMTZweCByZ2JhKCRjb2xvci1zdWNjZXNzLCAwLjQpLFxuICAgICAgICAgIDAgMCAyNHB4IHJnYmEoJGNvbG9yLXN1Y2Nlc3MsIDAuMyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1zdWNjZXNzLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZXJyb3IuYnV0dG9uLWFwcGVhcmFuY2Uge1xuICAgICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZXJyb3I7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yLWRpc2FibGVkO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1lcnJvciwgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1lcnJvcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWVycm9yLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUtZGFzaGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZXJyb3IsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJGNvbG9yLWVycm9yO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZXJyb3ItZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tbm8tb3V0bGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWVycm9yLCAwLjIpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IDhweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWVycm9yLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLWdsb3dpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1lcnJvciwgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1lcnJvcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMCA4cHggcmdiYSgkY29sb3ItZXJyb3IsIDAuNSksXG4gICAgICAgICAgMCAwIDE2cHggcmdiYSgkY29sb3ItZXJyb3IsIDAuNCksXG4gICAgICAgICAgMCAwIDI0cHggcmdiYSgkY29sb3ItZXJyb3IsIDAuMyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZXJyb3ItZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13YXJuaW5nLmJ1dHRvbi1hcHBlYXJhbmNlIHtcbiAgICAgICYtLXNvbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmc7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmctaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZy1kaXNhYmxlZDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2FybmluZywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13YXJuaW5nO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci13YXJuaW5nLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLW91dGxpbmUtZGFzaGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2FybmluZywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkY29sb3Itd2FybmluZztcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13YXJuaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2FybmluZy1kaXNhYmxlZCwgMC4yKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1uby1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2FybmluZywgMC4yKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiA4cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXdhcm5pbmctZGlzYWJsZWQsIDAuMik7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlLWRpc2FibGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tZ2xvd2luZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXdhcm5pbmcsIDAuMik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2FybmluZztcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMCA4cHggcmdiYSgkY29sb3Itd2FybmluZywgMC41KSxcbiAgICAgICAgICAwIDAgMTZweCByZ2JhKCRjb2xvci13YXJuaW5nLCAwLjQpLFxuICAgICAgICAgIDAgMCAyNHB4IHJnYmEoJGNvbG9yLXdhcm5pbmcsIDAuMyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci13YXJuaW5nLWRpc2FibGVkLCAwLjIpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zaXplIHtcbiAgICAmLS14c20ge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyAvLyAxMnB4XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTsgLy8gMTZweFxuICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IC8vIDRweCA4cHhcbiAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG5cbiAgICAgIC5zcGlubmVyLFxuICAgICAgLmljb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxcmVtOyAvLyAxNnB4XG4gICAgICAgIG1heC13aWR0aDogMXJlbTsgLy8gMTZweFxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IC8vIDE0cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyAvLyAyMHB4XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOyAvLyA2cHggMTJweFxuICAgICAgbWluLWhlaWdodDogMzJweDtcblxuICAgICAgLnNwaW5uZXIsXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEuMTI1cmVtOyAvLyAxOHB4XG4gICAgICAgIG1heC13aWR0aDogMS4xMjVyZW07IC8vIDE4cHhcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tZCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IC8vIDE2cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IC8vIDI0cHhcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyAvLyA4cHggMTZweFxuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgLnNwaW5uZXIsXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTsgLy8gMjBweFxuICAgICAgICB3aWR0aDogMS4yNXJlbTsgLy8gMjBweFxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWxnIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IC8vIDE4cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyAvLyAyOHB4XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtOyAvLyAxMHB4IDIwcHhcbiAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG5cbiAgICAgIC5zcGlubmVyLFxuICAgICAgLmljb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjM3NXJlbTsgLy8gMjJweFxuICAgICAgICBtYXgtd2lkdGg6IDEuMzc1cmVtOyAvLyAyMnB4XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0teGxnIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgLy8gMjBweFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IC8vIDI4cHhcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtOyAvLyAxMnB4IDI0cHhcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG5cbiAgICAgIC5zcGlubmVyLFxuICAgICAgLmljb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjVyZW07IC8vIDI0cHhcbiAgICAgICAgbWF4LXdpZHRoOiAxLjVyZW07IC8vIDI0cHhcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXJhZGl1cyB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcmVtOyAvLyAwcHhcbiAgICB9XG5cbiAgICAmLS1zbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgLy8gMnB4XG4gICAgfVxuXG4gICAgJi0tbWQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07IC8vIDZweFxuICAgIH1cblxuICAgICYtLWxnIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgLy8gOHB4XG4gICAgfVxuXG4gICAgJi0tZnVsbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07IC8vIDI0cHhcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJi0tcmlnaHQge1xuICAgICAgb3JkZXI6IDU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuLy8gICAgICAgIEFyaXN0b0J5dGUgVUkgLSBTdHlsZSBTZXR0aW5ncyAgICAgICAvL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG4vLyA9PT0gRGVzaWduIFRva2VucyDigJQgQ29sb3IgUGFsZXR0ZSA9PT0gLy9cbi8vIExvZ29cbiRsb2dvLWNvbG9yLTE6ICNmZmVlMjc7XG4kbG9nby1jb2xvci0yOiAjZmVjODAwO1xuJGxvZ28tY29sb3ItMzogI2YxOGUzNTtcbiRsb2dvLWNvbG9yLTQ6ICNlOTVmMzI7XG4kbG9nby1jb2xvci01OiAjZTIzMTJkO1xuJGxvZ28tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChcbiAgOTBkZWcsXG4gICRsb2dvLWNvbG9yLTEsXG4gICRsb2dvLWNvbG9yLTIsXG4gICRsb2dvLWNvbG9yLTMsXG4gICRsb2dvLWNvbG9yLTQsXG4gICRsb2dvLWNvbG9yLTVcbik7XG5cbi8vIEJhc2VcbiR3aGl0ZTogI2ZmZmZmZjtcbiR3aGl0ZS1ob3ZlcjogI2RkZGRkZDtcbiRibGFjazogIzAwMDAwMDtcbiRibGFjay1ob3ZlcjogIzIyMjIyMjtcbiR0cmFuc3BhcmVudDogdHJhbnNwYXJlbnQ7XG5cbi8vID09PSBCbGFjayBUcmFuc3BhcmVudCBTY2FsZSA9PT0gLy9cbiRibGFjay10cmFuc3BhcmVudC0xMDA6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiRibGFjay10cmFuc3BhcmVudC0yMDA6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiRibGFjay10cmFuc3BhcmVudC0zMDA6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiRibGFjay10cmFuc3BhcmVudC00MDA6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiRibGFjay10cmFuc3BhcmVudC01MDA6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiRibGFjay10cmFuc3BhcmVudC02MDA6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiRibGFjay10cmFuc3BhcmVudC03MDA6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRibGFjay10cmFuc3BhcmVudC04MDA6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiRibGFjay10cmFuc3BhcmVudC05MDA6IHJnYmEoMCwgMCwgMCwgMC45KTtcblxuLy8gPT09IEJsYWNrIFRyYW5zcGFyZW50IFNjYWxlID09PSAvL1xuJHdoaXRlLXRyYW5zcGFyZW50LTEwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTIwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTMwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTQwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTUwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTYwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTcwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTgwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuJHdoaXRlLXRyYW5zcGFyZW50LTkwMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4vLyA9PT0gTmV1dHJhbCBTY2FsZSAoR3JleSkgPT09IC8vXG4kZ3JleS01MDogI2Y5ZmFmYjtcbiRncmV5LTEwMDogI2YzZjRmNjtcbiRncmV5LTIwMDogI2U1ZTdlYjtcbiRncmV5LTMwMDogI2QxZDVkYjtcbiRncmV5LTQwMDogIzljYTNhZjtcbiRncmV5LTUwMDogIzZiNzI4MDtcbiRncmV5LTYwMDogIzRiNTU2MztcbiRncmV5LTcwMDogIzM3NDE1MTtcbiRncmV5LTgwMDogIzFmMjkzNztcbiRncmV5LTkwMDogIzExMTgyNztcblxuLy8gPT09IFByaW1hcnkgU2NhbGUgKEJsdWUpID09PSAvL1xuJGJsdWUtNTA6ICNlZmY2ZmY7XG4kYmx1ZS0xMDA6ICNkYmVhZmU7XG4kYmx1ZS0yMDA6ICNiZmRiZmU7XG4kYmx1ZS0zMDA6ICM5M2M1ZmQ7XG4kYmx1ZS00MDA6ICM2MGE1ZmE7XG4kYmx1ZS01MDA6ICMzYjgyZjY7XG4kYmx1ZS02MDA6ICMyNTYzZWI7IC8vIE1haW5cbiRibHVlLTcwMDogIzFkNGVkODsgLy8gSG92ZXJcbiRibHVlLTgwMDogIzFlNDBhZjtcbiRibHVlLTkwMDogIzFlM2E4YTtcblxuLy8gPT09IFNlY29uZGFyeSBTY2FsZSAoSW5kaWdvKSA9PT0gLy9cbiRpbmRpZ28tNTA6ICNlZWYyZmY7XG4kaW5kaWdvLTEwMDogI2UwZTdmZjtcbiRpbmRpZ28tMjAwOiAjYzdkMmZlO1xuJGluZGlnby0zMDA6ICNhNWI0ZmM7XG4kaW5kaWdvLTQwMDogIzgxOGNmODtcbiRpbmRpZ28tNTAwOiAjNjM2NmYxO1xuJGluZGlnby02MDA6ICM0ZjQ2ZTU7IC8vIE1haW5cbiRpbmRpZ28tNzAwOiAjNDMzOGNhOyAvLyBIb3ZlclxuXG4vLyA9PT0gRXJyb3IgU2NhbGUgKFJlZCkgPT09IC8vXG4kcmVkLTUwOiAjZmVmMmYyO1xuJHJlZC0xMDA6ICNmZWUyZTI7XG4kcmVkLTIwMDogI2ZlY2FjYTtcbiRyZWQtMzAwOiAjZmNhNWE1O1xuJHJlZC00MDA6ICNmODcxNzE7XG4kcmVkLTUwMDogI2VmNDQ0NDtcbiRyZWQtNjAwOiAjZGMyNjI2OyAvLyBNYWluXG4kcmVkLTcwMDogI2I5MWMxYzsgLy8gSG92ZXJcblxuLy8gPT09IFN1Y2Nlc3MgU2NhbGUgKEdyZWVuKSA9PT0gLy9cbiRncmVlbi01MDogI2YwZmRmNDtcbiRncmVlbi0xMDA6ICNkY2ZjZTc7XG4kZ3JlZW4tMjAwOiAjYmJmN2QwO1xuJGdyZWVuLTMwMDogIzg2ZWZhYztcbiRncmVlbi00MDA6ICM0YWRlODA7XG4kZ3JlZW4tNTAwOiAjMjJjNTVlO1xuJGdyZWVuLTYwMDogIzE2YTM0YTsgLy8gTWFpblxuJGdyZWVuLTcwMDogIzE1ODAzZDsgLy8gSG92ZXJcblxuLy8gPT09IFdhcm5pbmcgU2NhbGUgKEFtYmVyKSA9PT0gLy9cbiRhbWJlci01MDogI2ZmZmJlYjtcbiRhbWJlci0xMDA6ICNmZWYzYzc7XG4kYW1iZXItMjAwOiAjZmRlNjhhO1xuJGFtYmVyLTMwMDogI2ZjZDM0ZDtcbiRhbWJlci00MDA6ICNmYmJmMjQ7XG4kYW1iZXItNTAwOiAjZjU5ZTBiO1xuJGFtYmVyLTYwMDogI2Q5NzcwNjsgLy8gTWFpblxuJGFtYmVyLTcwMDogI2I0NTMwOTsgLy8gSG92ZXJcblxuLy8gPT09IFNlbWFudGljIFRva2VucyA9PT0gLy9cbiRjb2xvci1kZWZhdWx0OiAkZ3JleS04MDA7XG4kY29sb3ItZGVmYXVsdC1ob3ZlcjogJGdyZXktOTAwO1xuJGNvbG9yLWRlZmF1bHQtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLWRlZmF1bHQsIDAuNSk7XG5cbiRjb2xvci1wcmltYXJ5OiAkYmx1ZS02MDA7XG4kY29sb3ItcHJpbWFyeS1ob3ZlcjogJGJsdWUtNzAwO1xuJGNvbG9yLXByaW1hcnktZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXByaW1hcnksIDAuNSk7XG5cbiRjb2xvci1zZWNvbmRhcnk6ICRpbmRpZ28tNjAwO1xuJGNvbG9yLXNlY29uZGFyeS1ob3ZlcjogJGluZGlnby03MDA7XG4kY29sb3Itc2Vjb25kYXJ5LWRpc2FibGVkOiByZ2JhKCRjb2xvci1zZWNvbmRhcnksIDAuNSk7XG5cbiRjb2xvci1lcnJvcjogJHJlZC02MDA7XG4kY29sb3ItZXJyb3ItaG92ZXI6ICRyZWQtNzAwO1xuJGNvbG9yLWVycm9yLWRpc2FibGVkOiByZ2JhKCRjb2xvci1lcnJvciwgMC41KTtcblxuJGNvbG9yLXN1Y2Nlc3M6ICRncmVlbi02MDA7XG4kY29sb3Itc3VjY2Vzcy1ob3ZlcjogJGdyZWVuLTcwMDtcbiRjb2xvci1zdWNjZXNzLWRpc2FibGVkOiByZ2JhKCRjb2xvci1zdWNjZXNzLCAwLjUpO1xuXG4kY29sb3Itd2FybmluZzogJGFtYmVyLTYwMDtcbiRjb2xvci13YXJuaW5nLWhvdmVyOiAkYW1iZXItNzAwO1xuJGNvbG9yLXdhcm5pbmctZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXdhcm5pbmcsIDAuNSk7XG5cbiR0ZXh0LWNvbG9yLXdoaXRlOiAkd2hpdGU7XG4kdGV4dC1jb2xvci1ibGFjazogJGJsYWNrO1xuJHRleHQtY29sb3Itd2hpdGUtZGlzYWJsZWQ6IHJnYmEoJHdoaXRlLCAwLjUpO1xuJHRleHQtY29sb3ItYmxhY2stZGlzYWJsZWQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4kdGl0bGUtY29sb3ItZGFyazogJHdoaXRlO1xuJHN1YnRpdGxlLWNvbG9yLWRhcms6ICM5OWExYWY7XG4kZGVzY3JpcHRpb24tY29sb3ItZGFyazogI2QxZDVkYztcbiRpY29uLWNvbG9yLWRhcms6ICM5OWExYWY7XG5cbi8vID09PSBTaGFkb3dzID09PSAvL1xuLy9AVE9ETzogQFNIQURPV1xuJHNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiYSgkYmxhY2ssIDAuMDUpO1xuJHNoYWRvdy1tZDpcbiAgMCA0cHggNnB4IC0xcHggcmdiYSgkYmxhY2ssIDAuMSksXG4gIDAgMnB4IDRweCAtMXB4IHJnYmEoJGJsYWNrLCAwLjA2KTtcbiRzaGFkb3ctbGc6XG4gIDAgMTBweCAxNXB4IC0zcHggcmdiYSgkYmxhY2ssIDAuMSksXG4gIDAgNHB4IDZweCAtMnB4IHJnYmEoJGJsYWNrLCAwLjA1KTtcblxuLy8gPT09IEZvbnQgZmFtaWxpZXMgPT09IC8vXG4kZm9udC1mYW1pbHktc2FuczogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBcIkdlb3JnaWFcIiwgc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ubzogXCJGaXJhIENvZGVcIiwgbW9ub3NwYWNlO1xuXG4vLyA9PT0gRm9udCB3ZWlnaHRzID09PSAvL1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy8gPT09IExpbmUgaGVpZ2h0cyA9PT0gLy9cbiRsaW5lLWhlaWdodC10aWdodDogMS4yO1xuJGxpbmUtaGVpZ2h0LXNudWc6IDEuMzc1O1xuJGxpbmUtaGVpZ2h0LW5vcm1hbDogMS41O1xuJGxpbmUtaGVpZ2h0LWxvb3NlOiAxLjYyNTtcblxuLy8gPT09IEZvbnQgU2l6ZXMg4oCUIFNlbWFudGljIFRva2VucyA9PT0gLy9cblxuLy8gPT09IFRpdGxlcyA9PT0gLy9cbiRmb250LXNpemUtaGVybzogM3JlbTsgLy8gNDhweFxuJGZvbnQtc2l6ZS10aXRsZS0xOiAyLjI1cmVtOyAvLyAzNnB4XG4kZm9udC1zaXplLXRpdGxlLTI6IDEuODc1cmVtOyAvLyAzMHB4XG4kZm9udC1zaXplLXRpdGxlLTM6IDEuNXJlbTsgLy8gMjRweFxuXG4vLyA9PT0gU3VidGl0bGVzID09PSAvL1xuJGZvbnQtc2l6ZS1zdWJ0aXRsZS0xOiAxLjI1cmVtOyAvLyAyMHB4XG4kZm9udC1zaXplLXN1YnRpdGxlLTI6IDEuMTI1cmVtOyAvLyAxOHB4XG5cbi8vID09PSBCb2R5IHRleHQgPT09IC8vXG4kZm9udC1zaXplLWJvZHktbGc6IDFyZW07IC8vIDE2cHhcbiRmb250LXNpemUtYm9keS1tZDogMC45Mzc1cmVtOyAvLyAxNXB4XG4kZm9udC1zaXplLWJvZHktc206IDAuODc1cmVtOyAvLyAxNHB4XG5cbi8vID09PSBDYXB0aW9ucyAvIERlc2NyaXB0aW9ucyA9PT0gLy9cbiRmb250LXNpemUtY2FwdGlvbjogMC43NXJlbTsgLy8gMTJweFxuJGZvbnQtc2l6ZS1mb290bm90ZTogMC42ODc1cmVtOyAvLyAxMXB4XG5cbi8vID09PSBCdXR0b25zID09PSAvL1xuJGZvbnQtc2l6ZS1idXR0b24tbGc6IDFyZW07IC8vIDE2cHhcbiRmb250LXNpemUtYnV0dG9uLW1kOiAwLjg3NXJlbTsgLy8gMTRweFxuJGZvbnQtc2l6ZS1idXR0b24tc206IDAuNzVyZW07IC8vIDEycHhcblxuLy8gPT09IEFuaW1hdGlvbnMgPT09IC8vXG5cbiRjdWJpYy1iZXppZXItcHJpbWFyeTogY3ViaWMtYmV6aWVyKDAuNTUsIC0wLjE5LCAwLjU5LCAwLjk1KTtcbiRjdWJpYy1iZXppZXItc2Vjb25kYXJ5OiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4iXX0= */","\"use client\";\n\nimport * as React from \"react\";\nimport { type IButton, Button } from \"../Button\";\n\nimport styles from \"./ButtonGroup.module.scss\";\n\nexport interface IButtonGroup {\n children:\n | React.ReactElement<IButton, typeof Button>\n | React.ReactElement<IButton, typeof Button>[];\n align?: \"vertical\" | \"horizontal\";\n variant?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"error\"\n | \"warning\";\n size?: \"xsm\" | \"sm\" | \"md\" | \"lg\" | \"xlg\";\n radius?: \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\n disabled?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const ButtonGroup: React.FC<IButtonGroup> = ({\n children,\n align = \"horizontal\",\n variant = \"default\",\n size = \"md\",\n radius = \"md\",\n disabled,\n className = \"\",\n style = {},\n}) => {\n return (\n <div\n className={`${styles[\"button-group\"]} ${\n styles[`button-group-variant--${variant}`]\n } ${styles[`button-group-size--${size}`]} ${\n styles[`button-group-radius--${radius}`]\n } ${styles[`button-group-align--${align}`]} ${className}`}\n style={style}\n >\n {React.Children.toArray(children)\n .filter(\n (child): child is React.ReactElement<IButton, typeof Button> =>\n React.isValidElement(child) && child.type === Button\n )\n .map((child, index) =>\n React.cloneElement(child, {\n key: index || child.key,\n size: size || child.props.size,\n disabled: disabled || child.props.disabled,\n variant: variant || child.props.variant,\n radius: \"none\",\n })\n )}\n </div>\n );\n};\n",".button-group {\n align-items: center;\n display: flex;\n overflow: hidden;\n max-width: max-content;\n}\n.button-group-align--horizontal {\n flex-direction: row;\n}\n.button-group-align--vertical {\n flex-direction: column;\n}\n.button-group-variant--default {\n background-color: #1f2937;\n}\n.button-group-variant--primary {\n background-color: #2563eb;\n}\n.button-group-variant--secondary {\n background-color: #4f46e5;\n}\n.button-group-variant--success {\n background-color: #16a34a;\n}\n.button-group-variant--error {\n background-color: #dc2626;\n}\n.button-group-variant--warning {\n background-color: #d97706;\n}\n.button-group-radius--none {\n border-radius: 0rem;\n}\n.button-group-radius--sm {\n border-radius: 0.125rem;\n}\n.button-group-radius--md {\n border-radius: 0.375rem;\n}\n.button-group-radius--lg {\n border-radius: 0.5rem;\n}\n.button-group-radius--full {\n border-radius: 1.5rem;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL1VzZXJzL2RodW5hbnlhbi9hcmlzdG9ieXRlL2dpdGh1Yi9hcmlzdG9ieXRlLXVpL3BhY2thZ2VzL2J1dHRvbi9jb21wb25lbnRzL0J1dHRvbkdyb3VwIiwic291cmNlcyI6WyJCdXR0b25Hcm91cC5tb2R1bGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYXJpc3RvYnl0ZS11aS91dGlscy9zdHlsZXMvX3NldHRpbmdzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRSxrQkNzQ0s7O0FEbkNQO0VBQ0Usa0JDNENLOztBRHpDUDtFQUNFLGtCQ29ETzs7QURqRFQ7RUFDRSxrQkNvRU07O0FEakVSO0VBQ0Usa0JDc0RJOztBRG5ETjtFQUNFLGtCQ3NFTTs7QURqRVI7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcIkBhcmlzdG9ieXRlLXVpL3V0aWxzL3N0eWxlcy9zZXR0aW5nc1wiIGFzICo7XG5cbi5idXR0b24tZ3JvdXAge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuXG4gICYtYWxpZ24ge1xuICAgICYtLWhvcml6b250YWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAmLS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gICYtdmFyaWFudCB7XG4gICAgJi0tZGVmYXVsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIH1cblxuICAgICYtLXNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yO1xuICAgIH1cblxuICAgICYtLXdhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmc7XG4gICAgfVxuICB9XG5cbiAgJi1yYWRpdXMge1xuICAgICYtLW5vbmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMHJlbTsgLy8gMHB4XG4gICAgfVxuXG4gICAgJi0tc20ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IC8vIDJweFxuICAgIH1cblxuICAgICYtLW1kIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOyAvLyA2cHhcbiAgICB9XG5cbiAgICAmLS1sZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07IC8vIDhweFxuICAgIH1cblxuICAgICYtLWZ1bGwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41cmVtOyAvLyAyNHB4XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG4vLyAgICAgICAgQXJpc3RvQnl0ZSBVSSAtIFN0eWxlIFNldHRpbmdzICAgICAgIC8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbi8vID09PSBEZXNpZ24gVG9rZW5zIOKAlCBDb2xvciBQYWxldHRlID09PSAvL1xuLy8gTG9nb1xuJGxvZ28tY29sb3ItMTogI2ZmZWUyNztcbiRsb2dvLWNvbG9yLTI6ICNmZWM4MDA7XG4kbG9nby1jb2xvci0zOiAjZjE4ZTM1O1xuJGxvZ28tY29sb3ItNDogI2U5NWYzMjtcbiRsb2dvLWNvbG9yLTU6ICNlMjMxMmQ7XG4kbG9nby1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICA5MGRlZyxcbiAgJGxvZ28tY29sb3ItMSxcbiAgJGxvZ28tY29sb3ItMixcbiAgJGxvZ28tY29sb3ItMyxcbiAgJGxvZ28tY29sb3ItNCxcbiAgJGxvZ28tY29sb3ItNVxuKTtcblxuLy8gQmFzZVxuJHdoaXRlOiAjZmZmZmZmO1xuJHdoaXRlLWhvdmVyOiAjZGRkZGRkO1xuJGJsYWNrOiAjMDAwMDAwO1xuJGJsYWNrLWhvdmVyOiAjMjIyMjIyO1xuJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcblxuLy8gPT09IEJsYWNrIFRyYW5zcGFyZW50IFNjYWxlID09PSAvL1xuJGJsYWNrLXRyYW5zcGFyZW50LTEwMDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTIwMDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTMwMDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTQwMDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTUwMDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTYwMDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTcwMDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTgwMDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuJGJsYWNrLXRyYW5zcGFyZW50LTkwMDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuXG4vLyA9PT0gQmxhY2sgVHJhbnNwYXJlbnQgU2NhbGUgPT09IC8vXG4kd2hpdGUtdHJhbnNwYXJlbnQtMTAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtMjAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4kd2hpdGUtdHJhbnNwYXJlbnQtMzAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtNDAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtNTAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtNjAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4kd2hpdGUtdHJhbnNwYXJlbnQtNzAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtODAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4kd2hpdGUtdHJhbnNwYXJlbnQtOTAwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cbi8vID09PSBOZXV0cmFsIFNjYWxlIChHcmV5KSA9PT0gLy9cbiRncmV5LTUwOiAjZjlmYWZiO1xuJGdyZXktMTAwOiAjZjNmNGY2O1xuJGdyZXktMjAwOiAjZTVlN2ViO1xuJGdyZXktMzAwOiAjZDFkNWRiO1xuJGdyZXktNDAwOiAjOWNhM2FmO1xuJGdyZXktNTAwOiAjNmI3MjgwO1xuJGdyZXktNjAwOiAjNGI1NTYzO1xuJGdyZXktNzAwOiAjMzc0MTUxO1xuJGdyZXktODAwOiAjMWYyOTM3O1xuJGdyZXktOTAwOiAjMTExODI3O1xuXG4vLyA9PT0gUHJpbWFyeSBTY2FsZSAoQmx1ZSkgPT09IC8vXG4kYmx1ZS01MDogI2VmZjZmZjtcbiRibHVlLTEwMDogI2RiZWFmZTtcbiRibHVlLTIwMDogI2JmZGJmZTtcbiRibHVlLTMwMDogIzkzYzVmZDtcbiRibHVlLTQwMDogIzYwYTVmYTtcbiRibHVlLTUwMDogIzNiODJmNjtcbiRibHVlLTYwMDogIzI1NjNlYjsgLy8gTWFpblxuJGJsdWUtNzAwOiAjMWQ0ZWQ4OyAvLyBIb3ZlclxuJGJsdWUtODAwOiAjMWU0MGFmO1xuJGJsdWUtOTAwOiAjMWUzYThhO1xuXG4vLyA9PT0gU2Vjb25kYXJ5IFNjYWxlIChJbmRpZ28pID09PSAvL1xuJGluZGlnby01MDogI2VlZjJmZjtcbiRpbmRpZ28tMTAwOiAjZTBlN2ZmO1xuJGluZGlnby0yMDA6ICNjN2QyZmU7XG4kaW5kaWdvLTMwMDogI2E1YjRmYztcbiRpbmRpZ28tNDAwOiAjODE4Y2Y4O1xuJGluZGlnby01MDA6ICM2MzY2ZjE7XG4kaW5kaWdvLTYwMDogIzRmNDZlNTsgLy8gTWFpblxuJGluZGlnby03MDA6ICM0MzM4Y2E7IC8vIEhvdmVyXG5cbi8vID09PSBFcnJvciBTY2FsZSAoUmVkKSA9PT0gLy9cbiRyZWQtNTA6ICNmZWYyZjI7XG4kcmVkLTEwMDogI2ZlZTJlMjtcbiRyZWQtMjAwOiAjZmVjYWNhO1xuJHJlZC0zMDA6ICNmY2E1YTU7XG4kcmVkLTQwMDogI2Y4NzE3MTtcbiRyZWQtNTAwOiAjZWY0NDQ0O1xuJHJlZC02MDA6ICNkYzI2MjY7IC8vIE1haW5cbiRyZWQtNzAwOiAjYjkxYzFjOyAvLyBIb3ZlclxuXG4vLyA9PT0gU3VjY2VzcyBTY2FsZSAoR3JlZW4pID09PSAvL1xuJGdyZWVuLTUwOiAjZjBmZGY0O1xuJGdyZWVuLTEwMDogI2RjZmNlNztcbiRncmVlbi0yMDA6ICNiYmY3ZDA7XG4kZ3JlZW4tMzAwOiAjODZlZmFjO1xuJGdyZWVuLTQwMDogIzRhZGU4MDtcbiRncmVlbi01MDA6ICMyMmM1NWU7XG4kZ3JlZW4tNjAwOiAjMTZhMzRhOyAvLyBNYWluXG4kZ3JlZW4tNzAwOiAjMTU4MDNkOyAvLyBIb3ZlclxuXG4vLyA9PT0gV2FybmluZyBTY2FsZSAoQW1iZXIpID09PSAvL1xuJGFtYmVyLTUwOiAjZmZmYmViO1xuJGFtYmVyLTEwMDogI2ZlZjNjNztcbiRhbWJlci0yMDA6ICNmZGU2OGE7XG4kYW1iZXItMzAwOiAjZmNkMzRkO1xuJGFtYmVyLTQwMDogI2ZiYmYyNDtcbiRhbWJlci01MDA6ICNmNTllMGI7XG4kYW1iZXItNjAwOiAjZDk3NzA2OyAvLyBNYWluXG4kYW1iZXItNzAwOiAjYjQ1MzA5OyAvLyBIb3ZlclxuXG4vLyA9PT0gU2VtYW50aWMgVG9rZW5zID09PSAvL1xuJGNvbG9yLWRlZmF1bHQ6ICRncmV5LTgwMDtcbiRjb2xvci1kZWZhdWx0LWhvdmVyOiAkZ3JleS05MDA7XG4kY29sb3ItZGVmYXVsdC1kaXNhYmxlZDogcmdiYSgkY29sb3ItZGVmYXVsdCwgMC41KTtcblxuJGNvbG9yLXByaW1hcnk6ICRibHVlLTYwMDtcbiRjb2xvci1wcmltYXJ5LWhvdmVyOiAkYmx1ZS03MDA7XG4kY29sb3ItcHJpbWFyeS1kaXNhYmxlZDogcmdiYSgkY29sb3ItcHJpbWFyeSwgMC41KTtcblxuJGNvbG9yLXNlY29uZGFyeTogJGluZGlnby02MDA7XG4kY29sb3Itc2Vjb25kYXJ5LWhvdmVyOiAkaW5kaWdvLTcwMDtcbiRjb2xvci1zZWNvbmRhcnktZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC41KTtcblxuJGNvbG9yLWVycm9yOiAkcmVkLTYwMDtcbiRjb2xvci1lcnJvci1ob3ZlcjogJHJlZC03MDA7XG4kY29sb3ItZXJyb3ItZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLWVycm9yLCAwLjUpO1xuXG4kY29sb3Itc3VjY2VzczogJGdyZWVuLTYwMDtcbiRjb2xvci1zdWNjZXNzLWhvdmVyOiAkZ3JlZW4tNzAwO1xuJGNvbG9yLXN1Y2Nlc3MtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXN1Y2Nlc3MsIDAuNSk7XG5cbiRjb2xvci13YXJuaW5nOiAkYW1iZXItNjAwO1xuJGNvbG9yLXdhcm5pbmctaG92ZXI6ICRhbWJlci03MDA7XG4kY29sb3Itd2FybmluZy1kaXNhYmxlZDogcmdiYSgkY29sb3Itd2FybmluZywgMC41KTtcblxuJHRleHQtY29sb3Itd2hpdGU6ICR3aGl0ZTtcbiR0ZXh0LWNvbG9yLWJsYWNrOiAkYmxhY2s7XG4kdGV4dC1jb2xvci13aGl0ZS1kaXNhYmxlZDogcmdiYSgkd2hpdGUsIDAuNSk7XG4kdGV4dC1jb2xvci1ibGFjay1kaXNhYmxlZDogcmdiYSgkYmxhY2ssIDAuNSk7XG5cbiR0aXRsZS1jb2xvci1kYXJrOiAkd2hpdGU7XG4kc3VidGl0bGUtY29sb3ItZGFyazogIzk5YTFhZjtcbiRkZXNjcmlwdGlvbi1jb2xvci1kYXJrOiAjZDFkNWRjO1xuJGljb24tY29sb3ItZGFyazogIzk5YTFhZjtcblxuLy8gPT09IFNoYWRvd3MgPT09IC8vXG4vL0BUT0RPOiBAU0hBRE9XXG4kc2hhZG93LXNtOiAwIDFweCAycHggMCByZ2JhKCRibGFjaywgMC4wNSk7XG4kc2hhZG93LW1kOlxuICAwIDRweCA2cHggLTFweCByZ2JhKCRibGFjaywgMC4xKSxcbiAgMCAycHggNHB4IC0xcHggcmdiYSgkYmxhY2ssIDAuMDYpO1xuJHNoYWRvdy1sZzpcbiAgMCAxMHB4IDE1cHggLTNweCByZ2JhKCRibGFjaywgMC4xKSxcbiAgMCA0cHggNnB4IC0ycHggcmdiYSgkYmxhY2ssIDAuMDUpO1xuXG4vLyA9PT0gRm9udCBmYW1pbGllcyA9PT0gLy9cbiRmb250LWZhbWlseS1zYW5zOiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2VyaWY6IFwiR2VvcmdpYVwiLCBzZXJpZjtcbiRmb250LWZhbWlseS1tb25vOiBcIkZpcmEgQ29kZVwiLCBtb25vc3BhY2U7XG5cbi8vID09PSBGb250IHdlaWdodHMgPT09IC8vXG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuXG4vLyA9PT0gTGluZSBoZWlnaHRzID09PSAvL1xuJGxpbmUtaGVpZ2h0LXRpZ2h0OiAxLjI7XG4kbGluZS1oZWlnaHQtc251ZzogMS4zNzU7XG4kbGluZS1oZWlnaHQtbm9ybWFsOiAxLjU7XG4kbGluZS1oZWlnaHQtbG9vc2U6IDEuNjI1O1xuXG4vLyA9PT0gRm9udCBTaXplcyDigJQgU2VtYW50aWMgVG9rZW5zID09PSAvL1xuXG4vLyA9PT0gVGl0bGVzID09PSAvL1xuJGZvbnQtc2l6ZS1oZXJvOiAzcmVtOyAvLyA0OHB4XG4kZm9udC1zaXplLXRpdGxlLTE6IDIuMjVyZW07IC8vIDM2cHhcbiRmb250LXNpemUtdGl0bGUtMjogMS44NzVyZW07IC8vIDMwcHhcbiRmb250LXNpemUtdGl0bGUtMzogMS41cmVtOyAvLyAyNHB4XG5cbi8vID09PSBTdWJ0aXRsZXMgPT09IC8vXG4kZm9udC1zaXplLXN1YnRpdGxlLTE6IDEuMjVyZW07IC8vIDIwcHhcbiRmb250LXNpemUtc3VidGl0bGUtMjogMS4xMjVyZW07IC8vIDE4cHhcblxuLy8gPT09IEJvZHkgdGV4dCA9PT0gLy9cbiRmb250LXNpemUtYm9keS1sZzogMXJlbTsgLy8gMTZweFxuJGZvbnQtc2l6ZS1ib2R5LW1kOiAwLjkzNzVyZW07IC8vIDE1cHhcbiRmb250LXNpemUtYm9keS1zbTogMC44NzVyZW07IC8vIDE0cHhcblxuLy8gPT09IENhcHRpb25zIC8gRGVzY3JpcHRpb25zID09PSAvL1xuJGZvbnQtc2l6ZS1jYXB0aW9uOiAwLjc1cmVtOyAvLyAxMnB4XG4kZm9udC1zaXplLWZvb3Rub3RlOiAwLjY4NzVyZW07IC8vIDExcHhcblxuLy8gPT09IEJ1dHRvbnMgPT09IC8vXG4kZm9udC1zaXplLWJ1dHRvbi1sZzogMXJlbTsgLy8gMTZweFxuJGZvbnQtc2l6ZS1idXR0b24tbWQ6IDAuODc1cmVtOyAvLyAxNHB4XG4kZm9udC1zaXplLWJ1dHRvbi1zbTogMC43NXJlbTsgLy8gMTJweFxuXG4vLyA9PT0gQW5pbWF0aW9ucyA9PT0gLy9cblxuJGN1YmljLWJlemllci1wcmltYXJ5OiBjdWJpYy1iZXppZXIoMC41NSwgLTAuMTksIDAuNTksIDAuOTUpO1xuJGN1YmljLWJlemllci1zZWNvbmRhcnk6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiJdfQ== */"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,YAAuB;AACvB,qBAAwB;AACxB,mBAAiD;;;ACJjD;AAAA,EAAC,QAAAA;AAAA,EAsBA,uBAAAC;AAAA,EAGA,2BAAAC;AAAA,EAAwB,4BAAAC;AAAA,EAYmC,MAAAC;AAAA,EAMnC,8BAAAC;AAAA,EAmBA,qCAAAC;AAAA,EAmBA,iCAAAC;AAAA,EAkBA,8BAAAC;AAAA,EAoBxB,2BAAAC;AAAA,EA8FA,6BAAAC;AAAA,EA8FA,2BAAAC;AAAA,EA8FA,yBAAAC;AAAA,EA8FA,2BAAAC;AAAA,EA8FA,oBAAAC;AAAA,EAMkB,SAAAC;AAAA,EAKlB,mBAAAC;AAAA,EAWA,mBAAAC;AAAA,EAWA,mBAAAC;AAAA,EAWA,oBAAAC;AAAA,EAWA,uBAAAC;AAAA,EAGA,qBAAAC;AAAA,EAGA,qBAAAC;AAAA,EAGA,qBAAAC;AAAA,EAGA,uBAAAC;AAAA,EAQQ,eAAAC;AAAA;;;ADzjBL;AAhDG,IAAM,SAA4B,CAAC;AAAA,EACxC;AAAA,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ,CAAC;AACX,MAAM;AACJ,QAAM,WAAiB,YAAM;AAC7B,QAAM,MAAY,aAA8C,IAAI;AAEpE,QAAM,cAAc,CAClB,MACG;AACH,UAAM,EAAE,SAAS,QAAQ,IAAI;AAC7B,mCAAoD;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,QAAI,SAAS;AACX,cAAQ,CAAC;AAAA,IACX;AAAA,EACF;AAEA,QAAM,iBAAiB,OAAO;AAAA,IAC5B,SAAS;AAAA,IACT,UAAU,YAAY;AAAA,IACtB;AAAA,IACA,WAAW,GAAG,sBAAO,QAAQ,CAAC,IAAI,cAAc,sBAAO,qBAAqB,IAAI,EAAE,IAAI,sBAAO,mBAAmB,OAAO,EAAE,CAAC,IACxH,sBAAO,sBAAsB,UAAU,EAAE,CAC3C,IAAI,sBAAO,gBAAgB,IAAI,EAAE,CAAC,IAChC,sBAAO,kBAAkB,MAAM,EAAE,CACnC,IAAI,YAAY,sBAAO,iBAAiB,IAAI,EAAE,IAAI,SAAS;AAAA,EAC7D;AAEA,QAAM,iBAAiB,MAAG;AA9F5B;AA+FI,uFACG;AAAA,mBACC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,MAAM;AAAA,UACN,WAAW,sBAAO,SAAS;AAAA;AAAA,MAC7B;AAAA,MAED,QACC;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,GAAG,sBAAO,MAAM,CAAC,IAC1B,sBAAO,UAAS,UAAK,UAAL,YAAc,MAAM,EAAE,CACxC;AAAA,UAEC,eAAK,UAAU,EAAE,OAAO,KAAK,OAAO,MAAM,KAAK,KAAK,CAAC;AAAA;AAAA,MACxD;AAAA,MAED,QAAQ;AAAA,OACX;AAAA;AAGF,MAAI,SAAS,QAAQ;AACnB,WACE;AAAA,MAAC;AAAA;AAAA,QAEC;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAG,eAAe;AAAA,QAElB,yBAAe;AAAA;AAAA,MANX;AAAA,IAOP;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACC,GAAG,eAAe;AAAA,MAElB,yBAAe;AAAA;AAAA,IAJX;AAAA,EAKP;AAEJ;;;AE1IA,IAAAC,SAAuB;;;ACFvB;AAAA,EAAC,gBAAAC;AAAA,EAMA,kCAAAC;AAAA,EAGA,gCAAAC;AAAA,EAGA,iCAAAC;AAAA,EAGA,iCAAAC;AAAA,EAGA,mCAAAC;AAAA,EAGA,iCAAAC;AAAA,EAGA,+BAAAC;AAAA,EAGA,iCAAAC;AAAA,EAGA,6BAAAC;AAAA,EAGA,2BAAAC;AAAA,EAGA,2BAAAC;AAAA,EAGA,2BAAAC;AAAA,EAGA,6BAAAC;AAAA;;;ADLG,IAAAC,sBAAA;AAXG,IAAM,cAAsC,CAAC;AAAA,EAClD;AAAA,EACA,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ,CAAC;AACX,MAAM;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,2BAAO,cAAc,CAAC,IAClC,2BAAO,yBAAyB,OAAO,EAAE,CAC3C,IAAI,2BAAO,sBAAsB,IAAI,EAAE,CAAC,IACtC,2BAAO,wBAAwB,MAAM,EAAE,CACzC,IAAI,2BAAO,uBAAuB,KAAK,EAAE,CAAC,IAAI,SAAS;AAAA,MACvD;AAAA,MAEC,UAAM,gBAAS,QAAQ,QAAQ,EAC7B;AAAA,QACC,CAAC,UACO,sBAAe,KAAK,KAAK,MAAM,SAAS;AAAA,MAClD,EACC;AAAA,QAAI,CAAC,OAAO,UACL,oBAAa,OAAO;AAAA,UACxB,KAAK,SAAS,MAAM;AAAA,UACpB,MAAM,QAAQ,MAAM,MAAM;AAAA,UAC1B,UAAU,YAAY,MAAM,MAAM;AAAA,UAClC,SAAS,WAAW,MAAM,MAAM;AAAA,UAChC,QAAQ;AAAA,QACV,CAAC;AAAA,MACH;AAAA;AAAA,EACJ;AAEJ;","names":["button","button--transparent","button-variant--default","button-appearance--solid","icon","button-appearance--outline","button-appearance--outline-dashed","button-appearance--no-outline","button-appearance--glowing","button-variant--primary","button-variant--secondary","button-variant--success","button-variant--error","button-variant--warning","button-size--xsm","spinner","button-size--sm","button-size--md","button-size--lg","button-size--xlg","button-radius--none","button-radius--sm","button-radius--md","button-radius--lg","button-radius--full","icon--right","React","button-group","button-group-align--horizontal","button-group-align--vertical","button-group-variant--default","button-group-variant--primary","button-group-variant--secondary","button-group-variant--success","button-group-variant--error","button-group-variant--warning","button-group-radius--none","button-group-radius--sm","button-group-radius--md","button-group-radius--lg","button-group-radius--full","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../index.ts","../components/Button/index.tsx","../../../node_modules/clsx/dist/clsx.mjs","../components/ButtonGroup/index.tsx"],"sourcesContent":["export * from \"./components\";\n","\"use client\";\n\nimport * as React from \"react\";\nimport clsx from \"clsx\";\nimport { Spinner } from \"@aristobyte-ui/spinner\";\nimport { type IconPropsType, renderRipple } from \"@aristobyte-ui/utils\";\n\nexport interface IButton {\n type?: \"button\" | \"link\";\n text?: string;\n children?: React.ReactNode;\n href?: string;\n target?: \"_self\" | \"_blank\" | \"_parent\" | \"_top\";\n onClick?: (\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => void | Promise<void>;\n disabled?: boolean;\n transparent?: boolean;\n variant?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"error\"\n | \"warning\";\n appearance?:\n | \"solid\"\n | \"outline\"\n | \"outline-dashed\"\n | \"no-outline\"\n | \"glowing\";\n size?: \"xsm\" | \"sm\" | \"md\" | \"lg\" | \"xlg\";\n radius?: \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\n icon?: {\n component: (props: IconPropsType) => React.ReactElement;\n color?: string;\n size?: number;\n align?: \"left\" | \"right\";\n };\n isLoading?: boolean;\n spinnerType?: \"default\" | \"duo\" | \"gradient\" | \"pulse\" | \"pulse-duo\";\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Button: React.FC<IButton> = ({\n onClick,\n text = \"\",\n href = \"\",\n target = \"_self\",\n children = \"\",\n type = \"button\",\n variant = \"default\",\n appearance = \"solid\",\n size = \"md\",\n radius = \"md\",\n icon,\n spinnerType = \"default\",\n transparent = false,\n isLoading = false,\n disabled = false,\n className = \"\",\n style = {},\n}) => {\n const uniqueId = React.useId();\n const ref = React.useRef<HTMLButtonElement | HTMLAnchorElement>(null);\n\n const handleClick = (\n e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => {\n const { clientX, clientY } = e;\n renderRipple({ ref, clientX, clientY });\n onClick?.(e);\n };\n\n const buttonClasses = clsx(\n \"btn\",\n transparent && \"btn-transparent\",\n `btn-${variant}-${appearance}`,\n `btn-${size}`,\n `btn-radius-${radius}`,\n isLoading && \"btn-loading\",\n className\n );\n\n const renderContent = () => (\n <>\n {isLoading && (\n <Spinner\n size={size}\n variant={variant}\n type={spinnerType}\n className=\"inline-block\"\n />\n )}\n {icon && (\n <span\n className={clsx(\n \"btn-icon\",\n icon.align === \"right\" && \"btn-icon-right\"\n )}\n >\n {icon.component({ color: icon.color, size: icon.size })}\n </span>\n )}\n {text || children}\n </>\n );\n\n if (type === \"link\") {\n return (\n <a\n key={uniqueId}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n href={href}\n target={target}\n style={style}\n className={buttonClasses}\n onClick={handleClick}\n >\n {renderContent()}\n </a>\n );\n }\n\n return (\n <button\n key={uniqueId}\n ref={ref as React.RefObject<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled || isLoading}\n style={style}\n className={buttonClasses}\n onClick={handleClick}\n >\n {renderContent()}\n </button>\n );\n};\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","\"use client\";\n\nimport * as React from \"react\";\nimport { type IButton, Button } from \"../Button\";\nimport clsx from \"clsx\";\n\nexport interface IButtonGroup {\n children:\n | React.ReactElement<IButton, typeof Button>\n | React.ReactElement<IButton, typeof Button>[];\n align?: \"vertical\" | \"horizontal\";\n variant?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"error\"\n | \"warning\";\n size?: \"xsm\" | \"sm\" | \"md\" | \"lg\" | \"xlg\";\n radius?: \"none\" | \"sm\" | \"md\" | \"lg\" | \"full\";\n disabled?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const ButtonGroup: React.FC<IButtonGroup> = ({\n children,\n align = \"horizontal\",\n variant = \"default\",\n size = \"md\",\n radius = \"md\",\n disabled = false,\n className = \"\",\n style = {},\n}) => {\n const groupClasses = clsx(\n \"btn-group\",\n `btn-group-${align}`,\n `btn-group-variant-${variant}`,\n `btn-group-radius-${radius}`,\n `btn-group-size-${size}`,\n className\n );\n\n return (\n <div className={groupClasses} style={style}>\n {React.Children.toArray(children)\n .filter(\n (child): child is React.ReactElement<IButton, typeof Button> =>\n React.isValidElement(child) && child.type === Button\n )\n .map((child, index) =>\n React.cloneElement(child, {\n key: index || child.key,\n size: size || child.props.size,\n disabled: disabled || child.props.disabled,\n variant: variant || child.props.variant,\n radius: \"none\", // individual buttons inside group have no border-radius, group handles it\n })\n )}\n </div>\n );\n};\n"],"mappings":"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","names":["React","import_jsx_runtime"]}