{"version":3,"file":"volo-abp.ng.language-management.mjs","sources":["../../../../packages/language-management/src/lib/components/languages/flag-icons.ts","../../../../packages/language-management/src/lib/components/languages/languages.component.ts","../../../../packages/language-management/src/lib/components/languages/languages.component.html","../../../../packages/language-management/src/lib/components/language-texts/language-texts.component.ts","../../../../packages/language-management/src/lib/components/language-texts/language-texts.component.html","../../../../packages/language-management/src/lib/defaults/default-language-texts-entity-actions.ts","../../../../packages/language-management/src/lib/defaults/default-language-texts-toolbar-actions.ts","../../../../packages/language-management/src/lib/defaults/default-languages-entity-actions.ts","../../../../packages/language-management/src/lib/defaults/default-languages-entity-props.ts","../../../../packages/language-management/src/lib/defaults/default-languages-form-props.ts","../../../../packages/language-management/src/lib/defaults/default-languages-toolbar-actions.ts","../../../../packages/language-management/src/lib/tokens/extensions.token.ts","../../../../packages/language-management/src/lib/guards/extensions.guard.ts","../../../../packages/language-management/src/lib/guards/language-mangement.guard.ts","../../../../packages/language-management/src/lib/resolvers/extensions.resolver.ts","../../../../packages/language-management/src/lib/language-management-routing.module.ts","../../../../packages/language-management/src/lib/language-management.module.ts","../../../../packages/language-management/src/lib/language-management.routes.ts","../../../../packages/language-management/src/volo-abp.ng.language-management.ts"],"sourcesContent":["export default [\r\n  'ad',\r\n  'ae',\r\n  'af',\r\n  'ag',\r\n  'ai',\r\n  'al',\r\n  'am',\r\n  'ao',\r\n  'ar',\r\n  'as',\r\n  'at',\r\n  'au',\r\n  'aw',\r\n  'ax',\r\n  'az',\r\n  'ba',\r\n  'bb',\r\n  'bd',\r\n  'be',\r\n  'bf',\r\n  'bg',\r\n  'bh',\r\n  'bi',\r\n  'bj',\r\n  'bl',\r\n  'bm',\r\n  'bn',\r\n  'bo',\r\n  'bq',\r\n  'br',\r\n  'bs',\r\n  'bt',\r\n  'bw',\r\n  'by',\r\n  'bz',\r\n  'ca',\r\n  'cc',\r\n  'cd',\r\n  'cf',\r\n  'cg',\r\n  'ch',\r\n  'ci',\r\n  'ck',\r\n  'cl',\r\n  'cm',\r\n  'cn',\r\n  'co',\r\n  'cr',\r\n  'cu',\r\n  'cv',\r\n  'cw',\r\n  'cx',\r\n  'cy',\r\n  'cz',\r\n  'de',\r\n  'dj',\r\n  'dk',\r\n  'do',\r\n  'dz',\r\n  'ec',\r\n  'ee',\r\n  'eg',\r\n  'eh',\r\n  'er',\r\n  'es',\r\n  'et',\r\n  'fi',\r\n  'fj',\r\n  'fk',\r\n  'fm',\r\n  'fo',\r\n  'fr',\r\n  'ga',\r\n  'gb',\r\n  'gd',\r\n  'ge',\r\n  'gf',\r\n  'gg',\r\n  'gh',\r\n  'gi',\r\n  'gl',\r\n  'gm',\r\n  'gn',\r\n  'gp',\r\n  'gq',\r\n  'gr',\r\n  'gs',\r\n  'gt',\r\n  'gu',\r\n  'gw',\r\n  'gy',\r\n  'hk',\r\n  'hn',\r\n  'hr',\r\n  'hr',\r\n  'ht',\r\n  'id',\r\n  'ie',\r\n  'il',\r\n  'im',\r\n  'in',\r\n  'io',\r\n  'iq',\r\n  'ir',\r\n  'is',\r\n  'it',\r\n  'je',\r\n  'jm',\r\n  'jo',\r\n  'jp',\r\n  'ke',\r\n  'kg',\r\n  'kh',\r\n  'ki',\r\n  'km',\r\n  'kn',\r\n  'kp',\r\n  'kr',\r\n  'kw',\r\n  'ky',\r\n  'kz',\r\n  'la',\r\n  'lb',\r\n  'lc',\r\n  'li',\r\n  'lk',\r\n  'lr',\r\n  'ls',\r\n  'lt',\r\n  'lu',\r\n  'lv',\r\n  'ly',\r\n  'ma',\r\n  'mc',\r\n  'md',\r\n  'me',\r\n  'mf',\r\n  'mg',\r\n  'mh',\r\n  'mk',\r\n  'ml',\r\n  'mm',\r\n  'mn',\r\n  'mo',\r\n  'mp',\r\n  'mq',\r\n  'mr',\r\n  'ms',\r\n  'mt',\r\n  'mu',\r\n  'mv',\r\n  'mw',\r\n  'mx',\r\n  'my',\r\n  'mz',\r\n  'na',\r\n  'nc',\r\n  'ne',\r\n  'nf',\r\n  'ng',\r\n  'ni',\r\n  'nl',\r\n  'no',\r\n  'nr',\r\n  'nu',\r\n  'nz',\r\n  'om',\r\n  'pa',\r\n  'pe',\r\n  'pf',\r\n  'pg',\r\n  'ph',\r\n  'pk',\r\n  'pl',\r\n  'pm',\r\n  'pn',\r\n  'pr',\r\n  'ps',\r\n  'pt',\r\n  'pw',\r\n  'py',\r\n  'qa',\r\n  're',\r\n  'ro',\r\n  'rs',\r\n  'ru',\r\n  'rw',\r\n  'sa',\r\n  'sb',\r\n  'sc',\r\n  'sd',\r\n  'se',\r\n  'sg',\r\n  'sh',\r\n  'si',\r\n  'sj',\r\n  'sk',\r\n  'sl',\r\n  'sm',\r\n  'sn',\r\n  'so',\r\n  'sr',\r\n  'ss',\r\n  'st',\r\n  'sv',\r\n  'sx',\r\n  'sy',\r\n  'sz',\r\n  'tc',\r\n  'td',\r\n  'tf',\r\n  'tg',\r\n  'th',\r\n  'tj',\r\n  'tk',\r\n  'tl',\r\n  'tm',\r\n  'tn',\r\n  'to',\r\n  'tr',\r\n  'tt',\r\n  'tv',\r\n  'tw',\r\n  'tz',\r\n  'ua',\r\n  'ug',\r\n  'us',\r\n  'uy',\r\n  'uz',\r\n  'va',\r\n  'vc',\r\n  've',\r\n  'vg',\r\n  'vi',\r\n  'vn',\r\n  'vu',\r\n  'wf',\r\n  'ws',\r\n  'xk',\r\n  'ye',\r\n  'yt',\r\n  'za',\r\n  'zm',\r\n  'zw',\r\n];\r\n","import { Component, inject, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { finalize, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport {\r\n  ConfigStateService,\r\n  ListService,\r\n  LocalizationPipe,\r\n  PagedResultDto,\r\n  SessionStateService,\r\n} from '@abp/ng.core';\r\nimport {\r\n  ButtonComponent,\r\n  Confirmation,\r\n  ConfirmationService,\r\n  ModalCloseDirective,\r\n  ModalComponent,\r\n  ToasterService,\r\n} from '@abp/ng.theme.shared';\r\nimport {\r\n  ExtensibleFormComponent,\r\n  ExtensibleTableComponent,\r\n  EXTENSIONS_IDENTIFIER,\r\n  FormPropData,\r\n  generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { PageComponent } from '@abp/ng.components/page';\r\nimport {\r\n  CultureInfoDto,\r\n  GetLanguagesTextsInput,\r\n  LanguageDto,\r\n  LanguageService,\r\n} from '@volo/abp.ng.language-management/proxy';\r\nimport { AdvancedEntityFiltersComponent } from '@volo/abp.commercial.ng.ui';\r\nimport { eLanguageManagementComponents } from '../../enums/components';\r\nimport flagIcons from './flag-icons';\r\n\r\n@Component({\r\n  selector: 'abp-languages',\r\n  templateUrl: './languages.component.html',\r\n  providers: [\r\n    ListService,\r\n    {\r\n      provide: EXTENSIONS_IDENTIFIER,\r\n      useValue: eLanguageManagementComponents.Languages,\r\n    },\r\n  ],\r\n  imports: [\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    NgxValidateCoreModule,\r\n    ModalCloseDirective,\r\n    LocalizationPipe,\r\n    ExtensibleTableComponent,\r\n    ExtensibleFormComponent,\r\n    AdvancedEntityFiltersComponent,\r\n    PageComponent,\r\n    ModalComponent,\r\n    ButtonComponent,\r\n  ],\r\n})\r\nexport class LanguagesComponent implements OnInit {\r\n  protected readonly list = inject(ListService<GetLanguagesTextsInput>);\r\n  protected readonly confirmationService = inject(ConfirmationService);\r\n  protected readonly service = inject(LanguageService);\r\n  protected readonly configState = inject(ConfigStateService);\r\n  protected readonly sessionService = inject(SessionStateService);\r\n  protected readonly toasterService = inject(ToasterService);\r\n  protected readonly injector = inject(Injector);\r\n\r\n  data: PagedResultDto<LanguageDto> = { items: [], totalCount: 0 };\r\n\r\n  cultures$ = of([] as CultureInfoDto[]);\r\n\r\n  form: UntypedFormGroup;\r\n\r\n  selected: LanguageDto;\r\n\r\n  isModalVisible = false;\r\n\r\n  modalBusy = false;\r\n\r\n  flagIcons = flagIcons;\r\n\r\n  protected get controls() {\r\n    return this.form.controls;\r\n  }\r\n\r\n  protected createForm(): void {\r\n    this.cultures$\r\n      .pipe(switchMap(cultures => (cultures.length ? of(cultures) : this.service.getCulturelist())))\r\n      .subscribe(res => {\r\n        this.cultures$ = of(res);\r\n\r\n        const data = new FormPropData(this.injector, this.selected);\r\n        this.form = generateFormFromProps(data);\r\n\r\n        this.controls?.cultureName?.patchValue(null);\r\n        this.controls?.uiCultureName?.patchValue(null);\r\n      });\r\n  }\r\n\r\n  protected hookToQuery() {\r\n    this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.hookToQuery();\r\n  }\r\n\r\n  openModal() {\r\n    this.createForm();\r\n    this.isModalVisible = true;\r\n  }\r\n\r\n  add() {\r\n    this.selected = {} as LanguageDto;\r\n    this.openModal();\r\n  }\r\n\r\n  edit(id: string) {\r\n    this.service.get(id).subscribe(res => {\r\n      this.selected = res;\r\n      this.openModal();\r\n    });\r\n  }\r\n\r\n  save() {\r\n    if (!this.form.valid) return;\r\n    this.modalBusy = true;\r\n\r\n    const { id } = this.selected;\r\n    const input = { ...this.form.value };\r\n\r\n    if (!input.displayName) {\r\n      input.displayName = input.cultureName;\r\n    }\r\n\r\n    (id ? this.service.update(id, { ...this.selected, ...input }) : this.service.create(input))\r\n      .pipe(finalize(() => (this.modalBusy = false)))\r\n      .subscribe(() => {\r\n        this.isModalVisible = false;\r\n        this.toasterService.success('AbpUi::SavedSuccessfully');\r\n        this.list.get();\r\n        if (!this.selected.id) {\r\n          //TODO refactor for nested subscription\r\n          this.configState.refreshAppState().subscribe();\r\n        }\r\n      });\r\n  }\r\n\r\n  delete(id: string, name: string, isDefaultLanguage = false) {\r\n    let warningMessageKey = 'LanguageManagement::LanguageDeletionConfirmationMessage';\r\n    if (isDefaultLanguage) {\r\n      warningMessageKey = 'LanguageManagement::DefaultLanguageDeletionConfirmationMessage';\r\n    }\r\n    this.confirmationService\r\n      .warn(warningMessageKey, 'LanguageManagement::AreYouSure', {\r\n        messageLocalizationParams: [name],\r\n      })\r\n      .subscribe((status: Confirmation.Status) => {\r\n        if (status === Confirmation.Status.confirm) {\r\n          this.service.get(id).subscribe(lang => {\r\n            this.service.delete(id).subscribe(() => {\r\n              let defaultLanguage: LanguageDto;\r\n              this.service.getAllList().subscribe(list => {\r\n                list.items.forEach(item => {\r\n                  if (item.isDefaultLanguage) {\r\n                    defaultLanguage = item;\r\n                  }\r\n                });\r\n                if (lang.cultureName == this.sessionService.getLanguage()) {\r\n                  this.sessionService.setLanguage(defaultLanguage.cultureName);\r\n                }\r\n              });\r\n              this.toasterService.success('AbpUi::DeletedSuccessfully');\r\n              this.list.get();\r\n            });\r\n          });\r\n        }\r\n      });\r\n  }\r\n\r\n  setAsDefault(id: string) {\r\n    this.service.setAsDefault(id).subscribe(() => this.list.get());\r\n  }\r\n}\r\n","<abp-page [title]=\"'LanguageManagement::Languages' | abpLocalization\" [toolbar]=\"data\">\r\n  <div id=\"wrapper\">\r\n    <abp-advanced-entity-filters localizationSourceName=\"LanguageManagement\" [list]=\"list\" />\r\n\r\n    <div class=\"card\">\r\n      <abp-extensible-table [data]=\"data.items\" [recordsTotal]=\"data.totalCount\" [list]=\"list\" />\r\n    </div>\r\n  </div>\r\n</abp-page>\r\n\r\n<ng-template #displayName let-data>{{ data.displayName }}</ng-template>\r\n<ng-template #defaultLanguage let-data>\r\n  <strong>\r\n    {{ data.displayName }} ({{ 'LanguageManagement::DefaultLanguage' | abpLocalization }})\r\n  </strong>\r\n</ng-template>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n  <ng-template #abpHeader>\r\n    <h3>\r\n      @if (selected?.id) {\r\n        {{ 'LanguageManagement::Edit' | abpLocalization }}\r\n        @if (selected.displayName) {\r\n          - {{ selected.displayName }}\r\n        }\r\n      } @else {\r\n        {{ 'LanguageManagement::CreateNewLanguage' | abpLocalization }}\r\n      }\r\n    </h3>\r\n  </ng-template>\r\n\r\n  <ng-template #abpBody>\r\n    @if (form) {\r\n      <form [formGroup]=\"form\" id=\"languageForm\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n        <div class=\"mt-2\">\r\n          <abp-extensible-form [selectedRecord]=\"selected\" />\r\n        </div>\r\n      </form>\r\n    }\r\n  </ng-template>\r\n\r\n  <ng-template #abpFooter>\r\n    <button type=\"button\" class=\"btn btn-outline-primary\" abpClose>\r\n      {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n    </button>\r\n    <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"languageForm\">\r\n      {{ 'AbpIdentity::Save' | abpLocalization }}\r\n    </abp-button>\r\n  </ng-template>\r\n</abp-modal>\r\n","import { Component, DOCUMENT, inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { finalize } from 'rxjs/operators';\r\nimport {\r\n  ConfigStateService,\r\n  LanguageInfo,\r\n  ListService,\r\n  LocalizationPipe,\r\n  PagedResultDto,\r\n} from '@abp/ng.core';\r\nimport { EXTENSIONS_IDENTIFIER, GridActionsComponent } from '@abp/ng.components/extensible';\r\nimport { PageComponent } from '@abp/ng.components/page';\r\nimport {\r\n  ButtonComponent,\r\n  ModalCloseDirective,\r\n  ModalComponent,\r\n  NgxDatatableDefaultDirective,\r\n  NgxDatatableListDirective,\r\n  ToasterService,\r\n} from '@abp/ng.theme.shared';\r\nimport {\r\n  GetLanguagesTextsInput,\r\n  LanguageService,\r\n  LanguageTextDto,\r\n  LanguageTextService,\r\n} from '@volo/abp.ng.language-management/proxy';\r\nimport {\r\n  AdvancedEntityFiltersAboveSearchComponent,\r\n  AdvancedEntityFiltersComponent,\r\n} from '@volo/abp.commercial.ng.ui';\r\nimport { eLanguageManagementComponents } from '../../enums/components';\r\n\r\n@Component({\r\n  selector: 'abp-language-texts',\r\n  templateUrl: './language-texts.component.html',\r\n  providers: [\r\n    ListService,\r\n    {\r\n      provide: EXTENSIONS_IDENTIFIER,\r\n      useValue: eLanguageManagementComponents.LanguageTexts,\r\n    },\r\n  ],\r\n  imports: [\r\n    FormsModule,\r\n    NgxDatatableModule,\r\n    NgxDatatableDefaultDirective,\r\n    NgxDatatableListDirective,\r\n    ModalCloseDirective,\r\n    LocalizationPipe,\r\n    GridActionsComponent,\r\n    AdvancedEntityFiltersComponent,\r\n    AdvancedEntityFiltersAboveSearchComponent,\r\n    PageComponent,\r\n    ModalComponent,\r\n    ButtonComponent,\r\n  ],\r\n})\r\nexport class LanguageTextsComponent implements OnInit {\r\n  protected readonly list = inject(ListService<GetLanguagesTextsInput>);\r\n  protected readonly renderer = inject(Renderer2);\r\n  protected readonly configState = inject(ConfigStateService);\r\n  protected readonly service = inject(LanguageTextService);\r\n  protected readonly languageService = inject(LanguageService);\r\n  protected readonly toasterService = inject(ToasterService);\r\n  private document = inject(DOCUMENT);\r\n\r\n  data: PagedResultDto<LanguageTextDto> = { items: [], totalCount: 0 };\r\n\r\n  columns: { field: string; header: string }[];\r\n\r\n  selected: LanguageTextDto;\r\n\r\n  selectedIndex: number;\r\n\r\n  pageQuery = {} as GetLanguagesTextsInput;\r\n\r\n  isModalVisible = false;\r\n\r\n  modalBusy = false;\r\n\r\n  languages: LanguageInfo[];\r\n\r\n  resources: { name?: string }[] = [];\r\n\r\n  ngOnInit() {\r\n    this.languages = this.configState.getDeep('localization.languages');\r\n\r\n    this.languageService.getResources().subscribe(resources => {\r\n      this.resources = resources;\r\n    });\r\n\r\n    this.pageQuery = {\r\n      baseCultureName: this.languages[0].cultureName,\r\n      targetCultureName: this.languages?.[1]?.cultureName || this.languages?.[0]?.cultureName,\r\n      getOnlyEmptyValues: false,\r\n      resourceName: null,\r\n    } as GetLanguagesTextsInput;\r\n\r\n    this.hookToQuery();\r\n\r\n    this.columns = [\r\n      { field: 'name', header: 'LanguageManagement::Key' },\r\n      { field: 'baseValue', header: 'LanguageManagement::BaseValue' },\r\n      { field: 'value', header: 'LanguageManagement::Value' },\r\n      { field: 'resourceName', header: 'LanguageManagement::ResourceName' },\r\n    ];\r\n  }\r\n\r\n  openModal() {\r\n    this.isModalVisible = true;\r\n  }\r\n\r\n  closeModal() {\r\n    this.isModalVisible = false;\r\n    this.selected = {} as LanguageTextDto;\r\n    this.selectedIndex = null;\r\n  }\r\n\r\n  private hookToQuery() {\r\n    this.list\r\n      .hookToQuery(query => this.service.getList({ ...query, ...this.pageQuery }))\r\n      .subscribe(res => {\r\n        this.data = res;\r\n        if (this.isModalVisible) {\r\n          if (!res.items[this.selectedIndex]) {\r\n            this.closeModal();\r\n            return;\r\n          }\r\n\r\n          this.selected = { ...res.items[this.selectedIndex] };\r\n        }\r\n      });\r\n  }\r\n\r\n  edit(data: LanguageTextDto, index: number) {\r\n    this.selectedIndex = index % this.list.maxResultCount;\r\n\r\n    this.selected = { ...data };\r\n    this.openModal();\r\n  }\r\n\r\n  save(next?: boolean) {\r\n    if (this.modalBusy) return;\r\n    this.modalBusy = true;\r\n\r\n    const { resourceName, cultureName, name, value } = this.selected;\r\n\r\n    this.service\r\n      .update(resourceName, cultureName, name, value)\r\n      .pipe(\r\n        finalize(() => {\r\n          setTimeout(() => {\r\n            this.modalBusy = false;\r\n          }, 200);\r\n\r\n          if (!next) {\r\n            this.closeModal();\r\n          }\r\n        }),\r\n      )\r\n      .subscribe(() => {\r\n        if (next) {\r\n          const { maxResultCount } = this.list;\r\n          if (\r\n            this.selectedIndex + 1 === this.data.totalCount % maxResultCount &&\r\n            this.list.page * 10 + maxResultCount >= this.data.totalCount\r\n          ) {\r\n            this.closeModal();\r\n            return;\r\n          }\r\n\r\n          if ((this.selectedIndex + 1) % maxResultCount === 0) {\r\n            this.selectedIndex = 0;\r\n            this.list.page = this.list.page + 1;\r\n            this.renderer.removeClass(\r\n              this.document.getElementById('LanguageTextToEdit_TargetCultureValue'),\r\n              'ng-dirty',\r\n            );\r\n          } else {\r\n            this.selectedIndex += 1;\r\n            this.selected = { ...this.data.items[this.selectedIndex] };\r\n            this.renderer.removeClass(\r\n              this.document.getElementById('LanguageTextToEdit_TargetCultureValue'),\r\n              'ng-dirty',\r\n            );\r\n          }\r\n        }\r\n\r\n        this.toasterService.success('AbpUi::SavedSuccessfully');\r\n        this.list.getWithoutPageReset();\r\n      });\r\n  }\r\n\r\n  restore() {\r\n    const { resourceName, cultureName, name } = this.selected;\r\n\r\n    this.service.restoreToDefault(resourceName, cultureName, name).subscribe(() => {\r\n      this.closeModal();\r\n      this.list.get();\r\n    });\r\n  }\r\n}\r\n","<abp-page [title]=\"'LanguageManagement::LanguageTexts' | abpLocalization\" [toolbar]=\"data.items\">\r\n  <div id=\"wrapper\">\r\n    <abp-advanced-entity-filters localizationSourceName=\"LanguageManagement\" [list]=\"list\">\r\n      <abp-advanced-entity-filters-above-search>\r\n        <form id=\"FilterFormId\" (keyup.enter)=\"list.get()\">\r\n          <div class=\"row\">\r\n            <div class=\"col-12 col-md-3\">\r\n              <div class=\"mb-3\">\r\n                <label for=\"BaseCultureName\" class=\"form-label\">{{\r\n                  'LanguageManagement::BaseCultureName' | abpLocalization\r\n                }}</label>\r\n                <select\r\n                  class=\"form-select form-control\"\r\n                  id=\"BaseCultureName\"\r\n                  name=\"BaseCultureName\"\r\n                  [(ngModel)]=\"pageQuery.baseCultureName\"\r\n                  (change)=\"list.get()\"\r\n                >\r\n                  @for (lang of languages; track $index) {\r\n                    <option [ngValue]=\"lang.cultureName\">\r\n                      {{ lang.displayName }}\r\n                    </option>\r\n                  }\r\n                </select>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-12 col-md-3\">\r\n              <div class=\"mb-3\">\r\n                <label for=\"TargetCultureName\" class=\"form-label\">{{\r\n                  'LanguageManagement::TargetCultureName' | abpLocalization\r\n                }}</label>\r\n                <select\r\n                  class=\"form-select form-control\"\r\n                  id=\"TargetCultureName\"\r\n                  name=\"TargetCultureName\"\r\n                  [(ngModel)]=\"pageQuery.targetCultureName\"\r\n                  (change)=\"list.get()\"\r\n                >\r\n                  @for (lang of languages; track $index) {\r\n                    <option [ngValue]=\"lang.cultureName\">\r\n                      {{ lang.displayName }}\r\n                    </option>\r\n                  }\r\n                </select>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-12 col-md-3\">\r\n              <div class=\"mb-3\">\r\n                <label for=\"ResourceName\" class=\"form-label\">{{\r\n                  'LanguageManagement::ResourceName' | abpLocalization\r\n                }}</label>\r\n                <select\r\n                  class=\"form-select form-control\"\r\n                  id=\"ResourceName\"\r\n                  name=\"ResourceName\"\r\n                  [(ngModel)]=\"pageQuery.resourceName\"\r\n                  (change)=\"list.get()\"\r\n                >\r\n                  <option [ngValue]=\"null\">-</option>\r\n                  @for (resource of resources; track $index) {\r\n                    <option [ngValue]=\"resource.name\">\r\n                      {{ resource.name }}\r\n                    </option>\r\n                  }\r\n                </select>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-12 col-md-3\">\r\n              <div class=\"mb-3\">\r\n                <label class=\"form-label\" for=\"GetOnlyEmptyValues\">{{\r\n                  'LanguageManagement::TargetValue' | abpLocalization\r\n                }}</label>\r\n                <select\r\n                  class=\"form-select form-control\"\r\n                  id=\"GetOnlyEmptyValues\"\r\n                  name=\"GetOnlyEmptyValues\"\r\n                  [(ngModel)]=\"pageQuery.getOnlyEmptyValues\"\r\n                  (change)=\"list.get()\"\r\n                >\r\n                  <option [ngValue]=\"false\">-</option>\r\n                  <option [ngValue]=\"true\">\r\n                    {{ 'LanguageManagement::OnlyEmptyValues' | abpLocalization }}\r\n                  </option>\r\n                </select>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </form>\r\n      </abp-advanced-entity-filters-above-search>\r\n    </abp-advanced-entity-filters>\r\n\r\n    <div class=\"card\">\r\n      <ngx-datatable default [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\">\r\n        <ngx-datatable-column\r\n          [name]=\"'LanguageManagement::Actions' | abpLocalization\"\r\n          [maxWidth]=\"150\"\r\n          [width]=\"150\"\r\n          [sortable]=\"false\"\r\n        >\r\n          <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n            <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"LanguageManagement::Actions\" />\r\n          </ng-template>\r\n        </ngx-datatable-column>\r\n        @for (col of columns; track $index) {\r\n          <ngx-datatable-column\r\n            [name]=\"col.header | abpLocalization\"\r\n            [prop]=\"col.field\"\r\n            [width]=\"200\"\r\n          >\r\n            <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\r\n              <div abpEllipsis>\r\n                {{ row[col.field] }}\r\n              </div>\r\n            </ng-template>\r\n          </ngx-datatable-column>\r\n        }\r\n      </ngx-datatable>\r\n    </div>\r\n  </div>\r\n</abp-page>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\" [options]=\"{ size: 'lg' }\">\r\n  <ng-template #abpHeader>\r\n    <h3>\r\n      {{ 'LanguageManagement::Edit' | abpLocalization }}\r\n    </h3>\r\n  </ng-template>\r\n\r\n  <ng-template #abpBody>\r\n    <div class=\"fade\" [class.show]=\"!modalBusy\">\r\n      <div class=\"mb-3\">\r\n        <label class=\"form-label\">{{ 'LanguageManagement::Key' | abpLocalization }}</label>\r\n        <div>\r\n          <strong>{{ selected.name }}</strong>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"mb-3\">\r\n        <label class=\"form-label\" for=\"LanguageTextToEdit_BaseCultureValue\">{{\r\n          'LanguageManagement::BaseValue' | abpLocalization\r\n        }}</label\r\n        ><textarea\r\n          id=\"LanguageTextToEdit_BaseCultureValue\"\r\n          name=\"LanguageTextToEdit.BaseCultureValue\"\r\n          rows=\"4\"\r\n          disabled\r\n          class=\"form-control\"\r\n          [value]=\"selected.baseValue\"\r\n        ></textarea>\r\n      </div>\r\n\r\n      <div class=\"mb-3\">\r\n        <label class=\"form-label\" for=\"LanguageTextToEdit_BaseCultureValue\">{{\r\n          'LanguageManagement::TargetValue' | abpLocalization\r\n        }}</label\r\n        ><textarea\r\n          id=\"LanguageTextToEdit_TargetCultureValue\"\r\n          name=\"LanguageTextToEdit.TargetCultureValue\"\r\n          rows=\"4\"\r\n          class=\"form-control\"\r\n          (keyup.enter)=\"save(false)\"\r\n          [(ngModel)]=\"selected.value\"\r\n        ></textarea>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <ng-template #abpFooter>\r\n    <button type=\"button\" class=\"btn btn-sm btn-link\" abpClose>\r\n      {{ 'LanguageManagement::Cancel' | abpLocalization }}\r\n    </button>\r\n\r\n    <abp-button buttonClass=\"btn btn-sm btn-outline-primary\" (click)=\"restore()\">\r\n      {{ 'LanguageManagement::RestoreToDefault' | abpLocalization }}\r\n    </abp-button>\r\n\r\n    <abp-button\r\n      iconClass=\"fa fa-check\"\r\n      buttonClass=\"btn btn-sm btn-primary\"\r\n      (click)=\"save(false)\"\r\n      [loading]=\"modalBusy\"\r\n    >\r\n      {{ 'LanguageManagement::Save' | abpLocalization }}\r\n    </abp-button>\r\n\r\n    <abp-button buttonClass=\"btn btn-sm btn-success\" (click)=\"save(true)\" [loading]=\"modalBusy\">\r\n      {{ 'LanguageManagement::SaveAndNext' | abpLocalization }}\r\n      <i class=\"fa fa-arrow-right ms-1\" aria-hidden=\"true\"></i>\r\n    </abp-button>\r\n  </ng-template>\r\n</abp-modal>\r\n","import { EntityAction } from '@abp/ng.components/extensible';\r\nimport { LanguageTextDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { LanguageTextsComponent } from '../components/language-texts/language-texts.component';\r\n\r\nexport const DEFAULT_LANGUAGE_TEXTS_ENTITY_ACTIONS = EntityAction.createMany<LanguageTextDto>([\r\n  {\r\n    text: 'LanguageManagement::Edit',\r\n    action: data => {\r\n      const component = data.getInjected(LanguageTextsComponent);\r\n      component.edit(data.record, data.index);\r\n    },\r\n    permission: 'LanguageManagement.LanguageTexts.Edit',\r\n  },\r\n]);\r\n","import { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { LanguageTextDto } from '@volo/abp.ng.language-management/proxy';\r\n\r\nexport const DEFAULT_LANGUAGE_TEXTS_TOOLBAR_ACTIONS = ToolbarAction.createMany<LanguageTextDto[]>(\r\n  [],\r\n);\r\n","import { EntityAction } from '@abp/ng.components/extensible';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { LanguagesComponent } from '../components/languages/languages.component';\r\n\r\nexport const DEFAULT_LANGUAGES_ENTITY_ACTIONS = EntityAction.createMany<LanguageDto>([\r\n  {\r\n    text: 'LanguageManagement::Edit',\r\n    action: data => {\r\n      const component = data.getInjected(LanguagesComponent);\r\n      component.edit(data.record.id);\r\n    },\r\n    permission: 'LanguageManagement.Languages.Edit',\r\n  },\r\n  {\r\n    text: 'LanguageManagement::Delete',\r\n    action: data => {\r\n      const component = data.getInjected(LanguagesComponent);\r\n      component.delete(data.record.id, data.record.displayName, data.record.isDefaultLanguage);\r\n    },\r\n    permission: 'LanguageManagement.Languages.Delete',\r\n  },\r\n  {\r\n    text: 'LanguageManagement::SetAsDefaultLanguage',\r\n    action: data => {\r\n      const component = data.getInjected(LanguagesComponent);\r\n      component.setAsDefault(data.record.id);\r\n    },\r\n    permission: 'LanguageManagement.Languages.ChangeDefault',\r\n  },\r\n]);\r\n","import { escapeHtmlChars, LocalizationService } from '@abp/ng.core';\r\nimport { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_LANGUAGES_ENTITY_PROPS = EntityProp.createMany<LanguageDto>([\r\n  {\r\n    type: ePropType.String,\r\n    name: 'displayName',\r\n    displayName: 'LanguageManagement::DisplayName',\r\n    columnWidth: 200,\r\n    valueResolver: data => {\r\n      const { displayName, isDefaultLanguage } = data.record;\r\n\r\n      if (!isDefaultLanguage) return of(displayName);\r\n\r\n      const l10n = data.getInjected(LocalizationService);\r\n      const t = l10n.instant.bind(l10n);\r\n\r\n      return of(\r\n        `<strong>${escapeHtmlChars(displayName)} (${t(\r\n          'LanguageManagement::DefaultLanguage',\r\n        )})</strong>`,\r\n      );\r\n    },\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'cultureName',\r\n    displayName: 'LanguageManagement::CultureName',\r\n    columnWidth: 200,\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'uiCultureName',\r\n    displayName: 'LanguageManagement::UiCultureName',\r\n    columnWidth: 200,\r\n  },\r\n  {\r\n    type: ePropType.Boolean,\r\n    name: 'isEnabled',\r\n    displayName: 'LanguageManagement::IsEnabled',\r\n    columnWidth: 100,\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'flagIcon',\r\n    displayName: 'LanguageManagement::FlagIcon',\r\n    columnWidth: 100,\r\n    valueResolver: data => {\r\n      const { displayName, flagIcon } = data.record;\r\n      return of(`<span class=\"fi fis fi-${flagIcon}\" title=\"${displayName}\"></span>`);\r\n    },\r\n  },\r\n]);\r\n","import { Validators } from '@angular/forms';\r\nimport { of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { ePropType, FormProp, PropData } from '@abp/ng.components/extensible';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { LanguagesComponent } from '../components/languages/languages.component';\r\n\r\nfunction EMPTY_OPTION<T>(data: Omit<PropData<T>, 'data'>) {\r\n  const localizationService = data.getInjected(LocalizationService);\r\n\r\n  return {\r\n    value: null,\r\n    key: localizationService.instant('AbpUi::NotAssigned'),\r\n  };\r\n}\r\n\r\nexport const DEFAULT_LANGUAGES_CREATE_FORM_PROPS = FormProp.createMany<LanguageDto>([\r\n  {\r\n    type: ePropType.String,\r\n    name: 'cultureName',\r\n    displayName: 'LanguageManagement::CultureName',\r\n    id: 'culture-name',\r\n    validators: () => [Validators.required],\r\n    options: data =>\r\n      data.getInjected(LanguagesComponent).cultures$.pipe(\r\n        map(cultures => {\r\n          return [\r\n            EMPTY_OPTION(data),\r\n            ...cultures.map(culture => ({\r\n              key: culture.displayName,\r\n              value: culture.name,\r\n            })),\r\n          ];\r\n        }),\r\n      ),\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'uiCultureName',\r\n    displayName: 'LanguageManagement::UiCultureName',\r\n    id: 'ui-culture-name',\r\n    validators: () => [Validators.required],\r\n    options: data =>\r\n      data.getInjected(LanguagesComponent).cultures$.pipe(\r\n        map(cultures => {\r\n          return [\r\n            EMPTY_OPTION(data),\r\n            ...cultures.map(culture => ({\r\n              key: culture.displayName,\r\n              value: culture.name,\r\n            })),\r\n          ];\r\n        }),\r\n      ),\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'displayName',\r\n    displayName: 'LanguageManagement::DisplayName',\r\n    id: 'name',\r\n    validators: () => [Validators.maxLength(256)],\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'flagIcon',\r\n    displayName: 'LanguageManagement::FlagIcon',\r\n    id: 'flag-icon',\r\n    validators: () => [Validators.required],\r\n    options: data =>\r\n      of(\r\n        data.getInjected(LanguagesComponent).flagIcons.map(flag => ({\r\n          key: flag,\r\n          value: flag,\r\n        })),\r\n      ),\r\n  },\r\n\r\n  {\r\n    type: ePropType.Boolean,\r\n    name: 'isEnabled',\r\n    displayName: 'LanguageManagement::IsEnabled',\r\n    id: 'is-enabled',\r\n    defaultValue: false,\r\n  },\r\n]);\r\n\r\nexport const DEFAULT_LANGUAGES_EDIT_FORM_PROPS = DEFAULT_LANGUAGES_CREATE_FORM_PROPS.slice(2);\r\n","import { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { LanguagesComponent } from '../components/languages/languages.component';\r\n\r\nexport const DEFAULT_LANGUAGES_TOOLBAR_ACTIONS = ToolbarAction.createMany<LanguageDto[]>([\r\n  {\r\n    text: 'LanguageManagement::CreateNewLanguage',\r\n    action: data => {\r\n      const component = data.getInjected(LanguagesComponent);\r\n      component.add();\r\n    },\r\n    permission: 'LanguageManagement.Languages.Create',\r\n    icon: 'fa fa-plus',\r\n  },\r\n]);\r\n","import {\r\n  CreateFormPropContributorCallback,\r\n  EditFormPropContributorCallback,\r\n  EntityActionContributorCallback,\r\n  EntityPropContributorCallback,\r\n  ToolbarActionContributorCallback,\r\n} from '@abp/ng.components/extensible';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { LanguageDto, LanguageTextDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { DEFAULT_LANGUAGE_TEXTS_ENTITY_ACTIONS } from '../defaults/default-language-texts-entity-actions';\r\nimport { DEFAULT_LANGUAGE_TEXTS_TOOLBAR_ACTIONS } from '../defaults/default-language-texts-toolbar-actions';\r\nimport { DEFAULT_LANGUAGES_ENTITY_ACTIONS } from '../defaults/default-languages-entity-actions';\r\nimport { DEFAULT_LANGUAGES_ENTITY_PROPS } from '../defaults/default-languages-entity-props';\r\nimport {\r\n  DEFAULT_LANGUAGES_CREATE_FORM_PROPS,\r\n  DEFAULT_LANGUAGES_EDIT_FORM_PROPS,\r\n} from '../defaults/default-languages-form-props';\r\nimport { DEFAULT_LANGUAGES_TOOLBAR_ACTIONS } from '../defaults/default-languages-toolbar-actions';\r\nimport { eLanguageManagementComponents } from '../enums/components';\r\n\r\nexport const DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_ACTIONS = {\r\n  [eLanguageManagementComponents.Languages]: DEFAULT_LANGUAGES_ENTITY_ACTIONS,\r\n  [eLanguageManagementComponents.LanguageTexts]: DEFAULT_LANGUAGE_TEXTS_ENTITY_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_LANGUAGE_MANAGEMENT_TOOLBAR_ACTIONS = {\r\n  [eLanguageManagementComponents.Languages]: DEFAULT_LANGUAGES_TOOLBAR_ACTIONS,\r\n  [eLanguageManagementComponents.LanguageTexts]: DEFAULT_LANGUAGE_TEXTS_TOOLBAR_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS = {\r\n  [eLanguageManagementComponents.Languages]: DEFAULT_LANGUAGES_ENTITY_PROPS,\r\n};\r\n\r\nexport const DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS = {\r\n  [eLanguageManagementComponents.Languages]: DEFAULT_LANGUAGES_CREATE_FORM_PROPS,\r\n};\r\n\r\nexport const DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS = {\r\n  [eLanguageManagementComponents.Languages]: DEFAULT_LANGUAGES_EDIT_FORM_PROPS,\r\n};\r\n\r\nexport const LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<EntityActionContributors>('LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS');\r\n\r\nexport const LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<ToolbarActionContributors>('LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS');\r\n\r\nexport const LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS =\r\n  new InjectionToken<EntityPropContributors>('LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS');\r\n\r\nexport const LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS =\r\n  new InjectionToken<CreateFormPropContributors>(\r\n    'LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS',\r\n  );\r\n\r\nexport const LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS =\r\n  new InjectionToken<EditFormPropContributors>('LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS');\r\n\r\n// https://github.com/microsoft/TypeScript/issues/9944#issuecomment-254693497\r\ntype EntityActionContributors = Partial<{\r\n  [eLanguageManagementComponents.Languages]: EntityActionContributorCallback<LanguageDto>[];\r\n  [eLanguageManagementComponents.LanguageTexts]: EntityActionContributorCallback<LanguageTextDto>[];\r\n}>;\r\ntype ToolbarActionContributors = Partial<{\r\n  [eLanguageManagementComponents.Languages]: ToolbarActionContributorCallback<LanguageDto[]>[];\r\n  [eLanguageManagementComponents.LanguageTexts]: ToolbarActionContributorCallback<\r\n    LanguageTextDto[]\r\n  >[];\r\n}>;\r\ntype EntityPropContributors = Partial<{\r\n  [eLanguageManagementComponents.Languages]: EntityPropContributorCallback<LanguageDto>[];\r\n  [eLanguageManagementComponents.LanguageTexts]: EntityPropContributorCallback<LanguageTextDto>[];\r\n}>;\r\ntype CreateFormPropContributors = Partial<{\r\n  [eLanguageManagementComponents.Languages]: CreateFormPropContributorCallback<LanguageDto>[];\r\n  [eLanguageManagementComponents.LanguageTexts]: CreateFormPropContributorCallback<LanguageTextDto>[];\r\n}>;\r\ntype EditFormPropContributors = Partial<{\r\n  [eLanguageManagementComponents.Languages]: EditFormPropContributorCallback<LanguageDto>[];\r\n  [eLanguageManagementComponents.LanguageTexts]: EditFormPropContributorCallback<LanguageTextDto>[];\r\n}>;\r\n","import {\r\n  EntityProp,\r\n  ExtensionsService,\r\n  FormProp,\r\n  getObjectExtensionEntitiesFromStore,\r\n  mapEntitiesToContributors,\r\n  mergeWithDefaultActions,\r\n  mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { ENABLE_FLAG_ICON } from '@volo/abp.commercial.ng.ui/config';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { inject, Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, mapTo, tap } from 'rxjs/operators';\r\nimport { eLanguageManagementComponents } from '../enums/components';\r\nimport {\r\n  LanguageManagementCreateFormPropContributors,\r\n  LanguageManagementEditFormPropContributors,\r\n  LanguageManagementEntityActionContributors,\r\n  LanguageManagementEntityPropContributors,\r\n  LanguageManagementToolbarActionContributors,\r\n} from '../models/config-options';\r\nimport {\r\n  DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_ACTIONS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n  LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\n/**\r\n * @deprecated Use `languageManagementExtensionsResolver` *function* instead.\r\n */\r\n@Injectable()\r\nexport class LanguageManagementExtensionsGuard {\r\n  private readonly injector = inject(Injector);\r\n\r\n  canActivate(): Observable<boolean> {\r\n    const isFlagIconEnabled = this.injector.get(ENABLE_FLAG_ICON);\r\n    const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n    const actionContributors: LanguageManagementEntityActionContributors =\r\n      this.injector.get(LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};\r\n    const toolbarContributors: LanguageManagementToolbarActionContributors =\r\n      this.injector.get(LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};\r\n    const propContributors: LanguageManagementEntityPropContributors =\r\n      this.injector.get(LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};\r\n    const createFormContributors: LanguageManagementCreateFormPropContributors =\r\n      this.injector.get(LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, null) || {};\r\n    const editFormContributors: LanguageManagementEditFormPropContributors =\r\n      this.injector.get(LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n    if (!isFlagIconEnabled) {\r\n      this.filterFlagIcon(\r\n        DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n      );\r\n    }\r\n\r\n    return getObjectExtensionEntitiesFromStore(this.injector, 'LanguageManagement').pipe(\r\n      map(entities => ({\r\n        [eLanguageManagementComponents.Languages]: entities.Language,\r\n      })),\r\n      mapEntitiesToContributors(this.injector, 'LanguageManagement'),\r\n      tap(objectExtensionContributors => {\r\n        mergeWithDefaultActions(\r\n          extensions.entityActions,\r\n          DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_ACTIONS,\r\n          actionContributors,\r\n        );\r\n        mergeWithDefaultActions(\r\n          extensions.toolbarActions,\r\n          DEFAULT_LANGUAGE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n          toolbarContributors,\r\n        );\r\n        mergeWithDefaultProps(\r\n          extensions.entityProps,\r\n          DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n          objectExtensionContributors.prop,\r\n          propContributors,\r\n        );\r\n        mergeWithDefaultProps(\r\n          extensions.createFormProps,\r\n          DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n          objectExtensionContributors.createForm,\r\n          createFormContributors,\r\n        );\r\n        mergeWithDefaultProps(\r\n          extensions.editFormProps,\r\n          DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n          objectExtensionContributors.editForm,\r\n          editFormContributors,\r\n        );\r\n      }),\r\n      mapTo(true),\r\n    );\r\n  }\r\n\r\n  private filterFlagIcon(\r\n    ...defaults: Array<{\r\n      [eLanguageManagementComponents.Languages]: Array<\r\n        EntityProp<LanguageDto> | FormProp<LanguageDto>\r\n      >;\r\n    }>\r\n  ) {\r\n    defaults.forEach(d => {\r\n      d[eLanguageManagementComponents.Languages] = d[\r\n        eLanguageManagementComponents.Languages\r\n      ].filter(prop => prop.name !== 'flagIcon');\r\n    });\r\n  }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\n\r\nimport { LANGUAGE_MANAGEMENT_FEATURES } from '@volo/abp.ng.language-management/common';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ModuleVisibility } from '@volo/abp.commercial.ng.ui/config';\r\n\r\n/**\r\n * @deprecated Use `languageManagementGuard` *function* instead.\r\n */\r\n@Injectable()\r\nexport class LanguageManagementGuard {\r\n  private languageManagementFeatures = inject<Observable<ModuleVisibility>>(LANGUAGE_MANAGEMENT_FEATURES);\r\n\r\n\r\n  canActivate() {\r\n    return this.languageManagementFeatures.pipe(map(features => features.enable));\r\n  }\r\n}\r\n\r\nexport const languageManagementGuard = () => {\r\n  const languageManagementFeatures = inject(LANGUAGE_MANAGEMENT_FEATURES);\r\n\r\n  return languageManagementFeatures.pipe(map(features => features.enable));\r\n};\r\n","import {\r\n  EntityProp,\r\n  ExtensionsService,\r\n  FormProp,\r\n  getObjectExtensionEntitiesFromStore,\r\n  mapEntitiesToContributors,\r\n  mergeWithDefaultActions,\r\n  mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { ENABLE_FLAG_ICON } from '@volo/abp.commercial.ng.ui/config';\r\nimport { LanguageDto } from '@volo/abp.ng.language-management/proxy';\r\nimport { Injector, inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { eLanguageManagementComponents } from '../enums/components';\r\nimport {\r\n  LanguageManagementCreateFormPropContributors,\r\n  LanguageManagementEditFormPropContributors,\r\n  LanguageManagementEntityActionContributors,\r\n  LanguageManagementEntityPropContributors,\r\n  LanguageManagementToolbarActionContributors,\r\n} from '../models/config-options';\r\nimport {\r\n  DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_ACTIONS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n  DEFAULT_LANGUAGE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n  LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\nexport const languageManagementExtensionsResolver: ResolveFn<any> = () => {\r\n  const injector = inject(Injector);\r\n\r\n  const isFlagIconEnabled = injector.get(ENABLE_FLAG_ICON);\r\n  const extensions: ExtensionsService = injector.get(ExtensionsService);\r\n  const actionContributors: LanguageManagementEntityActionContributors =\r\n    injector.get(LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};\r\n  const toolbarContributors: LanguageManagementToolbarActionContributors =\r\n    injector.get(LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};\r\n  const propContributors: LanguageManagementEntityPropContributors =\r\n    injector.get(LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};\r\n  const createFormContributors: LanguageManagementCreateFormPropContributors =\r\n    injector.get(LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, null) || {};\r\n  const editFormContributors: LanguageManagementEditFormPropContributors =\r\n    injector.get(LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n  if (!isFlagIconEnabled) {\r\n    filterFlagIcon(\r\n      DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n      DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n      DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n    );\r\n  }\r\n\r\n  return getObjectExtensionEntitiesFromStore(injector, 'LanguageManagement').pipe(\r\n    map(entities => ({\r\n      [eLanguageManagementComponents.Languages]: entities.Language,\r\n    })),\r\n    mapEntitiesToContributors(injector, 'LanguageManagement'),\r\n    tap(objectExtensionContributors => {\r\n      mergeWithDefaultActions(\r\n        extensions.entityActions,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_ACTIONS,\r\n        actionContributors,\r\n      );\r\n      mergeWithDefaultActions(\r\n        extensions.toolbarActions,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n        toolbarContributors,\r\n      );\r\n      mergeWithDefaultProps(\r\n        extensions.entityProps,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_ENTITY_PROPS,\r\n        objectExtensionContributors.prop,\r\n        propContributors,\r\n      );\r\n      mergeWithDefaultProps(\r\n        extensions.createFormProps,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_CREATE_FORM_PROPS,\r\n        objectExtensionContributors.createForm,\r\n        createFormContributors,\r\n      );\r\n      mergeWithDefaultProps(\r\n        extensions.editFormProps,\r\n        DEFAULT_LANGUAGE_MANAGEMENT_EDIT_FORM_PROPS,\r\n        objectExtensionContributors.editForm,\r\n        editFormContributors,\r\n      );\r\n    }),\r\n  );\r\n\r\n  function filterFlagIcon(\r\n    ...defaults: Array<{\r\n      [eLanguageManagementComponents.Languages]: Array<\r\n        EntityProp<LanguageDto> | FormProp<LanguageDto>\r\n      >;\r\n    }>\r\n  ) {\r\n    defaults.forEach(d => {\r\n      d[eLanguageManagementComponents.Languages] = d[\r\n        eLanguageManagementComponents.Languages\r\n      ].filter(prop => prop.name !== 'flagIcon');\r\n    });\r\n  }\r\n};\r\n","import {\r\n  authGuard,\r\n  permissionGuard,\r\n  ReplaceableComponents,\r\n  ReplaceableRouteContainerComponent,\r\n  RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LanguageTextsComponent } from './components/language-texts/language-texts.component';\r\nimport { LanguagesComponent } from './components/languages/languages.component';\r\nimport { eLanguageManagementComponents } from './enums/components';\r\nimport { languageManagementGuard } from './guards/language-mangement.guard';\r\nimport { languageManagementExtensionsResolver } from './resolvers';\r\n\r\nconst routes: Routes = [\r\n  { path: '', redirectTo: 'languages', pathMatch: 'full' },\r\n  {\r\n    path: '',\r\n    component: RouterOutletComponent,\r\n    canActivate: [\r\n      authGuard,\r\n      permissionGuard,\r\n      languageManagementGuard,\r\n    ],\r\n    resolve: [languageManagementExtensionsResolver],\r\n    children: [\r\n      {\r\n        path: 'languages',\r\n        component: ReplaceableRouteContainerComponent,\r\n        data: {\r\n          requiredPolicy: 'LanguageManagement.Languages',\r\n          replaceableComponent: {\r\n            key: eLanguageManagementComponents.Languages,\r\n            defaultComponent: LanguagesComponent,\r\n          } as ReplaceableComponents.RouteData<LanguagesComponent>,\r\n        },\r\n        title: \"LanguageManagement::Languages\"\r\n      },\r\n      {\r\n        path: 'texts',\r\n        component: ReplaceableRouteContainerComponent,\r\n        data: {\r\n          requiredPolicy: 'LanguageManagement.LanguageTexts',\r\n          replaceableComponent: {\r\n            key: eLanguageManagementComponents.LanguageTexts,\r\n            defaultComponent: LanguageTextsComponent,\r\n          } as ReplaceableComponents.RouteData<LanguageTextsComponent>,\r\n        },\r\n        title: \"LanguageManagement::LanguageTexts\"\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class LanguageManagementRoutingModule {}\r\n","import { PageModule } from '@abp/ng.components/page';\r\nimport { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { AdvancedEntityFiltersModule, CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { LanguageTextsComponent } from './components/language-texts/language-texts.component';\r\nimport { LanguagesComponent } from './components/languages/languages.component';\r\nimport { LanguageManagementRoutingModule } from './language-management-routing.module';\r\nimport { LanguageManagementConfigOptions } from './models/config-options';\r\nimport {\r\n  LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\n\r\nconst declarations = [LanguagesComponent, LanguageTextsComponent];\r\n\r\n@NgModule({\r\n  exports: [...declarations],\r\n  imports: [\r\n    LanguageManagementRoutingModule,\r\n    CoreModule,\r\n    CommercialUiModule,\r\n    ThemeSharedModule,\r\n    NgbDropdownModule,\r\n    NgxValidateCoreModule,\r\n    PageModule,\r\n    AdvancedEntityFiltersModule,\r\n    ...declarations,\r\n  ],\r\n})\r\nexport class LanguageManagementModule {\r\n  static forChild(\r\n    options: LanguageManagementConfigOptions = {},\r\n  ): ModuleWithProviders<LanguageManagementModule> {\r\n    return {\r\n      ngModule: LanguageManagementModule,\r\n      providers: [\r\n        {\r\n          provide: LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n          useValue: options.entityActionContributors,\r\n        },\r\n        {\r\n          provide: LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n          useValue: options.toolbarActionContributors,\r\n        },\r\n        {\r\n          provide: LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n          useValue: options.entityPropContributors,\r\n        },\r\n        {\r\n          provide: LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n          useValue: options.createFormPropContributors,\r\n        },\r\n        {\r\n          provide: LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n          useValue: options.editFormPropContributors,\r\n        },\r\n      ],\r\n    };\r\n  }\r\n\r\n  /**\r\n   * @deprecated `LanguageManagementModule.forLazy()` is deprecated. You can use `createRoutes` **function** instead.\r\n   */\r\n  static forLazy(\r\n    options: LanguageManagementConfigOptions = {},\r\n  ): NgModuleFactory<LanguageManagementModule> {\r\n    return new LazyModuleFactory(LanguageManagementModule.forChild(options));\r\n  }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { Routes } from '@angular/router';\r\nimport {\r\n  RouterOutletComponent,\r\n  authGuard,\r\n  permissionGuard,\r\n  ReplaceableRouteContainerComponent,\r\n  ReplaceableComponents,\r\n} from '@abp/ng.core';\r\nimport { LanguagesComponent, LanguageTextsComponent } from './components';\r\nimport { eLanguageManagementComponents } from './enums';\r\nimport { languageManagementGuard } from './guards';\r\nimport { LanguageManagementConfigOptions } from './models';\r\nimport { languageManagementExtensionsResolver } from './resolvers';\r\nimport {\r\n  LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n  LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n} from './tokens';\r\n\r\nexport function createRoutes(config: LanguageManagementConfigOptions = {}): Routes {\r\n  return [\r\n    { path: '', redirectTo: 'languages', pathMatch: 'full' },\r\n    {\r\n      path: '',\r\n      component: RouterOutletComponent,\r\n      providers: provideLanguageManagementContributors(config),\r\n      canActivate: [authGuard, permissionGuard, languageManagementGuard],\r\n      resolve: [languageManagementExtensionsResolver],\r\n      children: [\r\n        {\r\n          path: 'languages',\r\n          component: ReplaceableRouteContainerComponent,\r\n          data: {\r\n            requiredPolicy: 'LanguageManagement.Languages',\r\n            replaceableComponent: {\r\n              key: eLanguageManagementComponents.Languages,\r\n              defaultComponent: LanguagesComponent,\r\n            } as ReplaceableComponents.RouteData<LanguagesComponent>,\r\n          },\r\n          title: 'LanguageManagement::Languages',\r\n        },\r\n        {\r\n          path: 'texts',\r\n          component: ReplaceableRouteContainerComponent,\r\n          data: {\r\n            requiredPolicy: 'LanguageManagement.LanguageTexts',\r\n            replaceableComponent: {\r\n              key: eLanguageManagementComponents.LanguageTexts,\r\n              defaultComponent: LanguageTextsComponent,\r\n            } as ReplaceableComponents.RouteData<LanguageTextsComponent>,\r\n          },\r\n          title: 'LanguageManagement::LanguageTexts',\r\n        },\r\n      ],\r\n    },\r\n  ];\r\n}\r\n\r\nfunction provideLanguageManagementContributors(\r\n  options: LanguageManagementConfigOptions = {},\r\n): Provider[] {\r\n  return [\r\n    {\r\n      provide: LANGUAGE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n      useValue: options.entityActionContributors,\r\n    },\r\n    {\r\n      provide: LANGUAGE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n      useValue: options.toolbarActionContributors,\r\n    },\r\n    {\r\n      provide: LANGUAGE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n      useValue: options.entityPropContributors,\r\n    },\r\n    {\r\n      provide: LANGUAGE_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n      useValue: options.createFormPropContributors,\r\n    },\r\n    {\r\n      provide: LANGUAGE_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n      useValue: options.editFormPropContributors,\r\n    },\r\n  ];\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gBAAe;IACb,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IA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"}