nitro-web 0.2.19 → 0.2.20
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.
|
@@ -102,8 +102,8 @@ function SelectBase<IsMulti extends boolean = false>({
|
|
|
102
102
|
// Combobox: free text with a suggestions dropdown, the typed text is the value (full-width text-input feel)
|
|
103
103
|
const isCombobox = mode === 'combobox'
|
|
104
104
|
|
|
105
|
-
// Multi-selects collapse tags to 2 lines by default
|
|
106
|
-
maxLines = maxLines
|
|
105
|
+
// Multi-selects collapse tags to 2 lines by default, pass 0 (or null) to turn it off
|
|
106
|
+
maxLines = maxLines === undefined ? (props.isMulti ? 2 : undefined) : maxLines
|
|
107
107
|
|
|
108
108
|
// Get value from value or state
|
|
109
109
|
if (typeof props.value !== 'undefined') value = props.value
|
|
@@ -161,7 +161,9 @@ function SelectBase<IsMulti extends boolean = false>({
|
|
|
161
161
|
}, [classNamesProp, isCombobox])
|
|
162
162
|
|
|
163
163
|
return (
|
|
164
|
-
<div
|
|
164
|
+
<div
|
|
165
|
+
css={style}
|
|
166
|
+
class={'mt-2.5 mb-6 min-w-0 contain-inline-size ' + twMerge(`mt-input-before mb-input-after nitro-select ${className || ''}`)}
|
|
165
167
|
// Combobox: clicking the (already focused) control reopens the menu after a selection
|
|
166
168
|
onMouseDown={isCombobox ? () => setPickedFromMenu(false) : undefined}>
|
|
167
169
|
<ReactSelect
|
|
@@ -222,7 +224,9 @@ function SelectBase<IsMulti extends boolean = false>({
|
|
|
222
224
|
classNames={useMemo(() => ({
|
|
223
225
|
// Input container
|
|
224
226
|
control: (p) => getSelectClassName({ name: 'control', hasError: !!error, ...p, classNames: classNames }),
|
|
225
|
-
|
|
227
|
+
// Clearable: zero right padding (X is padded itself). Dont twMerge: valueContainer keeps optional px-input-x.
|
|
228
|
+
valueContainer: () => getSelectClassName({ name: 'valueContainer', classNames: classNames })
|
|
229
|
+
+ ((props.isClearable ?? props.isMulti) ? ' pr-0.5' : ''), // we rely on the clearable x icon padding
|
|
226
230
|
// Input container objects
|
|
227
231
|
input: () => getSelectClassName({ name: 'input', hasError: !!error, classNames: classNames }),
|
|
228
232
|
multiValue: () => getSelectClassName({ name: 'multiValue', classNames: classNames }),
|
|
@@ -243,7 +247,7 @@ function SelectBase<IsMulti extends boolean = false>({
|
|
|
243
247
|
option: (p) => getSelectClassName({ name: 'option', ...p, classNames: classNames }),
|
|
244
248
|
// Nitro specific
|
|
245
249
|
flag: () => getSelectClassName({ name: 'flag', classNames: classNames }),
|
|
246
|
-
}), [!!error, classNames])}
|
|
250
|
+
}), [!!error, classNames, props.isClearable, props.isMulti])}
|
|
247
251
|
components={{
|
|
248
252
|
Control,
|
|
249
253
|
SingleValue,
|
|
@@ -349,15 +353,12 @@ function ValueContainer({ children, ...props}: ValueContainerProps) {
|
|
|
349
353
|
return <LimitedValueContainer chips={chips} rest={kids.slice(1)} maxLines={maxLines} {...props} />
|
|
350
354
|
}
|
|
351
355
|
|
|
352
|
-
//
|
|
353
|
-
// last stay fixed; the last row is a single no-wrap line, so as the input grows it pushes that row's tags
|
|
354
|
-
// off to the left (for maxLines=1 the last row is the only row).
|
|
356
|
+
// maxLines multi-select: fixed upper rows, scrolling last-row chips, "+N" for the rest
|
|
355
357
|
function LimitedValueContainer({ chips, rest, maxLines, ...props }:
|
|
356
358
|
Omit<ValueContainerProps, 'children'> & { chips: ReactNode[], rest: ReactNode[], maxLines: number }) {
|
|
357
|
-
const sentinel = useRef<HTMLSpanElement>(null)
|
|
358
|
-
const lastRow = useRef<HTMLDivElement>(null)
|
|
359
|
+
const sentinel = useRef<HTMLSpanElement>(null)
|
|
360
|
+
const lastRow = useRef<HTMLDivElement>(null)
|
|
359
361
|
const widthRef = useRef(0)
|
|
360
|
-
// upper = tags on the fixed rows above the last; last = tags on the scrolling last row
|
|
361
362
|
const [split, setSplit] = useState<{ upper: number, last: number } | null>(null)
|
|
362
363
|
|
|
363
364
|
// Re-measure on width or chip-count changes
|
|
@@ -374,7 +375,8 @@ function LimitedValueContainer({ chips, rest, maxLines, ...props }:
|
|
|
374
375
|
useLayoutEffect(() => setSplit(null), [chips.length])
|
|
375
376
|
|
|
376
377
|
// Measure the natural wrap of all tags, keep maxLines rows: rows above the last stay fixed, the last row
|
|
377
|
-
// scrolls, and anything past maxLines rows becomes the "+N" count
|
|
378
|
+
// scrolls, and anything past maxLines rows becomes the "+N" count. Peel last-row chips so "+N" fits
|
|
379
|
+
// (contentRect already excludes padding; clear/X shrinks this via the indicators column).
|
|
378
380
|
useLayoutEffect(() => {
|
|
379
381
|
if (split !== null) return
|
|
380
382
|
const parent = sentinel.current?.parentElement
|
|
@@ -384,11 +386,20 @@ function LimitedValueContainer({ chips, rest, maxLines, ...props }:
|
|
|
384
386
|
const tops = [...new Set(nodes.map((n) => Math.round(n.offsetTop)))].sort((a, b) => a - b)
|
|
385
387
|
const lastTop = tops[Math.min(maxLines, tops.length) - 1] // top of the last visible row
|
|
386
388
|
const upper = nodes.filter((n) => Math.round(n.offsetTop) < lastTop).length
|
|
387
|
-
|
|
389
|
+
let last = nodes.filter((n) => Math.round(n.offsetTop) === lastTop).length
|
|
390
|
+
const gap = 4 // gap-1
|
|
391
|
+
const badgeW = 30 // "+N"
|
|
392
|
+
const available = parent.clientWidth - parseFloat(getComputedStyle(parent).paddingLeft)
|
|
393
|
+
- parseFloat(getComputedStyle(parent).paddingRight)
|
|
394
|
+
while (last > 0 && nodes.length - upper - last > 0) {
|
|
395
|
+
const chipsW = nodes.slice(upper, upper + last).reduce((s, n, i) => s + n.offsetWidth + (i ? gap : 0), 0)
|
|
396
|
+
if (chipsW + gap + badgeW <= available) break
|
|
397
|
+
last -= 1
|
|
398
|
+
}
|
|
388
399
|
setSplit({ upper, last })
|
|
389
400
|
}, [split, chips.length, maxLines])
|
|
390
401
|
|
|
391
|
-
//
|
|
402
|
+
// Scroll chips toward the input while typing
|
|
392
403
|
useLayoutEffect(() => {
|
|
393
404
|
const el = lastRow.current
|
|
394
405
|
if (el) el.scrollLeft = el.querySelector('input')?.value ? el.scrollWidth : 0
|
|
@@ -409,7 +420,7 @@ function LimitedValueContainer({ chips, rest, maxLines, ...props }:
|
|
|
409
420
|
<div ref={lastRow} class="w-full min-w-0 flex flex-nowrap items-center gap-1 overflow-hidden [&>*]:shrink-0">
|
|
410
421
|
{chips.slice(split.upper, split.upper + split.last)}
|
|
411
422
|
{hidden > 0 && (
|
|
412
|
-
<span class="self-stretch flex items-center rounded bg-gray-100 text-gray-500 text-xs px-
|
|
423
|
+
<span class="self-stretch flex items-center rounded bg-gray-100 text-gray-500 text-xs px-1.5 whitespace-nowrap">
|
|
413
424
|
+{hidden}
|
|
414
425
|
</span>
|
|
415
426
|
)}
|
|
@@ -10,20 +10,20 @@ import React from 'react'
|
|
|
10
10
|
|
|
11
11
|
const perPage = 10
|
|
12
12
|
const allGroups = [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
'Links',
|
|
14
|
+
'Dropdowns',
|
|
15
|
+
'Filters',
|
|
16
|
+
'Button Colors & Sizes',
|
|
17
|
+
'Button Icons',
|
|
18
|
+
'Loading Elements',
|
|
19
|
+
'Varients',
|
|
20
20
|
'Selects',
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
'Inputs',
|
|
22
|
+
'Date Inputs',
|
|
23
|
+
'File Inputs & Calendar & Time',
|
|
24
|
+
'Tables',
|
|
25
|
+
'Modals & Notifications',
|
|
26
|
+
'Custom Components',
|
|
27
27
|
] as const
|
|
28
28
|
|
|
29
29
|
const statusColors = function(status: string) {
|
|
@@ -67,6 +67,7 @@ export function Styleguide({ className, elements, children, currencies, groups }
|
|
|
67
67
|
amount: 100,
|
|
68
68
|
brandColor: '#F3CA5F',
|
|
69
69
|
colorsMulti: ['blue', 'green', 'yellow', 'red', 'orange', 'purple'],
|
|
70
|
+
colorsMultiFlex: ['blue', 'green', 'yellow', 'red', 'orange', 'purple'],
|
|
70
71
|
country: 'cd',
|
|
71
72
|
currency: 'nzd',
|
|
72
73
|
percent: 1250,
|
|
@@ -422,8 +423,8 @@ export function Styleguide({ className, elements, children, currencies, groups }
|
|
|
422
423
|
{visibleGroups.includes('Selects') && (
|
|
423
424
|
<div>
|
|
424
425
|
<h2 class="h3">Selects</h2>
|
|
425
|
-
<div class="
|
|
426
|
-
<div>
|
|
426
|
+
<div class="flex gap-x-6">
|
|
427
|
+
<div class="flex-1">
|
|
427
428
|
<label for="action">Default</label>
|
|
428
429
|
<Select
|
|
429
430
|
// menuIsOpen={true}
|
|
@@ -435,12 +436,13 @@ export function Styleguide({ className, elements, children, currencies, groups }
|
|
|
435
436
|
], [])}
|
|
436
437
|
/>
|
|
437
438
|
</div>
|
|
438
|
-
<div>
|
|
439
|
+
<div class="flex-1">
|
|
440
|
+
{/* Testing: This is in a flexbox to correctly evaluate dynamic parent container size issues */}
|
|
439
441
|
<label for="colorsMulti">Mutli Select</label>
|
|
440
442
|
<Select
|
|
441
443
|
name="colorsMulti"
|
|
442
444
|
isMulti={true}
|
|
443
|
-
|
|
445
|
+
maxLines={1}
|
|
444
446
|
state={state}
|
|
445
447
|
options={useMemo(() => [
|
|
446
448
|
{ value: 'blue', label: 'Blue' },
|
|
@@ -457,7 +459,7 @@ export function Styleguide({ className, elements, children, currencies, groups }
|
|
|
457
459
|
onChange={(e) => onChange(e, setState)}
|
|
458
460
|
/>
|
|
459
461
|
</div>
|
|
460
|
-
<div>
|
|
462
|
+
<div class="flex-1">
|
|
461
463
|
<label for="country">Countries</label>
|
|
462
464
|
<Select
|
|
463
465
|
// https://github.com/lipis/flag-icons
|
|
@@ -470,6 +472,8 @@ export function Styleguide({ className, elements, children, currencies, groups }
|
|
|
470
472
|
// classNames={{ flag: () => 'mr-4' }}
|
|
471
473
|
/>
|
|
472
474
|
</div>
|
|
475
|
+
</div>
|
|
476
|
+
<div class="grid grid-cols-3 lg:grid-cols-3 gap-x-6">
|
|
473
477
|
<div>
|
|
474
478
|
<label for="customer">List Item with Action</label>
|
|
475
479
|
<Select
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitro-web",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.20",
|
|
4
4
|
"repository": "github:boycce/nitro-web",
|
|
5
5
|
"homepage": "https://boycce.github.io/nitro-web/",
|
|
6
6
|
"description": "Nitro is a battle-tested, modular base project to turbocharge your projects, styled using Tailwind 🚀",
|
package/server/constants.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
// --- Enums ------------------------------------
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef {'af'|'al'|'dz'|'ad'|'ao'|'ag'|'ar'|'am'|'au'|'at'|'az'|'bs'|'bh'|'bd'|'bb'|'by'|'be'|'bz'|
|
|
5
|
-
* '
|
|
6
|
-
* '
|
|
7
|
-
* '
|
|
8
|
-
* '
|
|
9
|
-
* '
|
|
10
|
-
* '
|
|
11
|
-
* '
|
|
4
|
+
* @typedef {'af'|'ax'|'al'|'dz'|'as'|'ad'|'ao'|'ai'|'aq'|'ag'|'ar'|'am'|'aw'|'au'|'at'|'az'|'bs'|'bh'|'bd'|'bb'|'by'|'be'|'bz'|
|
|
5
|
+
* 'bj'|'bm'|'bt'|'bo'|'bq'|'ba'|'bw'|'br'|'vg'|'bn'|'bg'|'bf'|'bi'|'cv'|'kh'|'cm'|'ca'|'ky'|'cf'|'td'|'cl'|'cn'|'cx'|
|
|
6
|
+
* 'cc'|'co'|'km'|'cg'|'ck'|'cr'|'ci'|'hr'|'cu'|'cw'|'cy'|'cz'|'cd'|'dk'|'dj'|'dm'|'do'|'ec'|'eg'|'sv'|'gq'|'er'|'ee'|
|
|
7
|
+
* 'sz'|'et'|'fk'|'fo'|'fj'|'fi'|'fr'|'gf'|'pf'|'tf'|'ga'|'gm'|'ge'|'de'|'gh'|'gi'|'gr'|'gl'|'gd'|'gp'|'gu'|'gt'|'gg'|
|
|
8
|
+
* 'gn'|'gw'|'gy'|'ht'|'hm'|'hn'|'hk'|'hu'|'is'|'in'|'id'|'ir'|'iq'|'ie'|'im'|'il'|'it'|'jm'|'jp'|'je'|'jo'|'kz'|'ke'|
|
|
9
|
+
* 'ki'|'kw'|'kg'|'la'|'lv'|'lb'|'ls'|'lr'|'ly'|'li'|'lt'|'lu'|'mo'|'mg'|'mw'|'my'|'mv'|'ml'|'mt'|'mh'|'mq'|'mr'|'mu'|
|
|
10
|
+
* 'yt'|'mx'|'fm'|'md'|'mc'|'mn'|'me'|'ms'|'ma'|'mz'|'mm'|'na'|'nr'|'np'|'nl'|'nc'|'nz'|'ni'|'ne'|'ng'|'nu'|'nf'|'kp'|
|
|
11
|
+
* 'mk'|'mp'|'no'|'om'|'pk'|'pw'|'pa'|'pg'|'py'|'pe'|'ph'|'pn'|'pl'|'pt'|'pr'|'qa'|'re'|'ro'|'ru'|'rw'|'bl'|'sh'|'kn'|
|
|
12
|
+
* 'lc'|'mf'|'pm'|'vc'|'ws'|'sm'|'st'|'sa'|'sn'|'rs'|'sc'|'sl'|'sg'|'sx'|'sk'|'si'|'sb'|'so'|'za'|'gs'|'kr'|'ss'|'es'|
|
|
13
|
+
* 'lk'|'sd'|'sr'|'sj'|'se'|'ch'|'sy'|'tw'|'tj'|'tz'|'th'|'tl'|'tg'|'tk'|'to'|'tt'|'tn'|'tr'|'tm'|'tc'|'tv'|'ug'|'ua'|
|
|
14
|
+
* 'ae'|'gb'|'us'|'um'|'uy'|'vi'|'uz'|'vu'|'va'|'ve'|'vn'|'wf'|'eh'|'ye'|'zm'|'zw'} Country
|
|
12
15
|
* @typedef {'nzd'|'aud'|'usd'|'gbp'|'btc'|'aed'|'ars'|'bdt'|'bhd'|'brl'|'cad'|'chf'|'clp'|'cny'|'cop'|'czk'|'dkk'|'egp'|'eur'|
|
|
13
16
|
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'pkr'|
|
|
14
17
|
* 'pln'|'qar'|'ron'|'rub'|'sar'|'sek'|'sgd'|'thb'|'try'|'twd'|'uah'|'vnd'|'zar'} Currency
|
|
@@ -73,13 +76,18 @@ export const currencies = {
|
|
|
73
76
|
/** @type {{ [key in Country]: { name: string, flag: string } }} */
|
|
74
77
|
export const countries = {
|
|
75
78
|
af: { name: 'Afghanistan', flag: '🇦🇫' },
|
|
79
|
+
ax: { name: 'Aland Islands', flag: '🇦🇽' },
|
|
76
80
|
al: { name: 'Albania', flag: '🇦🇱' },
|
|
77
81
|
dz: { name: 'Algeria', flag: '🇩🇿' },
|
|
82
|
+
as: { name: 'American Samoa', flag: '🇦🇸' },
|
|
78
83
|
ad: { name: 'Andorra', flag: '🇦🇩' },
|
|
79
84
|
ao: { name: 'Angola', flag: '🇦🇴' },
|
|
85
|
+
ai: { name: 'Anguilla', flag: '🇦🇮' },
|
|
86
|
+
aq: { name: 'Antarctica', flag: '🇦🇶' },
|
|
80
87
|
ag: { name: 'Antigua and Barbuda', flag: '🇦🇬' },
|
|
81
88
|
ar: { name: 'Argentina', flag: '🇦🇷' },
|
|
82
89
|
am: { name: 'Armenia', flag: '🇦🇲' },
|
|
90
|
+
aw: { name: 'Aruba', flag: '🇦🇼' },
|
|
83
91
|
au: { name: 'Australia', flag: '🇦🇺' },
|
|
84
92
|
at: { name: 'Austria', flag: '🇦🇹' },
|
|
85
93
|
az: { name: 'Azerbaijan', flag: '🇦🇿' },
|
|
@@ -91,11 +99,14 @@ export const countries = {
|
|
|
91
99
|
be: { name: 'Belgium', flag: '🇧🇪' },
|
|
92
100
|
bz: { name: 'Belize', flag: '🇧🇿' },
|
|
93
101
|
bj: { name: 'Benin', flag: '🇧🇯' },
|
|
102
|
+
bm: { name: 'Bermuda', flag: '🇧🇲' },
|
|
94
103
|
bt: { name: 'Bhutan', flag: '🇧🇹' },
|
|
95
104
|
bo: { name: 'Bolivia', flag: '🇧🇴' },
|
|
105
|
+
bq: { name: 'Bonaire, Sint Eustatius and Saba', flag: '🇧🇶' },
|
|
96
106
|
ba: { name: 'Bosnia and Herzegovina', flag: '🇧🇦' },
|
|
97
107
|
bw: { name: 'Botswana', flag: '🇧🇼' },
|
|
98
108
|
br: { name: 'Brazil', flag: '🇧🇷' },
|
|
109
|
+
vg: { name: 'British Virgin Islands', flag: '🇻🇬' },
|
|
99
110
|
bn: { name: 'Brunei', flag: '🇧🇳' },
|
|
100
111
|
bg: { name: 'Bulgaria', flag: '🇧🇬' },
|
|
101
112
|
bf: { name: 'Burkina Faso', flag: '🇧🇫' },
|
|
@@ -104,16 +115,22 @@ export const countries = {
|
|
|
104
115
|
kh: { name: 'Cambodia', flag: '🇰🇭' },
|
|
105
116
|
cm: { name: 'Cameroon', flag: '🇨🇲' },
|
|
106
117
|
ca: { name: 'Canada', flag: '🇨🇦' },
|
|
118
|
+
ky: { name: 'Cayman Islands', flag: '🇰🇾' },
|
|
107
119
|
cf: { name: 'Central African Republic', flag: '🇨🇫' },
|
|
108
120
|
td: { name: 'Chad', flag: '🇹🇩' },
|
|
109
121
|
cl: { name: 'Chile', flag: '🇨🇱' },
|
|
110
122
|
cn: { name: 'China', flag: '🇨🇳' },
|
|
123
|
+
cx: { name: 'Christmas Island', flag: '🇨🇽' },
|
|
124
|
+
cc: { name: 'Cocos (Keeling) Islands', flag: '🇨🇨' },
|
|
111
125
|
co: { name: 'Colombia', flag: '🇨🇴' },
|
|
112
126
|
km: { name: 'Comoros', flag: '🇰🇲' },
|
|
113
127
|
cg: { name: 'Congo (Congo-Brazzaville)', flag: '🇨🇬' },
|
|
128
|
+
ck: { name: 'Cook Islands', flag: '🇨🇰' },
|
|
114
129
|
cr: { name: 'Costa Rica', flag: '🇨🇷' },
|
|
130
|
+
ci: { name: "Cote d'Ivoire", flag: '🇨🇮' },
|
|
115
131
|
hr: { name: 'Croatia', flag: '🇭🇷' },
|
|
116
132
|
cu: { name: 'Cuba', flag: '🇨🇺' },
|
|
133
|
+
cw: { name: 'Curacao', flag: '🇨🇼' },
|
|
117
134
|
cy: { name: 'Cyprus', flag: '🇨🇾' },
|
|
118
135
|
cz: { name: 'Czechia', flag: '🇨🇿' },
|
|
119
136
|
cd: { name: 'Democratic Republic of the Congo', flag: '🇨🇩' },
|
|
@@ -129,22 +146,34 @@ export const countries = {
|
|
|
129
146
|
ee: { name: 'Estonia', flag: '🇪🇪' },
|
|
130
147
|
sz: { name: 'Eswatini', flag: '🇸🇿' },
|
|
131
148
|
et: { name: 'Ethiopia', flag: '🇪🇹' },
|
|
149
|
+
fk: { name: 'Falkland Islands', flag: '🇫🇰' },
|
|
150
|
+
fo: { name: 'Faroe Islands', flag: '🇫🇴' },
|
|
132
151
|
fj: { name: 'Fiji', flag: '🇫🇯' },
|
|
133
152
|
fi: { name: 'Finland', flag: '🇫🇮' },
|
|
134
153
|
fr: { name: 'France', flag: '🇫🇷' },
|
|
154
|
+
gf: { name: 'French Guiana', flag: '🇬🇫' },
|
|
155
|
+
pf: { name: 'French Polynesia', flag: '🇵🇫' },
|
|
156
|
+
tf: { name: 'French Southern Territories', flag: '🇹🇫' },
|
|
135
157
|
ga: { name: 'Gabon', flag: '🇬🇦' },
|
|
136
158
|
gm: { name: 'Gambia', flag: '🇬🇲' },
|
|
137
159
|
ge: { name: 'Georgia', flag: '🇬🇪' },
|
|
138
160
|
de: { name: 'Germany', flag: '🇩🇪' },
|
|
139
161
|
gh: { name: 'Ghana', flag: '🇬🇭' },
|
|
162
|
+
gi: { name: 'Gibraltar', flag: '🇬🇮' },
|
|
140
163
|
gr: { name: 'Greece', flag: '🇬🇷' },
|
|
164
|
+
gl: { name: 'Greenland', flag: '🇬🇱' },
|
|
141
165
|
gd: { name: 'Grenada', flag: '🇬🇩' },
|
|
166
|
+
gp: { name: 'Guadeloupe', flag: '🇬🇵' },
|
|
167
|
+
gu: { name: 'Guam', flag: '🇬🇺' },
|
|
142
168
|
gt: { name: 'Guatemala', flag: '🇬🇹' },
|
|
169
|
+
gg: { name: 'Guernsey', flag: '🇬🇬' },
|
|
143
170
|
gn: { name: 'Guinea', flag: '🇬🇳' },
|
|
144
171
|
gw: { name: 'Guinea-Bissau', flag: '🇬🇼' },
|
|
145
172
|
gy: { name: 'Guyana', flag: '🇬🇾' },
|
|
146
173
|
ht: { name: 'Haiti', flag: '🇭🇹' },
|
|
174
|
+
hm: { name: 'Heard Island and McDonald Islands', flag: '🇭🇲' },
|
|
147
175
|
hn: { name: 'Honduras', flag: '🇭🇳' },
|
|
176
|
+
hk: { name: 'Hong Kong', flag: '🇭🇰' },
|
|
148
177
|
hu: { name: 'Hungary', flag: '🇭🇺' },
|
|
149
178
|
is: { name: 'Iceland', flag: '🇮🇸' },
|
|
150
179
|
in: { name: 'India', flag: '🇮🇳' },
|
|
@@ -152,10 +181,12 @@ export const countries = {
|
|
|
152
181
|
ir: { name: 'Iran', flag: '🇮🇷' },
|
|
153
182
|
iq: { name: 'Iraq', flag: '🇮🇶' },
|
|
154
183
|
ie: { name: 'Ireland', flag: '🇮🇪' },
|
|
184
|
+
im: { name: 'Isle of Man', flag: '🇮🇲' },
|
|
155
185
|
il: { name: 'Israel', flag: '🇮🇱' },
|
|
156
186
|
it: { name: 'Italy', flag: '🇮🇹' },
|
|
157
187
|
jm: { name: 'Jamaica', flag: '🇯🇲' },
|
|
158
188
|
jp: { name: 'Japan', flag: '🇯🇵' },
|
|
189
|
+
je: { name: 'Jersey', flag: '🇯🇪' },
|
|
159
190
|
jo: { name: 'Jordan', flag: '🇯🇴' },
|
|
160
191
|
kz: { name: 'Kazakhstan', flag: '🇰🇿' },
|
|
161
192
|
ke: { name: 'Kenya', flag: '🇰🇪' },
|
|
@@ -171,6 +202,7 @@ export const countries = {
|
|
|
171
202
|
li: { name: 'Liechtenstein', flag: '🇱🇮' },
|
|
172
203
|
lt: { name: 'Lithuania', flag: '🇱🇹' },
|
|
173
204
|
lu: { name: 'Luxembourg', flag: '🇱🇺' },
|
|
205
|
+
mo: { name: 'Macao', flag: '🇲🇴' },
|
|
174
206
|
mg: { name: 'Madagascar', flag: '🇲🇬' },
|
|
175
207
|
mw: { name: 'Malawi', flag: '🇲🇼' },
|
|
176
208
|
my: { name: 'Malaysia', flag: '🇲🇾' },
|
|
@@ -178,14 +210,17 @@ export const countries = {
|
|
|
178
210
|
ml: { name: 'Mali', flag: '🇲🇱' },
|
|
179
211
|
mt: { name: 'Malta', flag: '🇲🇹' },
|
|
180
212
|
mh: { name: 'Marshall Islands', flag: '🇲🇭' },
|
|
213
|
+
mq: { name: 'Martinique', flag: '🇲🇶' },
|
|
181
214
|
mr: { name: 'Mauritania', flag: '🇲🇷' },
|
|
182
215
|
mu: { name: 'Mauritius', flag: '🇲🇺' },
|
|
216
|
+
yt: { name: 'Mayotte', flag: '🇾🇹' },
|
|
183
217
|
mx: { name: 'Mexico', flag: '🇲🇽' },
|
|
184
218
|
fm: { name: 'Micronesia', flag: '🇫🇲' },
|
|
185
219
|
md: { name: 'Moldova', flag: '🇲🇩' },
|
|
186
220
|
mc: { name: 'Monaco', flag: '🇲🇨' },
|
|
187
221
|
mn: { name: 'Mongolia', flag: '🇲🇳' },
|
|
188
222
|
me: { name: 'Montenegro', flag: '🇲🇪' },
|
|
223
|
+
ms: { name: 'Montserrat', flag: '🇲🇸' },
|
|
189
224
|
ma: { name: 'Morocco', flag: '🇲🇦' },
|
|
190
225
|
mz: { name: 'Mozambique', flag: '🇲🇿' },
|
|
191
226
|
mm: { name: 'Myanmar', flag: '🇲🇲' },
|
|
@@ -193,12 +228,16 @@ export const countries = {
|
|
|
193
228
|
nr: { name: 'Nauru', flag: '🇳🇷' },
|
|
194
229
|
np: { name: 'Nepal', flag: '🇳🇵' },
|
|
195
230
|
nl: { name: 'Netherlands', flag: '🇳🇱' },
|
|
231
|
+
nc: { name: 'New Caledonia', flag: '🇳🇨' },
|
|
196
232
|
nz: { name: 'New Zealand', flag: '🇳🇿' },
|
|
197
233
|
ni: { name: 'Nicaragua', flag: '🇳🇮' },
|
|
198
234
|
ne: { name: 'Niger', flag: '🇳🇪' },
|
|
199
235
|
ng: { name: 'Nigeria', flag: '🇳🇬' },
|
|
236
|
+
nu: { name: 'Niue', flag: '🇳🇺' },
|
|
237
|
+
nf: { name: 'Norfolk Island', flag: '🇳🇫' },
|
|
200
238
|
kp: { name: 'North Korea', flag: '🇰🇵' },
|
|
201
239
|
mk: { name: 'North Macedonia', flag: '🇲🇰' },
|
|
240
|
+
mp: { name: 'Northern Mariana Islands', flag: '🇲🇵' },
|
|
202
241
|
no: { name: 'Norway', flag: '🇳🇴' },
|
|
203
242
|
om: { name: 'Oman', flag: '🇴🇲' },
|
|
204
243
|
pk: { name: 'Pakistan', flag: '🇵🇰' },
|
|
@@ -208,14 +247,21 @@ export const countries = {
|
|
|
208
247
|
py: { name: 'Paraguay', flag: '🇵🇾' },
|
|
209
248
|
pe: { name: 'Peru', flag: '🇵🇪' },
|
|
210
249
|
ph: { name: 'Philippines', flag: '🇵🇭' },
|
|
250
|
+
pn: { name: 'Pitcairn', flag: '🇵🇳' },
|
|
211
251
|
pl: { name: 'Poland', flag: '🇵🇱' },
|
|
212
252
|
pt: { name: 'Portugal', flag: '🇵🇹' },
|
|
253
|
+
pr: { name: 'Puerto Rico', flag: '🇵🇷' },
|
|
213
254
|
qa: { name: 'Qatar', flag: '🇶🇦' },
|
|
255
|
+
re: { name: 'Reunion', flag: '🇷🇪' },
|
|
214
256
|
ro: { name: 'Romania', flag: '🇷🇴' },
|
|
215
257
|
ru: { name: 'Russia', flag: '🇷🇺' },
|
|
216
258
|
rw: { name: 'Rwanda', flag: '🇷🇼' },
|
|
259
|
+
bl: { name: 'Saint Barthelemy', flag: '🇧🇱' },
|
|
260
|
+
sh: { name: 'Saint Helena', flag: '🇸🇭' },
|
|
217
261
|
kn: { name: 'Saint Kitts and Nevis', flag: '🇰🇳' },
|
|
218
262
|
lc: { name: 'Saint Lucia', flag: '🇱🇨' },
|
|
263
|
+
mf: { name: 'Saint Martin', flag: '🇲🇫' },
|
|
264
|
+
pm: { name: 'Saint Pierre and Miquelon', flag: '🇵🇲' },
|
|
219
265
|
vc: { name: 'Saint Vincent and the Grenadines', flag: '🇻🇨' },
|
|
220
266
|
ws: { name: 'Samoa', flag: '🇼🇸' },
|
|
221
267
|
sm: { name: 'San Marino', flag: '🇸🇲' },
|
|
@@ -226,42 +272,52 @@ export const countries = {
|
|
|
226
272
|
sc: { name: 'Seychelles', flag: '🇸🇨' },
|
|
227
273
|
sl: { name: 'Sierra Leone', flag: '🇸🇱' },
|
|
228
274
|
sg: { name: 'Singapore', flag: '🇸🇬' },
|
|
275
|
+
sx: { name: 'Sint Maarten', flag: '🇸🇽' },
|
|
229
276
|
sk: { name: 'Slovakia', flag: '🇸🇰' },
|
|
230
277
|
si: { name: 'Slovenia', flag: '🇸🇮' },
|
|
231
278
|
sb: { name: 'Solomon Islands', flag: '🇸🇧' },
|
|
232
279
|
so: { name: 'Somalia', flag: '🇸🇴' },
|
|
233
280
|
za: { name: 'South Africa', flag: '🇿🇦' },
|
|
281
|
+
gs: { name: 'South Georgia and the South Sandwich Islands', flag: '🇬🇸' },
|
|
234
282
|
kr: { name: 'South Korea', flag: '🇰🇷' },
|
|
235
283
|
ss: { name: 'South Sudan', flag: '🇸🇸' },
|
|
236
284
|
es: { name: 'Spain', flag: '🇪🇸' },
|
|
237
285
|
lk: { name: 'Sri Lanka', flag: '🇱🇰' },
|
|
238
286
|
sd: { name: 'Sudan', flag: '🇸🇩' },
|
|
239
287
|
sr: { name: 'Suriname', flag: '🇸🇷' },
|
|
288
|
+
sj: { name: 'Svalbard and Jan Mayen', flag: '🇸🇯' },
|
|
240
289
|
se: { name: 'Sweden', flag: '🇸🇪' },
|
|
241
290
|
ch: { name: 'Switzerland', flag: '🇨🇭' },
|
|
242
291
|
sy: { name: 'Syria', flag: '🇸🇾' },
|
|
292
|
+
tw: { name: 'Taiwan', flag: '🇹🇼' },
|
|
243
293
|
tj: { name: 'Tajikistan', flag: '🇹🇯' },
|
|
244
294
|
tz: { name: 'Tanzania', flag: '🇹🇿' },
|
|
245
295
|
th: { name: 'Thailand', flag: '🇹🇭' },
|
|
246
296
|
tl: { name: 'Timor-Leste', flag: '🇹🇱' },
|
|
247
297
|
tg: { name: 'Togo', flag: '🇹🇬' },
|
|
298
|
+
tk: { name: 'Tokelau', flag: '🇹🇰' },
|
|
248
299
|
to: { name: 'Tonga', flag: '🇹🇴' },
|
|
249
300
|
tt: { name: 'Trinidad and Tobago', flag: '🇹🇹' },
|
|
250
301
|
tn: { name: 'Tunisia', flag: '🇹🇳' },
|
|
251
302
|
tr: { name: 'Turkey', flag: '🇹🇷' },
|
|
252
303
|
tm: { name: 'Turkmenistan', flag: '🇹🇲' },
|
|
304
|
+
tc: { name: 'Turks and Caicos Islands', flag: '🇹🇨' },
|
|
253
305
|
tv: { name: 'Tuvalu', flag: '🇹🇻' },
|
|
254
306
|
ug: { name: 'Uganda', flag: '🇺🇬' },
|
|
255
307
|
ua: { name: 'Ukraine', flag: '🇺🇦' },
|
|
256
308
|
ae: { name: 'United Arab Emirates', flag: '🇦🇪' },
|
|
257
309
|
gb: { name: 'United Kingdom', flag: '🇬🇧' },
|
|
258
310
|
us: { name: 'United States', flag: '🇺🇸' },
|
|
311
|
+
um: { name: 'United States Minor Outlying Islands', flag: '🇺🇲' },
|
|
259
312
|
uy: { name: 'Uruguay', flag: '🇺🇾' },
|
|
313
|
+
vi: { name: 'US Virgin Islands', flag: '🇻🇮' },
|
|
260
314
|
uz: { name: 'Uzbekistan', flag: '🇺🇿' },
|
|
261
315
|
vu: { name: 'Vanuatu', flag: '🇻🇺' },
|
|
262
316
|
va: { name: 'Vatican City', flag: '🇻🇦' },
|
|
263
317
|
ve: { name: 'Venezuela', flag: '🇻🇪' },
|
|
264
318
|
vn: { name: 'Vietnam', flag: '🇻🇳' },
|
|
319
|
+
wf: { name: 'Wallis and Futuna', flag: '🇼🇫' },
|
|
320
|
+
eh: { name: 'Western Sahara', flag: '🇪🇭' },
|
|
265
321
|
ye: { name: 'Yemen', flag: '🇾🇪' },
|
|
266
322
|
zm: { name: 'Zambia', flag: '🇿🇲' },
|
|
267
323
|
zw: { name: 'Zimbabwe', flag: '🇿🇼' },
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @typedef {'af'|'al'|'dz'|'ad'|'ao'|'ag'|'ar'|'am'|'au'|'at'|'az'|'bs'|'bh'|'bd'|'bb'|'by'|'be'|'bz'|
|
|
3
|
-
* '
|
|
4
|
-
* '
|
|
5
|
-
* '
|
|
6
|
-
* '
|
|
7
|
-
* '
|
|
8
|
-
* '
|
|
9
|
-
* '
|
|
2
|
+
* @typedef {'af'|'ax'|'al'|'dz'|'as'|'ad'|'ao'|'ai'|'aq'|'ag'|'ar'|'am'|'aw'|'au'|'at'|'az'|'bs'|'bh'|'bd'|'bb'|'by'|'be'|'bz'|
|
|
3
|
+
* 'bj'|'bm'|'bt'|'bo'|'bq'|'ba'|'bw'|'br'|'vg'|'bn'|'bg'|'bf'|'bi'|'cv'|'kh'|'cm'|'ca'|'ky'|'cf'|'td'|'cl'|'cn'|'cx'|
|
|
4
|
+
* 'cc'|'co'|'km'|'cg'|'ck'|'cr'|'ci'|'hr'|'cu'|'cw'|'cy'|'cz'|'cd'|'dk'|'dj'|'dm'|'do'|'ec'|'eg'|'sv'|'gq'|'er'|'ee'|
|
|
5
|
+
* 'sz'|'et'|'fk'|'fo'|'fj'|'fi'|'fr'|'gf'|'pf'|'tf'|'ga'|'gm'|'ge'|'de'|'gh'|'gi'|'gr'|'gl'|'gd'|'gp'|'gu'|'gt'|'gg'|
|
|
6
|
+
* 'gn'|'gw'|'gy'|'ht'|'hm'|'hn'|'hk'|'hu'|'is'|'in'|'id'|'ir'|'iq'|'ie'|'im'|'il'|'it'|'jm'|'jp'|'je'|'jo'|'kz'|'ke'|
|
|
7
|
+
* 'ki'|'kw'|'kg'|'la'|'lv'|'lb'|'ls'|'lr'|'ly'|'li'|'lt'|'lu'|'mo'|'mg'|'mw'|'my'|'mv'|'ml'|'mt'|'mh'|'mq'|'mr'|'mu'|
|
|
8
|
+
* 'yt'|'mx'|'fm'|'md'|'mc'|'mn'|'me'|'ms'|'ma'|'mz'|'mm'|'na'|'nr'|'np'|'nl'|'nc'|'nz'|'ni'|'ne'|'ng'|'nu'|'nf'|'kp'|
|
|
9
|
+
* 'mk'|'mp'|'no'|'om'|'pk'|'pw'|'pa'|'pg'|'py'|'pe'|'ph'|'pn'|'pl'|'pt'|'pr'|'qa'|'re'|'ro'|'ru'|'rw'|'bl'|'sh'|'kn'|
|
|
10
|
+
* 'lc'|'mf'|'pm'|'vc'|'ws'|'sm'|'st'|'sa'|'sn'|'rs'|'sc'|'sl'|'sg'|'sx'|'sk'|'si'|'sb'|'so'|'za'|'gs'|'kr'|'ss'|'es'|
|
|
11
|
+
* 'lk'|'sd'|'sr'|'sj'|'se'|'ch'|'sy'|'tw'|'tj'|'tz'|'th'|'tl'|'tg'|'tk'|'to'|'tt'|'tn'|'tr'|'tm'|'tc'|'tv'|'ug'|'ua'|
|
|
12
|
+
* 'ae'|'gb'|'us'|'um'|'uy'|'vi'|'uz'|'vu'|'va'|'ve'|'vn'|'wf'|'eh'|'ye'|'zm'|'zw'} Country
|
|
10
13
|
* @typedef {'nzd'|'aud'|'usd'|'gbp'|'btc'|'aed'|'ars'|'bdt'|'bhd'|'brl'|'cad'|'chf'|'clp'|'cny'|'cop'|'czk'|'dkk'|'egp'|'eur'|
|
|
11
14
|
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'pkr'|
|
|
12
15
|
* 'pln'|'qar'|'ron'|'rub'|'sar'|'sek'|'sgd'|'thb'|'try'|'twd'|'uah'|'vnd'|'zar'} Currency
|
|
@@ -33,6 +36,6 @@ export const currencyOptions: {
|
|
|
33
36
|
label: string;
|
|
34
37
|
flag: string;
|
|
35
38
|
}[];
|
|
36
|
-
export type Country = "af" | "al" | "dz" | "ad" | "ao" | "ag" | "ar" | "am" | "au" | "at" | "az" | "bs" | "bh" | "bd" | "bb" | "by" | "be" | "bz" | "bj" | "bt" | "bo" | "ba" | "bw" | "br" | "bn" | "bg" | "bf" | "bi" | "cv" | "kh" | "cm" | "ca" | "cf" | "td" | "cl" | "cn" | "co" | "km" | "cg" | "cr" | "hr" | "cu" | "cy" | "cz" | "cd" | "dk" | "dj" | "dm" | "do" | "ec" | "eg" | "sv" | "gq" | "er" | "ee" | "sz" | "et" | "fj" | "fi" | "fr" | "ga" | "gm" | "ge" | "de" | "gh" | "gr" | "gd" | "gt" | "gn" | "gw" | "gy" | "ht" | "hn" | "hu" | "is" | "in" | "id" | "ir" | "iq" | "ie" | "il" | "it" | "jm" | "jp" | "jo" | "kz" | "ke" | "ki" | "kw" | "kg" | "la" | "lv" | "lb" | "ls" | "lr" | "ly" | "li" | "lt" | "lu" | "mg" | "mw" | "my" | "mv" | "ml" | "mt" | "mh" | "mr" | "mu" | "mx" | "fm" | "md" | "mc" | "mn" | "me" | "ma" | "mz" | "mm" | "na" | "nr" | "np" | "nl" | "nz" | "ni" | "ne" | "ng" | "kp" | "mk" | "no" | "om" | "pk" | "pw" | "pa" | "pg" | "py" | "pe" | "ph" | "pl" | "pt" | "qa" | "ro" | "ru" | "rw" | "kn" | "lc" | "vc" | "ws" | "sm" | "st" | "sa" | "sn" | "rs" | "sc" | "sl" | "sg" | "sk" | "si" | "sb" | "so" | "za" | "kr" | "ss" | "es" | "lk" | "sd" | "sr" | "se" | "ch" | "sy" | "tj" | "tz" | "th" | "tl" | "tg" | "to" | "tt" | "tn" | "tr" | "tm" | "tv" | "ug" | "ua" | "ae" | "gb" | "us" | "uy" | "uz" | "vu" | "va" | "ve" | "vn" | "ye" | "zm" | "zw";
|
|
39
|
+
export type Country = "af" | "ax" | "al" | "dz" | "as" | "ad" | "ao" | "ai" | "aq" | "ag" | "ar" | "am" | "aw" | "au" | "at" | "az" | "bs" | "bh" | "bd" | "bb" | "by" | "be" | "bz" | "bj" | "bm" | "bt" | "bo" | "bq" | "ba" | "bw" | "br" | "vg" | "bn" | "bg" | "bf" | "bi" | "cv" | "kh" | "cm" | "ca" | "ky" | "cf" | "td" | "cl" | "cn" | "cx" | "cc" | "co" | "km" | "cg" | "ck" | "cr" | "ci" | "hr" | "cu" | "cw" | "cy" | "cz" | "cd" | "dk" | "dj" | "dm" | "do" | "ec" | "eg" | "sv" | "gq" | "er" | "ee" | "sz" | "et" | "fk" | "fo" | "fj" | "fi" | "fr" | "gf" | "pf" | "tf" | "ga" | "gm" | "ge" | "de" | "gh" | "gi" | "gr" | "gl" | "gd" | "gp" | "gu" | "gt" | "gg" | "gn" | "gw" | "gy" | "ht" | "hm" | "hn" | "hk" | "hu" | "is" | "in" | "id" | "ir" | "iq" | "ie" | "im" | "il" | "it" | "jm" | "jp" | "je" | "jo" | "kz" | "ke" | "ki" | "kw" | "kg" | "la" | "lv" | "lb" | "ls" | "lr" | "ly" | "li" | "lt" | "lu" | "mo" | "mg" | "mw" | "my" | "mv" | "ml" | "mt" | "mh" | "mq" | "mr" | "mu" | "yt" | "mx" | "fm" | "md" | "mc" | "mn" | "me" | "ms" | "ma" | "mz" | "mm" | "na" | "nr" | "np" | "nl" | "nc" | "nz" | "ni" | "ne" | "ng" | "nu" | "nf" | "kp" | "mk" | "mp" | "no" | "om" | "pk" | "pw" | "pa" | "pg" | "py" | "pe" | "ph" | "pn" | "pl" | "pt" | "pr" | "qa" | "re" | "ro" | "ru" | "rw" | "bl" | "sh" | "kn" | "lc" | "mf" | "pm" | "vc" | "ws" | "sm" | "st" | "sa" | "sn" | "rs" | "sc" | "sl" | "sg" | "sx" | "sk" | "si" | "sb" | "so" | "za" | "gs" | "kr" | "ss" | "es" | "lk" | "sd" | "sr" | "sj" | "se" | "ch" | "sy" | "tw" | "tj" | "tz" | "th" | "tl" | "tg" | "tk" | "to" | "tt" | "tn" | "tr" | "tm" | "tc" | "tv" | "ug" | "ua" | "ae" | "gb" | "us" | "um" | "uy" | "vi" | "uz" | "vu" | "va" | "ve" | "vn" | "wf" | "eh" | "ye" | "zm" | "zw";
|
|
37
40
|
export type Currency = "nzd" | "aud" | "usd" | "gbp" | "btc" | "aed" | "ars" | "bdt" | "bhd" | "brl" | "cad" | "chf" | "clp" | "cny" | "cop" | "czk" | "dkk" | "egp" | "eur" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jod" | "jpy" | "kes" | "krw" | "kwd" | "lkr" | "mad" | "mxn" | "myr" | "ngn" | "nok" | "omr" | "pen" | "php" | "pkr" | "pln" | "qar" | "ron" | "rub" | "sar" | "sek" | "sgd" | "thb" | "try" | "twd" | "uah" | "vnd" | "zar";
|
|
38
41
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,oGAAoG;AACpG,yBADW,GAAG,GAAG,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAE,CAsD/F;AAED,mEAAmE;AACnE,wBADW,GAAG,GAAG,IAAI,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAE,CAwP9D;AACD;WAA4F,OAAO;;;IAAuC;AAC1I;WAA8F,QAAQ;;;IACpF;sBAnUL,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC9H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACrH,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI;uBACtE,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC7H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC1H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK"}
|