{"version":3,"file":"ngx-international-number.mjs","sources":["../../../projects/ngx-international-number/src/lib/country-data.ts","../../../projects/ngx-international-number/src/lib/country-select/country-select.component.ts","../../../projects/ngx-international-number/src/lib/country-select/country-select.component.html","../../../projects/ngx-international-number/src/lib/ngx-international-number.directive.ts","../../../projects/ngx-international-number/src/lib/ngx-international-number.module.ts","../../../projects/ngx-international-number/src/public-api.ts","../../../projects/ngx-international-number/src/ngx-international-number.ts"],"sourcesContent":["import { CountryCode } from 'libphonenumber-js';\r\n\r\nexport interface Country {\r\n  name: string;\r\n  code: CountryCode;\r\n}\r\n\r\nexport const countries: Country[] = [\r\n  { name: 'Afghanistan', code: 'AF' },\r\n  { name: 'Åland Islands', code: 'AX' },\r\n  { name: 'Albania', code: 'AL' },\r\n  { name: 'Algeria', code: 'DZ' },\r\n  { name: 'American Samoa', code: 'AS' },\r\n  { name: 'Andorra', code: 'AD' },\r\n  { name: 'Angola', code: 'AO' },\r\n  { name: 'Anguilla', code: 'AI' },\r\n  // { name: 'Antarctica', code: 'AQ' },\r\n  { name: 'Antigua and Barbuda', code: 'AG' },\r\n  { name: 'Argentina', code: 'AR' },\r\n  { name: 'Armenia', code: 'AM' },\r\n  { name: 'Aruba', code: 'AW' },\r\n  { name: 'Australia', code: 'AU' },\r\n  { name: 'Austria', code: 'AT' },\r\n  { name: 'Azerbaijan', code: 'AZ' },\r\n  { name: 'Bahamas', code: 'BS' },\r\n  { name: 'Bahrain', code: 'BH' },\r\n  { name: 'Bangladesh', code: 'BD' },\r\n  { name: 'Barbados', code: 'BB' },\r\n  { name: 'Belarus', code: 'BY' },\r\n  { name: 'Belgium', code: 'BE' },\r\n  { name: 'Belize', code: 'BZ' },\r\n  { name: 'Benin', code: 'BJ' },\r\n  { name: 'Bermuda', code: 'BM' },\r\n  { name: 'Bhutan', code: 'BT' },\r\n  { name: 'Bolivia', code: 'BO' },\r\n  { name: 'Bosnia and Herzegovina', code: 'BA' },\r\n  { name: 'Botswana', code: 'BW' },\r\n  // { name: 'Bouvet Island', code: 'BV' },\r\n  { name: 'Brazil', code: 'BR' },\r\n  { name: 'British Indian Ocean Territory', code: 'IO' },\r\n  { name: 'Brunei Darussalam', code: 'BN' },\r\n  { name: 'Bulgaria', code: 'BG' },\r\n  { name: 'Burkina Faso', code: 'BF' },\r\n  { name: 'Burundi', code: 'BI' },\r\n  { name: 'Cambodia', code: 'KH' },\r\n  { name: 'Cameroon', code: 'CM' },\r\n  { name: 'Canada', code: 'CA' },\r\n  { name: 'Cape Verde', code: 'CV' },\r\n  { name: 'Cayman Islands', code: 'KY' },\r\n  { name: 'Central African Republic', code: 'CF' },\r\n  { name: 'Chad', code: 'TD' },\r\n  { name: 'Chile', code: 'CL' },\r\n  { name: 'China', code: 'CN' },\r\n  { name: 'Christmas Island', code: 'CX' },\r\n  { name: 'Cocos (Keeling) Islands', code: 'CC' },\r\n  { name: 'Colombia', code: 'CO' },\r\n  { name: 'Comoros', code: 'KM' },\r\n  { name: 'Congo', code: 'CG' },\r\n  { name: 'Congo, The Democratic Republic of the', code: 'CD' },\r\n  { name: 'Cook Islands', code: 'CK' },\r\n  { name: 'Costa Rica', code: 'CR' },\r\n  { name: \"Cote D'Ivoire\", code: 'CI' },\r\n  { name: 'Croatia', code: 'HR' },\r\n  { name: 'Cuba', code: 'CU' },\r\n  { name: 'Cyprus', code: 'CY' },\r\n  { name: 'Czech Republic', code: 'CZ' },\r\n  { name: 'Denmark', code: 'DK' },\r\n  { name: 'Djibouti', code: 'DJ' },\r\n  { name: 'Dominica', code: 'DM' },\r\n  { name: 'Dominican Republic', code: 'DO' },\r\n  { name: 'Ecuador', code: 'EC' },\r\n  { name: 'Egypt', code: 'EG' },\r\n  { name: 'El Salvador', code: 'SV' },\r\n  { name: 'Equatorial Guinea', code: 'GQ' },\r\n  { name: 'Eritrea', code: 'ER' },\r\n  { name: 'Estonia', code: 'EE' },\r\n  { name: 'Ethiopia', code: 'ET' },\r\n  { name: 'Falkland Islands (Malvinas)', code: 'FK' },\r\n  { name: 'Faroe Islands', code: 'FO' },\r\n  { name: 'Fiji', code: 'FJ' },\r\n  { name: 'Finland', code: 'FI' },\r\n  { name: 'France', code: 'FR' },\r\n  { name: 'French Guiana', code: 'GF' },\r\n  { name: 'French Polynesia', code: 'PF' },\r\n  // { name: 'French Southern Territories', code: 'TF' },\r\n  { name: 'Gabon', code: 'GA' },\r\n  { name: 'Gambia', code: 'GM' },\r\n  { name: 'Georgia', code: 'GE' },\r\n  { name: 'Germany', code: 'DE' },\r\n  { name: 'Ghana', code: 'GH' },\r\n  { name: 'Gibraltar', code: 'GI' },\r\n  { name: 'Greece', code: 'GR' },\r\n  { name: 'Greenland', code: 'GL' },\r\n  { name: 'Grenada', code: 'GD' },\r\n  { name: 'Guadeloupe', code: 'GP' },\r\n  { name: 'Guam', code: 'GU' },\r\n  { name: 'Guatemala', code: 'GT' },\r\n  { name: 'Guernsey', code: 'GG' },\r\n  { name: 'Guinea', code: 'GN' },\r\n  { name: 'Guinea-Bissau', code: 'GW' },\r\n  { name: 'Guyana', code: 'GY' },\r\n  { name: 'Haiti', code: 'HT' },\r\n  // { name: 'Heard Island and Mcdonald Islands', code: 'HM' },\r\n  { name: 'Holy See (Vatican City State)', code: 'VA' },\r\n  { name: 'Honduras', code: 'HN' },\r\n  { name: 'Hong Kong', code: 'HK' },\r\n  { name: 'Hungary', code: 'HU' },\r\n  { name: 'Iceland', code: 'IS' },\r\n  { name: 'India', code: 'IN' },\r\n  { name: 'Indonesia', code: 'ID' },\r\n  { name: 'Iran, Islamic Republic Of', code: 'IR' },\r\n  { name: 'Iraq', code: 'IQ' },\r\n  { name: 'Ireland', code: 'IE' },\r\n  { name: 'Isle of Man', code: 'IM' },\r\n  { name: 'Israel', code: 'IL' },\r\n  { name: 'Italy', code: 'IT' },\r\n  { name: 'Jamaica', code: 'JM' },\r\n  { name: 'Japan', code: 'JP' },\r\n  { name: 'Jersey', code: 'JE' },\r\n  { name: 'Jordan', code: 'JO' },\r\n  { name: 'Kazakhstan', code: 'KZ' },\r\n  { name: 'Kenya', code: 'KE' },\r\n  { name: 'Kiribati', code: 'KI' },\r\n  { name: \"Democratic People's Republic of Korea\", code: 'KP' },\r\n  { name: 'Korea, Republic of', code: 'KR' },\r\n  { name: 'Kosovo', code: 'XK' },\r\n  { name: 'Kuwait', code: 'KW' },\r\n  { name: 'Kyrgyzstan', code: 'KG' },\r\n  { name: \"Lao People's Democratic Republic\", code: 'LA' },\r\n  { name: 'Latvia', code: 'LV' },\r\n  { name: 'Lebanon', code: 'LB' },\r\n  { name: 'Lesotho', code: 'LS' },\r\n  { name: 'Liberia', code: 'LR' },\r\n  { name: 'Libyan Arab Jamahiriya', code: 'LY' },\r\n  { name: 'Liechtenstein', code: 'LI' },\r\n  { name: 'Lithuania', code: 'LT' },\r\n  { name: 'Luxembourg', code: 'LU' },\r\n  { name: 'Macao', code: 'MO' },\r\n  { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' },\r\n  { name: 'Madagascar', code: 'MG' },\r\n  { name: 'Malawi', code: 'MW' },\r\n  { name: 'Malaysia', code: 'MY' },\r\n  { name: 'Maldives', code: 'MV' },\r\n  { name: 'Mali', code: 'ML' },\r\n  { name: 'Malta', code: 'MT' },\r\n  { name: 'Marshall Islands', code: 'MH' },\r\n  { name: 'Martinique', code: 'MQ' },\r\n  { name: 'Mauritania', code: 'MR' },\r\n  { name: 'Mauritius', code: 'MU' },\r\n  { name: 'Mayotte', code: 'YT' },\r\n  { name: 'Mexico', code: 'MX' },\r\n  { name: 'Micronesia, Federated States of', code: 'FM' },\r\n  { name: 'Moldova, Republic of', code: 'MD' },\r\n  { name: 'Monaco', code: 'MC' },\r\n  { name: 'Mongolia', code: 'MN' },\r\n  { name: 'Montenegro', code: 'ME' },\r\n  { name: 'Montserrat', code: 'MS' },\r\n  { name: 'Morocco', code: 'MA' },\r\n  { name: 'Mozambique', code: 'MZ' },\r\n  { name: 'Myanmar', code: 'MM' },\r\n  { name: 'Namibia', code: 'NA' },\r\n  { name: 'Nauru', code: 'NR' },\r\n  { name: 'Nepal', code: 'NP' },\r\n  { name: 'Netherlands', code: 'NL' },\r\n  // { name: 'Netherlands Antilles', code: 'AN' },\r\n  { name: 'New Caledonia', code: 'NC' },\r\n  { name: 'New Zealand', code: 'NZ' },\r\n  { name: 'Nicaragua', code: 'NI' },\r\n  { name: 'Niger', code: 'NE' },\r\n  { name: 'Nigeria', code: 'NG' },\r\n  { name: 'Niue', code: 'NU' },\r\n  { name: 'Norfolk Island', code: 'NF' },\r\n  { name: 'Northern Mariana Islands', code: 'MP' },\r\n  { name: 'Norway', code: 'NO' },\r\n  { name: 'Oman', code: 'OM' },\r\n  { name: 'Pakistan', code: 'PK' },\r\n  { name: 'Palau', code: 'PW' },\r\n  { name: 'Palestinian Territory, Occupied', code: 'PS' },\r\n  { name: 'Panama', code: 'PA' },\r\n  { name: 'Papua New Guinea', code: 'PG' },\r\n  { name: 'Paraguay', code: 'PY' },\r\n  { name: 'Peru', code: 'PE' },\r\n  { name: 'Philippines', code: 'PH' },\r\n  // { name: 'Pitcairn', code: 'PN' },\r\n  { name: 'Poland', code: 'PL' },\r\n  { name: 'Portugal', code: 'PT' },\r\n  { name: 'Puerto Rico', code: 'PR' },\r\n  { name: 'Qatar', code: 'QA' },\r\n  { name: 'Reunion', code: 'RE' },\r\n  { name: 'Romania', code: 'RO' },\r\n  { name: 'Russian Federation', code: 'RU' },\r\n  { name: 'Rwanda', code: 'RW' },\r\n  { name: 'Saint Helena', code: 'SH' },\r\n  { name: 'Saint Kitts and Nevis', code: 'KN' },\r\n  { name: 'Saint Lucia', code: 'LC' },\r\n  { name: 'Saint Pierre and Miquelon', code: 'PM' },\r\n  { name: 'Saint Vincent and the Grenadines', code: 'VC' },\r\n  { name: 'Samoa', code: 'WS' },\r\n  { name: 'San Marino', code: 'SM' },\r\n  { name: 'Sao Tome and Principe', code: 'ST' },\r\n  { name: 'Saudi Arabia', code: 'SA' },\r\n  { name: 'Senegal', code: 'SN' },\r\n  { name: 'Serbia', code: 'RS' },\r\n  { name: 'Seychelles', code: 'SC' },\r\n  { name: 'Sierra Leone', code: 'SL' },\r\n  { name: 'Singapore', code: 'SG' },\r\n  { name: 'Slovakia', code: 'SK' },\r\n  { name: 'Slovenia', code: 'SI' },\r\n  { name: 'Solomon Islands', code: 'SB' },\r\n  { name: 'Somalia', code: 'SO' },\r\n  { name: 'South Africa', code: 'ZA' },\r\n  // { name: 'South Georgia and the South Sandwich Islands', code: 'GS' },\r\n  { name: 'Spain', code: 'ES' },\r\n  { name: 'Sri Lanka', code: 'LK' },\r\n  { name: 'Sudan', code: 'SD' },\r\n  { name: 'Suriname', code: 'SR' },\r\n  { name: 'Svalbard and Jan Mayen', code: 'SJ' },\r\n  { name: 'Swaziland', code: 'SZ' },\r\n  { name: 'Sweden', code: 'SE' },\r\n  { name: 'Switzerland', code: 'CH' },\r\n  { name: 'Syrian Arab Republic', code: 'SY' },\r\n  { name: 'Taiwan', code: 'TW' },\r\n  { name: 'Tajikistan', code: 'TJ' },\r\n  { name: 'Tanzania, United Republic of', code: 'TZ' },\r\n  { name: 'Thailand', code: 'TH' },\r\n  { name: 'Timor-Leste', code: 'TL' },\r\n  { name: 'Togo', code: 'TG' },\r\n  { name: 'Tokelau', code: 'TK' },\r\n  { name: 'Tonga', code: 'TO' },\r\n  { name: 'Trinidad and Tobago', code: 'TT' },\r\n  { name: 'Tunisia', code: 'TN' },\r\n  { name: 'Turkey', code: 'TR' },\r\n  { name: 'Turkmenistan', code: 'TM' },\r\n  { name: 'Turks and Caicos Islands', code: 'TC' },\r\n  { name: 'Tuvalu', code: 'TV' },\r\n  { name: 'Uganda', code: 'UG' },\r\n  { name: 'Ukraine', code: 'UA' },\r\n  { name: 'United Arab Emirates', code: 'AE' },\r\n  { name: 'United Kingdom', code: 'GB' },\r\n  { name: 'United States', code: 'US' },\r\n  // { name: 'United States Minor Outlying Islands', code: 'UM' },\r\n  { name: 'Uruguay', code: 'UY' },\r\n  { name: 'Uzbekistan', code: 'UZ' },\r\n  { name: 'Vanuatu', code: 'VU' },\r\n  { name: 'Venezuela', code: 'VE' },\r\n  { name: 'Viet Nam', code: 'VN' },\r\n  { name: 'Virgin Islands, British', code: 'VG' },\r\n  { name: 'Virgin Islands, U.S.', code: 'VI' },\r\n  { name: 'Wallis and Futuna', code: 'WF' },\r\n  { name: 'Western Sahara', code: 'EH' },\r\n  { name: 'Yemen', code: 'YE' },\r\n  { name: 'Zambia', code: 'ZM' },\r\n  { name: 'Zimbabwe', code: 'ZW' },\r\n];\r\n","import {\r\n  Component,\r\n  ElementRef,\r\n  OnInit,\r\n  ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { countries, Country } from '../country-data';\r\nimport { CountryCode } from 'libphonenumber-js';\r\nimport { InternationalNumberDirective } from '../ngx-international-number.directive';\r\n\r\n@Component({\r\n  selector: 'app-country-select',\r\n  templateUrl: './country-select.component.html',\r\n  styleUrls: ['./country-select.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    '(document:click)': 'documentClick($event)',\r\n  },\r\n})\r\nexport class CountrySelectComponent implements OnInit {\r\n  public selectedCountry?: Country;\r\n  public showList = false;\r\n  public customScrollbar = true;\r\n  public countries = countries;\r\n  public search = '';\r\n  public searchPlaceHolder?: string;\r\n\r\n  public directiveRef?: InternationalNumberDirective;\r\n\r\n  constructor(private ref: ElementRef) {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  setCountry(code: CountryCode, country?: Country) {\r\n    if (!country) {\r\n      country = this.countries.find((country) => country.code === code);\r\n    }\r\n    this.selectedCountry = country;\r\n    this.countries = countries;\r\n    this.showList = false;\r\n\r\n    this.directiveRef?.countrySelected.emit(country);\r\n    this.directiveRef?.control?.updateValueAndValidity();\r\n\r\n    return country;\r\n  }\r\n\r\n  documentClick(event: MouseEvent) {\r\n    // Outside Click\r\n    if (!this.ref.nativeElement.contains(event.target)) {\r\n      this.showList = false;\r\n    }\r\n  }\r\n\r\n  toggleDropdown() {\r\n    this.showList = !this.showList;\r\n    this.directiveRef?.dropdownOpened.emit(this.showList);\r\n  }\r\n\r\n  filterCountries(search: string) {\r\n    if (!search) {\r\n      this.countries = countries;\r\n      return;\r\n    }\r\n\r\n    search = search.toLowerCase();\r\n\r\n    this.countries = countries.filter((country) =>\r\n      country.name.toLowerCase().includes(search)\r\n    );\r\n  }\r\n}\r\n","<div class=\"country-select\" [ngClass]=\"{ 'dropdown-open': showList }\">\r\n  <div class=\"country-select-btn\" (click)=\"toggleDropdown()\">\r\n    <img\r\n      class=\"flag\"\r\n      *ngIf=\"selectedCountry\"\r\n      src=\"https://purecatamphetamine.github.io/country-flag-icons/3x2/{{\r\n        selectedCountry.code\r\n      }}.svg\"\r\n      alt=\"Flag Icon\"\r\n    />\r\n    <span *ngIf=\"!selectedCountry\" class=\"placeholder-flag\"></span>\r\n    <span class=\"arrow\">{{ showList ? \"▲\" : \"▼\" }}</span>\r\n  </div>\r\n\r\n  <div class=\"dropdown\" [ngClass]=\"{ show: showList }\">\r\n    <input\r\n      type=\"search\"\r\n      class=\"search\"\r\n      autocomplete=\"off\"\r\n      [placeholder]=\"searchPlaceHolder || 'Search Country'\"\r\n      [ngModel]=\"search\"\r\n      (ngModelChange)=\"filterCountries($event)\"\r\n      autofocus\r\n    />\r\n    <ul\r\n      class=\"countries-list\"\r\n      [ngClass]=\"{ 'custom-scrollbar': customScrollbar }\"\r\n    >\r\n      <li\r\n        *ngFor=\"let country of countries; let i = index\"\r\n        (click)=\"setCountry(country.code, country)\"\r\n        [tabindex]=\"i + 1\"\r\n        [ngClass]=\"{ selected: selectedCountry === country }\"\r\n      >\r\n        <img\r\n          class=\"flag\"\r\n          src=\"https://purecatamphetamine.github.io/country-flag-icons/3x2/{{\r\n            country.code\r\n          }}.svg\"\r\n          alt=\"Flag Icon\"\r\n        />\r\n        <span>{{ country.name }} </span>\r\n      </li>\r\n    </ul>\r\n  </div>\r\n\r\n  <ng-content></ng-content>\r\n</div>\r\n","import {\r\n  ComponentFactoryResolver,\r\n  EventEmitter,\r\n  Output,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { CountryCode, parsePhoneNumber } from 'libphonenumber-js/mobile';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\nimport { CountrySelectComponent } from './country-select/country-select.component';\r\nimport { Country } from './country-data';\r\n\r\n@Directive({\r\n  selector: '[international-number]',\r\n  providers: [\r\n    {\r\n      provide: NG_VALIDATORS,\r\n      useExisting: InternationalNumberDirective,\r\n      multi: true,\r\n    },\r\n  ],\r\n})\r\nexport class InternationalNumberDirective implements Validator, OnInit {\r\n  @Input() defaultCountry?: CountryCode;\r\n  @Input() searchPlaceHolder?: string;\r\n  @Input() customScrollbar: boolean = true;\r\n  @Input() hue?: string;\r\n  @Output() countrySelected = new EventEmitter<Country>();\r\n  @Output() dropdownOpened = new EventEmitter<Boolean>();\r\n  private countrySelectComponent: CountrySelectComponent;\r\n  public control?: AbstractControl;\r\n\r\n  constructor(\r\n    inputRef: ElementRef,\r\n    view: ViewContainerRef,\r\n    factoryResolver: ComponentFactoryResolver\r\n  ) {\r\n    const compFactory = factoryResolver.resolveComponentFactory(\r\n      CountrySelectComponent\r\n    );\r\n\r\n    this.countrySelectComponent = view.createComponent(\r\n      compFactory,\r\n      undefined,\r\n      view.injector,\r\n      [[inputRef.nativeElement]]\r\n    ).instance;\r\n\r\n    this.countrySelectComponent.directiveRef = this;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.countrySelectComponent.searchPlaceHolder = this.searchPlaceHolder;\r\n\r\n    this.countrySelectComponent.customScrollbar = this.customScrollbar;\r\n\r\n    if (this.hue) {\r\n      document.documentElement.style.setProperty('--hue', this.hue);\r\n    }\r\n\r\n    if (this.defaultCountry) {\r\n      this.countrySelectComponent.setCountry(this.defaultCountry);\r\n    }\r\n  }\r\n\r\n  validate(control: AbstractControl) {\r\n    this.control = control;\r\n\r\n    const validationError = { invalidPhoneNumber: true };\r\n\r\n    if (!control.value) return null;\r\n\r\n    try {\r\n      const number = parsePhoneNumber(\r\n        control.value,\r\n        this.countrySelectComponent.selectedCountry?.code\r\n      );\r\n\r\n      if (\r\n        number.country &&\r\n        this.countrySelectComponent.selectedCountry?.code !== number.country\r\n      ) {\r\n        this.countrySelectComponent.setCountry(number.country);\r\n      }\r\n\r\n      if (number.number && control.value !== number.number) {\r\n        control.setValue(number.number);\r\n      }\r\n\r\n      if (!number.isValid()) {\r\n        return validationError;\r\n      }\r\n    } catch (error) {\r\n      return validationError;\r\n    }\r\n\r\n    return null;\r\n  }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, NG_VALIDATORS } from '@angular/forms';\r\nimport { CountrySelectComponent } from './country-select/country-select.component';\r\nimport { InternationalNumberDirective } from './ngx-international-number.directive';\r\n\r\n@NgModule({\r\n  declarations: [CountrySelectComponent, InternationalNumberDirective],\r\n  imports: [CommonModule, FormsModule],\r\n  providers: [],\r\n  exports: [InternationalNumberDirective],\r\n})\r\nexport class NgxInternationalNumberModule {}\r\n","/*\r\n * Public API Surface of ngx-international-number\r\n */\r\n\r\nexport * from './lib/ngx-international-number.module';\r\nexport * from './lib/ngx-international-number.directive';\r\nexport { Country } from './lib/country-data';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAOO,MAAM,SAAS,GAAc;AAClC,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;;AAEhC,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9C,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;;AAEhC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE;AACtD,IAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;AACzC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;AAChD,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/C,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7D,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;AACzC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,IAAI,EAAE;AACnD,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;;AAExC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;;AAE7B,IAAA,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,IAAI,EAAE;AACrD,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;AACjD,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7D,IAAA,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE;AACxD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9C,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,IAAI,EAAE;AAClE,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE;AACvD,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;;AAEnC,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;AAChD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE;AACvD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;;AAEnC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE;AACjD,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE;AACxD,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;AACvC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;;AAEpC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9C,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE;AACpD,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;AAChD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;;AAErC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/C,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;AACzC,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;CACjC;;MC1OY,sBAAsB,CAAA;AAUjC,IAAA,WAAA,CAAoB,GAAe,EAAA;QAAf,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;QAR5B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QACvB,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC;QACtB,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;KAKoB;AAEvC,IAAA,QAAQ,MAAW;IAEnB,UAAU,CAAC,IAAiB,EAAE,OAAiB,EAAA;QAC7C,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SACnE;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAErD,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,aAAa,CAAC,KAAiB,EAAA;;AAE7B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACvD;AAED,IAAA,eAAe,CAAC,MAAc,EAAA;QAC5B,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,OAAO;SACR;AAED,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,KACxC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5C,CAAC;KACH;8GAnDU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8HCnBnC,6jDAgDA,EAAA,MAAA,EAAA,CAAA,qgEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD7Ba,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAGf,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,uBAAuB;AAC5C,qBAAA,EAAA,QAAA,EAAA,6jDAAA,EAAA,MAAA,EAAA,CAAA,qgEAAA,CAAA,EAAA,CAAA;;;MEKU,4BAA4B,CAAA;AAUvC,IAAA,WAAA,CACE,QAAoB,EACpB,IAAsB,EACtB,eAAyC,EAAA;QAVlC,IAAe,CAAA,eAAA,GAAY,IAAI,CAAC;AAE/B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW,CAAC;AAC9C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;QASrD,MAAM,WAAW,GAAG,eAAe,CAAC,uBAAuB,CACzD,sBAAsB,CACvB,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAChD,WAAW,EACX,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC3B,CAAC,QAAQ,CAAC;AAEX,QAAA,IAAI,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC;KACjD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEvE,IAAI,CAAC,sBAAsB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAEnE,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/D;AAED,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7D;KACF;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAEvB,QAAA,MAAM,eAAe,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI,CAAC;AAEhC,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,gBAAgB,CAC7B,OAAO,CAAC,KAAK,EACb,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,IAAI,CAClD,CAAC;YAEF,IACE,MAAM,CAAC,OAAO;gBACd,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,IAAI,KAAK,MAAM,CAAC,OAAO,EACpE;gBACA,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACxD;AAED,YAAA,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE;AACpD,gBAAA,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACjC;AAED,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;AACrB,gBAAA,OAAO,eAAe,CAAC;aACxB;SACF;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,eAAe,CAAC;SACxB;AAED,QAAA,OAAO,IAAI,CAAC;KACb;8GA3EU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAR5B,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAA8B,4BAAA;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;qJAEU,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;MChBI,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA5B,4BAA4B,EAAA,YAAA,EAAA,CALxB,sBAAsB,EAAE,4BAA4B,aACzD,YAAY,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAEzB,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE3B,4BAA4B,EAAA,OAAA,EAAA,CAJ7B,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIxB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;AACpE,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;AACpC,oBAAA,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACxC,iBAAA,CAAA;;;ACXD;;AAEG;;ACFH;;AAEG;;;;"}