frst-components 0.34.2 → 0.34.4
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.js +24 -29
- package/dist/src/components/form-elements/textfield/index.d.ts.map +1 -1
- package/dist/src/components/form-elements/textfield/textFieldStyle.d.ts.map +1 -1
- package/dist/src/components/search-field/index.d.ts.map +1 -1
- package/dist/src/components/search-field/searchFieldStyles.d.ts +1 -0
- package/dist/src/components/search-field/searchFieldStyles.d.ts.map +1 -1
- package/dist/src/theme/tokens.d.ts +4 -0
- package/dist/src/theme/tokens.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -715,6 +715,10 @@ const DesignTokens = {
|
|
|
715
715
|
linkHover: '#0b0080',
|
|
716
716
|
linkOnfocus: '#0645ad',
|
|
717
717
|
linkPressed: '#f18624',
|
|
718
|
+
inputBg: '#F2F2F2',
|
|
719
|
+
inputBorder: '#BDBDBD',
|
|
720
|
+
inputBorderFocus: '#9C9C9C',
|
|
721
|
+
inputFocusBg: '#FFF',
|
|
718
722
|
linkError: '#923534',
|
|
719
723
|
inputError: '#ffe0e0',
|
|
720
724
|
inputSelect: '#9BB5DE',
|
|
@@ -4233,8 +4237,8 @@ const placeholderStyle = (color) => styled.css `
|
|
|
4233
4237
|
const TextFieldContainer = styled__default["default"].div `
|
|
4234
4238
|
width: ${(props) => props.theme.width || '100%'};
|
|
4235
4239
|
height: 48px;
|
|
4236
|
-
background: ${({ theme, inputBackground }) => (inputBackground ? inputBackground : theme.colors.
|
|
4237
|
-
|
|
4240
|
+
background: ${({ theme, inputBackground }) => (inputBackground ? inputBackground : theme.colors.inputBg)};
|
|
4241
|
+
border: 1px solid ${({ theme }) => (theme ? theme.colors.inputBorder : "#BDBDBD")};
|
|
4238
4242
|
box-sizing: border-box;
|
|
4239
4243
|
border-radius: 8px;
|
|
4240
4244
|
outline: none;
|
|
@@ -4245,20 +4249,10 @@ const TextFieldContainer = styled__default["default"].div `
|
|
|
4245
4249
|
align-items: center;
|
|
4246
4250
|
overflow: hidden;
|
|
4247
4251
|
|
|
4248
|
-
|
|
4249
|
-
props.isClicked &&
|
|
4252
|
+
${(props) => props.theme.focused &&
|
|
4250
4253
|
styled.css `
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
`}
|
|
4254
|
-
|
|
4255
|
-
${(props) => props.theme.focused &&
|
|
4256
|
-
props.isHelpTextBox &&
|
|
4257
|
-
styled.css `
|
|
4258
|
-
box-shadow: 0px 0px 0px 1px #f18624 !important;
|
|
4259
|
-
border: 1px solid #f18624 !important;
|
|
4260
|
-
`}
|
|
4261
|
-
|
|
4254
|
+
background-color: ${({ theme }) => theme.isValue ? theme.colors.inputBg : theme.colors.inputFocusBg};
|
|
4255
|
+
`}
|
|
4262
4256
|
|
|
4263
4257
|
${(props) => props.theme.multiline &&
|
|
4264
4258
|
styled.css `
|
|
@@ -4270,16 +4264,11 @@ const TextFieldContainer = styled__default["default"].div `
|
|
|
4270
4264
|
overflow: hidden;
|
|
4271
4265
|
`}
|
|
4272
4266
|
|
|
4273
|
-
|
|
4274
|
-
${(props) => props.theme.hovered &&
|
|
4267
|
+
${(props) => props.theme.hovered &&
|
|
4275
4268
|
styled.css `
|
|
4276
|
-
border:
|
|
4277
|
-
`}
|
|
4269
|
+
border: 2px solid ${({ theme }) => theme.colors.inputBorderFocus};
|
|
4270
|
+
`}
|
|
4278
4271
|
|
|
4279
|
-
${(props) => props.theme.focused &&
|
|
4280
|
-
styled.css `
|
|
4281
|
-
border: 1px solid ${({ theme }) => theme.colors.linkPressed};
|
|
4282
|
-
`}
|
|
4283
4272
|
|
|
4284
4273
|
${(props) => props.theme.disabled &&
|
|
4285
4274
|
styled.css `
|
|
@@ -4430,7 +4419,8 @@ function TextField(props) {
|
|
|
4430
4419
|
error: props.error,
|
|
4431
4420
|
multiline: props.multiline,
|
|
4432
4421
|
width: props.width,
|
|
4433
|
-
height: props.height
|
|
4422
|
+
height: props.height,
|
|
4423
|
+
isValue: !!props?.value
|
|
4434
4424
|
}, children: jsxRuntime.jsxs("div", { style: props.style, className: props.className, children: [jsxRuntime.jsx(Label$2, { htmlFor: props.id, isClicked: click, children: props.label }), jsxRuntime.jsxs(TextFieldContainer, { onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), onClick: () => showBorderAfterClick(), isClicked: click, isHelpTextBox: props.isHelperTextBox, inputBackground: props.inputBackground, style: props?.containerTextFieldStyle, children: [props.startIcon && !props.multiline && jsxRuntime.jsx(StartIcon, { children: props.startIcon }), jsxRuntime.jsx(TextField$1, { ref: props.textRef, onFocus: () => setFocus(true), onBlur: () => setFocus(false), id: props.id, placeholder: props.placeholder || `${t('globals.typeHere')}...`, as: props.multiline ? 'textarea' : 'input', type: inputType, value: props.value, disabled: props.disabled, onChange: props.onChange, name: props.name, required: props.required, defaultValue: props.defaultValue, maxLength: props.maxLength, style: props?.textFieldStyle }), props.endIcon && !props.multiline && !!props.endIcon && (jsxRuntime.jsx(InputIconButton, { onClick: props.handleClickEndIcon, children: endIconState }))] }), props.helperText && jsxRuntime.jsx(HelperText$3, { children: props.helperText }), props.helperTextBox && jsxRuntime.jsx(HelperTextBox, { helperTextBox: props.helperTextBox })] }) }));
|
|
4435
4425
|
}
|
|
4436
4426
|
|
|
@@ -9682,7 +9672,7 @@ const ContainerIcon$2 = styled__default["default"].div `
|
|
|
9682
9672
|
`;
|
|
9683
9673
|
const InputSearchWrapper$1 = styled__default["default"].div `
|
|
9684
9674
|
height: 48px;
|
|
9685
|
-
background-color: ${({ theme, inputSearchNewStyle, darkMode }) => darkMode ? theme.colors.neutralsGrey2 : (inputSearchNewStyle ? theme.colors.
|
|
9675
|
+
background-color: ${({ theme, inputSearchNewStyle, darkMode }) => darkMode ? theme.colors.neutralsGrey2 : (inputSearchNewStyle ? theme.colors.inputBg : '#ebeded')};
|
|
9686
9676
|
|
|
9687
9677
|
border-radius: 8px;
|
|
9688
9678
|
|
|
@@ -9691,9 +9681,14 @@ const InputSearchWrapper$1 = styled__default["default"].div `
|
|
|
9691
9681
|
align-items: center;
|
|
9692
9682
|
|
|
9693
9683
|
border: 1px solid
|
|
9694
|
-
${({ isHover, theme, inputSearchNewStyle, darkMode }) => isHover ? theme.colors.
|
|
9695
|
-
|
|
9696
|
-
|
|
9684
|
+
${({ isHover, theme, inputSearchNewStyle, darkMode }) => isHover ? theme.colors.inputBorderFocus : inputSearchNewStyle ? theme.colors.inputBorder : darkMode ? theme.colors.neutralsGrey2 : '#E0E0E0'};
|
|
9685
|
+
|
|
9686
|
+
:hover {
|
|
9687
|
+
border: 2px solid ${({ theme, inputSearchNewStyle }) => inputSearchNewStyle ? theme.colors.inputBorderFocus : undefined};
|
|
9688
|
+
}
|
|
9689
|
+
:focus-within {
|
|
9690
|
+
background-color: ${({ theme, inputSearchNewStyle, darkMode, isValue }) => inputSearchNewStyle && !darkMode && isValue ? theme.colors.inputBg : theme.colors.inputFocusBg};
|
|
9691
|
+
}
|
|
9697
9692
|
`;
|
|
9698
9693
|
const InputText$3 = styled__default["default"].input `
|
|
9699
9694
|
display: flex;
|
|
@@ -9744,7 +9739,7 @@ const ButtonAction$1 = styled__default["default"].div `
|
|
|
9744
9739
|
function SearchField({ label, hasSearchIcon, placeholder, value, onChange, textButton, className, handleClickButton, isButton, id, style, inputSearchNewStyle, darkMode }) {
|
|
9745
9740
|
const [actionAreaInput, setActionAreaInput] = React.useState(false);
|
|
9746
9741
|
const [inputOnFocus, setInputOnFocus] = React.useState(false);
|
|
9747
|
-
return (jsxRuntime.jsx(styled.ThemeProvider, { theme: FRSTTheme, children: jsxRuntime.jsxs(Container$l, { style: style, id: "container-search-field", className: className, onMouseOver: () => setActionAreaInput(true), onMouseOut: () => setActionAreaInput(false), onFocus: () => setInputOnFocus(true), onBlur: () => setInputOnFocus(false), children: [label && (jsxRuntime.jsxs(LabelField, { isHover: actionAreaInput, isOnFocus: inputOnFocus, children: [' ', label, ' '] })), jsxRuntime.jsxs(InputSearchWrapper$1, { isHover: actionAreaInput, isOnFocus: inputOnFocus, inputSearchNewStyle: inputSearchNewStyle, darkMode: darkMode, children: [hasSearchIcon && (jsxRuntime.jsxs(ContainerIcon$2, { children: [' ', jsxRuntime.jsx(SearchIcon, { fill: darkMode ? "#9C9C9C" : "#222222" }), ' '] })), jsxRuntime.jsx(InputText$3, { inputSearchNewStyle: inputSearchNewStyle, placeholder: placeholder, onChange: onChange, value: value, onKeyDown: (event) => {
|
|
9742
|
+
return (jsxRuntime.jsx(styled.ThemeProvider, { theme: FRSTTheme, children: jsxRuntime.jsxs(Container$l, { style: style, id: "container-search-field", className: className, onMouseOver: () => setActionAreaInput(true), onMouseOut: () => setActionAreaInput(false), onFocus: () => setInputOnFocus(true), onBlur: () => setInputOnFocus(false), children: [label && (jsxRuntime.jsxs(LabelField, { isHover: actionAreaInput, isOnFocus: inputOnFocus, children: [' ', label, ' '] })), jsxRuntime.jsxs(InputSearchWrapper$1, { isHover: actionAreaInput, isOnFocus: inputOnFocus, inputSearchNewStyle: inputSearchNewStyle, darkMode: darkMode, isValue: !!value, children: [hasSearchIcon && (jsxRuntime.jsxs(ContainerIcon$2, { children: [' ', jsxRuntime.jsx(SearchIcon, { fill: darkMode ? "#9C9C9C" : "#222222" }), ' '] })), jsxRuntime.jsx(InputText$3, { inputSearchNewStyle: inputSearchNewStyle, placeholder: placeholder, onChange: onChange, value: value, onKeyDown: (event) => {
|
|
9748
9743
|
if (event.key === 'Enter') {
|
|
9749
9744
|
handleClickButton(event);
|
|
9750
9745
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form-elements/textfield/index.tsx"],"names":[],"mappings":";AAIA,OAAO,4BAA4B,CAAA;AAInC,KAAK,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAExD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAChD;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form-elements/textfield/index.tsx"],"names":[],"mappings":";AAIA,OAAO,4BAA4B,CAAA;AAInC,KAAK,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAExD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAChD;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,2CAgFtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textFieldStyle.d.ts","sourceRoot":"","sources":["../../../../../src/components/form-elements/textfield/textFieldStyle.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B;AAoBD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"textFieldStyle.d.ts","sourceRoot":"","sources":["../../../../../src/components/form-elements/textfield/textFieldStyle.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B;AAoBD,eAAO,MAAM,kBAAkB,gFA4D9B,CAAA;AAED,eAAO,MAAM,SAAS;QAGX,MAAM;SAuChB,CAAA;AAED,eAAO,MAAM,KAAK;;SA+BjB,CAAA;AAED,eAAO,MAAM,UAAU,qEAatB,CAAA;AAED,eAAO,MAAM,eAAe,uEAgB3B,CAAA;AAED,eAAO,MAAM,SAAS,qEAErB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/search-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAA;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,aAAa,EACb,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,EAAE,EACF,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACT,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/search-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAA;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,aAAa,EACb,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,EAAE,EACF,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACT,EAAE,YAAY,2CAmDd"}
|
|
@@ -3,6 +3,7 @@ interface ISearchField {
|
|
|
3
3
|
isOnFocus?: boolean;
|
|
4
4
|
inputSearchNewStyle?: boolean;
|
|
5
5
|
darkMode?: boolean;
|
|
6
|
+
isValue?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
8
9
|
export declare const LabelField: import("styled-components").StyledComponent<"label", any, ISearchField, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchFieldStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/search-field/searchFieldStyles.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"searchFieldStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/search-field/searchFieldStyles.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,SAAS,oEAGrB,CAAA;AAED,eAAO,MAAM,UAAU,gFActB,CAAA;AAED,eAAO,MAAM,aAAa,oEAMzB,CAAA;AAED,eAAO,MAAM,kBAAkB,8EAoB9B,CAAA;AAED,eAAO,MAAM,SAAS,gFAwBrB,CAAA;AAED,eAAO,MAAM,YAAY,oEAoBxB,CAAA"}
|
|
@@ -10,6 +10,10 @@ export declare const DesignTokens: {
|
|
|
10
10
|
linkHover: string;
|
|
11
11
|
linkOnfocus: string;
|
|
12
12
|
linkPressed: string;
|
|
13
|
+
inputBg: string;
|
|
14
|
+
inputBorder: string;
|
|
15
|
+
inputBorderFocus: string;
|
|
16
|
+
inputFocusBg: string;
|
|
13
17
|
linkError: string;
|
|
14
18
|
inputError: string;
|
|
15
19
|
inputSelect: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0OxB,CAAA"}
|