{"version":3,"sources":["node_modules/@codemirror/commands/dist/index.js","node_modules/@codemirror/theme-one-dark/dist/index.js","node_modules/crelt/index.js","node_modules/@codemirror/search/dist/index.js","node_modules/@codemirror/lint/dist/index.js","node_modules/codemirror/dist/index.js","node_modules/@acrodata/code-editor/fesm2022/acrodata-code-editor.mjs","node_modules/date-fns/addWeeks.mjs","node_modules/date-fns/subWeeks.mjs","src/app/shared/generated/Models/PatientDataVm.ts","src/app/fulfillment/services/rx-data-storage.service.ts","src/app/inventory/services/ai-dicts.ts","src/app/inventory/services/inventory.service.ts","src/app/shared/inline-spinner/inline-spinner.component.ts","src/app/shared/inline-spinner/inline-spinner.component.html","src/app/inventory/scan-rx/scan-rx.component.ts","src/app/inventory/scan-rx/scan-rx.component.html","src/app/fulfillment/inv-choice-modal/inv-choice-modal.component.ts","src/app/fulfillment/inv-choice-modal/inv-choice-modal.component.html","src/app/fulfillment/shipment-list-rx-modal/shipment-list-rx-modal.component.ts","src/app/fulfillment/shipment-list-rx-modal/shipment-list-rx-modal.component.html","src/app/shared/fa-num-icon/fa-icon-name/fa-icon-name.ts","src/app/shared/fa-num-icon/fa-icon-position/fa-icon-position.ts","src/app/shared/fa-num-icon/fa-num-color/fa-num-color.enum.ts","src/app/core/enums/generated/ChatTypeEnum.ts","src/app/shared/conversations/conversations.service.ts","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/edit-rx-fulfillment.component.ts","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/edit-rx-fulfillment.component.html","src/app/shared/generated/Inventory/Models/Shipping/ShipmentCommentVm.ts","src/app/shared/generated/Models/GenericCommentVm.ts","src/app/shared/generated/pcg-settings-Development.ts","src/app/shared/generated/pcg-settings-Demo.ts","src/app/shared/generated/pcg-settings-Production.ts","src/app/shared/generated/pcg-settings.ts","src/app/core/sse-notification/sse-notification.service.ts","src/app/core/enums/generated/SseChatActionEnum.ts","src/app/shared/conversations/conversations.component.ts","src/app/shared/conversations/conversations.component.html","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/comments-modal/comments-modal.component.ts","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/comments-modal/comments-modal.component.html","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/patient-phi-card/patient-phi-card.component.ts","src/app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/patient-phi-card/patient-phi-card.component.html","src/app/shared/generated/Inventory/Models/Shipping/ShipmentListVm.ts","src/app/shared/fa-num-icon/fa-count/fa-count.component.ts","src/app/shared/fa-num-icon/fa-count/fa-count.component.html","src/app/shared/fa-num-icon/fa-num-icon.component.ts","src/app/shared/fa-num-icon/fa-num-icon.component.html","src/app/inventory/rx-fulfillment/shipment-list/shipment-list.component.ts","src/app/inventory/rx-fulfillment/shipment-list/shipment-list.component.html","src/app/shared/scan-product/scan-product.component.ts","src/app/shared/scan-product/scan-product.component.html","src/app/shared/generated/Models/AuditHistoryVm.ts","src/app/shared/audit-history/audit-history.component.ts","src/app/shared/audit-history/audit-history.component.html","src/app/core/enums/generated/VerificationTypeEnum.ts","src/app/shared/generated/Administration/Models/VerificationSettingVm.ts","src/app/shared/generated/Administration/Models/VerificationVm.ts","src/app/shared/authentication/verification-settings/verification-settings.component.ts","src/app/shared/authentication/verification-settings/verification-settings.component.html","node_modules/@pixelverse/strichjs-sdk/dist/strich.js","src/environments/environment.prod.ts","src/app/shared/barcode-scanner-strich/barcode-scanner-strich.component.ts","src/app/shared/barcode-scanner-strich/barcode-scanner-strich.component.html","src/app/core/sendgrid-api/sendgrid-api.service.ts","src/app/shared/bounce-alert/bounce-alert.component.ts","src/app/shared/bounce-alert/bounce-alert.component.html","src/app/shared/ci-workstation/ci-workstation.component.ts","src/app/shared/ci-workstation/ci-workstation.component.html","src/app/shared/generated/Models/GenericOrder/GenericOrderCommentVm.ts","src/app/shared/generated/MetabolicFormula/Models/MetabolicFormulaPatientInfoVm.ts","src/app/shared/generated/MetabolicFormula/Models/MetabolicFormulaPatientCareVm.ts","src/app/shared/generated/MetabolicFormula/Models/MetabolicFormulaInsuranceInfoVm.ts","src/app/shared/generated/Models/GenericOrder/GenericOrderDetailsVm.ts","src/app/shared/generated/CIRepack/Models/CiRepackOrder/CiOrderInfoVm.ts","src/app/shared/comments-modal/comments-modal.component.ts","src/app/shared/comments-modal/comments-modal.component.html","src/app/shared/generated/Administration/Models/Facilities/EditFacilityVm.ts","src/app/shared/generated/Administration/Models/Facilities/FacilityCardinalAccountVm.ts","src/app/shared/facilities/facility-cardinal-accounts/facility-cardinal-accounts.component.ts","src/app/shared/facilities/facility-cardinal-accounts/facility-cardinal-accounts.component.html","src/app/shared/facilities/facility-audit-history/facility-audit-history.component.ts","src/app/shared/facilities/facility-audit-history/facility-audit-history.component.html","src/app/shared/generated/Administration/Models/Facilities/FacilityUserListVm.ts","src/app/shared/generated/Administration/Models/Users/EditUserVm.ts","src/app/shared/facilities/facility-user-list/facility-user-list.component.ts","src/app/shared/facilities/facility-user-list/facility-user-list.component.html","src/app/shared/generated/Administration/Models/Facilities/BusinessAreas/EditFacilityCiDetailVm.ts","src/app/shared/generated/Administration/Models/Facilities/BusinessAreas/EditFacilityInventoryDetailVm.ts","src/app/shared/generated/Administration/Models/Facilities/BusinessAreas/FacilityBusinessAreaVm.ts","src/app/shared/facilities/facility-business-areas/ci-business-area/ci-business-area.component.ts","src/app/shared/facilities/facility-business-areas/ci-business-area/ci-business-area.component.html","src/app/shared/facilities/facility-business-areas/inventory-business-area/inventory-business-area.component.ts","src/app/shared/facilities/facility-business-areas/inventory-business-area/inventory-business-area.component.html","src/app/shared/facilities/facility-business-areas/metabolic-business-area/metabolic-business-area.component.ts","src/app/shared/facilities/facility-business-areas/facilty-business-areas.component.ts","src/app/shared/facilities/facility-business-areas/facilty-business-areas.component.html","src/app/shared/permissions-banner/permissions-banner.component.ts","src/app/shared/permissions-banner/permissions-banner.component.html","src/app/shared/facilities/edit-facility/edit-facility.component.ts","src/app/shared/facilities/edit-facility/edit-facility.component.html","src/app/shared/generated/Administration/Models/Facilities/FacilityListVm.ts","src/app/shared/facilities/facilities-list/facilities-list.component.ts","src/app/shared/facilities/facilities-list/facilities-list.component.html","src/app/heros/applicants/edit-applicant/edit-applicant-helpers/photo-modal/photo-modal.component.ts","src/app/heros/applicants/edit-applicant/edit-applicant-helpers/photo-modal/photo-modal.component.html","src/app/shared/image-slider/image-slider/image-slider.component.ts","src/app/shared/image-slider/image-slider/image-slider.component.html","src/app/shared/image-slider/image-slider.module.ts","src/app/shared/generated/Administration/Models/Organizations/OrganizationAccountRequestVm.ts","src/app/shared/navigation/notification-nav/notification-nav.component.ts","src/app/shared/navigation/notification-nav/notification-nav.component.html","src/app/shared/navigation/nav-notification.service.ts","src/app/shared/organizations/organization-account-update/organization-account-update.component.ts","src/app/shared/organizations/organization-account-update/organization-account-update.component.html","src/app/shared/navigation/quick-navs/quick-nav/quick-nav.service.ts","src/app/ci-repack/ci-dashboard/ci-dashboard-service.service.ts","src/app/shared/navigation/quick-navs/ci-dashboard-actions/ci-dashboard-actions.component.ts","src/app/shared/navigation/quick-navs/ci-dashboard-actions/ci-dashboard-actions.component.html","src/app/shared/navigation/organization-account-update-nav/organization-account-update-nav.component.ts","src/app/shared/navigation/organization-account-update-nav/organization-account-update-nav.component.html","src/app/shared/navigation/top-click-nav/top-click-nav.component.ts","src/app/shared/navigation/top-click-nav/top-click-nav.component.html","src/app/shared/navigation/top-secondary-nav/top-secondary-nav.component.ts","src/app/shared/navigation/top-secondary-nav/top-secondary-nav.component.html","src/app/ci-repack/admin/workstations/workstation.service.ts","src/app/shared/navigation/workstation-banner/workstation-banner.component.ts","src/app/shared/navigation/workstation-banner/workstation-banner.component.html","src/app/shared/navigation/quick-navs/quick-nav/quick-nav.component.ts","src/app/shared/navigation/quick-navs/quick-nav/quick-nav.component.html","src/app/core/pages/dashboard/widgets/notifications-widget/notifications.service.ts","src/app/shared/state/account-request-modal-state.service.ts","src/app/shared/navigation/mat-side-nav/mat-side-nav.component.ts","src/app/shared/navigation/mat-side-nav/mat-side-nav.component.html","src/app/ba/ba.service.ts","src/app/shared/navigation/quick-navs/ba-quick-nav/ba-quick-nav.component.ts","src/app/shared/navigation/quick-navs/ba-quick-nav/ba-quick-nav.component.html","src/app/shared/navigation/quick-navs/pharmacy-quick-nav/pharmacy-quick-nav.component.ts","src/app/shared/navigation/quick-navs/pharmacy-quick-nav/pharmacy-quick-nav.component.html","src/app/shared/navigation/quick-navs/quick-nav-controller/quick-nav-controller.component.ts","src/app/shared/navigation/quick-navs/quick-nav-controller/quick-nav-controller.component.html","src/app/shared/navigation/navigation.module.ts","src/app/shared/generated/Administration/Models/Organizations/EditOrganizationFacilityVm.ts","src/app/shared/organizations/programs-accounts-infographic/programs-accounts-infographic.component.ts","src/app/shared/organizations/programs-accounts-infographic/programs-accounts-infographic.component.html","src/app/shared/organizations/edit-organization-facility/edit-organization-facility.component.ts","src/app/shared/organizations/edit-organization-facility/edit-organization-facility.component.html","src/app/shared/generated/Administration/Models/Organizations/OrganizationUsersVm.ts","src/app/shared/organizations/edit-organization/edit-organization-tabs/associated-users/associated-users.component.ts","src/app/shared/organizations/edit-organization/edit-organization-tabs/associated-users/associated-users.component.html","src/app/shared/generated/Administration/Models/Facilities/MedicalDirectorVm.ts","src/app/shared/generated/Administration/Models/Organizations/EditOrganizationVm.ts","src/app/shared/generated/Administration/Models/Organizations/OrganizationFacilityListVm.ts","src/app/shared/generated/SysInv/Models/SysInvInventoryVm.ts","src/app/shared/facilities/facility-inventories/services/facility-inventory.service.ts","src/app/shared/organizations/org-facility-inventories/org-facility-inventories.component.ts","src/app/shared/organizations/org-facility-inventories/org-facility-inventories.component.html","src/app/shared/organizations/organization-facility-list/organization-facility-list.component.ts","src/app/shared/organizations/organization-facility-list/organization-facility-list.component.html","src/app/shared/organizations/organization-audit-history/organization-audit-history.component.ts","src/app/shared/organizations/organization-audit-history/organization-audit-history.component.html","src/app/shared/generated/Administration/Models/Organizations/OrganizationAccountVm.ts","src/app/shared/organizations/organization-accounts/organization-accounts.component.ts","src/app/shared/organizations/organization-accounts/organization-accounts.component.html","src/app/core/enums/generated/LoginTypeEnum.ts","src/app/core/enums/generated/SSOTypeEnum.ts","src/app/shared/organizations/organization-logins/organization-logins.component.ts","src/app/shared/organizations/organization-logins/organization-logins.component.html","src/app/shared/organizations/edit-organization/edit-organization.component.ts","src/app/shared/organizations/edit-organization/edit-organization.component.html","src/app/shared/organizations/edit-organization/edit-organization.module.ts","src/app/shared/animations/shared-animations.ts","src/app/shared/generated/Administration/Models/Organizations/OrganizationListVm.ts","src/app/core/enums/CollapsibleTableRowStateEnum.ts","src/app/core/collapsible-table/collapsible-table.service.ts","src/app/shared/organizations/organizations-list/organizations-list.component.ts","src/app/shared/organizations/organizations-list/organizations-list.component.html","src/app/shared/pipes/safe.pipe.ts","src/app/shared/pipes/utcToLocalDate.pipe.ts","src/app/shared/stepper/stepper.component.ts","src/app/shared/stepper/stepper.component.html","src/app/shared/stepper/stepper.module.ts","src/app/shared/tooltip-label/tooltip-label.component.ts","src/app/shared/tooltip-label/tooltip-label.component.html","src/app/shared/tooltip/tooltip.module.ts","src/app/shared/shared.module.ts"],"sourcesContent":["import { Annotation, Facet, combineConfig, StateField, Transaction, ChangeSet, ChangeDesc, EditorSelection, StateEffect, Text, findClusterBreak, countColumn, CharCategory } from '@codemirror/state';\nimport { EditorView, Direction } from '@codemirror/view';\nimport { IndentContext, getIndentation, indentString, matchBrackets, syntaxTree, getIndentUnit, indentUnit } from '@codemirror/language';\nimport { NodeProp } from '@lezer/common';\n\n/**\nComment or uncomment the current selection. Will use line comments\nif available, otherwise falling back to block comments.\n*/\nconst toggleComment = target => {\n let {\n state\n } = target,\n line = state.doc.lineAt(state.selection.main.from),\n config = getConfig(target.state, line.from);\n return config.line ? toggleLineComment(target) : config.block ? toggleBlockCommentByLine(target) : false;\n};\nfunction command(f, option) {\n return ({\n state,\n dispatch\n }) => {\n if (state.readOnly) return false;\n let tr = f(option, state);\n if (!tr) return false;\n dispatch(state.update(tr));\n return true;\n };\n}\n/**\nComment or uncomment the current selection using line comments.\nThe line comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleLineComment = /*@__PURE__*/command(changeLineComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using line comments.\n*/\nconst lineComment = /*@__PURE__*/command(changeLineComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using line comments.\n*/\nconst lineUncomment = /*@__PURE__*/command(changeLineComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the current selection using block comments.\nThe block comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleBlockComment = /*@__PURE__*/command(changeBlockComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using block comments.\n*/\nconst blockComment = /*@__PURE__*/command(changeBlockComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using block comments.\n*/\nconst blockUncomment = /*@__PURE__*/command(changeBlockComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the lines around the current selection using\nblock comments.\n*/\nconst toggleBlockCommentByLine = /*@__PURE__*/command((o, s) => changeBlockComment(o, s, selectedLineRanges(s)), 0 /* CommentOption.Toggle */);\nfunction getConfig(state, pos) {\n let data = state.languageDataAt(\"commentTokens\", pos);\n return data.length ? data[0] : {};\n}\nconst SearchMargin = 50;\n/**\nDetermines if the given range is block-commented in the given\nstate.\n*/\nfunction findBlockComment(state, {\n open,\n close\n}, from, to) {\n let textBefore = state.sliceDoc(from - SearchMargin, from);\n let textAfter = state.sliceDoc(to, to + SearchMargin);\n let spaceBefore = /\\s*$/.exec(textBefore)[0].length,\n spaceAfter = /^\\s*/.exec(textAfter)[0].length;\n let beforeOff = textBefore.length - spaceBefore;\n if (textBefore.slice(beforeOff - open.length, beforeOff) == open && textAfter.slice(spaceAfter, spaceAfter + close.length) == close) {\n return {\n open: {\n pos: from - spaceBefore,\n margin: spaceBefore && 1\n },\n close: {\n pos: to + spaceAfter,\n margin: spaceAfter && 1\n }\n };\n }\n let startText, endText;\n if (to - from <= 2 * SearchMargin) {\n startText = endText = state.sliceDoc(from, to);\n } else {\n startText = state.sliceDoc(from, from + SearchMargin);\n endText = state.sliceDoc(to - SearchMargin, to);\n }\n let startSpace = /^\\s*/.exec(startText)[0].length,\n endSpace = /\\s*$/.exec(endText)[0].length;\n let endOff = endText.length - endSpace - close.length;\n if (startText.slice(startSpace, startSpace + open.length) == open && endText.slice(endOff, endOff + close.length) == close) {\n return {\n open: {\n pos: from + startSpace + open.length,\n margin: /\\s/.test(startText.charAt(startSpace + open.length)) ? 1 : 0\n },\n close: {\n pos: to - endSpace - close.length,\n margin: /\\s/.test(endText.charAt(endOff - 1)) ? 1 : 0\n }\n };\n }\n return null;\n}\nfunction selectedLineRanges(state) {\n let ranges = [];\n for (let r of state.selection.ranges) {\n let fromLine = state.doc.lineAt(r.from);\n let toLine = r.to <= fromLine.to ? fromLine : state.doc.lineAt(r.to);\n let last = ranges.length - 1;\n if (last >= 0 && ranges[last].to > fromLine.from) ranges[last].to = toLine.to;else ranges.push({\n from: fromLine.from + /^\\s*/.exec(fromLine.text)[0].length,\n to: toLine.to\n });\n }\n return ranges;\n}\n// Performs toggle, comment and uncomment of block comments in\n// languages that support them.\nfunction changeBlockComment(option, state, ranges = state.selection.ranges) {\n let tokens = ranges.map(r => getConfig(state, r.from).block);\n if (!tokens.every(c => c)) return null;\n let comments = ranges.map((r, i) => findBlockComment(state, tokens[i], r.from, r.to));\n if (option != 2 /* CommentOption.Uncomment */ && !comments.every(c => c)) {\n return {\n changes: state.changes(ranges.map((range, i) => {\n if (comments[i]) return [];\n return [{\n from: range.from,\n insert: tokens[i].open + \" \"\n }, {\n from: range.to,\n insert: \" \" + tokens[i].close\n }];\n }))\n };\n } else if (option != 1 /* CommentOption.Comment */ && comments.some(c => c)) {\n let changes = [];\n for (let i = 0, comment; i < comments.length; i++) if (comment = comments[i]) {\n let token = tokens[i],\n {\n open,\n close\n } = comment;\n changes.push({\n from: open.pos - token.open.length,\n to: open.pos + open.margin\n }, {\n from: close.pos - close.margin,\n to: close.pos + token.close.length\n });\n }\n return {\n changes\n };\n }\n return null;\n}\n// Performs toggle, comment and uncomment of line comments.\nfunction changeLineComment(option, state, ranges = state.selection.ranges) {\n let lines = [];\n let prevLine = -1;\n for (let {\n from,\n to\n } of ranges) {\n let startI = lines.length,\n minIndent = 1e9;\n let token = getConfig(state, from).line;\n if (!token) continue;\n for (let pos = from; pos <= to;) {\n let line = state.doc.lineAt(pos);\n if (line.from > prevLine && (from == to || to > line.from)) {\n prevLine = line.from;\n let indent = /^\\s*/.exec(line.text)[0].length;\n let empty = indent == line.length;\n let comment = line.text.slice(indent, indent + token.length) == token ? indent : -1;\n if (indent < line.text.length && indent < minIndent) minIndent = indent;\n lines.push({\n line,\n comment,\n token,\n indent,\n empty,\n single: false\n });\n }\n pos = line.to + 1;\n }\n if (minIndent < 1e9) for (let i = startI; i < lines.length; i++) if (lines[i].indent < lines[i].line.text.length) lines[i].indent = minIndent;\n if (lines.length == startI + 1) lines[startI].single = true;\n }\n if (option != 2 /* CommentOption.Uncomment */ && lines.some(l => l.comment < 0 && (!l.empty || l.single))) {\n let changes = [];\n for (let {\n line,\n token,\n indent,\n empty,\n single\n } of lines) if (single || !empty) changes.push({\n from: line.from + indent,\n insert: token + \" \"\n });\n let changeSet = state.changes(changes);\n return {\n changes: changeSet,\n selection: state.selection.map(changeSet, 1)\n };\n } else if (option != 1 /* CommentOption.Comment */ && lines.some(l => l.comment >= 0)) {\n let changes = [];\n for (let {\n line,\n comment,\n token\n } of lines) if (comment >= 0) {\n let from = line.from + comment,\n to = from + token.length;\n if (line.text[to - line.from] == \" \") to++;\n changes.push({\n from,\n to\n });\n }\n return {\n changes\n };\n }\n return null;\n}\nconst fromHistory = /*@__PURE__*/Annotation.define();\n/**\nTransaction annotation that will prevent that transaction from\nbeing combined with other transactions in the undo history. Given\n`\"before\"`, it'll prevent merging with previous transactions. With\n`\"after\"`, subsequent transactions won't be combined with this\none. With `\"full\"`, the transaction is isolated on both sides.\n*/\nconst isolateHistory = /*@__PURE__*/Annotation.define();\n/**\nThis facet provides a way to register functions that, given a\ntransaction, provide a set of effects that the history should\nstore when inverting the transaction. This can be used to\nintegrate some kinds of effects in the history, so that they can\nbe undone (and redone again).\n*/\nconst invertedEffects = /*@__PURE__*/Facet.define();\nconst historyConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n minDepth: 100,\n newGroupDelay: 500,\n joinToEvent: (_t, isAdjacent) => isAdjacent\n }, {\n minDepth: Math.max,\n newGroupDelay: Math.min,\n joinToEvent: (a, b) => (tr, adj) => a(tr, adj) || b(tr, adj)\n });\n }\n});\nconst historyField_ = /*@__PURE__*/StateField.define({\n create() {\n return HistoryState.empty;\n },\n update(state, tr) {\n let config = tr.state.facet(historyConfig);\n let fromHist = tr.annotation(fromHistory);\n if (fromHist) {\n let item = HistEvent.fromTransaction(tr, fromHist.selection),\n from = fromHist.side;\n let other = from == 0 /* BranchName.Done */ ? state.undone : state.done;\n if (item) other = updateBranch(other, other.length, config.minDepth, item);else other = addSelection(other, tr.startState.selection);\n return new HistoryState(from == 0 /* BranchName.Done */ ? fromHist.rest : other, from == 0 /* BranchName.Done */ ? other : fromHist.rest);\n }\n let isolate = tr.annotation(isolateHistory);\n if (isolate == \"full\" || isolate == \"before\") state = state.isolate();\n if (tr.annotation(Transaction.addToHistory) === false) return !tr.changes.empty ? state.addMapping(tr.changes.desc) : state;\n let event = HistEvent.fromTransaction(tr);\n let time = tr.annotation(Transaction.time),\n userEvent = tr.annotation(Transaction.userEvent);\n if (event) state = state.addChanges(event, time, userEvent, config, tr);else if (tr.selection) state = state.addSelection(tr.startState.selection, time, userEvent, config.newGroupDelay);\n if (isolate == \"full\" || isolate == \"after\") state = state.isolate();\n return state;\n },\n toJSON(value) {\n return {\n done: value.done.map(e => e.toJSON()),\n undone: value.undone.map(e => e.toJSON())\n };\n },\n fromJSON(json) {\n return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON));\n }\n});\n/**\nCreate a history extension with the given configuration.\n*/\nfunction history(config = {}) {\n return [historyField_, historyConfig.of(config), EditorView.domEventHandlers({\n beforeinput(e, view) {\n let command = e.inputType == \"historyUndo\" ? undo : e.inputType == \"historyRedo\" ? redo : null;\n if (!command) return false;\n e.preventDefault();\n return command(view);\n }\n })];\n}\n/**\nThe state field used to store the history data. Should probably\nonly be used when you want to\n[serialize](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) or\n[deserialize](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) state objects in a way\nthat preserves history.\n*/\nconst historyField = historyField_;\nfunction cmd(side, selection) {\n return function ({\n state,\n dispatch\n }) {\n if (!selection && state.readOnly) return false;\n let historyState = state.field(historyField_, false);\n if (!historyState) return false;\n let tr = historyState.pop(side, state, selection);\n if (!tr) return false;\n dispatch(tr);\n return true;\n };\n}\n/**\nUndo a single group of history events. Returns false if no group\nwas available.\n*/\nconst undo = /*@__PURE__*/cmd(0 /* BranchName.Done */, false);\n/**\nRedo a group of history events. Returns false if no group was\navailable.\n*/\nconst redo = /*@__PURE__*/cmd(1 /* BranchName.Undone */, false);\n/**\nUndo a change or selection change.\n*/\nconst undoSelection = /*@__PURE__*/cmd(0 /* BranchName.Done */, true);\n/**\nRedo a change or selection change.\n*/\nconst redoSelection = /*@__PURE__*/cmd(1 /* BranchName.Undone */, true);\nfunction depth(side) {\n return function (state) {\n let histState = state.field(historyField_, false);\n if (!histState) return 0;\n let branch = side == 0 /* BranchName.Done */ ? histState.done : histState.undone;\n return branch.length - (branch.length && !branch[0].changes ? 1 : 0);\n };\n}\n/**\nThe amount of undoable change events available in a given state.\n*/\nconst undoDepth = /*@__PURE__*/depth(0 /* BranchName.Done */);\n/**\nThe amount of redoable change events available in a given state.\n*/\nconst redoDepth = /*@__PURE__*/depth(1 /* BranchName.Undone */);\n// History events store groups of changes or effects that need to be\n// undone/redone together.\nclass HistEvent {\n constructor(\n // The changes in this event. Normal events hold at least one\n // change or effect. But it may be necessary to store selection\n // events before the first change, in which case a special type of\n // instance is created which doesn't hold any changes, with\n // changes == startSelection == undefined\n changes,\n // The effects associated with this event\n effects,\n // Accumulated mapping (from addToHistory==false) that should be\n // applied to events below this one.\n mapped,\n // The selection before this event\n startSelection,\n // Stores selection changes after this event, to be used for\n // selection undo/redo.\n selectionsAfter) {\n this.changes = changes;\n this.effects = effects;\n this.mapped = mapped;\n this.startSelection = startSelection;\n this.selectionsAfter = selectionsAfter;\n }\n setSelAfter(after) {\n return new HistEvent(this.changes, this.effects, this.mapped, this.startSelection, after);\n }\n toJSON() {\n var _a, _b, _c;\n return {\n changes: (_a = this.changes) === null || _a === void 0 ? void 0 : _a.toJSON(),\n mapped: (_b = this.mapped) === null || _b === void 0 ? void 0 : _b.toJSON(),\n startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(),\n selectionsAfter: this.selectionsAfter.map(s => s.toJSON())\n };\n }\n static fromJSON(json) {\n return new HistEvent(json.changes && ChangeSet.fromJSON(json.changes), [], json.mapped && ChangeDesc.fromJSON(json.mapped), json.startSelection && EditorSelection.fromJSON(json.startSelection), json.selectionsAfter.map(EditorSelection.fromJSON));\n }\n // This does not check `addToHistory` and such, it assumes the\n // transaction needs to be converted to an item. Returns null when\n // there are no changes or effects in the transaction.\n static fromTransaction(tr, selection) {\n let effects = none;\n for (let invert of tr.startState.facet(invertedEffects)) {\n let result = invert(tr);\n if (result.length) effects = effects.concat(result);\n }\n if (!effects.length && tr.changes.empty) return null;\n return new HistEvent(tr.changes.invert(tr.startState.doc), effects, undefined, selection || tr.startState.selection, none);\n }\n static selection(selections) {\n return new HistEvent(undefined, none, undefined, undefined, selections);\n }\n}\nfunction updateBranch(branch, to, maxLen, newEvent) {\n let start = to + 1 > maxLen + 20 ? to - maxLen - 1 : 0;\n let newBranch = branch.slice(start, to);\n newBranch.push(newEvent);\n return newBranch;\n}\nfunction isAdjacent(a, b) {\n let ranges = [],\n isAdjacent = false;\n a.iterChangedRanges((f, t) => ranges.push(f, t));\n b.iterChangedRanges((_f, _t, f, t) => {\n for (let i = 0; i < ranges.length;) {\n let from = ranges[i++],\n to = ranges[i++];\n if (t >= from && f <= to) isAdjacent = true;\n }\n });\n return isAdjacent;\n}\nfunction eqSelectionShape(a, b) {\n return a.ranges.length == b.ranges.length && a.ranges.filter((r, i) => r.empty != b.ranges[i].empty).length === 0;\n}\nfunction conc(a, b) {\n return !a.length ? b : !b.length ? a : a.concat(b);\n}\nconst none = [];\nconst MaxSelectionsPerEvent = 200;\nfunction addSelection(branch, selection) {\n if (!branch.length) {\n return [HistEvent.selection([selection])];\n } else {\n let lastEvent = branch[branch.length - 1];\n let sels = lastEvent.selectionsAfter.slice(Math.max(0, lastEvent.selectionsAfter.length - MaxSelectionsPerEvent));\n if (sels.length && sels[sels.length - 1].eq(selection)) return branch;\n sels.push(selection);\n return updateBranch(branch, branch.length - 1, 1e9, lastEvent.setSelAfter(sels));\n }\n}\n// Assumes the top item has one or more selectionAfter values\nfunction popSelection(branch) {\n let last = branch[branch.length - 1];\n let newBranch = branch.slice();\n newBranch[branch.length - 1] = last.setSelAfter(last.selectionsAfter.slice(0, last.selectionsAfter.length - 1));\n return newBranch;\n}\n// Add a mapping to the top event in the given branch. If this maps\n// away all the changes and effects in that item, drop it and\n// propagate the mapping to the next item.\nfunction addMappingToBranch(branch, mapping) {\n if (!branch.length) return branch;\n let length = branch.length,\n selections = none;\n while (length) {\n let event = mapEvent(branch[length - 1], mapping, selections);\n if (event.changes && !event.changes.empty || event.effects.length) {\n // Event survived mapping\n let result = branch.slice(0, length);\n result[length - 1] = event;\n return result;\n } else {\n // Drop this event, since there's no changes or effects left\n mapping = event.mapped;\n length--;\n selections = event.selectionsAfter;\n }\n }\n return selections.length ? [HistEvent.selection(selections)] : none;\n}\nfunction mapEvent(event, mapping, extraSelections) {\n let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map(s => s.map(mapping)) : none, extraSelections);\n // Change-less events don't store mappings (they are always the last event in a branch)\n if (!event.changes) return HistEvent.selection(selections);\n let mappedChanges = event.changes.map(mapping),\n before = mapping.mapDesc(event.changes, true);\n let fullMapping = event.mapped ? event.mapped.composeDesc(before) : before;\n return new HistEvent(mappedChanges, StateEffect.mapEffects(event.effects, mapping), fullMapping, event.startSelection.map(before), selections);\n}\nconst joinableUserEvent = /^(input\\.type|delete)($|\\.)/;\nlet HistoryState = /*#__PURE__*/(() => {\n class HistoryState {\n constructor(done, undone, prevTime = 0, prevUserEvent = undefined) {\n this.done = done;\n this.undone = undone;\n this.prevTime = prevTime;\n this.prevUserEvent = prevUserEvent;\n }\n isolate() {\n return this.prevTime ? new HistoryState(this.done, this.undone) : this;\n }\n addChanges(event, time, userEvent, config, tr) {\n let done = this.done,\n lastEvent = done[done.length - 1];\n if (lastEvent && lastEvent.changes && !lastEvent.changes.empty && event.changes && (!userEvent || joinableUserEvent.test(userEvent)) && (!lastEvent.selectionsAfter.length && time - this.prevTime < config.newGroupDelay && config.joinToEvent(tr, isAdjacent(lastEvent.changes, event.changes)) ||\n // For compose (but not compose.start) events, always join with previous event\n userEvent == \"input.type.compose\")) {\n done = updateBranch(done, done.length - 1, config.minDepth, new HistEvent(event.changes.compose(lastEvent.changes), conc(event.effects, lastEvent.effects), lastEvent.mapped, lastEvent.startSelection, none));\n } else {\n done = updateBranch(done, done.length, config.minDepth, event);\n }\n return new HistoryState(done, none, time, userEvent);\n }\n addSelection(selection, time, userEvent, newGroupDelay) {\n let last = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;\n if (last.length > 0 && time - this.prevTime < newGroupDelay && userEvent == this.prevUserEvent && userEvent && /^select($|\\.)/.test(userEvent) && eqSelectionShape(last[last.length - 1], selection)) return this;\n return new HistoryState(addSelection(this.done, selection), this.undone, time, userEvent);\n }\n addMapping(mapping) {\n return new HistoryState(addMappingToBranch(this.done, mapping), addMappingToBranch(this.undone, mapping), this.prevTime, this.prevUserEvent);\n }\n pop(side, state, onlySelection) {\n let branch = side == 0 /* BranchName.Done */ ? this.done : this.undone;\n if (branch.length == 0) return null;\n let event = branch[branch.length - 1],\n selection = event.selectionsAfter[0] || state.selection;\n if (onlySelection && event.selectionsAfter.length) {\n return state.update({\n selection: event.selectionsAfter[event.selectionsAfter.length - 1],\n annotations: fromHistory.of({\n side,\n rest: popSelection(branch),\n selection\n }),\n userEvent: side == 0 /* BranchName.Done */ ? \"select.undo\" : \"select.redo\",\n scrollIntoView: true\n });\n } else if (!event.changes) {\n return null;\n } else {\n let rest = branch.length == 1 ? none : branch.slice(0, branch.length - 1);\n if (event.mapped) rest = addMappingToBranch(rest, event.mapped);\n return state.update({\n changes: event.changes,\n selection: event.startSelection,\n effects: event.effects,\n annotations: fromHistory.of({\n side,\n rest,\n selection\n }),\n filter: false,\n userEvent: side == 0 /* BranchName.Done */ ? \"undo\" : \"redo\",\n scrollIntoView: true\n });\n }\n }\n }\n HistoryState.empty = /*@__PURE__*/new HistoryState(none, none);\n /**\n Default key bindings for the undo history.\n \n - Mod-z: [`undo`](https://codemirror.net/6/docs/ref/#commands.undo).\n - Mod-y (Mod-Shift-z on macOS) + Ctrl-Shift-z on Linux: [`redo`](https://codemirror.net/6/docs/ref/#commands.redo).\n - Mod-u: [`undoSelection`](https://codemirror.net/6/docs/ref/#commands.undoSelection).\n - Alt-u (Mod-Shift-u on macOS): [`redoSelection`](https://codemirror.net/6/docs/ref/#commands.redoSelection).\n */\n return HistoryState;\n})();\nconst historyKeymap = [{\n key: \"Mod-z\",\n run: undo,\n preventDefault: true\n}, {\n key: \"Mod-y\",\n mac: \"Mod-Shift-z\",\n run: redo,\n preventDefault: true\n}, {\n linux: \"Ctrl-Shift-z\",\n run: redo,\n preventDefault: true\n}, {\n key: \"Mod-u\",\n run: undoSelection,\n preventDefault: true\n}, {\n key: \"Alt-u\",\n mac: \"Mod-Shift-u\",\n run: redoSelection,\n preventDefault: true\n}];\nfunction updateSel(sel, by) {\n return EditorSelection.create(sel.ranges.map(by), sel.mainIndex);\n}\nfunction setSel(state, selection) {\n return state.update({\n selection,\n scrollIntoView: true,\n userEvent: \"select\"\n });\n}\nfunction moveSel({\n state,\n dispatch\n}, how) {\n let selection = updateSel(state.selection, how);\n if (selection.eq(state.selection, true)) return false;\n dispatch(setSel(state, selection));\n return true;\n}\nfunction rangeEnd(range, forward) {\n return EditorSelection.cursor(forward ? range.to : range.from);\n}\nfunction cursorByChar(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByChar(range, forward) : rangeEnd(range, forward));\n}\nfunction ltrAtCursor(view) {\n return view.textDirectionAt(view.state.selection.main.head) == Direction.LTR;\n}\n/**\nMove the selection one character to the left (which is backward in\nleft-to-right text, forward in right-to-left text).\n*/\nconst cursorCharLeft = view => cursorByChar(view, !ltrAtCursor(view));\n/**\nMove the selection one character to the right.\n*/\nconst cursorCharRight = view => cursorByChar(view, ltrAtCursor(view));\n/**\nMove the selection one character forward.\n*/\nconst cursorCharForward = view => cursorByChar(view, true);\n/**\nMove the selection one character backward.\n*/\nconst cursorCharBackward = view => cursorByChar(view, false);\nfunction cursorByGroup(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByGroup(range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection to the left across one group of word or\nnon-word (but also non-space) characters.\n*/\nconst cursorGroupLeft = view => cursorByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection one group to the right.\n*/\nconst cursorGroupRight = view => cursorByGroup(view, ltrAtCursor(view));\n/**\nMove the selection one group forward.\n*/\nconst cursorGroupForward = view => cursorByGroup(view, true);\n/**\nMove the selection one group backward.\n*/\nconst cursorGroupBackward = view => cursorByGroup(view, false);\nconst segmenter = typeof Intl != \"undefined\" && Intl.Segmenter ? /*@__PURE__*/new Intl.Segmenter(undefined, {\n granularity: \"word\"\n}) : null;\nfunction moveBySubword(view, range, forward) {\n let categorize = view.state.charCategorizer(range.from);\n let cat = CharCategory.Space,\n pos = range.from,\n steps = 0;\n let done = false,\n sawUpper = false,\n sawLower = false;\n let step = next => {\n if (done) return false;\n pos += forward ? next.length : -next.length;\n let nextCat = categorize(next),\n ahead;\n if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\\W_]/.test(next)) nextCat = -1; // Treat word punctuation specially\n if (cat == CharCategory.Space) cat = nextCat;\n if (cat != nextCat) return false;\n if (cat == CharCategory.Word) {\n if (next.toLowerCase() == next) {\n if (!forward && sawUpper) return false;\n sawLower = true;\n } else if (sawLower) {\n if (forward) return false;\n done = true;\n } else {\n if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word && ahead.toLowerCase() == ahead) return false;\n sawUpper = true;\n }\n }\n steps++;\n return true;\n };\n let end = view.moveByChar(range, forward, start => {\n step(start);\n return step;\n });\n if (segmenter && cat == CharCategory.Word && end.from == range.from + steps * (forward ? 1 : -1)) {\n let from = Math.min(range.head, end.head),\n to = Math.max(range.head, end.head);\n let skipped = view.state.sliceDoc(from, to);\n if (skipped.length > 1 && /[\\u4E00-\\uffff]/.test(skipped)) {\n let segments = Array.from(segmenter.segment(skipped));\n if (segments.length > 1) {\n if (forward) return EditorSelection.cursor(range.head + segments[1].index, -1);\n return EditorSelection.cursor(end.head + segments[segments.length - 1].index, 1);\n }\n }\n }\n return end;\n}\nfunction cursorBySubword(view, forward) {\n return moveSel(view, range => range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection one group or camel-case subword forward.\n*/\nconst cursorSubwordForward = view => cursorBySubword(view, true);\n/**\nMove the selection one group or camel-case subword backward.\n*/\nconst cursorSubwordBackward = view => cursorBySubword(view, false);\nfunction interestingNode(state, node, bracketProp) {\n if (node.type.prop(bracketProp)) return true;\n let len = node.to - node.from;\n return len && (len > 2 || /[^\\s,.;:]/.test(state.sliceDoc(node.from, node.to))) || node.firstChild;\n}\nfunction moveBySyntax(state, start, forward) {\n let pos = syntaxTree(state).resolveInner(start.head);\n let bracketProp = forward ? NodeProp.closedBy : NodeProp.openedBy;\n // Scan forward through child nodes to see if there's an interesting\n // node ahead.\n for (let at = start.head;;) {\n let next = forward ? pos.childAfter(at) : pos.childBefore(at);\n if (!next) break;\n if (interestingNode(state, next, bracketProp)) pos = next;else at = forward ? next.to : next.from;\n }\n let bracket = pos.type.prop(bracketProp),\n match,\n newPos;\n if (bracket && (match = forward ? matchBrackets(state, pos.from, 1) : matchBrackets(state, pos.to, -1)) && match.matched) newPos = forward ? match.end.to : match.end.from;else newPos = forward ? pos.to : pos.from;\n return EditorSelection.cursor(newPos, forward ? -1 : 1);\n}\n/**\nMove the cursor over the next syntactic element to the left.\n*/\nconst cursorSyntaxLeft = view => moveSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the cursor over the next syntactic element to the right.\n*/\nconst cursorSyntaxRight = view => moveSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction cursorByLine(view, forward) {\n return moveSel(view, range => {\n if (!range.empty) return rangeEnd(range, forward);\n let moved = view.moveVertically(range, forward);\n return moved.head != range.head ? moved : view.moveToLineBoundary(range, forward);\n });\n}\n/**\nMove the selection one line up.\n*/\nconst cursorLineUp = view => cursorByLine(view, false);\n/**\nMove the selection one line down.\n*/\nconst cursorLineDown = view => cursorByLine(view, true);\nfunction pageInfo(view) {\n let selfScroll = view.scrollDOM.clientHeight < view.scrollDOM.scrollHeight - 2;\n let marginTop = 0,\n marginBottom = 0,\n height;\n if (selfScroll) {\n for (let source of view.state.facet(EditorView.scrollMargins)) {\n let margins = source(view);\n if (margins === null || margins === void 0 ? void 0 : margins.top) marginTop = Math.max(margins === null || margins === void 0 ? void 0 : margins.top, marginTop);\n if (margins === null || margins === void 0 ? void 0 : margins.bottom) marginBottom = Math.max(margins === null || margins === void 0 ? void 0 : margins.bottom, marginBottom);\n }\n height = view.scrollDOM.clientHeight - marginTop - marginBottom;\n } else {\n height = (view.dom.ownerDocument.defaultView || window).innerHeight;\n }\n return {\n marginTop,\n marginBottom,\n selfScroll,\n height: Math.max(view.defaultLineHeight, height - 5)\n };\n}\nfunction cursorByPage(view, forward) {\n let page = pageInfo(view);\n let {\n state\n } = view,\n selection = updateSel(state.selection, range => {\n return range.empty ? view.moveVertically(range, forward, page.height) : rangeEnd(range, forward);\n });\n if (selection.eq(state.selection)) return false;\n let effect;\n if (page.selfScroll) {\n let startPos = view.coordsAtPos(state.selection.main.head);\n let scrollRect = view.scrollDOM.getBoundingClientRect();\n let scrollTop = scrollRect.top + page.marginTop,\n scrollBottom = scrollRect.bottom - page.marginBottom;\n if (startPos && startPos.top > scrollTop && startPos.bottom < scrollBottom) effect = EditorView.scrollIntoView(selection.main.head, {\n y: \"start\",\n yMargin: startPos.top - scrollTop\n });\n }\n view.dispatch(setSel(state, selection), {\n effects: effect\n });\n return true;\n}\n/**\nMove the selection one page up.\n*/\nconst cursorPageUp = view => cursorByPage(view, false);\n/**\nMove the selection one page down.\n*/\nconst cursorPageDown = view => cursorByPage(view, true);\nfunction moveByLineBoundary(view, start, forward) {\n let line = view.lineBlockAt(start.head),\n moved = view.moveToLineBoundary(start, forward);\n if (moved.head == start.head && moved.head != (forward ? line.to : line.from)) moved = view.moveToLineBoundary(start, forward, false);\n if (!forward && moved.head == line.from && line.length) {\n let space = /^\\s*/.exec(view.state.sliceDoc(line.from, Math.min(line.from + 100, line.to)))[0].length;\n if (space && start.head != line.from + space) moved = EditorSelection.cursor(line.from + space);\n }\n return moved;\n}\n/**\nMove the selection to the next line wrap point, or to the end of\nthe line if there isn't one left on this line.\n*/\nconst cursorLineBoundaryForward = view => moveSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection to previous line wrap point, or failing that to\nthe start of the line. If the line is indented, and the cursor\nisn't already at the end of the indentation, this will move to the\nend of the indentation instead of the start of the line.\n*/\nconst cursorLineBoundaryBackward = view => moveSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection one line wrap point to the left.\n*/\nconst cursorLineBoundaryLeft = view => moveSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection one line wrap point to the right.\n*/\nconst cursorLineBoundaryRight = view => moveSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection to the start of the line.\n*/\nconst cursorLineStart = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from, 1));\n/**\nMove the selection to the end of the line.\n*/\nconst cursorLineEnd = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to, -1));\nfunction toMatchingBracket(state, dispatch, extend) {\n let found = false,\n selection = updateSel(state.selection, range => {\n let matching = matchBrackets(state, range.head, -1) || matchBrackets(state, range.head, 1) || range.head > 0 && matchBrackets(state, range.head - 1, 1) || range.head < state.doc.length && matchBrackets(state, range.head + 1, -1);\n if (!matching || !matching.end) return range;\n found = true;\n let head = matching.start.from == range.head ? matching.end.to : matching.end.from;\n return extend ? EditorSelection.range(range.anchor, head) : EditorSelection.cursor(head);\n });\n if (!found) return false;\n dispatch(setSel(state, selection));\n return true;\n}\n/**\nMove the selection to the bracket matching the one it is currently\non, if any.\n*/\nconst cursorMatchingBracket = ({\n state,\n dispatch\n}) => toMatchingBracket(state, dispatch, false);\n/**\nExtend the selection to the bracket matching the one the selection\nhead is currently on, if any.\n*/\nconst selectMatchingBracket = ({\n state,\n dispatch\n}) => toMatchingBracket(state, dispatch, true);\nfunction extendSel(view, how) {\n let selection = updateSel(view.state.selection, range => {\n let head = how(range);\n return EditorSelection.range(range.anchor, head.head, head.goalColumn, head.bidiLevel || undefined);\n });\n if (selection.eq(view.state.selection)) return false;\n view.dispatch(setSel(view.state, selection));\n return true;\n}\nfunction selectByChar(view, forward) {\n return extendSel(view, range => view.moveByChar(range, forward));\n}\n/**\nMove the selection head one character to the left, while leaving\nthe anchor in place.\n*/\nconst selectCharLeft = view => selectByChar(view, !ltrAtCursor(view));\n/**\nMove the selection head one character to the right.\n*/\nconst selectCharRight = view => selectByChar(view, ltrAtCursor(view));\n/**\nMove the selection head one character forward.\n*/\nconst selectCharForward = view => selectByChar(view, true);\n/**\nMove the selection head one character backward.\n*/\nconst selectCharBackward = view => selectByChar(view, false);\nfunction selectByGroup(view, forward) {\n return extendSel(view, range => view.moveByGroup(range, forward));\n}\n/**\nMove the selection head one [group](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) to\nthe left.\n*/\nconst selectGroupLeft = view => selectByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection head one group to the right.\n*/\nconst selectGroupRight = view => selectByGroup(view, ltrAtCursor(view));\n/**\nMove the selection head one group forward.\n*/\nconst selectGroupForward = view => selectByGroup(view, true);\n/**\nMove the selection head one group backward.\n*/\nconst selectGroupBackward = view => selectByGroup(view, false);\nfunction selectBySubword(view, forward) {\n return extendSel(view, range => moveBySubword(view, range, forward));\n}\n/**\nMove the selection head one group or camel-case subword forward.\n*/\nconst selectSubwordForward = view => selectBySubword(view, true);\n/**\nMove the selection head one group or subword backward.\n*/\nconst selectSubwordBackward = view => selectBySubword(view, false);\n/**\nMove the selection head over the next syntactic element to the left.\n*/\nconst selectSyntaxLeft = view => extendSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the selection head over the next syntactic element to the right.\n*/\nconst selectSyntaxRight = view => extendSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction selectByLine(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward));\n}\n/**\nMove the selection head one line up.\n*/\nconst selectLineUp = view => selectByLine(view, false);\n/**\nMove the selection head one line down.\n*/\nconst selectLineDown = view => selectByLine(view, true);\nfunction selectByPage(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward, pageInfo(view).height));\n}\n/**\nMove the selection head one page up.\n*/\nconst selectPageUp = view => selectByPage(view, false);\n/**\nMove the selection head one page down.\n*/\nconst selectPageDown = view => selectByPage(view, true);\n/**\nMove the selection head to the next line boundary.\n*/\nconst selectLineBoundaryForward = view => extendSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection head to the previous line boundary.\n*/\nconst selectLineBoundaryBackward = view => extendSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection head one line boundary to the left.\n*/\nconst selectLineBoundaryLeft = view => extendSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection head one line boundary to the right.\n*/\nconst selectLineBoundaryRight = view => extendSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection head to the start of the line.\n*/\nconst selectLineStart = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from));\n/**\nMove the selection head to the end of the line.\n*/\nconst selectLineEnd = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to));\n/**\nMove the selection to the start of the document.\n*/\nconst cursorDocStart = ({\n state,\n dispatch\n}) => {\n dispatch(setSel(state, {\n anchor: 0\n }));\n return true;\n};\n/**\nMove the selection to the end of the document.\n*/\nconst cursorDocEnd = ({\n state,\n dispatch\n}) => {\n dispatch(setSel(state, {\n anchor: state.doc.length\n }));\n return true;\n};\n/**\nMove the selection head to the start of the document.\n*/\nconst selectDocStart = ({\n state,\n dispatch\n}) => {\n dispatch(setSel(state, {\n anchor: state.selection.main.anchor,\n head: 0\n }));\n return true;\n};\n/**\nMove the selection head to the end of the document.\n*/\nconst selectDocEnd = ({\n state,\n dispatch\n}) => {\n dispatch(setSel(state, {\n anchor: state.selection.main.anchor,\n head: state.doc.length\n }));\n return true;\n};\n/**\nSelect the entire document.\n*/\nconst selectAll = ({\n state,\n dispatch\n}) => {\n dispatch(state.update({\n selection: {\n anchor: 0,\n head: state.doc.length\n },\n userEvent: \"select\"\n }));\n return true;\n};\n/**\nExpand the selection to cover entire lines.\n*/\nconst selectLine = ({\n state,\n dispatch\n}) => {\n let ranges = selectedLineBlocks(state).map(({\n from,\n to\n }) => EditorSelection.range(from, Math.min(to + 1, state.doc.length)));\n dispatch(state.update({\n selection: EditorSelection.create(ranges),\n userEvent: \"select\"\n }));\n return true;\n};\n/**\nSelect the next syntactic construct that is larger than the\nselection. Note that this will only work insofar as the language\n[provider](https://codemirror.net/6/docs/ref/#language.language) you use builds up a full\nsyntax tree.\n*/\nconst selectParentSyntax = ({\n state,\n dispatch\n}) => {\n let selection = updateSel(state.selection, range => {\n var _a;\n let stack = syntaxTree(state).resolveStack(range.from, 1);\n for (let cur = stack; cur; cur = cur.next) {\n let {\n node\n } = cur;\n if ((node.from < range.from && node.to >= range.to || node.to > range.to && node.from <= range.from) && ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent)) return EditorSelection.range(node.to, node.from);\n }\n return range;\n });\n dispatch(setSel(state, selection));\n return true;\n};\n/**\nSimplify the current selection. When multiple ranges are selected,\nreduce it to its main range. Otherwise, if the selection is\nnon-empty, convert it to a cursor selection.\n*/\nconst simplifySelection = ({\n state,\n dispatch\n}) => {\n let cur = state.selection,\n selection = null;\n if (cur.ranges.length > 1) selection = EditorSelection.create([cur.main]);else if (!cur.main.empty) selection = EditorSelection.create([EditorSelection.cursor(cur.main.head)]);\n if (!selection) return false;\n dispatch(setSel(state, selection));\n return true;\n};\nfunction deleteBy(target, by) {\n if (target.state.readOnly) return false;\n let event = \"delete.selection\",\n {\n state\n } = target;\n let changes = state.changeByRange(range => {\n let {\n from,\n to\n } = range;\n if (from == to) {\n let towards = by(range);\n if (towards < from) {\n event = \"delete.backward\";\n towards = skipAtomic(target, towards, false);\n } else if (towards > from) {\n event = \"delete.forward\";\n towards = skipAtomic(target, towards, true);\n }\n from = Math.min(from, towards);\n to = Math.max(to, towards);\n } else {\n from = skipAtomic(target, from, false);\n to = skipAtomic(target, to, true);\n }\n return from == to ? {\n range\n } : {\n changes: {\n from,\n to\n },\n range: EditorSelection.cursor(from, from < range.head ? -1 : 1)\n };\n });\n if (changes.changes.empty) return false;\n target.dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: event,\n effects: event == \"delete.selection\" ? EditorView.announce.of(state.phrase(\"Selection deleted\")) : undefined\n }));\n return true;\n}\nfunction skipAtomic(target, pos, forward) {\n if (target instanceof EditorView) for (let ranges of target.state.facet(EditorView.atomicRanges).map(f => f(target))) ranges.between(pos, pos, (from, to) => {\n if (from < pos && to > pos) pos = forward ? to : from;\n });\n return pos;\n}\nconst deleteByChar = (target, forward, byIndentUnit) => deleteBy(target, range => {\n let pos = range.from,\n {\n state\n } = target,\n line = state.doc.lineAt(pos),\n before,\n targetPos;\n if (byIndentUnit && !forward && pos > line.from && pos < line.from + 200 && !/[^ \\t]/.test(before = line.text.slice(0, pos - line.from))) {\n if (before[before.length - 1] == \"\\t\") return pos - 1;\n let col = countColumn(before, state.tabSize),\n drop = col % getIndentUnit(state) || getIndentUnit(state);\n for (let i = 0; i < drop && before[before.length - 1 - i] == \" \"; i++) pos--;\n targetPos = pos;\n } else {\n targetPos = findClusterBreak(line.text, pos - line.from, forward, forward) + line.from;\n if (targetPos == pos && line.number != (forward ? state.doc.lines : 1)) targetPos += forward ? 1 : -1;else if (!forward && /[\\ufe00-\\ufe0f]/.test(line.text.slice(targetPos - line.from, pos - line.from))) targetPos = findClusterBreak(line.text, targetPos - line.from, false, false) + line.from;\n }\n return targetPos;\n});\n/**\nDelete the selection, or, for cursor selections, the character or\nindentation unit before the cursor.\n*/\nconst deleteCharBackward = view => deleteByChar(view, false, true);\n/**\nDelete the selection or the character before the cursor. Does not\nimplement any extended behavior like deleting whole indentation\nunits in one go.\n*/\nconst deleteCharBackwardStrict = view => deleteByChar(view, false, false);\n/**\nDelete the selection or the character after the cursor.\n*/\nconst deleteCharForward = view => deleteByChar(view, true, false);\nconst deleteByGroup = (target, forward) => deleteBy(target, range => {\n let pos = range.head,\n {\n state\n } = target,\n line = state.doc.lineAt(pos);\n let categorize = state.charCategorizer(pos);\n for (let cat = null;;) {\n if (pos == (forward ? line.to : line.from)) {\n if (pos == range.head && line.number != (forward ? state.doc.lines : 1)) pos += forward ? 1 : -1;\n break;\n }\n let next = findClusterBreak(line.text, pos - line.from, forward) + line.from;\n let nextChar = line.text.slice(Math.min(pos, next) - line.from, Math.max(pos, next) - line.from);\n let nextCat = categorize(nextChar);\n if (cat != null && nextCat != cat) break;\n if (nextChar != \" \" || pos != range.head) cat = nextCat;\n pos = next;\n }\n return pos;\n});\n/**\nDelete the selection or backward until the end of the next\n[group](https://codemirror.net/6/docs/ref/#view.EditorView.moveByGroup), only skipping groups of\nwhitespace when they consist of a single space.\n*/\nconst deleteGroupBackward = target => deleteByGroup(target, false);\n/**\nDelete the selection or forward until the end of the next group.\n*/\nconst deleteGroupForward = target => deleteByGroup(target, true);\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line. If the cursor is directly at the end of the\nline, delete the line break after it.\n*/\nconst deleteToLineEnd = view => deleteBy(view, range => {\n let lineEnd = view.lineBlockAt(range.head).to;\n return range.head < lineEnd ? lineEnd : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line. If the cursor is directly at the start of the\nline, delete the line break before it.\n*/\nconst deleteToLineStart = view => deleteBy(view, range => {\n let lineStart = view.lineBlockAt(range.head).from;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line or the next line wrap before the cursor.\n*/\nconst deleteLineBoundaryBackward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, false).head;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line or the next line wrap after the cursor.\n*/\nconst deleteLineBoundaryForward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, true).head;\n return range.head < lineStart ? lineStart : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete all whitespace directly before a line end from the\ndocument.\n*/\nconst deleteTrailingWhitespace = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n let changes = [];\n for (let pos = 0, prev = \"\", iter = state.doc.iter();;) {\n iter.next();\n if (iter.lineBreak || iter.done) {\n let trailing = prev.search(/\\s+$/);\n if (trailing > -1) changes.push({\n from: pos - (prev.length - trailing),\n to: pos\n });\n if (iter.done) break;\n prev = \"\";\n } else {\n prev = iter.value;\n }\n pos += iter.value.length;\n }\n if (!changes.length) return false;\n dispatch(state.update({\n changes,\n userEvent: \"delete\"\n }));\n return true;\n};\n/**\nReplace each selection range with a line break, leaving the cursor\non the line before the break.\n*/\nconst splitLine = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n let changes = state.changeByRange(range => {\n return {\n changes: {\n from: range.from,\n to: range.to,\n insert: Text.of([\"\", \"\"])\n },\n range: EditorSelection.cursor(range.from)\n };\n });\n dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input\"\n }));\n return true;\n};\n/**\nFlip the characters before and after the cursor(s).\n*/\nconst transposeChars = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n let changes = state.changeByRange(range => {\n if (!range.empty || range.from == 0 || range.from == state.doc.length) return {\n range\n };\n let pos = range.from,\n line = state.doc.lineAt(pos);\n let from = pos == line.from ? pos - 1 : findClusterBreak(line.text, pos - line.from, false) + line.from;\n let to = pos == line.to ? pos + 1 : findClusterBreak(line.text, pos - line.from, true) + line.from;\n return {\n changes: {\n from,\n to,\n insert: state.doc.slice(pos, to).append(state.doc.slice(from, pos))\n },\n range: EditorSelection.cursor(to)\n };\n });\n if (changes.changes.empty) return false;\n dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: \"move.character\"\n }));\n return true;\n};\nfunction selectedLineBlocks(state) {\n let blocks = [],\n upto = -1;\n for (let range of state.selection.ranges) {\n let startLine = state.doc.lineAt(range.from),\n endLine = state.doc.lineAt(range.to);\n if (!range.empty && range.to == endLine.from) endLine = state.doc.lineAt(range.to - 1);\n if (upto >= startLine.number) {\n let prev = blocks[blocks.length - 1];\n prev.to = endLine.to;\n prev.ranges.push(range);\n } else {\n blocks.push({\n from: startLine.from,\n to: endLine.to,\n ranges: [range]\n });\n }\n upto = endLine.number + 1;\n }\n return blocks;\n}\nfunction moveLine(state, dispatch, forward) {\n if (state.readOnly) return false;\n let changes = [],\n ranges = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward ? block.to == state.doc.length : block.from == 0) continue;\n let nextLine = state.doc.lineAt(forward ? block.to + 1 : block.from - 1);\n let size = nextLine.length + 1;\n if (forward) {\n changes.push({\n from: block.to,\n to: nextLine.to\n }, {\n from: block.from,\n insert: nextLine.text + state.lineBreak\n });\n for (let r of block.ranges) ranges.push(EditorSelection.range(Math.min(state.doc.length, r.anchor + size), Math.min(state.doc.length, r.head + size)));\n } else {\n changes.push({\n from: nextLine.from,\n to: block.from\n }, {\n from: block.to,\n insert: state.lineBreak + nextLine.text\n });\n for (let r of block.ranges) ranges.push(EditorSelection.range(r.anchor - size, r.head - size));\n }\n }\n if (!changes.length) return false;\n dispatch(state.update({\n changes,\n scrollIntoView: true,\n selection: EditorSelection.create(ranges, state.selection.mainIndex),\n userEvent: \"move.line\"\n }));\n return true;\n}\n/**\nMove the selected lines up one line.\n*/\nconst moveLineUp = ({\n state,\n dispatch\n}) => moveLine(state, dispatch, false);\n/**\nMove the selected lines down one line.\n*/\nconst moveLineDown = ({\n state,\n dispatch\n}) => moveLine(state, dispatch, true);\nfunction copyLine(state, dispatch, forward) {\n if (state.readOnly) return false;\n let changes = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward) changes.push({\n from: block.from,\n insert: state.doc.slice(block.from, block.to) + state.lineBreak\n });else changes.push({\n from: block.to,\n insert: state.lineBreak + state.doc.slice(block.from, block.to)\n });\n }\n dispatch(state.update({\n changes,\n scrollIntoView: true,\n userEvent: \"input.copyline\"\n }));\n return true;\n}\n/**\nCreate a copy of the selected lines. Keep the selection in the top copy.\n*/\nconst copyLineUp = ({\n state,\n dispatch\n}) => copyLine(state, dispatch, false);\n/**\nCreate a copy of the selected lines. Keep the selection in the bottom copy.\n*/\nconst copyLineDown = ({\n state,\n dispatch\n}) => copyLine(state, dispatch, true);\n/**\nDelete selected lines.\n*/\nconst deleteLine = view => {\n if (view.state.readOnly) return false;\n let {\n state\n } = view,\n changes = state.changes(selectedLineBlocks(state).map(({\n from,\n to\n }) => {\n if (from > 0) from--;else if (to < state.doc.length) to++;\n return {\n from,\n to\n };\n }));\n let selection = updateSel(state.selection, range => {\n let dist = undefined;\n if (view.lineWrapping) {\n let block = view.lineBlockAt(range.head),\n pos = view.coordsAtPos(range.head, range.assoc || 1);\n if (pos) dist = block.bottom + view.documentTop - pos.bottom + view.defaultLineHeight / 2;\n }\n return view.moveVertically(range, true, dist);\n }).map(changes);\n view.dispatch({\n changes,\n selection,\n scrollIntoView: true,\n userEvent: \"delete.line\"\n });\n return true;\n};\n/**\nReplace the selection with a newline.\n*/\nconst insertNewline = ({\n state,\n dispatch\n}) => {\n dispatch(state.update(state.replaceSelection(state.lineBreak), {\n scrollIntoView: true,\n userEvent: \"input\"\n }));\n return true;\n};\n/**\nReplace the selection with a newline and the same amount of\nindentation as the line above.\n*/\nconst insertNewlineKeepIndent = ({\n state,\n dispatch\n}) => {\n dispatch(state.update(state.changeByRange(range => {\n let indent = /^\\s*/.exec(state.doc.lineAt(range.from).text)[0];\n return {\n changes: {\n from: range.from,\n to: range.to,\n insert: state.lineBreak + indent\n },\n range: EditorSelection.cursor(range.from + indent.length + 1)\n };\n }), {\n scrollIntoView: true,\n userEvent: \"input\"\n }));\n return true;\n};\nfunction isBetweenBrackets(state, pos) {\n if (/\\(\\)|\\[\\]|\\{\\}/.test(state.sliceDoc(pos - 1, pos + 1))) return {\n from: pos,\n to: pos\n };\n let context = syntaxTree(state).resolveInner(pos);\n let before = context.childBefore(pos),\n after = context.childAfter(pos),\n closedBy;\n if (before && after && before.to <= pos && after.from >= pos && (closedBy = before.type.prop(NodeProp.closedBy)) && closedBy.indexOf(after.name) > -1 && state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from && !/\\S/.test(state.sliceDoc(before.to, after.from))) return {\n from: before.to,\n to: after.from\n };\n return null;\n}\n/**\nReplace the selection with a newline and indent the newly created\nline(s). If the current line consists only of whitespace, this\nwill also delete that whitespace. When the cursor is between\nmatching brackets, an additional newline will be inserted after\nthe cursor.\n*/\nconst insertNewlineAndIndent = /*@__PURE__*/newlineAndIndent(false);\n/**\nCreate a blank, indented line below the current line.\n*/\nconst insertBlankLine = /*@__PURE__*/newlineAndIndent(true);\nfunction newlineAndIndent(atEof) {\n return ({\n state,\n dispatch\n }) => {\n if (state.readOnly) return false;\n let changes = state.changeByRange(range => {\n let {\n from,\n to\n } = range,\n line = state.doc.lineAt(from);\n let explode = !atEof && from == to && isBetweenBrackets(state, from);\n if (atEof) from = to = (to <= line.to ? line : state.doc.lineAt(to)).to;\n let cx = new IndentContext(state, {\n simulateBreak: from,\n simulateDoubleBreak: !!explode\n });\n let indent = getIndentation(cx, from);\n if (indent == null) indent = countColumn(/^\\s*/.exec(state.doc.lineAt(from).text)[0], state.tabSize);\n while (to < line.to && /\\s/.test(line.text[to - line.from])) to++;\n if (explode) ({\n from,\n to\n } = explode);else if (from > line.from && from < line.from + 100 && !/\\S/.test(line.text.slice(0, from))) from = line.from;\n let insert = [\"\", indentString(state, indent)];\n if (explode) insert.push(indentString(state, cx.lineIndent(line.from, -1)));\n return {\n changes: {\n from,\n to,\n insert: Text.of(insert)\n },\n range: EditorSelection.cursor(from + 1 + insert[1].length)\n };\n });\n dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input\"\n }));\n return true;\n };\n}\nfunction changeBySelectedLine(state, f) {\n let atLine = -1;\n return state.changeByRange(range => {\n let changes = [];\n for (let pos = range.from; pos <= range.to;) {\n let line = state.doc.lineAt(pos);\n if (line.number > atLine && (range.empty || range.to > line.from)) {\n f(line, changes, range);\n atLine = line.number;\n }\n pos = line.to + 1;\n }\n let changeSet = state.changes(changes);\n return {\n changes,\n range: EditorSelection.range(changeSet.mapPos(range.anchor, 1), changeSet.mapPos(range.head, 1))\n };\n });\n}\n/**\nAuto-indent the selected lines. This uses the [indentation service\nfacet](https://codemirror.net/6/docs/ref/#language.indentService) as source for auto-indent\ninformation.\n*/\nconst indentSelection = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n let updated = Object.create(null);\n let context = new IndentContext(state, {\n overrideIndentation: start => {\n let found = updated[start];\n return found == null ? -1 : found;\n }\n });\n let changes = changeBySelectedLine(state, (line, changes, range) => {\n let indent = getIndentation(context, line.from);\n if (indent == null) return;\n if (!/\\S/.test(line.text)) indent = 0;\n let cur = /^\\s*/.exec(line.text)[0];\n let norm = indentString(state, indent);\n if (cur != norm || range.from < line.from + cur.length) {\n updated[line.from] = indent;\n changes.push({\n from: line.from,\n to: line.from + cur.length,\n insert: norm\n });\n }\n });\n if (!changes.changes.empty) dispatch(state.update(changes, {\n userEvent: \"indent\"\n }));\n return true;\n};\n/**\nAdd a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation to all selected\nlines.\n*/\nconst indentMore = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n changes.push({\n from: line.from,\n insert: state.facet(indentUnit)\n });\n }), {\n userEvent: \"input.indent\"\n }));\n return true;\n};\n/**\nRemove a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation from all\nselected lines.\n*/\nconst indentLess = ({\n state,\n dispatch\n}) => {\n if (state.readOnly) return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n let space = /^\\s*/.exec(line.text)[0];\n if (!space) return;\n let col = countColumn(space, state.tabSize),\n keep = 0;\n let insert = indentString(state, Math.max(0, col - getIndentUnit(state)));\n while (keep < space.length && keep < insert.length && space.charCodeAt(keep) == insert.charCodeAt(keep)) keep++;\n changes.push({\n from: line.from + keep,\n to: line.from + space.length,\n insert: insert.slice(keep)\n });\n }), {\n userEvent: \"delete.dedent\"\n }));\n return true;\n};\n/**\nEnables or disables\n[tab-focus mode](https://codemirror.net/6/docs/ref/#view.EditorView.setTabFocusMode). While on, this\nprevents the editor's key bindings from capturing Tab or\nShift-Tab, making it possible for the user to move focus out of\nthe editor with the keyboard.\n*/\nconst toggleTabFocusMode = view => {\n view.setTabFocusMode();\n return true;\n};\n/**\nTemporarily enables [tab-focus\nmode](https://codemirror.net/6/docs/ref/#view.EditorView.setTabFocusMode) for two seconds or until\nanother key is pressed.\n*/\nconst temporarilySetTabFocusMode = view => {\n view.setTabFocusMode(2000);\n return true;\n};\n/**\nInsert a tab character at the cursor or, if something is selected,\nuse [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) to indent the entire\nselection.\n*/\nconst insertTab = ({\n state,\n dispatch\n}) => {\n if (state.selection.ranges.some(r => !r.empty)) return indentMore({\n state,\n dispatch\n });\n dispatch(state.update(state.replaceSelection(\"\\t\"), {\n scrollIntoView: true,\n userEvent: \"input\"\n }));\n return true;\n};\n/**\nArray of key bindings containing the Emacs-style bindings that are\navailable on macOS by default.\n\n - Ctrl-b: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - Ctrl-f: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-p: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - Ctrl-n: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Ctrl-a: [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Ctrl-e: [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - Ctrl-d: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-h: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Ctrl-k: [`deleteToLineEnd`](https://codemirror.net/6/docs/ref/#commands.deleteToLineEnd)\n - Ctrl-Alt-h: [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-o: [`splitLine`](https://codemirror.net/6/docs/ref/#commands.splitLine)\n - Ctrl-t: [`transposeChars`](https://codemirror.net/6/docs/ref/#commands.transposeChars)\n - Ctrl-v: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown)\n - Alt-v: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp)\n*/\nconst emacsStyleKeymap = [{\n key: \"Ctrl-b\",\n run: cursorCharLeft,\n shift: selectCharLeft,\n preventDefault: true\n}, {\n key: \"Ctrl-f\",\n run: cursorCharRight,\n shift: selectCharRight\n}, {\n key: \"Ctrl-p\",\n run: cursorLineUp,\n shift: selectLineUp\n}, {\n key: \"Ctrl-n\",\n run: cursorLineDown,\n shift: selectLineDown\n}, {\n key: \"Ctrl-a\",\n run: cursorLineStart,\n shift: selectLineStart\n}, {\n key: \"Ctrl-e\",\n run: cursorLineEnd,\n shift: selectLineEnd\n}, {\n key: \"Ctrl-d\",\n run: deleteCharForward\n}, {\n key: \"Ctrl-h\",\n run: deleteCharBackward\n}, {\n key: \"Ctrl-k\",\n run: deleteToLineEnd\n}, {\n key: \"Ctrl-Alt-h\",\n run: deleteGroupBackward\n}, {\n key: \"Ctrl-o\",\n run: splitLine\n}, {\n key: \"Ctrl-t\",\n run: transposeChars\n}, {\n key: \"Ctrl-v\",\n run: cursorPageDown\n}];\n/**\nAn array of key bindings closely sticking to platform-standard or\nwidely used bindings. (This includes the bindings from\n[`emacsStyleKeymap`](https://codemirror.net/6/docs/ref/#commands.emacsStyleKeymap), with their `key`\nproperty changed to `mac`.)\n\n - ArrowLeft: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - ArrowRight: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-ArrowLeft (Alt-ArrowLeft on macOS): [`cursorGroupLeft`](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) ([`selectGroupLeft`](https://codemirror.net/6/docs/ref/#commands.selectGroupLeft) with Shift)\n - Ctrl-ArrowRight (Alt-ArrowRight on macOS): [`cursorGroupRight`](https://codemirror.net/6/docs/ref/#commands.cursorGroupRight) ([`selectGroupRight`](https://codemirror.net/6/docs/ref/#commands.selectGroupRight) with Shift)\n - Cmd-ArrowLeft (on macOS): [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Cmd-ArrowRight (on macOS): [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - ArrowUp: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - ArrowDown: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Cmd-ArrowUp (on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Cmd-ArrowDown (on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Ctrl-ArrowUp (on macOS): [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - Ctrl-ArrowDown (on macOS): [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - PageUp: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - PageDown: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - Home: [`cursorLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryBackward) ([`selectLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryBackward) with Shift)\n - End: [`cursorLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryForward) ([`selectLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryForward) with Shift)\n - Ctrl-Home (Cmd-Home on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Ctrl-End (Cmd-Home on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Enter: [`insertNewlineAndIndent`](https://codemirror.net/6/docs/ref/#commands.insertNewlineAndIndent)\n - Ctrl-a (Cmd-a on macOS): [`selectAll`](https://codemirror.net/6/docs/ref/#commands.selectAll)\n - Backspace: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Delete: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-Backspace (Alt-Backspace on macOS): [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-Delete (Alt-Delete on macOS): [`deleteGroupForward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupForward)\n - Cmd-Backspace (macOS): [`deleteLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryBackward).\n - Cmd-Delete (macOS): [`deleteLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryForward).\n*/\nconst standardKeymap = /*@__PURE__*/[{\n key: \"ArrowLeft\",\n run: cursorCharLeft,\n shift: selectCharLeft,\n preventDefault: true\n}, {\n key: \"Mod-ArrowLeft\",\n mac: \"Alt-ArrowLeft\",\n run: cursorGroupLeft,\n shift: selectGroupLeft,\n preventDefault: true\n}, {\n mac: \"Cmd-ArrowLeft\",\n run: cursorLineBoundaryLeft,\n shift: selectLineBoundaryLeft,\n preventDefault: true\n}, {\n key: \"ArrowRight\",\n run: cursorCharRight,\n shift: selectCharRight,\n preventDefault: true\n}, {\n key: \"Mod-ArrowRight\",\n mac: \"Alt-ArrowRight\",\n run: cursorGroupRight,\n shift: selectGroupRight,\n preventDefault: true\n}, {\n mac: \"Cmd-ArrowRight\",\n run: cursorLineBoundaryRight,\n shift: selectLineBoundaryRight,\n preventDefault: true\n}, {\n key: \"ArrowUp\",\n run: cursorLineUp,\n shift: selectLineUp,\n preventDefault: true\n}, {\n mac: \"Cmd-ArrowUp\",\n run: cursorDocStart,\n shift: selectDocStart\n}, {\n mac: \"Ctrl-ArrowUp\",\n run: cursorPageUp,\n shift: selectPageUp\n}, {\n key: \"ArrowDown\",\n run: cursorLineDown,\n shift: selectLineDown,\n preventDefault: true\n}, {\n mac: \"Cmd-ArrowDown\",\n run: cursorDocEnd,\n shift: selectDocEnd\n}, {\n mac: \"Ctrl-ArrowDown\",\n run: cursorPageDown,\n shift: selectPageDown\n}, {\n key: \"PageUp\",\n run: cursorPageUp,\n shift: selectPageUp\n}, {\n key: \"PageDown\",\n run: cursorPageDown,\n shift: selectPageDown\n}, {\n key: \"Home\",\n run: cursorLineBoundaryBackward,\n shift: selectLineBoundaryBackward,\n preventDefault: true\n}, {\n key: \"Mod-Home\",\n run: cursorDocStart,\n shift: selectDocStart\n}, {\n key: \"End\",\n run: cursorLineBoundaryForward,\n shift: selectLineBoundaryForward,\n preventDefault: true\n}, {\n key: \"Mod-End\",\n run: cursorDocEnd,\n shift: selectDocEnd\n}, {\n key: \"Enter\",\n run: insertNewlineAndIndent\n}, {\n key: \"Mod-a\",\n run: selectAll\n}, {\n key: \"Backspace\",\n run: deleteCharBackward,\n shift: deleteCharBackward\n}, {\n key: \"Delete\",\n run: deleteCharForward\n}, {\n key: \"Mod-Backspace\",\n mac: \"Alt-Backspace\",\n run: deleteGroupBackward\n}, {\n key: \"Mod-Delete\",\n mac: \"Alt-Delete\",\n run: deleteGroupForward\n}, {\n mac: \"Mod-Backspace\",\n run: deleteLineBoundaryBackward\n}, {\n mac: \"Mod-Delete\",\n run: deleteLineBoundaryForward\n}].concat(/*@__PURE__*/emacsStyleKeymap.map(b => ({\n mac: b.key,\n run: b.run,\n shift: b.shift\n})));\n/**\nThe default keymap. Includes all bindings from\n[`standardKeymap`](https://codemirror.net/6/docs/ref/#commands.standardKeymap) plus the following:\n\n- Alt-ArrowLeft (Ctrl-ArrowLeft on macOS): [`cursorSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxLeft) ([`selectSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxLeft) with Shift)\n- Alt-ArrowRight (Ctrl-ArrowRight on macOS): [`cursorSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxRight) ([`selectSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxRight) with Shift)\n- Alt-ArrowUp: [`moveLineUp`](https://codemirror.net/6/docs/ref/#commands.moveLineUp)\n- Alt-ArrowDown: [`moveLineDown`](https://codemirror.net/6/docs/ref/#commands.moveLineDown)\n- Shift-Alt-ArrowUp: [`copyLineUp`](https://codemirror.net/6/docs/ref/#commands.copyLineUp)\n- Shift-Alt-ArrowDown: [`copyLineDown`](https://codemirror.net/6/docs/ref/#commands.copyLineDown)\n- Escape: [`simplifySelection`](https://codemirror.net/6/docs/ref/#commands.simplifySelection)\n- Ctrl-Enter (Cmd-Enter on macOS): [`insertBlankLine`](https://codemirror.net/6/docs/ref/#commands.insertBlankLine)\n- Alt-l (Ctrl-l on macOS): [`selectLine`](https://codemirror.net/6/docs/ref/#commands.selectLine)\n- Ctrl-i (Cmd-i on macOS): [`selectParentSyntax`](https://codemirror.net/6/docs/ref/#commands.selectParentSyntax)\n- Ctrl-[ (Cmd-[ on macOS): [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess)\n- Ctrl-] (Cmd-] on macOS): [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore)\n- Ctrl-Alt-\\\\ (Cmd-Alt-\\\\ on macOS): [`indentSelection`](https://codemirror.net/6/docs/ref/#commands.indentSelection)\n- Shift-Ctrl-k (Shift-Cmd-k on macOS): [`deleteLine`](https://codemirror.net/6/docs/ref/#commands.deleteLine)\n- Shift-Ctrl-\\\\ (Shift-Cmd-\\\\ on macOS): [`cursorMatchingBracket`](https://codemirror.net/6/docs/ref/#commands.cursorMatchingBracket)\n- Ctrl-/ (Cmd-/ on macOS): [`toggleComment`](https://codemirror.net/6/docs/ref/#commands.toggleComment).\n- Shift-Alt-a: [`toggleBlockComment`](https://codemirror.net/6/docs/ref/#commands.toggleBlockComment).\n- Ctrl-m (Alt-Shift-m on macOS): [`toggleTabFocusMode`](https://codemirror.net/6/docs/ref/#commands.toggleTabFocusMode).\n*/\nconst defaultKeymap = /*@__PURE__*/[{\n key: \"Alt-ArrowLeft\",\n mac: \"Ctrl-ArrowLeft\",\n run: cursorSyntaxLeft,\n shift: selectSyntaxLeft\n}, {\n key: \"Alt-ArrowRight\",\n mac: \"Ctrl-ArrowRight\",\n run: cursorSyntaxRight,\n shift: selectSyntaxRight\n}, {\n key: \"Alt-ArrowUp\",\n run: moveLineUp\n}, {\n key: \"Shift-Alt-ArrowUp\",\n run: copyLineUp\n}, {\n key: \"Alt-ArrowDown\",\n run: moveLineDown\n}, {\n key: \"Shift-Alt-ArrowDown\",\n run: copyLineDown\n}, {\n key: \"Escape\",\n run: simplifySelection\n}, {\n key: \"Mod-Enter\",\n run: insertBlankLine\n}, {\n key: \"Alt-l\",\n mac: \"Ctrl-l\",\n run: selectLine\n}, {\n key: \"Mod-i\",\n run: selectParentSyntax,\n preventDefault: true\n}, {\n key: \"Mod-[\",\n run: indentLess\n}, {\n key: \"Mod-]\",\n run: indentMore\n}, {\n key: \"Mod-Alt-\\\\\",\n run: indentSelection\n}, {\n key: \"Shift-Mod-k\",\n run: deleteLine\n}, {\n key: \"Shift-Mod-\\\\\",\n run: cursorMatchingBracket\n}, {\n key: \"Mod-/\",\n run: toggleComment\n}, {\n key: \"Alt-A\",\n run: toggleBlockComment\n}, {\n key: \"Ctrl-m\",\n mac: \"Shift-Alt-m\",\n run: toggleTabFocusMode\n}].concat(standardKeymap);\n/**\nA binding that binds Tab to [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) and\nShift-Tab to [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess).\nPlease see the [Tab example](../../examples/tab/) before using\nthis.\n*/\nconst indentWithTab = {\n key: \"Tab\",\n run: indentMore,\n shift: indentLess\n};\nexport { blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharForward, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, defaultKeymap, deleteCharBackward, deleteCharBackwardStrict, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteLineBoundaryBackward, deleteLineBoundaryForward, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, history, historyField, historyKeymap, indentLess, indentMore, indentSelection, indentWithTab, insertBlankLine, insertNewline, insertNewlineAndIndent, insertNewlineKeepIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharForward, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, temporarilySetTabFocusMode, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, toggleTabFocusMode, transposeChars, undo, undoDepth, undoSelection };","import { EditorView } from '@codemirror/view';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { tags } from '@lezer/highlight';\n\n// Using https://github.com/one-dark/vscode-one-dark-theme/ as reference for the colors\nconst chalky = \"#e5c07b\",\n coral = \"#e06c75\",\n cyan = \"#56b6c2\",\n invalid = \"#ffffff\",\n ivory = \"#abb2bf\",\n stone = \"#7d8799\",\n // Brightened compared to original to increase contrast\n malibu = \"#61afef\",\n sage = \"#98c379\",\n whiskey = \"#d19a66\",\n violet = \"#c678dd\",\n darkBackground = \"#21252b\",\n highlightBackground = \"#2c313a\",\n background = \"#282c34\",\n tooltipBackground = \"#353a42\",\n selection = \"#3E4451\",\n cursor = \"#528bff\";\n/**\nThe colors used in the theme, as CSS color strings.\n*/\nconst color = {\n chalky,\n coral,\n cyan,\n invalid,\n ivory,\n stone,\n malibu,\n sage,\n whiskey,\n violet,\n darkBackground,\n highlightBackground,\n background,\n tooltipBackground,\n selection,\n cursor\n};\n/**\nThe editor theme styles for One Dark.\n*/\nconst oneDarkTheme = /*@__PURE__*/EditorView.theme({\n \"&\": {\n color: ivory,\n backgroundColor: background\n },\n \".cm-content\": {\n caretColor: cursor\n },\n \".cm-cursor, .cm-dropCursor\": {\n borderLeftColor: cursor\n },\n \"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection\": {\n backgroundColor: selection\n },\n \".cm-panels\": {\n backgroundColor: darkBackground,\n color: ivory\n },\n \".cm-panels.cm-panels-top\": {\n borderBottom: \"2px solid black\"\n },\n \".cm-panels.cm-panels-bottom\": {\n borderTop: \"2px solid black\"\n },\n \".cm-searchMatch\": {\n backgroundColor: \"#72a1ff59\",\n outline: \"1px solid #457dff\"\n },\n \".cm-searchMatch.cm-searchMatch-selected\": {\n backgroundColor: \"#6199ff2f\"\n },\n \".cm-activeLine\": {\n backgroundColor: \"#6699ff0b\"\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#aafe661a\"\n },\n \"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket\": {\n backgroundColor: \"#bad0f847\"\n },\n \".cm-gutters\": {\n backgroundColor: background,\n color: stone,\n border: \"none\"\n },\n \".cm-activeLineGutter\": {\n backgroundColor: highlightBackground\n },\n \".cm-foldPlaceholder\": {\n backgroundColor: \"transparent\",\n border: \"none\",\n color: \"#ddd\"\n },\n \".cm-tooltip\": {\n border: \"none\",\n backgroundColor: tooltipBackground\n },\n \".cm-tooltip .cm-tooltip-arrow:before\": {\n borderTopColor: \"transparent\",\n borderBottomColor: \"transparent\"\n },\n \".cm-tooltip .cm-tooltip-arrow:after\": {\n borderTopColor: tooltipBackground,\n borderBottomColor: tooltipBackground\n },\n \".cm-tooltip-autocomplete\": {\n \"& > ul > li[aria-selected]\": {\n backgroundColor: highlightBackground,\n color: ivory\n }\n }\n}, {\n dark: true\n});\n/**\nThe highlighting style for code in the One Dark theme.\n*/\nconst oneDarkHighlightStyle = /*@__PURE__*/HighlightStyle.define([{\n tag: tags.keyword,\n color: violet\n}, {\n tag: [tags.name, tags.deleted, tags.character, tags.propertyName, tags.macroName],\n color: coral\n}, {\n tag: [/*@__PURE__*/tags.function(tags.variableName), tags.labelName],\n color: malibu\n}, {\n tag: [tags.color, /*@__PURE__*/tags.constant(tags.name), /*@__PURE__*/tags.standard(tags.name)],\n color: whiskey\n}, {\n tag: [/*@__PURE__*/tags.definition(tags.name), tags.separator],\n color: ivory\n}, {\n tag: [tags.typeName, tags.className, tags.number, tags.changed, tags.annotation, tags.modifier, tags.self, tags.namespace],\n color: chalky\n}, {\n tag: [tags.operator, tags.operatorKeyword, tags.url, tags.escape, tags.regexp, tags.link, /*@__PURE__*/tags.special(tags.string)],\n color: cyan\n}, {\n tag: [tags.meta, tags.comment],\n color: stone\n}, {\n tag: tags.strong,\n fontWeight: \"bold\"\n}, {\n tag: tags.emphasis,\n fontStyle: \"italic\"\n}, {\n tag: tags.strikethrough,\n textDecoration: \"line-through\"\n}, {\n tag: tags.link,\n color: stone,\n textDecoration: \"underline\"\n}, {\n tag: tags.heading,\n fontWeight: \"bold\",\n color: coral\n}, {\n tag: [tags.atom, tags.bool, /*@__PURE__*/tags.special(tags.variableName)],\n color: whiskey\n}, {\n tag: [tags.processingInstruction, tags.string, tags.inserted],\n color: sage\n}, {\n tag: tags.invalid,\n color: invalid\n}]);\n/**\nExtension to enable the One Dark theme (both the editor theme and\nthe highlight style).\n*/\nconst oneDark = [oneDarkTheme, /*@__PURE__*/syntaxHighlighting(oneDarkHighlightStyle)];\nexport { color, oneDark, oneDarkHighlightStyle, oneDarkTheme };","export default function crelt() {\n var elt = arguments[0];\n if (typeof elt == \"string\") elt = document.createElement(elt);\n var i = 1,\n next = arguments[1];\n if (next && typeof next == \"object\" && next.nodeType == null && !Array.isArray(next)) {\n for (var name in next) if (Object.prototype.hasOwnProperty.call(next, name)) {\n var value = next[name];\n if (typeof value == \"string\") elt.setAttribute(name, value);else if (value != null) elt[name] = value;\n }\n i++;\n }\n for (; i < arguments.length; i++) add(elt, arguments[i]);\n return elt;\n}\nfunction add(elt, child) {\n if (typeof child == \"string\") {\n elt.appendChild(document.createTextNode(child));\n } else if (child == null) {} else if (child.nodeType != null) {\n elt.appendChild(child);\n } else if (Array.isArray(child)) {\n for (var i = 0; i < child.length; i++) add(elt, child[i]);\n } else {\n throw new RangeError(\"Unsupported child node: \" + child);\n }\n}","import { showPanel, EditorView, getPanel, Decoration, ViewPlugin, runScopeHandlers } from '@codemirror/view';\nimport { codePointAt, fromCodePoint, codePointSize, StateEffect, StateField, EditorSelection, Facet, combineConfig, CharCategory, RangeSetBuilder, Prec, EditorState, findClusterBreak } from '@codemirror/state';\nimport elt from 'crelt';\nconst basicNormalize = typeof String.prototype.normalize == \"function\" ? x => x.normalize(\"NFKD\") : x => x;\n/**\nA search cursor provides an iterator over text matches in a\ndocument.\n*/\nclass SearchCursor {\n /**\n Create a text cursor. The query is the search string, `from` to\n `to` provides the region to search.\n \n When `normalize` is given, it will be called, on both the query\n string and the content it is matched against, before comparing.\n You can, for example, create a case-insensitive search by\n passing `s => s.toLowerCase()`.\n \n Text is always normalized with\n [`.normalize(\"NFKD\")`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)\n (when supported).\n */\n constructor(text, query, from = 0, to = text.length, normalize, test) {\n this.test = test;\n /**\n The current match (only holds a meaningful value after\n [`next`](https://codemirror.net/6/docs/ref/#search.SearchCursor.next) has been called and when\n `done` is false).\n */\n this.value = {\n from: 0,\n to: 0\n };\n /**\n Whether the end of the iterated region has been reached.\n */\n this.done = false;\n this.matches = [];\n this.buffer = \"\";\n this.bufferPos = 0;\n this.iter = text.iterRange(from, to);\n this.bufferStart = from;\n this.normalize = normalize ? x => normalize(basicNormalize(x)) : basicNormalize;\n this.query = this.normalize(query);\n }\n peek() {\n if (this.bufferPos == this.buffer.length) {\n this.bufferStart += this.buffer.length;\n this.iter.next();\n if (this.iter.done) return -1;\n this.bufferPos = 0;\n this.buffer = this.iter.value;\n }\n return codePointAt(this.buffer, this.bufferPos);\n }\n /**\n Look for the next match. Updates the iterator's\n [`value`](https://codemirror.net/6/docs/ref/#search.SearchCursor.value) and\n [`done`](https://codemirror.net/6/docs/ref/#search.SearchCursor.done) properties. Should be called\n at least once before using the cursor.\n */\n next() {\n while (this.matches.length) this.matches.pop();\n return this.nextOverlapping();\n }\n /**\n The `next` method will ignore matches that partially overlap a\n previous match. This method behaves like `next`, but includes\n such matches.\n */\n nextOverlapping() {\n for (;;) {\n let next = this.peek();\n if (next < 0) {\n this.done = true;\n return this;\n }\n let str = fromCodePoint(next),\n start = this.bufferStart + this.bufferPos;\n this.bufferPos += codePointSize(next);\n let norm = this.normalize(str);\n for (let i = 0, pos = start;; i++) {\n let code = norm.charCodeAt(i);\n let match = this.match(code, pos, this.bufferPos + this.bufferStart);\n if (i == norm.length - 1) {\n if (match) {\n this.value = match;\n return this;\n }\n break;\n }\n if (pos == start && i < str.length && str.charCodeAt(i) == code) pos++;\n }\n }\n }\n match(code, pos, end) {\n let match = null;\n for (let i = 0; i < this.matches.length; i += 2) {\n let index = this.matches[i],\n keep = false;\n if (this.query.charCodeAt(index) == code) {\n if (index == this.query.length - 1) {\n match = {\n from: this.matches[i + 1],\n to: end\n };\n } else {\n this.matches[i]++;\n keep = true;\n }\n }\n if (!keep) {\n this.matches.splice(i, 2);\n i -= 2;\n }\n }\n if (this.query.charCodeAt(0) == code) {\n if (this.query.length == 1) match = {\n from: pos,\n to: end\n };else this.matches.push(1, pos);\n }\n if (match && this.test && !this.test(match.from, match.to, this.buffer, this.bufferStart)) match = null;\n return match;\n }\n}\nif (typeof Symbol != \"undefined\") SearchCursor.prototype[Symbol.iterator] = function () {\n return this;\n};\nconst empty = {\n from: -1,\n to: -1,\n match: /*@__PURE__*//.*/.exec(\"\")\n};\nconst baseFlags = \"gm\" + (/x/.unicode == null ? \"\" : \"u\");\n/**\nThis class is similar to [`SearchCursor`](https://codemirror.net/6/docs/ref/#search.SearchCursor)\nbut searches for a regular expression pattern instead of a plain\nstring.\n*/\nclass RegExpCursor {\n /**\n Create a cursor that will search the given range in the given\n document. `query` should be the raw pattern (as you'd pass it to\n `new RegExp`).\n */\n constructor(text, query, options, from = 0, to = text.length) {\n this.text = text;\n this.to = to;\n this.curLine = \"\";\n /**\n Set to `true` when the cursor has reached the end of the search\n range.\n */\n this.done = false;\n /**\n Will contain an object with the extent of the match and the\n match object when [`next`](https://codemirror.net/6/docs/ref/#search.RegExpCursor.next)\n sucessfully finds a match.\n */\n this.value = empty;\n if (/\\\\[sWDnr]|\\n|\\r|\\[\\^/.test(query)) return new MultilineRegExpCursor(text, query, options, from, to);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.iter = text.iter();\n let startLine = text.lineAt(from);\n this.curLineStart = startLine.from;\n this.matchPos = toCharEnd(text, from);\n this.getLine(this.curLineStart);\n }\n getLine(skip) {\n this.iter.next(skip);\n if (this.iter.lineBreak) {\n this.curLine = \"\";\n } else {\n this.curLine = this.iter.value;\n if (this.curLineStart + this.curLine.length > this.to) this.curLine = this.curLine.slice(0, this.to - this.curLineStart);\n this.iter.next();\n }\n }\n nextLine() {\n this.curLineStart = this.curLineStart + this.curLine.length + 1;\n if (this.curLineStart > this.to) this.curLine = \"\";else this.getLine(0);\n }\n /**\n Move to the next match, if there is one.\n */\n next() {\n for (let off = this.matchPos - this.curLineStart;;) {\n this.re.lastIndex = off;\n let match = this.matchPos <= this.to && this.re.exec(this.curLine);\n if (match) {\n let from = this.curLineStart + match.index,\n to = from + match[0].length;\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n if (from == this.curLineStart + this.curLine.length) this.nextLine();\n if ((from < to || from > this.value.to) && (!this.test || this.test(from, to, match))) {\n this.value = {\n from,\n to,\n match\n };\n return this;\n }\n off = this.matchPos - this.curLineStart;\n } else if (this.curLineStart + this.curLine.length < this.to) {\n this.nextLine();\n off = 0;\n } else {\n this.done = true;\n return this;\n }\n }\n }\n}\nconst flattened = /*@__PURE__*/new WeakMap();\n// Reusable (partially) flattened document strings\nclass FlattenedDoc {\n constructor(from, text) {\n this.from = from;\n this.text = text;\n }\n get to() {\n return this.from + this.text.length;\n }\n static get(doc, from, to) {\n let cached = flattened.get(doc);\n if (!cached || cached.from >= to || cached.to <= from) {\n let flat = new FlattenedDoc(from, doc.sliceString(from, to));\n flattened.set(doc, flat);\n return flat;\n }\n if (cached.from == from && cached.to == to) return cached;\n let {\n text,\n from: cachedFrom\n } = cached;\n if (cachedFrom > from) {\n text = doc.sliceString(from, cachedFrom) + text;\n cachedFrom = from;\n }\n if (cached.to < to) text += doc.sliceString(cached.to, to);\n flattened.set(doc, new FlattenedDoc(cachedFrom, text));\n return new FlattenedDoc(from, text.slice(from - cachedFrom, to - cachedFrom));\n }\n}\nclass MultilineRegExpCursor {\n constructor(text, query, options, from, to) {\n this.text = text;\n this.to = to;\n this.done = false;\n this.value = empty;\n this.matchPos = toCharEnd(text, from);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */));\n }\n chunkEnd(pos) {\n return pos >= this.to ? this.to : this.text.lineAt(pos).to;\n }\n next() {\n for (;;) {\n let off = this.re.lastIndex = this.matchPos - this.flat.from;\n let match = this.re.exec(this.flat.text);\n // Skip empty matches directly after the last match\n if (match && !match[0] && match.index == off) {\n this.re.lastIndex = off + 1;\n match = this.re.exec(this.flat.text);\n }\n if (match) {\n let from = this.flat.from + match.index,\n to = from + match[0].length;\n // If a match goes almost to the end of a noncomplete chunk, try\n // again, since it'll likely be able to match more\n if ((this.flat.to >= this.to || match.index + match[0].length <= this.flat.text.length - 10) && (!this.test || this.test(from, to, match))) {\n this.value = {\n from,\n to,\n match\n };\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n return this;\n }\n }\n if (this.flat.to == this.to) {\n this.done = true;\n return this;\n }\n // Grow the flattened doc\n this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));\n }\n }\n}\nif (typeof Symbol != \"undefined\") {\n RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] = function () {\n return this;\n };\n}\nfunction validRegExp(source) {\n try {\n new RegExp(source, baseFlags);\n return true;\n } catch (_a) {\n return false;\n }\n}\nfunction toCharEnd(text, pos) {\n if (pos >= text.length) return pos;\n let line = text.lineAt(pos),\n next;\n while (pos < line.to && (next = line.text.charCodeAt(pos - line.from)) >= 0xDC00 && next < 0xE000) pos++;\n return pos;\n}\nfunction createLineDialog(view) {\n let line = String(view.state.doc.lineAt(view.state.selection.main.head).number);\n let input = elt(\"input\", {\n class: \"cm-textfield\",\n name: \"line\",\n value: line\n });\n let dom = elt(\"form\", {\n class: \"cm-gotoLine\",\n onkeydown: event => {\n if (event.keyCode == 27) {\n // Escape\n event.preventDefault();\n view.dispatch({\n effects: dialogEffect.of(false)\n });\n view.focus();\n } else if (event.keyCode == 13) {\n // Enter\n event.preventDefault();\n go();\n }\n },\n onsubmit: event => {\n event.preventDefault();\n go();\n }\n }, elt(\"label\", view.state.phrase(\"Go to line\"), \": \", input), \" \", elt(\"button\", {\n class: \"cm-button\",\n type: \"submit\"\n }, view.state.phrase(\"go\")));\n function go() {\n let match = /^([+-])?(\\d+)?(:\\d+)?(%)?$/.exec(input.value);\n if (!match) return;\n let {\n state\n } = view,\n startLine = state.doc.lineAt(state.selection.main.head);\n let [, sign, ln, cl, percent] = match;\n let col = cl ? +cl.slice(1) : 0;\n let line = ln ? +ln : startLine.number;\n if (ln && percent) {\n let pc = line / 100;\n if (sign) pc = pc * (sign == \"-\" ? -1 : 1) + startLine.number / state.doc.lines;\n line = Math.round(state.doc.lines * pc);\n } else if (ln && sign) {\n line = line * (sign == \"-\" ? -1 : 1) + startLine.number;\n }\n let docLine = state.doc.line(Math.max(1, Math.min(state.doc.lines, line)));\n let selection = EditorSelection.cursor(docLine.from + Math.max(0, Math.min(col, docLine.length)));\n view.dispatch({\n effects: [dialogEffect.of(false), EditorView.scrollIntoView(selection.from, {\n y: 'center'\n })],\n selection\n });\n view.focus();\n }\n return {\n dom\n };\n}\nconst dialogEffect = /*@__PURE__*/StateEffect.define();\nconst dialogField = /*@__PURE__*/StateField.define({\n create() {\n return true;\n },\n update(value, tr) {\n for (let e of tr.effects) if (e.is(dialogEffect)) value = e.value;\n return value;\n },\n provide: f => showPanel.from(f, val => val ? createLineDialog : null)\n});\n/**\nCommand that shows a dialog asking the user for a line number, and\nwhen a valid position is provided, moves the cursor to that line.\n\nSupports line numbers, relative line offsets prefixed with `+` or\n`-`, document percentages suffixed with `%`, and an optional\ncolumn position by adding `:` and a second number after the line\nnumber.\n*/\nconst gotoLine = view => {\n let panel = getPanel(view, createLineDialog);\n if (!panel) {\n let effects = [dialogEffect.of(true)];\n if (view.state.field(dialogField, false) == null) effects.push(StateEffect.appendConfig.of([dialogField, baseTheme$1]));\n view.dispatch({\n effects\n });\n panel = getPanel(view, createLineDialog);\n }\n if (panel) panel.dom.querySelector(\"input\").select();\n return true;\n};\nconst baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-gotoLine\": {\n padding: \"2px 6px 4px\",\n \"& label\": {\n fontSize: \"80%\"\n }\n }\n});\nconst defaultHighlightOptions = {\n highlightWordAroundCursor: false,\n minSelectionLength: 1,\n maxMatches: 100,\n wholeWords: false\n};\nconst highlightConfig = /*@__PURE__*/Facet.define({\n combine(options) {\n return combineConfig(options, defaultHighlightOptions, {\n highlightWordAroundCursor: (a, b) => a || b,\n minSelectionLength: Math.min,\n maxMatches: Math.min\n });\n }\n});\n/**\nThis extension highlights text that matches the selection. It uses\nthe `\"cm-selectionMatch\"` class for the highlighting. When\n`highlightWordAroundCursor` is enabled, the word at the cursor\nitself will be highlighted with `\"cm-selectionMatch-main\"`.\n*/\nfunction highlightSelectionMatches(options) {\n let ext = [defaultTheme, matchHighlighter];\n if (options) ext.push(highlightConfig.of(options));\n return ext;\n}\nconst matchDeco = /*@__PURE__*/Decoration.mark({\n class: \"cm-selectionMatch\"\n});\nconst mainMatchDeco = /*@__PURE__*/Decoration.mark({\n class: \"cm-selectionMatch cm-selectionMatch-main\"\n});\n// Whether the characters directly outside the given positions are non-word characters\nfunction insideWordBoundaries(check, state, from, to) {\n return (from == 0 || check(state.sliceDoc(from - 1, from)) != CharCategory.Word) && (to == state.doc.length || check(state.sliceDoc(to, to + 1)) != CharCategory.Word);\n}\n// Whether the characters directly at the given positions are word characters\nfunction insideWord(check, state, from, to) {\n return check(state.sliceDoc(from, from + 1)) == CharCategory.Word && check(state.sliceDoc(to - 1, to)) == CharCategory.Word;\n}\nconst matchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.decorations = this.getDeco(view);\n }\n update(update) {\n if (update.selectionSet || update.docChanged || update.viewportChanged) this.decorations = this.getDeco(update.view);\n }\n getDeco(view) {\n let conf = view.state.facet(highlightConfig);\n let {\n state\n } = view,\n sel = state.selection;\n if (sel.ranges.length > 1) return Decoration.none;\n let range = sel.main,\n query,\n check = null;\n if (range.empty) {\n if (!conf.highlightWordAroundCursor) return Decoration.none;\n let word = state.wordAt(range.head);\n if (!word) return Decoration.none;\n check = state.charCategorizer(range.head);\n query = state.sliceDoc(word.from, word.to);\n } else {\n let len = range.to - range.from;\n if (len < conf.minSelectionLength || len > 200) return Decoration.none;\n if (conf.wholeWords) {\n query = state.sliceDoc(range.from, range.to); // TODO: allow and include leading/trailing space?\n check = state.charCategorizer(range.head);\n if (!(insideWordBoundaries(check, state, range.from, range.to) && insideWord(check, state, range.from, range.to))) return Decoration.none;\n } else {\n query = state.sliceDoc(range.from, range.to);\n if (!query) return Decoration.none;\n }\n }\n let deco = [];\n for (let part of view.visibleRanges) {\n let cursor = new SearchCursor(state.doc, query, part.from, part.to);\n while (!cursor.next().done) {\n let {\n from,\n to\n } = cursor.value;\n if (!check || insideWordBoundaries(check, state, from, to)) {\n if (range.empty && from <= range.from && to >= range.to) deco.push(mainMatchDeco.range(from, to));else if (from >= range.to || to <= range.from) deco.push(matchDeco.range(from, to));\n if (deco.length > conf.maxMatches) return Decoration.none;\n }\n }\n }\n return Decoration.set(deco);\n }\n}, {\n decorations: v => v.decorations\n});\nconst defaultTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-selectionMatch\": {\n backgroundColor: \"#99ff7780\"\n },\n \".cm-searchMatch .cm-selectionMatch\": {\n backgroundColor: \"transparent\"\n }\n});\n// Select the words around the cursors.\nconst selectWord = ({\n state,\n dispatch\n}) => {\n let {\n selection\n } = state;\n let newSel = EditorSelection.create(selection.ranges.map(range => state.wordAt(range.head) || EditorSelection.cursor(range.head)), selection.mainIndex);\n if (newSel.eq(selection)) return false;\n dispatch(state.update({\n selection: newSel\n }));\n return true;\n};\n// Find next occurrence of query relative to last cursor. Wrap around\n// the document if there are no more matches.\nfunction findNextOccurrence(state, query) {\n let {\n main,\n ranges\n } = state.selection;\n let word = state.wordAt(main.head),\n fullWord = word && word.from == main.from && word.to == main.to;\n for (let cycled = false, cursor = new SearchCursor(state.doc, query, ranges[ranges.length - 1].to);;) {\n cursor.next();\n if (cursor.done) {\n if (cycled) return null;\n cursor = new SearchCursor(state.doc, query, 0, Math.max(0, ranges[ranges.length - 1].from - 1));\n cycled = true;\n } else {\n if (cycled && ranges.some(r => r.from == cursor.value.from)) continue;\n if (fullWord) {\n let word = state.wordAt(cursor.value.from);\n if (!word || word.from != cursor.value.from || word.to != cursor.value.to) continue;\n }\n return cursor.value;\n }\n }\n}\n/**\nSelect next occurrence of the current selection. Expand selection\nto the surrounding word when the selection is empty.\n*/\nconst selectNextOccurrence = ({\n state,\n dispatch\n}) => {\n let {\n ranges\n } = state.selection;\n if (ranges.some(sel => sel.from === sel.to)) return selectWord({\n state,\n dispatch\n });\n let searchedText = state.sliceDoc(ranges[0].from, ranges[0].to);\n if (state.selection.ranges.some(r => state.sliceDoc(r.from, r.to) != searchedText)) return false;\n let range = findNextOccurrence(state, searchedText);\n if (!range) return false;\n dispatch(state.update({\n selection: state.selection.addRange(EditorSelection.range(range.from, range.to), false),\n effects: EditorView.scrollIntoView(range.to)\n }));\n return true;\n};\nconst searchConfigFacet = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n top: false,\n caseSensitive: false,\n literal: false,\n regexp: false,\n wholeWord: false,\n createPanel: view => new SearchPanel(view),\n scrollToMatch: range => EditorView.scrollIntoView(range)\n });\n }\n});\n/**\nAdd search state to the editor configuration, and optionally\nconfigure the search extension.\n([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically\nenable this if it isn't already on).\n*/\nfunction search(config) {\n return config ? [searchConfigFacet.of(config), searchExtensions] : searchExtensions;\n}\n/**\nA search query. Part of the editor's search state.\n*/\nclass SearchQuery {\n /**\n Create a query object.\n */\n constructor(config) {\n this.search = config.search;\n this.caseSensitive = !!config.caseSensitive;\n this.literal = !!config.literal;\n this.regexp = !!config.regexp;\n this.replace = config.replace || \"\";\n this.valid = !!this.search && (!this.regexp || validRegExp(this.search));\n this.unquoted = this.unquote(this.search);\n this.wholeWord = !!config.wholeWord;\n }\n /**\n @internal\n */\n unquote(text) {\n return this.literal ? text : text.replace(/\\\\([nrt\\\\])/g, (_, ch) => ch == \"n\" ? \"\\n\" : ch == \"r\" ? \"\\r\" : ch == \"t\" ? \"\\t\" : \"\\\\\");\n }\n /**\n Compare this query to another query.\n */\n eq(other) {\n return this.search == other.search && this.replace == other.replace && this.caseSensitive == other.caseSensitive && this.regexp == other.regexp && this.wholeWord == other.wholeWord;\n }\n /**\n @internal\n */\n create() {\n return this.regexp ? new RegExpQuery(this) : new StringQuery(this);\n }\n /**\n Get a search cursor for this query, searching through the given\n range in the given state.\n */\n getCursor(state, from = 0, to) {\n let st = state.doc ? state : EditorState.create({\n doc: state\n });\n if (to == null) to = st.doc.length;\n return this.regexp ? regexpCursor(this, st, from, to) : stringCursor(this, st, from, to);\n }\n}\nclass QueryType {\n constructor(spec) {\n this.spec = spec;\n }\n}\nfunction stringCursor(spec, state, from, to) {\n return new SearchCursor(state.doc, spec.unquoted, from, to, spec.caseSensitive ? undefined : x => x.toLowerCase(), spec.wholeWord ? stringWordTest(state.doc, state.charCategorizer(state.selection.main.head)) : undefined);\n}\nfunction stringWordTest(doc, categorizer) {\n return (from, to, buf, bufPos) => {\n if (bufPos > from || bufPos + buf.length < to) {\n bufPos = Math.max(0, from - 2);\n buf = doc.sliceString(bufPos, Math.min(doc.length, to + 2));\n }\n return (categorizer(charBefore(buf, from - bufPos)) != CharCategory.Word || categorizer(charAfter(buf, from - bufPos)) != CharCategory.Word) && (categorizer(charAfter(buf, to - bufPos)) != CharCategory.Word || categorizer(charBefore(buf, to - bufPos)) != CharCategory.Word);\n };\n}\nclass StringQuery extends QueryType {\n constructor(spec) {\n super(spec);\n }\n nextMatch(state, curFrom, curTo) {\n let cursor = stringCursor(this.spec, state, curTo, state.doc.length).nextOverlapping();\n if (cursor.done) cursor = stringCursor(this.spec, state, 0, curFrom).nextOverlapping();\n return cursor.done ? null : cursor.value;\n }\n // Searching in reverse is, rather than implementing an inverted search\n // cursor, done by scanning chunk after chunk forward.\n prevMatchInRange(state, from, to) {\n for (let pos = to;;) {\n let start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length);\n let cursor = stringCursor(this.spec, state, start, pos),\n range = null;\n while (!cursor.nextOverlapping().done) range = cursor.value;\n if (range) return range;\n if (start == from) return null;\n pos -= 10000 /* FindPrev.ChunkSize */;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(_result) {\n return this.spec.unquote(this.spec.replace);\n }\n matchAll(state, limit) {\n let cursor = stringCursor(this.spec, state, 0, state.doc.length),\n ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit) return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = stringCursor(this.spec, state, Math.max(0, from - this.spec.unquoted.length), Math.min(to + this.spec.unquoted.length, state.doc.length));\n while (!cursor.next().done) add(cursor.value.from, cursor.value.to);\n }\n}\nfunction regexpCursor(spec, state, from, to) {\n return new RegExpCursor(state.doc, spec.search, {\n ignoreCase: !spec.caseSensitive,\n test: spec.wholeWord ? regexpWordTest(state.charCategorizer(state.selection.main.head)) : undefined\n }, from, to);\n}\nfunction charBefore(str, index) {\n return str.slice(findClusterBreak(str, index, false), index);\n}\nfunction charAfter(str, index) {\n return str.slice(index, findClusterBreak(str, index));\n}\nfunction regexpWordTest(categorizer) {\n return (_from, _to, match) => !match[0].length || (categorizer(charBefore(match.input, match.index)) != CharCategory.Word || categorizer(charAfter(match.input, match.index)) != CharCategory.Word) && (categorizer(charAfter(match.input, match.index + match[0].length)) != CharCategory.Word || categorizer(charBefore(match.input, match.index + match[0].length)) != CharCategory.Word);\n}\nclass RegExpQuery extends QueryType {\n nextMatch(state, curFrom, curTo) {\n let cursor = regexpCursor(this.spec, state, curTo, state.doc.length).next();\n if (cursor.done) cursor = regexpCursor(this.spec, state, 0, curFrom).next();\n return cursor.done ? null : cursor.value;\n }\n prevMatchInRange(state, from, to) {\n for (let size = 1;; size++) {\n let start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */);\n let cursor = regexpCursor(this.spec, state, start, to),\n range = null;\n while (!cursor.next().done) range = cursor.value;\n if (range && (start == from || range.from > start + 10)) return range;\n if (start == from) return null;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(result) {\n return this.spec.unquote(this.spec.replace).replace(/\\$([$&\\d+])/g, (m, i) => i == \"$\" ? \"$\" : i == \"&\" ? result.match[0] : i != \"0\" && +i < result.match.length ? result.match[i] : m);\n }\n matchAll(state, limit) {\n let cursor = regexpCursor(this.spec, state, 0, state.doc.length),\n ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit) return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length));\n while (!cursor.next().done) add(cursor.value.from, cursor.value.to);\n }\n}\n/**\nA state effect that updates the current search query. Note that\nthis only has an effect if the search state has been initialized\n(by including [`search`](https://codemirror.net/6/docs/ref/#search.search) in your configuration or\nby running [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) at least\nonce).\n*/\nconst setSearchQuery = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst searchState = /*@__PURE__*/StateField.define({\n create(state) {\n return new SearchState(defaultQuery(state).create(), null);\n },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setSearchQuery)) value = new SearchState(effect.value.create(), value.panel);else if (effect.is(togglePanel)) value = new SearchState(value.query, effect.value ? createSearchPanel : null);\n }\n return value;\n },\n provide: f => showPanel.from(f, val => val.panel)\n});\n/**\nGet the current search query from an editor state.\n*/\nfunction getSearchQuery(state) {\n let curState = state.field(searchState, false);\n return curState ? curState.query.spec : defaultQuery(state);\n}\n/**\nQuery whether the search panel is open in the given editor state.\n*/\nfunction searchPanelOpen(state) {\n var _a;\n return ((_a = state.field(searchState, false)) === null || _a === void 0 ? void 0 : _a.panel) != null;\n}\nclass SearchState {\n constructor(query, panel) {\n this.query = query;\n this.panel = panel;\n }\n}\nconst matchMark = /*@__PURE__*/Decoration.mark({\n class: \"cm-searchMatch\"\n }),\n selectedMatchMark = /*@__PURE__*/Decoration.mark({\n class: \"cm-searchMatch cm-searchMatch-selected\"\n });\nconst searchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.decorations = this.highlight(view.state.field(searchState));\n }\n update(update) {\n let state = update.state.field(searchState);\n if (state != update.startState.field(searchState) || update.docChanged || update.selectionSet || update.viewportChanged) this.decorations = this.highlight(state);\n }\n highlight({\n query,\n panel\n }) {\n if (!panel || !query.spec.valid) return Decoration.none;\n let {\n view\n } = this;\n let builder = new RangeSetBuilder();\n for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) {\n let {\n from,\n to\n } = ranges[i];\n while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */) to = ranges[++i].to;\n query.highlight(view.state, from, to, (from, to) => {\n let selected = view.state.selection.ranges.some(r => r.from == from && r.to == to);\n builder.add(from, to, selected ? selectedMatchMark : matchMark);\n });\n }\n return builder.finish();\n }\n}, {\n decorations: v => v.decorations\n});\nfunction searchCommand(f) {\n return view => {\n let state = view.state.field(searchState, false);\n return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view);\n };\n}\n/**\nOpen the search panel if it isn't already open, and move the\nselection to the first match after the current main selection.\nWill wrap around to the start of the document when it reaches the\nend.\n*/\nconst findNext = /*@__PURE__*/searchCommand((view, {\n query\n}) => {\n let {\n to\n } = view.state.selection.main;\n let next = query.nextMatch(view.state, to, to);\n if (!next) return false;\n let selection = EditorSelection.single(next.from, next.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, next), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nMove the selection to the previous instance of the search query,\nbefore the current main selection. Will wrap past the start\nof the document to start searching at the end again.\n*/\nconst findPrevious = /*@__PURE__*/searchCommand((view, {\n query\n}) => {\n let {\n state\n } = view,\n {\n from\n } = state.selection.main;\n let prev = query.prevMatch(state, from, from);\n if (!prev) return false;\n let selection = EditorSelection.single(prev.from, prev.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, prev), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nSelect all instances of the search query.\n*/\nconst selectMatches = /*@__PURE__*/searchCommand((view, {\n query\n}) => {\n let ranges = query.matchAll(view.state, 1000);\n if (!ranges || !ranges.length) return false;\n view.dispatch({\n selection: EditorSelection.create(ranges.map(r => EditorSelection.range(r.from, r.to))),\n userEvent: \"select.search.matches\"\n });\n return true;\n});\n/**\nSelect all instances of the currently selected text.\n*/\nconst selectSelectionMatches = ({\n state,\n dispatch\n}) => {\n let sel = state.selection;\n if (sel.ranges.length > 1 || sel.main.empty) return false;\n let {\n from,\n to\n } = sel.main;\n let ranges = [],\n main = 0;\n for (let cur = new SearchCursor(state.doc, state.sliceDoc(from, to)); !cur.next().done;) {\n if (ranges.length > 1000) return false;\n if (cur.value.from == from) main = ranges.length;\n ranges.push(EditorSelection.range(cur.value.from, cur.value.to));\n }\n dispatch(state.update({\n selection: EditorSelection.create(ranges, main),\n userEvent: \"select.search.matches\"\n }));\n return true;\n};\n/**\nReplace the current match of the search query.\n*/\nconst replaceNext = /*@__PURE__*/searchCommand((view, {\n query\n}) => {\n let {\n state\n } = view,\n {\n from,\n to\n } = state.selection.main;\n if (state.readOnly) return false;\n let next = query.nextMatch(state, from, from);\n if (!next) return false;\n let changes = [],\n selection,\n replacement;\n let effects = [];\n if (next.from == from && next.to == to) {\n replacement = state.toText(query.getReplacement(next));\n changes.push({\n from: next.from,\n to: next.to,\n insert: replacement\n });\n next = query.nextMatch(state, next.from, next.to);\n effects.push(EditorView.announce.of(state.phrase(\"replaced match on line $\", state.doc.lineAt(from).number) + \".\"));\n }\n if (next) {\n let off = changes.length == 0 || changes[0].from >= next.to ? 0 : next.to - next.from - replacement.length;\n selection = EditorSelection.single(next.from - off, next.to - off);\n effects.push(announceMatch(view, next));\n effects.push(state.facet(searchConfigFacet).scrollToMatch(selection.main, view));\n }\n view.dispatch({\n changes,\n selection,\n effects,\n userEvent: \"input.replace\"\n });\n return true;\n});\n/**\nReplace all instances of the search query with the given\nreplacement.\n*/\nconst replaceAll = /*@__PURE__*/searchCommand((view, {\n query\n}) => {\n if (view.state.readOnly) return false;\n let changes = query.matchAll(view.state, 1e9).map(match => {\n let {\n from,\n to\n } = match;\n return {\n from,\n to,\n insert: query.getReplacement(match)\n };\n });\n if (!changes.length) return false;\n let announceText = view.state.phrase(\"replaced $ matches\", changes.length) + \".\";\n view.dispatch({\n changes,\n effects: EditorView.announce.of(announceText),\n userEvent: \"input.replace.all\"\n });\n return true;\n});\nfunction createSearchPanel(view) {\n return view.state.facet(searchConfigFacet).createPanel(view);\n}\nfunction defaultQuery(state, fallback) {\n var _a, _b, _c, _d, _e;\n let sel = state.selection.main;\n let selText = sel.empty || sel.to > sel.from + 100 ? \"\" : state.sliceDoc(sel.from, sel.to);\n if (fallback && !selText) return fallback;\n let config = state.facet(searchConfigFacet);\n return new SearchQuery({\n search: ((_a = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _a !== void 0 ? _a : config.literal) ? selText : selText.replace(/\\n/g, \"\\\\n\"),\n caseSensitive: (_b = fallback === null || fallback === void 0 ? void 0 : fallback.caseSensitive) !== null && _b !== void 0 ? _b : config.caseSensitive,\n literal: (_c = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _c !== void 0 ? _c : config.literal,\n regexp: (_d = fallback === null || fallback === void 0 ? void 0 : fallback.regexp) !== null && _d !== void 0 ? _d : config.regexp,\n wholeWord: (_e = fallback === null || fallback === void 0 ? void 0 : fallback.wholeWord) !== null && _e !== void 0 ? _e : config.wholeWord\n });\n}\nfunction getSearchInput(view) {\n let panel = getPanel(view, createSearchPanel);\n return panel && panel.dom.querySelector(\"[main-field]\");\n}\nfunction selectSearchInput(view) {\n let input = getSearchInput(view);\n if (input && input == view.root.activeElement) input.select();\n}\n/**\nMake sure the search panel is open and focused.\n*/\nconst openSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (state && state.panel) {\n let searchInput = getSearchInput(view);\n if (searchInput && searchInput != view.root.activeElement) {\n let query = defaultQuery(view.state, state.query.spec);\n if (query.valid) view.dispatch({\n effects: setSearchQuery.of(query)\n });\n searchInput.focus();\n searchInput.select();\n }\n } else {\n view.dispatch({\n effects: [togglePanel.of(true), state ? setSearchQuery.of(defaultQuery(view.state, state.query.spec)) : StateEffect.appendConfig.of(searchExtensions)]\n });\n }\n return true;\n};\n/**\nClose the search panel.\n*/\nconst closeSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (!state || !state.panel) return false;\n let panel = getPanel(view, createSearchPanel);\n if (panel && panel.dom.contains(view.root.activeElement)) view.focus();\n view.dispatch({\n effects: togglePanel.of(false)\n });\n return true;\n};\n/**\nDefault search-related key bindings.\n\n - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel)\n - F3, Mod-g: [`findNext`](https://codemirror.net/6/docs/ref/#search.findNext)\n - Shift-F3, Shift-Mod-g: [`findPrevious`](https://codemirror.net/6/docs/ref/#search.findPrevious)\n - Mod-Alt-g: [`gotoLine`](https://codemirror.net/6/docs/ref/#search.gotoLine)\n - Mod-d: [`selectNextOccurrence`](https://codemirror.net/6/docs/ref/#search.selectNextOccurrence)\n*/\nconst searchKeymap = [{\n key: \"Mod-f\",\n run: openSearchPanel,\n scope: \"editor search-panel\"\n}, {\n key: \"F3\",\n run: findNext,\n shift: findPrevious,\n scope: \"editor search-panel\",\n preventDefault: true\n}, {\n key: \"Mod-g\",\n run: findNext,\n shift: findPrevious,\n scope: \"editor search-panel\",\n preventDefault: true\n}, {\n key: \"Escape\",\n run: closeSearchPanel,\n scope: \"editor search-panel\"\n}, {\n key: \"Mod-Shift-l\",\n run: selectSelectionMatches\n}, {\n key: \"Mod-Alt-g\",\n run: gotoLine\n}, {\n key: \"Mod-d\",\n run: selectNextOccurrence,\n preventDefault: true\n}];\nclass SearchPanel {\n constructor(view) {\n this.view = view;\n let query = this.query = view.state.field(searchState).query.spec;\n this.commit = this.commit.bind(this);\n this.searchField = elt(\"input\", {\n value: query.search,\n placeholder: phrase(view, \"Find\"),\n \"aria-label\": phrase(view, \"Find\"),\n class: \"cm-textfield\",\n name: \"search\",\n form: \"\",\n \"main-field\": \"true\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.replaceField = elt(\"input\", {\n value: query.replace,\n placeholder: phrase(view, \"Replace\"),\n \"aria-label\": phrase(view, \"Replace\"),\n class: \"cm-textfield\",\n name: \"replace\",\n form: \"\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.caseField = elt(\"input\", {\n type: \"checkbox\",\n name: \"case\",\n form: \"\",\n checked: query.caseSensitive,\n onchange: this.commit\n });\n this.reField = elt(\"input\", {\n type: \"checkbox\",\n name: \"re\",\n form: \"\",\n checked: query.regexp,\n onchange: this.commit\n });\n this.wordField = elt(\"input\", {\n type: \"checkbox\",\n name: \"word\",\n form: \"\",\n checked: query.wholeWord,\n onchange: this.commit\n });\n function button(name, onclick, content) {\n return elt(\"button\", {\n class: \"cm-button\",\n name,\n onclick,\n type: \"button\"\n }, content);\n }\n this.dom = elt(\"div\", {\n onkeydown: e => this.keydown(e),\n class: \"cm-search\"\n }, [this.searchField, button(\"next\", () => findNext(view), [phrase(view, \"next\")]), button(\"prev\", () => findPrevious(view), [phrase(view, \"previous\")]), button(\"select\", () => selectMatches(view), [phrase(view, \"all\")]), elt(\"label\", null, [this.caseField, phrase(view, \"match case\")]), elt(\"label\", null, [this.reField, phrase(view, \"regexp\")]), elt(\"label\", null, [this.wordField, phrase(view, \"by word\")]), ...(view.state.readOnly ? [] : [elt(\"br\"), this.replaceField, button(\"replace\", () => replaceNext(view), [phrase(view, \"replace\")]), button(\"replaceAll\", () => replaceAll(view), [phrase(view, \"replace all\")])]), elt(\"button\", {\n name: \"close\",\n onclick: () => closeSearchPanel(view),\n \"aria-label\": phrase(view, \"close\"),\n type: \"button\"\n }, [\"×\"])]);\n }\n commit() {\n let query = new SearchQuery({\n search: this.searchField.value,\n caseSensitive: this.caseField.checked,\n regexp: this.reField.checked,\n wholeWord: this.wordField.checked,\n replace: this.replaceField.value\n });\n if (!query.eq(this.query)) {\n this.query = query;\n this.view.dispatch({\n effects: setSearchQuery.of(query)\n });\n }\n }\n keydown(e) {\n if (runScopeHandlers(this.view, e, \"search-panel\")) {\n e.preventDefault();\n } else if (e.keyCode == 13 && e.target == this.searchField) {\n e.preventDefault();\n (e.shiftKey ? findPrevious : findNext)(this.view);\n } else if (e.keyCode == 13 && e.target == this.replaceField) {\n e.preventDefault();\n replaceNext(this.view);\n }\n }\n update(update) {\n for (let tr of update.transactions) for (let effect of tr.effects) {\n if (effect.is(setSearchQuery) && !effect.value.eq(this.query)) this.setQuery(effect.value);\n }\n }\n setQuery(query) {\n this.query = query;\n this.searchField.value = query.search;\n this.replaceField.value = query.replace;\n this.caseField.checked = query.caseSensitive;\n this.reField.checked = query.regexp;\n this.wordField.checked = query.wholeWord;\n }\n mount() {\n this.searchField.select();\n }\n get pos() {\n return 80;\n }\n get top() {\n return this.view.state.facet(searchConfigFacet).top;\n }\n}\nfunction phrase(view, phrase) {\n return view.state.phrase(phrase);\n}\nconst AnnounceMargin = 30;\nconst Break = /[\\s\\.,:;?!]/;\nfunction announceMatch(view, {\n from,\n to\n}) {\n let line = view.state.doc.lineAt(from),\n lineEnd = view.state.doc.lineAt(to).to;\n let start = Math.max(line.from, from - AnnounceMargin),\n end = Math.min(lineEnd, to + AnnounceMargin);\n let text = view.state.sliceDoc(start, end);\n if (start != line.from) {\n for (let i = 0; i < AnnounceMargin; i++) if (!Break.test(text[i + 1]) && Break.test(text[i])) {\n text = text.slice(i);\n break;\n }\n }\n if (end != lineEnd) {\n for (let i = text.length - 1; i > text.length - AnnounceMargin; i--) if (!Break.test(text[i - 1]) && Break.test(text[i])) {\n text = text.slice(0, i);\n break;\n }\n }\n return EditorView.announce.of(`${view.state.phrase(\"current match\")}. ${text} ${view.state.phrase(\"on line\")} ${line.number}.`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-search\": {\n padding: \"2px 6px 4px\",\n position: \"relative\",\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"4px\",\n backgroundColor: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n },\n \"& input, & button, & label\": {\n margin: \".2em .6em .2em 0\"\n },\n \"& input[type=checkbox]\": {\n marginRight: \".2em\"\n },\n \"& label\": {\n fontSize: \"80%\",\n whiteSpace: \"pre\"\n }\n },\n \"&light .cm-searchMatch\": {\n backgroundColor: \"#ffff0054\"\n },\n \"&dark .cm-searchMatch\": {\n backgroundColor: \"#00ffff8a\"\n },\n \"&light .cm-searchMatch-selected\": {\n backgroundColor: \"#ff6a0054\"\n },\n \"&dark .cm-searchMatch-selected\": {\n backgroundColor: \"#ff00ff8a\"\n }\n});\nconst searchExtensions = [searchState, /*@__PURE__*/Prec.low(searchHighlighter), baseTheme];\nexport { RegExpCursor, SearchCursor, SearchQuery, closeSearchPanel, findNext, findPrevious, getSearchQuery, gotoLine, highlightSelectionMatches, openSearchPanel, replaceAll, replaceNext, search, searchKeymap, searchPanelOpen, selectMatches, selectNextOccurrence, selectSelectionMatches, setSearchQuery };","import { Decoration, showPanel, EditorView, ViewPlugin, logException, gutter, showTooltip, hoverTooltip, getPanel, WidgetType, GutterMarker } from '@codemirror/view';\nimport { StateEffect, StateField, Facet, combineConfig, RangeSet } from '@codemirror/state';\nimport elt from 'crelt';\nclass SelectedDiagnostic {\n constructor(from, to, diagnostic) {\n this.from = from;\n this.to = to;\n this.diagnostic = diagnostic;\n }\n}\nclass LintState {\n constructor(diagnostics, panel, selected) {\n this.diagnostics = diagnostics;\n this.panel = panel;\n this.selected = selected;\n }\n static init(diagnostics, panel, state) {\n // Filter the list of diagnostics for which to create markers\n let markedDiagnostics = diagnostics;\n let diagnosticFilter = state.facet(lintConfig).markerFilter;\n if (diagnosticFilter) markedDiagnostics = diagnosticFilter(markedDiagnostics, state);\n let ranges = Decoration.set(markedDiagnostics.map(d => {\n // For zero-length ranges or ranges covering only a line break, create a widget\n return d.from == d.to || d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from ? Decoration.widget({\n widget: new DiagnosticWidget(d),\n diagnostic: d\n }).range(d.from) : Decoration.mark({\n attributes: {\n class: \"cm-lintRange cm-lintRange-\" + d.severity + (d.markClass ? \" \" + d.markClass : \"\")\n },\n diagnostic: d\n }).range(d.from, d.to);\n }), true);\n return new LintState(ranges, panel, findDiagnostic(ranges));\n }\n}\nfunction findDiagnostic(diagnostics, diagnostic = null, after = 0) {\n let found = null;\n diagnostics.between(after, 1e9, (from, to, {\n spec\n }) => {\n if (diagnostic && spec.diagnostic != diagnostic) return;\n found = new SelectedDiagnostic(from, to, spec.diagnostic);\n return false;\n });\n return found;\n}\nfunction hideTooltip(tr, tooltip) {\n let from = tooltip.pos,\n to = tooltip.end || from;\n let result = tr.state.facet(lintConfig).hideOn(tr, from, to);\n if (result != null) return result;\n let line = tr.startState.doc.lineAt(tooltip.pos);\n return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));\n}\nfunction maybeEnableLint(state, effects) {\n return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));\n}\n/**\nReturns a transaction spec which updates the current set of\ndiagnostics, and enables the lint extension if if wasn't already\nactive.\n*/\nfunction setDiagnostics(state, diagnostics) {\n return {\n effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])\n };\n}\n/**\nThe state effect that updates the set of active diagnostics. Can\nbe useful when writing an extension that needs to track these.\n*/\nconst setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst movePanelSelection = /*@__PURE__*/StateEffect.define();\nconst lintState = /*@__PURE__*/StateField.define({\n create() {\n return new LintState(Decoration.none, null, null);\n },\n update(value, tr) {\n if (tr.docChanged && value.diagnostics.size) {\n let mapped = value.diagnostics.map(tr.changes),\n selected = null,\n panel = value.panel;\n if (value.selected) {\n let selPos = tr.changes.mapPos(value.selected.from, 1);\n selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);\n }\n if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel) panel = null;\n value = new LintState(mapped, panel, selected);\n }\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;\n value = LintState.init(effect.value, panel, tr.state);\n } else if (effect.is(togglePanel)) {\n value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);\n } else if (effect.is(movePanelSelection)) {\n value = new LintState(value.diagnostics, value.panel, effect.value);\n }\n }\n return value;\n },\n provide: f => [showPanel.from(f, val => val.panel), EditorView.decorations.from(f, s => s.diagnostics)]\n});\n/**\nReturns the number of active lint diagnostics in the given state.\n*/\nfunction diagnosticCount(state) {\n let lint = state.field(lintState, false);\n return lint ? lint.diagnostics.size : 0;\n}\nconst activeMark = /*@__PURE__*/Decoration.mark({\n class: \"cm-lintRange cm-lintRange-active\"\n});\nfunction lintTooltip(view, pos, side) {\n let {\n diagnostics\n } = view.state.field(lintState);\n let found = [],\n stackStart = 2e8,\n stackEnd = 0;\n diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, {\n spec\n }) => {\n if (pos >= from && pos <= to && (from == to || (pos > from || side > 0) && (pos < to || side < 0))) {\n found.push(spec.diagnostic);\n stackStart = Math.min(from, stackStart);\n stackEnd = Math.max(to, stackEnd);\n }\n });\n let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;\n if (diagnosticFilter) found = diagnosticFilter(found, view.state);\n if (!found.length) return null;\n return {\n pos: stackStart,\n end: stackEnd,\n above: view.state.doc.lineAt(stackStart).to < stackEnd,\n create() {\n return {\n dom: diagnosticsTooltip(view, found)\n };\n }\n };\n}\nfunction diagnosticsTooltip(view, diagnostics) {\n return elt(\"ul\", {\n class: \"cm-tooltip-lint\"\n }, diagnostics.map(d => renderDiagnostic(view, d, false)));\n}\n/**\nCommand to open and focus the lint panel.\n*/\nconst openLintPanel = view => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel) view.dispatch({\n effects: maybeEnableLint(view.state, [togglePanel.of(true)])\n });\n let panel = getPanel(view, LintPanel.open);\n if (panel) panel.dom.querySelector(\".cm-panel-lint ul\").focus();\n return true;\n};\n/**\nCommand to close the lint panel, when open.\n*/\nconst closeLintPanel = view => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel) return false;\n view.dispatch({\n effects: togglePanel.of(false)\n });\n return true;\n};\n/**\nMove the selection to the next diagnostic.\n*/\nconst nextDiagnostic = view => {\n let field = view.state.field(lintState, false);\n if (!field) return false;\n let sel = view.state.selection.main,\n next = field.diagnostics.iter(sel.to + 1);\n if (!next.value) {\n next = field.diagnostics.iter(0);\n if (!next.value || next.from == sel.from && next.to == sel.to) return false;\n }\n view.dispatch({\n selection: {\n anchor: next.from,\n head: next.to\n },\n scrollIntoView: true\n });\n return true;\n};\n/**\nMove the selection to the previous diagnostic.\n*/\nconst previousDiagnostic = view => {\n let {\n state\n } = view,\n field = state.field(lintState, false);\n if (!field) return false;\n let sel = state.selection.main;\n let prevFrom, prevTo, lastFrom, lastTo;\n field.diagnostics.between(0, state.doc.length, (from, to) => {\n if (to < sel.to && (prevFrom == null || prevFrom < from)) {\n prevFrom = from;\n prevTo = to;\n }\n if (lastFrom == null || from > lastFrom) {\n lastFrom = from;\n lastTo = to;\n }\n });\n if (lastFrom == null || prevFrom == null && lastFrom == sel.from) return false;\n view.dispatch({\n selection: {\n anchor: prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom,\n head: prevTo !== null && prevTo !== void 0 ? prevTo : lastTo\n },\n scrollIntoView: true\n });\n return true;\n};\n/**\nA set of default key bindings for the lint functionality.\n\n- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)\n- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)\n*/\nconst lintKeymap = [{\n key: \"Mod-Shift-m\",\n run: openLintPanel,\n preventDefault: true\n}, {\n key: \"F8\",\n run: nextDiagnostic\n}];\nconst lintPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.timeout = -1;\n this.set = true;\n let {\n delay\n } = view.state.facet(lintConfig);\n this.lintTime = Date.now() + delay;\n this.run = this.run.bind(this);\n this.timeout = setTimeout(this.run, delay);\n }\n run() {\n clearTimeout(this.timeout);\n let now = Date.now();\n if (now < this.lintTime - 10) {\n this.timeout = setTimeout(this.run, this.lintTime - now);\n } else {\n this.set = false;\n let {\n state\n } = this.view,\n {\n sources\n } = state.facet(lintConfig);\n if (sources.length) Promise.all(sources.map(source => Promise.resolve(source(this.view)))).then(annotations => {\n let all = annotations.reduce((a, b) => a.concat(b));\n if (this.view.state.doc == state.doc) this.view.dispatch(setDiagnostics(this.view.state, all));\n }, error => {\n logException(this.view.state, error);\n });\n }\n }\n update(update) {\n let config = update.state.facet(lintConfig);\n if (update.docChanged || config != update.startState.facet(lintConfig) || config.needsRefresh && config.needsRefresh(update)) {\n this.lintTime = Date.now() + config.delay;\n if (!this.set) {\n this.set = true;\n this.timeout = setTimeout(this.run, config.delay);\n }\n }\n }\n force() {\n if (this.set) {\n this.lintTime = Date.now();\n this.run();\n }\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n});\nconst lintConfig = /*@__PURE__*/Facet.define({\n combine(input) {\n return Object.assign({\n sources: input.map(i => i.source).filter(x => x != null)\n }, combineConfig(input.map(i => i.config), {\n delay: 750,\n markerFilter: null,\n tooltipFilter: null,\n needsRefresh: null,\n hideOn: () => null\n }, {\n needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u)\n }));\n }\n});\n/**\nGiven a diagnostic source, this function returns an extension that\nenables linting with that source. It will be called whenever the\neditor is idle (after its content changed). If `null` is given as\nsource, this only configures the lint extension.\n*/\nfunction linter(source, config = {}) {\n return [lintConfig.of({\n source,\n config\n }), lintPlugin, lintExtensions];\n}\n/**\nForces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the\neditor is idle to run right away.\n*/\nfunction forceLinting(view) {\n let plugin = view.plugin(lintPlugin);\n if (plugin) plugin.force();\n}\nfunction assignKeys(actions) {\n let assigned = [];\n if (actions) actions: for (let {\n name\n } of actions) {\n for (let i = 0; i < name.length; i++) {\n let ch = name[i];\n if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {\n assigned.push(ch);\n continue actions;\n }\n }\n assigned.push(\"\");\n }\n return assigned;\n}\nfunction renderDiagnostic(view, diagnostic, inPanel) {\n var _a;\n let keys = inPanel ? assignKeys(diagnostic.actions) : [];\n return elt(\"li\", {\n class: \"cm-diagnostic cm-diagnostic-\" + diagnostic.severity\n }, elt(\"span\", {\n class: \"cm-diagnosticText\"\n }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {\n let fired = false,\n click = e => {\n e.preventDefault();\n if (fired) return;\n fired = true;\n let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);\n if (found) action.apply(view, found.from, found.to);\n };\n let {\n name\n } = action,\n keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;\n let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex), elt(\"u\", name.slice(keyIndex, keyIndex + 1)), name.slice(keyIndex + 1)];\n return elt(\"button\", {\n type: \"button\",\n class: \"cm-diagnosticAction\",\n onclick: click,\n onmousedown: click,\n \"aria-label\": ` Action: ${name}${keyIndex < 0 ? \"\" : ` (access key \"${keys[i]})\"`}.`\n }, nameElt);\n }), diagnostic.source && elt(\"div\", {\n class: \"cm-diagnosticSource\"\n }, diagnostic.source));\n}\nclass DiagnosticWidget extends WidgetType {\n constructor(diagnostic) {\n super();\n this.diagnostic = diagnostic;\n }\n eq(other) {\n return other.diagnostic == this.diagnostic;\n }\n toDOM() {\n return elt(\"span\", {\n class: \"cm-lintPoint cm-lintPoint-\" + this.diagnostic.severity\n });\n }\n}\nclass PanelItem {\n constructor(view, diagnostic) {\n this.diagnostic = diagnostic;\n this.id = \"item_\" + Math.floor(Math.random() * 0xffffffff).toString(16);\n this.dom = renderDiagnostic(view, diagnostic, true);\n this.dom.id = this.id;\n this.dom.setAttribute(\"role\", \"option\");\n }\n}\nclass LintPanel {\n constructor(view) {\n this.view = view;\n this.items = [];\n let onkeydown = event => {\n if (event.keyCode == 27) {\n // Escape\n closeLintPanel(this.view);\n this.view.focus();\n } else if (event.keyCode == 38 || event.keyCode == 33) {\n // ArrowUp, PageUp\n this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);\n } else if (event.keyCode == 40 || event.keyCode == 34) {\n // ArrowDown, PageDown\n this.moveSelection((this.selectedIndex + 1) % this.items.length);\n } else if (event.keyCode == 36) {\n // Home\n this.moveSelection(0);\n } else if (event.keyCode == 35) {\n // End\n this.moveSelection(this.items.length - 1);\n } else if (event.keyCode == 13) {\n // Enter\n this.view.focus();\n } else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) {\n // A-Z\n let {\n diagnostic\n } = this.items[this.selectedIndex],\n keys = assignKeys(diagnostic.actions);\n for (let i = 0; i < keys.length; i++) if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {\n let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);\n if (found) diagnostic.actions[i].apply(view, found.from, found.to);\n }\n } else {\n return;\n }\n event.preventDefault();\n };\n let onclick = event => {\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i].dom.contains(event.target)) this.moveSelection(i);\n }\n };\n this.list = elt(\"ul\", {\n tabIndex: 0,\n role: \"listbox\",\n \"aria-label\": this.view.state.phrase(\"Diagnostics\"),\n onkeydown,\n onclick\n });\n this.dom = elt(\"div\", {\n class: \"cm-panel-lint\"\n }, this.list, elt(\"button\", {\n type: \"button\",\n name: \"close\",\n \"aria-label\": this.view.state.phrase(\"close\"),\n onclick: () => closeLintPanel(this.view)\n }, \"×\"));\n this.update();\n }\n get selectedIndex() {\n let selected = this.view.state.field(lintState).selected;\n if (!selected) return -1;\n for (let i = 0; i < this.items.length; i++) if (this.items[i].diagnostic == selected.diagnostic) return i;\n return -1;\n }\n update() {\n let {\n diagnostics,\n selected\n } = this.view.state.field(lintState);\n let i = 0,\n needsSync = false,\n newSelectedItem = null;\n diagnostics.between(0, this.view.state.doc.length, (_start, _end, {\n spec\n }) => {\n let found = -1,\n item;\n for (let j = i; j < this.items.length; j++) if (this.items[j].diagnostic == spec.diagnostic) {\n found = j;\n break;\n }\n if (found < 0) {\n item = new PanelItem(this.view, spec.diagnostic);\n this.items.splice(i, 0, item);\n needsSync = true;\n } else {\n item = this.items[found];\n if (found > i) {\n this.items.splice(i, found - i);\n needsSync = true;\n }\n }\n if (selected && item.diagnostic == selected.diagnostic) {\n if (!item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.setAttribute(\"aria-selected\", \"true\");\n newSelectedItem = item;\n }\n } else if (item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.removeAttribute(\"aria-selected\");\n }\n i++;\n });\n while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {\n needsSync = true;\n this.items.pop();\n }\n if (this.items.length == 0) {\n this.items.push(new PanelItem(this.view, {\n from: -1,\n to: -1,\n severity: \"info\",\n message: this.view.state.phrase(\"No diagnostics\")\n }));\n needsSync = true;\n }\n if (newSelectedItem) {\n this.list.setAttribute(\"aria-activedescendant\", newSelectedItem.id);\n this.view.requestMeasure({\n key: this,\n read: () => ({\n sel: newSelectedItem.dom.getBoundingClientRect(),\n panel: this.list.getBoundingClientRect()\n }),\n write: ({\n sel,\n panel\n }) => {\n let scaleY = panel.height / this.list.offsetHeight;\n if (sel.top < panel.top) this.list.scrollTop -= (panel.top - sel.top) / scaleY;else if (sel.bottom > panel.bottom) this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;\n }\n });\n } else if (this.selectedIndex < 0) {\n this.list.removeAttribute(\"aria-activedescendant\");\n }\n if (needsSync) this.sync();\n }\n sync() {\n let domPos = this.list.firstChild;\n function rm() {\n let prev = domPos;\n domPos = prev.nextSibling;\n prev.remove();\n }\n for (let item of this.items) {\n if (item.dom.parentNode == this.list) {\n while (domPos != item.dom) rm();\n domPos = item.dom.nextSibling;\n } else {\n this.list.insertBefore(item.dom, domPos);\n }\n }\n while (domPos) rm();\n }\n moveSelection(selectedIndex) {\n if (this.selectedIndex < 0) return;\n let field = this.view.state.field(lintState);\n let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);\n if (!selection) return;\n this.view.dispatch({\n selection: {\n anchor: selection.from,\n head: selection.to\n },\n scrollIntoView: true,\n effects: movePanelSelection.of(selection)\n });\n }\n static open(view) {\n return new LintPanel(view);\n }\n}\nfunction svg(content, attrs = `viewBox=\"0 0 40 40\"`) {\n return `url('data:image/svg+xml,${encodeURIComponent(content)}')`;\n}\nfunction underline(color) {\n return svg(``, `width=\"6\" height=\"3\"`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-diagnostic\": {\n padding: \"3px 6px 3px 8px\",\n marginLeft: \"-1px\",\n display: \"block\",\n whiteSpace: \"pre-wrap\"\n },\n \".cm-diagnostic-error\": {\n borderLeft: \"5px solid #d11\"\n },\n \".cm-diagnostic-warning\": {\n borderLeft: \"5px solid orange\"\n },\n \".cm-diagnostic-info\": {\n borderLeft: \"5px solid #999\"\n },\n \".cm-diagnostic-hint\": {\n borderLeft: \"5px solid #66d\"\n },\n \".cm-diagnosticAction\": {\n font: \"inherit\",\n border: \"none\",\n padding: \"2px 4px\",\n backgroundColor: \"#444\",\n color: \"white\",\n borderRadius: \"3px\",\n marginLeft: \"8px\",\n cursor: \"pointer\"\n },\n \".cm-diagnosticSource\": {\n fontSize: \"70%\",\n opacity: .7\n },\n \".cm-lintRange\": {\n backgroundPosition: \"left bottom\",\n backgroundRepeat: \"repeat-x\",\n paddingBottom: \"0.7px\"\n },\n \".cm-lintRange-error\": {\n backgroundImage: /*@__PURE__*/underline(\"#d11\")\n },\n \".cm-lintRange-warning\": {\n backgroundImage: /*@__PURE__*/underline(\"orange\")\n },\n \".cm-lintRange-info\": {\n backgroundImage: /*@__PURE__*/underline(\"#999\")\n },\n \".cm-lintRange-hint\": {\n backgroundImage: /*@__PURE__*/underline(\"#66d\")\n },\n \".cm-lintRange-active\": {\n backgroundColor: \"#ffdd9980\"\n },\n \".cm-tooltip-lint\": {\n padding: 0,\n margin: 0\n },\n \".cm-lintPoint\": {\n position: \"relative\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: 0,\n left: \"-2px\",\n borderLeft: \"3px solid transparent\",\n borderRight: \"3px solid transparent\",\n borderBottom: \"4px solid #d11\"\n }\n },\n \".cm-lintPoint-warning\": {\n \"&:after\": {\n borderBottomColor: \"orange\"\n }\n },\n \".cm-lintPoint-info\": {\n \"&:after\": {\n borderBottomColor: \"#999\"\n }\n },\n \".cm-lintPoint-hint\": {\n \"&:after\": {\n borderBottomColor: \"#66d\"\n }\n },\n \".cm-panel.cm-panel-lint\": {\n position: \"relative\",\n \"& ul\": {\n maxHeight: \"100px\",\n overflowY: \"auto\",\n \"& [aria-selected]\": {\n backgroundColor: \"#ddd\",\n \"& u\": {\n textDecoration: \"underline\"\n }\n },\n \"&:focus [aria-selected]\": {\n background_fallback: \"#bdf\",\n backgroundColor: \"Highlight\",\n color_fallback: \"white\",\n color: \"HighlightText\"\n },\n \"& u\": {\n textDecoration: \"none\"\n },\n padding: 0,\n margin: 0\n },\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"2px\",\n background: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n }\n }\n});\nfunction severityWeight(sev) {\n return sev == \"error\" ? 4 : sev == \"warning\" ? 3 : sev == \"info\" ? 2 : 1;\n}\nclass LintGutterMarker extends GutterMarker {\n constructor(diagnostics) {\n super();\n this.diagnostics = diagnostics;\n this.severity = diagnostics.reduce((max, d) => severityWeight(max) < severityWeight(d.severity) ? d.severity : max, \"hint\");\n }\n toDOM(view) {\n let elt = document.createElement(\"div\");\n elt.className = \"cm-lint-marker cm-lint-marker-\" + this.severity;\n let diagnostics = this.diagnostics;\n let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;\n if (diagnosticsFilter) diagnostics = diagnosticsFilter(diagnostics, view.state);\n if (diagnostics.length) elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics);\n return elt;\n }\n}\nfunction trackHoverOn(view, marker) {\n let mousemove = event => {\n let rect = marker.getBoundingClientRect();\n if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ && event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */) return;\n for (let target = event.target; target; target = target.parentNode) {\n if (target.nodeType == 1 && target.classList.contains(\"cm-tooltip-lint\")) return;\n }\n window.removeEventListener(\"mousemove\", mousemove);\n if (view.state.field(lintGutterTooltip)) view.dispatch({\n effects: setLintGutterTooltip.of(null)\n });\n };\n window.addEventListener(\"mousemove\", mousemove);\n}\nfunction gutterMarkerMouseOver(view, marker, diagnostics) {\n function hovered() {\n let line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);\n const linePos = view.coordsAtPos(line.from);\n if (linePos) {\n view.dispatch({\n effects: setLintGutterTooltip.of({\n pos: line.from,\n above: false,\n create() {\n return {\n dom: diagnosticsTooltip(view, diagnostics),\n getCoords: () => marker.getBoundingClientRect()\n };\n }\n })\n });\n }\n marker.onmouseout = marker.onmousemove = null;\n trackHoverOn(view, marker);\n }\n let {\n hoverTime\n } = view.state.facet(lintGutterConfig);\n let hoverTimeout = setTimeout(hovered, hoverTime);\n marker.onmouseout = () => {\n clearTimeout(hoverTimeout);\n marker.onmouseout = marker.onmousemove = null;\n };\n marker.onmousemove = () => {\n clearTimeout(hoverTimeout);\n hoverTimeout = setTimeout(hovered, hoverTime);\n };\n}\nfunction markersForDiagnostics(doc, diagnostics) {\n let byLine = Object.create(null);\n for (let diagnostic of diagnostics) {\n let line = doc.lineAt(diagnostic.from);\n (byLine[line.from] || (byLine[line.from] = [])).push(diagnostic);\n }\n let markers = [];\n for (let line in byLine) {\n markers.push(new LintGutterMarker(byLine[line]).range(+line));\n }\n return RangeSet.of(markers, true);\n}\nconst lintGutterExtension = /*@__PURE__*/gutter({\n class: \"cm-gutter-lint\",\n markers: view => view.state.field(lintGutterMarkers)\n});\nconst lintGutterMarkers = /*@__PURE__*/StateField.define({\n create() {\n return RangeSet.empty;\n },\n update(markers, tr) {\n markers = markers.map(tr.changes);\n let diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let diagnostics = effect.value;\n if (diagnosticFilter) diagnostics = diagnosticFilter(diagnostics || [], tr.state);\n markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));\n }\n }\n return markers;\n }\n});\nconst setLintGutterTooltip = /*@__PURE__*/StateEffect.define();\nconst lintGutterTooltip = /*@__PURE__*/StateField.define({\n create() {\n return null;\n },\n update(tooltip, tr) {\n if (tooltip && tr.docChanged) tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), {\n pos: tr.changes.mapPos(tooltip.pos)\n });\n return tr.effects.reduce((t, e) => e.is(setLintGutterTooltip) ? e.value : t, tooltip);\n },\n provide: field => showTooltip.from(field)\n});\nconst lintGutterTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-gutter-lint\": {\n width: \"1.4em\",\n \"& .cm-gutterElement\": {\n padding: \".2em\"\n }\n },\n \".cm-lint-marker\": {\n width: \"1em\",\n height: \"1em\"\n },\n \".cm-lint-marker-info\": {\n content: /*@__PURE__*/svg(``)\n },\n \".cm-lint-marker-warning\": {\n content: /*@__PURE__*/svg(``)\n },\n \".cm-lint-marker-error\": {\n content: /*@__PURE__*/svg(``)\n }\n});\nconst lintExtensions = [lintState, /*@__PURE__*/EditorView.decorations.compute([lintState], state => {\n let {\n selected,\n panel\n } = state.field(lintState);\n return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([activeMark.range(selected.from, selected.to)]);\n}), /*@__PURE__*/hoverTooltip(lintTooltip, {\n hideOn: hideTooltip\n}), baseTheme];\nconst lintGutterConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n hoverTime: 300 /* Hover.Time */,\n markerFilter: null,\n tooltipFilter: null\n });\n }\n});\n/**\nReturns an extension that installs a gutter showing markers for\neach line that has diagnostics, which can be hovered over to see\nthe diagnostics.\n*/\nfunction lintGutter(config = {}) {\n return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];\n}\n/**\nIterate over the marked diagnostics for the given editor state,\ncalling `f` for each of them. Note that, if the document changed\nsince the diagnostics were created, the `Diagnostic` object will\nhold the original outdated position, whereas the `to` and `from`\narguments hold the diagnostic's current position.\n*/\nfunction forEachDiagnostic(state, f) {\n let lState = state.field(lintState, false);\n if (lState && lState.diagnostics.size) for (let iter = RangeSet.iter([lState.diagnostics]); iter.value; iter.next()) f(iter.value.spec.diagnostic, iter.from, iter.to);\n}\nexport { closeLintPanel, diagnosticCount, forEachDiagnostic, forceLinting, lintGutter, lintKeymap, linter, nextDiagnostic, openLintPanel, previousDiagnostic, setDiagnostics, setDiagnosticsEffect };","import { lineNumbers, highlightActiveLineGutter, highlightSpecialChars, drawSelection, dropCursor, rectangularSelection, crosshairCursor, highlightActiveLine, keymap } from '@codemirror/view';\nexport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { foldGutter, indentOnInput, syntaxHighlighting, defaultHighlightStyle, bracketMatching, foldKeymap } from '@codemirror/language';\nimport { history, defaultKeymap, historyKeymap } from '@codemirror/commands';\nimport { highlightSelectionMatches, searchKeymap } from '@codemirror/search';\nimport { closeBrackets, autocompletion, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';\nimport { lintKeymap } from '@codemirror/lint';\n\n// (The superfluous function calls around the list of extensions work\n// around current limitations in tree-shaking software.)\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nconst basicSetup = /*@__PURE__*/(() => [lineNumbers(), highlightActiveLineGutter(), highlightSpecialChars(), history(), foldGutter(), drawSelection(), dropCursor(), EditorState.allowMultipleSelections.of(true), indentOnInput(), syntaxHighlighting(defaultHighlightStyle, {\n fallback: true\n}), bracketMatching(), closeBrackets(), autocompletion(), rectangularSelection(), crosshairCursor(), highlightActiveLine(), highlightSelectionMatches(), keymap.of([...closeBracketsKeymap, ...defaultKeymap, ...searchKeymap, ...historyKeymap, ...foldKeymap, ...completionKeymap, ...lintKeymap])])();\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nconst minimalSetup = /*@__PURE__*/(() => [highlightSpecialChars(), history(), drawSelection(), syntaxHighlighting(defaultHighlightStyle, {\n fallback: true\n}), keymap.of([...defaultKeymap, ...historyKeymap])])();\nexport { basicSetup, minimalSetup };","import * as i0 from '@angular/core';\nimport { EventEmitter, booleanAttribute, forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { indentWithTab } from '@codemirror/commands';\nimport { indentUnit } from '@codemirror/language';\nimport { Annotation, Compartment, EditorState, StateEffect } from '@codemirror/state';\nimport { oneDark } from '@codemirror/theme-one-dark';\nimport { EditorView, placeholder, keymap, highlightWhitespace } from '@codemirror/view';\nimport { basicSetup, minimalSetup } from 'codemirror';\nimport { MergeView } from '@codemirror/merge';\nconst External = Annotation.define();\nlet CodeEditor = /*#__PURE__*/(() => {\n class CodeEditor {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /**\n * Whether focus on the editor after init.\n *\n * Don't support change dynamically!\n */\n this.autoFocus = false;\n /** The editor's value. */\n this.value = '';\n /** Whether the editor is disabled. */\n this.disabled = false;\n /** Whether the editor is readonly. */\n this.readonly = false;\n /** The editor's theme. */\n this.theme = 'light';\n /** The editor's placecholder. */\n this.placeholder = '';\n /** Whether indent with Tab key. */\n this.indentWithTab = false;\n /** Should be a string consisting either entirely of the same whitespace character. */\n this.indentUnit = '';\n /** Whether the editor wraps lines. */\n this.lineWrapping = false;\n /** Whether highlight the whitespace. */\n this.highlightWhitespace = false;\n /**\n * An array of language descriptions for known\n * [language-data](https://github.com/codemirror/language-data/blob/main/src/language-data.ts).\n *\n * Don't support change dynamically!\n */\n this.languages = [];\n /** The editor's language. You should set the `languages` prop at first. */\n this.language = '';\n /**\n * The editor's built-in setup. The value can be set to\n * [`basic`](https://codemirror.net/docs/ref/#codemirror.basicSetup),\n * [`minimal`](https://codemirror.net/docs/ref/#codemirror.minimalSetup) or `null`.\n */\n this.setup = 'basic';\n /**\n * It will be appended to the root\n * [extensions](https://codemirror.net/docs/ref/#state.EditorStateConfig.extensions).\n */\n this.extensions = [];\n /** Event emitted when the editor's value changes. */\n this.change = new EventEmitter();\n /** Event emitted when focus on the editor. */\n this.focus = new EventEmitter();\n /** Event emitted when the editor has lost focus. */\n this.blur = new EventEmitter();\n this._onChange = () => {};\n this._onTouched = () => {};\n this._updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && !vu.transactions.some(tr => tr.annotation(External))) {\n const value = vu.state.doc.toString();\n this._onChange(value);\n this.change.emit(value);\n }\n });\n // Extension compartments can be used to make a configuration dynamic.\n // https://codemirror.net/docs/ref/#state.Compartment\n this._editableConf = new Compartment();\n this._readonlyConf = new Compartment();\n this._themeConf = new Compartment();\n this._placeholderConf = new Compartment();\n this._indentWithTabConf = new Compartment();\n this._indentUnitConf = new Compartment();\n this._lineWrappingConf = new Compartment();\n this._highlightWhitespaceConf = new Compartment();\n this._languageConf = new Compartment();\n }\n _getAllExtensions() {\n return [this._updateListener, this._editableConf.of([]), this._readonlyConf.of([]), this._themeConf.of([]), this._placeholderConf.of([]), this._indentWithTabConf.of([]), this._indentUnitConf.of([]), this._lineWrappingConf.of([]), this._highlightWhitespaceConf.of([]), this._languageConf.of([]), this.setup === 'basic' ? basicSetup : this.setup === 'minimal' ? minimalSetup : [], ...this.extensions];\n }\n ngOnChanges(changes) {\n if (changes['value']) {\n this.setValue(this.value);\n }\n if (changes['disabled']) {\n this.setEditable(!this.disabled);\n }\n if (changes['readonly']) {\n this.setReadonly(this.readonly);\n }\n if (changes['theme']) {\n this.setTheme(this.theme);\n }\n if (changes['placeholder']) {\n this.setPlaceholder(this.placeholder);\n }\n if (changes['indentWithTab']) {\n this.setIndentWithTab(this.indentWithTab);\n }\n if (changes['indentUnit']) {\n this.setIndentUnit(this.indentUnit);\n }\n if (changes['lineWrapping']) {\n this.setLineWrapping(this.lineWrapping);\n }\n if (changes['highlightWhitespace']) {\n this.setHighlightWhitespace(this.highlightWhitespace);\n }\n if (changes['language']) {\n this.setLanguage(this.language);\n }\n if (changes['setup'] || changes['extensions']) {\n this.setExtensions(this._getAllExtensions());\n }\n }\n ngOnInit() {\n this.view = new EditorView({\n root: this.root,\n parent: this._elementRef.nativeElement,\n state: EditorState.create({\n doc: this.value,\n extensions: this._getAllExtensions()\n })\n });\n if (this.autoFocus) {\n this.view?.focus();\n }\n this.view?.contentDOM.addEventListener('focus', () => {\n this._onTouched();\n this.focus.emit();\n });\n this.view?.contentDOM.addEventListener('blur', () => {\n this._onTouched();\n this.blur.emit();\n });\n this.setEditable(!this.disabled);\n this.setReadonly(this.readonly);\n this.setTheme(this.theme);\n this.setPlaceholder(this.placeholder);\n this.setIndentWithTab(this.indentWithTab);\n this.setIndentUnit(this.indentUnit);\n this.setLineWrapping(this.lineWrapping);\n this.setHighlightWhitespace(this.highlightWhitespace);\n this.setLanguage(this.language);\n }\n ngOnDestroy() {\n this.view?.destroy();\n }\n writeValue(value) {\n if (this.view) {\n this.setValue(value);\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this.setEditable(!isDisabled);\n }\n /** Sets editor's value. */\n setValue(value) {\n this.view?.dispatch({\n changes: {\n from: 0,\n to: this.view.state.doc.length,\n insert: value\n }\n });\n }\n _dispatchEffects(effects) {\n return this.view?.dispatch({\n effects\n });\n }\n /** Sets the root extensions of the editor. */\n setExtensions(value) {\n this._dispatchEffects(StateEffect.reconfigure.of(value));\n }\n /** Sets editor's editable state. */\n setEditable(value) {\n this._dispatchEffects(this._editableConf.reconfigure(EditorView.editable.of(value)));\n }\n /** Sets editor's readonly state. */\n setReadonly(value) {\n this._dispatchEffects(this._readonlyConf.reconfigure(EditorState.readOnly.of(value)));\n }\n /** Sets editor's theme. */\n setTheme(value) {\n this._dispatchEffects(this._themeConf.reconfigure(value === 'light' ? [] : value === 'dark' ? oneDark : value));\n }\n /** Sets editor's placeholder. */\n setPlaceholder(value) {\n this._dispatchEffects(this._placeholderConf.reconfigure(value ? placeholder(value) : []));\n }\n /** Sets editor' indentWithTab. */\n setIndentWithTab(value) {\n this._dispatchEffects(this._indentWithTabConf.reconfigure(value ? keymap.of([indentWithTab]) : []));\n }\n /** Sets editor's indentUnit. */\n setIndentUnit(value) {\n this._dispatchEffects(this._indentUnitConf.reconfigure(value ? indentUnit.of(value) : []));\n }\n /** Sets editor's lineWrapping. */\n setLineWrapping(value) {\n this._dispatchEffects(this._lineWrappingConf.reconfigure(value ? EditorView.lineWrapping : []));\n }\n /** Sets editor's highlightWhitespace. */\n setHighlightWhitespace(value) {\n this._dispatchEffects(this._highlightWhitespaceConf.reconfigure(value ? highlightWhitespace() : []));\n }\n /** Sets editor's language dynamically. */\n setLanguage(lang) {\n if (!lang || lang == 'plaintext') {\n this._dispatchEffects(this._languageConf.reconfigure([]));\n return;\n }\n if (this.languages.length === 0) {\n if (this.view) {\n console.error('No supported languages. Please set the `languages` prop at first.');\n }\n return;\n }\n const langDesc = this._findLanguage(lang);\n langDesc?.load().then(lang => {\n this._dispatchEffects(this._languageConf.reconfigure([lang]));\n });\n }\n /** Find the language's extension by its name. Case insensitive. */\n _findLanguage(name) {\n for (const lang of this.languages) {\n for (const alias of [lang.name, ...lang.alias]) {\n if (name.toLowerCase() === alias.toLowerCase()) {\n return lang;\n }\n }\n }\n console.error('Language not found:', name);\n console.info('Supported language names:', this.languages.map(lang => lang.name).join(', '));\n return null;\n }\n static {\n this.ɵfac = function CodeEditor_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CodeEditor)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CodeEditor,\n selectors: [[\"code-editor\"]],\n hostAttrs: [1, \"code-editor\"],\n inputs: {\n root: \"root\",\n autoFocus: [2, \"autoFocus\", \"autoFocus\", booleanAttribute],\n value: \"value\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n readonly: [2, \"readonly\", \"readonly\", booleanAttribute],\n theme: \"theme\",\n placeholder: \"placeholder\",\n indentWithTab: [2, \"indentWithTab\", \"indentWithTab\", booleanAttribute],\n indentUnit: \"indentUnit\",\n lineWrapping: [2, \"lineWrapping\", \"lineWrapping\", booleanAttribute],\n highlightWhitespace: [2, \"highlightWhitespace\", \"highlightWhitespace\", booleanAttribute],\n languages: \"languages\",\n language: \"language\",\n setup: \"setup\",\n extensions: \"extensions\"\n },\n outputs: {\n change: \"change\",\n focus: \"focus\",\n blur: \"blur\"\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CodeEditor),\n multi: true\n }]), i0.ɵɵNgOnChangesFeature],\n decls: 0,\n vars: 0,\n template: function CodeEditor_Template(rf, ctx) {},\n styles: [\".code-editor{display:block}.code-editor .cm-editor{height:100%}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return CodeEditor;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet DiffEditor = /*#__PURE__*/(() => {\n class DiffEditor {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /**\n * The editor's built-in setup. The value can be set to\n * [`basic`](https://codemirror.net/docs/ref/#codemirror.basicSetup),\n * [`minimal`](https://codemirror.net/docs/ref/#codemirror.minimalSetup) or `null`.\n *\n * Don't support change dynamically!\n */\n this.setup = 'basic';\n /** The diff-editor's original value. */\n this.originalValue = '';\n /**\n * The MergeView original config's\n * [extensions](https://codemirror.net/docs/ref/#state.EditorStateConfig.extensions).\n *\n * Don't support change dynamically!\n */\n this.originalExtensions = [];\n /** The diff-editor's modified value. */\n this.modifiedValue = '';\n /**\n * The MergeView modified config's\n * [extensions](https://codemirror.net/docs/ref/#state.EditorStateConfig.extensions).\n *\n * Don't support change dynamically!\n */\n this.modifiedExtensions = [];\n /**\n * By default, the merge view will mark inserted and deleted text\n * in changed chunks. Set this to false to turn that off.\n */\n this.highlightChanges = true;\n /** Controls whether a gutter marker is shown next to changed lines. */\n this.gutter = true;\n /** Whether the diff-editor is disabled. */\n this.disabled = false;\n /** Event emitted when the editor's original value changes. */\n this.originalValueChange = new EventEmitter();\n /** Event emitted when focus on the original editor. */\n this.originalFocus = new EventEmitter();\n /** Event emitted when blur on the original editor. */\n this.originalBlur = new EventEmitter();\n /** Event emitted when the editor's modified value changes. */\n this.modifiedValueChange = new EventEmitter();\n /** Event emitted when focus on the modified editor. */\n this.modifiedFocus = new EventEmitter();\n /** Event emitted when blur on the modified editor. */\n this.modifiedBlur = new EventEmitter();\n this._onChange = () => {};\n this._onTouched = () => {};\n this._updateListener = editor => {\n return EditorView.updateListener.of(vu => {\n if (vu.docChanged && !vu.transactions.some(tr => tr.annotation(External))) {\n const value = vu.state.doc.toString();\n if (editor == 'a') {\n this._onChange({\n original: value,\n modified: this.modifiedValue\n });\n this.originalValue = value;\n this.originalValueChange.emit(value);\n } else if (editor == 'b') {\n this._onChange({\n original: this.originalValue,\n modified: value\n });\n this.modifiedValue = value;\n this.modifiedValueChange.emit(value);\n }\n }\n });\n };\n this._editableConf = new Compartment();\n }\n ngOnChanges(changes) {\n if (changes['originalValue']) {\n this.setValue('a', this.originalValue);\n }\n if (changes['modifiedValue']) {\n this.setValue('b', this.modifiedValue);\n }\n if (changes['orientation']) {\n this.mergeView?.reconfigure({\n orientation: this.orientation\n });\n }\n if (changes['revertControls']) {\n this.mergeView?.reconfigure({\n revertControls: this.revertControls\n });\n }\n if (changes['renderRevertControl']) {\n this.mergeView?.reconfigure({\n renderRevertControl: this.renderRevertControl\n });\n }\n if (changes['highlightChanges']) {\n this.mergeView?.reconfigure({\n highlightChanges: this.highlightChanges\n });\n }\n if (changes['gutter']) {\n this.mergeView?.reconfigure({\n gutter: this.gutter\n });\n }\n if (changes['collapseUnchanged']) {\n this.mergeView?.reconfigure({\n collapseUnchanged: this.collapseUnchanged\n });\n }\n if (changes['diffConfig']) {\n this.mergeView?.reconfigure({\n diffConfig: this.diffConfig\n });\n }\n if (changes['disabled']) {\n this.setEditable('a', !this.disabled);\n this.setEditable('b', !this.disabled);\n }\n }\n ngOnInit() {\n this.mergeView = new MergeView({\n parent: this._elementRef.nativeElement,\n a: {\n doc: this.originalValue,\n extensions: [this._updateListener('a'), this._editableConf.of([]), this.setup === 'basic' ? basicSetup : this.setup === 'minimal' ? minimalSetup : [], ...this.originalExtensions]\n },\n b: {\n doc: this.modifiedValue,\n extensions: [this._updateListener('b'), this._editableConf.of([]), this.setup === 'basic' ? basicSetup : this.setup === 'minimal' ? minimalSetup : [], ...this.modifiedExtensions]\n },\n orientation: this.orientation,\n revertControls: this.revertControls,\n renderRevertControl: this.renderRevertControl,\n highlightChanges: this.highlightChanges,\n gutter: this.gutter,\n collapseUnchanged: this.collapseUnchanged,\n diffConfig: this.diffConfig\n });\n this.mergeView?.a.contentDOM.addEventListener('focus', () => {\n this._onTouched();\n this.originalFocus.emit();\n });\n this.mergeView?.a.contentDOM.addEventListener('blur', () => {\n this._onTouched();\n this.originalBlur.emit();\n });\n this.mergeView?.b.contentDOM.addEventListener('focus', () => {\n this._onTouched();\n this.modifiedFocus.emit();\n });\n this.mergeView?.b.contentDOM.addEventListener('blur', () => {\n this._onTouched();\n this.modifiedBlur.emit();\n });\n this.setEditable('a', !this.disabled);\n this.setEditable('b', !this.disabled);\n }\n ngOnDestroy() {\n this.mergeView?.destroy();\n }\n writeValue(value) {\n if (this.mergeView && value != null && typeof value === 'object') {\n this.originalValue = value.original;\n this.modifiedValue = value.modified;\n this.setValue('a', value.original);\n this.setValue('b', value.modified);\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this.setEditable('a', !isDisabled);\n this.setEditable('b', !isDisabled);\n }\n /** Sets diff-editor's value. */\n setValue(editor, value) {\n this.mergeView?.[editor].dispatch({\n changes: {\n from: 0,\n to: this.mergeView[editor].state.doc.length,\n insert: value\n }\n });\n }\n /** Sets diff-editor's editable state. */\n setEditable(editor, value) {\n this.mergeView?.[editor].dispatch({\n effects: this._editableConf.reconfigure(EditorView.editable.of(value))\n });\n }\n static {\n this.ɵfac = function DiffEditor_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || DiffEditor)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: DiffEditor,\n selectors: [[\"diff-editor\"]],\n hostAttrs: [1, \"diff-editor\"],\n inputs: {\n setup: \"setup\",\n originalValue: \"originalValue\",\n originalExtensions: \"originalExtensions\",\n modifiedValue: \"modifiedValue\",\n modifiedExtensions: \"modifiedExtensions\",\n orientation: \"orientation\",\n revertControls: \"revertControls\",\n renderRevertControl: \"renderRevertControl\",\n highlightChanges: [2, \"highlightChanges\", \"highlightChanges\", booleanAttribute],\n gutter: [2, \"gutter\", \"gutter\", booleanAttribute],\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n collapseUnchanged: \"collapseUnchanged\",\n diffConfig: \"diffConfig\"\n },\n outputs: {\n originalValueChange: \"originalValueChange\",\n originalFocus: \"originalFocus\",\n originalBlur: \"originalBlur\",\n modifiedValueChange: \"modifiedValueChange\",\n modifiedFocus: \"modifiedFocus\",\n modifiedBlur: \"modifiedBlur\"\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DiffEditor),\n multi: true\n }]), i0.ɵɵNgOnChangesFeature],\n decls: 0,\n vars: 0,\n template: function DiffEditor_Template(rf, ctx) {},\n styles: [\".diff-editor{display:block}.diff-editor :is(.cm-mergeView,.cm-mergeViewEditors){height:100%}.diff-editor :is(.cm-mergeView .cm-editor,.cm-mergeView .cm-scroller){height:100%!important}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return DiffEditor;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CodeEditorModule = /*#__PURE__*/(() => {\n class CodeEditorModule {\n static {\n this.ɵfac = function CodeEditorModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CodeEditorModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: CodeEditorModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return CodeEditorModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Public API Surface of code-editor\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CodeEditor, CodeEditorModule, DiffEditor, External };\n","import { addDays } from \"./addDays.mjs\";\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be added.\n *\n * @returns The new date with the weeks added\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport function addWeeks(date, amount) {\n const days = amount * 7;\n return addDays(date, days);\n}\n\n// Fallback for modularized imports:\nexport default addWeeks;","import { addWeeks } from \"./addWeeks.mjs\";\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be subtracted.\n *\n * @returns The new date with the weeks subtracted\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport function subWeeks(date, amount) {\n return addWeeks(date, -amount);\n}\n\n// Fallback for modularized imports:\nexport default subWeeks;","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../table/interfaces/pcg-table-column.interface';\r\nimport { ProductInfoVm, ProductInfoVmFromFg } from '../Inventory/Models/ProductInfoVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class PatientDataVm {\r\n\tpatientID?: string;\r\n\tfirstName?: string;\r\n\tmiddleInitial?: string;\r\n\tlastName?: string;\r\n\tpatientDOB?: string;\r\n\taddress?: string;\r\n\taddress2?: string;\r\n\tcity?: string;\r\n\tstate?: string;\r\n\tzip?: string;\r\n\thomePhone?: string;\r\n\tfacility?: string;\r\n\tfacilityCode?: string;\r\n\trefillsRemaining?: string;\r\n\tqs1Status?: string;\r\n\tmedicalRecordNumber?: string;\r\n\tquantityPrescribed: number;\r\n\tndc?: string;\r\n\texpirationDate?: string;\r\n\tlastFillDate?: string;\r\n\tlastFillDateColor?: string;\r\n\twithin30DaysDate?: string;\r\n\twithin30DaysCreateddBy?: string;\r\n\tnextFillDate?: string;\r\n\trxNumber?: string;\r\n\terrorMessage?: string;\r\n\tproductName?: string;\r\n\tpfsFormID?: number;\r\n\tpfsProductId?: number;\r\n\tpfsProgramId?: number;\r\n\tpfsUnitOfMeasureId?: number;\r\n\tpfsCountUom?: number;\r\n\tpfsUrl?: string;\r\n\tpfsRequestType?: string;\r\n\tshipmentId?: number;\r\n\tinventorySiteId?: number;\r\n\tinventoryProductId?: number;\r\n\tisFacility?: boolean;\r\n\tisEos?: boolean;\r\n\tisOverrideLastFillDate?: boolean;\r\n\tisOverridePatientTransfer?: boolean;\r\n\tisSoftStop?: boolean;\r\n\tsoftStopDays?: number;\r\n\tisHardStop?: boolean;\r\n\thardStopDays?: number;\r\n\tinventories?: ProductInfoVm[];\r\n\tdrugClass?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'patientID': new UntypedFormControl(null, [...(validators['patientID'] ?? []), ...[]]),\r\n\t\t\t'firstName': new UntypedFormControl(null, [...(validators['firstName'] ?? []), ...[]]),\r\n\t\t\t'middleInitial': new UntypedFormControl(null, [...(validators['middleInitial'] ?? []), ...[]]),\r\n\t\t\t'lastName': new UntypedFormControl(null, [...(validators['lastName'] ?? []), ...[]]),\r\n\t\t\t'patientDOB': new UntypedFormControl(null, [...(validators['patientDOB'] ?? []), ...[]]),\r\n\t\t\t'address': new UntypedFormControl(null, [...(validators['address'] ?? []), ...[]]),\r\n\t\t\t'address2': new UntypedFormControl(null, [...(validators['address2'] ?? []), ...[]]),\r\n\t\t\t'city': new UntypedFormControl(null, [...(validators['city'] ?? []), ...[]]),\r\n\t\t\t'state': new UntypedFormControl(null, [...(validators['state'] ?? []), ...[]]),\r\n\t\t\t'zip': new UntypedFormControl(null, [...(validators['zip'] ?? []), ...[]]),\r\n\t\t\t'homePhone': new UntypedFormControl(null, [...(validators['homePhone'] ?? []), ...[]]),\r\n\t\t\t'facility': new UntypedFormControl(null, [...(validators['facility'] ?? []), ...[]]),\r\n\t\t\t'facilityCode': new UntypedFormControl(null, [...(validators['facilityCode'] ?? []), ...[]]),\r\n\t\t\t'refillsRemaining': new UntypedFormControl(null, [...(validators['refillsRemaining'] ?? []), ...[]]),\r\n\t\t\t'qs1Status': new UntypedFormControl(null, [...(validators['qs1Status'] ?? []), ...[]]),\r\n\t\t\t'medicalRecordNumber': new UntypedFormControl(null, [...(validators['medicalRecordNumber'] ?? []), ...[]]),\r\n\t\t\t'quantityPrescribed': new UntypedFormControl(0, [...(validators['quantityPrescribed'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ndc': new UntypedFormControl(null, [...(validators['ndc'] ?? []), ...[]]),\r\n\t\t\t'expirationDate': new UntypedFormControl(null, [...(validators['expirationDate'] ?? []), ...[]]),\r\n\t\t\t'lastFillDate': new UntypedFormControl(null, [...(validators['lastFillDate'] ?? []), ...[]]),\r\n\t\t\t'lastFillDateColor': new UntypedFormControl(null, [...(validators['lastFillDateColor'] ?? []), ...[]]),\r\n\t\t\t'within30DaysDate': new UntypedFormControl(null, [...(validators['within30DaysDate'] ?? []), ...[]]),\r\n\t\t\t'within30DaysCreateddBy': new UntypedFormControl(null, [...(validators['within30DaysCreateddBy'] ?? []), ...[]]),\r\n\t\t\t'nextFillDate': new UntypedFormControl(null, [...(validators['nextFillDate'] ?? []), ...[]]),\r\n\t\t\t'rxNumber': new UntypedFormControl(null, [...(validators['rxNumber'] ?? []), ...[]]),\r\n\t\t\t'errorMessage': new UntypedFormControl(null, [...(validators['errorMessage'] ?? []), ...[]]),\r\n\t\t\t'productName': new UntypedFormControl(null, [...(validators['productName'] ?? []), ...[]]),\r\n\t\t\t'pfsFormID': new UntypedFormControl(null, [...(validators['pfsFormID'] ?? []), ...[]]),\r\n\t\t\t'pfsProductId': new UntypedFormControl(null, [...(validators['pfsProductId'] ?? []), ...[]]),\r\n\t\t\t'pfsProgramId': new UntypedFormControl(null, [...(validators['pfsProgramId'] ?? []), ...[]]),\r\n\t\t\t'pfsUnitOfMeasureId': new UntypedFormControl(null, [...(validators['pfsUnitOfMeasureId'] ?? []), ...[]]),\r\n\t\t\t'pfsCountUom': new UntypedFormControl(null, [...(validators['pfsCountUom'] ?? []), ...[]]),\r\n\t\t\t'pfsUrl': new UntypedFormControl(null, [...(validators['pfsUrl'] ?? []), ...[]]),\r\n\t\t\t'pfsRequestType': new UntypedFormControl(null, [...(validators['pfsRequestType'] ?? []), ...[]]),\r\n\t\t\t'shipmentId': new UntypedFormControl(null, [...(validators['shipmentId'] ?? []), ...[]]),\r\n\t\t\t'inventorySiteId': new UntypedFormControl(null, [...(validators['inventorySiteId'] ?? []), ...[]]),\r\n\t\t\t'inventoryProductId': new UntypedFormControl(null, [...(validators['inventoryProductId'] ?? []), ...[]]),\r\n\t\t\t'isFacility': new UntypedFormControl(null, [...(validators['isFacility'] ?? []), ...[]]),\r\n\t\t\t'isEos': new UntypedFormControl(null, [...(validators['isEos'] ?? []), ...[]]),\r\n\t\t\t'isOverrideLastFillDate': new UntypedFormControl(null, [...(validators['isOverrideLastFillDate'] ?? []), ...[]]),\r\n\t\t\t'isOverridePatientTransfer': new UntypedFormControl(null, [...(validators['isOverridePatientTransfer'] ?? []), ...[]]),\r\n\t\t\t'isSoftStop': new UntypedFormControl(null, [...(validators['isSoftStop'] ?? []), ...[]]),\r\n\t\t\t'softStopDays': new UntypedFormControl(null, [...(validators['softStopDays'] ?? []), ...[]]),\r\n\t\t\t'isHardStop': new UntypedFormControl(null, [...(validators['isHardStop'] ?? []), ...[]]),\r\n\t\t\t'hardStopDays': new UntypedFormControl(null, [...(validators['hardStopDays'] ?? []), ...[]]),\r\n\t\t\t'inventories': new UntypedFormArray([]),\r\n\t\t\t'drugClass': new UntypedFormControl(null, [...(validators['drugClass'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): PatientDataVmFromFg {\r\n\t\treturn new PatientDataVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class PatientDataVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget patientID(): string {\r\n\t\treturn this.fg.get('patientID').value;\r\n\t}\r\n\tset patientID(val) {\r\n\t\tthis.fg.get('patientID').setValue(val);\r\n\t}\r\n\r\n\tget firstName(): string {\r\n\t\treturn this.fg.get('firstName').value;\r\n\t}\r\n\tset firstName(val) {\r\n\t\tthis.fg.get('firstName').setValue(val);\r\n\t}\r\n\r\n\tget middleInitial(): string {\r\n\t\treturn this.fg.get('middleInitial').value;\r\n\t}\r\n\tset middleInitial(val) {\r\n\t\tthis.fg.get('middleInitial').setValue(val);\r\n\t}\r\n\r\n\tget lastName(): string {\r\n\t\treturn this.fg.get('lastName').value;\r\n\t}\r\n\tset lastName(val) {\r\n\t\tthis.fg.get('lastName').setValue(val);\r\n\t}\r\n\r\n\tget patientDOB(): string {\r\n\t\treturn this.fg.get('patientDOB').value;\r\n\t}\r\n\tset patientDOB(val) {\r\n\t\tthis.fg.get('patientDOB').setValue(val);\r\n\t}\r\n\r\n\tget address(): string {\r\n\t\treturn this.fg.get('address').value;\r\n\t}\r\n\tset address(val) {\r\n\t\tthis.fg.get('address').setValue(val);\r\n\t}\r\n\r\n\tget address2(): string {\r\n\t\treturn this.fg.get('address2').value;\r\n\t}\r\n\tset address2(val) {\r\n\t\tthis.fg.get('address2').setValue(val);\r\n\t}\r\n\r\n\tget city(): string {\r\n\t\treturn this.fg.get('city').value;\r\n\t}\r\n\tset city(val) {\r\n\t\tthis.fg.get('city').setValue(val);\r\n\t}\r\n\r\n\tget state(): string {\r\n\t\treturn this.fg.get('state').value;\r\n\t}\r\n\tset state(val) {\r\n\t\tthis.fg.get('state').setValue(val);\r\n\t}\r\n\r\n\tget zip(): string {\r\n\t\treturn this.fg.get('zip').value;\r\n\t}\r\n\tset zip(val) {\r\n\t\tthis.fg.get('zip').setValue(val);\r\n\t}\r\n\r\n\tget homePhone(): string {\r\n\t\treturn this.fg.get('homePhone').value;\r\n\t}\r\n\tset homePhone(val) {\r\n\t\tthis.fg.get('homePhone').setValue(val);\r\n\t}\r\n\r\n\tget facility(): string {\r\n\t\treturn this.fg.get('facility').value;\r\n\t}\r\n\tset facility(val) {\r\n\t\tthis.fg.get('facility').setValue(val);\r\n\t}\r\n\r\n\tget facilityCode(): string {\r\n\t\treturn this.fg.get('facilityCode').value;\r\n\t}\r\n\tset facilityCode(val) {\r\n\t\tthis.fg.get('facilityCode').setValue(val);\r\n\t}\r\n\r\n\tget refillsRemaining(): string {\r\n\t\treturn this.fg.get('refillsRemaining').value;\r\n\t}\r\n\tset refillsRemaining(val) {\r\n\t\tthis.fg.get('refillsRemaining').setValue(val);\r\n\t}\r\n\r\n\tget qs1Status(): string {\r\n\t\treturn this.fg.get('qs1Status').value;\r\n\t}\r\n\tset qs1Status(val) {\r\n\t\tthis.fg.get('qs1Status').setValue(val);\r\n\t}\r\n\r\n\tget medicalRecordNumber(): string {\r\n\t\treturn this.fg.get('medicalRecordNumber').value;\r\n\t}\r\n\tset medicalRecordNumber(val) {\r\n\t\tthis.fg.get('medicalRecordNumber').setValue(val);\r\n\t}\r\n\r\n\tget quantityPrescribed(): number {\r\n\t\treturn this.fg.get('quantityPrescribed').value;\r\n\t}\r\n\tset quantityPrescribed(val) {\r\n\t\tthis.fg.get('quantityPrescribed').setValue(val);\r\n\t}\r\n\r\n\tget ndc(): string {\r\n\t\treturn this.fg.get('ndc').value;\r\n\t}\r\n\tset ndc(val) {\r\n\t\tthis.fg.get('ndc').setValue(val);\r\n\t}\r\n\r\n\tget expirationDate(): string {\r\n\t\treturn this.fg.get('expirationDate').value;\r\n\t}\r\n\tset expirationDate(val) {\r\n\t\tthis.fg.get('expirationDate').setValue(val);\r\n\t}\r\n\r\n\tget lastFillDate(): string {\r\n\t\treturn this.fg.get('lastFillDate').value;\r\n\t}\r\n\tset lastFillDate(val) {\r\n\t\tthis.fg.get('lastFillDate').setValue(val);\r\n\t}\r\n\r\n\tget lastFillDateColor(): string {\r\n\t\treturn this.fg.get('lastFillDateColor').value;\r\n\t}\r\n\tset lastFillDateColor(val) {\r\n\t\tthis.fg.get('lastFillDateColor').setValue(val);\r\n\t}\r\n\r\n\tget within30DaysDate(): string {\r\n\t\treturn this.fg.get('within30DaysDate').value;\r\n\t}\r\n\tset within30DaysDate(val) {\r\n\t\tthis.fg.get('within30DaysDate').setValue(val);\r\n\t}\r\n\r\n\tget within30DaysCreateddBy(): string {\r\n\t\treturn this.fg.get('within30DaysCreateddBy').value;\r\n\t}\r\n\tset within30DaysCreateddBy(val) {\r\n\t\tthis.fg.get('within30DaysCreateddBy').setValue(val);\r\n\t}\r\n\r\n\tget nextFillDate(): string {\r\n\t\treturn this.fg.get('nextFillDate').value;\r\n\t}\r\n\tset nextFillDate(val) {\r\n\t\tthis.fg.get('nextFillDate').setValue(val);\r\n\t}\r\n\r\n\tget rxNumber(): string {\r\n\t\treturn this.fg.get('rxNumber').value;\r\n\t}\r\n\tset rxNumber(val) {\r\n\t\tthis.fg.get('rxNumber').setValue(val);\r\n\t}\r\n\r\n\tget errorMessage(): string {\r\n\t\treturn this.fg.get('errorMessage').value;\r\n\t}\r\n\tset errorMessage(val) {\r\n\t\tthis.fg.get('errorMessage').setValue(val);\r\n\t}\r\n\r\n\tget productName(): string {\r\n\t\treturn this.fg.get('productName').value;\r\n\t}\r\n\tset productName(val) {\r\n\t\tthis.fg.get('productName').setValue(val);\r\n\t}\r\n\r\n\tget pfsFormID(): number {\r\n\t\treturn this.fg.get('pfsFormID').value;\r\n\t}\r\n\tset pfsFormID(val) {\r\n\t\tthis.fg.get('pfsFormID').setValue(val);\r\n\t}\r\n\r\n\tget pfsProductId(): number {\r\n\t\treturn this.fg.get('pfsProductId').value;\r\n\t}\r\n\tset pfsProductId(val) {\r\n\t\tthis.fg.get('pfsProductId').setValue(val);\r\n\t}\r\n\r\n\tget pfsProgramId(): number {\r\n\t\treturn this.fg.get('pfsProgramId').value;\r\n\t}\r\n\tset pfsProgramId(val) {\r\n\t\tthis.fg.get('pfsProgramId').setValue(val);\r\n\t}\r\n\r\n\tget pfsUnitOfMeasureId(): number {\r\n\t\treturn this.fg.get('pfsUnitOfMeasureId').value;\r\n\t}\r\n\tset pfsUnitOfMeasureId(val) {\r\n\t\tthis.fg.get('pfsUnitOfMeasureId').setValue(val);\r\n\t}\r\n\r\n\tget pfsCountUom(): number {\r\n\t\treturn this.fg.get('pfsCountUom').value;\r\n\t}\r\n\tset pfsCountUom(val) {\r\n\t\tthis.fg.get('pfsCountUom').setValue(val);\r\n\t}\r\n\r\n\tget pfsUrl(): string {\r\n\t\treturn this.fg.get('pfsUrl').value;\r\n\t}\r\n\tset pfsUrl(val) {\r\n\t\tthis.fg.get('pfsUrl').setValue(val);\r\n\t}\r\n\r\n\tget pfsRequestType(): string {\r\n\t\treturn this.fg.get('pfsRequestType').value;\r\n\t}\r\n\tset pfsRequestType(val) {\r\n\t\tthis.fg.get('pfsRequestType').setValue(val);\r\n\t}\r\n\r\n\tget shipmentId(): number {\r\n\t\treturn this.fg.get('shipmentId').value;\r\n\t}\r\n\tset shipmentId(val) {\r\n\t\tthis.fg.get('shipmentId').setValue(val);\r\n\t}\r\n\r\n\tget inventorySiteId(): number {\r\n\t\treturn this.fg.get('inventorySiteId').value;\r\n\t}\r\n\tset inventorySiteId(val) {\r\n\t\tthis.fg.get('inventorySiteId').setValue(val);\r\n\t}\r\n\r\n\tget inventoryProductId(): number {\r\n\t\treturn this.fg.get('inventoryProductId').value;\r\n\t}\r\n\tset inventoryProductId(val) {\r\n\t\tthis.fg.get('inventoryProductId').setValue(val);\r\n\t}\r\n\r\n\tget isFacility(): boolean {\r\n\t\treturn this.fg.get('isFacility').value;\r\n\t}\r\n\tset isFacility(val) {\r\n\t\tthis.fg.get('isFacility').setValue(val);\r\n\t}\r\n\r\n\tget isEos(): boolean {\r\n\t\treturn this.fg.get('isEos').value;\r\n\t}\r\n\tset isEos(val) {\r\n\t\tthis.fg.get('isEos').setValue(val);\r\n\t}\r\n\r\n\tget isOverrideLastFillDate(): boolean {\r\n\t\treturn this.fg.get('isOverrideLastFillDate').value;\r\n\t}\r\n\tset isOverrideLastFillDate(val) {\r\n\t\tthis.fg.get('isOverrideLastFillDate').setValue(val);\r\n\t}\r\n\r\n\tget isOverridePatientTransfer(): boolean {\r\n\t\treturn this.fg.get('isOverridePatientTransfer').value;\r\n\t}\r\n\tset isOverridePatientTransfer(val) {\r\n\t\tthis.fg.get('isOverridePatientTransfer').setValue(val);\r\n\t}\r\n\r\n\tget isSoftStop(): boolean {\r\n\t\treturn this.fg.get('isSoftStop').value;\r\n\t}\r\n\tset isSoftStop(val) {\r\n\t\tthis.fg.get('isSoftStop').setValue(val);\r\n\t}\r\n\r\n\tget softStopDays(): number {\r\n\t\treturn this.fg.get('softStopDays').value;\r\n\t}\r\n\tset softStopDays(val) {\r\n\t\tthis.fg.get('softStopDays').setValue(val);\r\n\t}\r\n\r\n\tget isHardStop(): boolean {\r\n\t\treturn this.fg.get('isHardStop').value;\r\n\t}\r\n\tset isHardStop(val) {\r\n\t\tthis.fg.get('isHardStop').setValue(val);\r\n\t}\r\n\r\n\tget hardStopDays(): number {\r\n\t\treturn this.fg.get('hardStopDays').value;\r\n\t}\r\n\tset hardStopDays(val) {\r\n\t\tthis.fg.get('hardStopDays').setValue(val);\r\n\t}\r\n\r\n\tget drugClass(): string {\r\n\t\treturn this.fg.get('drugClass').value;\r\n\t}\r\n\tset drugClass(val) {\r\n\t\tthis.fg.get('drugClass').setValue(val);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RxDataStorageService {\r\n\r\nconstructor() { }\r\n\r\n\t//Properties used to temporarily store and pass data between modules for the inventory choice modal\r\n\tPatientData: PatientDataVm;\r\n\tIsFacility: boolean;\r\n\r\n\t//Need a function that will reset the data stored in the service between sessions\r\n\tresetInventoryChoiceModalData(){\r\n\t\tthis.PatientData = null;\r\n\t\tthis.IsFacility = null;\r\n\t}\r\n}\r\n","export const AI_LOT_NUMBER = '10';\r\nexport const AI_SERIAL_NUMBER = '21';\r\nexport const AI_GTIN = '01';\r\nexport const AI_EXPIRATION_DATE = '17';\r\n\r\n/**\r\n* Dictionary mapping fixed length application identifiers to their length\r\n* Variable length identifiers are null and their max length is defined in AI_OPTIONAL_MAX_DICT\r\n* https://en.wikipedia.org/wiki/GS1-128\r\n* */\r\nexport const AI_DICT = {\r\n\t'00': 18,\r\n\t'01': 14,\r\n\t'02': 14,\r\n\t'10': null,\r\n\t'11': 6,\r\n\t'12': 6,\r\n\t'13': 6,\r\n\t'15': 6,\r\n\t'16': 6,\r\n\t'17': 6,\r\n\t'20': 2,\r\n\t'21': null,\r\n\t'22': null,\r\n\t'23': null,\r\n\t'240': null,\r\n\t'241': null,\r\n\t'242': null,\r\n\t'243': null,\r\n\t'250': null,\r\n\t'251': null,\r\n\t'253': null,\r\n\t'254': null,\r\n\t'255': null,\r\n\t'30': null,\r\n\t'310': 7,\r\n\t'311': 7,\r\n\t'312': 7,\r\n\t'313': 7,\r\n\t'314': 7,\r\n\t'315': 7,\r\n\t'316': 7,\r\n\t'320': 7,\r\n\t'321': 7,\r\n\t'322': 7,\r\n\t'323': 7,\r\n\t'324': 7,\r\n\t'325': 7,\r\n\t'326': 7,\r\n\t'327': 7,\r\n\t'328': 7,\r\n\t'329': 7,\r\n\t'330': 7,\r\n\t'331': 7,\r\n\t'332': 7,\r\n\t'333': 7,\r\n\t'334': 7,\r\n\t'335': 7,\r\n\t'336': 7,\r\n\t'337': 7,\r\n\t'340': 7,\r\n\t'341': 7,\r\n\t'342': 7,\r\n\t'343': 7,\r\n\t'344': 7,\r\n\t'345': 7,\r\n\t'346': 7,\r\n\t'347': 7,\r\n\t'348': 7,\r\n\t'349': 7,\r\n\t'350': 7,\r\n\t'351': 7,\r\n\t'352': 7,\r\n\t'353': 7,\r\n\t'354': 7,\r\n\t'355': 7,\r\n\t'356': 7,\r\n\t'357': 7,\r\n\t'360': 7,\r\n\t'361': 7,\r\n\t'362': 7,\r\n\t'363': 7,\r\n\t'364': 7,\r\n\t'365': 7,\r\n\t'366': 7,\r\n\t'367': 7,\r\n\t'368': 7,\r\n\t'369': 7,\r\n\t'37': null,\r\n\t'390': null,\r\n\t'391': null,\r\n\t'392': null,\r\n\t'393': null,\r\n\t'400': null,\r\n\t'401': null,\r\n\t'402': 17,\r\n\t'403': null,\r\n\t'410': 13,\r\n\t'411': 13,\r\n\t'412': 13,\r\n\t'413': 13,\r\n\t'414': 13,\r\n\t'420': null,\r\n\t'421': null,\r\n\t'422': 3,\r\n\t'423': null,\r\n\t'424': 3,\r\n\t'425': 3,\r\n\t'426': 3,\r\n\t'7001': 13,\r\n\t'7002': null,\r\n\t'7003': 10,\r\n\t'7004': null,\r\n\t'703': null,\r\n\t'8001': 14,\r\n\t'8002': null,\r\n\t'8003': null,\r\n\t'8004': null,\r\n\t'8005': 6,\r\n\t'8006': 18,\r\n\t'8007': null,\r\n\t'8008': null,\r\n\t'8018': 18,\r\n\t'8020': null,\r\n\t'8100': 6,\r\n\t'8101': 10,\r\n\t'8102': 2,\r\n\t'8110': null,\r\n\t'8200': null,\r\n\t'90': null,\r\n\t'91': null,\r\n\t'92': null,\r\n\t'93': null,\r\n\t'94': null,\r\n\t'95': null,\r\n\t'96': null,\r\n\t'97': null,\r\n\t'98': null,\r\n\t'99': null,\r\n};\r\n\r\n/**\r\n * Dictionary mapping optional application identifiers to their max lengths\r\n * */\r\nexport const AI_OPTIONAL_MAX_DICT = {\r\n\t'10': 20,\r\n\t'21': 20,\r\n\t'22': 29,\r\n\t'23': 20,\r\n\t'240': 30,\r\n\t'241': 30,\r\n\t'242': 6,\r\n\t'243': 20,\r\n\t'250': 30,\r\n\t'251': 30,\r\n\t'253': 17,\r\n\t'254': 20,\r\n\t'255': 25,\r\n\t'30': 8,\r\n\t'37': 8,\r\n\t'390': 16,\r\n\t'391': 19,\r\n\t'392': 16,\r\n\t'393': 19,\r\n\t'400': 30,\r\n\t'401': 30,\r\n\t'403': 30,\r\n\t'420': 20,\r\n\t'421': 15,\r\n\t'423': 15,\r\n\t'7002': 30,\r\n\t'7004': 4,\r\n\t'703': 31,\r\n\t'8002': 21,\r\n\t'8003': 31,\r\n\t'8004': 30,\r\n\t'8007': 30,\r\n\t'8008': 12,\r\n\t'8020': 25,\r\n\t'8110': 30,\r\n\t'8200': 70,\r\n\t'90': 90,\r\n\t'91': 90,\r\n\t'92': 90,\r\n\t'93': 90,\r\n\t'94': 90,\r\n\t'95': 90,\r\n\t'96': 90,\r\n\t'97': 90,\r\n\t'98': 90,\r\n\t'99': 90\r\n};\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { untilDestroyed } from '@ngneat/until-destroy';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, switchMap, map } from 'rxjs/operators';\r\nimport { AI_DICT, AI_EXPIRATION_DATE, AI_GTIN, AI_LOT_NUMBER, AI_OPTIONAL_MAX_DICT, AI_SERIAL_NUMBER } from './ai-dicts';\r\n\r\nimport { SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { CurrentInventoryGfcVm } from 'app/shared/generated/Inventory/Models/CurrentInventoryGfcVm';\r\nimport { ProductInfoVm } from 'app/shared/generated/Inventory/Models/ProductInfoVm';\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\nimport { IInventoryService } from './IInventoryService';\r\nimport { ProductBarcode } from './product-barcode';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class InventoryService implements IInventoryService {\r\n\r\n\tconstructor(private httpClient: HttpClient) { }\r\n\r\n\t// NDC Typeahead\r\n\tgetNdcTypeahead = (text$: Observable) => {\r\n\t\treturn text$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap(ndc => ndc.length < 5 \r\n\t\t\t\t? []\r\n\t\t\t\t: this.httpClient.get(`api/Select/GetGlobalNdcList?ndc=${encodeURIComponent(ndc)}`)\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tgetNdc10Typeahead = (text$: Observable) => {\r\n\t\treturn text$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap(ndc10 => ndc10.length < 5 \r\n\t\t\t\t? []\r\n\t\t\t\t: this.httpClient.get(`api/Select/GetGlobalNdc10List?ndc10=${encodeURIComponent(ndc10)}`)\r\n\t\t\t\t\t.pipe(map((response: any) => response.slice(0, 10)))\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\t// API: api/Inventory/Inventory/GetProductInfoByNdc/\r\n\tgetNdcProductInfo(\r\n\t\tcomponent: any\r\n\t\t, ndc: string\r\n\t\t, inventorySiteId = null\r\n\t): Observable {\r\n\t\treturn this.httpClient.get(this.formatNdcProductInfoRequest(ndc, inventorySiteId))\r\n\t\t\t.pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tformatNdcProductInfoRequest = (\r\n\t\tndc: string\r\n\t\t, inventorySiteId: number | null = null\r\n\t): string => `api/Inventory/Inventory/GetProductInfoByNdc/?ndc=${encodeURIComponent(ndc)}&inventorySiteId=${encodeURIComponent(inventorySiteId)}`;\r\n\r\n\tgetIdProductInfo(\r\n\t\tcomponent: any\r\n\t\t, id: number\r\n\t): Observable { \r\n\t\treturn this.httpClient.get(this.formatIdProductInfoRequest(id))\r\n\t\t\t.pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tformatIdProductInfoRequest = (id: number): string => `api/Inventory/Inventory/GetProductInfo/?productId=${encodeURIComponent(id)}`;\r\n\r\n\tgetInstockProductInfo(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t\t, barcode: ProductBarcode\r\n\t\t, qtyPrescribed: number = null\r\n\t\t, isUser: boolean = false\r\n\t): Observable {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.formatInstockProductInfoRequest(\r\n\t\t\t\tinventorySiteId\r\n\t\t\t\t, barcode\r\n\t\t\t\t, qtyPrescribed\r\n\t\t\t\t, isUser\r\n\t\t\t)\r\n\t\t).pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tformatInstockProductInfoRequest = (\r\n\t\tinventorySiteId: number\r\n\t\t, barcode: ProductBarcode\r\n\t\t, qtyPrescribed: number = null\r\n\t\t, isUser: boolean = false\r\n\t): string => `api/Inventory/${isUser == true ? \"RxFulfillmentUser\" : \"Inventory\"}/GetInstockProductInfo/` \r\n\t\t+ `?inventorySiteId=${inventorySiteId}` \r\n\t\t+ `&ndc=${encodeURIComponent(barcode?.productInfo?.ndc!)}` \r\n\t\t+ `&lotNumber=${barcode.lotNumber}` \r\n\t\t+ `&expDateStr=${barcode.expirationDate?.toLocaleDateString()}` \r\n\t\t+ `&serialNumber=${barcode.serialNumber}` \r\n\t\t+ `&qtyPrescribed=${qtyPrescribed}`;\r\n\r\n\t// API: api/Inventory/Inventory/GetFastPackProductInfo/\r\n\tgetFastPackProductInfo(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t\t, ndc: string\r\n\t\t, barcodeStr: string\r\n\t): Observable {\r\n\t\treturn this.httpClient.get(this.formatFastPackProductInfo(inventorySiteId, ndc, barcodeStr))\r\n\t\t\t.pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tformatFastPackProductInfo = (\r\n\t\tinventorySiteId: number\r\n\t\t, ndc: string\r\n\t\t, barcodeStr: string\r\n\t): string => `api/Inventory/Inventory/GetFastPackProductInfo/` \r\n\t\t+ `?inventorySiteId=${inventorySiteId}` \r\n\t\t+ `&ndc=${ndc}` \r\n\t\t+ `&barcodeStr=${barcodeStr}`\r\n\r\n\tgetProductId(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t\t, ndc: string\r\n\t\t, isUser: boolean = false\r\n\t): Observable {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`api/Inventory/${isUser == true ? \"RxFulfillmentUser\" : \"Inventory\"}/GetInstockProductInfo/` \r\n\t\t\t+ `?inventorySiteId=${inventorySiteId}` \r\n\t\t\t+ `&ndc=${encodeURIComponent(ndc)}`\r\n\t\t).pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tgetSiteName(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t): Observable {\r\n\t\treturn this.httpClient.get(`api/Inventory/Inventory/GetInventorySiteName/${inventorySiteId}`).pipe(untilDestroyed(component));\r\n\t}\r\n\r\n\tgetCurrentStock(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t\t, ndc: string\r\n\t\t, lotNum: string\r\n\t\t, expDate: Date\r\n\t\t, serialNum: string\r\n\t): Observable {\r\n\t\tif (serialNum === null) { serialNum = ''; }\r\n\t\treturn this.httpClient.get(`api/Inventory/Inventory/GetCurrentStock/\r\n\t\t\t?inventorySiteId=${inventorySiteId}\r\n\t\t\t&ndc=${ndc}\r\n\t\t\t&lotNum=${lotNum}\r\n\t\t\t&expDate=${expDate}\r\n\t\t\t&serialNum=${serialNum}`\r\n\t\t).pipe(untilDestroyed(component)) as Observable;\r\n\t}\r\n\r\n\tgetCurrentInventoryByGfc(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId : number\r\n\t\t, isActive : boolean\r\n\t\t, needsOrdering : boolean\r\n\t) : Observable {\r\n\t\treturn this.httpClient.get(`api/Inventory/Inventory/GetCurrentInventoryByGfc/\r\n\t\t\t?inventorySiteId=${inventorySiteId}\r\n\t\t\t&isActive=${isActive}\r\n\t\t\t&needsOrdering=${needsOrdering}`\r\n\t\t).pipe(untilDestroyed(component)) as Observable\r\n\t}\r\n\r\n\t// Validate that the product has not been previously returned.\r\n\tvalidateRxReturn(\r\n\t\tcomponent: any\r\n\t\t, inventorySiteId: number\r\n\t\t, ndc: string\r\n\t\t, inventoryProductId: number\r\n\t\t, lotNum: string\r\n\t\t, expDate: Date\r\n\t\t, serialNum: string\r\n\t): Observable {\r\n\t\tif (serialNum === null) { serialNum = ''; }\r\n\t\treturn >this.httpClient\r\n\t\t\t.get(`api/Inventory/Inventory/ValidateRxReturn/\r\n\t\t\t\t?inventorySiteId=${inventorySiteId}\r\n\t\t\t\t&ndc=${ndc}\r\n\t\t\t\t&inventoryProductId=${inventoryProductId}\r\n\t\t\t\t&lotNum=${lotNum}\r\n\t\t\t\t&expDate=${expDate}\r\n\t\t\t\t&serialNum=${serialNum}`\r\n\t\t\t).pipe(untilDestroyed(component));\r\n\t}\r\n\r\n\tgetPatientInfo(\r\n\t\tcomponent: any\r\n\t\t, barcodeStr: string\r\n\t\t, shipmentId: number\r\n\t\t, scanned: boolean\r\n\t\t, isUser: boolean = false\r\n\t): Observable {\r\n\t\treturn >this.httpClient\r\n\t\t\t.get(\r\n\t\t\t\t`api/Inventory/QS1/GetRxData/` \r\n\t\t\t\t+ `?rxNumber=${encodeURIComponent(barcodeStr)}` \r\n\t\t\t\t+ `&shipmentId=${encodeURIComponent(shipmentId)}` \r\n\t\t\t\t+ `&scanned=${encodeURIComponent(scanned)}`\r\n\t\t\t\t+ `&isUser=${encodeURIComponent(isUser)}`\r\n\t\t\t).pipe(untilDestroyed(component));\r\n\t}\r\n\r\n\tgetPatientInfoNoShipment(\r\n\t\tcomponent: any\r\n\t\t, barcodeStr: string\r\n\t\t, isFacility: boolean\r\n\t\t, scanned: boolean\r\n\t\t, isUser: boolean = false\r\n\t): Observable {\r\n\t\treturn >this.httpClient\r\n\t\t\t.get(\r\n\t\t\t\t`api/Inventory/QS1/GetRxData/` \r\n\t\t\t\t+ `?rxNumber=${encodeURIComponent(barcodeStr)}` \r\n\t\t\t\t+ `&isFacility=${isFacility}` \r\n\t\t\t\t+ `&scanned=${encodeURIComponent(scanned)}`\r\n\t\t\t\t+ `&isUser=${encodeURIComponent(isUser)}`\r\n\t\t\t).pipe(untilDestroyed(component));\r\n\t}\r\n\r\n\t/**\r\n\t * The main function that will be called from the application to get the barcode data\r\n\t * @param barcode The barcode to parse\r\n\t * @param delimiter The delimeter to use when parsing.\r\n\t * The function will attempt to guess the delimiter if it is not provided.\r\n\t*/\r\n\tscanGs1Barcode(\r\n\t\tbarcode: string\r\n\t\t, delimiter: string | null = null\r\n\t) {\r\n\t\tif (barcode.substr(0, 3) === 'PFS') { return this.getProductBarCodeFromPfsData(barcode); }\r\n\t\tif (\r\n\t\t\tbarcode === null \r\n\t\t\t|| typeof barcode === 'undefined' \r\n\t\t\t|| barcode.length < 20\r\n\t\t) { return null; }\r\n\t\tif (delimiter !== null) {\r\n\t\t\treturn this.getProductBarCodeFromGs1Data(\r\n this.parseGs1Barcode(\r\n delimiter !== '↔' \r\n ? barcode.replace(/↔/g, '') \r\n : barcode\r\n , delimiter\r\n )\r\n );\r\n\t\t}\r\n\r\n\t\tlet gs1Data: any = null;\r\n\t\tconst guessedDelimiters : string[] = [];\r\n\t\t// Make up to 10 guesses on the delimiter\r\n\t\tfor (let i = 0; i < 10; ++i) {\r\n\t\t\tlet delimiterGuess = this.guessGs1Delimiter(barcode, guessedDelimiters);\r\n\t\t\tgs1Data = this.parseGs1Barcode(\r\n delimiterGuess !== '↔' \r\n ? barcode.replace(/↔/g, '') \r\n : barcode\r\n , delimiterGuess\r\n );\r\n\t\t\tguessedDelimiters.push(delimiterGuess);\r\n\t\t\t// Return data if we make a good guess\r\n\t\t\tif (gs1Data !== null) { return this.getProductBarCodeFromGs1Data(gs1Data); }\r\n\t\t}\r\n\r\n\t\t// Return null if we failed to parse the barcode\r\n\t\treturn null;\r\n\t}\r\n\r\n convertZeroZeroToEndOfMonth(expDate: string) {\r\n\t\tvar lastDay = new Date(+expDate?.substr(0,2) + 2000, +expDate?.substr(2,2), 0);\r\n\t\tvar newDate = expDate?.substr(0,2) + expDate?.substr(2,2) + lastDay.getDate().toString();\r\n\t\treturn newDate;\r\n\t}\r\n\r\n /**\r\n\t * Get the 10-digit NDC, without dashes, from the 12 or 14 digit GTIN\r\n\t * @param gtin GTIN is parsed from either the GS1 barcode (14-digit), or is\r\n\t * the value gotten from the traditional barcode (12-digit).\r\n\t * A null value will be returned if GTIN is not a valid length.\r\n\t*/\r\n\tparseNdc10FromGtin(gtin: string) {\r\n\t\t// Return null if we don't have a GTIN\r\n\t\tif (\r\n\t\t\tgtin === null \r\n\t\t\t|| typeof gtin === 'undefined'\r\n\t\t) { return null; }\r\n\r\n\t\t// Parse 11-digit GTIN (used when scanning Homer repack labels which contain regular NDC without \"-\". This returns a full NDC rather than NDC10..\r\n\t\t// Move to its own method or change the method name/ndc10 property name on Product Barcode model to avoid confusion?)\r\n\t\tif (gtin.length === 11) { return gtin.slice(0, 5) + \"-\" + gtin.slice(5, 9) + \"-\" + gtin.slice(9, 11); }\r\n\r\n\t\t// Parse 12-digit GTIN\r\n\t\tif (gtin.length === 12) { return gtin.substr(1, 10); }\r\n\r\n\t\t// Parse 14-digit GTIN\r\n\t\tif (gtin.length === 14) { return gtin.substr(3, 10) }\r\n\r\n\t\t// Otherwise, return null\r\n\t\treturn null;\r\n\t}\r\n\r\n /**\r\n\t * Scan the GS1 barcode and return an object mapping its application identifiers to\r\n\t * their values in the barcode.\r\n\t * A null value will be returned if the barcode is not in a valid format.\r\n\t * @param barcode The barcode to parse\r\n\t * @param delimiter The delimeter to use for the barcode's variable length fields\r\n\t*/\r\n\tparseGs1Barcode(\r\n\t\tbarcode: string\r\n\t\t, delimiter: string\r\n\t) {\r\n\t\tlet parsingAi = true; // bool indicating whether or not we are currently parsing an application identifier\r\n\t\tlet ai = ''; // current application identifier value\r\n\t\tlet val = ''; // current parsed value\r\n\t\tlet parseObj = {}; // this will map discovered application identifiers to their values\r\n\r\n\t\t// Loop through the barcode string\r\n\t\tfor (let i = 0; i < barcode.length; ++i) {\r\n\t\t\t// Look for the application identifier, if we don't have one already\r\n\t\t\tif (parsingAi) {\r\n\t\t\t\tif (barcode[i] !== delimiter) { ai += barcode[i]; }\r\n\t\t\t\t// We found a valid application identifier, so stop parsing it\r\n\t\t\t\tif (typeof AI_DICT[ai] !== 'undefined') { parsingAi = false; }\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// After we have an application identifier, parse its corresponding value\r\n\t\t\t// Stop parsing value if we exceed max number of characters for string or hit the delimiter\r\n\t\t\tif (\r\n\t\t\t\tAI_DICT[ai] === val.length \r\n\t\t\t\t|| (\r\n\t\t\t\t\tAI_OPTIONAL_MAX_DICT[ai] \r\n\t\t\t\t\t&& val.length >= AI_OPTIONAL_MAX_DICT[ai]\r\n\t\t\t\t) \r\n\t\t\t\t|| barcode[i] === delimiter\r\n\t\t\t) {\r\n\t\t\t\tparseObj[ai] = val;\r\n\t\t\t\tparsingAi = true;\r\n\t\t\t\tval = '';\r\n\t\t\t\tai = '';\r\n\t\t\t\t--i;\r\n\t\t\t} else { val += barcode[i]; }\r\n\t\t}\r\n\r\n\t\t// Set the value that was last in the barcode\r\n\t\tif (typeof AI_DICT[ai] !== 'undefined') {\r\n\t\t\tparseObj[ai] = val;\r\n\t\t} else if (ai.length > 0) { // Invalid value at the end of barcode, return null to indicate error \r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn parseObj;\r\n\t}\r\n\r\n\tprivate getProductBarCodeFromPfsData(gs1Data: any): ProductBarcode {\r\n\t\tif (gs1Data === null) { return gs1Data; }\r\n\t\tlet array = gs1Data.split('|');\r\n\t\treturn {\r\n\t\t\tndc10: this.parseNdc10FromGtin(array[1])\r\n , lotNumber: array[3]\r\n , serialNumber: null\r\n , expirationDate: new Date(\r\n +array[2].substr(4, 4)\r\n , +array[2].substr(0, 2) - 1\r\n , +array[2].substr(2, 2)\r\n )\r\n , isPfs: true\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a friendly object based on the parsed GS1 barcode\r\n\t * @param gs1Data An object mapping application identifiers to their values, generated by parseGs1Barcode\r\n\t*/\r\n\tprivate getProductBarCodeFromGs1Data(gs1Data: any): ProductBarcode {\r\n\t\tif (gs1Data === null) { return gs1Data; }\r\n\r\n\t\tlet expDateStr = gs1Data[AI_EXPIRATION_DATE];\r\n\t\tconst last2 = expDateStr?.slice(-2); \r\n\t\tif (last2 === \"00\") { expDateStr = this.convertZeroZeroToEndOfMonth(expDateStr); }\r\n\r\n\t\treturn {\r\n\t\t\tndc10: this.parseNdc10FromGtin(gs1Data[AI_GTIN])\r\n\t\t\t, lotNumber: gs1Data[AI_LOT_NUMBER].toUpperCase()\r\n\t\t\t, serialNumber: gs1Data[AI_SERIAL_NUMBER]\r\n\t\t\t, expirationDate: new Date(\r\n\t\t\t\t+expDateStr?.substr(0, 2) + 2000\r\n\t\t\t\t, +expDateStr?.substr(2, 2) - 1\r\n\t\t\t\t, +expDateStr?.substr(4, 2)\r\n\t\t\t)\r\n\t\t\t, gtin: gs1Data[AI_GTIN]\r\n\t\t};\r\n\t}\t\r\n\r\n\t/**\r\n\t * Attempt to guess the GS1 delimiter based on the barcode, in case we don't have a way of knowing it.\r\n\t * A null value will be returned if no possible values are found\r\n\t * @param barcode The barcode to parse\r\n\t * @param excludedChars Characters that have already been tried. These will not be returned.\r\n\t*/\r\n\tprivate guessGs1Delimiter(\r\n\t\tbarcode: string\r\n\t\t, excludedChars: string[] = []\r\n\t) {\r\n\t\t// Return null if we do not have a string\r\n\t\tif (\r\n\t\t\tbarcode === null \r\n\t\t\t|| typeof barcode === 'undefined' \r\n\t\t\t|| barcode.length === 0\r\n\t\t) { return null; }\r\n\r\n\t\t// Filter out characters that have already been guessed\r\n\t\tconst bcChars = barcode?.split('').filter(o => !excludedChars.includes(o));\r\n\r\n\t\t// Return null if all characters have been guessed\r\n\t\tif (bcChars.length === 0) { return null; }\r\n\r\n\t\t// Return the first character if it is not a number\r\n\t\tif (isNaN(+bcChars[0])) { return bcChars[0]; }\r\n\r\n\t\t// Check for double arrow\r\n\t\tif (bcChars.includes('↔')) { return '↔'; }\r\n\r\n\t\t// Look for characters outside of the extended ASCII range\r\n\t\tlet nonAsciiChars = bcChars.filter(o => o > '\\u00FF');\r\n\t\tif (nonAsciiChars.length > 0) { return nonAsciiChars[0]; }\r\n\r\n\t\t// Look for characters outside of the standard ASCII range\r\n\t\tnonAsciiChars = bcChars.filter(o => o > '\\u007F');\r\n\t\tif (nonAsciiChars.length > 0) { return nonAsciiChars[0]; }\r\n\r\n\t\t// Look for any other non-alphanumeric characters\r\n\t\tconst nonAlphanumericChars = bcChars.filter(o => \r\n o < '0' \r\n || (\r\n o > '9' \r\n && o < 'A'\r\n ) \r\n || (\r\n o > 'Z' \r\n && o < 'a'\r\n ) \r\n || o > 'z'\r\n );\r\n\t\tif (nonAlphanumericChars.length > 0) { return nonAlphanumericChars[0]; }\r\n\r\n\t\t// Otherwise, just return something\r\n\t\treturn bcChars[0];\r\n\t}\t\r\n}\r\n","import { Component, computed, input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"pcg-inline-spinner\",\r\n templateUrl: \"./inline-spinner.component.html\",\r\n styleUrl: \"./inline-spinner.component.scss\",\r\n standalone: false\r\n})\r\nexport class InlineSpinnerComponent {\r\n isSaving = input(false);\r\n defaultText = input(\"\");\r\n savingText = input(\"\");\r\n displayText = computed(() => {\r\n return this.isSaving() ? this.savingText() : this.defaultText();\r\n });\r\n\r\n}\r\n","@if(isSaving()) {\r\n \r\n}\r\n{{ displayText() }}","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, signal, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { RxDataStorageService } from 'app/fulfillment/services/rx-data-storage.service';\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { InventoryService } from '../services/inventory.service';\r\nimport { ScanRxVm } from 'app/shared/generated/Inventory/Models/Shipping/ScanRxVm';\r\nimport { NotificationService } from 'app/notification.service';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-scan-rx',\r\n templateUrl: './scan-rx.component.html',\r\n standalone: false\r\n})\r\nexport class ScanRxComponent implements OnInit {\r\n\r\n\tconstructor(\r\n\t\tprivate httpClient: HttpClient\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private inventoryService: InventoryService\r\n\t\t, public router: Router\r\n\t\t, private rxDataStorageService: RxDataStorageService\r\n\t\t, private formatHelper: FormatHelperService\r\n , private ns: NotificationService\r\n\t) { }\r\n\r\n\t// These variables are used for the scanning sounds\r\n\tbeepSuccess = new Audio();\r\n\tbeepError = new Audio();\r\n\tisControlDown = false;\r\n\r\n\t@Input() autofocus = true;\r\n\t@Input() inputPlaceholder = 'Scan Rx';\r\n\t@Input() id?: number = null;\r\n\t@Input() inventoryId: number;\r\n\t@Input() navigateToShipment = false;\r\n @Input() navigateToAnyInventoryShipment = false;\r\n\t@Input() hitApi = true;\r\n\t@Input() apiStr = \"api/Inventory/Shipping/GetShipmentByRxNumber/\";\r\n\t@Input() isUser = false;\r\n\r\n\t@Output() scanSuccess = new EventEmitter();\r\n\t@Output() scanSuccessFromList = new EventEmitter();\r\n\t@Output() scanSuccessInventoryList = new EventEmitter();\r\n\t@Output() scanError = new EventEmitter();\r\n\t@Output() scan = new EventEmitter();\r\n\r\n\t@ViewChild('rxNumber', { static: true }) rxNumber: ElementRef;\r\n\r\n\tsubscriptions = new Subscription();\r\n\tformGroup = PatientDataVm.Form;\r\n\tmodel: any;\r\n\tpatient: any;\r\n\r\n isSaving = signal(false);\r\n\r\n\t/** Handle control up and down */\r\n\t@HostListener('document:keydown', ['$event'])\r\n\tcontrolDown(event: KeyboardEvent) { if (event.key === 'Control') { this.isControlDown = true; } }\r\n\r\n\t@HostListener('document:keyup', ['$event'])\r\n\tcontrolUp(event: KeyboardEvent) { if (event.key === 'Control') { this.isControlDown = false; } }\r\n\r\n\tngOnInit() {\r\n\t\tconst basePath = document.getElementsByTagName('base')[0].href;\r\n\t\tthis.beepSuccess.src = basePath + 'assets/sounds/GreenScan.mp3';\r\n\t\tthis.beepSuccess.load();\r\n\t\tthis.beepError.src = basePath + 'assets/sounds/RedScan.mp3';\r\n\t\tthis.beepError.load();\r\n\t}\r\n\r\n\t/**\r\n\t * Hitting F8 and Ctrl + ] will add a double arrow, which can be used as a delimiter.\r\n\t * New Zebra Scanners will add a delimeter with the Alt key.\r\n\t * Hitting Enter will process the barcode.\r\n\t * @param event The key down event\r\n\t*/\r\n\tkeyDown(event: { key: string; preventDefault: () => void; }) {\r\n\t\tif (\r\n\t\t\tevent.key === 'F8' \r\n\t\t\t|| (\r\n\t\t\t\tthis.isControlDown \r\n\t\t\t\t&& event.key === ']'\r\n\t\t\t) \r\n\t\t\t|| event.key === 'Alt'\r\n\t\t) { this.rxNumber.nativeElement.value += '↔'; } \r\n\t\telse if (event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.scanBarcode();\r\n\t\t}\r\n\t}\r\n\r\n\t/** This function gets fired when enter is pressed in the textbox or the scan button is pressed */\r\n\tscanBarcode() {\r\n\t\tif (!FormatHelperService.GetIsNullyOrWhitespace(this.rxNumber?.nativeElement?.value)) {\r\n\t\t\tthis.isSaving.set(true);\r\n const barcodeStr = this.rxNumber.nativeElement.value;\r\n\t\t\tthis.rxNumber.nativeElement.value = '';\r\n\t\t\tif (this.hitApi === true) {\r\n\t\t\t\t// Emit the scan events and get the product info, if desired\r\n\t\t\t\tif (this.navigateToShipment && !this.navigateToAnyInventoryShipment) {\r\n\t\t\t\t\tthis.httpClient.get(\r\n\t\t\t\t\t\t`${this.apiStr}` \r\n\t\t\t\t\t\t+ `?rxNumber=${barcodeStr}` \r\n\t\t\t\t\t\t+ `&inventoryId=${this.inventoryId}`\r\n\t\t\t\t\t).subscribe((ids: number[]) => {\r\n\t\t\t\t\t\t// if scanning inside an inventory area and returning a single id go directly to fulfillment\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tthis.inventoryId != null \r\n\t\t\t\t\t\t\t&& ids?.length === 1\r\n\t\t\t\t\t\t) { \r\n\t\t\t\t\t\t\t// navigate to the shipment\r\n\t\t\t\t\t\t\tthis.router.navigateByUrl(`pharmacy/inventories/fulfillment/edit/${ids[0]}/${this.inventoryId}`);\r\n this.isSaving.set(false);\r\n\t\t\t\t\t\t\t// returning anything greater than 0 filter the list\r\n\t\t\t\t\t\t} else if (ids?.length > 0 ) {\r\n\t\t\t\t\t\t\tthis.scanSuccessFromList.emit(ids);\r\n\t\t\t\t\t\t\tthis.scanSuccess.emit(barcodeStr);\r\n this.isSaving.set(false);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.beepError.play();\r\n\t\t\t\t\t\t\t//Decide the validation message based off of whether or not we are in centralized fulfillment\r\n\t\t\t\t\t\t\tlet validationMessage = this.formatHelper.GetIsNully(this.inventoryId) \r\n\t\t\t\t\t\t\t\t? 'The Rx Number scanned has not been used on a fulfillment.' \r\n\t\t\t\t\t\t\t\t: 'The Rx Number scanned has not been used on a fulfillment in this inventory.';\r\n\t\t\t\t\t\t\tthis.ms.setSystemMessage(validationMessage, 'warning');\r\n this.isSaving.set(false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (this.navigateToAnyInventoryShipment) {\r\n this.httpClient.get(\r\n\t\t\t\t\t\t`${this.apiStr}` \r\n\t\t\t\t\t\t+ `?rxNumber=${barcodeStr}` \r\n\t\t\t\t\t\t+ `&inventoryId=${this.inventoryId}`\r\n\t\t\t\t\t).subscribe((scanRxVm: ScanRxVm) => {\r\n if(scanRxVm != null) {\r\n this.isSaving.set(false);\r\n this.router.navigateByUrl(`/pharmacy/fulfillment/edit/${scanRxVm.shipmentId}/${scanRxVm.inventorySiteId}`).then(() => {\r\n window.location.reload();\r\n });\r\n } else {\r\n this.isSaving.set(false);\r\n this.ns.showError('Rx not found on any in-progress fulfillments.');\r\n }\r\n });\r\n } else if (barcodeStr?.length > 0) {\r\n\t\t\t\t\t//If there is no shipment\r\n\t\t\t\t\tif (this.formatHelper.GetIsNully(this.id)) {\r\n\t\t\t\t\t\t// Passing in true, since it was scanned\r\n\t\t\t\t\t\tthis.inventoryService.getPatientInfoNoShipment(\r\n\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t, barcodeStr\r\n\t\t\t\t\t\t\t, this.rxDataStorageService.IsFacility\r\n\t\t\t\t\t\t\t, true\r\n\t\t\t\t\t\t\t, this.isUser\r\n\t\t\t\t\t\t).subscribe(model => { this.processPatientInfo(model, barcodeStr, false); });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//Otherwise, there is a shipment\r\n\t\t\t\t\t\t// Passing in true, since it was scanned\r\n\t\t\t\t\t\tthis.inventoryService.getPatientInfo(\r\n\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t, barcodeStr\r\n\t\t\t\t\t\t\t, this.id\r\n\t\t\t\t\t\t\t, true\r\n\t\t\t\t\t\t\t, this.isUser\r\n\t\t\t\t\t\t).subscribe(model => { this.processPatientInfo(model, barcodeStr, true); });\r\n\t\t\t\t\t}\r\n\t\t\t\t} else { this.emitScan(barcodeStr); this.isSaving.set(false); }\r\n\t\t\t} else {\r\n\t\t\t\tthis.scanSuccessFromList.emit(barcodeStr);\r\n\t\t\t\tthis.scanSuccess.emit(barcodeStr);\r\n this.isSaving.set(false);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprocessPatientInfo(\r\n\t\tmodel: PatientDataVm\r\n\t\t, barcodeStr: string\r\n\t\t, hasShipment: boolean\r\n\t) {\r\n\t\tif (!this.formatHelper.GetIsNully(model.errorMessage)) { this.ms.setSystemMessage(model.errorMessage, 'error'); this.isSaving.set(false); } \r\n\t\telse if (this.formatHelper.GetIsNully(model.lastName)) { this.ms.setSystemMessage('Invalid Rx Number was entered.', 'error'); this.isSaving.set(false); }\r\n\t\tthis.formGroup.patchValue(model);\r\n\t\tthis.model = model;\r\n\t\tif (hasShipment) { this.emitScan(barcodeStr); } \r\n\t\telse {\r\n\t\t\tthis.rxDataStorageService.PatientData = model;\r\n\t\t\tthis.emitScan(barcodeStr, model);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * This function emits the scan events that can be used by other components\r\n\t * @param barcode The string (RxNumber) that was parsed from the barcode\r\n\t*/\r\n\temitScan(\r\n\t\tbarcode: string\r\n\t\t, patientListDataModel: PatientDataVm = null\r\n\t) {\r\n\t\tif (patientListDataModel !== null) {\r\n\t\t\tthis.beepSuccess?.play();\r\n\t\t\tthis.scanSuccessInventoryList?.emit(patientListDataModel);\r\n this.isSaving.set(false);\r\n\t\t} else if (\r\n\t\t\tbarcode !== null \r\n\t\t\t&& barcode !== ''\r\n\t\t) {\r\n\t\t\tthis.beepSuccess?.play();\r\n\t\t\tthis.scanSuccess?.emit(this.model);\r\n this.isSaving.set(false);\r\n\t\t} else {\r\n\t\t\tthis.beepError?.play();\r\n\t\t\tthis.scanError?.emit(this.model);\r\n this.isSaving.set(false);\r\n\t\t}\r\n\t\tthis.scan?.emit(this.model);\r\n this.isSaving.set(false);\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { SecurityService } from '../../core/security/security.service';\r\nimport { RxDataStorageService } from '../services/rx-data-storage.service';\r\n\r\n@Component({\r\n selector: 'pcg-inv-choice-modal',\r\n templateUrl: './inv-choice-modal.component.html',\r\n styleUrls: ['./inv-choice-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class InvChoiceModalComponent implements OnInit {\r\n\r\n\t@Input() modal: any;\r\n\tselectPfsForm: PcgSelectComponent;\r\n\r\n\tpatientDataFormGroup = PatientDataVm.Form;\r\n\tpatientDataModel = PatientDataVm.GetModel(this.patientDataFormGroup);\r\n\tmodel: PatientDataVm;\r\n\r\n\thasMultipleInvChoices = false;\r\n\ttitle = \"Create New\";\r\n\tsubTitle: string;\r\n\r\n\tcanEdit: boolean;\r\n\r\n\tconstructor(\r\n\t\tprivate sec: SecurityService\r\n\t\t, public router: Router\r\n\t\t, private ms: SystemMessageService\r\n\t\t, public rxDataStorageService: RxDataStorageService\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private formatHelper: FormatHelperService\r\n\t) {\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.canEdit = this.sec?.hasModuleAccess([BusinessAreaEnum.Inventory], SecurityService.setMinRole(PermissionRole.Technician));\r\n\t\tthis.subTitle = this.rxDataStorageService.IsFacility \r\n\t\t\t? \"CI/CHD Delivery\" \r\n\t\t\t: \"Home Delivery\";\r\n\t\tthis.title = \"Create New \" + this.subTitle;\r\n\t}\r\n\r\n\tscanSuccessInventoryList($event: PatientDataVm) {\r\n\t\tif (!this.formatHelper.GetIsNully($event.errorMessage)) { this.ms.setSystemMessage($event.errorMessage, 'error'); }\r\n\t\telse if ($event.inventories?.length === 0) {\r\n\t\t\tthis.ms.setSystemMessage(\r\n\t\t\t\t`Product NDC (${this.formatHelper.FormatNdc($event.ndc)}) not found for any inventory. Please add the NDC to an inventory.`\r\n\t\t\t\t, 'warning'\r\n\t\t\t);\r\n\t\t} else if ($event.inventories?.length === 1) {\r\n\t\t\t//Head straight to a new RxFulfillment\r\n\t\t\tthis.chooseInventory($event.inventories[0].inventorySiteId, $event.inventories[0].inventoryName);\r\n\t\t} else if ($event.inventories?.length > 1) {\r\n\t\t\t//Set the modal up for the user to select an inventory choice\r\n\t\t\tthis.title = \"Choose an Inventory for \" + this.subTitle;\r\n\t\t\tthis.hasMultipleInvChoices = true;\r\n\t\t\tthis.model = $event;\r\n\t\t} else { this.ms.setSystemMessage(`There were no inventories found for Rx ${$event.rxNumber}`, 'error'); }\r\n\t}\r\n\r\n\tchooseInventory(\r\n\t\tinvId: number\r\n\t\t, invName: string\r\n\t) {\r\n\t\tlet isConfirmed = true;\r\n\r\n\t\tif (this.hasMultipleInvChoices) { isConfirmed = confirm(`Inventory: ${invName} was selected. Is this the correct inventory?`); }\r\n\r\n\t\tif (!isConfirmed) { return null; }\r\n\t\telse {\r\n\t\t\tconst patientData: PatientDataVm = this.rxDataStorageService.PatientData;\r\n\t\t\tpatientData.isFacility = this.rxDataStorageService.IsFacility;\r\n\t\t\t\r\n\t\t\tthis.httpClient.post(`api/Inventory/QS1/ValidateAndSaveRxData/?inventorySiteId=${invId}`, patientData)\r\n\t\t\t\t.subscribe((returnData: PatientDataVm) => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\treturnData.errorMessage === null \r\n\t\t\t\t\t\t|| returnData.errorMessage === undefined\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t//Need to write over the old patient data since there is a facility address check that may provide new info not available ealier\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\treturnData.address !== patientData.address \r\n\t\t\t\t\t\t\t|| returnData.address2 !== patientData.address2 \r\n\t\t\t\t\t\t\t|| returnData.city !== patientData.city\r\n\t\t\t\t\t\t\t|| returnData.state !== patientData.state \r\n\t\t\t\t\t\t\t|| returnData.zip !== patientData.zip\r\n\t\t\t\t\t\t) { this.rxDataStorageService.PatientData = returnData; }\r\n\r\n\t\t\t\t\t\t//Now that validation has passed, and a shipment has been created, we can navigate to it\r\n\t\t\t\t\t\tthis.router.navigateByUrl('/pharmacy/inventories/fulfillment/edit/'\r\n\t\t\t\t\t\t\t+ encodeURIComponent(`${returnData.shipmentId}`) + '/' + encodeURIComponent(`${invId}`));\r\n\t\t\t\t\t\tthis.modal?.dismiss();\r\n\t\t\t\t\t} else { this.ms.setSystemMessage(returnData.errorMessage, 'error'); }\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {//Dismiss the modal if security was revoked\r\n\t\t\t\t\tthis.modal.dismiss();\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
{{ title }}
\r\n\t\t\r\n\t
\r\n\t\r\n\t@if (!this.hasMultipleInvChoices) {\r\n\t\t
\r\n\t\t\t

Warning: Scanning an Rx here will create a fulfillment.

\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t} @else {\r\n\t\t\r\n\t\t
\r\n\t\t\t

Multiple inventories contain the NDC for this Rx. Please choose the inventory to fill the prescription from.

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\t\r\n\t}\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { faFilePrescription, faRandom, faStepForward } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { ShipmentListRxModalVm } from 'app/shared/generated/Inventory/Models/Shipping/ShipmentListRxModalVm';\r\n\r\n@Component({\r\n selector: 'pcg-shipment-list-rx-modal',\r\n templateUrl: './shipment-list-rx-modal.component.html',\r\n styleUrls: ['./shipment-list-rx-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class ShipmentListRxModalComponent implements OnInit {\r\n\r\n\t@Input() shipmentId: number;\r\n\t@Input() modal: any;\r\n\t@Input() isUser: boolean = false;\r\n\r\n\t@Output() reloadTable = new EventEmitter();\r\n\r\n\trxList: ShipmentListRxModalVm[] = [];\r\n\tisEmpty = false;\r\n\t\r\n\tfaTransfer = faRandom;\r\n\tfaEOS = faStepForward;\r\n\tfaEarlyRx = faFilePrescription;\r\n\r\n\tconstructor(\r\n private http: HttpClient\r\n , private ms: SystemMessageService\r\n ) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.http.get(\r\n\t\t\t`api/Inventory/${this.isUser ? 'RxFulfillmentUser' : 'Shipping'}/GetShipmentListRxs?shipmentId=${this.shipmentId}`\r\n\t\t).subscribe((rxListResult: ShipmentListRxModalVm[]): void => {\r\n\t\t\tif (rxListResult === null) {\r\n\t\t\t\tthis.ms.setSystemMessage(\"The shipment you selected does not exist. Table has been updated.\", \"warning\");\r\n\t\t\t\tthis.reloadTable.emit();\r\n\t\t\t} else {\r\n\t\t\t\tthis.rxList = rxListResult;\r\n\t\t\t\tthis.isEmpty = this.rxList.length === 0;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n\t
Prescriptions
\r\n\t
 | {{ rxList[0].pfsNumber }}
\r\n\t\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n = EOS\r\n
\r\n\t\t
\r\n = Early Refill\r\n
\r\n\t\t
\r\n = Transfer\r\n
\r\n\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
RxFirst NameLast NameProductPFS Flags
{{ row.rxNumber }}{{ row.patientFirstName }}{{ row.patientLastName }}{{ row.productName }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t

There are no Rx's assigned to this fulfillment.

\r\n
","import {\r\n\tfaBell as faBellRegular,\r\n\tfaComments as faCommentsRegular\r\n} from '@fortawesome/pro-regular-svg-icons';\r\nimport {\r\n\tfaAddressBook,\r\n\tfaAddressCard,\r\n\tfaArrowRightArrowLeft,\r\n\tfaBell,\r\n\tfaBoxOpen,\r\n\tfaClock,\r\n\tfaComments,\r\n\tfaExclamation,\r\n\tfaExclamationCircle,\r\n\tfaExclamationTriangle,\r\n\tfaHourglassEnd,\r\n\tfaHourglassHalf,\r\n\tfaPlus,\r\n\tfaPrescription,\r\n\tfaPrescriptionBottle,\r\n\tfaPrescriptionBottleAlt,\r\n\tfaSearch,\r\n\tfaSun,\r\n\tfaUser,\r\n\tfaUserMd\r\n} from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\n\r\nexport class FaIconName {\r\n faBell= faBell;\r\n faUser= faUser;\r\n faSearch= faSearch;\r\n faPrescription= faPrescription; \r\n faPrescriptionBottle= faPrescriptionBottle;\r\n faBoxOpen= faBoxOpen;\r\n faUserMd= faUserMd;\r\n faPrescriptionBottleAlt= faPrescriptionBottleAlt;\r\n faSun= faSun;\r\n faHourglassEnd = faHourglassEnd;\r\n faClock = faClock;\r\n faHourglassHalf = faHourglassHalf;\r\n\tfaComments = faComments;\r\n\tfaExclamationCircle = faExclamationCircle;\r\n\tfaExclamation = faExclamation;\r\n\tfaExclamationTriangle = faExclamationTriangle;\r\n\tfaAddressBook = faAddressBook;\r\n\tfaAddressCard = faAddressCard;\r\n\tfaCommentsRegular = faCommentsRegular;\r\n\tfaBellRegular = faBellRegular;\r\n\tfaPlus = faPlus;\r\n\tfaArrowRightArrowLeft = faArrowRightArrowLeft\r\n}\r\n","export enum FaPositionUnits{\r\n percent,\r\n emphemeral,\r\n pixels\r\n}\r\nexport class FaIconPosition {\r\n\r\n constructor(topVal: number = null, rightVal = null, bottomVal = null, leftVal = null, units: FaPositionUnits = null) {\r\n this.top = topVal;\r\n this.right = rightVal;\r\n this.bottom = bottomVal;\r\n this.left = leftVal;\r\n this.positionUnits = units;\r\n }\r\n top?: number;\r\n right?: number;\r\n bottom?: number;\r\n left?: number;\r\n positionUnits: FaPositionUnits;\r\n\r\n getMyPositionUnits(): string{\r\n return FaIconPosition.getPositionUnits(this.positionUnits);\r\n }\r\n static getPositionUnits(units: FaPositionUnits): string{\r\n switch(units){\r\n case FaPositionUnits.percent:\r\n return '%';\r\n case FaPositionUnits.emphemeral:\r\n return 'em';\r\n case FaPositionUnits.pixels:\r\n return 'px';\r\n default:\r\n return '%';\r\n }\r\n }\r\n static getPositionPropValue = (value: number, unitString: string): string => `${value}${unitString}`;\r\n}\r\n","//When adding a color to this enum, make sure to add a case to the switch in ../fa-num-icon.component.ts\r\nexport enum FaNumColor {\r\n success,\r\n warning,\r\n danger,\r\n info,\r\n secondary,\r\n other\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum ChatTypeEnum {\r\n\tCiOrderComments = 1,\r\n\tHelpDeskComments = 2,\r\n\tHEROSComments = 3,\r\n\tPkuComments = 4,\r\n\tShipmentComments = 5,\r\n\tSysInvOrders = 6\r\n}\r\n\r\nexport namespace ChatTypeEnum {\r\n\texport function toDescription(val: ChatTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"CiOrderComments\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"HelpDeskComments\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"HEROSComments\";\r\n\t\t\tcase 4:\r\n\t\t\t\treturn \"PkuComments\";\r\n\t\t\tcase 5:\r\n\t\t\t\treturn \"ShipmentComments\";\r\n\t\t\tcase 6:\r\n\t\t\t\treturn \"SysInvOrders\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: ChatTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"CiOrderComments\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"HelpDeskComments\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"HEROSComments\";\r\n\t\t\tcase 4:\r\n\t\t\t\treturn \"PkuComments\";\r\n\t\t\tcase 5:\r\n\t\t\t\treturn \"ShipmentComments\";\r\n\t\t\tcase 6:\r\n\t\t\t\treturn \"SysInvOrders\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { computed, Injectable, signal } from '@angular/core';\r\nimport { ChatHandlingDataVm } from '../generated/Models/Notifications/ChatHandlingDataVm';\r\nimport { ChatTypeEnum } from 'app/core/enums/generated/ChatTypeEnum';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConversationsService {\r\n private commentCount = signal(null);\r\n public commentCount$ = this.commentCount.asReadonly();\r\n\r\n updateCommentCount(count: number, chatType: ChatTypeEnum, parentId: number) {\r\n if (count != null) { this.commentCount.set({ count, chatType, parentId }); }\r\n }\r\n\r\n getCommentCount(chatType: ChatTypeEnum, parentId: number, defaultCount?: number) {\r\n return computed(() => {\r\n const currentCount = this.commentCount();\r\n if (currentCount && \r\n currentCount.chatType == chatType && \r\n currentCount.parentId == parentId) {\r\n return currentCount.count;\r\n }\r\n return defaultCount ?? 0;\r\n });\r\n }\r\n}\r\n","import { StepperSelectionEvent } from \"@angular/cdk/stepper\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { AfterContentChecked, AfterViewInit, ChangeDetectorRef, Component, computed, HostListener, OnDestroy, OnInit, signal, ViewChild } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { faComments } from \"@fortawesome/pro-regular-svg-icons\";\r\nimport { faCheck, faLevelDownAlt, faTimes, faTruck } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { GlobalVariablesService } from \"app/services/global-variables.service\";\r\nimport { FaIconName } from \"app/shared/fa-num-icon/fa-icon-name/fa-icon-name\";\r\nimport { FaIconPosition, FaPositionUnits } from \"app/shared/fa-num-icon/fa-icon-position/fa-icon-position\";\r\nimport { FaNumColor } from \"app/shared/fa-num-icon/fa-num-color/fa-num-color.enum\";\r\nimport { EditShipmentVm } from \"app/shared/generated/Inventory/Models/Shipping/EditShipmentVm\";\r\nimport { FormatHelperService } from \"app/shared/helpers/format-helper.service\";\r\nimport { StepperComponent } from \"app/shared/stepper/stepper.component\";\r\nimport { RxFulfillmentPackagesComponent } from \"./helpers/packages/rx-fulfillment-packages.component\";\r\nimport { RxFulfillmentPrescriptionsComponent } from \"./helpers/prescriptions/rx-fulfillment-prescriptions.component\";\r\nimport { QcCheckComponent } from \"./helpers/qc-check/qc-check.component\";\r\nimport { SubmitComponent } from \"./helpers/submit/submit.component\";\r\nimport { ConfirmationModalComponent } from \"app/shared/form-elements/components/confirmation-modal/confirmation-modal.component\";\r\nimport { NotificationService } from \"app/notification.service\";\r\nimport { UserJsVm } from \"app/shared/generated/Administration/Models/Users/UserJsVm\";\r\nimport { ChatTypeEnum } from \"app/core/enums/generated/ChatTypeEnum\";\r\nimport { ConversationsService } from \"app/shared/conversations/conversations.service\";\r\nimport { RxCommentsModalComponent } from \"./helpers/comments-modal/comments-modal.component\";\r\n\r\n@Component({\r\n selector: \"pcg-edit-rx-fulfillment\",\r\n templateUrl: \"./edit-rx-fulfillment.component.html\",\r\n styleUrls: [\"./edit-rx-fulfillment.component.scss\"],\r\n standalone: false\r\n})\r\nexport class EditRxFulfillmentComponent implements OnInit, OnDestroy, AfterContentChecked, AfterViewInit {\r\n\r\n\t@ViewChild(\"stepper\", { static: true }) stepper: StepperComponent;\r\n\t@ViewChild(\"packages\") packages: RxFulfillmentPackagesComponent;\r\n\t@ViewChild(\"prescriptions\") prescriptions: RxFulfillmentPrescriptionsComponent;\r\n\t@ViewChild(\"qcCheck\") qcCheck: QcCheckComponent;\r\n\t@ViewChild(\"submit\") submit: SubmitComponent;\r\n\t@ViewChild(\"printerSelect\", { static: true }) printerSelect: PcgSelectComponent;\r\n\t@ViewChild('commentsModal', { static: true }) commentsModal: RxCommentsModalComponent;\r\n\r\n\t// IDs\r\n\tinventoryId: number;\r\n\tshipmentId: number;\r\n\tcurrentStep: number;\r\n\tselectedStep: number;\r\n\tshipmentPrinterId: number;\r\n\tuserId: number;\r\n\r\n\tisComplete: boolean;\r\n\tisNotActive: boolean;\r\n\tisFacility: boolean;\r\n\tcanEditDeliveryType = false;\r\n\tcanEdit: boolean;\r\n\tcanEditQc: boolean;\r\n\tauditHistoryAccess: boolean;\r\n\tisPcg: boolean;\r\n\tisUser: boolean = false;\r\n\tuserSubmitted: boolean = false;\r\n\r\n\tinventorySiteName: string;\r\n\tdataSource = \"api/Inventory/Shipping/GetShipment/\";\r\n\tbackLink = \"/pharmacy/fulfillment/list\";\r\n facilityName: string;\r\n\t\r\n\tprinterSelectItem: SelectItem;\r\n user: UserJsVm;\r\n\r\n\tfaTruck = faTruck;\r\n\tfaLevelDownAlt = faLevelDownAlt;\r\n\tfaCheck = faCheck;\r\n\tfaTimes = faTimes;\r\n\tfaComments = faComments;\r\n\tcommentPosition: FaIconPosition = new FaIconPosition(\r\n\t\t-10\r\n\t\t, 10\r\n\t\t, null\r\n\t\t, null\r\n\t\t, FaPositionUnits.pixels\r\n\t);\r\n\tfaNumColor: typeof FaNumColor = FaNumColor;\r\n\tfaIconName: FaIconName = new FaIconName();\r\n\r\n commentCountFromOrder = signal(0);\r\n commentCount = computed(() => this.conversationsService.getCommentCount(\r\n ChatTypeEnum.ShipmentComments, \r\n this.shipmentId,\r\n this.commentCountFromOrder()\r\n ));\r\n\r\n\tconstructor(\r\n\t\ttitle: Title\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private sec: SecurityService\r\n\t\t, public modalService: NgbModal\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private router: Router\r\n\t\t, private gvs: GlobalVariablesService\r\n\t\t, private cdRef: ChangeDetectorRef\r\n , private notificationService: NotificationService\r\n , private conversationsService: ConversationsService\r\n\t) {\r\n\t\tthis.auditHistoryAccess = sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Inventory ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Technician)\r\n\t\t);\r\n\t\tthis.canEdit = sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Inventory ]\r\n\t\t\t, [ PermissionRole.Technician, PermissionRole.Pharmacist ]\r\n\t\t\t, false\r\n\t\t);\r\n\t\tthis.canEditQc = sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Inventory ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n\t\t);\r\n this.user = this.sec.getUser();\r\n this.userId = this.user?.id;\r\n\t\tthis.isUser = this.user?.isRxUser;\r\n this.shipmentId = parseInt(this.route.snapshot.paramMap.get(\"id\"), 10);\r\n\t\tif (this.isUser) {\r\n\t\t\tthis.dataSource = \"api/Inventory/RxFulfillmentUser/GetShipment/\";\r\n\t\t\tthis.backLink = \"/pharmacy/fulfillment/list\";\r\n title.setTitle(\"Edit Refill Request\");\r\n\t\t} else { \r\n this.backLink = \"/pharmacy/inventories/fulfillment/list/\" + this.inventoryId; \r\n title.setTitle(\"Edit Rx Fulfillment\");\r\n }\r\n\t\tthis.checkQueryParamAndOpenModal();\r\n\t}\r\n\r\n\t//This host listener makes it so that the post fires even when the browser or tab closes\r\n\t@HostListener(\"window:beforeunload\", [\"$event\"])\r\n\tbeforeunloadHandler(event) { this.closeUserFromFulfillment(this.userId); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.inventoryId = parseInt(this.route.snapshot.paramMap.get(\"inventoryId\"), 10);\r\n\t\tthis.isPcg = this.sec.getUser().email?.includes(\"paulconsulting\");\t\t\r\n\t}\r\n\r\n\tngAfterViewInit() { this.getDetails(); this.cdRef.detectChanges(); }\r\n\tngAfterContentChecked() { this.cdRef.detectChanges(); }\r\n\r\n\treloadContent(event: StepperSelectionEvent) {\r\n\t\tthis.selectedStep = event.selectedIndex;\r\n\t\tif (event.selectedIndex === 2) {\r\n\t\t\tthis.qcCheck.rxNumberSelect.clear();\r\n\t\t\tthis.qcCheck.rxNumberSelect.getData();\r\n\t\t\tthis.qcCheck.rxNumberSelect.triggerChanged();\r\n\t\t\tthis.qcCheck.focusRx();\r\n\t\t\tthis.getPrinter();\r\n\t\t}\r\n\t\tif (event.selectedIndex === 3) { this.getPrinter(); }\r\n\t}\r\n\r\n\topenCommentsModal(\r\n\t\tmodal: any\r\n\t\t, shipmentId: number\r\n\t) {\r\n\t\tthis.shipmentId = shipmentId;\r\n\t\tthis.modalService.open(\r\n\t\t\tmodal\r\n\t\t\t, {\r\n\t\t\t\tanimation: false\r\n\t\t\t\t, beforeDismiss: () => {\r\n\t\t\t\t\tthis.getDetails();\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcheckQueryParamAndOpenModal() {\r\n this.route.queryParams.subscribe(params => {\r\n const openComments = params['openComments'] === 'true';\r\n if (openComments) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.openCommentsModal(this.commentsModal, this.shipmentId);\r\n\t\t\t\t}, 1000);\r\n }\r\n });\r\n }\r\n\r\n\tgetDetails() {\r\n\t\tthis.httpClient.get(this.dataSource + this.shipmentId)\r\n\t\t\t.subscribe((model: EditShipmentVm) => {\r\n\t\t\t\tif (model !== null) {\t\t\t\t\t\r\n\t\t\t\t\tthis.currentStep = model.currentStep;\r\n\t\t\t\t\tthis.commentCountFromOrder.set(model.commentsCount);\r\n\t\t\t\t\tthis.setCurrentStep();\r\n\t\t\t\t\tthis.isComplete = this.currentStep === 4;\r\n\t\t\t\t\tif (this.submit) { \r\n\t\t\t\t\t\tthis.submit.isSuccessful = this.isComplete;\r\n\t\t\t\t\t\tthis.submit.hideShowSelection(); \r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.isFacility = model.isFacility;\r\n\t\t\t\t\tthis.userSubmitted = model.userSubmitted;\r\n\t\t\t\t\tthis.canEditDeliveryType = model.canEditDeliveryType;\r\n\t\t\t\t\tthis.inventorySiteName = model.inventoryName;\r\n\t\t\t\t\tthis.gvs.pharmInvName.set(this.inventorySiteName);\r\n\t\t\t\t\tthis.isNotActive = model.isNotActive;\r\n this.facilityName = model.facilityName;\r\n\t\t\t\t\tif (\r\n !FormatHelperService.GetIsNullyOrWhitespace(model.openUsersWarningMessage)\r\n && !this.isUser\r\n ) { this.ms.setSystemMessage(model.openUsersWarningMessage, \"warning\"); }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n setActivation() {\r\n const modal = this.modalService.open(ConfirmationModalComponent);\r\n modal.componentInstance.modalRef = modal;\r\n modal.componentInstance.confirmationMessage = \r\n\t\t`

Are you sure you want to ${this.isNotActive ? \"activate\" : \"deactivate\"} this fulfillment?

`;\r\n\t\tif(!this.isNotActive) {\r\n modal.componentInstance.confirmationMessage +=`

This will:
\r\n

    \r\n
  • Void all package labels that have not yet been shipped
  • \r\n
  • Remove all Rx's from the fulfillment
  • \r\n
  • Return all products to the inventory
  • \r\n
\r\n

`;\r\n }\r\n\r\n // If user continues:\r\n modal.result.then((emittedValue) => {\r\n if (emittedValue) { \r\n\t\t\t\t// Activate fulfillment\r\n if (this.isNotActive) {\r\n this.httpClient.get(`api/Inventory/Shipping/SetFulfillmentActivation?id=${this.shipmentId}`)\r\n .subscribe((msg: SystemMessage) => {\r\n this.notificationService.showMessage(msg.message, msg.messageClass);\r\n this.isNotActive = msg.value;\r\n });\r\n } \r\n // Deactivate fulfillment\r\n else {\r\n this.httpClient.get(`api/Inventory/Shipping/DeactivateFulfillment?id=${this.shipmentId}`)\r\n .subscribe((msg: SystemMessage) => {\r\n this.notificationService.showMessage(msg.message, msg.messageClass);\r\n if(msg.isSuccessful) {\r\n this.isNotActive = msg.value;\r\n // Page reload to reset stepper and child components\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n\t\t\t} \r\n }).catch(err => {\r\n // Prevents Uncaught (in promise) error when user \r\n // closes modal from clicking outside modal. \r\n });\r\n\t}\r\n\r\n\tundoQcCheck() {\r\n\t\tthis.currentStep = 2;\r\n\t\tthis.setCurrentStep();\r\n\t}\r\n\r\n\tsetCurrentStep() {\r\n\t\t// set the current step to Done if its set to 4, other wise set to the current step\r\n\t\tif (!this.isUser) { setTimeout(() => { this.stepper.selectedIndex = this.currentStep !== 4 ? this.currentStep : 3; }, 1); }\t\t\r\n\t}\r\n\r\n\tcompleteStep1() {\r\n\t\tif (\r\n\t\t\tthis.isComplete \r\n\t\t\t|| this.qcCheck?.qcCheckComplete\r\n\t\t) { this.stepper.next(); } \r\n\t\telse if (this.stepper.selectedIndex === 0) {\r\n\t\t\tthis.currentStep = 1;\r\n\t\t\tthis.setCurrentStep();\r\n\t\t\tthis.qcCheck.getQcCheck();\r\n\t\t\tthis.qcCheck.rxNumberSelect.getData();\r\n\t\t}\r\n\t}\r\n\r\n\tuncompleteStep1() { if (this.currentStep > 0) { this.currentStep = 0; } }\r\n\r\n\t// Move on to step 3 after continue button is hit in step 2\r\n\tcompleteStep2() {\r\n\t\tif (\r\n\t\t\t!this.canEditQc \r\n\t\t\t&& !this.qcCheck?.qcCheckComplete\r\n\t\t) { this.router.navigateByUrl(\"/pharmacy/fulfillment/list\"); }\r\n\t\tif (\r\n\t\t\tthis.isComplete \r\n\t\t\t|| this.qcCheck?.qcCheckComplete\r\n\t\t) { this.stepper.next(); } \r\n\t\telse if (this.stepper.selectedIndex === 1) {\r\n\t\t\tthis.currentStep = 2;\r\n\t\t\tthis.setCurrentStep();\r\n\t\t}\r\n\t\tthis.qcCheck.reloadPage();\r\n\t}\r\n\r\n\tcloseUserFromFulfillment(userId: number) {\r\n\t\treturn this.httpClient.post(`api/Account/CloseUserFromFulfillment/?fulfillmentId=${this.shipmentId}&userId=${userId}`, {}).subscribe();\r\n\t}\r\n\r\n\t// Move on to step 4 after continue button is hit in step 3\r\n\tcompleteStep3() {\r\n\t\tif (this.isComplete) { this.stepper.next(); }\r\n\t\tif (\r\n\t\t\tthis.stepper.selectedIndex === 2 \r\n\t\t\t&& this.qcCheck?.qcCheckComplete\r\n\t\t) {\r\n\t\t\tif (this.currentStep < 3) { this.currentStep = 3; }\r\n\t\t\tthis.setCurrentStep();\r\n\t\t\tthis.submit.submit();\r\n\t\t}\r\n\t}\r\n\r\n\tsubmitShipment() {\r\n\t\tthis.currentStep = 4;\r\n\t\tthis.isComplete = true;\r\n\t}\r\n\r\n\t// Keeps the packages table on step 4 in sync with changes from step 2\r\n\treloadStep4() { if (this.submit) { this.submit.table.ajaxReload(); } }\r\n\r\n\tchangeDeliveryType() {\r\n\t\tconst deliveryType = this.isFacility \r\n\t\t\t? \"Home Delivery\" \r\n\t\t\t: \"CI/CHD Delivery\";\r\n\t\tif (confirm(\"Are you sure you want to change the delivery type to \" + deliveryType + \"?\")) {\r\n\t\t\tthis.httpClient\r\n\t\t\t\t.get(`api/Inventory/Shipping/ChangeShipmentDeliveryType/?shipmentId=${this.shipmentId}&isFacility=${!this.isFacility}`)\r\n\t\t\t\t.subscribe((msg: SystemMessage) => {\r\n\t\t\t\t\tthis.ms.setSystemMessage(msg.message, msg.messageClass);\r\n\t\t\t\t\tif (msg.isSuccessful) { this.isFacility = !this.isFacility; }\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tsavePrinter() {\r\n\t\tif (this.printerSelect.value !== null) {\r\n\t\t\tif (this.printerSelect.additionalData === 1) { sessionStorage.setItem(\"fedexPrinter\", this.printerSelect.value); } \r\n\t\t\telse { sessionStorage.setItem(\"upsPrinter\", this.printerSelect.value); }\r\n\t\t}\r\n\t}\r\n\r\n\tgetPrinter() {\r\n\t\tconst fedexPrinter: number = +sessionStorage.getItem(\"fedexPrinter\");\r\n\t\tconst upsPrinter: number = +sessionStorage.getItem(\"upsPrinter\");\r\n\t\tthis.shipmentPrinterId = null;\r\n\t\tthis.httpClient.get(`api/Select/ShipmentPrinters?shipmentId=${this.shipmentId}`)\r\n\t\t\t.subscribe((items: SelectItem[]) => {\r\n\t\t\t\tthis.printerSelect.clear();\r\n\t\t\t\tthis.printerSelect.sourceItems = this.printerSelect.items = items;\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.printerSelect.items.find((o) => o.additionalData === 1) !== undefined\r\n\t\t\t\t\t&& this.printerSelect.items.find((o) => o.value === fedexPrinter) !== undefined\r\n\t\t\t\t) { this.setPrinter(fedexPrinter); } \r\n\t\t\t\telse if (\r\n\t\t\t\t\tthis.printerSelect.items.find((o) => o.additionalData === 2) !== undefined\r\n\t\t\t\t\t&& this.printerSelect.items.find((o) => o.value === upsPrinter) !== undefined\r\n\t\t\t\t) { this.setPrinter(upsPrinter); }\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsetPrinter(id: number) {\r\n\t\tif (this.printerSelect.items.find((o) => o.value === id) !== undefined) { this.printerSelect.value = id; }\r\n\t}\r\n\r\n\t// Open packing slip in new window\r\n\tgetPackingSlip() { \r\n\t\twindow.open(`/pharmacy/inventories/fulfillment/packing-slip/${this.shipmentId}`, \"_blank\"); \r\n\t}\r\n\r\n\ttestZebraApi() {\r\n\t\tthis.httpClient.get(`api/Zebra/ZebraTest`)\r\n\t\t\t.subscribe((sm: SystemMessage) => { this.ms.setSystemMessage(sm.message, sm.messageClass); }\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() { this.closeUserFromFulfillment(this.userId); }\r\n}\r\n","\r\n\r\n\r\n\t\r\n\r\n\r\n@if (isNotActive) {
This fulfillment has been deactivated. Click the checkmark to reactivate it.
}\r\n\r\n
\r\n\t
\r\n\t\t
\r\n @if (!isUser) {\r\n \r\n {{ shipmentId === 0 ? \"Create\" : \"Edit\" }} Rx {{ isFacility ? \"CI/CHD\" : \"Home\" }} Fulfillment\r\n @if (shipmentId) { | {{ shipmentId }} }\r\n \r\n } @else {\r\n \r\n {{ shipmentId === 0 ? \"Create\" : \"Edit\" }} {{ facilityName }} Refill Request\r\n @if (shipmentId) { | {{ shipmentId }} }\r\n \r\n }\r\n\t\t
\r\n\t
\r\n\r\n\t@if (\r\n\t\tcurrentStep >=2 \r\n\t\t&& isPcg\r\n\t) {\r\n\t\t\r\n\t}\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n\r\n\t
\r\n\t\t@if (canEditDeliveryType) {\r\n\t\t\t\r\n\t\t}\r\n\t\t@if (currentStep >=2) {\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\t\t@if (auditHistoryAccess) {\r\n\t\t\t\r\n\t\t}\r\n\t\t@if (!isUser) {\r\n\t\t\t@if (isNotActive) {\r\n\t\t\t\t\r\n\t\t\t} @else {\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t}\r\n\t
\r\n
\r\n
\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t@if (\r\n\t\t\tselectedStep == 0 \r\n\t\t\t|| selectedStep == undefined \r\n\t\t\t|| !selectedStep\r\n\t\t\t|| isUser\r\n\t\t) {\r\n\t\t\t\r\n\t\t}\t\t\r\n\t\r\n\r\n\t@if (!isUser) {\r\n\t\t\r\n\t\t\t\r\n\t\t\t@if (selectedStep == 1) {\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\nimport { ShipmentCommentListVm, ShipmentCommentListVmFromFg } from '../../../Inventory/Models/Shipping/ShipmentCommentListVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class ShipmentCommentVm {\r\n\tshipmentCommentId: number;\r\n\tshipmentId?: number;\r\n\tpfsFormID?: number;\r\n\tcomment?: string;\r\n\tcommentorInfo?: string;\r\n\tcommentDateTime: Date;\r\n\tstrCommentDateTime?: string;\r\n\tstrTimeAgo?: string;\r\n\tcountPfsFormIds: number;\r\n\tpfsUrl?: string;\r\n\tcurrentStep: number;\r\n\tcommentList?: ShipmentCommentListVm[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'shipmentCommentId': new UntypedFormControl(0, [...(validators['shipmentCommentId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'shipmentId': new UntypedFormControl(null, [...(validators['shipmentId'] ?? []), ...[]]),\r\n\t\t\t'pfsFormID': new UntypedFormControl(null, [...(validators['pfsFormID'] ?? []), ...[]]),\r\n\t\t\t'comment': new UntypedFormControl(null, [...(validators['comment'] ?? []), ...[Validators.required]]),\r\n\t\t\t'commentorInfo': new UntypedFormControl(null, [...(validators['commentorInfo'] ?? []), ...[]]),\r\n\t\t\t'commentDateTime': new UntypedFormControl('', [...(validators['commentDateTime'] ?? []), ...[Validators.required]]),\r\n\t\t\t'strCommentDateTime': new UntypedFormControl(null, [...(validators['strCommentDateTime'] ?? []), ...[]]),\r\n\t\t\t'strTimeAgo': new UntypedFormControl(null, [...(validators['strTimeAgo'] ?? []), ...[]]),\r\n\t\t\t'countPfsFormIds': new UntypedFormControl(0, [...(validators['countPfsFormIds'] ?? []), ...[Validators.required]]),\r\n\t\t\t'pfsUrl': new UntypedFormControl(null, [...(validators['pfsUrl'] ?? []), ...[]]),\r\n\t\t\t'currentStep': new UntypedFormControl(0, [...(validators['currentStep'] ?? []), ...[Validators.required]]),\r\n\t\t\t'commentList': new UntypedFormArray([])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['shipmentCommentId', {\"orderId\":0,\"sortColumn\":\"shipmentCommentId\",\"searchColumn\":\"shipmentCommentId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment ID\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['shipmentId', {\"orderId\":1,\"sortColumn\":\"shipmentId\",\"searchColumn\":\"shipmentId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Fulfillment ID\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['pfsFormID', {\"orderId\":2,\"sortColumn\":\"pfsFormID\",\"searchColumn\":\"pfsFormID\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"PFS Form ID\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['comment', {\"orderId\":3,\"sortColumn\":\"comment\",\"searchColumn\":\"comment\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['commentorInfo', {\"orderId\":4,\"sortColumn\":\"commentorInfo\",\"searchColumn\":\"commentorInfo\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Commenter Info\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['commentDateTime', {\"orderId\":5,\"sortColumn\":\"commentDateTime\",\"searchColumn\":\"commentDateTime\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment Date\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): ShipmentCommentVmFromFg {\r\n\t\treturn new ShipmentCommentVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class ShipmentCommentVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget shipmentCommentId(): number {\r\n\t\treturn this.fg.get('shipmentCommentId').value;\r\n\t}\r\n\tset shipmentCommentId(val) {\r\n\t\tthis.fg.get('shipmentCommentId').setValue(val);\r\n\t}\r\n\r\n\tget shipmentId(): number {\r\n\t\treturn this.fg.get('shipmentId').value;\r\n\t}\r\n\tset shipmentId(val) {\r\n\t\tthis.fg.get('shipmentId').setValue(val);\r\n\t}\r\n\r\n\tget pfsFormID(): number {\r\n\t\treturn this.fg.get('pfsFormID').value;\r\n\t}\r\n\tset pfsFormID(val) {\r\n\t\tthis.fg.get('pfsFormID').setValue(val);\r\n\t}\r\n\r\n\tget comment(): string {\r\n\t\treturn this.fg.get('comment').value;\r\n\t}\r\n\tset comment(val) {\r\n\t\tthis.fg.get('comment').setValue(val);\r\n\t}\r\n\r\n\tget commentorInfo(): string {\r\n\t\treturn this.fg.get('commentorInfo').value;\r\n\t}\r\n\tset commentorInfo(val) {\r\n\t\tthis.fg.get('commentorInfo').setValue(val);\r\n\t}\r\n\r\n\tget commentDateTime(): Date {\r\n\t\treturn this.fg.get('commentDateTime').value;\r\n\t}\r\n\tset commentDateTime(val) {\r\n\t\tthis.fg.get('commentDateTime').setValue(val);\r\n\t}\r\n\r\n\tget strCommentDateTime(): string {\r\n\t\treturn this.fg.get('strCommentDateTime').value;\r\n\t}\r\n\tset strCommentDateTime(val) {\r\n\t\tthis.fg.get('strCommentDateTime').setValue(val);\r\n\t}\r\n\r\n\tget strTimeAgo(): string {\r\n\t\treturn this.fg.get('strTimeAgo').value;\r\n\t}\r\n\tset strTimeAgo(val) {\r\n\t\tthis.fg.get('strTimeAgo').setValue(val);\r\n\t}\r\n\r\n\tget countPfsFormIds(): number {\r\n\t\treturn this.fg.get('countPfsFormIds').value;\r\n\t}\r\n\tset countPfsFormIds(val) {\r\n\t\tthis.fg.get('countPfsFormIds').setValue(val);\r\n\t}\r\n\r\n\tget pfsUrl(): string {\r\n\t\treturn this.fg.get('pfsUrl').value;\r\n\t}\r\n\tset pfsUrl(val) {\r\n\t\tthis.fg.get('pfsUrl').setValue(val);\r\n\t}\r\n\r\n\tget currentStep(): number {\r\n\t\treturn this.fg.get('currentStep').value;\r\n\t}\r\n\tset currentStep(val) {\r\n\t\tthis.fg.get('currentStep').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class GenericCommentVm {\r\n\tid: number;\r\n\tparentId: number;\r\n\tcommentorInfo?: string;\r\n\tcommentDate: Date;\r\n\tcommentDateStr?: string;\r\n\tcommentText?: string;\r\n\tcommentUserId?: number;\r\n\tisEdit: boolean;\r\n\tisDelete: boolean;\r\n\tshowEditDelete: boolean;\r\n\tshowCommentDate: boolean;\r\n\tfriendlyId?: string;\r\n\thasSeen: boolean;\r\n\tpfsFormID?: number;\r\n\tpfsUrl?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'parentId': new UntypedFormControl(0, [...(validators['parentId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'commentorInfo': new UntypedFormControl(null, [...(validators['commentorInfo'] ?? []), ...[Validators.maxLength(500)]]),\r\n\t\t\t'commentDate': new UntypedFormControl('', [...(validators['commentDate'] ?? []), ...[Validators.required]]),\r\n\t\t\t'commentDateStr': new UntypedFormControl(null, [...(validators['commentDateStr'] ?? []), ...[]]),\r\n\t\t\t'commentText': new UntypedFormControl(null, [...(validators['commentText'] ?? []), ...[Validators.maxLength(3000)]]),\r\n\t\t\t'commentUserId': new UntypedFormControl(null, [...(validators['commentUserId'] ?? []), ...[]]),\r\n\t\t\t'isEdit': new UntypedFormControl(false, [...(validators['isEdit'] ?? []), ...[]]),\r\n\t\t\t'isDelete': new UntypedFormControl(false, [...(validators['isDelete'] ?? []), ...[]]),\r\n\t\t\t'showEditDelete': new UntypedFormControl(false, [...(validators['showEditDelete'] ?? []), ...[]]),\r\n\t\t\t'showCommentDate': new UntypedFormControl(false, [...(validators['showCommentDate'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'hasSeen': new UntypedFormControl(false, [...(validators['hasSeen'] ?? []), ...[]]),\r\n\t\t\t'pfsFormID': new UntypedFormControl(null, [...(validators['pfsFormID'] ?? []), ...[]]),\r\n\t\t\t'pfsUrl': new UntypedFormControl(null, [...(validators['pfsUrl'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): GenericCommentVmFromFg {\r\n\t\treturn new GenericCommentVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class GenericCommentVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget parentId(): number {\r\n\t\treturn this.fg.get('parentId').value;\r\n\t}\r\n\tset parentId(val) {\r\n\t\tthis.fg.get('parentId').setValue(val);\r\n\t}\r\n\r\n\tget commentorInfo(): string {\r\n\t\treturn this.fg.get('commentorInfo').value;\r\n\t}\r\n\tset commentorInfo(val) {\r\n\t\tthis.fg.get('commentorInfo').setValue(val);\r\n\t}\r\n\r\n\tget commentDate(): Date {\r\n\t\treturn this.fg.get('commentDate').value;\r\n\t}\r\n\tset commentDate(val) {\r\n\t\tthis.fg.get('commentDate').setValue(val);\r\n\t}\r\n\r\n\tget commentDateStr(): string {\r\n\t\treturn this.fg.get('commentDateStr').value;\r\n\t}\r\n\tset commentDateStr(val) {\r\n\t\tthis.fg.get('commentDateStr').setValue(val);\r\n\t}\r\n\r\n\tget commentText(): string {\r\n\t\treturn this.fg.get('commentText').value;\r\n\t}\r\n\tset commentText(val) {\r\n\t\tthis.fg.get('commentText').setValue(val);\r\n\t}\r\n\r\n\tget commentUserId(): number {\r\n\t\treturn this.fg.get('commentUserId').value;\r\n\t}\r\n\tset commentUserId(val) {\r\n\t\tthis.fg.get('commentUserId').setValue(val);\r\n\t}\r\n\r\n\tget isEdit(): boolean {\r\n\t\treturn this.fg.get('isEdit').value;\r\n\t}\r\n\tset isEdit(val) {\r\n\t\tthis.fg.get('isEdit').setValue(val);\r\n\t}\r\n\r\n\tget isDelete(): boolean {\r\n\t\treturn this.fg.get('isDelete').value;\r\n\t}\r\n\tset isDelete(val) {\r\n\t\tthis.fg.get('isDelete').setValue(val);\r\n\t}\r\n\r\n\tget showEditDelete(): boolean {\r\n\t\treturn this.fg.get('showEditDelete').value;\r\n\t}\r\n\tset showEditDelete(val) {\r\n\t\tthis.fg.get('showEditDelete').setValue(val);\r\n\t}\r\n\r\n\tget showCommentDate(): boolean {\r\n\t\treturn this.fg.get('showCommentDate').value;\r\n\t}\r\n\tset showCommentDate(val) {\r\n\t\tthis.fg.get('showCommentDate').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget hasSeen(): boolean {\r\n\t\treturn this.fg.get('hasSeen').value;\r\n\t}\r\n\tset hasSeen(val) {\r\n\t\tthis.fg.get('hasSeen').setValue(val);\r\n\t}\r\n\r\n\tget pfsFormID(): number {\r\n\t\treturn this.fg.get('pfsFormID').value;\r\n\t}\r\n\tset pfsFormID(val) {\r\n\t\tthis.fg.get('pfsFormID').setValue(val);\r\n\t}\r\n\r\n\tget pfsUrl(): string {\r\n\t\treturn this.fg.get('pfsUrl').value;\r\n\t}\r\n\tset pfsUrl(val) {\r\n\t\tthis.fg.get('pfsUrl').setValue(val);\r\n\t}\r\n}\r\n","export const pcgSettingsDevelopment = {\"mode\":\"Development\",\"datadogApiKey\":\"add6d20276e6770a600d77344f5f9ad5\",\"datadogClientToken\":\"pub77451973018f724e8a9f58aa8d77985d\"};\r\n","export const pcgSettingsDemo = {\"mode\":\"Demo\",\"datadogApiKey\":\"add6d20276e6770a600d77344f5f9ad5\",\"datadogClientToken\":\"pub77451973018f724e8a9f58aa8d77985d\"};\r\n","export const pcgSettingsProduction = {\"mode\":\"Production\",\"datadogApiKey\":\"add6d20276e6770a600d77344f5f9ad5\",\"datadogClientToken\":\"pub77451973018f724e8a9f58aa8d77985d\"};\r\n","import { pcgSettingsDevelopment } from './pcg-settings-Development';\r\nimport { pcgSettingsDemo } from './pcg-settings-Demo';\r\nimport { pcgSettingsProduction } from './pcg-settings-Production';\r\n\r\nexport const pcgSettings = (document.getElementById('systemMode')?.textContent === 'Development') ? pcgSettingsDevelopment :\r\n\t(document.getElementById('systemMode')?.textContent === 'Demo' || document.getElementById('systemMode')?.textContent === 'Beta') ? pcgSettingsDemo :\r\n\t(document.getElementById('systemMode')?.textContent === 'Production') ? pcgSettingsProduction :\r\n\tpcgSettingsDevelopment;\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { computed, EventEmitter, inject, Injectable, OnDestroy, signal } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ConversationsService } from 'app/shared/conversations/conversations.service';\r\nimport { ChatHandlingDataVm } from 'app/shared/generated/Models/Notifications/ChatHandlingDataVm';\r\nimport { SseNotificationDataVm } from 'app/shared/generated/Models/Notifications/SseNotificationDataVm';\r\nimport { SecurityService } from '../security/security.service';\r\nimport { pcgSettings } from 'app/shared/generated/pcg-settings';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SseNotificationService implements OnDestroy {\r\n sec = inject(SecurityService);\r\n http = inject(HttpClient);\r\n router = inject(Router);\r\n settings = pcgSettings;\r\n conversationsService = inject(ConversationsService);\r\n notificationSource: EventSource;\r\n heartbeatTimeout: any;\r\n // How often heartbeat messages come in, set in SSEService.cs\r\n HEARTBEAT_INTERVAL = 30;\r\n // Delay between check (INTVERVAL + OFFSET = timeout)\r\n HEARTBEAT_OFFSET = 15;\r\n MAX_RETRY = 3;\r\n attempts = 0;\r\n SEC_TO_MS = 1000;\r\n notificationReceived = new EventEmitter();\r\n persistentNotificationReceived = new EventEmitter();\r\n chatReceived = new EventEmitter();\r\n chatSignal = signal(null);\r\n chatSignal$ = computed(() => this.chatSignal());\r\n silentParam = new HttpParams().set('silent', true);\r\n\r\n ngOnDestroy () {\r\n clearTimeout(this.heartbeatTimeout);\r\n }\r\n\r\n initializeSSE() {\r\n let userId = this.sec.getUser()?.id;\r\n if (!userId) return;\r\n if (!this.notificationSource || this.notificationSource.readyState === EventSource.CLOSED) {\r\n this.notificationSource = new EventSource(`/api/sse-notif/${userId}?silent=true`, {\r\n withCredentials: true // This ensures cookies are sent with the request\r\n });\r\n this.setupEventListeners();\r\n } \r\n\r\n this.http.get('api/online/list', { params: this.silentParam }).subscribe(\r\n (r: number[]) => { this.sec.onlineUsers.set(r); }\r\n );\r\n }\r\n\r\n destroySSE() {\r\n let userId = this.sec.getUser()?.id;\r\n if (userId && this.notificationSource){ \r\n \r\n this.notificationSource.close(); \r\n if(this.sec.getUser()) this.http.post(`/api/sse-notif/remove/${userId}`, null, { params: this.silentParam }).subscribe();\r\n } \r\n }\r\n\r\n private setupEventListeners() {\r\n this.notificationSource.removeAllListeners();\r\n this.startHeartbeatTimer();\r\n this.notificationSource.onopen = () => {\r\n console.log('SSE notification connection opened'); \r\n };\r\n\r\n this.notificationSource.addEventListener('persistantNotification', (event: MessageEvent) => {\r\n try {\r\n this.persistentNotificationReceived.emit();\r\n } catch {\r\n console.error('Invalid data received on notification', event.data);\r\n }\r\n });\r\n\r\n this.notificationSource.addEventListener('notification', (event: MessageEvent) => {\r\n try {\r\n const data: SseNotificationDataVm = JSON.parse(event.data);\r\n // If the chat is a new comment and the user is not on the chat page, emit the notification\r\n if (!data.url?.includes(this.router.url) ) { this.notificationReceived.emit(data); }\r\n } catch {\r\n console.error('Invalid data received on notification', event.data);\r\n }\r\n });\r\n \r\n this.notificationSource.addEventListener('chat', (event: MessageEvent) => {\r\n const data: SseNotificationDataVm = JSON.parse(event.data);\r\n this.chatSignal.set(data.chatData);\r\n if (data.chatData?.count && data.chatData?.chatType && data.chatData?.parentId) {\r\n this.conversationsService.updateCommentCount(data.chatData.count, data.chatData.chatType, data.chatData.parentId);\r\n }\r\n this.chatReceived.emit(data.chatData);\r\n });\r\n\r\n this.notificationSource.addEventListener('onlineStatus', (event: MessageEvent) => {\r\n try {\r\n const data = JSON.parse(event.data);\r\n data.isOnline ? \r\n !this.sec.onlineUsers().includes(data.userId) ? \r\n this.sec.onlineUsers.update(o => [...o, data.userId]) : \r\n null :\r\n this.sec.onlineUsers.update(o => o.filter(userId => userId !== data.userId));\r\n } catch {\r\n console.error('Invalid data received on onlineStatus', event.data);\r\n }\r\n });\r\n\r\n this.notificationSource.addEventListener('heartbeat', () => {\r\n this.attempts = 0;\r\n this.startHeartbeatTimer();\r\n });\r\n\r\n this.notificationSource.onerror = (error) => {\r\n console.error('EventSource failed:', error);\r\n this.destroySSE();\r\n };\r\n }\r\n\r\n // If a heartbeat doesn't come in in the expected interval time, reconnect SSE\r\n startHeartbeatTimer() {\r\n if (this.settings.mode.toLowerCase() == \"development\") return;\r\n if (this.attempts >= this.MAX_RETRY) return;\r\n if(this.heartbeatTimeout) clearTimeout(this.heartbeatTimeout);\r\n this.heartbeatTimeout = setTimeout(() => {\r\n this.destroySSE();\r\n this.initializeSSE();\r\n this.attempts++;\r\n }, (this.HEARTBEAT_INTERVAL + this.HEARTBEAT_OFFSET) * this.SEC_TO_MS)\r\n }\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum SseChatActionEnum {\r\n\tSend = 0,\r\n\tEdit = 1,\r\n\tDelete = 2,\r\n\tReadReceipt = 3\r\n}\r\n\r\nexport namespace SseChatActionEnum {\r\n\texport function toDescription(val: SseChatActionEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"Send\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Edit\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Delete\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Read Receipt\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: SseChatActionEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"Send\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Edit\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Delete\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Read Receipt\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild, computed, effect, inject, signal } from '@angular/core';\r\nimport { faMessages, faComments, faPen, faTrash, faSave, faCancel, faXmark, faPaperPlaneTop, faMessagePlus, faEye } from '@fortawesome/pro-solid-svg-icons';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { GlobalService } from 'app/shared/services/global.service';\r\nimport { UserJsVm } from '../generated/Administration/Models/Users/UserJsVm';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { GenericCommentVm } from '../generated/Models/GenericCommentVm';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SseNotificationService } from 'app/core/sse-notification/sse-notification.service';\r\nimport { ChatHandlingDataVm } from '../generated/Models/Notifications/ChatHandlingDataVm';\r\nimport { SseChatActionEnum } from 'app/core/enums/generated/SseChatActionEnum';\r\nimport { ChatTypeEnum } from 'app/core/enums/generated/ChatTypeEnum';\r\nimport { ConversationsService } from './conversations.service';\r\n\r\n@Component({\r\n selector: 'pcg-conversations',\r\n templateUrl: './conversations.component.html',\r\n styleUrls: ['./conversations.component.scss'],\r\n standalone: false\r\n})\r\nexport class ConversationsComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() parentId: number;\r\n @Input() getUrl = \"\";\r\n @Input() saveUrl = \"\";\r\n @Input() deleteUrl = \"\";\r\n @Input() readUrl = \"\";\r\n @Input() isShowingConvo = true;\r\n @Input() header = \"Conversation\";\r\n @Input() useTemplateResponses = false;\r\n @Input() templateResponseApi = \"\";\r\n @Input() isAssignee = false;\r\n @Input() usesSidenav = false;\r\n @Input() showCommenterInfo = false;\r\n @Input() isHeros = false;\r\n @Input() herosId = null;\r\n @Input() herosPrimary: boolean = null;\r\n @Input() herosSecondary: boolean = null;\r\n @Input() herosTertiary: boolean = null;\r\n @Input() fromFulfillment: boolean = false;\r\n @Input() pfsFormId: number;\r\n @Input() statusClosed: boolean = false;\r\n @Input() chatType: ChatTypeEnum = null;\r\n\r\n @Output() closeConvo = new EventEmitter();\r\n @Output() successDataReturn = new EventEmitter();\r\n @Output() deleteReturn = new EventEmitter();\r\n\r\n subscriptions: Subscription[] = [];\r\n user: UserJsVm;\r\n commentList = signal([]);\r\n commentListCount = computed(() => this.commentList().length);\r\n templateItems: SelectItem[] = [];\r\n\r\n newestReadReceipt: number = null;\r\n newestMessage: ElementRef;\r\n confirmDeleteBox: ElementRef;\r\n editCommentBox: ElementRef;\r\n \r\n isCommentError = false;\r\n isMobile = false;\r\n\r\n commentErrorString = \"\";\r\n newCommentText = \"\";\r\n editCommentText = \"\";\r\n newTemplateId = \"\";\r\n isSysAdmin: boolean;\r\n \r\n faIconName = { \r\n faMessages\r\n , faComments\r\n , faPen\r\n , faTrash\r\n , faSave\r\n , faCancel\r\n , faXmark\r\n , faPaperPlaneTop\r\n , faMessagePlus\r\n , faEye \r\n };\r\n\r\n xDown = null;\r\n\tyDown = null;\r\n\r\n sseService = inject(SseNotificationService);\r\n\r\n constructor(\r\n private sec: SecurityService\r\n , private httpClient: HttpClient\r\n , public sm: SystemMessageService\r\n , public router: Router\r\n , private conversationsService: ConversationsService\r\n ) { \r\n effect(() => {\r\n const commentCount = this.commentListCount();\r\n this.conversationsService.updateCommentCount(\r\n commentCount,\r\n this.chatType,\r\n this.parentId\r\n );\r\n });\r\n }\r\n\r\n @HostListener('window:resize')\r\n\tonResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n ngOnInit() {\r\n this.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n this.isShowingConvo = !this.isMobile;\r\n this.user = this.sec.getUser();\r\n this.isSysAdmin = this.sec.hasModuleAccess(\r\n [ BusinessAreaEnum.HelpDesk ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n );\r\n\r\n this.getComments();\r\n\r\n if (!this.isSysAdmin) { !this.useTemplateResponses; }\r\n if (this.useTemplateResponses && this.templateResponseApi !== \"\" ) { this.getTemplateItems(); }\r\n\r\n //event listeners for swiping away side nav in mobile\r\n\t\tdocument.addEventListener('touchstart', (evt) => this.handleTouchStart(evt), false); \r\n\t\tdocument.addEventListener('touchmove', (evt) => this.handleTouchMove(evt), false);\r\n\r\n this.handleSSEListeners();\r\n }\r\n\r\n handleSSEListeners(){\r\n this.subscriptions.push(\r\n this.sseService.chatReceived.subscribe((data: ChatHandlingDataVm) => {\r\n //Only enter if the chat is for this conversation\r\n if (this.parentId === data.parentId) {\r\n //If the chat is a new comment, add it to the commentList() \r\n if (data.action === SseChatActionEnum.Send){\r\n this.updateListForSend(data.comment)\r\n //After adding the comment, mark it as seen\r\n this.httpClient.post(`${this.readUrl}`, data.comment.id).subscribe();\r\n this.autoScroll(\"newestMessage\");\r\n } \r\n //If the chat is a delete, remove it from the list\r\n if (data.action === SseChatActionEnum.Delete) {\r\n this.updateListForDelete(data.comment.id);\r\n }\r\n //If the chat is an edit, update the comment in the list\r\n if (data.action === SseChatActionEnum.Edit) {\r\n this.updateListForEdit(data.comment);\r\n }\r\n //If the chat is a read receipt, update the comment in the list\r\n if (data.action === SseChatActionEnum.ReadReceipt) {\r\n this.updateListForreceipt();\r\n //Set the newest read receipt to the message we just received\r\n this.newestReadReceipt = data.comment.id;\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateListForSend(data: GenericCommentVm){this.commentList.update(comments => [...comments, data]);}\r\n\r\n updateListForDelete(commentId: number){this.commentList.update(comments => comments.filter(comment => comment.id !== commentId));}\r\n \r\n updateListForEdit(data: GenericCommentVm){\r\n this.commentList.update(comments => {\r\n const index = comments.findIndex(comment => comment.id === data.id);\r\n if (index !== -1) {\r\n comments[index] = data;\r\n }\r\n return comments;\r\n });\r\n }\r\n\r\n updateListForreceipt(){\r\n this.commentList.update(comments => {\r\n return comments.map(comment => {\r\n if (comment.commentUserId === this.user.id && !comment.hasSeen) {\r\n comment.hasSeen = true;\r\n }\r\n return comment;\r\n });\r\n });\r\n }\r\n\r\n getComments() {\r\n this.httpClient.get(`${this.getUrl}?id=${this.parentId}`)\r\n .subscribe((list: GenericCommentVm[]) => { \r\n this.commentList.set(list); \r\n this.updateReadReceipt();\r\n this.autoScroll('newestMessage');\r\n }); \r\n }\r\n\r\n updateReadReceipt(){\r\n const myComments = this.commentList().filter(comment => comment.commentUserId === this.user.id && comment.hasSeen);\r\n if (myComments.length > 0) {\r\n const newestComment = myComments[myComments.length - 1];\r\n this.newestReadReceipt = newestComment.id;\r\n }\r\n else{ this.newestReadReceipt = null; }\r\n }\r\n\r\n ngAfterViewInit() { this.autoScroll('newestMessage'); }\r\n\r\n autoScroll(id: string) {\r\n setTimeout(() => {\r\n const elem = document.getElementById(id);\r\n if (elem) {\r\n this.newestMessage = new ElementRef(elem);\r\n this.newestMessage.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n }\r\n }, 100);\r\n }\r\n\r\n autoFocusTextArea(){\r\n setTimeout(() => {\r\n const elem = document.getElementById('editCommentBox') as HTMLTextAreaElement;\r\n if (elem) {\r\n elem.focus();\r\n }\r\n }, 100); // Delay to ensure the element is rendered\r\n }\r\n \r\n getTemplateItems() {\r\n this.subscriptions.push(this.httpClient.get(`${this.templateResponseApi}`)\r\n .subscribe((items: SelectItem[]) => { this.templateItems = items; }));\r\n }\r\n\r\n templateChange(value) {\r\n if (value !== \"\") { \r\n var findItem = this.templateItems.find(o => o.value.toString() === value);\r\n this.newCommentText = findItem?.additionalData?.responseMessage; \r\n }\r\n }\r\n\r\n openTemplateDropdown() {\r\n var event = new MouseEvent('mousedown');\r\n document.getElementById(\"template-select\").dispatchEvent(event);\r\n }\r\n\r\n saveNewComment() {\r\n this.isCommentError = false;\r\n this.commentErrorString = \"\";\r\n\r\n if (this.newCommentText === \"\") {\r\n this.isCommentError = true;\r\n this.commentErrorString = \"Message is required\";\r\n return;\r\n }\r\n\r\n let form = new GenericCommentVm();\r\n form.parentId = this.parentId;\r\n form.commentText = this.insertLinkTags(this.newCommentText);\r\n if (this.pfsFormId != null) { form.pfsFormID = this.pfsFormId };\r\n if (!this.isHeros) {\r\n this.httpClient.post(`${this.saveUrl}`, form)\r\n .subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) {\r\n this.updateListForSend(sm.model);\r\n this.newCommentText = \"\";\r\n this.newTemplateId = \"\";\r\n this.autoScroll('newestMessage');\r\n this.successDataReturn.emit(sm.value);\r\n } else {\r\n this.isCommentError = true;\r\n this.commentErrorString = sm.message;\r\n } \r\n }\r\n );\r\n } else {\r\n const url = `${this.saveUrl}?id=${this.herosId}` +\r\n `&message=${encodeURIComponent(form.commentText)}` +\r\n `&orderPlaced=${null}` +\r\n `&commentId=${null}` +\r\n `&primary=${this.herosPrimary}` +\r\n `&secondary=${this.herosSecondary}` +\r\n `&tertiary=${this.herosTertiary}`;\r\n this.httpClient.get(url).subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) {\r\n this.updateListForSend(sm.model);\r\n this.newCommentText = \"\";\r\n this.newTemplateId = \"\";\r\n this.autoScroll('newestMessage');\r\n this.successDataReturn.emit(sm.value);\r\n } else {\r\n this.isCommentError = true;\r\n this.commentErrorString = sm.message;\r\n } \r\n });\r\n }\r\n }\r\n\r\n deleteComment(row: GenericCommentVm) { \r\n row.isDelete = true;\r\n this.autoScroll(\"confirmDeleteBox\");\r\n }\r\n\r\n noDeleteClick(row: GenericCommentVm) { \r\n row.isDelete = false;\r\n }\r\n\r\n yesDeleteClick(row: GenericCommentVm) {\r\n this.isCommentError = false;\r\n this.commentErrorString = \"\";\r\n\r\n this.sm.getHttpObservable(this, `${this.deleteUrl}?id=${row.id}`)\r\n .subscribe((sm: SystemMessage) => {\r\n if (sm.isSuccessful) {\r\n this.updateListForDelete(sm.model);\r\n this.deleteReturn.emit(sm);\r\n if(row.id == this.newestReadReceipt){ this.updateReadReceipt(); }\r\n } else { \r\n this.isCommentError = true;\r\n this.commentErrorString = sm.message;\r\n }\r\n }\r\n );\r\n }\r\n\r\n editComment(row: GenericCommentVm) {\r\n row.isEdit = true; \r\n this.editCommentText = row.commentText;\r\n this.autoScroll('editCommentBox');\r\n this.autoFocusTextArea();\r\n }\r\n\r\n cancelEditComment(row: GenericCommentVm) {\r\n row.isEdit = false; \r\n row.commentText = this.editCommentText;\r\n this.editCommentText = \"\";\r\n }\r\n\r\n saveEditComment(row: GenericCommentVm) {\r\n this.isCommentError = false;\r\n this.commentErrorString = \"\";\r\n\r\n if (!this.isHeros) {\r\n this.httpClient.post(`${this.saveUrl}`, row)\r\n .subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) {\r\n this.updateListForEdit(sm.model);\r\n this.newCommentText = \"\";\r\n this.successDataReturn.emit(sm.value);\r\n } else {\r\n this.isCommentError = true;\r\n this.commentErrorString = sm.message;\r\n } \r\n }\r\n );\r\n } else {\r\n const url = `${this.saveUrl}?id=${this.herosId}\r\n &message=${row.commentText}\r\n &orderPlaced=${null}\r\n &commentId=${row.id}\r\n &primary=${this.herosPrimary}\r\n &seconday=${this.herosSecondary}\r\n &tertiary=${this.herosTertiary}`;\r\n\r\n this.httpClient.post(url, row).subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) {\r\n this.updateListForEdit(sm.model);\r\n this.newCommentText = \"\";\r\n this.successDataReturn.emit(sm.value); \r\n } else {\r\n this.isCommentError = true;\r\n this.commentErrorString = sm.message;\r\n } \r\n });\r\n }\r\n }\r\n\r\n toggleConversationsMenu() {\r\n this.isShowingConvo = !this.isShowingConvo;\r\n if (!this.isShowingConvo) { this.closeConvo.emit(false); }\r\n }\r\n\r\n handleTouchStart(evt) {\r\n\t\tif (\r\n window.innerWidth < 993 \r\n && this.isShowingConvo === true\r\n ) {\r\n\t\t\tlet firstTouch = evt.touches || evt.originalEvent.touches; \r\n\t\t\tthis.xDown = firstTouch[0].clientX; \r\n\t\t\tthis.yDown = firstTouch[0].clientY; \r\n\t\t}\t\t\t \r\n\t}; \r\n\r\n handleTouchMove(evt) {\r\n\t\tif (\r\n this.isMobile \r\n && this.isShowingConvo === true\r\n ) {\r\n\t\t\tif ( !this.xDown || !this.yDown ) { return; }\r\n \r\n\t\t\tlet xUp = evt.touches[0].clientX; \r\n\t\t\tlet yUp = evt.touches[0].clientY;\r\n\t\t\tlet xDiff = this.xDown - xUp;\r\n\t\t\tlet yDiff = this.yDown - yUp;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\tif ( Math.abs(xDiff) > Math.abs(yDiff) ) {/*most significant*/\r\n\t\t\t\tif (xDiff > 8) { /* right swipe */ } \r\n else { \r\n /* left swipe */ \r\n this.isShowingConvo = false;\r\n\t\t\t\t\tthis.closeConvo.emit(false);\r\n } \r\n\t\t\t} else {\r\n\t\t\t\tif (yDiff > 8) { /* down swipe */ } \r\n\t\t\t\telse { /* up swipe */ } \r\n\t\t\t}\r\n\t\t\t/* reset values */\r\n\t\t\tthis.xDown = null;\r\n\t\t\tthis.yDown = null; \r\n\t\t}\r\n\t}\r\n\r\n insertLinkTags(txt: string) {\r\n let stringWithLinkTag = \"\";\r\n if (txt.includes(\"https://\")) { \r\n var words = txt.split(\" \")\r\n for (var i = 0; i < words.length; i++) {\r\n if (words[i].includes(\"https://\")) {\r\n words[i] = `${words[i]}`;\r\n }\r\n }\r\n stringWithLinkTag = words.join(\" \");\r\n } else { stringWithLinkTag = txt; }\r\n return stringWithLinkTag;\r\n }\r\n\r\n ngOnDestroy() { this.subscriptions.forEach(sub => sub.unsubscribe()); }\r\n}\r\n","\r\n
\r\n @if (usesSidenav) {\r\n
\r\n
\r\n \r\n
{{ header }}
\r\n
\r\n \r\n
\r\n }\r\n\r\n
\r\n @if (isCommentError) {\r\n
\r\n
\r\n {{ commentErrorString }}\r\n
\r\n
\r\n }\r\n \r\n
\r\n @if (row?.commentUserId !== user.id) {\r\n
\r\n @if (\r\n commentList()[i + 1]?.commentUserId !== row?.commentUserId\r\n || row.showCommentDate === true\r\n ) {\r\n

\r\n @if (\r\n isSysAdmin \r\n || isAssignee \r\n || showCommenterInfo\r\n ) { {{ row?.commentorInfo }} | }\r\n \r\n {{ row?.commentDateStr }}\r\n\r\n @if (\r\n fromFulfillment \r\n && row.pfsFormID !== null \r\n && row.pfsFormID !== 0\r\n ) {\r\n \r\n  | \r\n {{ row.pfsFormID }}\r\n \r\n }\r\n

\r\n }\r\n \r\n @if (!row?.isEdit) {\r\n

\r\n }\r\n
\r\n } \r\n\r\n @if (row?.commentUserId === user.id) {\r\n
\r\n @if (\r\n commentList()[i + 1]?.commentUserId !== row?.commentUserId\r\n || row.showCommentDate === true\r\n ) {\r\n

\r\n Me | {{ row?.commentDateStr }}\r\n @if (\r\n fromFulfillment \r\n && row.pfsFormID !== null \r\n && row.pfsFormID !== 0\r\n ) {\r\n \r\n  | \r\n {{ row.pfsFormID }}\r\n \r\n } \r\n

\r\n }\r\n \r\n @if (!row?.isEdit) {\r\n

\r\n }\r\n
\r\n } \r\n\r\n @if (row?.isEdit) {\r\n \r\n }\r\n\r\n @if (row?.commentUserId === user.id) {\r\n
\r\n @if (\r\n row.showEditDelete\r\n && !row?.isEdit \r\n && !row?.isDelete\r\n && !statusClosed\r\n ) {\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n @if (row.id == newestReadReceipt) {\r\n
\r\n \r\n

\r\n \r\n Seen\r\n

\r\n
\r\n
\r\n }\r\n \r\n @if (\r\n !row?.isEdit \r\n && row?.isDelete\r\n ) {\r\n
\r\n
\r\n Are you sure you want to delete this comment?\r\n
\r\n \r\n   \r\n \r\n
\r\n
\r\n }\r\n \r\n @if (row?.isEdit) {\r\n \r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n @if (\r\n useTemplateResponses \r\n && templateResponseApi !== ''\r\n ) {\r\n
\r\n \r\n
\r\n } \r\n
\r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { EditRxFulfillmentComponent } from 'app/inventory/rx-fulfillment/edit-rx-fulfillment/edit-rx-fulfillment.component'\r\nimport { SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { ShipmentCommentVm } from 'app/shared/generated/Inventory/Models/Shipping/ShipmentCommentVm';\r\nimport { ChatTypeEnum } from 'app/core/enums/generated/ChatTypeEnum';\r\n\r\n@Component({\r\n selector: 'pcg-shipment-comments-modal',\r\n templateUrl: './comments-modal.component.html',\r\n styleUrls: ['./comments-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class RxCommentsModalComponent implements OnInit {\r\n\r\n\t@ViewChild('pfsFormSelect', {static: false}) pfsFormSelect: PcgSelectComponent;\r\n\t@ViewChild(EditRxFulfillmentComponent, {static: true}) editRxFulfillment: EditRxFulfillmentComponent;\r\n\r\n\t@Input() shipmentId: number;\r\n\t@Input() modal: any;\r\n\t@Input() isUser: boolean = false;\r\n\r\n\tinventoryId: number;\r\n\tuser: UserJsVm;\r\n\tformGroup = ShipmentCommentVm.Form;\r\n\tcountPfs: number;\r\n\tpfsFormIdLink: string;\r\n\tformId: string;\r\n chatType = ChatTypeEnum.ShipmentComments;\r\n\r\n\tconstructor(\r\n\t\tprivate sec: SecurityService\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.sec.user$.subscribe(user => { this.user = user; });\r\n\t\tthis.inventoryId = Number(this.route.snapshot.params.inventoryId);\r\n\t\tthis.getPfsForm();\r\n\t}\r\n\r\n\tgetPfsForm() {\r\n\t\tthis.httpClient.get(\r\n\t\t\t`api/Inventory/${this.isUser ? 'RxFulfillmentUser' : 'Shipping'}/GetPfsForm?id=${this.shipmentId}`\r\n\t\t).subscribe((msg: SystemMessage) => {\r\n\t\t\tif (msg.model.pfsFormId != null) {\r\n\t\t\t\tthis.formGroup.controls.pfsFormID.setValue(msg.model.pfsFormId);\r\n\t\t\t\tthis.pfsFormIdLink = msg.model.pfsUrl;\r\n\t\t\t\tthis.formId = msg.model.pfsFormId;\r\n\t\t\t}\r\n\t\t\tthis.countPfs = msg.model.countPfsFormIds;\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
Fulfillment Comments
\r\n\t\t\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\r\n\t\t@if (countPfs > 0) {\r\n\t\t\t
\r\n\t\t\t\t
PFS Form
\r\n\t\t\t\t@if (countPfs === 1) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{{ formId }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t} @else if (countPfs > 1) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t

\r\n\t\t\t
\r\n\t\t}\r\n\r\n\t\t\r\n\t
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { faFilePrescription, faRandom, faStepForward, faUser, faRefresh} from '@fortawesome/pro-solid-svg-icons';\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\n\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-patient-phi-card',\r\n templateUrl: './patient-phi-card.component.html',\r\n styleUrls: ['./patient-phi-card.component.scss'],\r\n standalone: false\r\n})\r\nexport class PatientPhiCardComponent implements OnInit {\r\n\r\n\tconstructor(public http: HttpClient) { }\r\n\r\n\t@Input() patientData: any;\r\n\t@Input() isFacility: boolean;\r\n\t@Input() addressValidationError: string;\r\n\t@Input() facilityCodeValidationError: string;\r\n\t@Input() shipmentId: number;\r\n\t@Output() refreshQs1 = new EventEmitter();\r\n\t\r\n\tgoogleAddress : string = '';\r\n\tfaUser = faUser;\r\n\tfaTransfer = faRandom;\r\n\tfaEOS = faStepForward;\r\n\tfaEarlyRx = faFilePrescription;\r\n\tfaRefresh = faRefresh;\r\n\r\n\tngOnInit() { \r\n\t\tlet encodedAddress = encodeURIComponent(\r\n\t\t\t`${this.patientData?.address}, ${this.patientData?.address2}, ${this.patientData?.city}, ${this.patientData?.state}, ${this.patientData?.zip},`\r\n\t\t);\r\n\t\tthis.googleAddress = `https://google.com/maps/place/${encodedAddress}`;\t\t\r\n\t}\r\n\r\n\tgetLastFillDateColor() {\r\n\t\tif (this.patientData?.lastFillDateColor === 'yellow') { this.patientData.lastFillDateColor = 'red'; }\r\n\t\treturn this.patientData?.lastFillDateColor;\r\n\t}\r\n\r\n\tupdateQs1Address() {\r\n\t\tthis.http.get(`api/Inventory/QS1/UpdateRxAddressData?rxNumber=${this.patientData.rxNumber}&shipmentId=${this.patientData.shipmentId == null ? this.shipmentId : this.patientData.shipmentId}`)\r\n\t\t\t.subscribe((vm: PatientDataVm) => {\r\n\t\t\t\tif (vm != this.patientData) {\r\n\t\t\t\t\tthis.patientData.address = vm.address;\r\n\t\t\t\t\tthis.patientData.address2 = vm.address2;\r\n\t\t\t\t\tthis.patientData.city = vm.city;\r\n\t\t\t\t\tthis.patientData.state = vm.state;\r\n\t\t\t\t\tthis.patientData.zip = vm.zip;\r\n\t\t\t\t\tif(!FormatHelperService.GetIsNullyOrWhitespace(vm.address)) {\r\n\t\t\t\t\t\tthis.addressValidationError = null;\r\n\t\t\t\t\t\tthis.refreshQs1.emit();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t{{ patientData?.firstName + \" \" + (patientData?.middleInitial ? patientData?.middleInitial + \" \" : \"\") + patientData?.lastName }}\r\n\t
\r\n\t
DOB: {{ patientData?.dateOfBirth }}
\r\n\r\n\t
\r\n\t\t\r\n\t\t\t{{ patientData?.facility + (patientData?.facilityCode ? (\" : \" + patientData?.facilityCode) : \"\") }}\r\n\t\t\t@if (facilityCodeValidationError != null) {

{{ facilityCodeValidationError }}

}\r\n\t\t\t@else {
}\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t{{ patientData?.address + \" \" + patientData?.address2 }}\r\n\t\t\t
\r\n\t\t\t{{ patientData?.city + (patientData?.state ? \", \" + patientData?.state : \"\") + \" \" + patientData?.zip }}\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t@if (addressValidationError != null) { \r\n\t\t\t

{{ addressValidationError }}

\r\n\t\t\t

\r\n\t\t\t\tSuggested Address\r\n\t\t\t

\r\n\t\t}\t\t\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\tLast Fill Date: \r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t
\r\n\t\t\tNext Fill Date: {{ patientData?.nextFillDate }}\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t
\r\n\t\t\tQS1 Status: {{ patientData?.qs1Status }}\r\n\t\t
\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t Refresh from QS1\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t
\r\n\t\t\tPFS Form: \r\n\t\t\t{{ patientData?.pfsRequestType }}\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t = EOS
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t = Early Refill
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t = Patient Facility Transfer
\r\n\t\t\t
\r\n\r\n\t\t\tPFS Flags: \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class ShipmentListVm {\r\n\tshipmentId: number;\r\n\tcreatedById?: number;\r\n\tcreatedBy?: string;\r\n\tshipmentServiceTypeID?: any;\r\n\tshipmentTypeStr?: string;\r\n\tmasterTrackingNumber?: string;\r\n\tweightPounds?: number;\r\n\tpackageStatus?: string;\r\n\tdateCreated: Date;\r\n\tdateCreatedStr?: string;\r\n\tdateDelivered?: Date;\r\n\tdateDeliveredStr?: string;\r\n\trxNumberCount: number;\r\n\tfulfillmentStatus?: string;\r\n\tshipmentStep?: any;\r\n\tdeliveryType?: string;\r\n\tisRejected: boolean;\r\n\tprescriptionCount: number;\r\n\tcanDelete: boolean;\r\n\tisNotActive?: boolean;\r\n\tpfsLink?: string;\r\n\tinventory?: string;\r\n\tinventoryId?: number;\r\n\tisOverdue1: boolean;\r\n\tisOverdue2: boolean;\r\n\thasFulfillmentBeenOpened: boolean;\r\n\tisOpen: boolean;\r\n\topenUserTooltip?: any;\r\n\tcommentCount: number;\r\n\tlastCommentDate?: string;\r\n\tuserSubmitted?: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'shipmentId': new UntypedFormControl(0, [...(validators['shipmentId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'createdById': new UntypedFormControl(null, [...(validators['createdById'] ?? []), ...[]]),\r\n\t\t\t'createdBy': new UntypedFormControl(null, [...(validators['createdBy'] ?? []), ...[]]),\r\n\t\t\t'shipmentServiceTypeID': new UntypedFormControl(null, [...(validators['shipmentServiceTypeID'] ?? []), ...[]]),\r\n\t\t\t'shipmentTypeStr': new UntypedFormControl(null, [...(validators['shipmentTypeStr'] ?? []), ...[]]),\r\n\t\t\t'masterTrackingNumber': new UntypedFormControl(null, [...(validators['masterTrackingNumber'] ?? []), ...[]]),\r\n\t\t\t'weightPounds': new UntypedFormControl(null, [...(validators['weightPounds'] ?? []), ...[]]),\r\n\t\t\t'packageStatus': new UntypedFormControl(null, [...(validators['packageStatus'] ?? []), ...[]]),\r\n\t\t\t'dateCreated': new UntypedFormControl('', [...(validators['dateCreated'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateCreatedStr': new UntypedFormControl(null, [...(validators['dateCreatedStr'] ?? []), ...[]]),\r\n\t\t\t'dateDelivered': new UntypedFormControl(null, [...(validators['dateDelivered'] ?? []), ...[]]),\r\n\t\t\t'dateDeliveredStr': new UntypedFormControl(null, [...(validators['dateDeliveredStr'] ?? []), ...[]]),\r\n\t\t\t'rxNumberCount': new UntypedFormControl(0, [...(validators['rxNumberCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'fulfillmentStatus': new UntypedFormControl(null, [...(validators['fulfillmentStatus'] ?? []), ...[]]),\r\n\t\t\t'shipmentStep': new UntypedFormControl('', [...(validators['shipmentStep'] ?? []), ...[Validators.required]]),\r\n\t\t\t'deliveryType': new UntypedFormControl(null, [...(validators['deliveryType'] ?? []), ...[]]),\r\n\t\t\t'isRejected': new UntypedFormControl(false, [...(validators['isRejected'] ?? []), ...[]]),\r\n\t\t\t'prescriptionCount': new UntypedFormControl(0, [...(validators['prescriptionCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'canDelete': new UntypedFormControl(false, [...(validators['canDelete'] ?? []), ...[]]),\r\n\t\t\t'isNotActive': new UntypedFormControl(null, [...(validators['isNotActive'] ?? []), ...[]]),\r\n\t\t\t'pfsLink': new UntypedFormControl(null, [...(validators['pfsLink'] ?? []), ...[]]),\r\n\t\t\t'inventory': new UntypedFormControl(null, [...(validators['inventory'] ?? []), ...[]]),\r\n\t\t\t'inventoryId': new UntypedFormControl(null, [...(validators['inventoryId'] ?? []), ...[]]),\r\n\t\t\t'isOverdue1': new UntypedFormControl(false, [...(validators['isOverdue1'] ?? []), ...[]]),\r\n\t\t\t'isOverdue2': new UntypedFormControl(false, [...(validators['isOverdue2'] ?? []), ...[]]),\r\n\t\t\t'hasFulfillmentBeenOpened': new UntypedFormControl(false, [...(validators['hasFulfillmentBeenOpened'] ?? []), ...[]]),\r\n\t\t\t'isOpen': new UntypedFormControl(false, [...(validators['isOpen'] ?? []), ...[]]),\r\n\t\t\t'openUserTooltip': new UntypedFormControl(null, [...(validators['openUserTooltip'] ?? []), ...[]]),\r\n\t\t\t'commentCount': new UntypedFormControl(0, [...(validators['commentCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'lastCommentDate': new UntypedFormControl(null, [...(validators['lastCommentDate'] ?? []), ...[]]),\r\n\t\t\t'userSubmitted': new UntypedFormControl(null, [...(validators['userSubmitted'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['fulfillmentStatus', {\"orderId\":0,\"sortColumn\":\"shipmentStep\",\"searchColumn\":\"fulfillmentStatus\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Fulfillment Status\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['inventory', {\"orderId\":1,\"sortColumn\":\"inventory\",\"searchColumn\":\"inventory\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Inventory\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['deliveryType', {\"orderId\":2,\"sortColumn\":\"deliveryType\",\"searchColumn\":\"deliveryType\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delivery Type\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['commentCount', {\"orderId\":3,\"sortColumn\":\"commentCount\",\"searchColumn\":\"commentCount\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comments\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['dateCreatedStr', {\"orderId\":4,\"sortColumn\":\"dateCreated\",\"searchColumn\":\"dateCreatedStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Created By\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['rxNumberCount', {\"orderId\":5,\"sortColumn\":\"rxNumberCount\",\"searchColumn\":\"rxNumberCount\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Rx #s\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['prescriptionCount', {\"orderId\":6,\"sortColumn\":\"prescriptionCount\",\"searchColumn\":\"prescriptionCount\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Product Count\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['shipmentTypeStr', {\"orderId\":7,\"sortColumn\":\"shipmentTypeStr\",\"searchColumn\":\"shipmentTypeStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Shipment Info\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":8,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): ShipmentListVmFromFg {\r\n\t\treturn new ShipmentListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class ShipmentListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget shipmentId(): number {\r\n\t\treturn this.fg.get('shipmentId').value;\r\n\t}\r\n\tset shipmentId(val) {\r\n\t\tthis.fg.get('shipmentId').setValue(val);\r\n\t}\r\n\r\n\tget createdById(): number {\r\n\t\treturn this.fg.get('createdById').value;\r\n\t}\r\n\tset createdById(val) {\r\n\t\tthis.fg.get('createdById').setValue(val);\r\n\t}\r\n\r\n\tget createdBy(): string {\r\n\t\treturn this.fg.get('createdBy').value;\r\n\t}\r\n\tset createdBy(val) {\r\n\t\tthis.fg.get('createdBy').setValue(val);\r\n\t}\r\n\r\n\tget shipmentServiceTypeID(): any {\r\n\t\treturn this.fg.get('shipmentServiceTypeID').value;\r\n\t}\r\n\tset shipmentServiceTypeID(val) {\r\n\t\tthis.fg.get('shipmentServiceTypeID').setValue(val);\r\n\t}\r\n\r\n\tget shipmentTypeStr(): string {\r\n\t\treturn this.fg.get('shipmentTypeStr').value;\r\n\t}\r\n\tset shipmentTypeStr(val) {\r\n\t\tthis.fg.get('shipmentTypeStr').setValue(val);\r\n\t}\r\n\r\n\tget masterTrackingNumber(): string {\r\n\t\treturn this.fg.get('masterTrackingNumber').value;\r\n\t}\r\n\tset masterTrackingNumber(val) {\r\n\t\tthis.fg.get('masterTrackingNumber').setValue(val);\r\n\t}\r\n\r\n\tget weightPounds(): number {\r\n\t\treturn this.fg.get('weightPounds').value;\r\n\t}\r\n\tset weightPounds(val) {\r\n\t\tthis.fg.get('weightPounds').setValue(val);\r\n\t}\r\n\r\n\tget packageStatus(): string {\r\n\t\treturn this.fg.get('packageStatus').value;\r\n\t}\r\n\tset packageStatus(val) {\r\n\t\tthis.fg.get('packageStatus').setValue(val);\r\n\t}\r\n\r\n\tget dateCreated(): Date {\r\n\t\treturn this.fg.get('dateCreated').value;\r\n\t}\r\n\tset dateCreated(val) {\r\n\t\tthis.fg.get('dateCreated').setValue(val);\r\n\t}\r\n\r\n\tget dateCreatedStr(): string {\r\n\t\treturn this.fg.get('dateCreatedStr').value;\r\n\t}\r\n\tset dateCreatedStr(val) {\r\n\t\tthis.fg.get('dateCreatedStr').setValue(val);\r\n\t}\r\n\r\n\tget dateDelivered(): Date {\r\n\t\treturn this.fg.get('dateDelivered').value;\r\n\t}\r\n\tset dateDelivered(val) {\r\n\t\tthis.fg.get('dateDelivered').setValue(val);\r\n\t}\r\n\r\n\tget dateDeliveredStr(): string {\r\n\t\treturn this.fg.get('dateDeliveredStr').value;\r\n\t}\r\n\tset dateDeliveredStr(val) {\r\n\t\tthis.fg.get('dateDeliveredStr').setValue(val);\r\n\t}\r\n\r\n\tget rxNumberCount(): number {\r\n\t\treturn this.fg.get('rxNumberCount').value;\r\n\t}\r\n\tset rxNumberCount(val) {\r\n\t\tthis.fg.get('rxNumberCount').setValue(val);\r\n\t}\r\n\r\n\tget fulfillmentStatus(): string {\r\n\t\treturn this.fg.get('fulfillmentStatus').value;\r\n\t}\r\n\tset fulfillmentStatus(val) {\r\n\t\tthis.fg.get('fulfillmentStatus').setValue(val);\r\n\t}\r\n\r\n\tget shipmentStep(): any {\r\n\t\treturn this.fg.get('shipmentStep').value;\r\n\t}\r\n\tset shipmentStep(val) {\r\n\t\tthis.fg.get('shipmentStep').setValue(val);\r\n\t}\r\n\r\n\tget deliveryType(): string {\r\n\t\treturn this.fg.get('deliveryType').value;\r\n\t}\r\n\tset deliveryType(val) {\r\n\t\tthis.fg.get('deliveryType').setValue(val);\r\n\t}\r\n\r\n\tget isRejected(): boolean {\r\n\t\treturn this.fg.get('isRejected').value;\r\n\t}\r\n\tset isRejected(val) {\r\n\t\tthis.fg.get('isRejected').setValue(val);\r\n\t}\r\n\r\n\tget prescriptionCount(): number {\r\n\t\treturn this.fg.get('prescriptionCount').value;\r\n\t}\r\n\tset prescriptionCount(val) {\r\n\t\tthis.fg.get('prescriptionCount').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n\r\n\tget isNotActive(): boolean {\r\n\t\treturn this.fg.get('isNotActive').value;\r\n\t}\r\n\tset isNotActive(val) {\r\n\t\tthis.fg.get('isNotActive').setValue(val);\r\n\t}\r\n\r\n\tget pfsLink(): string {\r\n\t\treturn this.fg.get('pfsLink').value;\r\n\t}\r\n\tset pfsLink(val) {\r\n\t\tthis.fg.get('pfsLink').setValue(val);\r\n\t}\r\n\r\n\tget inventory(): string {\r\n\t\treturn this.fg.get('inventory').value;\r\n\t}\r\n\tset inventory(val) {\r\n\t\tthis.fg.get('inventory').setValue(val);\r\n\t}\r\n\r\n\tget inventoryId(): number {\r\n\t\treturn this.fg.get('inventoryId').value;\r\n\t}\r\n\tset inventoryId(val) {\r\n\t\tthis.fg.get('inventoryId').setValue(val);\r\n\t}\r\n\r\n\tget isOverdue1(): boolean {\r\n\t\treturn this.fg.get('isOverdue1').value;\r\n\t}\r\n\tset isOverdue1(val) {\r\n\t\tthis.fg.get('isOverdue1').setValue(val);\r\n\t}\r\n\r\n\tget isOverdue2(): boolean {\r\n\t\treturn this.fg.get('isOverdue2').value;\r\n\t}\r\n\tset isOverdue2(val) {\r\n\t\tthis.fg.get('isOverdue2').setValue(val);\r\n\t}\r\n\r\n\tget hasFulfillmentBeenOpened(): boolean {\r\n\t\treturn this.fg.get('hasFulfillmentBeenOpened').value;\r\n\t}\r\n\tset hasFulfillmentBeenOpened(val) {\r\n\t\tthis.fg.get('hasFulfillmentBeenOpened').setValue(val);\r\n\t}\r\n\r\n\tget isOpen(): boolean {\r\n\t\treturn this.fg.get('isOpen').value;\r\n\t}\r\n\tset isOpen(val) {\r\n\t\tthis.fg.get('isOpen').setValue(val);\r\n\t}\r\n\r\n\tget openUserTooltip(): any {\r\n\t\treturn this.fg.get('openUserTooltip').value;\r\n\t}\r\n\tset openUserTooltip(val) {\r\n\t\tthis.fg.get('openUserTooltip').setValue(val);\r\n\t}\r\n\r\n\tget commentCount(): number {\r\n\t\treturn this.fg.get('commentCount').value;\r\n\t}\r\n\tset commentCount(val) {\r\n\t\tthis.fg.get('commentCount').setValue(val);\r\n\t}\r\n\r\n\tget lastCommentDate(): string {\r\n\t\treturn this.fg.get('lastCommentDate').value;\r\n\t}\r\n\tset lastCommentDate(val) {\r\n\t\tthis.fg.get('lastCommentDate').setValue(val);\r\n\t}\r\n\r\n\tget userSubmitted(): boolean {\r\n\t\treturn this.fg.get('userSubmitted').value;\r\n\t}\r\n\tset userSubmitted(val) {\r\n\t\tthis.fg.get('userSubmitted').setValue(val);\r\n\t}\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { FaIconPosition } from '../fa-icon-position/fa-icon-position';\r\nimport { FaNumColor } from '../fa-num-color/fa-num-color.enum';\r\n\r\n@Component({\r\n selector: 'pcg-fa-count',\r\n templateUrl: './fa-count.component.html',\r\n styleUrls: ['./fa-count.component.scss'],\r\n standalone: false\r\n})\r\nexport class FaCountComponent implements OnInit {\r\n\r\n @Input() num?: number;\r\n @Input() numColor?: FaNumColor;\r\n @Input() isNumVisible = true;\r\n @Input() numPosition?: FaIconPosition;\r\n\r\n iconNumClassNames = \"badge badge-pill countNum\";\r\n \r\n numPositionStyles: object;\r\n \r\n constructor(private formatHelper: FormatHelperService) { }\r\n\r\n ngOnInit() {\r\n this.assignNumColor(this.numColor);\r\n if (this.formatHelper.GetIsNully(this.num)) { this.isNumVisible = false; }\r\n if (!this.formatHelper.GetIsNully(this.numPosition)) { this.assignNumPosition(this.numPosition); }\r\n }\r\n\r\n //When adding a new case on this switch, make sure to add the same to the enum in ../fa-num-color/fa-num-color.enum.ts\r\n assignNumColor(numColor?: FaNumColor) {\r\n this.numColor = numColor;\r\n switch(numColor){\r\n case FaNumColor.success: this.iconNumClassNames += \" badge-success\"; break;\r\n case FaNumColor.warning: this.iconNumClassNames += \" badge-warning\"; break;\r\n case FaNumColor.danger: this.iconNumClassNames += \" badge-danger\"; break;\r\n case FaNumColor.info: this.iconNumClassNames += \" badge-info\"; break;\r\n case FaNumColor.secondary: this.iconNumClassNames += \" badge-secondary\"; break;\r\n case FaNumColor.other: this.iconNumClassNames += \" badge-secondary\"; break;\r\n default: this.iconNumClassNames += \" badge-secondary\";\r\n }\r\n } \r\n\r\n assignNumPosition(position: FaIconPosition):void{\r\n let isPositionAssigned = false;\r\n let numStyles = { position: 'relative' };\r\n\r\n if (!this.formatHelper.GetIsNully(position.top)){\r\n isPositionAssigned = true;\r\n numStyles['top'] = FaIconPosition.getPositionPropValue(position.top, position.getMyPositionUnits());\r\n }\r\n if (!this.formatHelper.GetIsNully(position.right)){\r\n isPositionAssigned = true;\r\n numStyles['right'] = FaIconPosition.getPositionPropValue(position.right, position.getMyPositionUnits());\r\n }\r\n if (!this.formatHelper.GetIsNully(position.bottom)){\r\n isPositionAssigned = true;\r\n numStyles['bottom'] = FaIconPosition.getPositionPropValue(position.bottom, position.getMyPositionUnits());\r\n }\r\n if (!this.formatHelper.GetIsNully(position.left)){\r\n isPositionAssigned = true;\r\n numStyles['left'] = FaIconPosition.getPositionPropValue(position.left, position.getMyPositionUnits());\r\n }\r\n\r\n if (isPositionAssigned) { this.numPositionStyles = numStyles; }\r\n }\r\n}\r\n","@if (isNumVisible) {\r\n {{ num }}\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport { FormatHelperService } from '../helpers/format-helper.service';\r\nimport { FaIconPosition } from './fa-icon-position/fa-icon-position';\r\nimport { FaNumColor } from './fa-num-color/fa-num-color.enum';\r\n\r\n/**\r\n * This component centralizes the ability to have a font-awesome icon with a number label in the top right corner\r\n * To properly use this component, the parent component needs to have a property on it for the icon name so that\r\n * the template html can pass the correct value to this component. \r\n * \r\n * - For example:\r\n * class MyClassComponent{\r\n * faIconName: FaIconName = new FaIconName();\r\n * }\r\n * \r\n * - Then in the template html you could have:\r\n * \r\n * \r\n * - To do the same with the color, the code would be:\r\n * faNumColor: typeof FaNumColor = FaNumColor;\r\n * \r\n * \r\n * - For a position, define an object:\r\n * faNumPosition: FaNumPosition = new FaIconPosition(topVal: 0, rightVal: 0, bottomVal: 0, leftVal: 0, FaPositionUnits.percent);\r\n * \r\n */\r\n@Component({\r\n selector: 'pcg-fa-num-icon',\r\n templateUrl: './fa-num-icon.component.html',\r\n styleUrls: ['./fa-num-icon.component.scss'],\r\n standalone: false\r\n})\r\nexport class FaNumIconComponent implements OnInit {\r\n\r\n\t@Input() num?: number;\r\n\t@Input() numColor?: FaNumColor;\r\n\t@Input() isNumVisible = true;\r\n\t@Input() iconName: IconDefinition;\r\n\t@Input() iconColor?: string; // Accepts color keywords, rgb, and hex values\r\n\t@Input() numPosition?: FaIconPosition;\r\n\r\n\ticonColorName = \"inherit\";\r\n\r\n\tconstructor(private formatHelper: FormatHelperService) { }\r\n\r\n\tngOnInit() {\r\n\t\tif (!this.formatHelper.GetIsNully(this.iconColor)) { this.iconColorName = this.iconColor; }\r\n\t}\r\n}\r\n","\r\n \r\n \r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, computed, Input, OnInit, ViewChild, signal, effect } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { faComments } from '@fortawesome/pro-regular-svg-icons';\r\nimport { faExclamationCircle, faHourglassEnd, faPrescriptionBottleAlt, faUserMd } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\nimport { subWeeks, subYears } from 'date-fns';\r\n\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { RxDataStorageService } from 'app/fulfillment/services/rx-data-storage.service';\r\nimport { InventoryService } from 'app/inventory/services/inventory.service';\r\nimport { FaIconName } from 'app/shared/fa-num-icon/fa-icon-name/fa-icon-name';\r\nimport { FaIconPosition, FaPositionUnits } from 'app/shared/fa-num-icon/fa-icon-position/fa-icon-position';\r\nimport { FaNumColor } from 'app/shared/fa-num-icon/fa-num-color/fa-num-color.enum';\r\nimport { ShipmentListVm } from 'app/shared/generated/Inventory/Models/Shipping/ShipmentListVm';\r\nimport { DateRange } from 'app/shared/models/date-range';\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { PatientDataVm } from 'app/shared/generated/Models/PatientDataVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { TableTopLegendVm } from 'app/shared/table/table-top/table-top-legend/table-top-legendVm';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { SseNotificationService } from 'app/core/sse-notification/sse-notification.service';\r\nimport { ChatTypeEnum } from 'app/core/enums/generated/ChatTypeEnum';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-shipment-list',\r\n templateUrl: './shipment-list.component.html',\r\n styleUrls: ['./shipment-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class ShipmentListComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n @ViewChild('pfsForms', { static: true }) selectPfsForm: PcgSelectComponent;\r\n @ViewChild('facilitySelect', { static: true }) facilitySelect: PcgSelectComponent;\r\n @Input() isCentralized = false;\r\n\r\n fedexLink = 'https://www.fedex.com/apps/fedextrack/?action=track&cntry_code=us&locale=en_US&trackingnumber=';\r\n upsLink = 'https://www.ups.com/track?loc=en_US&tracknum=';\r\n inputPlaceholder = 'Filter Rx';\r\n faIconName = new FaIconName();\r\n faNumColor = FaNumColor;\r\n\r\n columns = ShipmentListVm.ColumnDefs;\r\n facilitySelectItems: SelectItem[] = [];\r\n model: PatientDataVm;\r\n user: UserJsVm;\r\n\r\n // Table filters\r\n filters = {\r\n inventorySiteId: null\r\n , firstName: null\r\n , lastName: null\r\n , dob: \"\" // Made this an empty string to compare since element changes it to this anyways.\r\n , zip: null\r\n , date: new DateRange(subWeeks(new Date(), 2), new Date())\r\n , status: '[]'\r\n , strShipmentIds: null\r\n , facilityName: null\r\n , pfsFormId: null\r\n , isNotActive: false\r\n , confirm: null\r\n , facilityId: null\r\n , userId: null\r\n };\r\n\r\n // Table filters\r\n emptyFilters = {\r\n inventorySiteId: null\r\n , firstName: null\r\n , lastName: null\r\n , dob: \"\"// Made this an empty string to compare since element changes it to this anyways.\r\n , zip: null\r\n , date: new DateRange(subWeeks(new Date(), 2), new Date())\r\n , status: '[]'\r\n , strShipmentIds: null\r\n , facilityName: null\r\n , pfsFormId: null\r\n , isNotActive: false\r\n , facilityId: null\r\n , userId: null\r\n };\r\n\r\n selectedStatus = new Array();\r\n initFilters = Object.assign({}, this.filters);\r\n\r\n filterMap = {\r\n \"inventorySiteId\": \"Inventory Site\"\r\n , \"firstName\": \"First Name\"\r\n , \"lastName\": \"Last Name\"\r\n , \"dob\": \"DOB\"\r\n , \"zip\": \"Zip\"\r\n , \"date\": \"Date Created\"\r\n , \"status\": \"Status\"\r\n , \"facilityName\": \"Facility Name\"\r\n , \"pfsFormId\": \"PFS Form\"\r\n , \"isNotActive\": \"Inactive Fulfillments\"\r\n , \"facilityId\": \"Facility\"\r\n };\r\n\r\n // For DateRange filter \r\n maxDate = new Date();\r\n minDate = new Date(1900, 0, 1);\r\n\r\n faUserMd = faUserMd;\r\n faExclamationCircle = faExclamationCircle;\r\n faHourglassEnd = faHourglassEnd;\r\n rxCountIcon = faPrescriptionBottleAlt;\r\n faComments = faComments;\r\n commentPosition: FaIconPosition = new FaIconPosition(-10, 20, null, null, FaPositionUnits.pixels);\r\n\r\n dangerColor = '#dc3545';\r\n warningColor = '#ffc107';\r\n sortDir = 'desc';\r\n inventorySiteName: string;\r\n dataSource = \"api/Inventory/Shipping/GetShipmentList\";\r\n createSource = \"api/Inventory/Shipping/CreateShipment/\";\r\n editSource = \"/pharmacy/inventories/fulfillment/edit/\";\r\n errorStr = \"\";\r\n sortData = [[\"dateCreatedStr\", this.sortDir]];\r\n\r\n inventorySiteId: number; // Shared throughout page. Comes from URL.\t\r\n rxListShipmentId = 0;// Used for the rx list modal and comments modal components \r\n newFacilityId: number;\r\n\r\n canEdit: boolean;\r\n canCreateFulfillments: boolean;\r\n inventoryEditAccess: boolean;\r\n currentSiteName: string;\r\n firstLoad = true;\r\n userId: number;\r\n isUser: boolean = false;\r\n isNewFacility = false;\r\n isError = false;\r\n hasMultipleInvChoices = false;\r\n\r\n // Colors for table row highlighting and table legend\r\n lastViewedRxColor: string = '#d5def3';\r\n\r\n // Table legend\r\n legend: TableTopLegendVm[] =\r\n [\r\n {\r\n id: 0,\r\n colorCode: this.lastViewedRxColor,\r\n description: 'Highlights the fulfillment containing the last viewed Rx'\r\n }\r\n ];\r\n\r\n // Signal for Comment Count Updates\r\n private readonly commentUpdate = signal<{ shipmentId: number, count: number }>(null);\r\n\r\n // Computed value using direct signal reference\r\n readonly currentUpdate = computed(() => this.commentUpdate());\r\n\r\n constructor(\r\n private route: ActivatedRoute\r\n , private title: Title\r\n , private sec: SecurityService\r\n , private httpClient: HttpClient\r\n , public router: Router\r\n , public modalService: NgbModal\r\n , private rxDataStorageService: RxDataStorageService\r\n , public inventoryService: InventoryService\r\n , public btnFilterService: ButtonFilterService\r\n , private formatHelper: FormatHelperService\r\n , private sseService: SseNotificationService\r\n ) {\r\n title.setTitle('Rx Fulfillment List');\r\n // Don't want to keep Rx Data for inventory specific interactions\r\n if (!this.isCentralized) { this.rxDataStorageService.resetInventoryChoiceModalData(); }\r\n\r\n effect(() => {\r\n const chat = this.sseService.chatSignal$();\r\n if (chat?.chatType == ChatTypeEnum.ShipmentComments) {\r\n this.updateCommentCount(chat.parentId, chat.count);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.user = this.sec.getUser();\r\n this.userId = this.user?.id;\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Inventory]\r\n , SecurityService.setMinRole(PermissionRole.User)\r\n );\r\n this.canCreateFulfillments = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Inventory]\r\n , [\r\n PermissionRole.User\r\n , PermissionRole.Technician\r\n , PermissionRole.Pharmacist\r\n ]\r\n , false\r\n );\r\n this.inventoryEditAccess = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Inventory]\r\n , SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n );\r\n // Set the inventorySiteId\r\n this.route.paramMap.subscribe(params => {\r\n if (!this.isCentralized) { this.initFilters.inventorySiteId = parseInt(params.get('id'), 0); }\r\n if (this.firstLoad) {\r\n this.filters.inventorySiteId = this.initFilters.inventorySiteId;\r\n this.initFilters = Object.assign({}, this.filters);\r\n this.serializeStatus();\r\n } else { this.resetFilters(); } // Reset filters when route params(id: changing inventories) change after component is first loaded.\r\n this.inventorySiteId = this.filters.inventorySiteId;\r\n if (this.inventorySiteId != null) { this.getSiteName(); }\r\n });\r\n\r\n this.isUser = this.user?.isRxUser;\r\n if (this.isUser) {\r\n this.filters.userId = this.userId;\r\n this.dataSource = \"api/Inventory/RxFulfillmentUser/GetShipmentList\";\r\n this.createSource = \"api/Inventory/RxFulfillmentUser/CreateShipment/\";\r\n this.editSource = \"/pharmacy/fulfillment/edit/\";\r\n this.title.setTitle('Refill Request List');\r\n this.sortData = [[\"fulfillmentStatus\", \"asc\"]];\r\n }\r\n\r\n // Set the status from the flowmometer\r\n this.route.queryParamMap.subscribe(qParams => {\r\n const statusParam = qParams.get(\"status\");\r\n // Reset filters when route query params(tab: changing inventory tab, or status: flowmometer) change after component is first loaded.\r\n if (!this.firstLoad) { this.resetFilters(); }\r\n if (statusParam) {\r\n sessionStorage.removeItem('rxFulfillmentFilters');\r\n this.selectedStatus = [parseInt(qParams.get('status'))];\r\n this.serializeStatus();\r\n this.filters.date = new DateRange(subYears(new Date(), 1), new Date());\r\n this.sortDir = 'asc';\r\n } else { this.preFilter(); }\r\n });\r\n Object.assign({}, this.filters);\r\n\r\n this.firstLoad = false;// Set this to false so the filters will be reset when the route params change.\r\n this.columns.get('inventory').isVisible = this.isCentralized;\r\n\r\n // Set the siteName\r\n if (this.inventorySiteId != null) {\r\n this.inventoryService.getSiteName(this, this.inventorySiteId).subscribe(siteName => { this.inventorySiteName = siteName; });\r\n }\r\n this.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n this.setScanFocus()\r\n\r\n // Hide delete button by default for users who cannot delete\r\n if (!this.inventoryEditAccess) this.columns.get('canDelete').isVisible = false;\r\n }\r\n\r\n scanSuccessFromList($event: number[]) {\r\n this.filters.strShipmentIds = JSON.stringify($event);\r\n this.table.ajaxReload();\r\n }\r\n\r\n resetFilters() {\r\n // Reset filters by copy filters values set on init \r\n this.filters = Object.assign(this.filters, this.initFilters);\r\n this.selectedStatus = JSON.parse(this.filters.status);\r\n this.inputPlaceholder = 'Filter Rx';\r\n // Update url when it contains a status param.\r\n if (this.route.snapshot.queryParamMap.get('status')) { this.router.navigateByUrl('pharmacy/fulfillment/list'); }\r\n sessionStorage.removeItem('rxFulfillmentFilters');\r\n if (this.isUser) { this.filters.userId = this.userId; }\r\n this.table.ajaxReload();\r\n }\r\n\r\n newFulfillment(isFacility: boolean) {\r\n this.httpClient.get(`${this.createSource}?inventorySiteId=${this.inventorySiteId}&isFacility=${isFacility}`)\r\n .subscribe((shipmentId: number) => {\r\n this.router.navigateByUrl('/pharmacy/inventories/fulfillment/edit/'\r\n + encodeURIComponent(`${shipmentId}`) + '/' + encodeURIComponent(`${this.inventorySiteId}`));\r\n }\r\n );\r\n }\r\n\r\n navigateToInventoryEdit() {\r\n let inventoryId = this.inventorySiteId;\r\n if (\r\n this.inventoryEditAccess\r\n && inventoryId\r\n ) { this.router.navigate([`/pharmacy/inventories/edit/${inventoryId}`]); }\r\n }\r\n\r\n getSiteName() {\r\n this.httpClient.get('api/Inventory/Inventory/GetInventorySiteName/' + this.inventorySiteId)\r\n .subscribe((name: string) => { this.currentSiteName = name; });\r\n }\r\n\r\n // Centralized Rx-Fulfillment Inventory Choice Modal\r\n openInventoryChoiceModal(\r\n modal: any\r\n , isFacility: boolean\r\n ): void {\r\n this.rxDataStorageService.IsFacility = isFacility;\r\n this.modalService.open(modal, { animation: false });\r\n }\r\n\r\n openRxListModal(\r\n modal: any\r\n , shipmentId: number\r\n ): void {\r\n this.rxListShipmentId = shipmentId;\r\n this.modalService.open(modal, { animation: false });\r\n }\r\n\r\n openCommentsModal(\r\n modal: any\r\n , shipmentId: number\r\n ) {\r\n this.rxListShipmentId = shipmentId;\r\n this.modalService.open(\r\n modal\r\n , {\r\n animation: false\r\n , beforeDismiss: () => {\r\n this.table?.ajaxReload();\r\n return true;\r\n }\r\n }\r\n );\r\n }\r\n\r\n preFilter() {\r\n if (this.hasStoredFilters()) {\r\n const preFilters = JSON.parse(this.getStoredFilters());\r\n this.filters.firstName = preFilters?.firstName;\r\n this.filters.lastName = preFilters?.lastName;\r\n this.filters.dob = preFilters?.dob;\r\n this.filters.zip = preFilters?.zip;\r\n this.filters.facilityName = preFilters?.facilityName;\r\n this.filters.pfsFormId = preFilters?.pfsFormId;\r\n if (!this.inventorySiteId) { this.filters.inventorySiteId = preFilters?.inventorySiteId; }\r\n this.filters.zip = preFilters?.zip;\r\n this.filters.isNotActive = preFilters?.isNotActive;\r\n this.filters.status = preFilters?.status;\r\n this.filters.facilityId = preFilters?.facilityId;\r\n this.selectedStatus = JSON.parse(preFilters?.status);\r\n if (\r\n preFilters.date !== undefined\r\n && !this.hasNullDate(preFilters.date.dateBegin)\r\n && !this.hasNullDate(preFilters.date.dateEnd)\r\n ) { this.filters.date = new DateRange(new Date(preFilters.date.dateBegin), new Date(preFilters.date.dateEnd)); }\r\n if (this.isUser) { this.filters.userId = this.userId; }\r\n }\r\n }\r\n\r\n filterChange = () => this.setStoredFilters();\r\n // Checking to see if the filters have been changed since init.\r\n // Used to determine when to show the reset filters button next to the scan.\r\n filtersTouched() { return JSON.stringify(this.filters) !== JSON.stringify(this.initFilters); }\r\n setScanFocus() { setTimeout(() => { document.getElementById('scanRx')?.focus(); }, 1); }\r\n serializeStatus() { this.filters.status = JSON.stringify(this.selectedStatus); }\r\n scanRxNumber(rx: string) { this.inputPlaceholder = 'Filtered by Rx: ' + rx; }\r\n navigateToFulfillment(inventoryId: string) { this.router.navigate([`/pharmacy/inventories/fulfillment/list/${inventoryId}`]); }\r\n getIsFulfillmentOpenedLink = (isFulfillmentOpen: boolean): string => isFulfillmentOpen ? 'color:purple;' : '';\r\n // HELPERS\r\n hasNullDate = (date: Date): boolean => date == null;\r\n // Stored Filters\r\n hasStoredFilters = (): boolean => sessionStorage.getItem('rxFulfillmentFilters') !== null;\r\n setStoredFilters = (): void => sessionStorage.setItem('rxFulfillmentFilters', JSON.stringify(this.filters));\r\n getStoredFilters = () => sessionStorage.getItem('rxFulfillmentFilters');\r\n\r\n // #region User functions\r\n createNewFacilityRx() {\r\n this.httpClient.get(`api/Select/Facilities?userId=${this.userId}&businessArea=4&formTypeId=1`)\r\n .subscribe((items: SelectItem[]) => {\r\n this.facilitySelectItems = items;\r\n if (items.length === 1) { this.newFacilityId = items[0].value; }\r\n }\r\n );\r\n this.rxDataStorageService.IsFacility = true;\r\n this.isNewFacility = true;\r\n this.isError = false;\r\n this.errorStr = \"\";\r\n }\r\n\r\n cancelRx() {\r\n this.rxDataStorageService.IsFacility = false;\r\n this.isNewFacility = false;\r\n this.newFacilityId = null;\r\n this.isError = false;\r\n this.errorStr = \"\";\r\n }\r\n\r\n scanSuccessInventoryList($event: PatientDataVm) {\r\n if (!this.formatHelper.GetIsNully($event.errorMessage)) {\r\n this.isError = true;\r\n this.errorStr = $event.errorMessage;\r\n } else if ($event.inventories?.length === 0) {\r\n this.isError = true;\r\n this.errorStr = `Product NDC (${this.formatHelper.FormatNdc($event.ndc)}) not found for any inventory.`;\r\n } else if ($event.inventories?.length === 1) {\r\n // Head straight to a new RxFulfillment\r\n this.chooseInventory($event.inventories[0].inventorySiteId, $event.inventories[0].inventoryName);\r\n } else if ($event.inventories?.length > 1) {\r\n // Set the modal up for the user to select an inventory choice\r\n //this.title = \"Choose an Inventory for \" + this.subTitle;\r\n this.hasMultipleInvChoices = true;\r\n this.model = $event;\r\n } else {\r\n this.isError = true;\r\n this.errorStr = `There were no inventories found for Rx ${$event.rxNumber}`;\r\n }\r\n }\r\n\r\n chooseInventory(\r\n invId: number\r\n , invName: string\r\n ) {\r\n let isConfirmed = true;\r\n if (this.hasMultipleInvChoices) { isConfirmed = confirm(`Inventory: ${invName} was selected. Is this the correct inventory?`); }\r\n\r\n if (!isConfirmed) { return null; }\r\n else {\r\n const patientData: PatientDataVm = this.rxDataStorageService.PatientData;\r\n patientData.isFacility = this.rxDataStorageService.IsFacility;\r\n\r\n this.httpClient.post(\r\n `api/Inventory/QS1/ValidateAndSaveRxData/`\r\n + `?inventorySiteId=${invId}`\r\n + `&isUser=${this.isUser}`\r\n + `&facilityId=${this.newFacilityId}`\r\n , patientData\r\n ).subscribe((returnData: PatientDataVm) => {\r\n if (\r\n returnData.errorMessage === null\r\n || returnData.errorMessage === undefined\r\n ) {\r\n // Need to write over the old patient data since there is a facility address check that may provide new info not available ealier\r\n if (\r\n returnData.address !== patientData.address\r\n || returnData.address2 !== patientData.address2\r\n || returnData.city !== patientData.city\r\n || returnData.state !== patientData.state\r\n || returnData.zip !== patientData.zip\r\n ) { this.rxDataStorageService.PatientData = returnData; }\r\n\r\n // Now that validation has passed, and a shipment has been created, we can navigate to it\r\n this.router.navigateByUrl('/pharmacy/fulfillment/edit/'\r\n + encodeURIComponent(`${returnData.shipmentId}`) + '/' + encodeURIComponent(`${invId}`));\r\n } else {\r\n this.isError = true;\r\n this.errorStr = returnData.errorMessage;\r\n }\r\n });\r\n }\r\n }\r\n // #endregion\r\n\r\n getCommentCount(row: ShipmentListVm): number {\r\n const update = this.currentUpdate();\r\n return update?.shipmentId === row.shipmentId ? update.count : row.commentCount;\r\n }\r\n\r\n updateCommentCount(shipmentId: number, newCount: number) { this.commentUpdate.set({ shipmentId, count: newCount }); }\r\n}\r\n","\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t = In progress fulfillments that are close to being overdue\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t = In progress fulfillments that are overdue\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t \r\n\t\t\t= Fulfillment is open and a user is working on it. The name and how long it has been open will be on the tooltip.\r\n\t\t
\r\n\t\t
\r\n\t\t\tFulfillment Step \r\n\t\t\t= Fulfillment that has been opened before by a user. Record of who opened it is in Fulfillment Audit History.\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n \r\n\t
\r\n\t\t

\r\n\t\t\t@if (inventorySiteName) { {{ inventorySiteName }} - }\r\n\t\t\t{{!isUser ? \"Rx Fulfillments\" : \"Refill Requests\"}}\r\n\t\t

\r\n\t\t@if (canCreateFulfillments) {\r\n\t\t\t
\r\n\t\t\t\t@if (!isUser) {\r\n\t\t\t\t\tNew CI/CHD Delivery\r\n\t\t\t\t\tNew Home Delivery\r\n\t\t\t\t} @else {\r\n\t\t\t\t\tNew Refill Request\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t}\t\r\n\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t@if (!isCentralized) {\r\n\t\t\t\t

\r\n\t\t\t\t\tRecords highlighted in red indicate that there are one or more rejected Rx numbers on a Fulfillment. \r\n Fulfillments older than two weeks that have\tno Products added in Step 1 are automatically deleted from this list.\r\n\t\t\t\t

\r\n\t\t\t} @else {

Records highlighted in red indicate that there are one or more rejected Rx numbers on a Fulfillment.

}\r\n\t\t\t\r\n\t\t\t\tThe Fulfillment Overdue Thresholds can be set per inventory via the Edit Inventory page.\r\n\t\t\t\t
\r\n\t\t\t\t@if (!isCentralized) { Select the icon to navigate to the edit page for {{ currentSiteName }}. }\r\n\t\t\t
\r\n\t\t
\r\n\t\t@if (\r\n\t\t\tcanEdit \r\n\t\t\t&& !isUser\r\n\t\t) {\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t}\r\n\t
\r\n\r\n\t\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t

DOB

\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t@if (isCentralized) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{ columns.get('fulfillmentStatus').displayName }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n @if (isUser) {\r\n @if (\r\n row.fulfillmentStatus == \"Product Prep\" \r\n && row.userSubmitted != true\r\n ) { Not Submitted }\r\n @if (\r\n row.fulfillmentStatus == \"Product Prep\" \r\n && row.userSubmitted == true\r\n ) { Submitted }\r\n @else if (row.fulfillmentStatus == \"Shipping Prep\") { In Progress }\r\n @else if (row.fulfillmentStatus == \"QC Check\") { In Progress }\r\n @else if (row.fulfillmentStatus == \"Pending Shipment\") { Fulfilled }\r\n @else if (\r\n row.fulfillmentStatus == \"Completed\"\r\n && row.dateDeliveredStr == \"\"\r\n ) { Shipped }\r\n @else if (\r\n row.fulfillmentStatus == \"Completed\"\r\n && row.dateDeliveredStr != \"\"\r\n ) { Delivered }\r\n } @else { {{ row.fulfillmentStatus }} }\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t@if (\r\n row.isOpen \r\n && !isUser\r\n ) {\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('inventory').displayName }}\r\n\t\t\t\r\n\t\t\t\t@if (\r\n\t\t\t\t\tisCentralized \r\n\t\t\t\t\t&& !isUser\r\n\t\t\t\t) {\r\n\t\t\t\t\t{{ row.inventory }}\r\n\t\t\t\t} @else { {{ row.inventory }} }\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('deliveryType').displayName }}\r\n\t\t\t{{ row.deliveryType }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{ columns.get('commentCount').displayName }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{ columns.get('dateCreatedStr').displayName }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ row.dateCreatedStr }}\r\n\t\t\t\t@if (\r\n\t\t\t\t\trow.isOverdue1 \r\n\t\t\t\t\t|| row.isOverdue2\r\n\t\t\t\t) {\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t@if (row.pfsLink) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{{ row.createdBy }}\r\n\t\t\t\t} @else {
{{ row.createdBy }} }\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('rxNumberCount').displayName }}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('prescriptionCount').displayName }}\r\n\t\t\t{{ row.prescriptionCount }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('shipmentTypeStr').displayName }}\r\n\t\t\t\r\n\t\t\t\t{{ row.shipmentTypeStr }}\r\n\t\t\t\t@if (\r\n\t\t\t\t\trow.shipmentTypeStr === \"Fedex Ground\" \r\n\t\t\t\t\t|| row.shipmentTypeStr === \"Fedex Express\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{{ row.masterTrackingNumber }}\r\n\t\t\t\t} @else if (\r\n\t\t\t\t\trow.shipmentTypeStr === \"UPS Ground\" \r\n\t\t\t\t\t|| row.shipmentTypeStr === \"UPS Next Day Air\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{{ row.masterTrackingNumber }}\r\n\t\t\t\t}\r\n\t\t\t\t@if (row.weightPounds) {
{{ row.weightPounds }} lbs }\r\n\t\t\t\t@if (row.packageStatus) {
{{ row.packageStatus }} }\r\n\t\t\t\t@if (row.dateDeliveredStr) {
{{ row.dateDeliveredStr }} }\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t{{columns.get('currentStep').displayName }}\r\n\t\t\t{{ row.currentStep }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('canDelete').displayName }}\r\n\t\t\t\r\n\t\t\t\t@if (\r\n\t\t\t\t\t(\r\n\t\t\t\t\t\trow.canDelete \r\n\t\t\t\t\t\t&& inventoryEditAccess\r\n\t\t\t\t\t)\r\n\t\t\t\t\t|| (\r\n\t\t\t\t\t\tisUser == true\r\n\t\t\t\t\t\t&& userId == row.createdById\r\n\t\t\t\t\t\t&& row.canDelete\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\r\n\r\n\t
\r\n
\r\n\t\r\n
\r\n
\r\n\t\t

New Refill Request

\t\t\r\n\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n \r\n\t\t\t\t\r\n\t\t
\r\n\r\n\t\t@if (newFacilityId > 0) {\r\n\t\t\t@if (!this.hasMultipleInvChoices) {\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t} @else {\r\n\t\t\t\t
\r\n\t\t\t\t\t

Multiple inventories contain the NDC for this Rx. Please choose the inventory to fill the prescription from.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\t}\r\n\t
\r\n\r\n\t@if (newFacilityId > 0) {\r\n\t\t


Warning: Scanning an Rx here will create a fulfillment.

\r\n\t}\r\n\r\n\t\r\n\t\t\r\n\t\r\n
","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\nimport { faSquareQuestion } from '@fortawesome/pro-solid-svg-icons';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { InventoryService } from '../../inventory/services/inventory.service';\r\nimport { ProductBarcode } from '../../inventory/services/product-barcode';\r\nimport { ConfirmationModalComponent } from '../form-elements/components/confirmation-modal/confirmation-modal.component';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-scan-product',\r\n templateUrl: './scan-product.component.html',\r\n styleUrls: ['./scan-product.component.scss'],\r\n standalone: false\r\n})\r\nexport class ScanProductComponent implements OnInit {\r\n\r\n\t@Input() autofocus = false;\r\n\t@Input() includeProductInfo = false;\r\n\t@Input() inputPlaceholder = 'Scan Barcode';\r\n\t@Input() inventorySiteId: number;\r\n\t@Input() ndc: string;\r\n @Input() scanText: string = \"Scan\";\r\n @Input() useSpinner: boolean = false;\r\n\t@Input() isDisabled = false;\r\n\t@Input() isFulfillment = true;\r\n\t@Input() isCiReceiving = false;\r\n\t@Input() isCiRepack = false;\r\n\t@Input() scanDetection = false; // When enabled, this will detect any scans on the the page.\r\n\t@Input() showHelp = true;\r\n\r\n\t@Output() scanSuccess = new EventEmitter();\r\n\t@Output() scanError = new EventEmitter();\r\n\t@Output() scan = new EventEmitter();\r\n\r\n\t@ViewChild('txtBarcode', { static: true }) txtBarcode: ElementRef;\r\n\t@ViewChild('helpModal', { static: true }) helpModal: TemplateRef;\r\n\r\n\tfaIcon = { faSquareQuestion };\r\n\r\n\t// These variables are used for the scanning sounds\r\n\tbeepSuccess = new Audio();\r\n\tbeepError = new Audio();\r\n\tisControlDown = false;\r\n\tisProcessing = false;\r\n\r\n\t// These variables are used for scan detection.\r\n\tprivate timeoutId: NodeJS.Timeout; \t// Used for scan detection to differentiate between scans and manual input based on how quickly the events are fired.\r\n\tprivate _input: string = ''; \t\t// _input will be populated with barcode to be emited when scan detection is enabled.\r\n\tprivate _oldValue: string = ''; \t// _oldValue is used to retain an inputs value if a scan is detected while focused on an input element other than the scan.\r\n \r\n // Used to determine if the event is coming from the numpad.\r\n NUMPAD_EVENT_LOCATION = 3;\r\n\r\n\t/** Handle control up and down and scan detection */\r\n\t@HostListener('document:keydown', ['$event'])\r\n\tcontrolDown(event: KeyboardEvent) {\r\n\t\tif (event.key === 'Control') { this.isControlDown = true; return; }\r\n\t\t// If scan detection has been enabled.\r\n\t\tif (this.scanDetection) { this.scanDetectionProcessing(event); }\r\n\t}\r\n\r\n\t@HostListener('document:keyup', ['$event'])\r\n\tcontrolUp(event: KeyboardEvent) { if (event.key === 'Control') { this.isControlDown = false; } }\r\n\r\n\tconstructor(\r\n\t\tprivate inventoryService: InventoryService\r\n\t\t, private toastr: ToastrService\r\n\t\t, public modalService: NgbModal\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tconst basePath = document.getElementsByTagName('base')[0].href;\r\n\t\tthis.beepSuccess.src = basePath + 'assets/sounds/GreenScan.mp3';\r\n\t\tthis.beepSuccess.load();\r\n\t\tthis.beepError.src = basePath + 'assets/sounds/RedScan.mp3';\r\n\t\tthis.beepError.load();\r\n\t\tif (this.autofocus) { this.txtBarcode.nativeElement.focus(); }\r\n\t}\r\n\r\n\tngOnChanges() { if (this.autofocus) { this.txtBarcode.nativeElement.focus(); } }\r\n\tfocus() { setTimeout(() => { this.txtBarcode.nativeElement.focus(); }, 50); }\r\n\r\n\t/**\r\n\t * Hitting F8 and Ctrl + ] will add a double arrow, which can be used as a delimiter.\r\n\t * New Zebra Scanners will add a delimeter with the Alt key.\r\n\t * Hitting Enter will process the barcode.\r\n\t * @param event The key down event\r\n\t*/\r\n\tkeyDown(event) {\r\n\t\tif (\r\n\t\t\tevent.key === 'F8' \r\n\t\t\t|| (\r\n\t\t\t\tthis.isControlDown \r\n\t\t\t\t&& event.key === ']'\r\n\t\t\t) \r\n\t\t\t|| event.key === 'Alt'\r\n\t\t) { this.txtBarcode.nativeElement.value += '↔'; } \r\n\t\telse if (event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.scanBarcode();\r\n\t\t}\r\n\t}\r\n\r\n\t/** This function gets fired when enter is pressed in the textbox or the scan button is pressed */\r\n\tscanBarcode() {\r\n\t\tthis.isProcessing = true; // Disable scan input.\r\n\t\ttry {\r\n\t\t\tif (!FormatHelperService.GetIsNullyOrWhitespace(this.txtBarcode?.nativeElement?.value)) {\r\n\t\t\t\tconst barcodeStr: string = this.txtBarcode.nativeElement.value;\r\n\t\t\t\tthis.txtBarcode.nativeElement.value = '';\r\n\t\t\t\t// Get the barcode info\r\n\t\t\t\tlet barcode: ProductBarcode = null;\r\n\t\t\t\t// Standard barcode, can only get the NDC\r\n\t\t\t\tif (barcodeStr.length === 12) {\r\n\t\t\t\t\tbarcode = {\r\n\t\t\t\t\t\tndc10: this.inventoryService.parseNdc10FromGtin(barcodeStr)\r\n\t\t\t\t\t\t, lotNumber: null\r\n\t\t\t\t\t\t, serialNumber: null\r\n\t\t\t\t\t\t, expirationDate: null\r\n\t\t\t\t\t\t, lotExpId: null\r\n\t\t\t\t\t};\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tbarcodeStr?.split(\" \")?.length === 2 \r\n\t\t\t\t\t|| barcodeStr?.includes(\";\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!this.ndc \r\n\t\t\t\t\t\t&& !barcodeStr?.includes(\";\")\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.toastr.error(\r\n\t\t\t\t\t\t\t'Please select an Rx Number before scanning product.'\r\n\t\t\t\t\t\t\t, null\r\n\t\t\t\t\t\t\t, { positionClass: 'toast-top-right', timeOut: 2000 }\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\treturn this.emitScan(null);\r\n\t\t\t\t\t} \t\r\n\t\t\t\t\tthis.inventoryService.getFastPackProductInfo(\r\n\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t, this.inventorySiteId\r\n\t\t\t\t\t\t, this.ndc\r\n\t\t\t\t\t\t, barcodeStr\r\n\t\t\t\t\t).subscribe(productInfo => {\r\n\t\t\t\t\t\tif (productInfo) {\r\n\t\t\t\t\t\t\tbarcode = {\r\n\t\t\t\t\t\t\t\tndc10: productInfo.ndc10\r\n\t\t\t\t\t\t\t\t, lotNumber: barcodeStr?.includes(\";\") \r\n\t\t\t\t\t\t\t\t\t? barcodeStr?.split(\";\")[2].toUpperCase() \r\n\t\t\t\t\t\t\t\t\t: barcodeStr?.split(\" \")[1].toUpperCase()\r\n\t\t\t\t\t\t\t\t, serialNumber: null\r\n\t\t\t\t\t\t\t\t, expirationDate: barcodeStr?.includes(\";\") \r\n\t\t\t\t\t\t\t\t\t? new Date(barcodeStr?.split(\";\")[3]) \r\n\t\t\t\t\t\t\t\t\t: new Date(barcodeStr?.split(\" \")[0])\r\n\t\t\t\t\t\t\t\t, lotExpId: productInfo.lotExpId\r\n\t\t\t\t\t\t\t\t, productInfo: productInfo\r\n\t\t\t\t\t\t\t\t, quantity: barcodeStr?.includes(\";\") \r\n\t\t\t\t\t\t\t\t\t? this.parseAtp2Qty(barcodeStr?.split(\";\")[4]) \r\n\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t, isBulkLot: productInfo.isBulkLot\r\n\t\t\t\t\t\t\t\t, currentStock: productInfo?.currentStock\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t// Pass in optional param 'barcodeStr' to check if NDCs match (scanned NDC vs expected)\r\n\t\t\t\t\t\t\tthis.emitScan(barcode, barcodeStr);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tbarcodeStr?.includes(\";\") \r\n\t\t\t\t\t\t\t\t&& this.isCiRepack\r\n\t\t\t\t\t\t\t) { //For Ci Repack ATP2 Scans\r\n\t\t\t\t\t\t\t\tbarcode = {\r\n\t\t\t\t\t\t\t\t\tndc10: barcodeStr?.split(\";\")[1]\r\n\t\t\t\t\t\t\t\t\t, lotNumber: barcodeStr?.split(\";\")[2].toUpperCase()\r\n\t\t\t\t\t\t\t\t\t, expirationDate: new Date(barcodeStr?.split(\";\")[3])\r\n\t\t\t\t\t\t\t\t\t, quantity: this.parseAtp2Qty(barcodeStr?.split(\";\")[4])\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\treturn this.emitScan(barcode);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t!this.ndc \r\n\t\t\t\t\t\t\t\t&& barcodeStr?.includes(\";\")\r\n\t\t\t\t\t\t\t) { \r\n\t\t\t\t\t\t\t\tthis.toastr.error(\r\n\t\t\t\t\t\t\t\t\t'Please select an Rx Number before scanning product.'\r\n\t\t\t\t\t\t\t\t\t, null\r\n\t\t\t\t\t\t\t\t\t, { positionClass: 'toast-top-right', timeOut: 2000 }\r\n\t\t\t\t\t\t\t\t); \r\n\t\t\t\t\t\t\t} else { \r\n\t\t\t\t\t\t\t\tthis.toastr.error(`Product scanned does not match prescribed product. Please check the Rx Number and try again. \r\n\t\t\t\t\t\t\t\t\tIf this is an ATP label, ensure that the product has \"Is Bulk Lot?\" and \"Use Parata Lot Number\" \r\n\t\t\t\t\t\t\t\t\ttoggled within the product detail of the current inventory.`, null, { positionClass: 'toast-top-right', timeOut: 8000 });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn this.emitScan(null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fancy GS1 barcode, can get all data\r\n\t\t\t\t\tbarcode = this.inventoryService.scanGs1Barcode(barcodeStr);\r\n\t\t\t\t}\r\n\t\t\t\t// Emit the scan events and get the product info, if desired\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.includeProductInfo \r\n\t\t\t\t\t&& barcode !== null \r\n\t\t\t\t\t&& (\r\n\t\t\t\t\t\tthis.isFulfillment \r\n\t\t\t\t\t\t|| this.isCiReceiving\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.inventoryService.getNdcProductInfo(\r\n\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t, barcode.ndc10\r\n\t\t\t\t\t\t, this.inventorySiteId\r\n\t\t\t\t\t).subscribe(productInfo => {\r\n\t\t\t\t\t\tif (productInfo) {\r\n\t\t\t\t\t\t\tbarcode.productInfo = productInfo;\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t!barcode.productInfo.isInventoryProductActive \r\n\t\t\t\t\t\t\t\t&& this.isFulfillment\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tthis.toastr.error('The product scanned is not active in your current inventory.', null, { positionClass: 'toast-top-right', timeOut: 2000 });\r\n\t\t\t\t\t\t\t\tthis.beepError.play();\r\n\t\t\t\t\t\t\t\tthis.scanError.emit(barcode);\r\n\t\t\t\t\t\t\t\tthis.isProcessing = false;\r\n\t\t\t\t\t\t\t\tconsole.log(\"scan-product: scanBarcode() isProcessing line 226\", this.isProcessing);\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (!this.isCiReceiving) { \r\n\t\t\t\t\t\t\tbarcode = null; \r\n\t\t\t\t\t\t\tthis.toastr.error('The product scanned does not exist in the GlobalNDC table.', null, { positionClass: 'toast-top-right', timeOut: 2000 });\r\n\t\t\t\t\t\t\tthis.beepError.play();\r\n\t\t\t\t\t\t\tthis.scanError.emit(barcode);\r\n\t\t\t\t\t\t\tthis.isProcessing = false;\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.emitScan(barcode);\t\t\r\n\t\t\t\t\t});\r\n\t\t\t\t} else { this.emitScan(barcode); }\r\n\t\t\t}\r\n\t\t\tthis.isProcessing = false; // ensure scan is re-enabled.\r\n\t\t} catch (error) {\r\n\t\t\tthis.isProcessing = false; // ensure scan is re-enabled.\r\n\t\t\tconsole.log(error);\r\n\t\t\tthrow error;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * This function parses the Quantity from the ATP2 Barcode \r\n\t * which might have partial pills\r\n\t * @param quantity \r\n\t * @returns Quantity parsed\r\n\t*/\r\n\tparseAtp2Qty(quantity: string) {\r\n\t\tif (quantity.includes('x')) {\r\n\t\t\tlet wholeNumber = parseInt(quantity?.split('x')[0]);\r\n\t\t\tlet fraction = quantity?.split('x')[1];\r\n\t\t\tlet dividend = parseInt(fraction?.split('/')[0]);\r\n\t\t\tlet divisor = parseInt(fraction?.split('/')[1]);\r\n\t\t\tlet finalNumber = wholeNumber * (dividend / divisor);\r\n\t\t\treturn finalNumber;\r\n\t\t} else { return parseInt(quantity); }\r\n\t}\r\n\r\n\t/**\r\n\t * This function emits the scan events that can be used by other components\r\n\t * @param barcode The ProductBarcode that was parsed\r\n\t*/\r\n\temitScan(\r\n\t\tbarcode: ProductBarcode\r\n\t\t, barcodeStr: string = null\r\n\t) {\r\n\t\tthis.isProcessing = false; // ensure scan is re-enabled.\r\n\t\tlet scannedNdc = null;\r\n\t\tif (barcodeStr !== null) { scannedNdc = FormatHelperService.FormatNdc(barcodeStr.split(\";\")[1]); }\r\n\t\tif (barcode !== null) {\r\n\t\t\t// If scanned NDC does not match the product NDC for the selected Rx, open confirmation modal\r\n\t\t\tif (\r\n\t\t\t\tscannedNdc !== null \r\n\t\t\t\t&& scannedNdc !== this.ndc\r\n\t\t\t) {\tthis.confirmIncorrectNdc(barcode, scannedNdc); }\r\n\t\t\telse {\r\n\t\t\t\t// Check if the inventory product is active, if not return an error message.\r\n\t\t\t\tthis.beepSuccess.play();\r\n\t\t\t\tthis.scanSuccess.emit(barcode);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.beepError.play();\r\n\t\t\tthis.scanError.emit(barcode);\r\n\t\t}\r\n\t\tthis.scan.emit(barcode);\r\n\t}\r\n\r\n\tscanDetectionProcessing(event: KeyboardEvent) {\r\n let target = (event.target as HTMLFormElement);\r\n\t\t// When focused in the scanner, return to speed things up.\r\n\t\tif (target.id === this.txtBarcode.nativeElement.id) { return; }\r\n\t\t// Since the scan happens so rapidly, timeoutId having value should indicate a scan is in progress.\r\n\t\tif (this.timeoutId) {\r\n\t\t\t// Prevent the timeout function below from happening. timeoutId will be the for the last time this was fired in the last 60 milliseconds.\r\n\t\t\tclearTimeout(this.timeoutId);\r\n\t\t\t// Getting here means that a scan is most likey in progress. If the user is currently focused on another input element, we want to retain the elements original value. \r\n\t\t\ttarget.value = this._oldValue;\r\n\t\t}\r\n\t\t// Save the inputs original value. \r\n\t\telse { this._oldValue = target?.value; }\r\n\t\t// The following should only process on manual inputs, or when the last character of a scan has been entered.\r\n\t\tthis.timeoutId = setTimeout(() => {\r\n\t\t\t// reset these variables after manual entry or the last character of a scan has been entered.\r\n\t\t\tthis._input = '';\r\n\t\t\tthis.timeoutId = null;\r\n\t\t\t// On 'Enter' trigger the key down, validation in this function will take over from here.\r\n\t\t\tif (event.key === 'Enter') { this.keyDown(event); }\r\n\t\t}, 30); // May need to up the timeout if the browser cannot process quickly enough.\r\n\t\t// The last character on a scan should be 'Enter', once input set the scan value.\r\n\t\tif (event.key === 'Enter') { this.txtBarcode.nativeElement.value = this._input; }\r\n\t\t// Capture delimeter appropriately.\r\n\t\telse if (\r\n\t\t\tevent.key === 'F8' \r\n\t\t\t|| (\r\n\t\t\t\tthis.isControlDown \r\n\t\t\t\t&& event.key === ']'\r\n\t\t\t)\r\n\t\t\t|| event.key === 'Alt'\r\n\t\t) { this._input += '↔'; }\r\n\t\t// Ignore complex keys.\r\n\t\telse if (event.key?.length > 1) { return; }\r\n // Ignore keys that are from the Numpad. Zebra scanners append '0029' characters (Alt+29 = ↔)\r\n else if (event.location == this.NUMPAD_EVENT_LOCATION) { return; }\r\n\t\t// Adding the event key to the '_input' variable here since scans should finish procesessing before the value is reset in the timeout function above.\r\n\t\telse { this._input += event.key; }\r\n\t}\r\n\r\n\t// Opens confirmation modal if the scanned NDC != NDC passed into this component from the selected Rx\r\n\tconfirmIncorrectNdc(\r\n\t\tbarcode: ProductBarcode\r\n\t\t, scannedNdc: string\r\n\t) {\r\n\t\tconst modal = this.modalService.open(ConfirmationModalComponent);\r\n\t\t// Passes modal reference into component to give us the ability to close it.\r\n\t\tmodal.componentInstance.modalRef = modal;\r\n\t\t// Instantiates properties in the component.\r\n\t\tmodal.componentInstance.confirmationMessage = \r\n\t\t`

The scanned product NDC (${scannedNdc}) does not match the selected Rx product NDC (${this.ndc}).

\r\n\t\t

Are you sure you want to continue?

`;\r\n\r\n\t\tmodal.result.then((emittedValue) => {\r\n\t\t\tif(emittedValue) {\r\n\t\t\t\tthis.beepSuccess.play();\r\n\t\t\t\tthis.scanSuccess.emit(barcode);\r\n\t\t\t}\r\n\t\t}).catch(err => {\r\n\t\t\t// Prevents Uncaught (in promise) error when user \r\n\t\t\t// closes modal from clicking outside modal. \r\n\t\t});\r\n\t}\r\n\r\n\thelpButtonClicked() { this.modalService.open(this.helpModal); }\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n\r\n\r\n\r\n\t
\r\n\t\t
Scanner Help
\r\n\t\t\r\n\t
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\"QR\r\n\t\t
\r\n\t\t

\r\n\t\t\tPlease locate the GS1 DataMatrix barcode that looks similar to this one.

\r\n\t\t\tStandard barcodes will not work.

\r\n\t\t\tSimply use your barcode scanner to scan this making sure you have first clicked into the input field to the\r\n\t\t\tleft of the help button.

\r\n\t\t\tTip: If your barcode and QR matrix are close to each other cover up the barcode with your other hand.\r\n\t\t

\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class AuditHistoryVm {\r\n\tauditHistoryID: number;\r\n\tdateChanged: Date;\r\n\tdateChangedFormatted?: string;\r\n\tfield?: string;\r\n\tchangedFrom?: string;\r\n\tchangedTo?: string;\r\n\tchangedBy?: string;\r\n\tpfsLink?: string;\r\n\tmodule?: string;\r\n\trecordAffected?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'auditHistoryID': new UntypedFormControl(0, [...(validators['auditHistoryID'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateChanged': new UntypedFormControl('', [...(validators['dateChanged'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateChangedFormatted': new UntypedFormControl(null, [...(validators['dateChangedFormatted'] ?? []), ...[]]),\r\n\t\t\t'field': new UntypedFormControl(null, [...(validators['field'] ?? []), ...[]]),\r\n\t\t\t'changedFrom': new UntypedFormControl(null, [...(validators['changedFrom'] ?? []), ...[]]),\r\n\t\t\t'changedTo': new UntypedFormControl(null, [...(validators['changedTo'] ?? []), ...[]]),\r\n\t\t\t'changedBy': new UntypedFormControl(null, [...(validators['changedBy'] ?? []), ...[]]),\r\n\t\t\t'pfsLink': new UntypedFormControl(null, [...(validators['pfsLink'] ?? []), ...[]]),\r\n\t\t\t'module': new UntypedFormControl(null, [...(validators['module'] ?? []), ...[]]),\r\n\t\t\t'recordAffected': new UntypedFormControl(null, [...(validators['recordAffected'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['dateChanged', {\"orderId\":0,\"sortColumn\":\"dateChanged\",\"searchColumn\":\"dateChangedFormatted\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Date Changed\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['module', {\"orderId\":1,\"sortColumn\":\"module\",\"searchColumn\":\"module\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Module\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['recordAffected', {\"orderId\":2,\"sortColumn\":\"recordAffected\",\"searchColumn\":\"recordAffected\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Record Affected\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['field', {\"orderId\":3,\"sortColumn\":\"field\",\"searchColumn\":\"field\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Field\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['changedFrom', {\"orderId\":4,\"sortColumn\":\"changedFrom\",\"searchColumn\":\"changedFrom\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Changed From\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['changedTo', {\"orderId\":5,\"sortColumn\":\"changedTo\",\"searchColumn\":\"changedTo\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Changed To\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['changedBy', {\"orderId\":6,\"sortColumn\":\"changedBy\",\"searchColumn\":\"changedBy\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Changed By\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): AuditHistoryVmFromFg {\r\n\t\treturn new AuditHistoryVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class AuditHistoryVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget auditHistoryID(): number {\r\n\t\treturn this.fg.get('auditHistoryID').value;\r\n\t}\r\n\tset auditHistoryID(val) {\r\n\t\tthis.fg.get('auditHistoryID').setValue(val);\r\n\t}\r\n\r\n\tget dateChanged(): Date {\r\n\t\treturn this.fg.get('dateChanged').value;\r\n\t}\r\n\tset dateChanged(val) {\r\n\t\tthis.fg.get('dateChanged').setValue(val);\r\n\t}\r\n\r\n\tget dateChangedFormatted(): string {\r\n\t\treturn this.fg.get('dateChangedFormatted').value;\r\n\t}\r\n\tset dateChangedFormatted(val) {\r\n\t\tthis.fg.get('dateChangedFormatted').setValue(val);\r\n\t}\r\n\r\n\tget field(): string {\r\n\t\treturn this.fg.get('field').value;\r\n\t}\r\n\tset field(val) {\r\n\t\tthis.fg.get('field').setValue(val);\r\n\t}\r\n\r\n\tget changedFrom(): string {\r\n\t\treturn this.fg.get('changedFrom').value;\r\n\t}\r\n\tset changedFrom(val) {\r\n\t\tthis.fg.get('changedFrom').setValue(val);\r\n\t}\r\n\r\n\tget changedTo(): string {\r\n\t\treturn this.fg.get('changedTo').value;\r\n\t}\r\n\tset changedTo(val) {\r\n\t\tthis.fg.get('changedTo').setValue(val);\r\n\t}\r\n\r\n\tget changedBy(): string {\r\n\t\treturn this.fg.get('changedBy').value;\r\n\t}\r\n\tset changedBy(val) {\r\n\t\tthis.fg.get('changedBy').setValue(val);\r\n\t}\r\n\r\n\tget pfsLink(): string {\r\n\t\treturn this.fg.get('pfsLink').value;\r\n\t}\r\n\tset pfsLink(val) {\r\n\t\tthis.fg.get('pfsLink').setValue(val);\r\n\t}\r\n\r\n\tget module(): string {\r\n\t\treturn this.fg.get('module').value;\r\n\t}\r\n\tset module(val) {\r\n\t\tthis.fg.get('module').setValue(val);\r\n\t}\r\n\r\n\tget recordAffected(): string {\r\n\t\treturn this.fg.get('recordAffected').value;\r\n\t}\r\n\tset recordAffected(val) {\r\n\t\tthis.fg.get('recordAffected').setValue(val);\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuditHistoryVm } from 'app/shared/generated/Models/AuditHistoryVm';\r\nimport { TableComponent } from '../table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-audit-history',\r\n templateUrl: './audit-history.component.html',\r\n styleUrls: ['./audit-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class AuditHistoryComponent implements OnInit {\r\n\r\n\t@ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n\r\n @Input() id: number;\r\n @Input() viewModel: string;\r\n @Input() auditHistoryName: string;\r\n @Input() hideBackButton: boolean = false;\r\n @Input() pageSize: number = 100;\r\n\r\n columns = AuditHistoryVm.ColumnDefs;\r\n auditName: string;\r\n filters = {\r\n id: null,\r\n viewModel: null,\r\n auditName: null\r\n };\r\n\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.id && this.viewModel && this.auditHistoryName) {\r\n this.filters.id = this.id;\r\n this.filters.viewModel = this.viewModel;\r\n this.filters.auditName = this.auditHistoryName;\r\n } else if (this.activatedRoute.snapshot.params['vmType'] && this.activatedRoute.snapshot.params['auditName']) {\r\n this.filters.id = this.activatedRoute.snapshot.params['id'];\r\n this.filters.viewModel = this.activatedRoute.snapshot.params['vmType'];\r\n this.filters.auditName = this.activatedRoute.snapshot.params['auditName'];\r\n } else {\r\n this.filters.id = this.activatedRoute.snapshot.params['id'];\r\n this.filters.viewModel = localStorage?.getItem('vmType');\r\n this.filters.auditName = localStorage?.getItem('auditName');\r\n }\r\n\t\tif (this.activatedRoute.snapshot.queryParamMap.get('hideBackButton')) {\r\n\t\t\tconst hideBackButtonStr = this.activatedRoute.snapshot.queryParamMap.get('hideBackButton');\r\n\t\t\tif (hideBackButtonStr === \"true\") { this.hideBackButton = true; }\r\n\t\t}\r\n // Display the module comment by default for CI Repack. This will eventually by default shown for all BA's once audit enhancements are complete. \r\n if ((this.filters.viewModel as string)?.includes('CIRepack')) { this.columns.get('module').isVisible = true; } \r\n }\r\n\r\n // CI Navigation Conditional Methods\r\n isCi = () => this.viewModel?.includes(\"Job\") || this.filters?.viewModel?.includes(\"Job\")\r\n isCiJob = () => this.viewModel?.includes(\"Job\") || this.filters?.viewModel?.includes(\"Job\")\r\n goBack() { window.history.back(); }\r\n}\r\n","

Audit History

\r\n\r\n \r\n \r\n {{ columns.get('friendlyRecordId').displayName }}\r\n {{ row.friendlyRecordId }}\r\n \r\n\r\n \r\n {{ columns.get('dateChanged').displayName }}\r\n {{ row.dateChangedFormatted }}\r\n \r\n\r\n\t\r\n\t\t{{ columns.get('module').displayName }}\r\n\t\t{{ row.module }}\r\n\t\r\n\r\n \r\n\t\t{{ columns.get('recordAffected').displayName }}\r\n\t\t{{ row.recordAffected }}\r\n\t\r\n\r\n \r\n {{ columns.get('field').displayName }}\r\n {{ row.field }}\r\n \r\n\r\n \r\n {{ columns.get('changedFrom').displayName }}\r\n {{ row.changedFrom }}\r\n \r\n\r\n \r\n {{ columns.get('changedTo').displayName }}\r\n {{ row.changedTo }}\r\n \r\n\r\n \r\n {{ columns.get('changedBy').displayName }}\r\n {{ row.changedBy }}\r\n \r\n\r\n\r\n
\r\n Back\r\n
","// tslint:disable: quotemark\r\nexport enum VerificationTypeEnum {\r\n\tFido = 0,\r\n\tFingerprint = 1,\r\n\tPin = 2,\r\n\tCredentials = 3\r\n}\r\n\r\nexport namespace VerificationTypeEnum {\r\n\texport function toDescription(val: VerificationTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"FIDO device without biometrics\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Biometric identification\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"PIN\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Credentials\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: VerificationTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"Device\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"SecuGen\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"PIN\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Credentials\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\nimport { VerificationVm, VerificationVmFromFg } from '../../Administration/Models/VerificationVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class VerificationSettingVm {\r\n\tbusinessArea?: any;\r\n\tamountOfChoices?: any;\r\n\tverificationChoices?: any;\r\n\tverificationSettings?: VerificationVm[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'businessArea': new UntypedFormControl('', [...(validators['businessArea'] ?? []), ...[Validators.required]]),\r\n\t\t\t'amountOfChoices': new UntypedFormControl(null, [...(validators['amountOfChoices'] ?? []), ...[]]),\r\n\t\t\t'verificationChoices': new UntypedFormControl(null, [...(validators['verificationChoices'] ?? []), ...[]]),\r\n\t\t\t'verificationSettings': new UntypedFormArray([])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): VerificationSettingVmFromFg {\r\n\t\treturn new VerificationSettingVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class VerificationSettingVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget businessArea(): any {\r\n\t\treturn this.fg.get('businessArea').value;\r\n\t}\r\n\tset businessArea(val) {\r\n\t\tthis.fg.get('businessArea').setValue(val);\r\n\t}\r\n\r\n\tget amountOfChoices(): any {\r\n\t\treturn this.fg.get('amountOfChoices').value;\r\n\t}\r\n\tset amountOfChoices(val) {\r\n\t\tthis.fg.get('amountOfChoices').setValue(val);\r\n\t}\r\n\r\n\tget verificationChoices(): any {\r\n\t\treturn this.fg.get('verificationChoices').value;\r\n\t}\r\n\tset verificationChoices(val) {\r\n\t\tthis.fg.get('verificationChoices').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class VerificationVm {\r\n\tverificationEnum?: any;\r\n\tverificationStr?: string;\r\n\tnumberOfVerificationsRequired?: any;\r\n\tverificationTypesAllowed?: any;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'verificationEnum': new UntypedFormControl(null, [...(validators['verificationEnum'] ?? []), ...[]]),\r\n\t\t\t'verificationStr': new UntypedFormControl(null, [...(validators['verificationStr'] ?? []), ...[]]),\r\n\t\t\t'numberOfVerificationsRequired': new UntypedFormControl(null, [...(validators['numberOfVerificationsRequired'] ?? []), ...[]]),\r\n\t\t\t'verificationTypesAllowed': new UntypedFormControl(null, [...(validators['verificationTypesAllowed'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): VerificationVmFromFg {\r\n\t\treturn new VerificationVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class VerificationVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget verificationEnum(): any {\r\n\t\treturn this.fg.get('verificationEnum').value;\r\n\t}\r\n\tset verificationEnum(val) {\r\n\t\tthis.fg.get('verificationEnum').setValue(val);\r\n\t}\r\n\r\n\tget verificationStr(): string {\r\n\t\treturn this.fg.get('verificationStr').value;\r\n\t}\r\n\tset verificationStr(val) {\r\n\t\tthis.fg.get('verificationStr').setValue(val);\r\n\t}\r\n\r\n\tget numberOfVerificationsRequired(): any {\r\n\t\treturn this.fg.get('numberOfVerificationsRequired').value;\r\n\t}\r\n\tset numberOfVerificationsRequired(val) {\r\n\t\tthis.fg.get('numberOfVerificationsRequired').setValue(val);\r\n\t}\r\n\r\n\tget verificationTypesAllowed(): any {\r\n\t\treturn this.fg.get('verificationTypesAllowed').value;\r\n\t}\r\n\tset verificationTypesAllowed(val) {\r\n\t\tthis.fg.get('verificationTypesAllowed').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormArray, UntypedFormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { faUsbDrive } from '@fortawesome/pro-solid-svg-icons';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { VerificationTypeEnum } from 'app/core/enums/generated/VerificationTypeEnum';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { VerificationSettingVm } from 'app/shared/generated/Administration/Models/VerificationSettingVm';\r\nimport { VerificationVm } from 'app/shared/generated/Administration/Models/VerificationVm';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\n\r\n@Component({\r\n selector: 'pcg-verification-settings',\r\n templateUrl: './verification-settings.component.html',\r\n styleUrls: ['./verification-settings.component.scss'],\r\n standalone: false\r\n})\r\nexport class VerificationSettingsComponent implements OnInit {\r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() getUrlAction: string;\r\n @Input() saveUrlAction: string;\r\n\r\n formGroup = VerificationSettingVm.Form;\r\n\tmodel = VerificationSettingVm.GetModel(this.formGroup);\r\n\tmodel$: Observable;\r\n verificationVm: VerificationVm[] = [];\r\n amountOfSigs: SelectItem[] = [];\r\n user: UserJsVm;\r\n\r\n canEdit = false;\r\n\r\n faIcon = { faUsbDrive };\r\n\r\n verificationType = VerificationTypeEnum;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n\t\t, private sms: SystemMessageService\r\n\t\t, public router: Router\r\n\t\t, public sec: SecurityService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.user = this.sec.getUser();\r\n this.checkSecurity();\r\n \r\n this.model$ = this.httpClient\r\n\t\t\t.get(`api/Administration/VerificationSettings/${this.getUrlAction}`)\r\n\t\t\t.pipe(tap((vm: VerificationSettingVm) => {\r\n this.addVerificationSettings(vm.verificationSettings.length);\r\n\t\t\t\tthis.formGroup.setValue(vm); \r\n\t\t\t\tthis.amountOfSigs = vm.amountOfChoices;\r\n\t\t\t\tthis.verificationVm = this.formGroup.get('verificationSettings').value;\t\r\n\t\t\t}));\r\n }\r\n\r\n checkSecurity() {\r\n if (this.businessArea === BusinessAreaEnum.CI) {\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n );\r\n } else if (this.businessArea === BusinessAreaEnum.Inventory) {\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [ BusinessAreaEnum.Inventory ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n );\r\n } else if (this.businessArea === BusinessAreaEnum.Admin) {\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n );\r\n } else if (this.businessArea === BusinessAreaEnum.SysInv) {\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [ BusinessAreaEnum.SysInv ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n );\r\n }\r\n if (!this.canEdit) {\r\n this.router.navigateByUrl('dashboard');\r\n this.sms.setSystemMessage(\"Access Denied. You do not have sufficient permission level.\", \"error\");\r\n }\r\n }\r\n\r\n addVerificationSettings(amount: number) {\r\n for (let i = 0; i < amount; i++) {\r\n\t\t\t(this.formGroup.controls.verificationSettings as UntypedFormArray)\r\n .push(new UntypedFormGroup(VerificationVm.FormData));\r\n\t\t}\r\n }\r\n\r\n numVerificationsChange(val: number, cntrl, item: VerificationVm ) {\r\n\t\tcntrl.setValue(val);\r\n\t\tthis.saveForm(item);\r\n\t}\r\n\r\n verificationTypeChange(val: number, cntrl, isSelected: boolean, item: VerificationVm) {\r\n\t\tconst index = cntrl.value.indexOf(val, 0);\r\n\t\tif (isSelected === true) { cntrl.value.splice(index, 1); } \r\n\t\telse { cntrl.value.push(val); }\r\n\t\tthis.saveForm(item, val, cntrl);\r\n\t}\r\n\r\n saveForm(item: VerificationVm, val?: number, cntrl?) {\r\n this.httpClient.post(\r\n\t\t\t`api/Administration/VerificationSettings/${this.saveUrlAction}`, \r\n\t\t\tthis.filterForm(item)\r\n\t\t).subscribe((sm: SystemMessage) => { \r\n\t\t\tthis.sms.setSystemMessage(sm.message, sm.messageClass);\r\n if(!sm.isSuccessful){\r\n cntrl.value.push(val);\r\n }\r\n\t\t});\r\n }\r\n\r\n // Filter verificationsSettings list by the item (verificationEnum member) you are changing\r\n filterForm(item: VerificationVm) : VerificationSettingVm {\r\n var settingsVm : VerificationSettingVm = this.formGroup.getRawValue();\r\n settingsVm.verificationSettings = settingsVm.verificationSettings.filter(o => o.verificationEnum == item.verificationEnum);\r\n return settingsVm;\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{{ item.get(\"verificationStr\").value }}
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","var hI = Object.create;\nvar zA = Object.defineProperty;\nvar yI = Object.getOwnPropertyDescriptor;\nvar FI = Object.getOwnPropertyNames;\nvar kI = Object.getPrototypeOf,\n GI = Object.prototype.hasOwnProperty;\nvar UI = (B, A) => () => (A || B((A = {\n exports: {}\n}).exports, A), A.exports);\nvar RI = (B, A, I, g) => {\n if (A && typeof A == \"object\" || typeof A == \"function\") for (let C of FI(A)) !GI.call(B, C) && C !== I && zA(B, C, {\n get: () => A[C],\n enumerable: !(g = yI(A, C)) || g.enumerable\n });\n return B;\n};\nvar MI = (B, A, I) => (I = B != null ? hI(kI(B)) : {}, RI(A || !B || !B.__esModule ? zA(I, \"default\", {\n value: B,\n enumerable: !0\n}) : I, B));\nvar AI = UI(($A, fA) => {\n \"use strict\";\n\n var _A = (() => {\n var B = typeof document != \"undefined\" && document.currentScript ? document.currentScript.src : void 0;\n return function (A = {}) {\n var I = A,\n g,\n C;\n I.ready = new Promise((D, s) => {\n g = D, C = s;\n });\n var Q = Object.assign({}, I),\n E = \"\";\n typeof document != \"undefined\" && document.currentScript && (E = document.currentScript.src), B && (E = B), E.startsWith(\"blob:\") ? E = \"\" : E = E.substr(0, E.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n var a = I.printErr || console.error.bind(console);\n Object.assign(I, Q), Q = null;\n var e;\n I.wasmBinary && (e = I.wasmBinary);\n var t,\n c = !1,\n S,\n h;\n function U() {\n var D = t.buffer;\n I.HEAP8 = S = new Int8Array(D), I.HEAP16 = new Int16Array(D), I.HEAPU8 = h = new Uint8Array(D), I.HEAPU16 = new Uint16Array(D), I.HEAP32 = new Int32Array(D), I.HEAPU32 = new Uint32Array(D), I.HEAPF32 = new Float32Array(D), I.HEAPF64 = new Float64Array(D);\n }\n var H = [],\n n = [],\n k = [];\n function q() {\n var D = I.preRun.shift();\n H.unshift(D);\n }\n var f = 0,\n l = null,\n IA = null;\n function gA(D) {\n var s;\n throw (s = I.onAbort) == null || s.call(I, D), D = \"Aborted(\" + D + \")\", a(D), c = !0, D = new WebAssembly.RuntimeError(D + \". Build with -sASSERTIONS for more info.\"), C(D), D;\n }\n var xA = D => D.startsWith(\"data:application/octet-stream;base64,\"),\n z;\n if (z = \"data:application/octet-stream;base64,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NgIEIAAgAmoiACAAKAIEQQFyNgIEDAELIAIgBkEDcjYCBCACIAZqIgUgA0EBcjYCBCADIAVqIAM2AgAgCARAIAhBeHFB4JwCaiEAQcycAigCACEBAn9BASAIQQN2dCIHIARxRQRAQbicAiAEIAdyNgIAIAAMAQsgACgCCAshBCAAIAE2AgggBCABNgIMIAEgADYCDCABIAQ2AggLQcycAiAFNgIAQcCcAiADNgIACyACQQhqIQALIApBEGokACAAC8MKAgV/EX4jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhCEZQgAhASAZUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxAZQRAgBmshBiAFKQNYIg1CIIghDiAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDCADIAwgDFAiCBt5IAhBBnStfKciCEEPaxAZIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+fCIRIAxCD4YiEiADQjGIhEL/////D4MiAyABfnwiFCAPIBBUrUIghiAPQiCIhHwiDyACIA5CgIAEhCIMfiIWIA0gE358Ig4gEkIgiEKAgICACIQiAiABfnwiECADIAR+fCISQiCGfCIXfCEBIAcgCWogBmpB//8AayEGAkAgAiAEfiIYIAwgE358IgQgGFStIAQgBCADIA1+fCIEVq18IAIgDH58IAQgBCARIBVUrSARIBRWrXx8IgRWrXwgAyAMfiIDIAIgDX58IgIgA1StQiCGIAJCIIiEfCAEIAJCIIZ8IgIgBFStfCACIAIgECASVq0gDiAWVK0gDiAQVq18fEIghiASQiCIhHwiAlatfCACIAIgDyAUVK0gDyAXVq18fCICVq18IgRCgICAgICAwACDQgBSBEAgBkEBaiEGDAELIAtCP4ghGiAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAtCAYYhCyAaIAFCAYaEIQELIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogCyABIAZB/wBqIgYQGSAFQSBqIAIgBCAGEBkgBUEQaiALIAEgBxBHIAUgAiAEIAcQRyAFKQMwIAUpAziEQgBSrSAFKQMgIAUpAxCEhCELIAUpAyggBSkDGIQhASAFKQMAIQIgBSkDCAwCC0IAIQEMAgsgBEL///////8/gyAGrUIwhoQLIAqEIQogC1AgAUIAWSABQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiAVCtfCEKDAELIAsgAUKAgICAgICAgIB/hYRCAFIEQCACIQEMAQsgCiACIAJCAYN8IgEgAlStfCEKCyAAIAE3AwAgACAKNwMIIAVB4ABqJAAL1gEBBX8CQCAARQ0AIAFFDQAgACgCCCIDRQ0AA0ACQCADKAIgIgBFDQAgACABRgRAIAMPCyABIQUgAS0AACIEIgJBIHIgAiACQcEAa0EaSRsiBiAALQAAIgJBIHIgAiACQcEAa0EaSRsiAkYEQANAIARFBEAgAw8LIAUtAAEhBCAALQABIQIgAEEBaiEAIAVBAWohBSAEQSByIAQgBEHBAGtBGkkbIgYgAkEgciACIAJBwQBrQRpJGyICRg0ACwsgAiAGRw0AIAMPCyADKAIAIgMNAAsLQQALYwEDfyAAQTBqIQICQAJAIAAoAjAiAEUNACABKAIAIQMgAiEBA0AgASAAIAAoAhAgA0giBBshASAAIARBAnRqKAIAIgANAAsgASACRg0AIAMgASgCEE4NAQsgAiEBCyABIAJHC5IEAQh/IwBBEGsiBCQAIAQgAToADwJAAkACfyAALQALIgNBB3YiBUUEQEEKIQEgA0H/AHEMAQsgACgCCEH/////B3FBAWshASAAKAIECyIGIAFGBEAjAEEQayIDJAACQCABQe////8HRwRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshBSADQQRqIgIgACABQef///8DSQR/IAMgAUEBdDYCDCADIAFBAWo2AgQjAEEQayIHJAAgAigCACADQQxqIggoAgBJIQkgB0EQaiQAIAggAiAJGygCACICQQtPBH8gAkEQakFwcSICIAJBAWsiAiACQQtGGwVBCgtBAWoFQe////8HCxBNIAMoAgQhAiADKAIIGiABBEAgAiAFIAEQLwsgAUEKRwRAIAUQBAsgACACNgIAIAAgACgCCEGAgICAeHEgAygCCEH/////B3FyNgIIIAAgACgCCEGAgICAeHI2AgggA0EQaiQADAELEA0ACyAAIAE2AgQCfyAALQALQQd2BEAgACgCAAwBC0EACxoMAQsCfyAALQALQQd2BEAgACgCAAwBC0EACxogBQ0AIAAiASAALQALQYABcSAGQQFqQf8AcXI6AAsgACAALQALQf8AcToACwwBCyAAKAIAIQEgACAGQQFqNgIECyABIAZqIgAgBC0ADzoAACAEQQA6AA4gACAELQAOOgABIARBEGokAAvZAQECfyMAQRBrIgQkAAJAAkAgAkELSQRAIAAiAyAALQALQYABcSACQf8AcXI6AAsgACAALQALQf8AcToACwwBCyACQe////8HSw0BIARBCGogACACQQtPBH8gAkEQakFwcSIDIANBAWsiAyADQQtGGwVBCgtBAWoQTSAEKAIMGiAAIAQoAggiAzYCACAAIAAoAghBgICAgHhxIAQoAgxB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgAjYCBAsgAyABIAJBAWoQLyAEQRBqJAAPCxANAAvCAQEDfyAALQAAQSBxRQRAAkAgAiAAKAIQIgMEfyADBSAAEOEBDQEgACgCEAsgACgCFCIEa0sEQCAAIAEgAiAAKAIkEQUAGgwBCwJAAkAgACgCUEEASA0AIAJFDQAgAiEDA0AgASADaiIFQQFrLQAAQQpHBEAgA0EBayIDDQEMAgsLIAAgASADIAAoAiQRBQAgA0kNAiACIANrIQIgACgCFCEEDAELIAEhBQsgBCAFIAIQBxogACAAKAIUIAJqNgIUCwsLtAECBX8BfgJAIAAoAgQgACgCACIDKAIAIAMoAgQiAkEDdkH8////AXFqRyAAKAIIIAJBH3FHckUNACABQQBMDQADQCAAKQIEIgenIQIgAAJ/IAdCIIinIgRBH0cEQCAEQQFqDAELIAAgAkEEaiICNgIEQQALIgQ2AgggAiADKAIAIAMoAgQiBUEDdkH8////AXFqRiAEIAVBH3FGcQ0BIAFBAUohBiABQQFrIQEgBg0ACwsgAAuMBAEEfyABIAAgAUYiAjoADAJAIAINAANAIAEoAggiAi0ADA0BAkAgAiACKAIIIgMoAgAiBEYEQAJAIAMoAgQiBEUNACAELQAMDQAMAgsCQCABIAIoAgBGBEAgAiEBDAELIAIgAigCBCIBKAIAIgQ2AgQgAiEAIAQEQCAEIAI2AgggAigCCCIDKAIAIQALIAEgAzYCCCADIAAgAkdBAnRqIAE2AgAgASACNgIAIAIgATYCCCABKAIIIgMoAgAhAgsgAUEBOgAMIANBADoADCADIAIoAgQiADYCACAABEAgACADNgIICyACIAMoAggiADYCCCAAIAAoAgAgA0dBAnRqIAI2AgAgAiADNgIEIAMgAjYCCA8LAkAgBEUNACAELQAMDQAMAQsCQCABIAIoAgBHBEAgAiEBDAELIAIgASgCBCIANgIAIAAEQCAAIAI2AgggAigCCCEDCyABIAM2AgggAyADKAIAIAJHQQJ0aiABNgIAIAEgAjYCBCACIAE2AgggASgCCCEDCyABQQE6AAwgA0EAOgAMIAMgAygCBCIAKAIAIgE2AgQgAQRAIAEgAzYCCAsgACADKAIIIgE2AgggASABKAIAIANHQQJ0aiAANgIAIAAgAzYCACADIAA2AggMAgsgBEEMaiEFIAJBAToADCADIAAgA0Y6AAwgBUEBOgAAIAMiASAARw0ACwsLdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMAC1ABAX4CQCADQcAAcQRAIAEgA0FAaq2GIQJCACEBDAELIANFDQAgAiADrSIEhiABQcAAIANrrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMIC2sBAX8jAEGAAmsiBSQAAkAgAiADTA0AIARBgMAEcQ0AIAUgASACIANrIgNBgAIgA0GAAkkiARsQCRogAUUEQANAIAAgBUGAAhAVIANBgAJrIgNB/wFLDQALCyAAIAUgAxAVCyAFQYACaiQAC5ADAgR/A30jAEEgayIEJAAgASoCACEIIAAqAgAhCSAEIAAqAgQgASoCBCIKkjgCDCAEIAkgCJI4AgggBEEUaiACIAAgBEEIaiIBIAMQqgIgACoCACEJIAQgACoCBCAKkzgCBCAEIAkgCJM4AgAgASACIAAgBCADEKoCIAQtABAhAQJAIAACfSAELQAcRQRAIAFFDQIgBCgCDCEBIAAgCEMAAAA/lCAEKAIIspIgACoCACIIk0MAAIA+lCAIkjgCACAKQwAAAD+UIAGykiAAKgIEIgiTQwAAgD6UIAiSDAELIAQoAhQhAiABRQRAIAQoAhghBSAAIAKyIAhDAAAAP5STIAAqAgAiCJNDAACAPpQgCJI4AgAgBbIgCkMAAAA/lJMgACoCBCIIk0MAAIA+lCAIkgwBCyAEKAIMIQcgBCgCGCEGIAAgBCgCCCACarJDAAAAP5QgACoCACIIk0MAAIA+lCAIkjgCACAHIAZqskMAAAA/lCAAKgIEIgiTQwAAgD6UIAiSCzgCBAsgBEEgaiQAC44BAQF/QShByPgAKAIAEQMAIgEEQCABQgA3AwggAUIANwMAIAFCADcDICABQgA3AxAgASAAOQMYIAFBCDYCDCABAn9B/////wcgAEQAAMD////fQWYNABpBgICAgHggAEQAAAAAAADgwWUNABogAJlEAAAAAAAA4EFjBEAgAKoMAQtBgICAgHgLNgIUCyABC1gBAX8CQCAAIAFGDQAgAEUNACABRQ0AIAAoAggiAkUEQCAAIAE2AgggAUEANgIAIAEgATYCBA8LIAIoAgQiAEUNACAAIAE2AgAgASAANgIEIAIgATYCBAsL6AUBCH8jAEHwAGsiAiQAIAEoAgAhASACQUBrIAAoAgAiACkCODcDACACIAApAjA3AzggAiAAKQIoNwMwIAIgACkCIDcDKCACIAApAhg3AyAgAiAAKQIQNwMYIAIgACkCCDcDECACIAApAgA3AwggAkEAOgBoIAJBADoASCACQcgAaiEEAkAgAC0AYCIIRQRAIAAgASkCADcCACAAIAEpAjg3AjggACABKQIwNwIwIAAgASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggAUHgAGohByABQUBrIQMgAUEIaiEFIAEtAGBFDQEgACADKQIANwJAIAAgAykCGDcCWCAAIAMpAhA3AlAgACADKQIINwJIIABBAToAYAwBCyAEIAApAkA3AgAgBCAAKQJYNwIYIAQgACkCUDcCECAEIAApAkg3AghBASEJIAJBAToAaCAAIAEpAgA3AgAgACABKQI4NwI4IAAgASkCMDcCMCAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIAFB4ABqIQcgAUFAayEDIAFBCGohBSAAQUBrIQYgAS0AYCAIRgRAIAYgAykCADcCACAGIAMpAhg3AhggBiADKQIQNwIQIAYgAykCCDcCCAwBCyAAQQA6AGALIAEgAikDCDcCACAFIAJBQGspAwA3AjAgBSACKQM4NwIoIAUgAikDMDcCICAFIAIpAyg3AhggBSACKQMgNwIQIAUgAikDGDcCCCAFIAIpAxA3AgACQCAJIAEtAGAiAEYEQCAARQ0BIAMgBCkCADcCACADIAQpAhg3AhggAyAEKQIQNwIQIAMgBCkCCDcCCAwBCyAABEAgB0EAOgAADAELIAMgBCkCADcCACADIAQpAhg3AhggAyAEKQIQNwIQIAMgBCkCCDcCCCAHQQE6AAAgCEUNAAsgAkHwAGokAAvSAgIJfwF+AkAgAUEATARAIAAoAgghBQwBCyAAKAIAIgQoAgQiAkEfcSEIIAQoAgAgAkEDdkH8////AXFqIQkgACkCBCILQiCIpyEFIAunIQpBACECIAEhBANAIAogAiAFaiIHQQN2Qfz///8BcWohBgJAIAdBH3EiByAIRw0AIAYgCUcNACABIAJMDQIgAiABa0F4TQRAIARBeHEhBkEAIQIDQCADQQh0IQMgAkEIaiICIAZHDQALCyAEQQdxIgRFDQJBACECA0AgA0EBdCEDIAJBAWoiAiAERw0ACwwCCyAGKAIAIAd2QQFxIANBAXRyIQMgBEEBayEEIAJBAWoiAiABRw0ACwsgAAJ/IAFBAE4EQCAAKAIEIAEgBWoiAkEDdkH8////AXFqDAELIAAoAgQgASAFaiICQR9rQSBtQQJ0ags2AgQgACACQR9xNgIIIAMLxQMBC38CQCABQSFrQWBJDQAgACgCACIFKAIEIAAoAgQiAyAFKAIAIgdqIgRrQQN0IAAoAggiBWsgAUgNAAJAIAVBAEwEQAwBCyAELQAAIQogAEEIIAVrIgQgASABIARKGyICIAVqIgU2AgggCkH/AUEIIAJrdiAEIAJrIgR0cSELIAEgAmshASAFQQhGBEAgAEEANgIIIAAgA0EBaiIDNgIEQQAhBQsgCyAEdiECIAFBAEwNAQsgAUEITwRAIAFBCGsiBkEDdkEBakEDcSIIBEBBACEEA0AgAyAHai0AACEMIAAgA0EBaiIDNgIEIAwgAkEIdHIhAiABQQhrIQEgBEEBaiIEIAhHDQALCyAGQRhPBEADQCADIAdqLQAAIQIgACADQQFqIgQ2AgQgBCAHai0AACEEIAAgA0ECaiIGNgIEIAYgB2otAAAhBiAAIANBA2oiCDYCBCAHIAhqLQAAIQggACADQQRqIgM2AgQgAUEgayIBQQdLDQALIAJBEHQgBEEIdHIgBnJBCHQgCHIhAgsgAUUNAQsgAyAHai0AACEDIAAgASAFajYCCCACIAF0IANBf0EIIAFrIgB0cSAAdnIhAgsgAgsfAQF/AkAgAC0ADEUNACAAKAIAIgFFDQAgARAECyAAC44CAQR/IAAoAgAiBEUEQEEADwsCQAJAAkAgACgCBCIFBEAgAUEASA0CIAAoAggiAyAFSQ0BDAILIAFBAEgNASAAKAIIIQMLIAUgASADakEBaiIBTwRAIAMgBGoPCyAAKAIQBEBBAA8LAn8gAUGAgICABE8EQEH/////ByABQQBODQEaQQAPCyABQQF0CyECAkAgACgCICIBBEAgBCACIAERBAAiAQ0BDAMLIAIgACgCGBEDACIBRQRADAMLIAEgACgCACAAKAIIQQFqEAcaIAAoAgAgACgCHBEAAAsgACABNgIAIAAgAjYCBCABIAAoAghqIQILIAIPCyAAKAIAIAAoAhwRAAAgAEIANwIAQQALzAkCBH8FfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhEIAUg0AIAEhAyACIQQMAQsgAyABIAEgA1QgCSAKViAJIApRGyIIGyEKIAQgAiAIGyIMQv///////z+DIQkgAiAEIAgbIgtCMIinQf//AXEhByAMQjCIp0H//wFxIgVFBEAgBkHgAGogCiAJIAogCSAJUCIFG3kgBUEGdK18pyIFQQ9rEBkgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQQ9rEBlBECAHayEHIAYpA1AhAyAGKQNYC0IDhiADQj2IhEKAgICAgICABIQhASAJQgOGIApCPYiEIQ0gAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEBkgBkEwaiACIAEgBxBHIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCSANQoCAgICAgIAEhCELIApCA4YhCgJAIARCAFMEQEIAIQNCACEEIAkgCoUgASALhYRQDQIgCiAJfSECIAsgAX0gCSAKVq19IgRC/////////wNWDQEgBkEgaiACIAQgAiAEIARQIgcbeSAHQQZ0rXynQQxrIgcQGSAFIAdrIQUgBikDKCEEIAYpAyAhAgwBCyAJIAp8IgIgCVStIAEgC3x8IgRCgICAgICAgAiDUA0AIAlCAYMgBEI/hiACQgGIhIQhAiAFQQFqIQUgBEIBiCEECyAMQoCAgICAgICAgH+DIQMgBUH//wFOBEAgA0KAgICAgIDA//8AhCEEQgAhAwwBC0EAIQcCQCAFQQBKBEAgBSEHDAELIAZBEGogAiAEIAVB/wBqEBkgBiACIARBASAFaxBHIAYpAwAgBikDECAGKQMYhEIAUq2EIQIgBikDCCEECyAEQj2GIAJCA4iEIQEgBEIDiEL///////8/gyAHrUIwhoQgA4QhBAJAAkAgAqdBB3EiBUEERwRAIAQgASABIAVBBEutfCIDVq18IQQMAQsgBCABIAEgAUIBg3wiA1atfCEEDAELIAVFDQELCyAAIAM3AwAgACAENwMIIAZB8ABqJAAL0QQBCn8jAEEQayIHJAAgAAJ/IAEhBEGo2gEoAgAhBgJAAkBBqNoBIgFBpNoBKAIARwRAAkAgBkUEQEGo2gEhAwNAIAMoAggiASgCACADRiEMIAEhAyAMDQALDAELIAYhAwNAIAMiASgCBCIDDQALCyABKAIQIAFBEGogASwAGyIDQQBIIggbIAQoAgAgBCAELAALIgVBAEgiCRsiCiAEKAIEIAUgCRsiBSABKAIUIAMgCBsiAyADIAVLGxA/IgRBAEggAyAFSSAEG0EBRw0BCyAGRQ0BIAcgATYCDCABQQRqDAILQajaASgCACIBRQ0AQajaASEEA0ACQCAKIAEiAygCECABQRBqIAEsABsiAUEASCIGGyIIIAMoAhQgASAGGyIBIAUgASAFSSIGGyIJED8iC0EASCABIAVLIAsbQQFGBEAgAyIEKAIAIgENAgwBCyAIIAogCRA/IgFBAEggBiABG0EBRw0AIANBBGohBCADKAIEIgENAQsLIAcgAzYCDCAEDAELIAdBqNoBNgIMQajaAQsiBCgCACIBBH9BAAVBIBAFIgFBEGohAwJAIAIsAAtBAE4EQCADIAIpAgA3AgAgAyACKAIINgIIDAELIAMgAigCACACKAIEEBQLIAEgAigCDDYCHCABIAcoAgw2AgggAUIANwIAIAQgATYCACABIQJBpNoBKAIAKAIAIgMEQEGk2gEgAzYCACAEKAIAIQILQajaASgCACACEBdBrNoBQazaASgCAEEBajYCAEEBCzoABCAAIAE2AgAgB0EQaiQACzsCAn8BfiAAKAIAIgEoAgQiAkEfcSAAKQIEIgNCIIinayABKAIAIAJBA3ZB/P///wFxaiADp2tBA3RqC34CAn8BfiMAQRBrIgMkACAAAn4gAUUEQEIADAELIAMgASABQR91IgJzIAJrIgKtQgAgAmciAkHRAGoQGSADKQMIQoCAgICAgMAAhUGegAEgAmutQjCGfCABQYCAgIB4ca1CIIaEIQQgAykDAAs3AwAgACAENwMIIANBEGokAAt6AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawtcACAAQQA2AgQgACABNgIAIAAgAygCCDYCECAAIAMpAgA3AgggA0IANwIAIANBADYCCCAAQQA6AEQgAEEAOgBAIABCADcCFCAAQgA3ABkgAEEEaiACQQQQmQEgAAv7AQEGfyAAKAIEIgIgACgCCCIDSQRAIAIgASkCADcCACAAIAJBCGo2AgQPCwJAIAIgACgCACIFa0EDdSIHQQFqIgRBgICAgAJJBEBB/////wEgAyAFayIDQQJ1IgYgBCAEIAZJGyADQfj///8HTxsiAwR/IANBgICAgAJPDQIgA0EDdBAFBUEACyIGIAdBA3RqIgQgASkCADcCACAEQQhqIQEgAiAFRwRAA0AgBEEIayIEIAJBCGsiAikCADcCACACIAVHDQALIAAoAgAhAgsgACAGIANBA3RqNgIIIAAgATYCBCAAIAQ2AgAgAgRAIAIQBAsPCxAAAAsQDQALhwICCH8BfiABQQBMBEBBAA8LIAAoAgAiAygCBCICQR9xIQYgAygCACACQQN2Qfz///8BcWohByAAKQIEIgpCIIinIQggCqchCUEAIQIgASEDQQAhAANAAkAgAiAIaiIEQR9xIQUCQCAJIARBA3ZB/P///wFxaiIEIAdHDQAgBSAGRw0AIAEgAkwNASACIAFrQXhNBEAgA0F4cSEBQQAhAgNAIABBCHQhACACQQhqIgIgAUcNAAsLIANBB3EiAUUNAUEAIQIDQCAAQQF0IQAgAkEBaiICIAFHDQALDAELIAQoAgAgBXZBAXEgAEEBdHIhACADQQFrIQMgAkEBaiICIAFHDQELCyAACyoAIAAgACgCECAAKAIMa0ECdUEBayIAIAEgACABSBtBACABQQBOGzYCMAvAAQEDfyMAQRBrIgUkAAJAIAIgAC0AC0EHdgR/IAAoAghB/////wdxQQFrBUEKCyIEAn8gAC0AC0EHdgRAIAAoAgQMAQsgAC0AC0H/AHELIgNrTQRAIAJFDQECfyAALQALQQd2BEAgACgCAAwBCyAACyIEIANqIAEgAhAvIAAgAiADaiIBENIBIAVBADoADyABIARqIAUtAA86AAAMAQsgACAEIAIgBGsgA2ogAyADQQAgAiABEG0LIAVBEGokACAAC+ABAQR/IwBBEGsiBSQAIABBADYCDCAAQgA3AgQgACABNgIAIABBBGohBAJAAkAgAigCBCIBIAIoAgAiBmtBAnUiA0ECSQ0AIAYoAgANAEEBIQECQAJAA0AgBiABQQJ0aigCAEUEQCABQQFqIgEgA0cNAQwCCwsgASADRw0BCyAFQQA2AgwgBEEBIAVBDGoQqAEMAgsgBCADIAFrEDMgAigCBCIDIAIoAgAgAUECdGoiAUYNASAEKAIAIAEgAyABaxAMGgwBCyACIARGDQAgBCAGIAEgAxB5CyAFQRBqJAAgAAsGACAAEAQLDAAgASACIAAQ0wEaC0cBAn8gACABNwNwIAAgACgCLCAAKAIEIgNrrDcDeCAAKAIIIQICQCABUA0AIAIgA2usIAFXDQAgAyABp2ohAgsgACACNgJoC9EFAQN/QdoBIQMDQCAAIARqIAMgASAEai0AAGogAiAEai0AAGtBgP4DaiIDOgAAIANBCHYhBSAEQQFyIgNBH0ZFBEAgACADaiAFIAEgA2otAABqIAIgA2otAABrQYD+A2oiAzoAACADQQh2IQMgBEECaiEEDAELCyAAIAEtAB8gAi0AH2sgBWoiAUH/AHE6AB8gACAALQAAIAFBB3ZBE2xqIgE6AAAgACAALQABIAFBCHZqIgE6AAEgACAALQACIAFBCHZqIgE6AAIgACAALQADIAFBCHZqIgE6AAMgACAALQAEIAFBCHZqIgE6AAQgACAALQAFIAFBCHZqIgE6AAUgACAALQAGIAFBCHZqIgE6AAYgACAALQAHIAFBCHZqIgE6AAcgACAALQAIIAFBCHZqIgE6AAggACAALQAJIAFBCHZqIgE6AAkgACAALQAKIAFBCHZqIgE6AAogACAALQALIAFBCHZqIgE6AAsgACAALQAMIAFBCHZqIgE6AAwgACAALQANIAFBCHZqIgE6AA0gACAALQAOIAFBCHZqIgE6AA4gACAALQAPIAFBCHZqIgE6AA8gACAALQAQIAFBCHZqIgE6ABAgACAALQARIAFBCHZqIgE6ABEgACAALQASIAFBCHZqIgE6ABIgACAALQATIAFBCHZqIgE6ABMgACAALQAUIAFBCHZqIgE6ABQgACAALQAVIAFBCHZqIgE6ABUgACAALQAWIAFBCHZqIgE6ABYgACAALQAXIAFBCHZqIgE6ABcgACAALQAYIAFBCHZqIgE6ABggACAALQAZIAFBCHZqIgE6ABkgACAALQAaIAFBCHZqIgE6ABogACAALQAbIAFBCHZqIgE6ABsgACAALQAcIAFBCHZqIgE6ABwgACAALQAdIAFBCHZqIgE6AB0gACAALQAeIAFBCHZqIgE6AB4gACAALQAfIAFBCHZqOgAfC8YDAwN/Bn0CfiMAQRBrIgMkACABKQIgIgxCIIinsiABKQIYIg1CIIinsiIHkyIGIAynsiANp7IiCZMiCCAIlCAGIAaUkpEiBpUiCiABKAIMIgQgASgCMEECdGooAgCyIguUQwAAAD2UIAeSEAYhBSAEQQEgASgCECAEa0ECdUEBayIBIAIgASACSBsgAkEATBtBAnRqKAIAIQEgAyAFsjgCDCADIAggBpUiBiALlEMAAAA9lCAJkhAGsjgCCCADIAogAbIiCJRDAAAAPZQgB5IQBrI4AgQgAyAGIAiUQwAAAD2UIAmSEAayOAIAIABCADcCCCAAQgA3AhggAEIANwIQIAAgAyoCDCIGIAMqAgAgAyoCCCIJkyIHIAMqAgQgBpMiBiAGlCAHIAeUkpEiCJVDAAAAQpRDAAAAP5QiB5IQBq1CIIYgCSAGjCAIlUMAAABClEMAAAA/lCIGkhAGrYQ3AgAgACADKgIEIAeSEAatQiCGIAMqAgAgBpIQBq2ENwIIIAAgAyoCBCAHkxAGrUIghiADKgIAIAaTEAathDcCECAAIAMqAgwgB5MQBq1CIIYgAyoCCCAGkxAGrYQ3AhggA0EQaiQAC4MCAQd/IAEgACgCCCICIAAoAgQiA2tBAnVNBEAgACABBH8gA0EAIAFBAnQiABAJIABqBSADCzYCBA8LAkAgAyAAKAIAIgVrQQJ1IgcgAWoiBEGAgICABEkEQEH/////AyACIAVrIgJBAXUiCCAEIAQgCEkbIAJB/P///wdPGyIEBEAgBEGAgICABE8NAiAEQQJ0EAUhBgsgB0ECdCAGaiICQQAgAUECdCIBEAkgAWohASADIAVHBEADQCACQQRrIgIgA0EEayIDKAIANgIAIAMgBUcNAAsLIAAgBiAEQQJ0ajYCCCAAIAE2AgQgACACNgIAIAUEQCAFEAQLDwsQAAALEA0AC4kBAQJ/An8gAC0AC0EHdgRAIAAoAgAMAQsgAAshAwJ/IAAtAAtBB3YEQCAAKAIEDAELIAAtAAtB/wBxCyEEIwBBEGsiACQAIAAgAToAD0F/IQEgAiAESQRAIAQgAmsiAQR/IAIgA2ogACwADyABEFoFQQALIgEgA2tBfyABGyEBCyAAQRBqJAAgAQv5AQIDfgJ/IwBBEGsiBSQAAn4gAb0iBEL///////////8AgyICQoCAgICAgIAIfUL/////////7/8AWARAIAJCPIYhAyACQgSIQoCAgICAgICAPHwMAQsgAkKAgICAgICA+P8AWgRAIARCPIYhAyAEQgSIQoCAgICAgMD//wCEDAELIAJQBEBCAAwBCyAFIAJCACACp2dBIGogAkIgiKdnIAJCgICAgBBUGyIGQTFqEBkgBSkDACEDIAUpAwhCgICAgICAwACFQYz4ACAGa61CMIaECyECIAAgAzcDACAAIAIgBEKAgICAgICAgIB/g4Q3AwggBUEQaiQAC0sBAX8CQCACRQ0AIAFBAEgNACAAKAIEIAAoAgBrQQF1IgBBAWsgAUkNACADQQBKBEAgASACaiAATQ8LIAEgAmtBAWpBAE4hBAsgBAvhAgEIfyABKAIAIQkjAEEQayIFIAEoAgQiCEEAIAhrIAMoAgQgAigCBCIGayIEQQBKGyIHQX9BASADKAIAIAIoAgAiA2siAUEATBsiAmo2AgwgBSAHIAIgASABQR91IgJzIAJrIgEgBCAEQR91IgJzIAJrIgJJIgQbNgIIIAUgASACIAQbIgcgASACIAEgAksbIgRrQQF0NgIEIAUgB0EBdCICNgIAIAMgBiAIbGohASAEBEAgAiAEayECIARBAWpBfnEhCEEAIQMDQCAJIAEgAkF/c0EddkEEcSIGIAVBCGoiB2ooAgBqIgtqLQAARSAKIAEgCWotAABFamohCiAFIAUgBmooAgAgAmoiAUF/c0EddkEEcSIGaigCACABaiECIAYgB2ooAgAgC2ohASADQQJqIgMgCEcNAAsLIAAgBEEBcQR/IAoFIAogASAJai0AAEVqCzYCACAAIARBAWo2AgQLHQAgAQRAIAAgASgCABA4IAAgASgCBBA4IAEQBAsLBAAgAAsqACACBEADQCABIAAoAgBGBEAgAA8LIABBBGohACACQQFrIgINAAsLQQALtQIBDH8CQCADQQBMDQAgAkEATA0AIAEoAgQhBiABKAIAIQsgAEEMaiEMIABBCGohDSAAQQRqIQ4gAkH8////B3EhDyACQQNxIQgDQCALIAlBAnRqIQdBACEBQQAhCiACQQRPBEADQCAAIARBAnQiBWogByABIAZsQQJ0aioCADgCACAFIA5qIAcgBiABQQFybEECdGoqAgA4AgAgBSANaiAHIAYgAUECcmxBAnRqKgIAOAIAIAUgDGogByAGIAFBA3JsQQJ0aioCADgCACABQQRqIQEgBEEEaiEEIApBBGoiCiAPRw0ACwtBACEFIAgEQANAIAAgBEECdGogByABIAZsQQJ0aioCADgCACABQQFqIQEgBEEBaiEEIAVBAWoiBSAIRw0ACwsgCUEBaiIJIANHDQALCwv8AgIEfQF/IwBBEGsiCCQAIAggAjYCBCAIIAE2AgggCCAANgIMIAIqAgAgAyoCACIEkyIFIAWUIAIqAgQgAyoCBCIFkyIGIAaUkiEGAkAgASoCACAEkyIHIAeUIAEqAgQgBZMiByAHlJIiByAAKgIAIASTIgQgBJQgACoCBCAFkyIEIASUkl1FBEAgBiAHXUUNASAIQQhqIgEgCEEEahAeIAgoAggiACoCACADKgIAIgSTIgUgBZQgACoCBCADKgIEIgWTIgYgBpSSIAgoAgwiACoCACAEkyIEIASUIAAqAgQgBZMiBCAElJJdRQ0BIAhBDGogARAeDAELIAYgB10EQCAIQQxqIAhBBGoQHgwBCyAIQQxqIAhBCGoiARAeIAgoAgQiACoCACADKgIAIgSTIgUgBZQgACoCBCADKgIEIgWTIgYgBpSSIAgoAggiACoCACAEkyIEIASUIAAqAgQgBZMiBCAElJJdRQ0AIAEgCEEEahAeCyAIQRBqJAALyAoDA38GfQF+IwBBQGoiBCQAIARBIGoiBSABEAggBCADKQIAIg2nsjgCGCAEIA1CIIinsjgCHCAEKgIYIAUqAgCTIgcgB5QgBCoCHCAFKgIEkyIHIAeUkiEHIARBEGoiBiAAEAggBCADKQIAIg2nsjgCCCAEIA1CIIinsjgCDAJAIAcgBCoCCCAGKgIAkyIIIAiUIAQqAgwgBioCBJMiCCAIlJJdRQRAIAUgAhAIIAQgAykCACINp7I4AhggBCANQiCIp7I4AhwgBCoCGCAEKgIgkyIHIAeUIAQqAhwgBCoCJJMiByAHlJIhCSAGIAEQCCAEIAMpAgAiDaeyOAIIIAQgDUIgiKeyOAIMIAkgBCoCCCAEKgIQkyIIIAiUIAQqAgwgBCoCFJMiCCAIlJJdRQ0BIAQgASgCGDYCOCAEIAEpAhA3AzAgBCABKQIINwMoIAQgASkCADcDICABIAIoAhg2AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAEKAI4NgIYIAIgBCkDMDcCECACIAQpAyg3AgggAiAEKQMgNwIAIAUgARAIIAQgAykCACINp7I4AhggBCANQiCIp7I4AhwgBCoCGCAEKgIgkyIHIAeUIAQqAhwgBCoCJJMiByAHlJIhCiAGIAAQCCAEIAMpAgAiDaeyOAIIIAQgDUIgiKeyOAIMIAogBCoCCCAEKgIQkyIIIAiUIAQqAgwgBCoCFJMiCCAIlJJdRQ0BIAQgACgCGDYCOCAEIAApAhA3AzAgBCAAKQIINwMoIAQgACkCADcDICAAIAEoAhg2AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgASAEKAI4NgIYIAEgBCkDMDcCECABIAQpAyg3AgggASAEKQMgNwIADAELIARBIGoiBSACEAggBCADKQIAIg2nsjgCGCAEIA1CIIinsjgCHCAEKgIYIAUqAgCTIgcgB5QgBCoCHCAFKgIEkyIHIAeUkiELIARBEGoiBSABEAggBCADKQIAIg2nsjgCCCAEIA1CIIinsjgCDCALIAQqAgggBSoCAJMiCCAIlCAEKgIMIAUqAgSTIgggCJSSXQRAIAQgACgCGDYCOCAEIAApAhA3AzAgBCAAKQIINwMoIAQgACkCADcDICAAIAIoAhg2AhggACACKQIQNwIQIAAgAikCCDcCCCAAIAIpAgA3AgAgAiAEKAI4NgIYIAIgBCkDMDcCECACIAQpAyg3AgggAiAEKQMgNwIADAELIAQgACgCGDYCOCAEIAApAhA3AzAgBCAAKQIINwMoIAQgACkCADcDICAAIAEoAhg2AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgASAEKAI4NgIYIAEgBCkDMDcCECABIAQpAyg3AgggASAEKQMgNwIAIARBIGoiACACEAggBCADKQIAIg2nsjgCGCAEIA1CIIinsjgCHCAEKgIYIAAqAgCTIgcgB5QgBCoCHCAAKgIEkyIHIAeUkiEMIARBEGoiACABEAggBCADKQIAIg2nsjgCCCAEIA1CIIinsjgCDCAMIAQqAgggACoCAJMiCCAIlCAEKgIMIAAqAgSTIgggCJSSXUUNACAEIAEoAhg2AjggBCABKQIQNwMwIAQgASkCCDcDKCAEIAEpAgA3AyAgASACKAIYNgIYIAEgAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIAIgBCgCODYCGCACIAQpAzA3AhAgAiAEKQMoNwIIIAIgBCkDIDcCAAsgBEFAayQAC3YBA38CQCABKAJUIgNFDQAgAigCACECIAFB1ABqIgQhAQNAIAEgAyADKAIQIAJIIgUbIQEgAyAFQQJ0aigCACIDDQALIAEgBEYNACACIAEoAhBIDQAgACABKAIUNgIAIABBAToABA8LIABBADoAACAAQQA6AAQLgQEBAn8CQAJAIAJBBE8EQCAAIAFyQQNxDQEDQCAAKAIAIAEoAgBHDQIgAUEEaiEBIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQELA0AgAC0AACIDIAEtAAAiBEYEQCABQQFqIQEgAEEBaiEAIAJBAWsiAg0BDAILCyADIARrDwtBAAuzBQEDfwNAIAAgA2ogAiADai0AACABIANqLQAAIARBgP4DcUEIdmpqIgU6AAAgACADQQFyIgRqIAIgBGotAAAgASAEai0AACAFQQh2amoiBDoAACADQQJqIgNBIEcNAAsgACAALQAfQf8AcToAHyAAIAAtAAAgBEGA/wNxQQd2QRNsaiIBOgAAIAAgAC0AASABQQh2aiIBOgABIAAgAC0AAiABQQh2aiIBOgACIAAgAC0AAyABQQh2aiIBOgADIAAgAC0ABCABQQh2aiIBOgAEIAAgAC0ABSABQQh2aiIBOgAFIAAgAC0ABiABQQh2aiIBOgAGIAAgAC0AByABQQh2aiIBOgAHIAAgAC0ACCABQQh2aiIBOgAIIAAgAC0ACSABQQh2aiIBOgAJIAAgAC0ACiABQQh2aiIBOgAKIAAgAC0ACyABQQh2aiIBOgALIAAgAC0ADCABQQh2aiIBOgAMIAAgAC0ADSABQQh2aiIBOgANIAAgAC0ADiABQQh2aiIBOgAOIAAgAC0ADyABQQh2aiIBOgAPIAAgAC0AECABQQh2aiIBOgAQIAAgAC0AESABQQh2aiIBOgARIAAgAC0AEiABQQh2aiIBOgASIAAgAC0AEyABQQh2aiIBOgATIAAgAC0AFCABQQh2aiIBOgAUIAAgAC0AFSABQQh2aiIBOgAVIAAgAC0AFiABQQh2aiIBOgAWIAAgAC0AFyABQQh2aiIBOgAXIAAgAC0AGCABQQh2aiIBOgAYIAAgAC0AGSABQQh2aiIBOgAZIAAgAC0AGiABQQh2aiIBOgAaIAAgAC0AGyABQQh2aiIBOgAbIAAgAC0AHCABQQh2aiIBOgAcIAAgAC0AHSABQQh2aiIBOgAdIAAgAC0AHiABQQh2aiIBOgAeIAAgAC0AHyABQQh2ajoAHwufDwINfRd/IwBBEGsiKCQAIAMiKUEASgRAIAQgByAHQX9GGyEgIAQgCCAIQX9GGyEeIARBeHEiA0EBaiEqIAZDAAAAAJQhFCAEIgggA2siBEEDcSEdIAUiGyAbQQRtQQJ0IhxrQQNxISEgBEEBcSErIANBf3MgCGohHyACIAlBAnRqISIgAiAJQQR0aiEsIAEhCSAAKAIEIRggACgCACEjIBwgG2tBfEshLQNAIBxBAEoEQCAjIBpBAnRqIRkgCSAaICBsQQJ0aiEFQQAhFwNAICwgFyAebEECdGohAkMAAAAAIQogBSEAQQAhAUMAAAAAIQxDAAAAACENQwAAAAAhDkMAAAAAIQtDAAAAACEPQwAAAAAhFUMAAAAAIRYgA0EASgRAA0AgFiAAKgIEIhAgAioCHJSSIAAqAgwiESACKgI8lJIgACoCFCISIAIqAlyUkiAAKgIcIhMgAioCfJSSIRYgFSAQIAIqAhiUkiARIAIqAjiUkiASIAIqAliUkiATIAIqAniUkiEVIA8gECACKgIUlJIgESACKgI0lJIgEiACKgJUlJIgEyACKgJ0lJIhDyALIBAgAioCEJSSIBEgAioCMJSSIBIgAioCUJSSIBMgAioCcJSSIQsgDiAAKgIAIhAgAioCDJSSIAAqAggiESACKgIslJIgACoCECISIAIqAkyUkiAAKgIYIhMgAioCbJSSIQ4gDSAQIAIqAgiUkiARIAIqAiiUkiASIAIqAkiUkiATIAIqAmiUkiENIAwgECACKgIElJIgESACKgIklJIgEiACKgJElJIgEyACKgJklJIhDCAKIBAgAioCAJSSIBEgAioCIJSSIBIgAioCQJSSIBMgAioCYJSSIQogAEEgaiEAIAJBgAFqIQIgAUEIaiIBIANIDQALIBYgDpIhDiAVIA2SIQ0gDyAMkiEMIAsgCpIhCgsgFyAYbEECdCAZaiEkIBggF0EDcmxBAnQgGWohJSAYIBdBAnJsQQJ0IBlqISYgGCAXQQFybEECdCAZaiEnAkAgAyAITg0AAn8gK0UEQCACIQEgACEHIAMMAQsgAEEEaiEHIAJBEGohASAOIAAqAgAiCyACKgIMlJIhDiANIAsgAioCCJSSIQ0gDCALIAIqAgSUkiEMIAogCyACKgIAlJIhCiAqCyEEIB9FDQADQCAOIAcqAgAiCyABKgIMlJIgByoCBCIPIAEqAhyUkiEOIA0gCyABKgIIlJIgDyABKgIYlJIhDSAMIAsgASoCBJSSIA8gASoCFJSSIQwgCiALIAEqAgCUkiAPIAEqAhCUkiEKIAdBCGohByABQSBqIQEgBEECaiIEIAhHDQALCyAnKgIAIQsgJCAKIAaUICQqAgCSOAIAICcgCyAMIAaUkjgCACAlKgIAIQogJiANIAaUICYqAgCSOAIAICUgCiAOIAaUkjgCACAXQQRqIhcgHEgNAAsLAkAgGyAcTA0AICMgGkECdGohFyAJIBogIGxBAnRqIQUgHCEEIANBAEoEQANAIAQgGGwhByAiIAQgHmxBAnRqIQJDAAAAACEKQQAhASAFIQADQCAKIAAqAgAgAioCAJSSIAAqAgQgAioCBJSSIAAqAgggAioCCJSSIAAqAgwgAioCDJSSIAAqAhAgAioCEJSSIAAqAhQgAioCFJSSIAAqAhggAioCGJSSIAAqAhwgAioCHJSSIQogAEEgaiEAIAJBIGohAiABQQhqIgEgA0gNAAsgFyAHQQJ0aiEZAkAgAyAITg0AQQAhByADIQEgHQRAA0AgAUEBaiEBIAogACoCACACKgIAlJIhCiACQQRqIQIgAEEEaiEAIAdBAWoiByAdRw0ACwsgH0EDSQ0AA0AgCiAAKgIAIAIqAgCUkiAAKgIEIAIqAgSUkiAAKgIIIAIqAgiUkiAAKgIMIAIqAgyUkiEKIABBEGohACACQRBqIQIgAUEEaiIBIAhHDQALCyAZIAogBpQgGSoCAJI4AgAgBEEBaiIEIBtHDQAMAgsACwJAIAMgCE4EQEEAIQAgBCECICEEQANAIBcgAiAYbEECdGoiASAUIAEqAgCSOAIAIAJBAWohAiAAQQFqIgAgIUcNAAsLIC1FDQEMAgsDQCAiIAQgHmxBAnRqIQJBACEHQwAAAAAhCiADIQEgBSEAIB0EQANAIAFBAWohASAKIAAqAgAgAioCAJSSIQogAkEEaiECIABBBGohACAHQQFqIgcgHUcNAAsLIB9BA08EQANAIAogACoCACACKgIAlJIgACoCBCACKgIElJIgACoCCCACKgIIlJIgACoCDCACKgIMlJIhCiAAQRBqIQAgAkEQaiECIAFBBGoiASAIRw0ACwsgFyAEIBhsQQJ0aiIAIAogBpQgACoCAJI4AgAgGyAEQQFqIgRHDQALDAELA0AgFyACIBhsQQJ0aiIAIBQgACoCAJI4AgAgFyAYIAJBAWpsQQJ0aiIAIBQgACoCAJI4AgAgFyAYIAJBAmpsQQJ0aiIAIBQgACoCAJI4AgAgFyAYIAJBA2psQQJ0aiIAIBQgACoCAJI4AgAgAkEEaiICIBtHDQALCyAaQQFqIhogKUcNAAsLIChBEGokAAvVAgEFfwJAAkACQCAAKAIEIAAoAgAiBGtBAnUiBUEBaiICQYCAgIAESQRAQf////8DIAAoAgggBGsiBEEBdSIGIAIgAiAGSRsgBEH8////B08bIgIEQCACQYCAgIAETw0CIAJBAnQQBSEDCyABKAIAIQQgAUEANgIAIAMgBUECdGoiASAENgIAIAMgAkECdGohAiABQQRqIQQgACgCBCIDIAAoAgAiBUYNAgNAIANBBGsiAygCACEGIANBADYCACABQQRrIgEgBjYCACADIAVHDQALIAAgAjYCCCAAKAIEIQIgACAENgIEIAAoAgAhAyAAIAE2AgAgAiADRg0DA0AgAkEEayICKAIAIQAgAkEANgIAIAAEQCAAIAAoAgAoAgQRAAALIAIgA0cNAAsMAwsQAAALEA0ACyAAIAI2AgggACAENgIEIAAgATYCAAsgAwRAIAMQBAsL7wsBBX8jAEHwAGsiBCQAIARBAzoAQyAEQQA6ADsgBEH+Ey8AADsBOCAEQYAULQAAOgA6IARB1ABqIARBOGogARBjIAQsAENBAEgEQCAEKAI4EAQLAkAgBC0AYEUEQCAAQQA6AAwgAEEAOgAADAELAkAgBCwAXyIHQQBOBEAgBCAEKAJcNgJQIAQgBCkCVDcDSAwBCyAEQcgAaiAEKAJUIAQoAlgQFAsgBEHIAGoiBSACEEwgBEE4aiICIAFBFBAfIgZBoI0GbSIIEGsgBSAEKAI4IAIgBCwAQyICQQBIIgUbIAQoAjwgAiAFGxAsGiAELABDQQBIBEAgBCgCOBAECwJAAkACQCAGIAhBoI0GbGsiAkEATgRAIARBsODAgQM2AiggBEEwOgAYIARBMDoACAJAIAIEQCAEIAIgAkEKbiIFQQpsa0EwcjoACAJAIAJBCkkEQCACIQUMAQsgBCAFQQpwQTByOgAYIAJB5ABJDQAgBCACQeQAbiIFQQpwQTByOgArIAJB6AdJDQAgBCACQegHbiIFQQpwQTByOgAqIAJBkM4ASQ0AIAQgAkGQzgBuIgVBCnBBMHI6ACkgAkGgjQZJDQAgBCACQaCNBm4iBUEKcEEwcjoAKAsgBUEJSw0BCyAEIAQoAig2AjggBCAELQAYOgA8IARBhgI7AEMgBEEAOgA+IAQgBC0ACDoAPSAEQcgAaiAEQThqQQYQLBogAUEQEB8iAUGArAJHDQIMAwsLIARBADoARCAEQQA6ADggAEEAOgAMIABBADoAAAwCCyAEQcgAaiADEEwgAUEgbSICQQxvIQMgAkEFdCEGAn8CQCABQYB9TA0AIARBADoACiAEQbDgADsBCCABQf8CakH/BU8EQCAEIAFBgANuIgJBCnBBMHI6AAkgAUGAHk8EQCAEIAFBgB5uIgJBCnBBMHI6AAgLIAJBCUsNAQsgBCAEKAAbNgAvIAQgBCgCCDYCKCAEIAQoAhg2AiwgBEGCAjsAM0EBDAELIARBADoANCAEQQA6AChBAAshBSABIAZrIQECfwJAIANBfkwNACAEQQA6AGYgBEGw4AA7AWQgA0EBaiICBEAgBCACIAJBCm4iA0EKbGtBMHI6AGUgAkEKTwR/IAQgA0EKcEEwcjoAZCADBSACC0EJSw0BCyAEIAQoAAs2AB8gBCAEKAJkNgIYIAQgBCgCCDYCHCAEQYICOwAjQQEMAQsgBEEAOgAkIARBADoAGEEACyECAn8CQCABQQBIDQAgBEEAOgBuIARBsOAAOwFsAkAgAUUNACAEIAEgAUEKbiIDQQpsa0EwcjoAbSABQQpJDQAgBCADQQpwQTByOgBsIAFB4wBLDQELIAQgBCgAZzYADyAEIAQoAmw2AgggBCAEKAJkNgIMIARBggI7ABNBAQwBCyAEQQA6ABQgBEEAOgAIQQALIQECQAJAIAVFDQAgAkUNACABRQRAIABBADoADCAAQQA6AAAMAgsgBEHIAGoiASAEKAIoIARBKGogBCwAMyICQQBIIgMbIAQoAiwgAiADGxAsGiABIAQoAhggBEEYaiAELAAjIgJBAEgiAxsgBCgCHCACIAMbECwaIAEgBCgCCCAEQQhqIAQsABMiAUEASCICGyAEKAIMIAEgAhsQLBoCQCAELQAURQ0AIAQsABNBAE4NACAEKAIIEAQLAkAgBC0AJEUNACAELAAjQQBODQAgBCgCGBAECyAELQA0RQ0CIAQsADNBAE4NAiAEKAIoEAQMAgsgAEEAOgAMIABBADoAACABRQ0AIAQsABNBAE4NACAEKAIIEAQLAkAgAkUNACAELAAjQQBODQAgBCgCGBAECyAFRQ0BIAQsADNBAE4NASAEKAIoEAQMAQsgACAEKQNINwIAIAAgBCgCUDYCCCAEQQA2AlAgBEIANwNIIABBAToADAsCQCAELQBERQ0AIAQsAENBAE4NACAEKAI4EAQLIAQsAFNBAEgEQCAEKAJIEAQLIAdBAE4NACAEKAJUEAQLIARB8ABqJAALWAEDfyABKgIAEAYhAyABKgIEEAYhAQJAIANBAEgNACABQQBIDQAgAyAAKAJkIgRODQAgASAAKAJoTg0AIAAoAmAgASAEbEECdGogA0ECdGooAgAhAgsgAgsdACABBEAgACABKAIAEEUgACABKAIEEEUgARAECwsTACABQQF0QYD3AGpBAiAAENMBC1ABAX4CQCADQcAAcQRAIAIgA0FAaq2IIQFCACECDAELIANFDQAgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQEF/IQQgACACVCABIANTIAEgA1EbDQEgACAChSABIAOFhEIAUg8LQX8hBCAAIAJWIAEgA1UgASADURsNACAAIAKFIAEgA4WEQgBSIQQLIAQLUgECf0Hc1AEoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQAg0BC0H0mgJBMDYCAEF/DwtB3NQBIAA2AgAgAQvpAQEIfwJAQQEgACgCBCAAKAIAIgBrQQF1IgQgASACaiICIAIgBEobIAJBAEwbIgQgAUwNACAEIAFrIgNBA3EhBUEAIQICQCABIARrQXxLBEBBACEDDAELIABBBmohByAAQQRqIQggAEECaiEJIANBfHEhCkEAIQMDQCADIAAgAUEBdCIEai8BAGogBCAJai8BAGogBCAIai8BAGogBCAHai8BAGohAyABQQRqIQEgBkEEaiIGIApHDQALCyAFRQ0AA0AgAyAAIAFBAXRqLwEAaiEDIAFBAWohASACQQFqIgIgBUcNAAsLIAMLxwQBCX8jAEEwayIEJAACQCABLQBEDQACfyABKAIUIgcgASgCGCIDRgRAIAEoAgggAUEIaiABLAATIgNBAEgiBRshByABKAIMIAMgBRsMAQsgAyAHawshBQJAAkBBtNoBKAIAIgNFDQAgASgCACEGA0AgAygCECIIIAZKBEAgAygCACIDDQEMAgsgBiAITA0CIAMoAgQiAw0ACwsQAAALAkAgAywAH0EATgRAIAQgAygCHDYCKCAEIAMpAhQ3AyAMAQsgBEEgaiADKAIUIAMoAhgQFAsCQCABLQBABEAgBCABKQI4NwMYIAQgASkCMDcDECAEIAEpAig3AwggBCABKQIgNwMADAELIAQgAhCmARoLIAQsACshBiAEKAIgIQgCQCAFQf8/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cSEEA0AgAC0AACAERg0CIAJBAWsiAkEARyEDIABBAWoiAEEDcUUNASACDQALCyADRQ0BAkAgAUH/AXEiAyAALQAARg0AIAJBBEkNACADQYGChAhsIQMDQCAAKAIAIANzIgRBf3MgBEGBgoQIa3FBgIGChHhxDQIgAEEEaiEAIAJBBGsiAkEDSw0ACwsgAkUNAQsgAUH/AXEhAQNAIAEgAC0AAEYEQCAADwsgAEEBaiEAIAJBAWsiAg0ACwtBAAthAQN/QQAgA2shAwNAIAAgBGogASAEai0AACIFIAIgBGotAABzIANxIAVzOgAAIAAgBEEBciIFaiABIAVqLQAAIgYgAiAFai0AAHMgA3EgBnM6AAAgBEECaiIEQSBHDQALC1AAIABCADcCACAAQgA3AQYgACABRwRAIAAgASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIIIAAgAS0ADDoADCABQgA3AAUgAUIANwIACyAACy0AIABBATsBDCAAIAI2AgggACABNgIEIAAgASACbCIBEAVBACABEAk2AgAgAAtvAQZ8IAErAzAhBSABKwMAIQYgASsDGCEHIAAgASsDOCABKwMIIAIrAwAiA6IgAisDCCIEIAErAyCioKAgASsDQCABKwMQIAOiIAErAyggBKKgoCIIozkDCCAAIAUgBiADoiAEIAeioKAgCKM5AwALxQQCAX0KfyADIAAoAgAgAUEBdGoiAEEMay8BACIBIABBDmsvAQBqIgUgAEEIay8BACIGIABBCmsvAQAiB2oiCCAAQQRrLwEAIgkgAEEGay8BACIKaiILIABBAmsvAQAiDCAALwEAaiINampqIg42AgBBACEAAkACfyAFQRFssyAOs5VDAAAAP5IiBEMAAIBPXSAEQwAAAABgcQRAIASpDAELQQALIgVBAmtBB0sNACACIAU2AgACfyABIAdqQRFssyADKAIAs5VDAAAAP5IiBEMAAIBPXSAEQwAAAABgcQRAIASpDAELQQALIgFBAmtBB0sNACACIAE2AgQCfyAIQRFssyADKAIAs5VDAAAAP5IiBEMAAIBPXSAEQwAAAABgcQRAIASpDAELQQALIgFBAmtBB0sNACACIAE2AggCfyAGIApqQRFssyADKAIAs5VDAAAAP5IiBEMAAIBPXSAEQwAAAABgcQRAIASpDAELQQALIgFB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IAAoAigiAjYCLCAAIAIgAWsiBTYCMCAAKAIIIgEgACgCDCIDSQRAIAEgBTsBACAAIAFBAmo2AggPCyABIAAoAgQiBGtBAXUiAkF+TA0AQf////8HIAMgBGsiAyACQQFqIgYgAyAGSxsgA0H+////B08bIgMEfyADQQBIDQIgA0EBdBAFBUEACyIGIAJBAXRqIgIgBTsBACACQQJqIQUgASAERwRAA0AgAkECayICIAFBAmsiAS8BADsBACABIARHDQALCyAAIAYgA0EBdGo2AgwgACAFNgIIIAAgAjYCBCAEBEAgBBAECw8LEAAACxANAAu8CAEDfyMAQSBrIQQgAigCBCEFAkAgASgCBCIGIAAoAgRPBEAgBSAGTw0BIAQgASgCGDYCGCAEIAEpAhA3AxAgBCABKQIINwMIIAQgASkCADcDACABIAIoAhg2AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAEKAIYNgIYIAIgBCkDEDcCECACIAQpAwg3AgggAiAEKQMANwIAIAEoAgQgACgCBE8NASAEIAAoAhg2AhggBCAAKQIQNwMQIAQgACkCCDcDCCAEIAApAgA3AwAgACABKAIYNgIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgBCgCGDYCGCABIAQpAxA3AhAgASAEKQMINwIIIAEgBCkDADcCAAwBCyAFIAZJBEAgBCAAKAIYNgIYIAQgACkCEDcDECAEIAApAgg3AwggBCAAKQIANwMAIAAgAigCGDYCGCAAIAIpAhA3AhAgACACKQIINwIIIAAgAikCADcCACACIAQoAhg2AhggAiAEKQMQNwIQIAIgBCkDCDcCCCACIAQpAwA3AgAMAQsgBCAAKAIYNgIYIAQgACkCEDcDECAEIAApAgg3AwggBCAAKQIANwMAIAAgASgCGDYCGCAAIAEpAhA3AhAgACABKQIINwIIIAAgASkCADcCACABIAQoAhg2AhggASAEKQMQNwIQIAEgBCkDCDcCCCABIAQpAwA3AgAgAigCBCABKAIETw0AIAQgASgCGDYCGCAEIAEpAhA3AxAgBCABKQIINwMIIAQgASkCADcDACABIAIoAhg2AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAEKAIYNgIYIAIgBCkDEDcCECACIAQpAwg3AgggAiAEKQMANwIACwJAIAMoAgQgAigCBE8NACAEIAIoAhg2AhggBCACKQIQNwMQIAQgAikCCDcDCCAEIAIpAgA3AwAgAiADKAIYNgIYIAIgAykCEDcCECACIAMpAgg3AgggAiADKQIANwIAIAMgBCgCGDYCGCADIAQpAxA3AhAgAyAEKQMINwIIIAMgBCkDADcCACACKAIEIAEoAgRPDQAgBCABKAIYNgIYIAQgASkCEDcDECAEIAEpAgg3AwggBCABKQIANwMAIAEgAigCGDYCGCABIAIpAhA3AhAgASACKQIINwIIIAEgAikCADcCACACIAQoAhg2AhggAiAEKQMQNwIQIAIgBCkDCDcCCCACIAQpAwA3AgAgASgCBCAAKAIETw0AIAQgACgCGDYCGCAEIAApAhA3AxAgBCAAKQIINwMIIAQgACkCADcDACAAIAEoAhg2AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgASAEKAIYNgIYIAEgBCkDEDcCECABIAQpAwg3AgggASAEKQMANwIACwsdACABBEAgACABKAIAEGogACABKAIEEGogARAECwthAQZ/IwBBIGsiAiQAIAJBDGohBwJAIAJBFWoiBiIDIAJBIGoiBEYNACABQQBODQAgA0EtOgAAIANBAWohA0EAIAFrIQELIAcgAyAEIAEQygEgACAGIAIoAgwQzAEgBCQAC/4BAQR/An8gARAnIQIjAEEQayIFJAACfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiBEEATwRAAkAgAiAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgBGtNBEAgAkUNAQJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgMgBAR/IAIgA2ogAyAEEJQBIAEgAkEAIAMgBGogAUsbQQAgASADTxtqBSABCyACEJQBIAAgAiAEaiIBENIBIAVBADoADyABIANqIAUtAA86AAAMAQsgACADIAIgBGogA2sgBEEAQQAgAiABEG0LIAVBEGokACAADAELEA0ACwv9AgEFfyMAQRBrIggkACACIAFBf3NB7////wdqTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshCiAIQQRqIgkgACABQef///8DSQR/IAggAUEBdDYCDCAI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QQg2AhQgACAEQRRqEBINACAEQQk2AhAgACAEQRBqEBINACAEQQo2AgwgACAEQQxqEBIhAwsgBEEgaiQAIAMLQwAgAEHcAGogACgCYBA4IABB0ABqIAAoAlQQOCAAQcQAaiAAKAJIEDggAEE4aiAAKAI8EDggAEEsaiAAKAIwEEUgAAskAQF/IABB2M4ANgIAIAAoAhgiAQRAIAAgATYCHCABEAQLIAALJAEBfyAAQZTKADYCACAAKAIYIgEEQCAAIAE2AhwgARAECyAACyQBAX8gAEH4yAA2AgAgACgCGCIBBEAgACABNgIcIAEQBAsgAAuoCwEOfyMAQRBrIgkkAAJAAkACQCAAIAFHIAAgAkdxRQRAIAlBADYCDCAJQgA3AgQgCUEEaiIEIAEgAhCLASAAIARGBEAgCSgCDCECDAILIAAgCSgCCCIBNgIEAkAgASAAKAIATQRAIAEhBAwBCyABIQQgACgCCCICBEAgAhAEIAAoAgQhBAsgACABNgIAIABBfyABQQJ0IAFB/////wNLGxAFNgIICyAJKAIMIQIgBEUNASAAKAIIIQFBACEAIARBBE8EQCAEQXxxIQgDQCABIABBAnQiA2ogAiADaigCADYCACABIANBBHIiBmogAiAGaigCADYCACABIANBCHIiBmogAiAGaigCADYCACABIANBDHIiA2ogAiADaigCADYCACAAQQRqIQAgB0EEaiIHIAhHDQALCyAEQQNxIgRFDQIDQCABIABBAnQiA2ogAiADaigCADYCACAAQQFqIQAgBUEBaiIFIARHDQALDAILIAEoAgQhAyACKAIEIgRFBEAgACADNgIEAkAgAyAAKAIATQRAIAMhBAwBCyADIQQgACgCCCICBEAgAhAEIAAoAgQhBAsgACADNgIAIABBfyADQQJ0IANB/////wNLGxAFNgIICyAERQ0DIAAoAgghAiABKAIIIQFBACEAIARBBE8EQCAEQXxxIQgDQCACIABBAnQiA2ogASADaigCADYCACACIANBBHIiBmogASAGaigCADYCACACIANBCHIiBmogASAGaigCADYCACACIANBDHIiA2ogASADaigCADYCACAAQQRqIQAgB0EEaiIHIAhHDQALCyAEQQNxIgRFDQMDQCACIABBAnQiA2ogASADaigCADYCACAAQQFqIQAgBUEBaiIF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BSABKAIIIgJqECcgAmo2AggLIAAoAgBFDQEgAUECQQEgASgCFBsiAkEBahAiIgVFDQQgBUEsOgAAIAEoAhQEfyAFQSA6AAEgBUECagUgBUEBagtBADoAACABIAEoAgggAmo2AgggACgCACIADQALC0EAIQcgAUECECIiAEUNAiAAQd0AOwAAIAEgASgCDEEBazYCDAwBCyAAKAIIIQUgAUECQQEgASgCFBsiB0EBahAiIgBFBEBBACEHDAILIABB+wA6AAAgASABKAIMQQFqNgIMIAEoAhQEQCAAQQo6AAELIAEgASgCCCAHajYCCCAFBEADQCABKAIUBEAgASABKAIMECIiB0UEQEEAIQcMBQtBACEAQQAhAiABKAIMBEADQCAHQQk6AAAgB0EBaiEHIABBAWoiACABKAIMIgJJDQALCyABIAEoAgggAmo2AggLQQAhByAFKAIgIAEQuAFFDQMgASgCACIABEAgASAAIAEoAggiAmoQJyACajYCCAsgAUECQQEgASgCFBsiAhAiIgBFDQMgAEE6OgAAIAEoAhQEQCAAQQk6AAELIAEgASgCCCACajYCCCAFIAEQjQFFDQMgASgCACIABEAgASAAIAEoAggiB2oQJyAHajYCCAtBACEHIAEgBSgCAEEARyABKAIUQQBHaiICQQFqECIiAEUNAyAFKAIABEAgAEEsOgAAIABBAWohAAsgASgCFAR/IABBCjoAACAAQQFqBSAAC0EAOgAAIAEgASgCCCACajYCCCAFKAIAIgUNAAsLQQAhByABIAEoAhQEfyABKAIMQQFqBUECCxAiIgBFDQECQCABKAIURQ0AIAEoAgxBAUYNAANAIABBCToAACAAQQFqIQAgB0EBaiIHIAEoAgxBAWtJDQALCyAAQf0AOwAAIAEgASgCDEEBazYCDAtBASEHCyAKQeAAaiQAIAcLjAYBB38jAEEQayIEJAACQCAAIAFHIAAgAkdxRQRAIARCADcDCCAEQgA3AwAgBCABIAIQjgECQCAAIARGDQAgACAEKAIANgIAIAAgBCgCCCICNgIIAkAgAiAAKAIETQRAIAIhAQwBCyACIQEgACgCDCIGBEAgBhAEIAAoAgghAQsgACACNgIEIABBfyACQQJ0IAJB/////wNLGxAFNgIMCyABRQ0AIAAoAgwhAkEAIQYgBCgCDCEFQQAhACABQQRPBEAgAUF8cSEIA0AgAiAAQQJ0IgNqIAMgBWooAgA2AgAgAiADQQRyIgdqIAUgB2ooAgA2AgAgAiADQQhyIgdqIAUgB2ooAgA2AgAgAiADQQxyIgNqIAMgBWooAgA2AgAgAEEEaiEAIAlBBGoiCSAIRw0ACwsgAUEDcSIBRQ0AA0AgAiAAQQJ0IgNqIAMgBWooAgA2AgAgAEEBaiEAIAZBAWoiBiABRw0ACwsgBCgCDCIARQ0BIAAQBAwBCwJAIAEoAgAiBgRAIAIoAgAiBQ0BCyAAQQA2AgAgBEEANgIIIARCADcCAAJAIABBBGogBEYNACAAIAQoAgQiAjYCCAJAIAIgACgCBE0EQCACIQEMAQsgAiEBIAAoAgwiBgRAIAYQBCAAKAIIIQELIAAgAjYCBCAAQX8gAkECdCACQf////8DSxsQBTYCDAsgAUUNACAAKAIMIQIgBCgCCCEFQQAhBkEAIQAgAUEETwRAIAFBfHEhCANAIAIgAEECdCIDaiADIAVqKAIANgIAIAIgA0EEciIHaiAFIAdqKAIANgIAIAIgA0EIciIHaiAFIAdqKAIANgIAIAIgA0EMciIDaiADIAVqKAIANgIAIABBBGohACAJQQRqIgkgCEcNAAsLIAFBA3EiAUUNAANAIAIgAEECdCIDaiADIAVqKAIANgIAIABBAWohACAGQQFqIgYgAUcNAAsLIAQoAggiAEUNASAAEAQMAQsgAEEBQX8gBSAGRhs2AgAgAEEEaiABQQRqIAJBBGoQvgELIARBEGokAAuXBQMKfwN8B30jAEGAAmsiDCQAAkAgAyAETg0AIAUgBk4NACAMIAWyQwAAAD+SuyIWOQP4ASAMIAOyQwAAAD+SuyIXOQPwASAMIBY5A+gBIAwgBLJDAAAAP5K7IhY5A+ABIAwgBrJDAAAAP5K7Ihg5A9gBIAwgFjkD0AEgDCAYOQPIASAMIBc5A8ABIAcqAgAhGSAHKgIEIRogCCoCACEbIAgqAgQhHCAJKgIAIR0gCSoCBCEeIAoqAgAhHyAMIAoqAgS7OQO4ASAMIB+7OQOwASAMIB67OQOoASAMIB27OQOgASAMIBy7OQOYASAMIBu7OQOQASAMIBq7OQOIASAMIBm7OQOAASAMQTBqIAxBwAFqIAxBgAFqEHQhECABKAJkQQJtIQlBACEHQQAhCEEAIQoCQAJAAn8CQAJAAkACQCACIAEoAnxrIgJBHXZBBHEgAmoOBAABAgMGC0F/IQgMBAtBfyEPQQEMAgtBASEIDAILQQEhD0F/CyEKIAkhBwwBCyAJIQcLIAUgBkoNACADIARKDQADQCAFIAhsIREgBSAPbCAHaiESIAWyQwAAAD+SuyEWIAMhCQNAIAwgFjkDGCAMIAwpAxg3AwggDCAJIgKyQwAAAD+SuzkDECAMIAwpAxA3AwAgDEEgaiAQIAwQXiASIAIgCGxqIRNBACEJIAwrAyAQUSENIAwrAygQUSEOAkAgDUEASA0AIA5BAEgNACAAKAIEIhQgDUwNACAAKAIIIA5MDQAgACgCACAOIBRsaiANai0AACEJCyALIAEoAmQgE2xqIAIgCmxqIBFqIAdqIAlB/wFxRToAACACQQFqIQkgAiAERw0ACyAFIAZGIRUgBUEBaiEFIBVFDQALCyAMQYACaiQAC2EBA38CQCAARQ0AIAAoAgAiA0UNACAAKAIIIgEgACgCBCICTw0AAkADQCABIANqLQAAQSBNBEAgACABQQFqIgE2AgggASACRw0BDAILCyABIAJHDQELIAAgAkEBazYCCAsLHAAgACABQcCEPW4iABBGIAEgAEHAhD1saxCSAQscACAAIAFBkM4AbiIAEEYgASAAQZDOAGxrEJMBCxkAIAAgAUHkAG4iABBGIAEgAEHkAGxrEEYLEAAgAgRAIAAgASACEAwaCwvRAwICfgJ/IwBBIGsiBCQAAkAgAUL///////////8AgyIDQoCAgICAgMCAPH0gA0KAgICAgIDA/8MAfVQEQCABQgSGIABCPIiEIQMgAEL//////////w+DIgBCgYCAgICAgIAIWgRAIANCgYCAgICAgIDAAHwhAgwCCyADQoCAgICAgICAQH0hAiAAQoCAgICAgICACFINASACIANCAYN8IQIMAQsgAFAgA0KAgICAgIDA//8AVCADQoCAgICAgMD//wBRG0UEQCABQgSGIABCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiADQv///////7//wwBWDQBCACECIANCMIinIgVBkfcASQ0AIARBEGogACABQv///////z+DQoCAgICAgMAAhCICIAVBgfcAaxAZIAQgACACQYH4ACAFaxBH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OCADQgA3AzAgA0IANwMoIANCADcDICADQQA2AhggA0IANwMQIANCADcDCCADQgA3AwAgA0EANgKsASADQgA3AqQBIAMgADYClAEgAyALNgKgASADIAs2ApwBIAMgBTYCmAEgA0GUAWoQYiADIAA2AiAgAyAANgIAIANCADcCjAEgA0IANwKEASADQgA3AnwgA0IANwJwIANCADcCaCADIAA2AnggA0IANwJgIAMgADYCXCAHQQJ1IgpBAE4EQCADQeAAaiAKQQFqEGEgAygCZCADKAJgIgJrIgRBAEoEQCACQQAgBBAJGgsgAkEBNgIAAkAgAygCDCICIAMoAgQiBUcNACADKAIIIQRBgAEQBSIFQYABaiELIAUgBCACa2oiByEFIAIgBEcEQANAIAVBBGsiBSAEQQRrIgQoAgA2AgAgAiAERw0ACwsgAyALNgIMIAMgBzYCCCADIAU2AgQgAkUNACACEAQgAygCBCEFCyADKAIIIgQgBWtBAnUhAgJAIAQgBUYEQCADQQRyQQEgAmsQMyADKAIEIQUgAygCCCEEDAELIAJBAkkNACADIAVBBGoiBDYCCAsgBCAFayICQQBKBEAgBUEAIAIQCRoLIAVBADYCAAJAIAMoAiwiAiADKAIkIgVHDQAgAygCKCEEQYABEAUiBUGAAWohCyAFIAQgAmtqIgchBSACIARHBEADQCAFQQRrIgUgBEEEayIEKAIANgIAIAIgBEcNAAsLIAMgCzYCLCADIAc2AiggAyAFNgIkIAJFDQAgAhAEIAMoAiQhBQsgAygCKCIJIAVrQQJ1IQICQCAFIAlGBEAgA0EgakEEckEBIAJrEDMgAygCJCEFIAMoAighCQwBCyACQQJJDQAgAyAFQQRqIgk2AigLIAkgBWsiAkEASgRAIAVBACACEAkaCyAFQQE2AgACQCADKAKcASILIAMoApgBIgZrIgIgAygCZCIFIAMoAmAiBGsiCEgEQCACIQggBSEHIAQhAiAGIQQgCyEFDAELIAMoApQBIQIgAyADKAJcNgKUASADIAI2AlwgAygCoAEhAiADIAMoAmg2AqABIAMgBTYCnAEgAyAENgKYASADIAI2AmggAyALNgJkIAMgBjYCYCALIQcgBiECCwJAIApBAXYiFiAIQQJ1SARAIAMoAiwhCiADKAIkIQYgAygCICEIA0AgAyAD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AUEBazYCCAsgBSACEOoBRQRAIAAhAQwECyACKAIEIQEgAigCCCEDAkAgAigCACIERQ0AIAEgA00NAAJAA0AgAyAEai0AAEEgTQRAIAIgA0EBaiIDNgIIIAEgA0cNAQwCCwsgASADRw0BCyACIAFBAWsiAzYCCAsgBSAFKAIQNgIgIAVBADYCECABIANNBEAgACEBDAQLIAMgBGotAABBOkcEQCAAIQEMBAsgAiADQQFqIgM2AggCQCABIANNDQACQANAIAMgBGotAABBIE0EQCACIANBAWoiAzYCCCABIANHDQEMAgsLIAEgA0cNAQsgAiABQQFrNgIICyAFIAIQogFFBEAgACEBDAQLIAIoAgQhASACKAIIIQMCQCACKAIAIghFDQAgASADTQ0AAkADQCADIAhqLQAAQSBNBEAgAiADQQFqIgM2AgggASADRw0BDAILCyABIANHDQELIAIgAUEBayIDNgIICyABIANNBEAgACEBDAQLIAAhASAFIQQgAyAIai0AACIFQSxGDQALIAVB/QBHDQIgAiACKAIMQQFrNgIMIAEgBDYCBAsgBiAANgIIIAZBwAA2AgwgAiADQQFqNgIIQQEMBAsgAUUNAQsgARBYCwtBAAshBQwCCyAEIQULIAUQWEEAIQULIAdB0ABqJAAgBQvuAQEHf0F/IAEoAgAiAkEBaiIFIAEoAgQiA2wiBiADaiAFQX5xIANsIgdqIAIgA2wiBUEBdGoiAkECdCACQf////8DSxsiBBAFIgJBACAEEAkhCCAAKAIEIQQgACAINgIEIAQEQCAEEAQgACgCBCECCyAAIAI2AhQgACACIAVBAnQiBGoiAjYCGCAAIAIgBkECdGoiAjYCHCAAIAIgB0ECdGoiAjYCICAAIAIgA0ECdGo2AiRBfyAEIAVB/////wNLGyIDEAVBACADEAkhAiAAKAIQIQMgACACNgIQIAMEQCADEAQLIAAgASkCADcCCAskAQF/IABBwOkANgIAIAAoAhgiAQRAIAAgATYCHCABEAQLIAAL7gkBDX8jAEEQayIIJABBASEFAkAgACgCAEUNACABQX9GDQAgACgCBEUNACAAQQhqIQsCQAJAAkACQCAAKAIIIgMgACgCDCIGRgRAIAMhBgwBCwNAAkAgAygCACABIAAoAgRrSARAIAYgAyIEQRBqIgVGBH8gBgUDQCAEIAUoAgA2AgAgBCwAD0EASARAIAQoAgQQBAsgBCAFKQIENwIEIAQgBSgCDDYCDCAFQQA6AA8gBUEAOgAEIARBEGohBCAFQRBqIgUgBkcNAAsgACgCDAsiBSADIAQgA2tqIgZHBEADQCAFQQFrLAAAQQBIBEAgBUEMaygCABAECyAFQRBrIgUgBkcNAAsLIAAgBjYCDAwBCyADQRBqIQMLIAMgBkcNAAsgCygCACIHIAZGDQBBACEEIAIoAgQiAyACLQALwCIJIAlBAEgiBRshDCABIAAoAgRrIQ0gBQRAIAIoAgAhBQNAAkAgBygCACANTA0AIAwgBygCCCAHLAAPIgkgCUEASCIJG0cNACAEIAUgBygCBCAHQQRqIAkbIAMQP0VqIQQLIAdBEGoiByAGRw0ACyAAKAIAIQMgCCABNgIAIARBAWogA04hBSAIQQRqIQQMAgsCQCAJRQRAA0AgDSAHKAIASARAIAogDCAHKAIIIAcsAA8iAyADQQBIG0ZqIQoLIAdBEGoiByAGRw0ADAILAAsDQAJAIAcoAgAgDUwNACAMIAcoAgggBywADyIDIANBAEgiAxtHDQAgBygCBCAHQQRqIAMbIQUgAiEEIAkhAwNAIAQtAAAgBS0AAEcNASAFQQFqIQUgBEEBaiEEIANBAWsiAw0ACyAKQQFqIQoLIAdBEGoiByAGRw0ACwsgACgCACEDIAggATYCACAKQQFqIANOIQUgCEEEaiEEDAILIAIsAAshDyAAKAIAIQ4gCCABNgIAIA5BAkghBSAIQQRqIQQgD0EATg0BCyAEIAIoAgAgAigCBBAUIAAoAgwhBgwBCyAEIAIpAgA3AgAgBCACKAIINgIICyAAKAIQIAZLBEAgBiAIKAIANgIAIAYgBCgCCDYCDCAGIAQpAgA3AgQgBEIANwIAIARBADYCCCAAIAZBEGo2AgwMAQtBACECAkACQAJAIAsiASgCBCABKAIAIgNrQQR1IgRBAWoiAEGAgICAAUkEQEH/////ACABKAIIIANrIgNBA3UiBiAAIAAgBkkbIANB8P///wdPGyIDBEAgA0GAgICAAU8NAiADQQR0EAUhAgsgAiAEQQR0aiIAIAgoAgA2AgAgACAIKAIMNgIMIAAgCCkCBDcCBCAIQQA2AgwgCEIANwIEIAIgA0EEdGohBiAAQRBqIQkgASgCBCICIAEoAgAiC0YNAgNAIABBEGsiAyACQRBrIgQoAgA2AgAgAEEMayIHIAJBDGsiACgCCDYCCCAHIAApAgA3AgAgAEIANwIAIABBADYCCCADIQAgBCICIAtHDQALIAEgBjYCCCABKAIEIQAgASAJNgIEIAEoAgAhAiABIAM2AgAgACACRg0DA0AgAEEBaywAAEEASARAIABBDGsoAgAQBAsgAEEQayIAIAJHDQALDAMLEAAACxANAAsgASAGNgIIIAEgCTYCBCABIAA2AgALIAIEQCACEAQLIAgsAA9BAE4NACAIKAIEEAQLIAhBEGokACAFC38AIABCADcCACAAQgA3AhggAEIANwIQIABCADcCCCAAIAEpAgA3AgAgACABKAIIIAEoAgBqrSABNQIEQiCGhDcCCCAAIAEoAgggASgCAGqtIAEoAgwgASgCBGqtQiCGhDcCECAAIAE1AgAgASgCDCABKAIEaq1CIIaENwIYIAALowEBCX0gAioCACIGIAEqAgCTIgggBCoCBCILIAMqAgSTIgWUIAIqAgQiDCABKgIEkyIHIAQqAgAiDSADKgIAkyIJlJMiCkMAAAAAWwRAIABBADoAACAAQQA6AAgPCyAAIAUgB4wiByAGlCAMIAiUkiIGlCALIAmUIAUgDZSTIgUgB5SSIAqVOAIEIAAgCSAGlCAFIAiUkyAKlTgCACAAQQE6AAgLjAQBCH8gASAAKAIIIgYgACgCBCIEa0ECdU0EQAJAIAFFDQAgAigCACEDIAQhAiABQQdxIgcEQANAIAIgAzYCACACQQRqIQIgBUEBaiIFIAdHDQALCyABQQJ0IARqIQQgAUEBa0H/////A3FBB0kNAANAIAIgAzYCHCACIAM2AhggAiADNgIUIAIgAzYCECACIAM2AgwgAiADNgIIIAIgAzYCBCACIAM2AgAgAkEgaiICIARHDQALCyAAIAQ2AgQPCwJAIAQgACgCACIHa0ECdSIFIAFqIgNBgICAgARJBEBB/////wMgBiAHayIGQQF1IgggAyADIAhJGyAGQfz///8HTxsiBgRAIAZBgICAgARPDQIgBkECdBAFIQkLIAIoAgAhAyAJIAVBAnRqIgUhAiABQQdxIggEQANAIAIgAzYCACACQQRqIQIgCkEBaiIKIAhHDQALCyABQQJ0IAVqIQggAUEBa0H/////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BEEEaw4MBgEBAQEBAQEBAQEAAQsgA0EdEBNBACECIAEQJUEHSA0FIAFBBxAqQQdLDQUgAUEDEBYaDAULIAMgBEErasAQE0ECIQIMBAsgAkEcTQRAIANBAUEHIAFBBxAfIgJB2gBIGyACasAQE0ECIQIMBAsgAUEIEB8iAkHoAWtBFEsNACADIAJBiBtqLAAAEBNBAiECDAMLIABBADoAAEEADAULIANBHSABQQcQHyICQQhrIgRBC20iBUEwaiACQfYAa0ELSRvAEBMgA0EdIAQgBUELbGsiAkEwaiACQQpGG8AQEwtBACECCyABECVBAkoNAAsgAygCBCECIAMtAAsLIQECQCACIAFB/wFxIAHAIgRBAEgbIgJFDQAgAygCACIBIAMgBEEASCIEGyACakEBay0AAEEdRw0AIAJBAWshAgJAIAQEQCADIAI2AgQMAQsgAyACQf8AcToACyADIQELIAEgAmpBADoAAAsgACADKQMANwIAIAAgAygCCDYCCCADQQA2AgggA0IANwMAQQELOgAMIAMsAAtBAEgEQCADKAIAEAQLIANBEGokAAulBAEBfyAAQejhADYCACAAKAKoAiIBBEAgACABNgKsAiABEAQLIAAoApwCIgEEQCAAIAE2AqACIAEQBAsgACgCkAIiAQRAIAAgATYClAIgARAECyAAKAKEAiIBBEAgACABNgKIAiABEAQLIAAoAvgBIgEEQCAAIAE2AvwBIAEQBAsgACgC7AEiAQRAIAAgATYC8AEgARAECyAAKALgASIBBEAgACABNgLkASABEAQLIAAoAtQBIgEEQCAAIAE2AtgBIAEQBAsgACgCyAEiAQRAIAAgATYCzAEgARAECyAAKAK8ASIBBEAgACABNgLAASABEAQLIAAoArABIgEEQCAAIAE2ArQBIAEQBAsgACgCpAEiAQRAIAAgATYCqAEgARAECyAAKAKYASIBBEAgACABNgKcASABEAQLIAAoAowBIgEEQCAAIAE2ApABIAEQBAsgACgCgAEiAQRAIAAgATYChAEgARAECyAAKAJ0IgEEQCAAIAE2AnggARAECyAAKAJoIgEEQCAAIAE2AmwgARAECyAAKAJcIgEEQCAAIAE2AmAgARAECyAAKAJQIgEEQCAAIAE2AlQgARAECyAAKAJEIgEEQCAAIAE2AkggARAECyAAKAI4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Qb0RLQAAOgDcASAAQbkRKAAANgLYASAAQQY6APMBIABBDTYC5AEgAEEAOgDdASAAQY4ULwAAOwHsASAAQYoUKAAANgLoASAAQQ42AvQBIABBADoA7gFBpNoBQajaATYCAEGo2gFCADcCACAAQfgBaiICIAcgBxAkIAIgBiAGECQgAiAKIAoQJCACIAkgCRAkIAIgAEHIAGoiASABECQgAiAAQdgAaiIBIAEQJCACIABB6ABqIgEgARAkIAIgAEH4AGoiASABECQgAiAAQYgBaiIBIAEQJCACIABBmAFqIgEgARAkIAIgAEGoAWoiASABECQgAiAAQbgBaiIBIAEQJCACIABByAFqIgEgARAkIAIgAEHYAWoiASABECQgAiAAQegBaiIBIAEQJCAALADzAUEASARAIAAoAugBEAQLIAAsAOMBQQBIBEAgACgC2AEQBAsgACwA0wFBAEgEQCAAKALIARAECyAALADDAUEASARAIAAoArgBEAQLIAAsALMBQQBIBEAgACgCqAEQBAsgACwAowFBAEgEQCAAKAKYARAECyAALACTAUEASARAIAAoAogBEAQLIAAsAIMBQQBIBEAgACgCeBAECyAALABzQQBIBEAgACgCaBAECyAALABjQQBIBEAgACgCWBAECyAALABTQQBIBEAgACgCSBAECyAALABDQQBIBEAgACgCOBAECyAALAAzQQBIBEAgACgCKBAECyAALAAjQQBIBEAgACgCGBAECyAALAATQQBIBEAgACgCCBAEC0EAIQJBsNoBQbTaATYCAEG02gFCADcCAAJAQaTaASgCACIDQajaAUYNAANAIAMoAhwhBUG02gEhBEG02gEhAQJAAkAgAkUNAANAIAIiASgCECICIAVKBEAgASIEKAIAIgINAQwCCyACIAVOBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQQLQSAQBSICQgA3AhQgAiAFNgIQIAIgATYCCCACQgA3AgAgAkEANgIcIAQgAjYCACACIQFBsNoBKAIAKAIAIgUEQEGw2gEgBTYCACAEKAIAIQELQbTaASgCACABEBdBuNoBQbjaASgCAEEBajYCAAsCQCACQRRqIgUgA0EQaiIBRg0AIAMsABshBCACLAAfQQBOBEAgBEEATgRAIAUgASkCADcCACAFIAEoAgg2AggMAgsgBSADKAIQ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AQsgACgCCCIFIAAoAgwiAkkEQCAFIAIgBWtBAnVBAWpBAm1BAnQiBmogBSADayIEayECIAMgBUcEQCACIAMgBBAMGiAAKAIIIQMLIAAgAjYCBCAAIAMgBmo2AggMAQtBASACIANrQQF1IAIgA0YbIgRBgICAgARPDQEgBEECdCICEAUiCCACaiEJIAggBEEDakF8cWoiAiEHIAMgBUcEQCACIAUgA2tqIQcgAiEGIAMhBANAIAYgBCgCADYCACAEQQRqIQQgBkEEaiIGIAdHDQALCyAAIAk2AgwgACAHNgIIIAAgAjYCBCAAIAg2AgAgA0UNACADEAQgACgCBCECCyACQQRrIAEoAgA2AgAgACAAKAIEQQRrNgIEDwsQDQALiAMBBX8gAEUEQEEADwsgABAnQQFqIQIjAEEgayIBJAAgAUEANgIYIAFCADcDECABQgA3AwggAUIANwMAQeDUAUEANgIAQeTUAUEANgIAAkBB5NQBAn8CQCAARQ0AIAJFDQAgAUHQ+AAoAgA2AhggASACNgIEIAEgADYCACABQcj4ACkCADcDEEEAQShByPgAKAIAEQMAIgRFDQEaIARCADcDACAEQgA3AyAgBEIANwMYIARCADcDECAEQgA3AwgCQCACQQVJDQAgAEGACEEDEFANACABQQM2AghBAyEDCwJAIAIgA00NAAJAIAAgA2otAABBIU8EQCABKAIIIQMMAQsDQCACIANBAWoiA0cEQCAAIANqLQAAQSBNDQEMAgsLIAEgAkEBazYCCAwBCyABIAM2AggLIAQgARCiAQRAIAQhBQwDCyAEEFgLIABFDQEgASgCBCECIAEoAggLIgMgAkEBayIEQQAgAiAETxsgAiADSxs2AgBB4NQBIAA2AgALIAFBIGokACAFC5ETAQh/IwBBIGsiAiQAQQEhBgJAAkACQAJAAkACQCABIABrQRxtDgYFBQABAgMECyABQRhrKAIAIAAoAgRPDQQgAiAAKAIYNgIYIAIgACkCEDcDECACIAApAgg3AwggAiAAKQIANwMAIAAgAUEcayIBQRhqKAIANgIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgAigCGDYCGCABIAIpAxA3AhAgASACKQMINwIIIAEgAikDADcCAAwECyABQRxrIQMgAEEcaiEEIAFBGGsiBygCACEBIAAoAiAiBSAAKAIETwRAIAEgBU8NBCACIAQoAhg2AhggAiAEKQIQNwMQIAIgBCkCCDcDCCACIAQpAgA3AwAgBCADKAIYNgIYIAQgAykCEDcCECAEIAMpAgg3AgggBCADKQIANwIAIAMgAigCGDYCGCADIAIpAxA3AhAgAyACKQMINwIIIAMgAikDADcCACAAKAIgIAAoAgRPDQQgAiAAKAIYNgIYIAIgACkCEDcDECACIAApAgg3AwggAiAAKQIANwMAIAAgBCgCGDYCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCACAEIAIoAhg2AhggBCACKQMQNwIQIAQgAikDCDcCCCAEIAIpAwA3AgAMBAsgASAFSQRAIAIgACgCGDYCGCACIAApAhA3AxAgAiAAKQIINwMIIAIgACkCADcDACAAIAMoAhg2AhggACADKQIQNwIQIAAgAykCCDcCCCAAIAMpAgA3AgAgAyACKAIYNgIYIAMgAikDEDcCECADIAIpAwg3AgggAyACKQMANwIADAQLIAIgACgCGDYCGCACIAApAhA3AxAgAiAAKQIINwMIIAIgACkCADcDACAAIAQoAhg2AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgAgBCACKAIYNgIYIAQgAikDEDcCECAEIAIpAwg3AgggBCACKQMANwIAIAcoAgAgACgCIE8NAyACIAQoAhg2AhggAiAEKQIQNwMQIAIgBCkCCDcDCCACIAQpAgA3AwAgBCADKAIYNgIYIAQgAykCEDcCECAEIAMpAgg3AgggBCADKQIANwIAIAMgAigCGDYCGCADIAIpAxA3AhAgAyACKQMINwIIIAMgAikDADcCAAwDCyAAIABBHGogAEE4aiABQRxrEGkMAgsgACAAQRxqIgQgAEE4aiIDIABB1ABqIgUQaSABQRhrKAIAIAAoAlhPDQEgAiAFKAIYNgIYIAIgBSkCEDcDECACIAUpAgg3AwggAiAFKQIANwMAIAUgAUEcayIBQRhqKAIANgIYIAUgASkCEDcCECAFIAEpAgg3AgggBSABKQIANwIAIAEgAigCGDYCGCABIAIpAxA3AhAgASACKQMINwIIIAEgAikDADcCACAAKAJYIAAoAjxPDQEgAiADKAIYNgIYIAIgAykCEDcDECACIAMpAgg3AwggAiADKQIANwMAIAMgBSgCGDYCGCADIAUpAhA3AhAgAyAFKQIINwIIIAMgBSkCADcCACAFIAIoAhg2AhggBSACKQMQNwIQIAUgAikDCDcCCCAFIAIpAwA3AgAgACgCPCAAKAIgTw0BIAIgBCgCGDYCGCACIAQpAhA3AxAgAiAEKQIINwMIIAIgBCkCADcDACAEIAMoAhg2AhggBCADKQIQNwIQIAQgAykCCDcCCCAEIAMpAgA3AgAgAyACKAIYNgIYIAMgAikDEDcCECADIAIpAwg3AgggAyACKQMANwIAIAAoAiAgACgCBE8NASACIAAoAhg2AhggAiAAKQIQNwMQIAIgACkCCDcDCCACIAApAgA3AwAgACAEKAIYNgIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIAIAQgAigCGDYCGCAEIAIpAxA3AhAgBCACKQMINwIIIAQgAikDADcCAAwBCyAAQRxqIQMgAEE4aiEEIAAoAjwhBQJAIAAoAiAiByAAKAIEIghPBEAgBSAHTw0BIAIgAygCGDYCGCACIAMpAhA3AxAgAiADKQIINwMIIAIgAykCADcDACADIARBGGooAgA2AhggAyAEQRBqKQIANwIQIAMgBEEIaikCADcCCCADIAQpAgA3AgAgBCACKAIYNgIYIAQgAikDEDcCECAEIAIpAwg3AgggBCACKQMANwIAIAAoAiAgCE8NASACIAAoAhg2AhggAiAAKQIQNwMQIAIgACkCCDcDCCACIAApAgA3AwAgACADKAIYNgIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIAIAMgAigCGDYCGCADIAIpAxA3AhAgAyACKQMINwIIIAMgAikDADcCAAwBCyAFIAdJBEAgAiAAKAIYNgIYIAIgACkCEDcDECACIAApAgg3AwggAiAAKQIANwMAIAAgBEEYaigCADYCGCAAIARBEGopAgA3AhAgACAEQQhqKQIANwIIIAAgBCkCADcCACAEIAIoAhg2AhggBCACKQMQNwIQIAQgAikDCDcCCCAEIAIpAwA3AgAMAQsgAiAAKAIYNgIYIAIgACkCEDcDECACIAApAgg3AwggAiAAKQIANwMAIAAgAygCGDYCGCAAIAMpAhA3AhAgACADKQIINwIIIAAgAykCADcCACADIAIoAhg2AhggAyACKQMQNwIQIAMgAikDCDcCCCADIAIpAwA3AgAgBSAAKAIgTw0AIAIgAygCGDYCGCACIAMpAhA3AxAgAiADKQIINwMIIAIgAykCADcDACADIARBGGooAgA2AhggAyAEQRBqKQIANwIQIAMgBEEIaikCADcCCCADIAQpAgA3AgAgBCACKAIYNgIYIAQgAikDEDcCECAEIAIpAwg3AgggBCACKQMANwIACyAAQdQAaiIDIAFGDQBBACEHA0ACQCADKAIEIgggBCgCBE8NACADKAIAIQkgAiADKAIYNgIQIAIgAykCEDcDCCACIAMpAgg3AwAgAyEFA0ACQCAFIAQiBikCADcCACAFIAQoAhg2AhggBSAEKQIQNwIQIAUgBCkCCDcCCCAAIARGBEAgACEGDAELIAZBHGshBCAIIAYiBUEYaygCAEkNAQsLIAYgCDYCBCAGIAk2AgAgBiACKQMANwIIIAYgAikDCDcCECAGIAIoAhA2AhggB0EBaiIHQQhHDQAgA0EcaiABRiEGDAILIAMiBEEcaiIGIQMgASAGRw0AC0EBIQYLIAJBIGokACAGC8UDAgF/BX4CQCAALQBIIgIgAS0ASEYEQCACRQ0BIAAgASkCADcCACAALAATQQBIBEAgACgCCBAECyAAIAEpAgg3AgggACABKAIQNgIQIAFBADoACCABQQA6ABMgACgCFCICBEAgACACNgIYIAIQBCAAQQA2AhwgAEIANwIUCyAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCABQQA2AhwgAUIANwIUIAAgASkAPTcAPSAAIAEpAjg3AjggACABKQIwNwIwIAAgASkCKDcCKCAAIAEpAiA3AiAPCyACBEAgACgCFCIBBEAgACABNgIYIAEQBAsgACwAE0EASARAIAAoAggQBAsgAEEAOgBIDwsgACABKQIANwIAIAAgASgCEDYCECAAIAEpAgg3AgggAUEANgIQIAFCADcCCCAAQQA2AhwgAEIANwIUIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcIAFBADYCHCABQgA3AhQgASkCKCEDIAEpAjAhBCABKQI4IQUgASkAPSEGIAEpAiAhByAAQQE6AEggACAGNwA9IAAgBTcCOCAAIAQ3AjAgACADNwIoIAAgBzcCIAsLtIMBAzl/FX0FfiMA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CUH/////A08bIhAEfyAQEAUFQQALIg1qIgtBADoAAAJ/IAIgBEYEQCACIQEgCwwBC0EAIQ8gCyEBIAIhCSATQQNxIhMEQANAIAFBAWsiASAJQQFrIgktAAA6AAAgD0EBaiIPIBNHDQALCyAEIAJrQXxNBEADQCABQQFrIAlBAWstAAA6AAAgAUECayAJQQJrLQAAOgAAIAFBA2sgCUEDay0AADoAACABQQRrIgEgCUEEayIJLQAAOgAAIAQgCUcNAAsLIAQhASANCyEEIA0gEGohCSALQQFqIQIgAUUNACABEAQLIANBAWsiAw0ACwwBCyAFIQsgBiEDIBMgFUYEQANAAkAgAiAJSQRAIAJBAToAACACQQFqIQIMAQsgAiAEayITQQFqIgFBAEgNCSATQf////8HIAkgBGsiA0EBdCIJIAEgASAJSRsgA0H/////A08bIhAEfyAQEAUFQQALIg1qIgNBAToAAAJ/IAIgBEYEQCACIQEgAwwBC0EAIQ8gAyEBIAIhCSATQQNxIhMEQANAIAFBAWsiASAJQQFrIgktAAA6AAAgD0EBaiIPIBNHDQALCyAEIAJrQXxNBEADQCABQQFrIAlBAWstAAA6AAAgAUECayAJQQJrLQAAOgAAIAFBA2sgCUEDay0AADoAACABQQRrIgEgCUEEayIJLQAAOgAAIAQgCUcNAAsLIAQhASANCyEEIA0gEGohCSADQQFqIQIgAUUNACABEAQLIAtBAWsiCw0ADAILAAsDQCATIANBAWsiA3ZBAXEhAQJAIAIgCUkEQCACIAE6AAAgAkEBaiECDAELIAIgBGsiEEEBaiILQQBIDQggEEH/////ByAJIARrIglBAXQiDyALIAsgD0kbIAlB/////wNPGyINBH8gDRAFBUEACyIYaiILIAE6AAACfyACIARGBEAgAiEBIAsMAQtBACEPIAshASACIQkgEEEDcSIQBEADQCABQQFrIgEgCUEBayIJLQAAOgAAIA9BAWoiDyAQRw0ACwsgBCACa0F8TQRAA0AgAUEBayAJQQFrLQAAOgAAIAFBAmsgCUECay0AADoAACABQQNrIAlBA2stAAA6AAAgAUEEayIBIAlBBGsiCS0AADoAACAEIAlHDQALCyAEIQEgGAshBCANIBhqIQkgC0EBaiECIAFFDQAgARAECyADDQALCyARQQRq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EDcCECAGIAcpAgg3AgggBiAHKQIANwIAIAcgBCgCODYCGCAHIAQpAzA3AhAgByAEKQMoNwIIIAcgBCkDIDcCACARKAIAIAcoAgRPDQAgBCAHKAIYNgI4IAQgBykCEDcDMCAEIAcpAgg3AyggBCAHKQIANwMgIAcgCygCGDYCGCAHIAspAhA3AhAgByALKQIINwIIIAcgCykCADcCACALIAQoAjg2AhggCyAEKQMwNwIQIAsgBCkDKDcCCCALIAQpAyA3AgALIAVBOGohCCAAQRxqIQYgECgCACEMAkAgACgCICINIAVBPGooAgBPBEAgDCANTw0BIAQgBigCGDYCOCAEIAYpAhA3AzAgBCAGKQIINwMoIAQgBikCADcDICAGIAooAhg2AhggBiAKKQIQNwIQIAYgCikCCDcCCCAGIAopAgA3AgAgCiAEKAI4NgIYIAogBCkDMDcCECAKIAQpAyg3AgggCiAEKQMgNwIAIAYoAgQgBSgCPE8NASAEIAgoAhg2AjggBCAIKQIQNwMwIAQgCCkCCDcDKCAEIAgpAgA3AyAgCCAGKAIYNgIYIAggBikCEDcCECAIIAYpAgg3AgggCCAGKQIANwIAIAYgBCgCODYCGCAGIAQpAzA3AhAgBiAEKQMoNwIIIAYgBCkDIDcCAAwBCyAMIA1JBEAgBCAIKAIYNgI4IAQgCCkCEDcDMCAEIAgpAgg3AyggBCAIKQIANwMgIAggCigCGDYCGCAIIAopAhA3AhAgCCAKKQIINwIIIAggCikCADcCACAKIAQoAjg2AhggCiAEKQMwNwIQIAogBCkDKDcCCCAKIAQpAyA3AgAMAQsgBCAIKAIYNgI4IAQgCCkCEDcDMCAEIAgpAgg3AyggBCAIKQIANwMgIAggBigCGDYCGCAIIAYpAhA3AhAgCCAGKQIINwIIIAggBikCADcCACAGIAQoAjg2AhggBiAEKQMwNwIQIAYgBCkDKDcCCCAGIAQpAyA3AgAgECgCACAGKAIETw0AIAQgBigCGDYCOCAEIAYpAhA3AzAgBCAGKQIINwMoIAQgBikCADcDICAGIAooAhg2AhggBiAKKQIQNwIQIAYgCikCCDcCCCAGIAopAgA3AgAgCiAEKAI4NgIYIAogBCkDMDcCECAKIAQpAyg3AgggCiAEKQMgNwIACyAGKAIEIQgCQCAAKAIE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IAMoAhQgAmtqNgIIIAUgAygCDDYCCCAFIAMoAgg2AgwgA0EgaiQAIAUoAgwhByAFQRBqJAAgBwucAQECfyMAQYABayIDJAAgA0EAQYABEAkhAwJAIAJB/wBxIgRFBEAgA0GAAToAAAwBCyADIAEgBBAHIgEgBGpBgAE6AAAgBEHwAEkNACAAIAEQbiABQQBBgAEQCRoLIANBADYCeCADIAJBC3RBgID8B3EgAkEbdHIgAkEFdkGA/gNxIAJBA3RBGHZycjYCfCAAIAMQbiADQYABaiQAC6kPAgV/D34jAEHQAmsiBSQAIARC////////P4MhCiACQv///////z+DIQsgAiAEhUKAgICAgICAgIB/gyEMIARCMIinQf//AXEhCAJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDUKAgICAgIDA//8AVCANQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQwMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDCADIQEMAgsgASANQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQwMAwsgDEKAgICAgIDA//8AhCEMQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIA2EUARAQoCAgICAgOD//wAgDCACIAOEUBshDEIAIQEMAgsgAiADhFAEQCAMQoCAgICAgMD//wCEIQxCACEBDAILIA1C////////P1gEQCAFQcACaiABIAsgASALIAtQIgYbeSAGQQZ0rXynIgZBD2sQGUEQIAZrIQYgBSkDyAIhCyAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyAKIAMgCiAKUCIHG3kgB0EGdK18pyIHQQ9rEBkgBiAHakEQayEGIAUpA7gCIQogBSkDsAIhAwsgBUGgAmogCkKAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQGCAFQZACakIAIAUpA6gCfUIAIARCABAYIAVBgAJqIAUpA5gCQgGGIAUpA5ACQj+IhCIEQgAgAkIAEBggBUHwAWogBEIAQgAgBSkDiAJ9QgAQGCAFQeABaiAFKQP4AUIBhiAFKQPwAUI/iIQiBEIAIAJCABAYIAVB0AFqIARCAEIAIAUpA+gBfUIAEBggBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQGCAFQbABaiAEQgBCACAFKQPIAX1CABAYIAVBoAFqIAJCACAFKQO4AUIBhiAFKQOwAUI/iIRCAX0iAkIAEBggBUGQAWogA0IPhkIAIAJCABAYIAVB8ABqIAJCAEIAIAUpA6gBIAUpA6ABIg0gBSkDmAF8IgQgDVStfCAEQgFWrXx9QgAQGCAFQYABakIBIAR9QgAgAkIAEBggBiAJIAhraiEGAn8gBSkDcCITQgGGIg4gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgC0KAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiINQiCIIgogECAUVq0gDiAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig4gEVStIA4gDiATQv////8PgyITIAFCP4giFyALQgGGhEL/////D4MiC358Ig5WrXwgBCAQfnwgBCATfiIRIAsgEH58Ig8gEVStQiCGIA9CIIiEfCAOIA4gD0IghnwiDlatfCAOIA4gFEL/////D4MiFCALfiIRIAIgCn58Ig8gEVStIA8gDyATIA1C/v///w+DIhF+fCIPVq18fCIOVq18IA4gBCAUfiIYIBAgEX58IgQgAiALfnwiCyAKIBN+fCIQQiCIIAsgEFatIAQgGFStIAQgC1atfHxCIIaEfCIEIA5UrXwgBCAPIAIgEX4iAiAKIBR+fCIKQiCIIAIgClatQiCGhHwiAiAPVK0gAiAQQiCGfCACVK18fCICIARUrXwiBEL/////////AFgEQCAWIBeEIRUgBUHQAGogAiAEIAMgEhAYIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hCkIAIAF9IQsgBkH+/wBqDAELIAVB4ABqIARCP4YgAkIBiIQiAiAEQgGIIgQgAyASEBggAUIwhiAFKQNofSAFKQNgIg1CAFKtfSEKQgAgDX0hCyABIQ0gBkH//wBqCyIGQf//AU4EQCAMQoCAgICAgMD//wCEIQxCACEBDAELAn4gBkEASgRAIApCAYYgC0I/iIQhASAEQv///////z+DIAatQjCGhCEKIAtCAYYMAQsgBkGPf0wEQEIAIQEMAgsgBUFAayACIARBASAGaxBHIAVBMGogDSAVIAZB8ABqEBkgBUEgaiADIBIgBSkDQCICIAUpA0giChAYIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgQgAUIBhiINVK19IQEgBCANfQshBCAFQRBqIAMgEkIDQgAQGCAFIAMgEkIFQgAQGCAKIAIgAiADIAQgAkIBgyIEfCIDVCABIAMgBFStfCIBIBJWIAEgElEbrXwiAlatfCIEIAIgAiAEQoCAgICAgMD//wBUIAMgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgJWrXwiBCACIARCgICAgICAwP//AFQgAyAFKQMAViABIAUpAwgiA1YgASADURtxrXwiASACVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC7QLAQZ/IAAgAWohBQJAAkAgACgCBCICQQFxDQAgAkECcUUNASAAKAIAIgIgAWohAQJAAkACQCAAIAJrIgBBzJwCKAIARwRAIAAoAgwhAyACQf8BTQRAIAJBA3YhAiAAKAIIIgQgA0cNAkG4nAJBuJwCKAIAQX4gAndxNgIADAULIAAoAhghBiAAIANHBEBByJwCKAIAGiAAKAIIIgIgAzYCDCADIAI2AggMBAsgACgCFCIEBH8gAEEUagUgACgCECIERQ0DIABBEGoLIQIDQCACIQcgBCIDQRRqIQIgAygCFCIEDQAgA0EQaiECIAMoAhAiBA0ACyAHQQA2AgAMAwsgBSgCBCICQQNxQQNHDQNBwJwCIAE2AgAgBSACQX5xNgIEIAAgAUEBcjYCBCAFIAE2AgAPCyAEIAM2AgwgAyAENgIIDAILQQAh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IARBkMYAaiQAIAwpAyghFyAMKQMgIRgMAQtCACEXCyAAIBg3AwAgACAXNwMIIAxBMGokAAvHBgIFfwR+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEEhFDQACfyAEQv///////z+DIQsCfyAEQjCIp0H//wFxIgZB//8BRwRAQQQgBg0BGkECQQMgAyALhFAbDAILIAMgC4RQCwshCSACQjCIpyIIQf//AXEiB0H//wFGDQAgCQ0BCyAFQRBqIAEgAiADIAQQECAFIAUpAxAiAiAFKQMYIgEgAiABENUBIAUpAwghAiAFKQMAIQQMAQsgASACQv///////////wCDIgsgAyAEQv///////////wCDIgoQSEEATARAIAEgCyADIAoQSARAIAEhBAwCCyAFQfAAaiABIAJCAEIAEBAgBSkDeCECIAUpA3AhBAwBCyAEQjCIp0H//wFxIQYgBwR+IAEFIAVB4ABqIAEgC0IAQoCAgICAgMC7wAAQECAFKQNoIgtCMIinQfgAayEHIAUpA2ALIQQgBkUEQCAFQdAAaiADIApCAEKAgICAgIDAu8AAEBAgBSkDWCIKQjCIp0H4AGshBiAFKQNQIQMLIApC////////P4NCgICAgICAwACEIQwgC0L///////8/g0KAgICAgIDAAIQhCyAGIAdIBEADQAJ+IAsgDH0gAyAEVq19IgpCAFkEQCAKIAQgA30iBIRQBEAgBUEgaiABIAJCAEIAEBAgBSkDKCECIAUpAyAhBAwFCyAKQgGGIARCP4iEDAELIAtCAYYgBEI/iIQLIQsgBEIBhiEEIAdBAWsiByAGSg0ACyAGIQcLAkAgCyAMfSADIARWrX0iCkIAUwRAIAshCgwBCyAKIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQECAFKQM4IQIgBSkDMCEEDAELIApC////////P1gEQANAIARCP4ghDSAHQQFrIQcgBEIBhiEEIA0gCkIBhoQiCkKAgICAgIDAAFQNAAsLIAhBgIACcSEGIAdBAEwEQCAFQUBrIAQgCkL///////8/gyAHQfgAaiAGcq1CMIaEQgBCgICAgICAwMM/EBAgBSkDSCECIAUpA0AhBAwBCyAKQv///////z+DIAYgB3KtQjCGhCECCyAAIAQ3AwAgACACNwMIIAVBgAFqJAALhAEBAn8jAEEgayICJAAgAiABIAEQCiAAIAIgARAKA0AgAiAAIAAQCiAAIAIgARAKIANBAWoiA0H4AUcNAAsgAiAAIAAQCiAAIAIgAhAKIAIgACABEAogACACIAIQCiACIAAgABAKIAAgAiABEAogAiAAIAAQCiAAIAIgARAKIAJBIGokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQECAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAQQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAQIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAQQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAQIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIARCMIinQYCAAnFyrUIwhoQ3AwgLfAECfyAAIAAoAkgiAUEBayABcjYCSCAAKAIUIAAoAhxHBEAgAEEAQQAgACgCJBEFABoLIABBADYCHCAAQgA3AxAgACgCACIBQQRxBEAgACABQSByNgIAQX8PCyAAIAAoAiwgACgCMGoiAjYCCCAAIAI2AgQgAUEbdEEfdQuhCgEBfyAAQVogAS0AACICazoAACAAQdr/AyACa0EIdiABLQABayICOgABIAAgAkGA/gNqQQh2IAEtAAJrIgI6AAIgACACQYD+A2pBCHYgAS0AA2siAjoAAyAAIAJBgP4DakEIdiABLQAEayICOgAEIAAgAkGA/gNqQQh2IAEtAAVrIgI6AAUgACACQYD+A2pBCHYgAS0ABmsiAjoABiAAIAJBgP4DakEIdiABLQAHayICOgAHIAAgAkGA/gNqQQh2IAEtAAhrIgI6AAggACACQYD+A2pBCHYgAS0ACWsiAjoACSAAIAJBgP4DakEIdiABLQAKayICOgAKIAAgAkGA/gNqQQh2IAEt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NwKcASAEIAEpAig3ApQBIAQgASkCIDcCjAEgBCABKQIYNwKEASAEIAEpAhA3AnwgBCABKQIINwJ0IAQgASkCADcCbCAEQQA6AMwBIARBADoArAEgAS0AYARAIAQgASkCQDcCrAEgBCABKQJYNwLEASAEIAEpAlA3ArwBIAQgASkCSDcCtAEgBEEBOgDMAQsgBCACIAMgC0MAAAAAXhsiASkCODcDiAIgBCABKQIwNwOAAiAEIAEpAig3A/gBIAQgASkCIDcD8AEgBCABKQIYNwPoASAEIAEpAhA3A+ABIAQgASkCCDcD2AEgBCABKQIANwPQASAEQQA6ALACIARBADoAkAIgAS0AYARAIAQgASkCQDcCkAIgBCABKQJYNwKoAiAEIAEpAlA3AqACIAQgASkCSDcCmAIgBEEBOgCwAgsgBEIANwPIAiAEQQA6ANACIARBADoA2AIgBEEAOgC8AiAEQQA6ALQCIARCADcDwAIgACAEQQhqIgEpAgA3AgAgACABKQI4NwI4IAAgASkCMDcCMCAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIABBADoAYCAAQQA6AEAgAS0AYARAIABBQGsiAiABKQJANwIAIAIgASkCWDcCGCACIAEpAlA3AhAgAiABKQJINwIIIABBAToAYAsgACABKQJkNwJkIAAgASkCnAE3ApwBIAAgASkClAE3ApQBIAAgASkCjAE3AowBIAAgASkChAE3AoQBIAAgASkCfDcCfCAAIAEpAnQ3AnQgACABKQJsNwJsIABBADoAxAEgAEEAOgCkASABLQDEAQRAIAAgASkCpAE3AqQBIAAgASkCvAE3ArwBIAAgASkCtAE3ArQBIAAgASkCrAE3AqwBIABBAToAxAELIAAgASkCyAE3AsgBIAAgASkCgAI3AoACIAAgASkC+AE3AvgBIAAgASkC8AE3AvABIAAgASkC6AE3AugBIAAgASkC4AE3AuABIAAgASkC2AE3AtgBIAAgASkC0AE3AtABIABBADoAqAIgAEEAOgCIAiABLQCoAgRAIAAgASkCiAI3AogCIAAgASkCoAI3AqACIAAgASkCmAI3ApgCIAAgASkCkAI3ApACIABBAToAqAILIAAgASkCrAI3AqwCIAAgASkAyQI3AMkCIAAgASkCxAI3AsQCIAAgASkCvAI3ArwCIAAgASkCtAI3ArQCIABBAToA1AIgAS0AqAIaIAEtAMQBGiABLQBgGgsgBEHgAmokAAuzPAILfwd9IwBB4AFrIgUkACAFIAE2AgggBSAANgIMIAVBuAFqIQwDQAJAAkACQAJAAkACQAJAAkACQCABIABrIgtB5ABtIg4OBgYGAAQBAgMLIAUgAUHkAGsiAzYCCCADKgIAIAIqAgAiEZMiECAQlCABQeAAayoCACACKgIEIhKTIhAgEJSSIAAqAgAgEZMiECAQlCAAKgIEIBKTIhAgEJSSXUUNBSAFQQxqIAVBCGoQHgwFCyAFIAFB5ABrIgE2AgggACAAQeQAaiAAQcgBaiABIAIQnwEMBAsgBSABQeQAayIBNgIIIAAgAEHkAGogAEHIAWogAEGsAmogASACEPcBDAMLIAtB3xJMBEAgBEEBcQRAIAAgAUYNBCAAQeQAaiIGIAFGDQQgBUG4AWohCSAAIQcDQAJAIAcqAmQgAioCACIRkyIQIBCUIAcqAmggAioCBCISkyIQIBCUkiAHKgIAIBGTIhAgEJQgByoCBCASkyIQIBCUkl1FDQAgBSAGKQI4NwOwASAFIAYpAjA3A6gBIAUgBikCKDcDoAEgBSAGKQIgNwOYASAFIAYpAhg3A5ABIAUgBikCEDcDiAEgBSAGKQIINwOAASAFIAYpAgA3A3ggBUEAOgDYASAFQQA6ALgBIActAMQBBEAgCSAHKQKkATcCACAJIAcpArwBNwIYIAkgBykCtAE3AhAgCSAHKQKsATcCCCAFQQE6ANgBCyAGIQMDQAJAIAMgByIEKQIANwIAIAMgBykCODcCOCADIAcpAjA3AjAgAyAHKQIoNwIoIAMgBykCIDcCICADIAcpAhg3AhggAyAHKQIQNwIQIAMgBykCCDcCCCAHQUBrIQogA0FAayEIAkAgAy0AYCIHIAQtAGBGBEAgB0UNASAIIAopAgA3AgAgCCAKKQIYNwIYIAggCikCEDcCECAIIAopAgg3AggMAQsgBwRAIANBADoAYAwBCyAIIAopAgA3AgAgCCAKKQIYNwIYIAggCikCEDcCECAIIAopAgg3AgggA0EBOgBgCyAAIARGBEAgACEDDAELIAUqAnggAioCACIRkyIQIBCUIAUqAnwgAioCBCISkyIQIBCUkiAEIgNB5ABrIgcqAgAgEZMiECAQlCADQeAAayoCACASkyIQIBCUkl0NAQsLIAMgBSkDeDcCACAEIAUpArABNwI4IAQgBSkCqAE3AjAgBCAFKQKgATcCKCAEIAUpApgBNwIgIAQgBSkCkAE3AhggBCAFKQKIATcCECAEIAUpAoABNwIIAkAgAy0AYCIEIAUtANgBRgRAIARFDQIgCiAJKQIANwIAIAogCSkCGDcCGCAKIAkpAhA3AhAgCiAJKQIINwIIDAELIAQEQCADQQA6AGAMAQsgCiAJKQIANwIAIAogCSkCGDcCGCAKIAkpAhA3AhAgCiAJKQIINwIIIANBAToAYAsgBS0A2AFFDQALIAYiB0HkAGoiBiABRw0ACwwECyAAIAFGDQMgAEHkAGoiBiABRg0DIAVBuAFqIQgDQCAGIQ8CQCAAKgJkIAIqAgAiEZMiECAQlCAAKgJoIAIqAgQiEpMiECAQlJIgACoCACARkyIQIBCUIAAqAgQgEpMiECAQlJJdRQ0AIAUgBikCODcDsAEgBSAGKQIwNwOoASAFIAYpAig3A6ABIAUgBikCIDcDmAEgBSAGKQIYNwOQASAFIAYpAhA3A4gBIAUgBikCCDcDgAEgBSAGKQIANwN4IAVBADoA2AEgBUEAOgC4ASAALQDEAQRAIAggACkCpAE3AgAgCCAAKQK8ATcCGCAIIAApArQBNwIQIAggACkCrAE3AgggBUEBOgDYAQsDQCAGIgQgACIGKQIANwIAIAQgBikCODcCOCAEIAYpAjA3AjAgBCAGKQIoNwIoIAQgBikCIDcCICAEIAYpAhg3AhggBCAGKQIQNwIQIAQgBikCCDcCCCAGQUBrIQkgBEFAayEHAkAgBC0AYCIAIAYtAGBGBEAgAEUNASAHIAkpAgA3AgAgByAJKQIYNwIYIAcgCSkCEDcCECAHIAkpAgg3AggMAQsgAARAIARBADoAYAwBCyAHIAkpAgA3AgAgByAJKQIYNwIYIAcgCSkCEDcCECAHIAkpAgg3AgggBEEBOgBgCyAFKgJ4IAIqAgAiEZMiECAQlCAFKgJ8IAIqAgQiEpMiECAQlJIgBkHkAGsiACoCACARkyIQIBCUIAZB4ABrKgIAIBKTIhAgEJSSXQ0ACyAGIAUpA3g3AgAgBiAFKQKwATcCOCAGIAUpAqgBNwIwIAYgBSkCoAE3AiggBiAFKQKYATcCICAGIAUpApABNwIYIAYgBSkCiAE3AhAgBiAFKQKAATcCCAJAIAYtAGAiACAFLQDYAUYEQCAARQ0CIAkgCCkCADcCACAJIAgpAhg3AhggCSAIKQIQNwIQIAkgCCkCCDcCCAwBCyAABEAgBkEAOgBgDAELIAkgCCkCADcCACAJIAgpAhg3AhggCSAIKQIQNwIQIAkgCCkCCDcCCCAGQQE6AGALIAUtANgBRQ0ACyAPIgBB5ABqIgYgAUcNAAsMAwsgA0UEQCAAIAFGDQMgBUG4AWohDCAOQQJrQQF2IgohBgNAAkAgCiAGIglIDQAgACAGQeQAbGohBiAAIAlBAXQiBEEBciIDQeQAbGohByACKgIAIRECQCAOIARBAmoiBEwEQCACKgIEIRIMAQsgByoCACARkyIQIBCUIAcqAgQgAioCBCISkyIQIBCUkiAHKgJkIBGTIhAgEJQgByoCaCASkyIQIBCUkl1FDQAgB0HkAGohByAEIQMLIAcqAgAgEZMiECAQlCAHKgIEIBKTIhAgEJSSIAYqAgAgEZMiECAQlCAGKgIEIBKTIhAgEJSSXQ0AIAUgBikCODcDsAEgBSAGKQIwNwOoASAFIAYpAig3A6ABIAUgBikCIDcDmAEgBSAGKQIYNwOQASAFIAYpAhA3A4gBIAUgBikCCDcDgAEgBSAGKQIANwN4IAVBADoA2AEgBUEAOgC4ASAGLQBgBEAgDCAGKQJANwIAIAwgBikCWDcCGCAMIAYpAlA3AhAgDCAGKQJINwIIIAVBAToA2AELA0AgBiAHIggpAgA3AgAgBiAIKQI4NwI4IAYgCCkCMDcCMCAGIAgpAig3AiggBiAIKQIgNwIgIAYgCCkCGDcCGCAGIAgpAhA3AhAgBiAIKQIINwIIIAhBQGshDSAGQUBrIQcCQCAGLQBgIgQgCC0AYEYEQCAERQ0BIAcgDSkCADcCACAHIA0pAhg3AhggByANKQIQNwIQIAcgDSkCCDcCCAwBCyAEBEAgBkEAOgBgDAELIAcgDSkCADcCACAHIA0pAhg3AhggByANKQIQNwIQIAcgDSkCCDcCCCAGQQE6AGALIAMgCkwEQCAAIANBAXQiA0EBciIEQeQAbGohByACKgIEIREgAioCACESAkAgDiADQQJqIgNMBEAgBCEDDAELIAcqAgAgEpMiECAQlCAHKgIEIBGTIhAgEJSSIAcqAmQgEpMiECAQlCAHKgJoIBGTIhAgEJSSXUUEQCAEIQMMAQsgB0HkAGohBwsgCCEGIAcqAgAgEpMiECAQlCAHKgIEIBGTIhAgEJSSIAUqAnggEpMiECAQlCAFKgJ8IBGTIhAgEJSSXUUNAQsLIAggBSkDeDcCACAIIAUpArABNwI4IAggBSkCqAE3AjAgCCAFKQKgATcCKCAIIAUpApgBNwIgIAggBSkCkAE3AhggCCAFKQKIATcCECAIIAUpAoABNwIIAkAgCC0AYCIDIAUtANgBRgRAIANFDQIgDSAMKQIANwIAIA0gDCkCGDcCGCANIAwpAhA3AhAgDSAMKQIINwIIDAELIAMEQCAIQQA6AGAMAQsgDSAMKQIANwIAIA0gDCkCGDcCGCANIAwpAhA3AhAgDSAMKQIINwIIIAhBAToAYAsgBS0A2AFFDQALIAlBAWshBiAJDQALIABBQGshDiALQeQAbiEGIAVBuAFqIQwgBUHQAGohDQNAIAUgACkCODcDSCAFQUBrIAApAjA3AwAgBSAAKQIoNwM4IAUgACkCIDcDMCAFIAApAhg3AyggBSAAKQIQNwMgIAUgACkCCDcDGCAFIAApAgA3AxAgBUEAOgBwIAVBADoAUCAALQBgBEAgDSAOKQIANwIAIA0gDikCGDcCGCANIA4pAhA3AhAgDSAOKQIINwIIIAVBAToAcAsgASEIIAYiBEECa0EBdiEKQQAhByAAIQYDQCAHQQF0IgNBAXIhASAGIgkgB0HkAGxqIgtB5ABqIQYCQCAEIANBAmoiA0wEQCABIQcMAQsgASEHIAsqAmQgAioCACIRkyIQIBCUIAsqAmggAioCBCISkyIQIBCUkiALQcgBaiIBKgIAIBGTIhAgEJQgCyoCzAEgEpMiECAQlJJdRQ0AIAEhBiADIQcLIAkgBikCADcCACAJIAYpAjg3AjggCSAGKQIwNwIwIAkgBikCKDcCKCAJIAYpAiA3AiAgCSAGKQIYNwIYIAkgBikCEDcCECAJIAYpAgg3AgggBkFAayELIAlBQGshAwJAIAktAGAiASAGLQBgRgRAIAFFDQEgAyALKQIANwIAIAMgCykCGDcCGCADIAspAhA3AhAgAyALKQIINwIIDAELIAEEQCAJQQA6AGAMAQsgAyALKQIANwIAIAMgCykCGDcCGCADIAspAhA3AhAgAyALKQIINwIIIAlBAToAYAsgByAKTA0ACwJAAkAgCEHkAGsiASAGRgRAIAYgBSkDEDcCACAGIAUpAkg3AjggBiAFKQJANwIwIAYgBSkCODcCKCAGIAUpAjA3AiAgBiAFKQIoNwIYIAYgBSkCIDcCECAGIAUpAhg3AgggBi0AYCIDIAUtAHBGBEAgA0UNAyALIA0pAgA3AgAgCyANKQIYNwIYIAsgDSkCEDcCECALIA0pAgg3AggMAgsgAwRAIAZBADoAYAwCCyALIA0pAgA3AgAgCyANKQIYNwIYIAsgDSkCEDcCECALIA0pAgg3AgggBkEBOgBgDAELIAYgASkCADcCACAGIAhB3ABrIgkpAjA3AjggBiAJKQIoNwIwIAYgCSkCIDcCKCAGIAkpAhg3AiAgBiAJKQIQNwIYIAYgCSkCCDcCECAGIAkpAgA3AgggCEEkayEKAn8CQCAGLQBgIgMgCEEEayIHLQAARgRAQQAgA0UNAhogCyAKKQIANwIAIAsgCikCGDcCGCALIAopAhA3AhAgCyAKKQIINwIIDAELIAMEQCAGQQA6AGAMAQsgCyAKKQIANwIAIAsgCikCGDcCGCALIAopAhA3AhAgCyAKKQIINwIIIAZBAToAYAsgBy0AAAshAyABIAUpAxA3AgAgCSAFKQJINwIwIAkgBSkCQDcCKCAJIAUpAjg3AiAgCSAFKQIwNwIYIAkgBSkCKDcCECAJIAUpAiA3AgggCSAFKQIYNwIAAkAgBS0AcCADRgRAIANFDQEgCiANKQIANwIAIAogDSkCGDcCGCAKIA0pAhA3AhAgCiANKQIINwIIDAELIAMEQCAHQQA6AAAMAQsgCiANKQIANwIAIAogDSkCGDcCGCAKIA0pAhA3AhAgCiANKQIINwIIIAdBAToAAAsgBkHkAGogAGsiA0HlAEgNACAAIANB5ABuQQJrQQF2IghB5ABsaiIHKgIAIAIqAgAiEZMiECAQlCAHKgIEIAIqAgQiEpMiECAQlJIgBioCACARkyIQIBCUIAYqAgQgEpMiECAQlJJdRQ0AIAUgBikCODcDsAEgBSAGKQIwNwOoASAFIAYpAig3A6ABIAUgBikCIDcDmAEgBSAGKQIYNwOQASAFIAYpAhA3A4gBIAUgBikCCDcDgAEgBSAGKQIANwN4IAVBADoA2AEgBUEAOgC4ASAGLQBgBEAgDCALKQIANwIAIAwgCykCGDcCGCAMIAspAhA3AhAgDCALKQIINwIIIAVBAToA2AELA0AgBiAHIgMpAgA3AgAgBiAHKQI4NwI4IAYgBykCMDcCMCAGIAcpAig3AiggBiAHKQIgNwIgIAYgBykCGDcCGCAGIAcpAhA3AhAgBiAHKQIINwIIIAdBQGshCiAGQUBrIQkCQCAGLQBgIgcgAy0AYEYEQCAHRQ0BIAkgCikCADcCACAJIAopAhg3AhggCSAKKQIQNwIQIAkgCikCCDcCCAwBCyAHBEAgBkEAOgBgDAELIAkgCikCADcCACAJIAopAhg3AhggCSAKKQIQNwIQIAkgCikCCDcCCCAGQQE6AGALIAgEQCADIQYgACAIQQFrQQF2IghB5ABsaiIHKgIAIAIqAgAiEZMiECAQlCAHKgIEIAIqAgQiEpMiECAQlJIgBSoCeCARkyIQIBCUIAUqAnwgEpMiECAQlJJdDQELCyADIAUpA3g3AgAgAyAFKQKwATcCOCADIAUpAqgBNwIwIAMgBSkCoAE3AiggAyAFKQKYATcCICADIAUpApABNwIYIAMgBSkCiAE3AhAgAyAFKQKAATcCCAJAIAMtAGAiByAFLQDYASIGRgRAIAdFDQIgCiAMKQIANwIAIAogDCkCGDcCGCAKIAwpAhA3AhAgCiAMKQIINwIIDAELIAcEQCADQQA6AGAMAQsgCiAMKQIANwIAIAogDCkCGDcCGCAKIAwpAhA3AhAgCiAMKQIINwIIIANBAToAYAsgBkUNAAsgBS0AcEUNAAsgBEEBayEGIARBAkoNAAsMAwsgAUHkAGshBiAAIA5BAXZB5ABsIghqIQECQCALQYHkAE8EQCAAIAEgBiACEDwgBSgCDCIAQeQAaiAAIAhB5ABrIgdqIAUoAggiBkHIAWsgAhA8IAUoAgwiAUHIAWogASAIQeQAaiIAaiAGQawCayACEDwgBSgCDCIBIAdqIAEgCGogACABaiACEDwgBSAFKAIMIAhqNgJ4IAVBDGogBUH4AGoQHgwBCyABIAAgBiACEDwLIANBAWshAyAFKAIMIQggBEEBcSIKBEAgBSgCCCEHDAILIAUoAgghByAIQeQAayoCACACKgIAIhOTIhAgEJQgCEHgAGsqAgAgAioCBCIUkyIQIBCUkiAIKgIAIBOTIhAgEJQgCCoCBCAUkyIQIBCUkl0NASAFIAc2AnQgBSAIKQI4NwOwASAFIAgpAjA3A6gBIAUgCCkCKDcDoAEgBSAIKQIgNwOYASAFIAgpAhg3A5ABIAUgCCkCEDcDiAEgBSAIKQIINwOAASAFIAgpAgA3A3ggBUEAOgDYASAFQQA6ALgBIAgtAGAEQCAMIAgpAkA3AgAgDCAIKQJYNwIYIAwgCCkCUDcCECAMIAgpAkg3AgggBUEBOgDYAQsgCCIAIQYCQCAFKgJ4IhEgE5MiECAQlCAFKgJ8IhIgFJMiECAQlJIiFSAHQeQAayoCACATkyIQIBCUIAdB4ABrKgIAIBSTIhAgEJSSXQRAA0AgACoCZCEQIAAiAUHkAGohACAVIBAgE5MiECAQlCABKgJoIBSTIhAgEJSSXUUNAAwCCwALA0AgBkHkAGoiACAHTw0BIAYqAmQhECAGIQEgACEGIBUgECATkyIQIBCUIAEqAmggFJMiECAQlJJdRQ0ACwsgBSAANgIQIAAgB0kEQANAIAdB4ABrIQEgFSAHQeQAayIHKgIAIBOTIhAgEJQgASoCACAUkyIQIBCUkl0NAAsgBSAHNgJ0CyAAIAdJBEADQCAFQRBqIAVB9ABqEB4gESACKgIAIhOTIhAgEJQgEiACKgIEIhSTIhAgEJSSIRUgBSgCECEAA0AgACoCZCEQIAAiAUHkAGohACAVIBAgE5MiECAQlCABKgJoIBSTIhAgEJSSXUUNAAsgBSAANgIQIAUoAnQhBgNAIAZB4ABrIQEgFSAGQeQAayIGKgIAIBOTIhAgEJQgASoCACAUkyIQIBCUkl0NAAsgBSAGNgJ0IAAgBkkNAAsLAkAgAEHkAGsiBCAIRg0AIAggBCkCADcCACAIIABB3ABrIgEpAjA3AjggCCABKQIoNwIwIAggASkCIDcCKCAIIAEpAhg3AiAgCCABKQIQNwIYIAggASkCCDcCECAIIAEpAgA3AgggAEEkayEHIAhBQGshBiAILQBgIgEgAEEEay0AAEYEQCABRQ0BIAYgBykCADcCACAGIAcpAhg3AhggBiAHKQIQNwIQIAYgBykCCDcCCAwBCyABBEAgCEEAOgBgDAELIAYgBykCADcCACAGIAcpAhg3AhggBiAHKQIQNwIQIAYgBykCCDcCCCAIQQE6AGALIAQgBSkDeDcCACAAQdwAayIBIAUpArABNwIwIAEgBSkCqAE3AiggASAFKQKgATcCICABIAUpApgBNwIYIAEgBSkCkAE3AhAgASAFKQKIATcCCCABIAUpAoABNwIAIABBJGshBAJAIABBBGsiAS0AACIAIAUtANgBRgRAIABFBEAgBSgCECEADAcLIAQgDCkCADcCACAEIAwpAhg3AhggBCAMKQIQNwIQIAQgDCkCCDcCCAwBCyAABEAgAUEAOgAADAELIAQgDCkCADcCACAEIAwpAhg3AhggBCAMKQIQNwIQIAQgDCkCCDcCCCABQQE6AAALIAUoAhAhACAFLQDYARoMBAsgBSABQeQAayIBNgIIIAAgAEHkAGogASACEDwMAQsgBSAIKQI4NwOwASAFIAgpAjA3A6gBIAUgCCkCKDcDoAEgBSAIKQIgNwOYASAFIAgpAhg3A5ABIAUgCCkCEDcDiAEgBSAIKQIINwOAASAFIAgpAgA3A3ggBUEAOgDYASAFQQA6ALgBIAgtAGAEQCAMIAgpAkA3AgAgDCAIKQJYNwIYIAwgCCkCUDcCECAMIAgpAkg3AgggBUEBOgDYAQsgBSoCeCIRIAIqAgAiE5MiECAQlCAFKgJ8IhIgAioCBCIUkyIQIBCUkiEVIAghAQNAIAEiAEHkAGohASAAKgJkIBOTIhAgEJQgACoCaCAUkyIQIBCUkiAVXQ0ACyAFIAE2AhACQCAAIAhGBEADQCABIAdPDQIgB0HgAGshACAHQeQAayIHKgIAIBOTIhAgEJQgACoCACAUkyIQIBCUkiAVXUUNAAwCCwALA0AgB0HgAGshACAHQeQAayIHKgIAIBOTIhAgEJQgACoCACAUkyIQIBCUkiAVXUUNAAsLIAUgBzYCdCAHIAEiAEsEQANAIAVBEGogBUH0AGoQHiARIAIqAgAiE5MiECAQlCASIAIqAgQiFJMiECAQlJIhFSAFKAIQIQADQCAAKgJkIRYgACIGQeQAaiEAIBYgE5MiECAQlCAGKgJoIBSTIhAgEJSSIBVdDQALIAUgADYCECAFKAJ0IQYDQCAGQeAAayEJIAZB5ABrIgYqAgAgE5MiECAQlCAJKgIAIBSTIhAgEJSSIBVdRQ0ACyAFIAY2AnQgACAGSQ0ACwsCQCAAQeQAayIJIAhGDQAgCCAJKQIANwIAIAggAEHcAGsiBikCMDcCOCAIIAYpAig3AjAgCCAGKQIgNwIoIAggBikCGDcCICAIIAYpAhA3AhggCCAGKQIINwIQIAggBikCADcCCCAAQSRrIQ4gCEFAayELIAgtAGAiBiAAQQRrLQAARgRAIAZFDQEgCyAOKQIANwIAIAsgDikCGDcCGCALIA4pAhA3AhAgCyAOKQIINwIIDAELIAYEQCAIQQA6AGAMAQsgCyAOKQIANwIAIAsgDikCGDcCGCALIA4pAhA3AhAgCyAOKQIINwIIIAhBAToAYAsgCSAFKQN4NwIAIABB3ABrIgYgBSkCsAE3AjAgBiAFKQKoATcCKCAGIAUpAqABNwIgIAYgBSkCmAE3AhggBiAFKQKQATcCECAGIAUpAogBNwIIIAYgBSkCgAE3AgAgAEEkayELAkACQCAAQQRrIggtAAAiBiAFLQDYAUYEQCAGRQ0CIAsgDCkCADcCACALIAwpAhg3AhggCyAMKQIQNwIQIAsgDCkCCDcCCAwBCyAGBEAgCEEAOgAADAELIAsgDCkCADcCACALIAwpAhg3AhggCyAMKQIQNwIQIAsgDCkCCDcCCCAIQQE6AAALIAUtANgBRQ0ACyAFKAIMIQYgASAHTwR/IAYgCSACEPYBIQEgACAFKAIIIAIQ9gEEQCABDQIgBSAJNgIIIAUoAgwhACAFKAIIIQEMBQsgAQ0CIAUoAgwFIAYLIAkgAiADIAoQ/QEMAgsgBUHgAWokAA8LIAUgADYCDCAFKAIIIQEMAQsgBSAANgIMQQAhBCAFKAIIIQEMAAsAC/EBAQZ/IwBBgAJrIgMkACADQaABaiIFIAFBIGoiBiABEDEgA0GAAWoiBCACQSBqIgcgAhAxIANB4AFqIgggBSAEEAogBSAGIAEQQCAEIAcgAhBAIANBwAFqIgYgBSAEEAogBCABQUBrIAJBQGsQCiAFIARB8D0QCiAEIAFB4ABqIAJB4ABqEAogBCAEIAQQQCADQeAAaiIBIAYgCBAxIANBQGsiAiAEIAUQMSADQSBqIgcgBCAFEEAgAyAGIAgQQCAAIAEgAhAKIABBIGogByADEAogAEFAayABIAMQCiAAQeAAaiACIAcQCiADQYACaiQAC/kDAQh/IwBBEGsiBCQAAkACQAJAAkACQAJAIAIOAgABAgsgASgCACIBKAIcIQIgAEEANgIMIABCADcCBCAAIAI2AgAgASgCJCIDIAEoAiAiAkYNBCADIAJrIgFBAEgNAiAAIAEQBSIDNgIEIAAgASADaiIFNgIMIAMgAiABEAcaIAAgBTYCCAwECyABKAIAIQIgAEEANgIMIABCADcCBCAAIAI2AgAgASgCCCIDIAEoAgQiAkYNAyADIAJrIgFBAEgNASAAIAEQBSIDNgIEIAAgASADaiIFNgIMIAMgAiABEAcaIAAgBTYCCAwDCyABKAIEIQUgASgCCCEDIARBADYCDCAEQgA3AgQgAyAFRgRAIAEoAgAhAwwCCyADIAVrIgNBAnUiBkGAgICABE8NACAEIAMQBSIHNgIEIAQgAyAHaiIINgIMIAdBACADEAkhByAEIAg2AghBASAGIAZBAU0bIQYgASgCACEDIAJBAXQhAgNAQQAhASAFIAlBAnQiCGooAgAiCgRAIAMoAgQgAygCECIBIApBAXRqLgEAQQF0aiABIAJqLgEAQQF0ai4BACEBCyAHIAhqIAE2AgAgBiAJQQFqIglHDQALDAELEAAACyAAIAMgBEEEahAtGiAEKAIEIgBFDQAgBCAANgIIIAAQBAsgBEEQaiQAC9QGARB/IwBBEGsiBSQAAkACQCABKAIAIgQgAigCAEcEQCAAQQA2AgwgAEIANwIEIAAgBDYCACABKAIIIgQgASgCBCICRg0BIAQgAmsiAUEASA0CIAAgARAFIgQ2AgQgACABIARqIgM2AgwgBCACIAEQBxogACADNgIIDAELIAEoAggiAyABKAIEIgpGDQECQCAKKAIABEAgAigCCCIBIAIoAgQiC0YNAyALKAIADQELIAQoAhwhASAAQQA2AgwgAEIANwIEIAAgATYCACAEKAIkIgEgBCgCICICRg0BIAEgAmsiAUEASA0CIAAgARAFIgQ2AgQgACABIARqIgM2AgwgBCACIAEQBxogACADNgIIDAELIAVBADYCDCAFQgA3AgQgAyAKa0ECdSICIAEgC2tBAnUiAWoiB0EBayIDBEAgA0GAgICABE8NAiAFIANBAnQiAxAFIgw2AgQgBSADIAxqIgM2AgwgDEEAIAdBAnRBBGsQCRogBSADNgIIC0EBIAIgAkEBTRshEEEBIAEgAUEBTRsiDkF8cSERIA5BA3EhDyABQQRJIRJBACEHA0AgDCAHQQJ0IgJqIQ1BACEBAkACQAJAIAIgCmooAgAiAkUEQCAEKAIAIQFBACEGQQAhAkEAIQkgEkUNAQwCCwNAIA0gAUECdCIDaiIGKAIAIQkgBiADIAtqKAIAIgMEfyAEKAIEIAQoAhAiBiACQQF0ai4BAEEBdGogBiADQQF0ai4BAEEBdGouAQAFQQALIAlqIgMgBCgCACIGQQAgAyAGThtrNgIAIAFBAWoiASAORw0ACwwCCwNAIA0gAkECdGoiAyADKAIAIgggAUEAIAEgCEwbazYCACADIAMoAgQiCCABQQAgASAITBtrNgIEIAMgAygCCCIIIAFBACABIAhMG2s2AgggAyADKAIMIgMgAUEAIAEgA0wbazYCDCACQQRqIQIgCUEEaiIJIBFHDQALCyAPRQ0AA0AgDSACQQJ0aiIDIAMoAgAiAyABQQAgASADTBtrNgIAIAJBAWohAiAGQQFqIgYgD0cNAAsLIAdBAWoiByAQRw0ACyAAIAQgBUEEahAtGiAFKAIEIgBFDQAgBSAANgIIIAAQBAsgBUEQaiQADwsQAAAL+wIBDH8jAEEQayIEJAAgASgCBCEGIAEoAgghAiAEQQA2AgwgBEIANwIEAkACQCACIAZGBEAgASgCACEBDAELIAIgBmsiBUECdSIHQYCAgIAETw0BIAQgBRAFIgM2AgQgBCADIAVqIgg2AgxBACECIANBACAFEAkhBSAEIAg2AghBASAHIAdBAU0bIgNBAXEhDSABKAIAIQEgB0ECTwRAIANB/v///wNxIQtBACEHA0AgBSACQQJ0IgNqIAEoAgAiCSADIAZqKAIAIgprIgxBACAKayAJIAxKGzYCACAFIANBBHIiA2ogASgCACIJIAMgBmooAgAiA2siCkEAIANrIAkgCkobNgIAIAJBAmohAiAHQQJqIgcgC0cNAAsLIA1FDQAgBSACQQJ0IgJqIAEoAgAiBSACIAZqKAIAIgZrIgJBACAGayACIAVIGzYCAAsgACABIARBBGoQLRogBCgCBCIABEAgBCAANgIIIAAQBAsgBEEQaiQADwsQAAALoQIBA38jAEEQayIEJAACQAJAIAEoAgAiAyACKAIARwRAIABBADYCDCAAQgA3AgQgACADNgIAIAEoAggiAyABKAIEIgJGDQEgAyACayIBQQBIDQIgACABEAUiAzYCBCAAIAEgA2oiBTYCDCADIAIgARAHGiAAIAU2AggMAQsgAigCBCIFIAIoAghGDQEgBSgCAEUEQCAAQQA2AgwgAEIANwIEIAAgAzYCACABKAIIIgMgASgCBCICRg0BIAMgAmsiAUEASA0CIAAgARAFIgM2AgQgACABIANqIgU2AgwgAyACIAEQBxogACAFNgIIDAELIAQgAhCBAiAAIAEgBBCDAiAEKAIEIgBFDQAgBCAANgIIIAAQBAsgBEEQaiQADwsQAAAL8AUBCn8jAEEQayIHJAACQAJAIAEoAgAiCiACKAIARwRAIABBADYCDCAAQgA3AgQgACAKNgIAIAEoAggiAyABKAIEIgJGDQEgAyACayIBQQBIDQIgACABEAUiAzYCBCAAIAEgA2oiBDYCDCADIAIgARAHGiAAIAQ2AggMAQsgASgCCCIDIAEoAgQiBUYNASAFKAIARQRAIABBADYCDCAAQgA3AgQgACAKNgIAIAIoAggiASACKAIEIgJGDQEgASACayIBQQBIDQIgACABEAUiAzYCBCAAIAEgA2oiBDYCDCADIAIgARAHGiAAIAQ2AggMAQsgAigCCCIEIAIoAgQiCEYNASAIKAIARQRAIAAgCjYCACADIAVrIgFBAEgNAiAAIAEQBSICNgIEIAAgASACaiIDNgIMIAIgBSABEAcaIAAgAzYCCAwBCyABQQRqIgYgAkEEaiIJIAMgBWsgBCAIa0siARsiCygCBCECQQAhAyAHQQA2AgwgB0IANwIEIAUgCCABGyIEIAJHBH8gAiAEayICQQBIDQIgByACEAUiAzYCBCAHIAIgA2oiDDYCDCADQQAgAhAJGiAHIAw2AgggCygCBAUgBAsgBGtBAnUiCyAJIAYgARsoAgQgCCAFIAEbIghrIgZBAnVrIgIEQCADIAQgAkECdBAMGgsCQCACIAtPDQAgCigCACEFIAIhASAGQQRxBEAgAyABQQJ0IglqIAQgCWooAgAgCCgCAGoiCSAFQQAgBSAJTBtrNgIAIAFBAWohAQsgBkEERg0AA0AgAyABQQJ0IgZqIAQgBmooAgAgCCABIAJrQQJ0aigCAGoiBiAFQQAgBSAGTBtrNgIAIAMgAUEBaiIGQQJ0IglqIAQgCWooAgAgCCAGIAJrQQJ0aigCAGoiBiAFQQAgBSAGTBtrNgIAIAFBAmoiASALRw0ACwsgACAKIAdBBGoQLRogBygCBCIARQ0AIAcgADYCCCAAEAQLIAdBEGokAA8LEAAAC+ECAQR/IwBBEGsiBCQAAkACQCABQQBIBEBB8NcBKAIAIQEgAEEANgIMIABCADcCBCAAIAE2AgBB+NcBKAIAIgFB9NcBKAIAIgJGDQEgASACayIBQQBIDQIgACABEAUiAzYCBCAAIAEgA2oiBTYCDCADIAIgARAHGiAAIAU2AggMAQsgAkUEQEHw1wEoAgAhASAAQQA2AgwgAEIANwIEIAAgATYCAEH41wEoAgAiAUH01wEoAgAiAkYNASABIAJrIgFBAEgNAiAAIAEQBSIDNgIEIAAgASADaiIFNgIMIAMgAiABEAcaIAAgBTYCCAwBCyABQf////8DTw0BIAQgAUECdEEEaiIBEAUiAzYCBCAEIAEgA2oiBTYCDCADQQAgARAJIQYgBCAFNgIIIAYgAjYCACAAQdTXASAEQQRqEC0aIAQoAgQiAEUNACAEIAA2AgggABAECyAEQRBqJAAPCxAAAAvmDAEIfyMAQeAAayIDJAAgAi0AHyEIIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIAEgAikAADcAACABIAEtAB9B/wBxOgAfIAMgASABEAogA0EgaiIHIANB0D0QCiADQUBrIgUgB0GwPhBAIAcgBRDlASAFIANBsD4QMSADIAUgBxAKIwBBgAFrIgQkACAEQSBqIgIgAy0AAEEBdCIBOgAAIAIgAy0AAUEBdCABQQh2aiIBOgABIAIgAy0AAkEBdCABQQh2aiIBOgACIAIgAy0AA0EBdCABQQh2aiIBOgADIAIgAy0ABEEBdCABQQh2aiIBOgAEIAIgAy0ABUEBdCABQQh2aiIBOgAFIAIgAy0ABkEBdCABQQh2aiIBOgAGIAIgAy0AB0EBdCABQQh2aiIBOgAHIAIgAy0ACEEBdCABQQh2aiIBOgAIIAIgAy0ACUEBdCABQQh2aiIBOgAJIAIgAy0ACkEBdCABQQh2aiIBOgAKIAIgAy0AC0EBdCABQQh2aiIBOgALIAIgAy0ADEEBdCABQQh2aiIBOgAMIAIgAy0ADUEBdCABQQh2aiIBOgANIAIgAy0ADkEBdCABQQh2aiIBOgAOIAIgAy0AD0EBdCABQQh2aiIBOgAPIAIgAy0AEEEBdCABQQh2aiIBOgAQIAIgAy0AEUEBdCABQQh2aiIBOgARIAIgAy0AEkEBdCABQQh2aiIBOgASIAIgAy0AE0EBdCABQQh2aiIBOgATIAIgAy0AFEEBdCABQQh2aiIBOgAUIAIgAy0AFUEBdCABQQh2aiIBOgAVIAIgAy0AFkEBdCABQQh2aiIBOgAWIAIgAy0AF0EBdCABQQh2aiIBOgAXIAIgAy0AGEEBdCABQQh2aiIBOgAYIAIgAy0AGUEBdCABQQh2aiIBOgAZIAIgAy0AGkEBdCABQQh2aiIBOgAaIAIgAy0AG0EBdCABQQh2aiIBOgAbIAIgAy0AHEEBdCABQQh2aiIBOgAcIAIgAy0AHUEBdCABQQh2aiIBOgAdIAIgAy0AHkEBdCABQQh2aiIBOgAeIAIgAy0AH0EBdCABQQh2aiIBQf8AcToAHyACIAItAAAgAUEHdkETbGoiAToAACACIAItAAEgAUEIdmoiAToAASACIAItAAIgAUEIdmoiAToAAiACIAItAAMgAUEIdmoiAToAAyACIAItAAQgAUEIdmoiAToABCACIAItAAUgAUEIdmoiAToABSACIAItAAYgAUEIdmoiAToABiACIAItAAcgAUEIdmoiAToAByACIAItAAggAUEIdmoiAToACCACIAItAAkgAUEIdmoiAToACSACIAItAAogAUEIdmoiAToACiACIAItAAsgAUEIdmoiAToACyACIAItAAwgAUEIdmoiAToADCACIAItAA0gAUEIdmoiAToADSACIAItAA4gAUEIdmoiAToADiACIAItAA8gAUEIdmoiAToADyACIAItABAgAUEIdmoiAToAECACIAItABEgAUEIdmoiAToAESACIAItABIgAUEIdmoiAToAEiACIAItABMgAUEIdmoiAToAEyACIAItABQgAUEIdmoiAToAFCACIAItABUgAUEIdmoiAToAFSACIAItABYgAUEIdmoiAToAFiACIAItABcgAUEIdmoiAToAFyACIAItABggAUEIdmoiAToAGCACIAItABkgAUEIdmoiAToAGSACIAItABogAUEIdmoiAToAGiACIAItABsgAUEIdmoiAToAGyACIAItABwgAUEIdmoiAToAHCACIAItAB0gAUEIdmoiAToAHSACIAItAB4gAUEIdmoiAToAHiACIAItAB8gAUEIdmo6AB8gBEHgAGoiASACIAIQ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ODcDOCACIAEpAjA3AzAgAiABKQIoNwMoIAIgASkCIDcDICACQQE2AkgCQCAAKAIEIgEgACgCCEkEQCABIAIpAwA3AgAgASADKAIINgIQIAEgAykCADcCCCADQgA3AwAgA0EANgIIIAFBADYCHCABQgA3AhQgASACKAIUNgIUIAEgAigCGDYCGCABIAIoAhw2AhwgAkEANgIcIAJCADcCFCABIAIpAD03AD0gASACKQI4NwI4IAEgAikCMDcCMCABIAIpAig3AiggASACKQIgNwIgIAEgAigCSDYCSCAAIAFBzABqNgIEDAELQQAhAwJAAkACQCAAKAIEIAAoAgAiBGtBzABtIgZBAWoiAUHYofkaSQRAQdeh+RogACgCCCAEa0HMAG0iBEEBdCIFIAEgASAFSRsgBEHr0LwNTxsiBARAIARB2KH5Gk8NAiAEQcwAbBAFIQMLIAMgBkHMAGxqIgEgAikCADcCACABIAIoAhA2AhAgASACKQIINwIIIAJCADcCCCACQQA2AhAgASACKAIUNgIUIAEgAigCGDYCGCABIAIoAhw2AhwgAkEANgIcIAJCADcCFCABIAIpAD03AD0gASACKQI4NwI4IAEgAikCMDcCMCABIAIpAig3AiggASACKQIgNwIgIAEgAigCSDYCSCADIARBzABsaiEJIAFBzABqIQggACgCBCIDIAAoAgAiCkYNAgNAIAFBzABrIgQgA0HMAGsiBikCADcCACABQcQAayIHIANBxABrIgUoAgg2AgggByAFKQIANwIAIAVCADcCACAFQQA2AgggAUEwayIFQQA2AgAgAUE4ayADQThrIgcoAgA2AgAgAUE0ayADQTRrKAIANgIAIAUgA0EwayIFKAIANgIAIAVBADYCACAHQgA3AgAgAUEsayIFIANBLGsiBykAHTcAHSAFIAcpAhg3AhggBSAHKQIQNwIQIAUgBykCCDcCCCAFIAcpAgA3AgAgAUEEayADQQRrKAIANgIAIAQhASAGIgMgCkcNAAsgACAJNgIIIAAoAgQhASAAIAg2AgQgACgCACEDIAAgBDYCACABIANGDQMDQCABQThrKAIAIgQEQCABQTRrIAQ2AgAgBBAECyABQTlrLAAAQQBIBEAgAUHEAGsoAgAQBAsgAUHMAGsiASADRw0ACwwDCxAAAAsQDQALIAAgCTYCCCAAIAg2AgQgACABNgIACyADBEAgAxAECyACKAIUIgFFDQAgAiABNgIYIAEQBAsgAiwAE0EATg0AIAIoAggQBAsgACAAKAIMQQFqIgA2AgwgAkHQAGokACAADwsQAAALaAEDfyAAKAIEIgEgACgCACICRwRAA0AgAUE4aygCACIDBEAgAUE0ayADNgIAIAMQBAsgAUE5aywAAEEASARAIAFBxABrKAIAEAQLIAFBzABrIgEgAkcNAAsLIABBADYCDCAAIAI2AgQLOgEBfyMAQSBrIgMkACADIAJB4ABqEOUBIAAgAiADEAogASACQSBqIAMQCiAAEFMgARBTIANBIGokAAusAgEDfyAAQbjrADYCACAAKAJAIgMEQCAAKAJEIgIgAyIBRwRAA0AgAkEEayICKAIAIQEgAkEANgIAIAEEQCABIAEoAgAoAgQRAAALIAIgA0cNAAsgACgCQCEBCyAAIAM2AkQgARAECyAAKAI0IgEEQCABIQMgASAAKAI4IgJHBEADQCACQQFrLAAAQQBIBEAgAkEMaygCABAECyACQRBrIgIgAUcNAAsgACgCNCEDCyAAIAE2AjggAxAECyAAKAIUIgMEQCAAKAIYIgIgAyIBRwRAA0AgAkE4aygCACIBBEAgAkE0ayABNgIAIAEQBAsgAkE5aywAAEEASARAIAJBxABrKAIAEAQLIAJBzABrIgIgA0cNAAsgACgCFCEBCyAAIAM2AhggARAECyAAC68BAQF/AkBB2NoBLQAAIgEgAC0ADEYEQCABRQ0BQdfaASwAAEEASARAQczaASgCABAEC0HM2gEgACkCADcCAEHU2gEgACgCCDYCACAAQQA6AAsgAEEAOgAADwsgAQRAQdfaASwAAEEASARAQczaASgCABAEC0HY2gFBADoAAA8LQczaASAAKQIANwIAQdTaASAAKAIINgIAIABCADcCACAAQQA2AghB2NoBQQE6AAALC4EBAQN/IAEoAgAiAxAnIgJB8P///wdJBEACQAJAIAJBC08EQCACQQ9yQQFqIgQQBSEBIAAgBEGAgICAeHI2AgggACABNgIAIAAgAjYCBAwBCyAAIAI6AAsgACEBIAJFDQELIAEgAyACEAwaCyABIAJqQQA6AAAgAEEBOgAMDwsQAAALrAEBBH8CQCABKAIEIAEsAAsiBCAEQQBIIgUbIgQgAkkNACAEIAJrIgQgAyADIARLGyIEQfD///8HTw0AIAEoAgAhBgJAAkAgBEELTwRAIARBD3JBAWoiBxAFIQMgACAHQYCAgIB4cjYCCCAAIAM2AgAgACAENgIEIAMhAAwBCyAAIAQ6AAsgBEUNAQsgACAGIAEgBRsgAmogBBAMGgsgACAEakEAOgAADwsQAAALlQEAIAAgASkAADcAACAAIAEpABg3ABggACABKQAQNwAQIAAgASkACDcACCAAIAIpAAA3ACAgACACKQAINwAoIAAgAikAEDcAMCAAIAIpABg3ADggAEEBOgBgIABCADcAZCAAQQA6AGMgAEEAOgBiIABBADoAYSAAQgA3AGwgAEIANwB0IABBADYAfCAAQUBrIAEgAhAKCycAAkAgASgCACAAKAIITARAIAEoAgQgACgCDEwNAQsgACABEKMBCwuLFwEffyMAQRBrIhQkAAJAAkAgAigCBCIKIAEoAggiBkwEQCACKAIIIgcgASgCDCIFTA0BCyAAQQA2AgggAEIANwIADAELIAMtABAEfwJAIAYgAygCCCIJTgRAIAMoAgwiBiAFTA0BCyAAQQA2AgggAEIANwIADAILIAYgAygCBCINaiEHIAkgAygCACITagUgCgshEiACKAIAIQYgAUEBNgIoIAcgDWshFSASIBNrIhBBAWoiHUF+cSEWAkAgByANRiIhDQAgBiATaiEXIAEoAiAhHiABKAIcIR8gASgCFCEgAkACQCABKAIAIgkOAgABAgsgEEF+cSEYIBBBAXEhGSASIBNBAWpGIRoDQCAfIAkgFmxBAnRqIQxBACEGQQAhCEEAIQcCQCASIBNGDQAgICAJIBBsQQJ0aiEOIBcgCSANaiAKbGohD0EAIQVBACELIBpFBEADQCAFIA9qLQAAIREgDCAHQQJ0aiAFIAhrNgIAIA4gBUECdGogBiAEIBFHIhFzIhsgB2oiBzYCACAPIAVBAXIiBmotAAAhHCAMIAdBAnRqIAYgCCAbcyIIazYCACAOIAZBAnRqIAcgESAEIBxHIgZzIhFqIgc2AgAgCCARcyEIIAVBAmohBSALQQJqIgsgGEcNAAsLIBlFDQAgBSAPai0AACELIAwgB0ECdGogBSAIazYCACAOIAVBAnRqIAYgBCALRyIFcyIGIAdqIgc2AgAgBiAIcyEIIAUhBgsgDCAHQQJ0aiAQIAhrNgIAIB4gCUECdGogBiAHajYCACAJQQFqIgkgFUcNAAsMAQsgEEF+cSEYIBBBAXEhGUEAIQkgEiATQQFqRiEaA0AgHyAJIBZsQQJ0aiEMQQAhBkEAIQhBACEHAkAgEiATRg0AICAgCSAQbEECdGohDiAXIAkgDWogCmxqIQ9BACEFQQAhCyAaRQRAA0AgBSAPai0AACERIAwgB0ECdGogBSAIazYCACAOIAVBAnRqIAYgBCARTSIRcyIbIAdqIgc2AgAgDyAFQQFyIgZqLQAAIRwgDCAHQQJ0aiAGIAggG3MiCGs2AgAgDiAGQQJ0aiAHIBEgBCAcTSIGcyIRaiIHNgIAIAggEXMhCCAFQQJqIQUgC0ECaiILIBhHDQALCyAZRQ0AIAUgD2otAAAhCyAMIAdBAnRqIAUgCGs2AgAgDiAFQQJ0aiAGIAQgC00iBXMiBiAHaiIHNgIAIAYgCHMhCCAFIQYLIAwgB0ECdGogECAIazYCACAeIAlBAnRqIAYgB2o2AgAgCUEBaiIJIBVHDQALCyABKAIYQQAgFSAdbEECdBAJGiABKAIYIQwgASgCICIeKAIAIgoEQEEBIQQgCkEBa0EBdkEBaiIHQQNxIQkgASgCKCEFIAEoAiQhBiAKQQdPBEAgDEEYaiELIAxBEGohDSAMQQhqIQ4gB0F8cSEPQQAhBwNAIAYgBUECdGogBTYCACAMIARBAnQiCmogBTYCACAGIAVBAWoiCEECdGogCDYCACAKIA5qIAg2AgAgBiAFQQJqIghBAnRqIAg2AgAgCiANaiAINgIAIAYgBUEDaiIIQQJ0aiAINgIAIAogC2ogCDYCACAEQQhqIQQgBUEEaiEFIAdBBGoiByAPRw0ACwsgCQRAQQAhCANAIAYgBUECdGogBTYCACAMIARBAnRqIAU2AgAgBEECaiEEIAVBAWohBSAIQQFqIgggCUcNAAsLIAEgBTYCKAsgASgCKCEJIBVBAk8EQCAQQQFrIR8gASgCHCEgIAEoAhQhGEEBIQ0DQCAeIA1BAnRqKAIAIhkEQCAMIA0gHWxBAnRqIRogICANIBZsQQJ0aiERIAwgDUEBayIEIB1sQQJ0aiEOIBggBCAQbEECdGohDyABKAIkIQhBASELIAkhCgNAAkAgDyARIAtBAnQiG2oiBCgCACIGQQJ0aiAGIB9JQQJ0aigCACIGIAZBf3NBAXFrIhcgDyAEQQRrKAIAIgRBAnRqQXxBACAEG2ooAgBBAXIiBE4EQCAOIARBAnRqKAIAIQUDQCAIIAUiBkECdGooAgAiBSAGSQ0ACyAEQQJqIgcgF0oNAQNAIA4gB0ECdGooAgAhBANAIAggBCIFQQJ0aiIcKAIAIgQgBUkNAAsCQCAFIAZLBEAgHCAGNgIADAELIAUgBk8NACAIIAZBAnRqIAU2AgAgBSEGCyAHQQJqIgcgF0wNAAsMAQsgCCAKQQJ0aiAKNgIAIAEgCkEBaiIJNgIoIAohBiAJIQoLIBogG2ogBjYCACALQQJqIgsgGU0NAAsLIA1BAWoiDSAVRw0ACwtBASEKAkAgCUECSQ0AQQEhBSAJQQFrIgRBAXEhIiABKAIkIQsgCUECRwRAIARBfnEhCUEAIQgDQAJ/IAUgCyAFQQJ0aiIGKAIAIgRHBEAgCyAEQQJ0aigCACEHIAoMAQsgCiIHQQFqCyEEIAYgBzYCAAJ/IAsgBUEBaiIGQQJ0aiIHKAIAIgogBkcEQCALIApBAnRqKAIAIQYgBAwBCyAEIgZBAWoLIQogByAGNgIAIAVBAmohBSAIQQJqIgggCUcNAAsLICJFDQACQCAFIAsgBUECdGoiBCgCACIGRwRAIAsgBkECdGooAgAhBQwBCyAKIgVBAWohCgsgBCAFNgIACwJAICENACASIBNGDQAgASgCECENIAEoAiQhBCABKAIUIRYgEEF+cSEOIBBBAXEhD0EAIQsgEiATQQFqRiETA0AgFiALIBBsQQJ0IgVqIQYgDCALIB1sQQJ0aiEJIAUgDWohEkEAIQVBACEHIBNFBEADQCASIAVBAnQiCGogBCAJIAYgCGooAgBBAnRqKAIAQQJ0aigCADYCACASIAhBBHIiCGogBCAJIAYgCGooAgBBAnRqKAIAQQJ0aigCADYCACAFQQJqIQUgB0ECaiIHIA5HDQALCyAPBEAgEiAFQQJ0IgVqIAQgCSAFIAZqKAIAQQJ0aigCAEECdGooAgA2AgALIAtBAWoiCyAVRw0ACwsCQCADLQAQBEAgFCADKQIINwMIIBQgAykCADcDAAwBCyAUIAIpAgQ3AwggFEIANwMAC0EAIQIgFCgCDCEFIBQoAgghBiABKAIQIQlBACEEIAAiAUEANgIIIABCADcCAAJAAkAgCgRAIApByqSSyQBPDQEgACAKQRxsIgMQBSICNgIAIAAgAiADaiIENgIIIAIhACADQRxrIgpBHG5BAWpBA3EiBwRAQQAhAwNAIABCADcCDCAAQX82AgggAEIANwIAIABCADcCFCAAQRxqIQAgA0EBaiIDIAdHDQALCyAKQdQATwRAA0AgAEIANwIMIABBfzYCCCAAQgA3AgAgAEIANwIoIABBfzYCJCAAQgA3AhwgAEIANwJEIABBfzYCQCAAQgA3AjggAEF/NgJcIABCADcCVCAAQgA3AmAgAEIANwIUIABCADcCMCAAQgA3AkwgAEIANwJoIABB8ABqIgAgBEcNAAsLIAEgBDYCBAsgBCACayIAQQBKBEAgAEEcbiEDIAIhAANAIABCADcCDCAAQX82AgggAEIANwIAIABCADcCFCAAQRxqIQAgA0EBSyEjIANBAWshAyAjDQALCwJAIAVBAEwNACAGQQBMDQBBACEEA0AgCSAEIAZsQQJ0aiEKQQAhAwNAIAIgCiADQQJ0aigCACIBQRxsaiIAIAE2AgAgACAAKAIEQQFqNgIEIAAgACgCECADajYCECAAIAAoAhQgBGo2AhQgACAALwEIIgcgA0H//wNxIgEgASAHSxs7AQggACAALwEMIgcgASABIAdJGzsBDCAAIAAvAQoiByAEQf//A3EiASABIAdLGzsBCiAAIAAvAQ4iACABIAAgAUsbOwEOIANBAWoiAyAGRw0ACyAEQQFqIgQgBUcNAAsLDAELEAAACwsgFEEQaiQACy4AIAAgAjYCBCAAIAE2AgAgAEGAAhAFIgE2AgwgACABNgIIIAAgAUGAAmo2AhALoAMBFn8jAEEQayILJAAgCyACKAIYIgYgAigCECIHIAIoAggiDCACKAIAIhAgDCAQSCIUGyIDIAMgB0obIgMgAyAGShsiCCABKAIYIgMgASgCECIJIAEoAggiDSABKAIAIhEgDSARSCIVGyIEIAQgCUobIgQgAyAESBsiBCAEIAhKGyIWrSACKAIcIgggAigCFCIEIAIoAgwiEiACKAIEIgIgAiASSiIXGyIFIAQgBUgbIgUgBSAIShsiDiABKAIcIgUgASgCFCIPIAEoAgwiEyABKAIEIgEgASATSiIYGyIKIAogD0obIgogBSAKSBsiCiAKIA5KGyIOrUIghoQ3AwAgCyARIA0gFRsiDSAJIAkgDUgbIgkgAyADIAlIGyIDIBAgDCAUGyIMIAcgByAMSBsiByAGIAYgB0gbIgYgAyAGShsgFmutIAEgEyAYGyIBIA8gASAPShsiASAFIAEgBUobIgEgAiASIBcbIgIgBCACIARKGyICIAggAiAIShsiAiABIAJKGyAOa61CIIaENwMIIAAgCxCmARogC0EQaiQAC/oBAQR/IAEoAgQhBCAAIAAoAgAiAyABKAIAIgFBAWsiBSABIANKG0EAIANBAE4bNgIAIAAgACgCBCICIARBAWsiAyACIARIG0EAIAJBAE4bNgIEIAAgACgCCCICIAUgASACShtBACACQQBOGzYCCCAAIAAoAgwiAiADIAIgBEgbQQAgAkEAThs2AgwgACAAKAIQIgIgBSABIAJKG0EAIAJBAE4bNgIQIAAgACgCFCICIAMgAiAESBtBACACQQBOGzYCFCAAIAAoAhgiAiAFIAEgAkobQQAgAkEAThs2AhggACAAKAIcIgAgAyAAIARIG0EAIABBAE4bNgIcC5wIARN/IAFCADcAACABQgA3ADggAUIANwAwIAFCADcAKCABQgA3ACAgAUIANwAYIAFCADcAECABQgA3AAggASAAQQFxIgZBDHIgBiAAQQJxIhMbIgdBD3MgByAAQQRxIgcbIghBCHMgCCAAQQhxIggbIglBCnMgCSAAQRBxIgkbIgpBAXMgCiAAQSBxIgobIgtBDHMgCyAAQcAAcSILGyIMQQ9zIAwgAEGAAXEiDBsiDUEIcyANIABBgAJxIg0bIg5BCnMgDiAAQYAEcSIOGyIPQQFzIA8gAEGACHEiDxsiEEEMcyAQIABBgBBxIhAbIhFBD3MgESAAQYAgcSIRGyISQQhzIBIgAEGAwABxIhIbIhRBCnMgFCAAQYCAAXEiABsiFDoABSABIAZBBnIgBiATGyICQQdzIAIgBxsiAkEBcyACIAgbIgJBBnMgAiAJGyICQQdzIAIgChsiAkEBcyACIAsbIgJBBnMgAiAMGyICQQdzIAIgDRsiAkEBcyACIA4bIgJBBnMgAiAPGyICQQdzIAIgEBsiAkEBcyACIBEbIgJBBnMgAiASGyICQQdzIAIgABsiAjoABCABIAZBA3MgBiATGyIDQQVzIAMgBxsiA0EPcyADIAgbIgNBAnMgAyAJGyIDQQZzIAMgChsiA0EKcyADIAsbIgNBDXMgAyAMGyIDQQRzIAMgDRsiA0EMcyADIA4bIgNBB3MgAyAPGyIDQQlzIAMgEBsiA0EIcyADIBEbIgNBC3MgAyASGyIDQQ5zIAMgABsiAzoAAyABIAZBCHIgBiATGyIEQQxzIAQgBxsiBEEKcyAEIAgbIgRBD3MgBCAJGyIEQQFzIAQgChsiBEEIcyAEIAsbIgRBDHMgBCAMGyIEQQpzIAQgDRsiBEEPcyAEIA4bIgRBAXMgBCAPGyIEQQhzIAQgEBsiBEEMcyAEIBEbIgRBCnMgBCASGyIEQQ9zIAQgABsiBDoAAiABIAZBBHIgBiATGyIFQQNzIAUgBxsiBUEMcyAFIAgbIgVBBXMgBSAJGyIFQQdzIAUgChsiBUEPcyAFIAsbIgVBCXMgBSAMGyIFQQJzIAUgDRsiBUEIcyAFIA4bIgVBBnMgBSAPGyIFQQtzIAUgEBsiBUEKcyAFIBEbIgVBDnMgBSASGyIFQQ1zIAUgABsiBToAASABIAZBAnIgBiATGyIBQQRyIAEgBxsiAUEIciABIAgbIgFBA3MgASAJGyIBQQZzIAEgChsiAUEMcyABIAsbIgFBC3MgASAMGyIBQQVzIAEgDRsiAUEKcyABIA4bIgFBB3MgASAPGyIBQQ5zIAEgEBsiAUEPcyABIBEbIgFBDXMgASASGyIBQQlzIAEgABsiADoAACACIBRyIANyIARyIAVyIAByQf8BcUEARwvmBAEHfyAAQQRqIQUgAUUEQAJAIAAoAgwiByAAKAIEIgNHDQAgACgCCCECQYABEAUiAUGAAWohBCABIAIgB2tqIgEhAyACIAdHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgB0cNAAsLIAAgBDYCDCAAIAE2AgggACADNgIEIAdFDQAgBxAEIAUoAgAhAwsgACgCCCICIANrQQJ1IQECQCACIANGBEAgBUEBIAFrEDMgACgCBCEDIAAoAgghAgwBCyABQQJJDQAgACADQQRqIgI2AggLIAIgA2siAEEASgRAIANBACAAEAkaCyADQQA2AgAPCyAAKAIEIgQgACgCCCIGRwRAIAAoAgAhCCAEIQIDQCACIAIoAgAiAwR/IAgoAgggCCgCFCIHIANBAXRqLgEAQQF0aiAHIAFBAXRqLgEAQQF0ai4BAAVBAAs2AgAgAkEEaiICIAZHDQALCyMAQRBrIgMkACADQQA2AgwCQAJAAkAgBiAEa0ECdSIGIAUoAgggBSgCACIBa0ECdU0EQCABIQQMAQsgBkGAgICABE8NASAFKAIEIQhBICAGIAZBIE0bQQJ0IgIQBSIEIAJqIQcgBCAIIAFraiICIQQgASAIRwRAA0AgBEEEayIEIAhBBGsiCCgCADYCACABIAhHDQALCyAFIAc2AgggBSACNgIEIAUgBDYCACABRQ0AIAEQBCAFKAIAIQQLAkAgBSgCBCAEa0ECdSIBIAZJBEAgBSAGIAFrIANBDGoQqAEMAQsgASAGTQ0AIAUgBCAGQQJ0ajYCBAsgA0EQaiQADAELEAAACyAAEGIL7QYBC38jAEHAAWsiBCQAIARCADcDeCAEQgA3A3AgBEIANwNoIARCADcDYCAEQgA3A1ggBEIANwNQIARCADcDkAEgBEIANwOYASAEQgA3A6ABIARCADcDqAEgBEIANwOwASAEQgA3A7gBIARCADcDgAEgBEIANwNAIARCADcDiAEgBEIANwNIIARBAToAgAEgBEEBOgBAIAFBAEoEQCACKAIEIQYgAigCACEJIAIoAgghDEEBIQ1BASEOA0BBASEFIAAgB2otAAAhCCAKQQBKBEADQAJAIAUiAiAEQYABamotAAAiBUUNACAAIAcgAmtqLQAAIgtFDQAgDCAGIAtqLQAAIAUgBmotAABqIAlvai0AACAIcyEICyACQQFqIQUgAiAKRw0ACwsgBiAIQf8BcSICai0AACAJIAYgDUH/AXFqLQAAa2ogCW8hBQJ/AkAgAkUNACAFIAxqLQAAIQIgByAKQQF0TgRAIAQgBCkDuAE3AzggBCAEKQOwATcDMCAEIAQpA6gBNwMoIAQgBCkDoAE3AyAgBCAEKQOYATcDGCAEIAQpA5ABNwMQIAQgBCkDiAE3AwggBCAEKQOAATcDACACBEAgAiAGai0AACENQQAhAgNAAkAgAiAOaiIFQT9LDQAgBEFAayACai0AACILRQ0AIARBgAFqIAVqIgUgBS0AACAMIAYgC2otAAAgDWogCW9qLQAAczoAAAsgAkEBaiICQcAARw0ACwsgBCAEKQM4NwN4IAQgBCkDMDcDcCAEIAQpAyg3A2ggBCAEKQMgNwNgIAQgBCkDGDcDWCAEIAQpAxA3A1AgBCAEKQMINwNIIAQgBCkDADcDQCAHIAprQQFqIQogCCENQQEMAgsgAkUNACACIAZqLQAAIQhBACECA0ACQCACIA5qIgVBP0sNACAEQUBrIAJqLQAAIgtFDQAgBEGAAWogBWoiBSAFLQAAIAwgBiALai0AACAIaiAJb2otAABzOgAACyACQQFqIgJBwABHDQALCyAOQQFqCyEOIAdBAWoiByABRw0ACwsgAyAEKQOAATcAACADIAQpA4gBNwAIIAMgBCkDuAE3ADggAyAEKQOwATcAMCADIAQpA6gBNwAoIAMgBCkDoAE3ACAgAyAEKQOYATcAGCADIAQpA5ABNwAQIARBwAFqJAALxQIBDX8CQCAAKAIEIAAsAAsiBSAFQQBIIgIbIgNBAEwNACAAKAIAIAAgAhshBCADQQFrIgFBAXZBAWoiAkEDcSEHAkAgA0EHSQRAQQAhAgwBCyAEQQZrIQkgBEEEayEKIARBAmshCyACQXxxIQxBACECA0AgASAJai0AAMAgASAKai0AAMAgASALai0AAMAgAiABIARqLQAAwGpqampBwAFrIQIgAUEIayEBIAhBBGoiCCAMRw0ACwsgBwRAA0AgAiABIARqLQAAwGpBMGshAiABQQJrIQEgBkEBaiIGIAdHDQALCyACQQNsIQEgA0EBRg0AIAAoAgAgACAFQQBIGyECA0AgASACIANBAmsiAGotAADAakEwayEBIANBA0shDSAAIQMgDQ0ACwtBCiABQQpvIgBrIgNBACAAayADQQpJG0EwcsAL8wIBCn8gASgCBCIDKAIAIQkjAEEQayIGIAMoAgQiBUEAIAVrIAEoAhggASgCECIIayIEQQBKGyICQX9BASABKAIUIAEoAgwiCmsiA0EATBsiC2o2AgwgBiACIAsgAyADQR91IgJzIAJrIgMgBCAEQR91IgJzIAJrIgRJIgIbNgIIIAYgAyAEIAIbIgIgAyAEIAMgBEsbIgRrQQF0NgIEIAYgAkEBdCICNgIAIAogBSAIbGohBSABLQAIIQMgBARAIAIgBGshASAEQQFqQX5xIQJBACEIA0AgByAFIAlqLQAAIANGaiAJIAUgAUF/c0EddkEEcSIFIAZBCGoiC2ooAgBqIgpqLQAAIANGaiEHIAYgBSAGaigCACABaiIBQX9zQR12QQRxIgVqKAIAIAFqIQEgBSALaigCACAKaiEFIAhBAmoiCCACRw0ACwsgACAEQQFxBH8gBwUgByAFIAlqLQAAIANGags2AgAgACAEQQFqNgIEC+sHAQ9/IAMoAggiBSADKAIMIgROBEACQCAEQQdIDQBBAyADKAIEIgsgC0EDTBsiCSAEIAtqIgsgACgCCEEDayIEIAQgC0obIg1OIg8NACAFIgRBAEwNACAEIAMoAgAiC2ohECABKAIAIRIgAigCACERIAAoAgAhByAAKAIEIQQgCSECA0AgESACIARsaiEOIAcgAkEDayAEbGohDCALIQADQCAAIA5qIAAgDGoiBi0AACIIIAQgBmoiBi0AACIFIAUgCEsbIgggBCAGaiIGLQAAIgUgBSAISxsiCCAEIAZqIgYtAAAiBSAFIAhLGyIIIAQgBmoiBi0AACIFIAUgCEsbIgggBCAGaiIGLQAAIgUgBSAISxsiCCAEIAZqLQAAIgYgBiAISxs6AAAgAEEBaiIAIBBIDQALIAJBAWoiAiANRw0ACyAPDQADQCASIAQgCWxqIQIgESAJQQNrIARsaiEPIAshAANAIAAgAmogACAPaiIHIARqIg4gBGoiDCAEaiIGIARqIgggBGoiBSAEai0AACIKIAUtAAAiBSAILQAAIgggBi0AACIGIAwtAAAiDCAOLQAAIg4gBy0AACIHIAcgDkkbIgcgByAMSRsiByAGIAdLGyIHIAcgCEkbIgcgBSAHSxsiByAHIApJGzoAACAAQQFqIgAgEEgNAAsgCUEBaiIJIA1HDQALCyABIAEgAxByDwsCQCADKAIIIgRBB0gNACADKAIMIg1BAEwNAEEDIAMoAgAiCSAJQQNMGyILIAQgCWoiCSAAKAIEIhBBA2siBCAEIAlKGyIRTiIHDQAgDSADKAIEIglqIQ8gASgCACEOIAIoAgAhEiAAKAIAIQwgCSECA0AgEiACIBBsIgBqIQYgACAMaiEIIAshAANAIAAgBmogACAIaiIEQQNrLQAAIgUgBEECay0AACIKIAUgCkkbIgUgBEEBay0AACIKIAUgCkkbIgUgBC0AACIKIAUgCkkbIgUgBC0AASIKIAUgCkkbIgUgBC0AAiIKIAUgCkkbIgUgBC0AAyIEIAQgBUsbOgAAIABBAWoiACARRw0ACyACQQFqIgIgD0gNAAsgDUEATA0AIAcNAANAIA4gCSAQbCIAaiEEIAAgEmohDSALIQADQCAAIARqIAAgDWoiAi0AAyIHIAItAAIiDCACLQABIgYgAi0AACIIIAJBAWstAAAiBSACQQJrLQAAIgogAkEDay0AACICIAIgCkkbIgIgAiAFSRsiAiACIAhJGyICIAIgBkkbIgIgAiAMSRsiAiACIAdJGzoAACAAQQFqIgAgEUcNAAsgCUEBaiIJIA9IDQALCyABIAEgAxByC6cHAwd/BH0BfiMAQUBqIgMkAEEBIQQCQAJAAkACQAJAAkAgASAAa0EcbQ4GBQUAAQIDBAsgAyABQRxrIgUQCCADIAIpAgAiDqeyOAI4IAMgDkIgiKeyOAI8IAMqAjggAyoCAJMiCiAKlCADKgI8IAMqAgSTIgogCpSSIQwgA0EwaiIBIAAQCCADIAIpAgAiDqeyOAIoIAMgDkIgiKeyOAIsIAwgAyoCKCABKgIAkyIKIAqUIAMqAiwgASoCBJMiCiAKlJJdRQ0EIAMgACgCGDYCGCADIAApAhA3AxAgAyAAKQIINwMIIAMgACkCADcDACAAIAUoAhg2AhggACAFKQIQNwIQIAAgBSkCCDcCCCAAIAUpAgA3AgAgBSADKAIYNgIYIAUgAykDEDcCECAFIAMpAwg3AgggBSADKQMANwIADAQLIAAgAEEcaiABQRxrIAIQPQwDCyAAIABBHGogAEE4aiABQRxrIAIQqgEMAgsgACAAQRxqIABBOGogAEHUAGogAUEcayACEKMCDAELIAAgAEEcaiAAQThqIgUgAhA9IABB1ABqIgYgAUYNAANAIAMgBhAIIAMgAikCACIOp7I4AjggAyAOQiCIp7I4AjwgAyoCOCADKgIAkyIKIAqUIAMqAjwgAyoCBJMiCiAKlJIhCyADQTBqIgQgBRAIIAMgAikCACIOp7I4AiggAyAOQiCIp7I4AiwCQCALIAMqAiggBCoCAJMiCiAKlCADKgIsIAQqAgSTIgogCpSSXUUNACADIAYoAhg2AhggAyAGKQIQNwMQIAMgBikCCDcDCCADIAYpAgA3AwAgBiEHA0ACQCAHIAUiBCkCADcCACAHIAQoAhg2AhggByAEKQIQNwIQIAcgBCkCCDcCCCAAIARGBEAgACEEDAELIANBOGoiBSADEAggAyACKQIAIg6nsjgCMCADIA5CIIinsjgCNCADKgIwIAUqAgCTIgogCpQgAyoCNCAFKgIEkyIKIAqUkiENIANBKGoiCCAEQRxrIgUQCCADIAIpAgAiDqeyOAIgIAMgDkIgiKeyOAIkIAQhByANIAMqAiAgCCoCAJMiCiAKlCADKgIkIAgqAgSTIgogCpSSXQ0BCwsgBCADKQMANwIAIAQgAygCGDYCGCAEIAMpAxA3AhAgBCADKQMINwIIIAlBAWoiCUEIRw0AIAZBHGogAUYhBAwCCyAGIgVBHGoiBCEGIAEgBEcNAAtBASEECyADQUBrJAAgBAuQAgEBfyAAIAAoAiAgA2wgBGoiBUEDdWotACQgBUEHcXZBAXEhBSACKAIEIQACQAJ/AkACQAJAAkACQAJAAkACQCABDggAAQIDBAUGBwkLIAMgBGpBf3NBAXEMBwsgA0F/c0EBcQwGCyAEQQNwRQwFCyADIARqQQNvRQwECyADQQJtIARBA25qQX9zQQFxDAMLIAMgBGwiAUECb0EAIAFBA29rRgwCCyADIARsIgFBA28gAWpBf3NBAXEMAQsgAyAEaiADIARsQQNvakF/c0EBcQtFDQAgBUEBcyEFCyACIAUEfyACKAIAIABBA3VqIgEgAS0AAEGAASAAQQdxdnI6AAAgAigCBAUgAAtBAWo2AgQLuggDA38FfQF+IwBBQGoiBiQAIAAgASACIAMgBRCqASAGQSBqIgcgBBAIIAYgBSkCACIOp7I4AhggBiAOQiCIp7I4AhwgBioCGCAHKgIAkyIJIAmUIAYqAhwgByoCBJMiCSAJlJIhCSAGQRBqIgggAxAIIAYgBSkCACIOp7I4AgggBiAOQiCIp7I4AgwCQCAJIAYqAgggCCoCAJMiCiAKlCAGKgIMIAgqAgSTIgogCpSSXUUNACAGIAMoAhg2AjggBiADKQIQNwMwIAYgAykCCDcDKCAGIAMpAgA3AyAgAyAEKAIYNgIYIAMgBCkCEDcCECADIAQpAgg3AgggAyAEKQIANwIAIAQgBigCODYCGCAEIAYpAzA3AhAgBCAGKQMoNwIIIAQgBikDIDcCACAHIAMQCCAGIAUpAgAiDqeyOAIYIAYgDkIgiKeyOAIcIAYqAhggBioCIJMiCSAJlCAGKgIcIAYqAiSTIgkgCZSSIQsgCCACEAggBiAFKQIAIg6nsjgCCCAGIA5CIIinsjgCDCALIAYqAgggBioCEJMiCiAKlCAGKgIMIAYqAhSTIgogCpSSXUUNACAGIAIoAhg2AjggBiACKQIQNwMwIAYgAikCCDcDKCAGIAIpAgA3AyAgAiADKAIYNgIYIAIgAykCEDcCECACIAMpAgg3AgggAiADKQIANwIAIAMgBigCODYCGCADIAYpAzA3AhAgAyAGKQMoNwIIIAMgBikDIDcCACAHIAIQCCAGIAUpAgAiDqeyOAIYIAYgDkIgiKeyOAIcIAYqAhggBioCIJMiCSAJlCAGKgIcIAYqAiSTIgkgCZSSIQwgCCABEAggBiAFKQIAIg6nsjgCCCAGIA5CIIinsjgCDCAMIAYqAgggBioCEJMiCiAKlCAGKgIMIAYqAhSTIgogCpSSXUUNACAGIAEoAhg2AjggBiABKQIQNwMwIAYgASkCCDcDKCAGIAEpAgA3AyAgASACKAIYNgIYIAEgAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIAIgBigCODYCGCACIAYpAzA3AhAgAiAGKQMoNwIIIAIgBikDIDcCACAHIAEQCCAGIAUpAgAiDqeyOAIYIAYgDkIgiKeyOAIcIAYqAhggBioCIJMiCSAJlCAGKgIcIAYqAiSTIgkgCZSSIQ0gCCAAEAggBiAFKQIAIg6nsjgCCCAGIA5CIIinsjgCDCANIAYqAgggBioCEJMiCiAKlCAGKgIMIAYqAhSTIgogCpSSXUUNACAGIAAoAhg2AjggBiAAKQIQNwMwIAYgACkCCDcDKCAGIAApAgA3AyAgACABKAIYNgIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgBigCODYCGCABIAYpAzA3AhAgASAGKQMoNwIIIAEgBikDIDcCAAsgBkFAayQAC5EwAwt/GH0BfiMAQeAAayIFJAACQANAIAFBHGshDCABQdQAayENIAFBOGshDgNAAkACQAJAAkACQCABIAAiBmsiCkEcbSILDgYHBwAEAQIDCyAFQShqIgMgAUEcayIAEAggBSACKQIAIiinsjgCCCAFIChCIIinsjgCDCAFKgIIIAMqAgCTIhAgEJQgBSoCDCADKgIEkyIQIBCUkiESIAVB2ABqIgEgBhAIIAUgAikCACIop7I4AlAgBSAoQiCIp7I4AlQgEiAFKgJQIAEqAgCTIhEgEZQgBSoCVCABKgIEkyIRIBGUkl1FDQYgBUFAayIBIAYoAhg2AgAgBSAGKQIQNwM4IAUgBikCCDcDMCAFIAYpAgA3AyggBiAAKAIYNgIYIAYgACkCEDcCECAGIAApAgg3AgggBiAAKQIANwIAIAAgASgCADYCGCAAIAUpAzg3AhAgACAFKQMwNwIIIAAgBSkDKDcCAAwGCyAGIAZBHGogBkE4aiABQRxrIAIQqgEMBQsgBiAGQRxqIAZBOGogBkHUAGogAUEcayACEKMCDAQLIApBnwVMBEAgBEEBcQRAIAEgBkYNBSAGQRxqIgAgAUYNBSAGIQgDQCAFQShqIgQgACIDEAggBSACKQIAIiinsjgCCCAFIChCIIinsjgCDCAFKgIIIAQqAgCTIhAgEJQgBSoCDCAEKgIEkyIQIBCUkiETIAVB2ABqIgAgCBAIIAUgAikCACIop7I4AlAgBSAoQiCIp7I4AlQgEyAFKgJQIAAqAgCTIhEgEZQgBSoCVCAAKgIEkyIRIBGUkl0EQCAFQUBrIgkgAygCGDYCACAFIAMpAhA3AzggBSADKQIINwMwIAUgAykCADcDKCADIQcDQAJAIAcgCCIAKQIANwIAIAcgACgCGDYCGCAHIAApAhA3AhAgByAAKQIINwIIIAAgBkYEQCAGIQAMAQsgBUEIaiIEIAVBKGoQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggBCoCAJMiECAQlCAFKgJcIAQqAgSTIhAgEJSSIRQgBUHQAGoiBCAAQRxrIggQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIAAhByAUIAUqAkggBCoCAJMiESARlCAFKgJMIAQqAgSTIhEgEZSSXQ0BCwsgACAFKQMoNwIAIAAgCSgCADYCGCAAIAUpAzg3AhAgACAFKQMwNwIICyADIghBHGoiACABRw0ACwwFCyABIAZGDQQgBkEcaiIAIAFGDQQDQCAFQShqIgMgABAIIAUgAikCACIop7I4AgggBSAoQiCIp7I4AgwgBSoCCCADKgIAkyIQIBCUIAUqAgwgAyoCBJMiECAQlJIhFSAFQdgAaiIDIAYQCCAFIAIpAgAiKKeyOAJQIAUgKEIgiKeyOAJUIBUgBSoCUCADKgIAkyIRIBGUIAUqAlQgAyoCBJMiESARlJJdBEAgBUFAayIIIAAoAhg2AgAgBSAAKQIQNwM4IAUgACkCCDcDMCAFIAApAgA3AyggACEHA0AgByAGIgMpAgA3AgAgByAGKAIYNgIYIAcgBikCEDcCECAHIAYpAgg3AgggBUEIaiIEIAVBKGoQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggBCoCAJMiECAQlCAFKgJcIAQqAgSTIhAgEJSSIRYgBUHQAGoiBCAGQRxrIgYQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIAMhByAWIAUqAkggBCoCAJMiESARlCAFKgJMIAQqAgSTIhEgEZSSXQ0ACyAHIAUpAyg3AgAgByAIKAIANgIYIAcgBSkDODcCECAHIAUpAzA3AggLIAAiBkEcaiIAIAFHDQALDAQLIANFBEAgASAGRg0EIAtBAmtBAXYiDCEAA0ACQCAMIAAiBEgNACAGIABBHGxqIQAgBiAEQQF0IgNBAXIiCUEcbGohCAJAIANBAmoiAyALTg0AIAVBKGoiByAIEAggBSACKQIAIiinsjgCCCAFIChCIIinsjgCDCAFKgIIIAcqAgCTIhAgEJQgBSoCDCAHKgIEkyIQIBCUkiEXIAVB2ABqIg0gCEEcaiIHEAggBSACKQIAIiinsjgCUCAFIChCIIinsjgCVCAXIAUqAlAgDSoCAJMiESARlCAFKgJUIA0qAgSTIhEgEZSSXUUNACAHIQggAyEJCyAFQShqIgMgCBAIIAUgAikCACIop7I4AgggBSAoQiCIp7I4AgwgBSoCCCADKgIAkyIQIBCUIAUqAgwgAyoCBJMiECAQlJIhGCAFQdgAaiIDIAAQCCAFIAIpAgAiKKeyOAJQIAUgKEIgiKeyOAJUIBggBSoCUCADKgIAkyIRIBGUIAUqAlQgAyoCBJMiESARlJJdDQAgBUFAayIOIAAoAhg2AgAgBSAAKQIQNwM4IAUgACkCCDcDMCAFIAApAgA3AygDQAJAIAAgCCIDKQIANwIAIAAgAygCGDYCGCAAIAMpAhA3AhAgACADKQIINwIIIAkgDEoNACAGIAlBAXQiAEEBciIJQRxsaiEIAkAgAEECaiIAIAtODQAgBUEIaiIHIAgQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggByoCAJMiECAQlCAFKgJcIAcqAgSTIhAgEJSSIRkgBUHQAGoiDSAIQRxqIgcQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIBkgBSoCSCANKgIAkyIRIBGUIAUqAkwgDSoCBJMiESARlJJdRQ0AIAchCCAAIQkLIAVBCGoiACAIEAggBSACKQIAIiinsjgCWCAFIChCIIinsjgCXCAFKgJYIAAqAgCTIhAgEJQgBSoCXCAAKgIEkyIQIBCUkiEaIAVB0ABqIgcgBUEoahAIIAUgAikCACIop7I4AkggBSAoQiCIp7I4AkwgAyEAIBogBSoCSCAHKgIAkyIRIBGUIAUqAkwgByoCBJMiESARlJJdRQ0BCwsgAyAFKQMoNwIAIAMgDigCADYCGCADIAUpAzg3AhAgAyAFKQMwNwIICyAEQQFrIQAgBA0ACyAKQRxuIQADQCAFIAYoAhg2AiAgBSAGKQIQNwMYIAUgBikCCDcDECAFIAYpAgA3AwggACIHQQJrQQF2IQlBACEIIAYhAANAIAAiAyAIQRxsaiILQRxqIQACfyAIQQF0IgRBAXIiDCAHIARBAmoiCkwNABogBUEoaiIEIAAQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggBCoCAJMiECAQlCAFKgJcIAQqAgSTIhAgEJSSIRAgBUHQAGoiCCALQThqIgQQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIAwgECAFKgJIIAgqAgCTIhEgEZQgBSoCTCAIKgIEkyIRIBGUkl1FDQAaIAQhACAKCyEIIAMgACkCADcCACADIAAoAhg2AhggAyAAKQIQNwIQIAMgACkCCDcCCCAIIAlMDQALAkAgAUEcayIBIABGBEAgACAFKQMINwIAIAAgBSgCIDYCGCAAIAUpAxg3AhAgACAFKQMQNwIIDAELIAAgASkCADcCACAAIAEoAhg2AhggACABKQIQNwIQIAAgASkCCDcCCCABIAUpAwg3AgAgASAFKQMQNwIIIAEgBSkDGDcCECABIAUoAiA2AhggACAGa0EcaiIEQR1IDQAgBUEoaiIDIAYgBEEcbkECa0EBdiIIQRxsaiIEEAggBSACKQIAIiinsjgCWCAFIChCIIinsjgCXCAFKgJYIAMqAgCTIhAgEJQgBSoCXCADKgIEkyIQIBCUkiEbIAVB0ABqIgMgABAIIAUgAikCACIop7I4AkggBSAoQiCIp7I4AkwgGyAFKgJIIAMqAgCTIhEgEZQgBSoCTCADKgIEkyIRIBGUkl1FDQAgBUFAayILIAAoAhg2AgAgBSAAKQIQNwM4IAUgACkCCDcDMCAFIAApAgA3AygDQAJAIAAgBCIDKQIANwIAIAAgBCgCGDYCGCAAIAQpAhA3AhAgACAEKQIINwIIIAhFDQAgBUHYAGoiACAGIAhBAWtBAXYiCEEcbGoiBBAIIAUgAikCACIop7I4AlAgBSAoQiCIp7I4AlQgBSoCUCAAKgIAkyIQIBCUIAUqAlQgACoCBJMiECAQlJIhHCAFQcgAaiIJIAVBKGoQCCAFIAIpAgAiKKeyOAIAIAUgKEIgiKeyOAIEIAMhACAcIAUqAgAgCSoCAJMiESARlCAFKgIEIAkqAgSTIhEgEZSSXQ0BCwsgAyAFKQMoNwIAIAMgCygCADYCGCADIAUpAzg3AhAgAyAFKQMwNwIICyAHQQFrIQAgB0ECSg0ACwwECyAGIAtBAXZBHGwiCGohAAJAIApBgRxPBEAgBiAAIAwgAhA9IAZBHGoiByAAQRxrIgkgDiACED0gBkE4aiAHIAhqIgggDSACED0gCSAAIAggAhA9IAVBQGsiCCAGKAIYNgIAIAUgBikCEDcDOCAFIAYpAgg3AzAgBSAGKQIANwMoIAYgACgCGDYCGCAGIAApAhA3AhAgBiAAKQIINwIIIAYgACkCADcCACAAIAgoAgA2AhggACAFKQM4NwIQIAAgBSkDMDcCCCAAIAUpAyg3AgAMAQsgACAGIAwgAhA9CyADQQFrIQMCQCAEQQFxIg8NACAFQShqIgAgBkEcaxAIIAUgAikCACIop7I4AgggBSAoQiCIp7I4AgwgBUEIaiIJIggqAgAgACoCAJMiECAQlCAIKgIEIAAqAgSTIhAgEJSSIR0gBUHYAGoiCCAGEAggBSACKQIAIiinsjgCUCAFIChCIIinsjgCVCAdIAVB0ABqIgcqAgAgCCoCAJMiESARlCAHKgIEIAgqAgSTIhEgEZSSXQ0AIAUgBigCGDYCICAFIAYpAhA3AxggBSAGKQIINwMQIAUgBikCADcDCCAAIAkQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAgqAgAgACoCAJMiECAQlCAIKgIEIAAqAgSTIhAgEJSSIRAgByAMEAggBSACKQIAIiinsjgCSCAFIChCIIinsjgCTCAGIQACQCAQIAUqAkggByoCAJMiESARlCAFKgJMIAcqAgSTIhEgEZSSXQRAA0AgBUEoaiIEIAVBCGoQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggBCoCAJMiECAQlCAFKgJcIAQqAgSTIhAgEJSSIR4gBUHQAGoiBCAAQRxqIgAQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIB4gBSoCSCAEKgIAkyIRIBGUIAUqAkwgBCoCBJMiESARlJJdRQ0ADAILAAsDQCAAQRxqIgAgAU8NASAFQShqIgQgBUEIahAIIAUgAikCACIop7I4AlggBSAoQiCIp7I4AlwgBSoCWCAEKgIAkyIQIBCUIAUqAlwgBCoCBJMiECAQlJIhHyAFQdAAaiIEIAAQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMIB8gBSoCSCAEKgIAkyIRIBGUIAUqAkwgBCoCBJMiESARlJJdRQ0ACwsgASIHIABLBEADQCAFQShqIgQgBUEIahAIIAUgAikCACIop7I4AlggBSAoQiCIp7I4AlwgBSoCWCAEKgIAkyIQIBCUIAUqAlwgBCoCBJMiECAQlJIhICAFQdAAaiIEIAdBHGsiBxAIIAUgAikCACIop7I4AkggBSAoQiCIp7I4AkwgICAFKgJIIAQqAgCTIhEgEZQgBSoCTCAEKgIEkyIRIBGUkl0NAAsLIAAgB0kEQANAIAVBQGsiBCAAKAIYNgIAIAUgACkCEDcDOCAFIAApAgg3AzAgBSAAKQIANwMoIAAgBygCGDYCGCAAIAcpAhA3AhAgACAHKQIINwIIIAAgBykCADcCACAHIAQoAgA2AhggByAFKQM4NwIQIAcgBSkDMDcCCCAHIAUpAyg3AgADQCAFQShqIgQgBUEIahAIIAUgAikCACIop7I4AlggBSAoQiCIp7I4AlwgBSoCWCAEKgIAkyIQIBCUIAUqAlwgBCoCBJMiECAQlJIhISAFQdAAaiIEIABBHGoiABAIIAUgAikCACIop7I4AkggBSAoQiCIp7I4AkwgISAFKgJIIAQqAgCTIhEgEZQgBSoCTCAEKgIEkyIRIBGUkl1FDQALA0AgBUEoaiIEIAVBCGoQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggBCoCAJMiECAQlCAFKgJcIAQqAgSTIhAgEJSSISIgBUHQAGoiBCAHQRxrIgcQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMICIgBSoCSCAEKgIAkyIRIBGUIAUqAkwgBCoCBJMiESARlJJdDQALIAAgB0kNAAsLIAYgAEEcayIERwRAIAYgBCkCADcCACAGIAQoAhg2AhggBiAEKQIQNwIQIAYgBCkCCDcCCAsgBCAFKQMINwIAIAQgBSgCIDYCGCAEIAUpAxg3AhAgBCAFKQMQNwIIQQAhBAwCCyAFIAYoAhg2AiAgBSAGKQIQNwMYIAUgBikCCDcDECAFIAYpAgA3AwggBiEJA0AgBUEoaiIAIAkiCEEcaiIJEAggBSACKQIAIiinsjgCWCAFIChCIIinsjgCXCAFKgJYIAAqAgCTIhAgEJQgBSoCXCAAKgIEkyIQIBCUkiEjIAVB0ABqIgAgBUEIahAIIAUgAikCACIop7I4AkggBSAoQiCIp7I4AkwgIyAFKgJIIAAqAgCTIhEgEZQgBSoCTCAAKgIEkyIRIBGUkl0NAAsgASELAkAgBiAIRgRAA0AgCSALTw0CIAVBKGoiACALQRxrIgsQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggACoCAJMiECAQlCAFKgJcIAAqAgSTIhAgEJSSISQgBUHQAGoiACAFQQhqEAggBSACKQIAIiinsjgCSCAFIChCIIinsjgCTCAkIAUqAkggACoCAJMiESARlCAFKgJMIAAqAgSTIhEgEZSSXUUNAAwCCwALA0AgBUEoaiIAIAtBHGsiCxAIIAUgAikCACIop7I4AlggBSAoQiCIp7I4AlwgBSoCWCAAKgIAkyIQIBCUIAUqAlwgACoCBJMiECAQlJIhJSAFQdAAaiIAIAVBCGoQCCAFIAIpAgAiKKeyOAJIIAUgKEIgiKeyOAJMICUgBSoCSCAAKgIAkyIRIBGUIAUqAkwgACoCBJMiESARlJJdRQ0ACwsgCyIHIAkiAEsEQANAIAVBQGsiCCAAKAIYNgIAIAUgACkCEDcDOCAFIAApAgg3AzAgBSAAKQIANwMoIAAgBygCGDYCGCAAIAcpAhA3AhAgACAHKQIINwIIIAAgBykCADcCACAHIAgoAgA2AhggByAFKQM4NwIQIAcgBSkDMDcCCCAHIAUpAyg3AgADQCAFQShqIgogACIIQRxqIgAQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggCioCAJMiECAQlCAFKgJcIAoqAgSTIhAgEJSSISYgBUHQAGoiCiAFQQhqEAggBSACKQIAIiinsjgCSCAFIChCIIinsjgCTCAmIAUqAkggCioCAJMiESARlCAFKgJMIAoqAgSTIhEgEZSSXQ0ACwNAIAVBKGoiCiAHQRxrIgcQCCAFIAIpAgAiKKeyOAJYIAUgKEIgiKeyOAJcIAUqAlggCioCAJMiECAQlCAFKgJcIAoqAgSTIhAgEJSSIScgBUHQAGoiCiAFQQhqEAggBSACKQIAIiinsjgCSCAFIChCIIinsjgCTCAnIAUqAkggCioCAJMiESARlCAFKgJMIAoqAgSTIhEgEZSSXUUNAAsgACAHSQ0ACwsgBiAIRwRAIAYgCCkCADcCACAGIAgoAhg2AhggBiAIKQIQNwIQIAYgCCkCCDcCCAsgCCAFKQMINwIAIAggBSgCIDYCGCAIIAUpAxg3AhAgCCAFKQMQNwIIIAkgC08EQCAGIAggAhChAiEHIAhBHGoiACABIAIQoQIEQCAIIQEgBiEAIAdFDQQMBQsgBw0CCyAGIAggAiADIA8QpAIgCEEcaiEAQQAhBAwBCwsLIAYgBkEcaiABQRxrIAIQPQsgBUHgAGokAAujjAMEW38PfQR+AnwjAEHwAGsiHCQAIwBBEGsiDSQAIAEoAiAhCAJAAkAgAigCCCIEIAEoAhQiAygCBEcNACACKAIMIgUgAygCCEcNAAJAIAEtAAxFBEAgAS0AQEEBcQ0BCyADKAIIIQkgAygCBCEEIAEoAiQiBiADKAIAIgctAAA2AgAgBEEIbSEOAkACQCAEQQJOBEAgBEEBayIQQQNxIRIgBigCACEFQQEhCyAEQQJrQQNPBEAgEEF8cSEQA0AgBiALQQJ0aiAFIAcgC2otAABqIgU2AgAgBiALQQFqIgpBAnRqIAUgByAKai0AAGoiBTYCACAGIAtBAmoiCkECdGogBSAHIApqLQAAaiIFNgIAIAYgC0EDaiIKQQJ0aiAFIAcgCmotAABqIgU2AgAgC0EEaiELIAxBBGoiDCAQRw0ACwsgEgRAQQAhDANAIAYgC0ECdGogBSAHIAtqLQAAaiIFNgIAIAtBAWohCyAMQQFqIgwgEkcNAAsLQQEhBSAJQQFMDQIgBEEBTA0BA0AgBiAEIAVsQQJ0aiIKIAYgBUEBayAEbEECdGoiEigCACAHIAMoAgQgBWxqLQAAaiIMNgIAIBJBBGshEUEBIQsDQCAKIAtBAnQiEGogECASaigCACAMIAcgAygCBCAFbGogC2otAABqaiAQIBFqKAIAayIMNgIAIAtBAWoiCyAERw0ACyAFQQFqIgUgCUcNAAsMAgsgCUEBTA0BC0EBIQsgCUEBayIFQQFxIUwgCUECRwRAIAVBfnEhEkEAIQUDQCAGIAQgC2xBAnRqIAYgC0EBayAEbEECdGooAgAgByADKAIEIAtsai0AAGoiEDYCACAGIAtBAWoiCiAEbEECdGogECAHIAMoAgQgCmxqLQAAajYCACALQQJqIQsgBUECaiIFIBJHDQALCyBMRQ0AIAYgBCALbEECdGogBiALQQFrIARsQQJ0aigCACAHIAMoAgQgC2xqLQAAajYCAAsCQCAJQQBMDQAgBEEATA0AQYABIA4gDkGAAU4bQQJtIQcgCUEBayEMIARBAWshDkEAIQUDQCAMIAUgB2oiCyALIAxKGyILIAUgB2siEkEAIBJBAEobIhJrQQFqIQogBiAEIBJsQQJ0aiESIAYgBCALbEECdGohEEEAIQsDQCAIKAIAIAgoAgQgBWxqIAtqQX9BACADKAIAIAMoAgQgBWxqIAtqLQAAIA4gByALaiIRIA4gEUgbIhEgCyAHayIPQQAgD0EAShsiD2tBAWogCmxsIBAgEUECdCIRaigCACARIBJqKAIAIBAgD0ECdCIRaigCAGprIBEgEmooAgBqQdUAbEHkAG5LGzoAACALQQFqIgsgBEcNAAsgBUEBaiIFIAlHDQALCyAIQQE6AA0MAgsgDUHkACAFIAQgBCAFShsiBiAGQeQAThsiBq1CgYCAgBB+NwMIIA0gBCAGa0ECba0gBSAGa0ECba1CIIaENwMAIAMgDRDuASIGRQRAIAMgCCACEHIMAgsgAyEEAkAgAigCDCIDQQBMDQAgAigCCCILQQBMDQAgAyACKAIEIgdqIQkgCyACKAIAIgVqIQsDQCAFIQMDQCAIKAIAIAgoAgQgB2xqIANqQX9BACAEKAIAIAQoAgQgB2xqIANqLQAAIAZLGzoAACADQQFqIgMgC0gNAAsgB0EBaiIHIAlIDQALCwwBCyADIAggAhByCyANQRBqJAACQAJAAkACQCAAKAJwDQAgACgCdA0AIAAoAmxFDQELIAEoAiAhAyAAKAJ8IQQgHCACKQIINwMQIBwgAikCADcDCCAcQQE6ABggHEHkAGogBCADIBxBCGpB/wEQlwIgASgCACIDBEAgASADNgIEIAMQBAsgASAcKAJkNgIAIAEgHCgCaDYCBCABIBwoAmw2AgggACgCfCgCECEDIBwgAikCCCJtNwMAIBwgbTcDWCABIAM2AmAgASAcKQIANwJkIAAoAmwiMUUNACAcQQhqIR8jAEGAAWsiFSQAAkACQCABKAIAIAEoAgRHBEAgASgCYA0BCyAfQQA6AEggH0EAOgAADAELIAEoAmwhESMAQfAAayINJAAgASgCBCIEIAEoAgAiBWsiBkEcbSEDIAQgBUcEQCAGQQBIDQMgAxAFIhdBACADEAkaCyABKAJkIRMgASgCYCEWIAEoAiAhEiAVQfQAaiIOQYCQAxAFIgM2AgQgDiADNgIAIA4gA0GAkANqNgIIIAIoAgwiA0EASgRAIAMgAigCBCIYaiEbIAIoAgAiCCACKAIIakEBayEKA0AgEigCACASKAIEIBhsaiAIai0AACEJQQEhBUEAIQZBACELQQAhA0EAIQRBACEZQQAhEEEAIRQgCiAIIgdKBEADQAJ/IAdBAWoiByASKAIAIBIoAgQgGGxqai0AACIMIAlB/wFxRwRAAkAgDEH/AUcNACAUQQVIDQAgBUEEdCIaIAYgC2oiIiAEIAVqIh1qIglIDQAgGiAJQQdsIg9KDQAgBEEEdCIaIAlIDQAgDyAaSA0AIANBBHQiGiAJQQlsSA0AIBogCUEPbEoNACALQQR0IhogCUgNACAPIBpIDQAgBkEEdCIGIAlIDQAgBiAPSg0AIBcgByACKAIAayIGIAVrQQJ0IhogFiAYIAIoAgRrIBNsQQJ0aiIPIBlBAnRqIBBBAnRqaigCACIJaiIQLQAADQAgDyAGIAMgImogHWoiGWtBAnRqKAIAIgYgCUYNACAGIA8gGmooAgBHDQAgASgCACIPIAlBHGxqIhooAgRB5ABsIA8gBkEcbGooAgRuQQprQTxLDQAgEEEBOgAAIA1BDGogGhAIIA1BADoAbCANIAY2AiAgDSAJNgIcIA0gBjYCGCANIBmyOAIUIA1BADoATCANQgA3AkQgDUIANwI8IA1CADcCNCANQgA3AiwgDUIANwIkAkAgDigCBCIGIA4oAghJBEAgBiANKQIMNwIAIAYgDSkCRDcCOCAGIA0pAjw3AjAgBiANKQI0NwIoIAYgDSkCLDcCICAGIA0pAiQ3AhggBiANKQIcNwIQIAYgDSkCFDcCCCAGQQA6AGAgBkEAOgBAIA0tAGwEQCAGQUBrIgkgDSkCTDcCACAJIA0pAmQ3AhggCSANKQJcNwIQIAkgDSkCVDcCCCAGQQE6AGALIA4gBkHkAGo2AgQMAQsgDiANQQxqEHMLIA0tAGxFDQALIBRBAWohFCALIQYgAyELIAQhAyAMIQkgBSEEQQEMAQsgBUEBagshBUEAIANrIRBBACAEayEZIAcgCkcNAAsLAkAgCUH/AXENACAFQQR0IgwgBiALaiIPIAQgBWoiFGoiB0gNACAMIAdBB2wiCUoNACAEQQR0IgQgB0gNACAEIAlKDQAgA0EEdCIEIAdBCWxIDQAgBCAHQQ9sSg0AIAtBBHQiBCAHSA0AIAQgCUoNACAGQQR0IgQgB0gNACAEIAlKDQAgFyAKIAIoAgBrIgYgBWtBAnQiByAWIBggAigCBGsgE2xBAnRqIgUgGUECdGogEEECdGpqKAIAIgRqIgstAABFDQAgBSAGIAMgD2ogFGoiBmtBAnRqKAIAIgMgBEYNACADIAUgB2ooAgBHDQAgASgCACIFIARBHGxqIgcoAgRB5ABsIAUgA0EcbGooAgRuQQprQTxLDQAgC0EBOgAAIA1BDGogBxAIIA1BADoAbCANIAM2AiAgDSAENgIcIA0gAzYCGCANIAayOAIUIA1BADoATCANQgA3AkQgDUIANwI8IA1CADcCNCANQgA3AiwgDUIANwIkAkAgDigCBCIDIA4oAghJBEAgAyANKQIMNwIAIAMgDSkCRDcCOCADIA0pAjw3AjAgAyANKQI0NwIoIAMgDSkCLDcCICADIA0pAiQ3AhggAyANKQIcNwIQIAMgDSkCFDcCCCADQQA6AGAgA0EAOgBAIA0tAGwEQCADQUBrIgQgDSkCTDcCACAEIA0pAmQ3AhggBCANKQJcNwIQIAQgDSkCVDcCCCADQQE6AGALIA4gA0HkAGo2AgQMAQsgDiANQQxqEHMLIA0tAGxFDQALIBhBAWoiGCAbSA0ACwsgFwRAIBcQBAsgDUHwAGokAAJAIBUoAngiECAVKAJ0IgRrIgNB5ABtIgVBAk0EQCAfQQA6AEggH0EAOgAADAELIBVBADYCcCAVQgA3AmggBUGpuL0UTw0DIBUgAxAFIgg2AmwgFSAINgJoIBUgAyAIajYCcAJ/IAggBCAQRg0AGgNAAkACfwJAIAEoAgAgBCgCECIPQRxsaiIDLwEMIhggAy8BCCIbTQ0AIAMvAQ4iBSADLwEKIgNrQQFqIgYgBWoiBSACKAIMQQFrIgcgBSAHSBsiEyADIAZrIgNBACADQQBKGyINTA0AIAEoAmQhFiABKAJgIQ4gASgCICIDKAIAIgUgAigCAGohGSAFIAMoAgQiGiACKAIEIhQgDWpsaiAUaiEiIAIoAgghHQNAIBkgG0H//wNxIgNqISAgDiADQQJ0Ih5qISEgAyAiai0AACEHIA0hDEEAIQpBACEXQQEhCUEAIQhBACEDQQAhC0EAIQUDQAJ/ICAgDEEBaiIMIBRqIBpsai0AACIGIAdB/wFxRwRAAkAgBkH/AUcNACAXQQVIDQAgCUEEdCIjIAUgCWoiJCADIAhqaiIHSA0AICMgB0EHbCISSg0AIAVBBHQiIyAHSA0AIBIgI0gNACALQQR0IiMgB0EJbEgNACAjIAdBD2xKDQAgA0EEdCIjIAdIDQAgEiAjSA0AIAcgCEEEdCIISg0AIAggEkoNACAhIAogJGsgDGogFmxBAnRqKAIAIA9HDQBBAQwGCyAXQQFqIRcgBiEHIAMhCCALIQMgBSELIAkhBUEBDAELIAchBiAJQQFqCyEJQQAgC2shCiAMIBNHDQALAkAgBkH/AXENACAJQQR0IgwgBSAJaiIJIAMgCGpqIgZIDQAgDCAGQQdsIgdKDQAgBUEEdCIFIAZIDQAgBSAHSg0AIAtBBHQiBSAGQQlsSA0AIAUgBkEPbEoNACADQQR0IgMgBkgNACADIAdKDQAgCEEEdCIDIAZIDQAgAyAHSg0AIA4gDiAdIBMgCSALamtsQQJ0aiAeaigCAEECdGooAgAgD0cNAEEBDAMLIBtBAWoiG0H//wNxIBhNDQALC0EAC0UNACAVKAJsIgMgFSgCcEkEQCADIAQpAgA3AgAgAyAEKQI4NwI4IAMgBCkCMDcCMCADIAQpAig3AiggAyAEKQIgNwIgIAMgBCkCGDcCGCADIAQpAhA3AhAgAyAEKQIINwIIIANBADoAYCADQQA6AEAgBC0AYARAIANBQGsiBSAEKQJANwIAIAUgBCkCWDcCGCAFIAQpAlA3AhAgBSAEKQJINwIIIANBAToAYAsgFSADQeQAajYCbAwBCyAVQegAaiAEEHMLIARB5ABqIgQgEEcNAAsgFSgCaCIEIBUoAmwiCEYEQCAIDAELA0AjAEHQAGsiDiQAIAQoAgwiEiAEKAIUIiJGBEAgASgCACASQRxsaiIPLwEOIRMgDy8BCiEJIAEoAmAhGSABKAJkIRsgBCoCACFpQX8hCyAEKgIEEAYhFCBpEAYhDUF/IQUCQCAJIBNLIh0NACAPLwEIIgwgDy8BDCIaTQRAIBogDGtBAWoiA0F+cSEgIANBAXEhHkF/IQYgCSEDA0AgGSADIBtsQQJ0aiEWQQAhCkGAgICAeCEYQf////8HIRcgGiAMIgdHBEADQCAHQQFqIhAgByAXIAcgF0gbIBcgFiAHQQJ0aigCACASRiIhGyIXIBAgF0gbIBcgFiAQQQJ0aigCACASRiIjGyEXIBggByAHIBhIGyAYICEbIhggECAQIBhIGyAYICMbIRggB0ECaiEHIApBAmoiCiAgRw0ACwsgHgRAIAcgFyAHIBdIGyAXIBYgB0ECdGooAgAgEkYiEBshFyAYIAcgByAYSBsgGCAQGyEYCyADIBRrIgcgB2wiByAYIA1rIhAgEGxqIhAgByAXIA1rIgogCmxqIgcgBiAGIAdIIgcbIgYgBiAQSSIQGyEGIBggFyAFIAcbIBAbIQUgAyADIAsgEBsgBxshCyADIBNGIU0gA0EBaiEDIE1FDQALDAELQYCAgIB4IA1rIgMgA2whECANQf////8HcyIDIANsIQpBfyEDIAkhBwNAIBAgByAUayIGIAZsIgZqIgwgBiAKaiIGIAMgAyAGSCIGGyIDIAMgDEkiDBshA0GAgICAeEH/////ByAFIAYbIAwbIQUgByAHIAsgDBsgBhshCyAHIBNHIU4gB0EBaiEHIE4NAAsLAkAgHQ0AQQAgBSANayIQIA1sIAsgFGsiFiAUbGoiA2shC0EAIBAgFGwgDUEAIBZrIhRsaiIFayEGIA8vAQgiDCAPLwEMIhpNBEAgGiAMa0EBaiIHQX5xIR0gB0EBcSEgA0AgGSAJIBtsQQJ0aiEPQf////8HIRhBgICAgHghF0EAIQogGiAMIgdHBEADQCAXIAcgByAXSBsgFyAPIAdBAnRqKAIAIBJGIh4bIhcgB0EBaiINIA0gF0gbIBcgDyANQQJ0aigCACASRiIhGyEXIA0gByAYIAcgGEgbIBggHhsiGCANIBhIGyAYICEbIRggB0ECaiEHIApBAmoiCiAdRw0ACwsgIARAIBcgByAHIBdIGyAXIA8gB0ECdGooAgAgEkYiDRshFyAHIBggByAYSBsgGCANGyEYCyAJIBBsIgogFCAYbGohByADIAkgFmwiDyAQIBhsaiINSARAIAQgCTYCHCAEIBg2AhggDSEDCyAFIAdIBEAgBCAJNgIkIAQgGDYCICAHIQULQQAgDWsiDSALSgRAIAQgCTYCLCAEIBg2AiggDSELC0EAIAdrIgcgBkoEQCAEIAk2AjQgBCAYNgIwIAchBgsgAyAQIBdsIA9qIgdIBEAgBCAJNgIcIAQgFzYCGCAHIQMLIBQgF2wgCmoiDSAFSgRAIAQgCTYCJCAEIBc2AiAgDSEFC0EAIAdrIgcgC0oEQCAEIAk2AiwgBCAXNgIoIAchCwtBACANayIHIAZKBEAgBCAJNgI0IAQgFzYCMCAHIQYLIAkgE0YhTyAJQQFqIQkgT0UNAAsMAQsgFEEfdCENIBBBH3QhCiAWQYGAgIB4bCEPIBBB/////wdsIRQDQCAPIAkgEGwiF2ohByADIBQgCSAWbCIYaiIMSARAIAQgCTYCHCAEQf////8HNgIYIAwhAwsgBSAHSARAIAQgCTYCJCAEQf////8HNgIgIAchBQtBACAMayIMIAtKBEAgBCAJNgIsIARB/////wc2AiggDCELC0EAIAdrIgcgBkoEQCAEIAk2AjQgBEH/////BzYCMCAHIQYLIAMgCiAYaiIHSARAIAQgCTYCHCAEQYCAgIB4NgIYIAchAwsgDSAXaiIMIAVKBEAgBCAJNgIkIARBgICAgHg2AiAgDCEFC0EAIAdrIgcgC0oEQCAEIAk2AiwgBEGAgICAeDYCKCAHIQsLQQAgDGsiByAGSgRAIAQgCTYCNCAEQYCAgIB4NgIwIAchBgsgCSATRiFQIAlBAWohCSBQRQ0ACwsgDiAEKQIYNwIwIA4gBCkCIDcCOCAOIAQpAig3AkAgDiAEKQIwNwJIIA5Ch4CAgPAANwIIIA4oAgwhFCAOKAIIIRcgDigCOCEDIA4oAjwhBSAOKAJMIQkgDigCQCEGIA4oAkghByAOKAJEIQsgDigCMCEMIA4gDigCNCINsjgCJCAOIAyyOAIYIA4gAyAJIAtrbCIYIAwgCyAJayIQbCIWIA0gByAGayIZbCIbIAUgBiAHa2wiCmpqarIgFyADIBBsIhogBiAJbCIPIAcgC2wiEGsiEyAFIBlsIhlqamyyIl6VOAIoIA4gDSAQIA9rIhcgGGpsIAUgEyAWamxqsiBelTgCHCAOIAMgEyAbamwgDCAKIBdqbGqyIF6VOAIQIA4gDCAFIAtrbCITIBAgDSAGIANrbGpqIAUgB2xrIAkgAyAGa2xqsiAUIA8gGmoiDyAZIBBramyyIl6VOAIsIA4gCSATIAMgC2wiFGogBSAGbCITa2wgDSAQIBRrIApqbGqyIF6VOAIgIA4gCyADIAdsIgNsIAUgBiAHbCIGbGsgDSAGIANrbGogDCATIA9rbGqyIF6VOAIUIAQgDikCEDcCQCAEIA4pAhg3AkggBCAOKQIgNwJQIAQgDikCKDcCWCAELQBgRQRAIARBAToAYAsLIA5B0ABqJAAgEiAiRgRAIwBBIGsiAyQAIARBADYCOCAELQBgBEAgBEFAayEOIAEoAiAhCyADQQA2AhggA0IANwMQQQIhCUEBIQwDQEH/AUEAIAxBAkYbIRIgDEECdCADaiENQQAhF0MAAGBAIAyzkyJfIV4DQCADIF84AgQgAyBeOAIAIANBCGogDiADEHUgAyoCCCACKQIAIm2nspIQBiEGIAMqAgwgbUIgiKeykhAGIQdBACEFAkAgBkEASA0AIAdBAEgNACAGIAsoAgQiEE4NACAHIAsoAghODQAgCygCACAHIBBsaiAGai0AACEFCyANIA0oAgwgEiAFQf8BcUZqIgU2AgwgXkMAAIA/kiFeIBdBAWoiFyAJRw0AC0EAIQYDQCADIF84AgQgAyBeOAIAIANBCGogDiADEHUgAyoCCCACKQIAIm2nspIQBiEQIAMqAgwgbUIgiKeykhAGIQpBACEHAkAgEEEASA0AIApBAEgNACAQIAsoAgQiD04NACAKIAsoAghODQAgCygCACAKIA9saiAQai0AACEHCyANIAUgByASRmoiBTYCDCBfQwAAgD+SIV8gBkEBaiIGIAlHDQALQQAhBgNAIAMgXzgCBCADIF44AgAgA0EIaiAOIAMQdSADKgIIIAIpAgAibaeykhAGIRAgAyoCDCBtQiCIp7KSEAYhCkEAIQcCQCAQQQBIDQAgCkEASA0AIBAgCygCBCIPTg0AIAogCygCCE4NACALKAIAIAogD2xqIBBqLQAAIQcLIA0gBSAHIBJGaiIFNgIMIF5DAACAv5IhXiAGQQFqIgYgCUcNAAtBACEGA0AgAyBfOAIEIAMgXjgCACADQQhqIA4gAxB1IAMqAgggAikCACJtp7KSEAYhECADKgIMIG1CIIinspIQBiEKQQAhBwJAIBBBAEgNACAKQQBIDQAgECALKAIEIg9ODQAgCiALKAIITg0AIAsoAgAgCiAPbGogEGotAAAhBwsgDSAFIAcgEkZqIgU2AgwgX0MAAIC/kiFfIAZBAWoiBiAJRw0ACyAJQQJqIQkgDEEBaiIMQQRHDQALIAMoAhQhBSADKAIQIQYgBCADKAIYIgc2AjwgBCAHIAUgBmpqNgI4CyADQSBqJAALIARB5ABqIgQgCEcNAAsgFSgCaCEIIBUoAmwLIQsCfyARBEAgCCALRgRAIBVBADYCZCAVQgA3AlxBACEEQQAMAgsDQCAIKgIEIV4gFSAIKgIAIAIpAgAibaeykjgCACAVIF4gbUIgiKeykjgCBCARIBUQKSACKAIAIQMgCCgCGCEEIBUgAigCBCAIKAIcarI4AgQgFSADIARqsjgCACARIBUQKSACKAIAIQMgCCgCICEEIBUgAigCBCAIKAIkarI4AgQgFSADIARqsjgCACARIBUQKSACKAIAIQMgCCgCKCEEIBUgAigCBCAIKAIsarI4AgQgFSADIARqsjgCACARIBUQKSACKAIAIQMgCCgCMCEEIBUgAigCBCAIKAI0arI4AgQgFSADIARqsjgCACARIBUQKSAIQeQAaiIIIAtHDQALIBUoAmghCCAVKAJsIQsLIBVBADYCZCAVQgA3AlxBACEEQQAgCCALRg0AGiALIAhrIgNB5ABtQam4vRRPDQQgFSADEAUiBDYCYCAVIAQ2AlwgFSADIARqNgJkA0ACQCAIKAI4QRBIDQAgFSgCYCIDIBUoAmRJBEAgAyAIKQIANwIAIAMgCCkCODcCOCADIAgpAjA3AjAgAyAIKQIoNwIoIAMgCCkCIDcCICADIAgpAhg3AhggAyAIKQIQNwIQIAMgCCkCCDcCCCADQQA6AGAgA0EAOgBAIAgtAGAEQCADQUBrIgQgCCkCQDcCACAEIAgpAlg3AhggBCAIKQJQNwIQIAQgCCkCSDcCCCADQQE6AGALIBUgA0HkAGo2AmAMAQsgFUHcAGogCBBzCyAIQeQAaiIIIAtHDQALIBUoAlwhBCAVKAJgCyEDIBUgAigCCLJDAAAAP5S8rUKBgICAEH43AwAgBCADIBVBPiADIARrQeQAbWdBAXRrQQAgAyAERxtBARD9AUEAIRgjAEHgAmsiCCQAIBUoAlwhEiAVKAJgIQogFUHQAGoiDEEANgIIIAxCADcCAAJAQQcgCiASa0HkAG0iAyADQQdPGyIQIgMgDCgCCCAMKAIAIglrQdQCbU0NAAJAAkAgA0HBgYMGSQRAIAwoAgQhBiADQdQCbCIDEAUiBCADaiERIAQgBiAJa2ohCyAGIAlGDQEgBiEDIAshBANAIARB1AJrIgUgA0HUAmsiBykCADcCACAFIAcpAjg3AjggBSAHKQIwNwIwIAUgBykCKDcCKCAFIAcpAiA3AiAgBSAHKQIYNwIYIAUgBykCEDcCECAFIAcpAgg3AgggBEH0AWsiD0EAOgAAIARBlAJrIg1BADoAACADQfQBay0AAARAIA0gA0GUAmsiDikCADcCACANIA4pAhg3AhggDSAOKQIQNwIQIA0gDikCCDcCCCAPQQE6AAALIARB8AFrIg0gA0HwAWsiDikCADcCACANIA4pAjg3AjggDSAOKQIwNwIwIA0gDikCKDcCKCANIA4pAiA3AiAgDSAOKQIYNwIYIA0gDikCEDcCECANIA4pAgg3AgggBEGQAWsiD0EAOgAAIARBsAFrIg1BADoAACADQZABay0AAARAIA0gA0GwAWsiDikCADcCACANIA4pAhg3AhggDSAOKQIQNwIQIA0gDikCCDcCCCAPQQE6AAALIARBjAFrIg0gA0GMAWsiDikCADcCACANIA4pAjg3AjggDSAOKQIwNwIwIA0gDikCKDcCKCANIA4pAiA3AiAgDSAOKQIYNwIYIA0gDikCEDcCECANIA4pAgg3AgggBEEsayIPQQA6AAAgBEHMAGsiDUEAOgAAIANBLGstAAAEQCANIANBzABrIg4pAgA3AgAgDSAOKQIYNwIYIA0gDikCEDcCECANIA4pAgg3AgggD0EBOgAACyAEQShrIgQgA0EoayIDKQIANwIAIAQgAykAHTcAHSAEIAMpAhg3AhggBCADKQIQNwIQIAQgAykCCDcCCCAFIQQgByIDIAlHDQALIAwgETYCCCAMIAs2AgQgDCAENgIAIAYgCUYNAgNAIAZBLGstAAAaIAZBkAFrLQAAGiAGQfQBay0AABogBkHUAmsiBiAJRw0ACwwCCwwGCyAMIBE2AgggDCALNgIEIAwgCzYCAAsgCUUNACAJEAQLAkAgCiASRg0AIBBBA3QiAxAFIgsgA2ohEiADEAUiByADaiEWQQEgECAQQQFNGyEKA0ACQAJAAkAgFSgCXCAYQeQAbGoiDigCPEEQSA0AIA4tAGBFDQAgDkFAayENQQAhBiALIQMgByEEA0ACQCAGIBhGDQAgCCANKgIIIl8gDSoCDCJglCANKgIUImQgDSoCGCJhlCBgkyAGQeQAbCIFIBUoAlxqIgkqAgAiZZQgDSoCACJmIAkqAgQiXiBkkyJolCBeIGEgX5SUk5KSQ3fMKzIgZiANKgIQImKUIGAgDSoCHCJjlCBhIGKUkyBllCBeIA0qAgQiZyBhlJQgYyBmlCBelJOSkiBnIGCUkyJgIGBDAAAAAFsbImCVOAIMIAggXyBilCBlIGQgY5QgYpOUIGcgaJQgXiBjIF+UlJOSkowgYJU4AggCQCAIKgIIQwAAYMCSiyJeIAgqAgxDAABgwJKLIl9DAACAPpRdBEAgFSgCYCAVKAJcIglrQeQAbSAGTQ0MIAUgCWohESALIBJJBEAgCyBfOAIEIAsgETYCACALQQhqIQsMAwsgCyADa0EDdSIPQQFqIgVBgICAgAJPDQxB/////wEgEiADayIJQQJ1IhIgBSAFIBJJGyAJQfj///8HTxsiCQR/IAlBgICAgAJPDQ4gCUEDdBAFBUEACyISIA9BA3RqIgUgXzgCBCAFIBE2AgAgCUEDdCASaiESIAVBCGohCSADIAtHBEADQCAFQQhrIgUgC0EIayILKQIANwIAIAMgC0cNAAsgAyELCyALRQ0BIAsQBAwBCyBfIF5DAACAPpRdRQ0BIBUoAmAgFSgCXCIJa0HkAG0gBk0NCyAFIAlqIQUgByAWSQRAIAcgXjgCBCAHIAU2AgAgB0EIaiEHDAILIAcgBGtBA3UiD0EBaiIJQYCAgIACTw0LQf////8BIBYgBGsiEUECdSITIAkgCSATSRsgEUH4////B08bIhEEfyARQYCAgIACTw0NIBFBA3QQBQVBAAsiEyAPQQN0aiIJIF44AgQgCSAFNgIAIAkhBSARQQN0IBNqIRYgBCAHRwRAA0AgBUEIayIFIAdBCGsiBykCADcCACAEIAdHDQALIAQhBwsgBwRAIAcQBAsgBSEEIAlBCGohBwwBCyAFIQMgCSELCyAKIAZBAWoiBkcNAAsMAQtBACEDIDEtAABFDQEDQCADIgRBAWohAwJAIAQgGEYNACAEIBBPDQAgECADIgZGDQADQAJAIAYgGEYNACAEIAZGDQAgCEEIaiAOIBUoAlwiBSAEQeQAbGogBSAGQeQAbGoQ/AEgCC0A3AJFDQACQCAMKAIEIgUgDCgCCEkEQCAFIAgpAgg3AgAgBSAIQUBrKQIANwI4IAUgCCkCODcCMCAFIAgpAjA3AiggBSAIKQIoNwIgIAUgCCkCIDcCGCAFIAgpAhg3AhAgBSAIKQIQNwIIIAVBADoAYCAFQQA6AEAgCC0AaARAIAVBQGsiCSAIKQJINwIAIAkgCCkCYDcCGCAJIAgpAlg3AhAgCSAIKQJQNwIIIAVBAToAYAsgBSAIKQJsNwJkIAUgCCkCpAE3ApwBIAUgCCkCnAE3ApQBIAUgCCkClAE3AowBIAUgCCkCjAE3AoQBIAUgCCkChAE3AnwgBSAIKQJ8NwJ0IAUgCCkCdDcCbCAFQQA6AMQBIAVBADoApAEgCC0AzAEEQCAFIAgpAqwBNwKkASAFIAgpAsQBNwK8ASAFIAgpArwBNwK0ASAFIAgpArQBNwKsASAFQQE6AMQBCyAFIAgpAtABNwLIASAFIAgpAogCNwKAAiAFIAgpAoACNwL4ASAFIAgpAvgBNwLwASAFIAgpAvABNwLoASAFIAgpAugBNwLgASAFIAgpAuABNwLYASAFIAgpAtgBNwLQASAFQQA6AKgCIAVBADoAiAIgCC0AsAIEQCAFIAgpApACNwKIAiAFIAgpAqgCNwKgAiAFIAgpAqACNwKYAiAFIAgpApgCNwKQAiAFQQE6AKgCCyAFIAgpArQCNwKsAiAFIAgpANECNwDJAiAFIAgpAswCNwLEAiAFIAgpAsQCNwK8AiAFIAgpArwCNwK0AiAMIAVB1AJqNgIEDAELIAwgCEEIahD7AQsgCC0A3AJFDQAgCC0AsAIaIAgtAMwBGiAILQBoRQ0ACyAGQQFqIgYgEEcNAAsLIAMgCkcNAAsMAQsCQCADIAtGDQAgAyEFIAQgB0YNAANAIAQhBgNAIAhBCGogDiAFKAIAIAYoAgAQ/AECQCAILQDcAkUNAAJAIAwoAgQiCSAMKAIISQRAIAkgCCkCCDcCACAJIAhBQGspAgA3AjggCSAIKQI4NwIwIAkgCCkCMDcCKCAJIAgpAig3AiAgCSAIKQIgNwIYIAkgCCkCGDcCECAJIAgpAhA3AgggCUEAOgBgIAlBADoAQCAILQBoBEAgCUFAayINIAgpAkg3AgAgDSAIKQJgNwIYIA0gCCkCWDcCECANIAgpAlA3AgggCUEBOgBgCyAJIAgpAmw3AmQgCSAIKQKkATcCnAEgCSAIKQKcATcClAEgCSAIKQKUATcCjAEgCSAIKQKMATcChAEgCSAIKQKEATcCfCAJIAgpAnw3AnQgCSAIKQJ0NwJsIAlBADoAxAEgCUEAOgCkASAILQDMAQRAIAkgCCkCrAE3AqQBIAkgCCkCxAE3ArwBIAkgCCkCvAE3ArQBIAkgCCkCtAE3AqwBIAlBAToAxAELIAkgCCkC0AE3AsgBIAkgCCkCiAI3AoACIAkgCCkCgAI3AvgBIAkgCCkC+AE3AvABIAkgCCkC8AE3AugBIAkgCCkC6AE3AuABIAkgCCkC4AE3AtgBIAkgCCkC2AE3AtABIAlBADoAqAIgCUEAOgCIAiAILQCwAgRAIAkgCCkCkAI3AogCIAkgCCkCqAI3AqACIAkgCCkCoAI3ApgCIAkgCCkCmAI3ApACIAlBAToAqAILIAkgCCkCtAI3AqwCIAkgCCkA0QI3AMkCIAkgCCkCzAI3AsQCIAkgCCkCxAI3ArwCIAkgCCkCvAI3ArQCIAwgCUHUAmo2AgQMAQsgDCAIQQhqEPsBCyAILQDcAkUNACAILQCwAhogCC0AzAEaIAgtAGhFDQALIAZBCGoiBiAHRw0ACyAFQQhqIgUgC0cNAAsLIAQhByADIQsLIBhBAWoiGCAKRw0ACyAHBEAgBxAECyALRQ0AIAsQBAsgCEHgAmokAAJAIBUoAlAiCCAVKAJUIj5HBEADQCAIIg4gCEHkAGoQoAEgCCAIEKABIAggCEHIAWoQoAEgCAJ9AkAgCCgCoAFBEEgNACAIKAI8QRBIDQAgCCgCmAEiAyAIKAIcIgRrIgUgBWwgCCgClAEiBSAIKAIYIgZrIgcgB2xquJ+2IWogCEN3zCsyIAQgCCgCNGsiBCAEbCAGIAgoAjBrIgQgBGxquJ+2QwAAgD+SIAgoAoABIANrIgMgA2wgCCgCfCAFayIDIANsariftkMAAIA/kpJDAABgQZUiXyBfQwAAAABbGyJfOAK4AiBqQwAAgD+SIF+VQwAAYEGSDAELIA4gDioCbCAOKgIIkkMAAAA/lEMAAOBAlTgCuAIgDioCACAOKgJkkyJeIF6UIA4qAgQgDioCaJMiXiBelJKRIA4qArgClUMAAOBAkgs4AsQCAkACQCAOKAKgAUEQSA0AIA4oAoQCQRBIDQAgDigC5AEiAyAOKAKIASIEayIFIAVsIA4oAuABIgUgDigChAEiBmsiByAHbGq4n7YhXiAOQ3fMKzIgBCAOKAKAAWsiBCAEbCAGIA4oAnxrIgQgBGxquJ+2QwAAgD+SIA4oAuwBIANrIgMgA2wgDigC6AEgBWsiAyADbGq4n7ZDAACAP5KSQwAAYEGVIl8gX0MAAAAAWxsiXzgCvAIgDiBeQwAAgD+SIF+VQwAAYEGSOALAAgwBCyAOIA4qAmwgDioC0AGSQwAAAD+UQwAA4ECVOAK8AiAOIA4qAsgBIA4qAmSTIl4gXpQgDioCzAEgDioCaJMiXiBelJKRIA4qArwClUMAAOBAkjgCwAILQQAhG0EAIRgjAEHwAmsiEyQAIAEoAiAhNyATQgA3A+gBIBNCADcD4AEgEyAOKgLEAjgC2AEgEyAOKgLAAjgC3AEgE0HwAWohPwJAA0AgEyATQdgBaiAbaioCAEMAAIjBkkMAAIA+lCJeEAYiAzYC0AEgEyADQX9BASADsiBekyJeQwAAAABeG2pBACBei0MpXI8+Xhs2AtQBQQAhFwNAAkAgE0HQAWogF2ooAgAiBUUNACATQeABaiIEIAVBBBA6IQMgBUEpa0FYSQ0AIANBAEcgAyA/R3ENACAYQQJ0IARqIAU2AgAgE0H4AGohBCAxLQAAIQcjAEGwAWsiAyQAIAVBAnRBEWqyIl8hXgJAAkAgDi0AtAINACABKAIgIQYCQAJAAkACQCAOKAKgAUEQSA0AIA4oAjxBEEgNACAOKAKEAkEQSA0AIA4pAnwhbSADIAIpAgAibqeyIl4gDikC6AEib6eykjgCqAEgAyBuQiCIp7IiYCBvQiCIp7KSOAKsASADIF4gDikC8AEibqeykjgCoAEgAyBgIG5CIIinspI4AqQBIAMgXiAOKQIwIm6nspI4ApgBIAMgYCBuQiCIp7KSOAKcASADIF4gDikCKCJup7KSOAKQASADIGAgbkIgiKeykjgClAEgA0FAayADQZgBaiADQZABaiADQagBaiADQaABahCnAQJAIAMtAEhFDQAgAyoCQCJhEAYhByADKgJEImIQBiELIAdBAEgNACALQQBIDQAgBigCBCAHTA0AIAYoAgggC0wNACBhIAIpAgAibqeykyFhIA4tALQCRQRAIA5BAToAtAILIA4gYiBuQiCIp7KTOAKwAiAOIGE4AqwCIAMgAykDQDcDiAEgAyBtQiCIp7IgYJIiYSADKgKcAZMiYCBtp7IgXpIiYiADKgKYAZMiXiBelCBgIGCUkpEiYJU4AgQgAyBeIGCVOAIAIAYgDioCuAIgAyADQZgBaiIHIANBiAFqIgsQ+gEgAy0ASEUNBCADIAMpA0A3A4ABIAMgYSADKgKsAZMiXiBiIAMqAqgBkyJgIGCUIF4gXpSSkSJelTgCBCADIGAgXpU4AgAgBiAOKgK8AiADIANBqAFqIgYgA0GAAWoiCRD6ASADIAcgCyAGIAkQpwEgDi0AtAIhBiADLQAIRQ0CIAMqAgAgAikCACJtp7KTIV4gAyoCBCBtQiCIp7KTIWAgBkUEQCAOQQE6ALQCCyAOIGA4ArACIA4gXjgCrAIgXyFeDAULIARBADoAUCAEQQA6AAAMBQsgB0UNASAOKgJoIV4gDioCzAEhYCAOKgIEIWsgDioCyAEgDioCZJMgDioCAJIiYiACKQIAIm2nspIQBiEHIGsgYCBek5IiXiBtQiCIp7KSEAYhCwJAIAdBAEgNACALQQBIDQAgBigCBCAHTA0AIAYoAgggC0wNACAOIF44ArACIA4gYjgCrAIgDkEBOgC0AiBfQwAAYMCSIV4MBAsgBEEAOgBQIARBADoAAAwECyBfIV4gBg0CCyAEQQA6AFAgBEEAOgAADAILDA0LIA4qAgAhYCAOKgIEIWEgDioCZCFiIA4qAmghYyAOKgLIASFkIA4qAswBIWUgDioCrAIhZiADIA4qArACuzkDeCADIGa7OQNwIAMgZbs5A2ggAyBkuzkDYCADIGO7OQNYIAMgYrs5A1AgAyBhuzkDSCADIGC7OQNAIAMgXrsicTkDOCADIHE5AzAgA0KAgICAgICAhsAANwMoIAMgX0MAAGDAkrsicTkDICADQoCAgICAgICGwAA3AxggA0KAgICAgICAhsAANwMQIAMgcTkDCCADQoCAgICAgICGwAA3AwAgBCADIANBQGsQdEEBOgBQCyADQbABaiQAIBhBAWohGCATLQDIAUUNACAFQQJ0QRFqISIgBUEBRwRAIBNB7ABqIQYjAEHQAGsiAyQAAkACQCAOKAI8QRBIDQAgDigChAJBEEgNACADIA4pAhgibaeyOAIoIAMgbUIgiKeyOAIsIAMgDikCICJtp7I4AkggAyBtQiCIp7I4AkwgAyAOKQLgASJtp7I4AkAgAyBtQiCIp7I4AkQgAyAOKQL4ASJtp7I4AjggAyBtQiCIp7I4AjwgBiADQShqIANByABqIANBQGsgA0E4ahCnAQwBCyADICKyQwAA4MCSuyJxOQMgIAMgAykDIDcDECADIHE5AxggAyADKQMYNwMIIANBKGogBCADQQhqEF4gAysDKCFxIAMrAzAhciAGQQE6AAggBiBytjgCBCAGIHG2OAIACyADQdAAaiQAAkAgEy0AdEUNACATKgJsEAYhAyATKgJwEAYhBCADQQBIDQIgBEEASA0CIDcoAgQgA0wNAiA3KAIIIARMDQJBACEEQQAhEiMAQTBrIgUkACABKAJgIQ0gASkCZCFtIAVCgICAgBA3AiggBUL/////DzcCICAFQoCAgIBwNwIYIAVCATcCEAJ+AkAgDioCvAIiXyAOKgK4AiJhIF8gYV4bQwAAIEGUEAYiA0ECTgRAQcgBIAMgA0HIAU4bIQogXyAOKgLMASAOKgJoImKTIl4gDioCyAEgDioCZCJjkyJgIGCUIF4gXpSSkSJklZQhXiBfIGAgZJWUIV8gYSAOKgIEIGKTImAgDioCACBjkyJiIGKUIGAgYJSSkSJjlZQhYCBhIGIgY5WUIWEgASgCACIDIA4oAtgBQRxsaigCBCADIA4oAnRBHGxqKAIEaiADIA4oAhBBHGxqKAIEarNDAABAQJVDAAAQQZUiYkPNzMw/lCFjIGJDzcxMPpQhYiBtQiCIpyERIG2nIQcgBioCBCFsIAYqAgAQBiEJIGwQBiEMQQEhCANAIAhBAEoEQCAFQRBqIBJBA3RqIQtBACEQA0ACQAJAIAlBAEgNACAHIAlMDQAgDEEASA0AIAwgEUgNAQsgBikCAAwGCwJAIA0gByAMbEECdGogCUECdGooAgAiA0UNACADIARGDQACQCBiIAEoAgAgA0EcbGoiBCgCBLMiZF1FDQAgYyBkXkUNACAFQQhqIAQQCCAFIF4gBSoCDJI4AgQgBSBfIAUqAgiSOAIAIAEgBRBEIQQgBSAFKgIMIF6TOAIEIAUgBSoCCCBfkzgCACABIAUQRCEPIAUgYCAFKgIMkjgCBCAFIGEgBSoCCJI4AgAgASAFEEQhFCAFIAUqAgwgYJM4AgQgBSAFKgIIIGGTOAIAIAEgBRBEIRYgBSBgIF4gBSoCDJKSOAIEIAUgYSBfIAUqAgiSkjgCACABIAUQRCEZIAUgXiAFKgIMkiBgkzgCBCAFIF8gBSoCCJIgYZM4AgAgASAFEEQhGiAFIGAgBSoCDCBek5I4AgQgBSBhIAUqAgggX5OSOAIAIAEgBRBEIR0gBSAFKgIMIF6TIGCTOAIEIAUgBSoCCCBfkyBhkzgCACABIAUQREUgHUUgGkUgGUUgFkUgFEUgD0UgBEVqampqampqQQVLDQYLIAMhBAsgCygCBCAMaiEMIAsoAgAgCWohCSAQQQFqIhAgCEcNAAsLIBJBAWpBBG8iEkF/c0EBcSAIaiIIIApIDQALCyAGKQIADAELIAUpAwgLIW0gE0EBOgBoIBMgbTcCYCAFQTBqJAAgEy0AaEUNACAOIBMpAmA3AsgCIA4gEy0AaDoA0AIgEwJ/IA4tANACRQRAIBNBADoACEEADAELIA4qAgAhXiAOKgIEIV8gDioCZCFgIA4qAmghYSAOKgLIASFiIA4qAswBIWMgDioCyAIhZCATIA4qAswCuzkD6AIgEyBkuzkD4AIgEyBjuzkD2AIgEyBiuzkD0AIgEyBhuzkDyAIgEyBguzkDwAIgEyBfuzkDuAIgEyBeuzkDsAIgEyAisyJeQwAA0MCSuyJxOQOoAiATIHE5A6ACIBNCgICAgICAgIbAADcDmAIgEyBeQwAAYMCSuyJxOQOQAiATQoCAgICAgICGwAA3A4gCIBNCgICAgICAgIbAADcDgAIgEyBxOQP4ASATQoCAgICAgICGwAA3A/ABIBNBCGogE0HwAWogE0GwAmoQdBpBAQs6AFggE0H4AGogE0EIakHRABAHGgsgEy0AyAFFDQwLQQAhBUEAIQQjAEGwH2siAyQAIAEoAiAhBiADQTxqQQBB9B4QCRogAyAiNgJcICJBAEoEQCATQfgAaiEIIANB4ABqIQwDQCAEs0MAAAA/krshcUEAIQkDQCADIHE5AyAgAyADKQMgNwMQIAMgCbNDAAAAP5K7OQMYIAMgAykDGDcDCCADQShqIAggA0EIahBeIAMrAyi2IAIpAgAibaeykhAGIQcgAysDMLYgbUIgiKeykhAGIQsCQAJAIAdBAEgNACALQQBIDQAgByAGKAIEIg1ODQAgCyAGKAIITg0AIAYoAgAgCyANbGogB2otAABB/wFGDQELIAwgBUEDdWoiByAHLQAAQQEgBUEHcXRyOgAACyAFQQFqIQUgCUEBaiIJICJHDQALIARBAWoiBCAiRw0ACwsgFSABIAIgDiADQTxqEPkBIANBsB9qJAAgFS0ASA0DIDEtAAFFDQBBACELAkACQCABKAJAQQVwDQAjAEHQAGsiGiQAAkACQAJAIA4oAjxBEEgNACAOKAKgAUEQSA0AIA4oAoQCQRBIDQAgDi0AtAINAQsgE0EAOgDgAiATQQA6ALACDAELIA4pAgAhbSAOKQJkIW4gDikCyAEhbyAOKQKsAiFwIA4oAhghBCAOKAIcIQUgDigCICEGIA4oAiQhByAOKAIoIQggDigCLCEMIA4oAjAhDSAOKAI0IRIgDigCfCEQIA4oAoABIQogDigChAEhESAOKAKIASEPIA4oAowBIRQgDigCkAEhFiAOKAKUASEZIA4oApgBIR0gDigC4AEhICAOKALkASEeIA4oAugBISEgDigC7AEhIyAOKALwASEkIA4oAvQBISUgDigC+AEhKCAOKAL8ASEmIBpBgAEQBSIDNgJEIBogA0GAAWoiCTYCTCADICayOAJ8IAMgKLI4AnggAyAlsjgCdCADICSyOAJwIAMgI7I4AmwgAyAhsjgCaCADIB6yOAJkIAMgILI4AmAgAyAdsjgCXCADIBmyOAJYIAMgFrI4AlQgAyAUsjgCUCADIA+yOAJMIAMgEbI4AkggAyAKsjgCRCADIBCyOAJAIAMgErI4AjwgAyANsjgCOCADIAyyOAI0IAMgCLI4AjAgAyAHsjgCLCADIAayOAIoIAMgBbI4AiQgAyAEsjgCICADIHA3AhggAyBvNwIQIAMgbjcCCCADIG03AgAgGiAJNgJIIBpBgAEQBSIENgI4IBogBEGAAWoiBTYCQCAEQYCAgIcENgJ8IAQgIrIiXkMAAODAkiJfOAJ4IARBgICAhwQ2AnQgBCBeOAJwIARBADYCbCAEIF44AmggBEEANgJkIAQgXzgCYCAEQoCAgICAgIDwwAA3AlggBEKAgICHhICA8MAANwJQIARCgICAhwQ3AkggBEIANwJAIAQgXjgCPCAEQQA2AjggBCBeOAI0IARBgICAhwQ2AjAgBCBfOAIsIARBgICAhwQ2AiggBCBfOAIkIARBADYCICAEIF44AhwgBCBeOAIYIARBgICAgwQ2AhQgBCBeQwAAYMCSIl84AhAgBEKAgICDhICAsMAANwIIIAQgXzgCBCAEQYCAgIMENgIAIBogBTYCPAJAIA4tANACRQ0AAkAgGigCTCIFIAlLBEAgAyAOKQLIAjcCgAEgGiADQYgBajYCSAwBCyAJIBooAkQiA2tBA3UiBkEBaiIEQYCAgIACTw0PQf////8BIAUgA2siBUECdSIHIAQgBCAHSRsgBUH4////B08bIgQEfyAEQYCAgIACTw0RIARBA3QQBQVBAAsiBSAGQQN0aiIHIA4pAsgCNwIAIAUgBEEDdGohBCAHQQhqIQUCQCADIAlHBEADQCAHQQhrIgcgCUEIayIJKQIANwIAIAMgCUcNAAsgGiAENgJMIBogBTYCSCAaKAJEIQkgGiAHNgJEIAlFDQIMAQsgGiAENgJMIBogBTYCSCAaIAc2AkQLIAkQBAsgXkMAANDAkiFeIBooAjwiBCAaKAJAIgZJBEAgBCBeOAIEIAQgXjgCACAaIARBCGo2AjwMAQsgBCAaKAI4IgNrQQN1IgdBAWoiBUGAgICAAk8NDkH/////ASAGIANrIgZBAnUiCSAFIAUgCUkbIAZB+P///wdPGyIFBH8gBUGAgICAAk8NECAFQQN0EAUFQQALIgYgB0EDdGoiByBeOAIEIAcgXjgCACAHQQhqIQkgAyAERwRAA0AgB0EIayIHIARBCGsiBCkCADcCACADIARHDQALIBooAjghBAsgGiAGIAVBA3RqNgJAIBogCTYCPCAaIAc2AjggBEUNACAEEAQLAn9BACEMQQAhByAaQQhqIhJCADcCACASQgA3AhAgEkIANwIIIBooAkgiBCAaKAJEIgVrIgNBA3UhBgJ/QQAgBCAFRg0AGkEAIANBAEwNABpBACADEA8iBw0AGkF/EAUaQQAhByASKAIACyFRIBIgBjYCBCASIAc2AgAgURAEIBooAjwiBCAaKAI4IgVrIgNBA3UhBgJAIAQgBUYNACADQQBMDQAgAxAPIgwNAEF/EAUaQQAhDAsgEiAGNgIMIBIoAgghUiASIAw2AgggUhAEAkAgGigCSCIEIBooAkQiA0YNAEEBIAQgA2tBA3UiBSAFQQFNGyIHQQFxIVMgEigCBCEGIBIoAgAhBEEAIQkgBUECTwRAIAdBfnEhBUEAIQwDQCADIAlBA3RqIgcqAgQhXiAEIAlBAnRqIg0gByoCADgCACANIAZBAnQiB2ogXjgCACADIAlBAXIiDUEDdGoiECoCBCFeIAQgDUECdGoiDSAQKgIAOAIAIAcgDWogXjgCACAJQQJqIQkgDEECaiIMIAVHDQALCyBTRQ0AIAMgCUEDdGoiAyoCBCFeIAQgCUECdGoiBCADKgIAOAIAIAQgBkECdGogXjgCAAsCQCAaKAI8IgQgGigCOCIDRg0AQQEgBCADa0EDdSIFIAVBAU0bIgdBAXEhVCASKAIMIQYgEigCCCEEQQAhCSAFQQJPBEAgB0F+cSEFQQAhDANAIAMgCUEDdGoiByoCBCFeIAQgCUECdGoiDSAHKgIAOAIAIA0gBkECdCIHaiBeOAIAIAMgCUEBciINQQN0aiIQKgIEIV4gBCANQQJ0aiINIBAqAgA4AgAgByANaiBeOAIAIAlBAmohCSAMQQJqIgwgBUcNAAsLIFRFDQAgAyAJQQN0aiIDKgIEIV4gBCAJQQJ0aiIEIAMqAgA4AgAgBCAGQQJ0aiBeOAIAC0EAIQgjAEHgAGsiDyQAIBIoAgQiGUECSiAZIBIoAgxGcSJABEAgGUH/////ByAZbksEQEF/EAUaCyAZIBlsIg1BgICAgARPBEBBfxAFGgsgDUECdCIFEA8hLAJAIAVFDQAgLA0AQX8QBRoLIBlB/v///wdxIRAgGUEBcSEKIBlBAWshByASKAIMIREgEigCCCEGA0AgBiAIQQJ0IgNqIgQgEUECdCIJaioCACFeIAMgLGohDCAEKgIAIV9BACEEQQAhAyAHBEADQCAMIAQgGWxBAnRqIAYgBEECdGoiFCoCACBfkyJgIGCUIAkgFGoqAgAgXpMiYCBglJI4AgAgDCAEQQFyIhQgGWxBAnRqIAYgFEECdGoiFCoCACBfkyJgIGCUIAkgFGoqAgAgXpMiYCBglJI4AgAgBEECaiEEIANBAmoiAyAQRw0ACwsgCgRAIAwgBCAZbEECdGogBiAEQQJ0aiIDKgIAIF+TIl8gX5QgAyAJaioCACBekyJeIF6UkjgCAAsgCEEBaiIIIBlHDQALIBlBq9Wq1QJOBEBBfxAFGgsgGUEDbCIEQYCAgIAETwRAQX8QBRoLIBlBDGwiAxAPIQoCQCADRQ0AIAoNAEF/EAUaCyAKIQMDQCADQYCAgPwDNgIAIANBBGohAyAEQQFLIVUgBEEBayEEIFUNAAsgGUEBdCEIQQEgGSAZQQFMGyIGQQFxIVYgEigCDCEMIBIoAgghCQJAIAZBAWsiFkUEQEEAIQQMAQsgBkH+////B3EhHUEAIQRBACEDA0AgCSAEQQJ0IhBqIhEgDEECdCIgaioCACFeIBEqAgAhXyAKIBBqIhFBgICA/AM2AgAgESAZQQJ0Ih5qIF84AgAgESAIQQJ0IiFqIF44AgAgICAJIBBBBHIiEGoiEWoqAgAhXiARKgIAIV8gCiAQaiIQQYCAgPwDNgIAIBAgHmogXzgCACAQICFqIF44AgAgBEECaiEEIANBAmoiAyAdRw0ACwsgVgRAIAkgBEECdCIDaiIEIAxBAnRqKgIAIV4gBCoCACFfIAMgCmoiA0GAgID8AzYCACADIBlBAnRqIF84AgAgAyAIQQJ0aiBeOAIACyANQYCAgIAETwRAQX8QBRoLIAUQDyEDAkAgBUUNACADDQBBfxAFGgsgAyAsIAUQByEoQQEgGSAZQQFMGyEJIAZB/v///wdxIQwgBkEBcSEGQQAhAwNAICggA0ECdGohBUEAIQRBACEIIBYEQANAQwAAAAAhX0MAAAAAIV4gBSAEIBlsQQJ0aiINKgIAImBDAAAAAFwEQCBgIGAQcZQhXgsgDSBeOAIAIAUgBEEBciAZbEECdGoiDSoCACJeQwAAAABcBEAgXiBeEHGUIV8LIA0gXzgCACAEQQJqIQQgCEECaiIIIAxHDQALCyAGBEBDAAAAACFfIAUgBCAZbEECdGoiBCoCACJeQwAAAABcBEAgXiBeEHGUIV8LIAQgXzgCAAsgA0EBaiIDIAlHDQALQf////8HIBlBA2oiA24gA0gEQEF/EAUaCyADIANsIgRBgICAgARPBEBBfxAFGgsgBEECdCIGEA8hBQJAIAZFDQAgBQ0AQX8QBRoLIA8gAzYCWCAPIAM2AlQgDyAFNgJQQQAhBCAFQQAgBhAJIQkgGUECdCEGIANBAnQhDSAHBEAgGUH+////B3EhCEEAIQUDQCAJIAQgDWxqICggBCAGbGogBhAHGiAJIA0gBEEBciIMbGogKCAGIAxsaiAGEAcaIARBAmohBCAFQQJqIgUgCEcNAAsLIBlBAXEEQCAJIAQgDWxqICggBCAGbGogBhAHGgsgCSADIA8oAlhB/f///wNqbEECdGogCiAGEAciBCANaiAGIApqIAYQBxogBCADQQN0aiAKIBlBA3RqIAYQBxogGUEBcSFXIBlBAXQhBiAJIANBAnRqQQxrIQUCQCAHRQRAQQAhBAwBCyAZQf7///8HcSERQQAhBEEAIQgDQCAFIAMgBGxBAnRqIgkgCiAEQQJ0aiIMKgIAOAIAIAkgDCAZQQJ0IhRqKgIAOAIEIAkgDCAGQQJ0IhZqKgIAOAIIIAUgBEEBciIMIANsQQJ0aiIJIAogDEECdGoiDCoCADgCACAJIAwgFGoqAgA4AgQgCSAMIBZqKgIAOAIIIARBAmohBCAIQQJqIgggEUcNAAsLIFcEQCAFIAMgBGxBAnRqIgUgCiAEQQJ0aiIEKgIAOAIAIAUgBCAZQQJ0aioCADgCBCAFIAQgBkECdGoqAgA4AggLAkACQCAZQf3///8DTgRAQX8QBRoMAQsgGUH9////AUkNAQtBfxAFGgsgA0EDdCIEEA8hBQJAIARFDQAgBQ0AQX8QBRoLIA9BAjYCTCAPIAM2AkggDyAFNgJEIBIoAgAhBkEAIQhBACEEIAdBA08EQCAZQfz///8HcSEQQQAhDANAIAUgBEECdCIJaiAGIAlqKgIAOAIAIAUgCUEEciIRaiAGIBFqKgIAOAIAIAUgCUEIciIRaiAGIBFqKgIAOAIAIAUgCUEMciIJaiAGIAlqKgIAOAIAIARBBGohBCAMQQRqIgwgEEcNAAsLIBIoAgQhCSAZQQNxIgwEQANAIAUgBEECdCIQaiAGIBBqKgIAOAIAIARBAWohBCAIQQFqIgggDEcNAAsLIAYgCUECdGohBiAFIANBAnRqIQNBACEIQQAhBCAHQQNPBEAgGUH8////B3EhCUEAIQwDQCADIARBAnQiB2ogBiAHaioCADgCACADIAdBBHIiEGogBiAQaioCADgCACADIAdBCHIiEGogBiAQaioCADgCACADIAdBDHIiB2ogBiAHaioCADgCACAEQQRqIQQgDEEEaiIMIAlHDQALCyAZQQNxIgcEQANAIAMgBEECdCIJaiAGIAlqKgIAOAIAIARBAWohBCAIQQFqIgggB0cNAAsLIAUgGUECdCJBaiIDQgA3AgAgA0EANgIIIAMgDWoiA0EANgIIIANCADcCAEEAIQUjAEEQayIQJAAgDygCWCEDIA8oAlQhBCAPQRRqIhFBADYCCCAPQgA3AhQCf0EAIARFDQAaQQAgA0UNABpBAEH/////ByADbSAETg0AGkF/EAUaIA8oAhwhBSAPKAIYCyEHIAMgBGwiBiAFIAdsRwRAIA8oAhQQBEEAIQgCQCAGQQBMDQAgBkGAgICABE8EQEF/EAUaCyAGQQJ0IgUQDyEIIAVFDQAgCA0AQX8QBRpBACEICyAPIAg2AhQLIA8gAzYCHCAPIAQ2AhggDygCVCEEIA9CADcCIAJAIARFBEBBACEFIA9BADYCKAwBC0EAIQVBACEIAkAgBEEATA0AIARBgICAgARPBEBBfxAFGgsgBEECdCIDEA8hCCADRQ0AIAgNAEF/EAUaQQAhCAsgDyAINgIgIA8oAlQhAyAPQgA3AiggDyAENgIkIANFDQACQCADQQBMDQAgA0GAgICABE8EQEF/EAUaCyADQQJ0IgQQDyEFIARFDQAgBQ0AQX8QBRpBACEFCyAPIAU2AiggAyEFCyAPQQA7ATQgD0EANgIwIA8gBTYCLCAPKAIcIQUgDygCWCEDIA8oAlAhBgJAAkAgDygCGCIEIA8oAlQiB0cNACADIAVHDQAgAyAHbCEFDAELAkAgB0UNACADRQ0AQf////8HIANtIAdODQBBfxAFGiAPKAIcIQUgDygCGCEECyAEIAVsIAMgB2wiBUcEQCAPKAIUEARBACEEAkAgBUEATA0AIAVBgICAgARPBEBBfxAFGgsgBUECdCIJEA8hBCAJRQ0AIAQNAEF/EAUaQQAhBAsgDyAENgIUCyAPIAM2AhwgDyAHNgIYCwJAIAVBAEwNACAPKAIUIQNBACEMQQAhFCAFQQRPBEAgBUH8////B3EhCUEAIQQDQCADIBRBAnQiB2ogBiAHaioCADgCACADIAdBBHIiCGogBiAIaioCADgCACADIAdBCHIiCGogBiAIaioCADgCACADIAdBDHIiB2ogBiAHaioCADgCACAUQQRqIRQgBEEEaiIEIAlHDQALCyAFQQNxIgRFDQADQCADIBRBAnQiBWogBSAGaioCADgCACAUQQFqIRQgDEEBaiIMIARHDQALC0EAIRQjAEEQayIIJAACQCAPKAIcIgZBAEoEQCAPKAIYIgRFBEAgD0MAAAAAOAIwDAILIA8oAhQiAyoCAIshXwJAIARBAk4EQCAEQQFrIgdBA3EhDAJAIARBAmsiFkEDSQRAQQEhBQwBCyADQQxqIQ0gA0EIaiEdIANBBGohICAHQXxxIR5BASEFA0AgXyADIAVBAnQiCWoqAgCLkiAJICBqKgIAi5IgCSAdaioCAIuSIAkgDWoqAgCLkiFfIAVBBGohBSAUQQRqIhQgHkcNAAsLIAwEQEEAIRQDQCBfIAMgBUECdGoqAgCLkiFfIAVBAWohBSAUQQFqIhQgDEcNAAsLIAZBAUYNASAHQXxxIR0gB0EDcSENQQEhCQNAIAMgBCAJbEECdGoiByoCAIshXkEBIQUgFkEDTwRAIAdBDGohICAHQQhqIR4gB0EEaiEhQQAhFANAIF4gByAFQQJ0IgxqKgIAi5IgDCAhaioCAIuSIAwgHmoqAgCLkiAMICBqKgIAi5IhXiAFQQRqIQUgFEEEaiIUIB1HDQALC0EAIRQgDQRAA0AgXiAHIAVBAnRqKgIAi5IhXiAFQQFqIQUgFEEBaiIUIA1HDQALCyBeIF8gXiBfXhshXyAJQQFqIgkgBkcNAAsMAQtBASEFIAZBAUYNACAGQQFrIglBA3EhByAGQQJrQQNPBEAgCUF8cSEGA0AgAyAFQQNqIARsQQJ0aioCAIsiXiADIAVBAmogBGxBAnRqKgIAiyJgIAMgBUEBaiAEbEECdGoqAgCLImEgAyAEIAVsQQJ0aioCAIsiYiBfIF8gYl0bIl8gXyBhXRsiXyBfIGBdGyJfIF4gX14bIV8gBUEEaiEFIBRBBGoiFCAGRw0ACwsgB0UNAEEAIRQDQCADIAQgBWxBAnRqKgIAiyJeIF8gXiBfXhshXyAFQQFqIQUgFEEBaiIUIAdHDQALCyAPIF84AjAMAQsgD0EANgIwIA8oAhghBAsgBCIFIA8oAixHBEAgDygCKBAEQQAhBQJAIARBAEwNACAEQYCAgIAETwRAQX8QBRoLIARBAnQiAxAPIQUgA0UNACAFDQBBfxAFGkEAIQULIA8gBTYCKCAPKAIYIQULIA8gBDYCLCAPAn8CQCAFBEAgDygCHCIDDQELIAhBADYCDEEBDAELIAUgAyAPKAIUIAUgDygCKCAIQQxqQYACEPEBGkF/QQEgCC0ADEEBcRsLOgA0QQAhBEEAIRZBACEUIA8oAiwiAyAPKAIkRwRAIA8oAiAQBAJAIANBAEwNACADQYCAgIAETwRAQX8QBRoLIANBAnQiBRAPIQQgBUUNACAEDQBBfxAFGkEAIQQLIA8gBDYCIAsgDyADNgIkAkAgA0EATA0AIA8oAiAhBUEAIQQgA0EITwRAIANB+P///wdxIQYDQCAFIARBAnRqIAQ2AgAgBSAEQQFyIgdBAnRqIAc2AgAgBSAEQQJyIgdBAnRqIAc2AgAgBSAEQQNyIgdBAnRqIAc2AgAgBSAEQQRyIgdBAnRqIAc2AgAgBSAEQQVyIgdBAnRqIAc2AgAgBSAEQQZyIgdBAnRqIAc2AgAgBSAEQQdyIgdBAnRqIAc2AgAgBEEIaiEEIBZBCGoiFiAGRw0ACwsgA0EHcSIGBEADQCAFIARBAnRqIAQ2AgAgBEEBaiEEIBRBAWoiFCAGRw0ACwsgA0EATA0AIA8oAiAhBSAPKAIoIQYgAyIEQQFxBEAgBSADQQFrIgRBAnQiB2oiCSgCACEMIAkgBSAGIAdqKAIAQQJ0aiIHKAIANgIAIAcgDDYCAAsgA0EBRg0AA0AgBSAEQQFrIgNBAnQiB2oiCSgCACEMIAkgBSAGIAdqKAIAQQJ0aiIHKAIANgIAIAcgDDYCACAFIARBAmsiBEECdCIHaiIJKAIAIQwgCSAFIAYgB2ooAgBBAnRqIgcoAgA2AgAgByAMNgIAIANBAUsNAAsLIA9BAToANSAIQRBqJAAgEEEQaiQAIA8gETYCCCAPQQA2AkAgD0IANwI4IA8gD0HEAGo2AgwgD0E4aiEQIA8oAgwoAgghBAJAIA8oAggoAggiBUUNACAERQ0AQf////8HIARtIAVODQBBfxAFGiAPKAIMKAIIIQQgDygCCCgCCCEFCwJAIAVFDQAgBEUNAEH/////ByAEbSAFTg0AQX8QBRoLIAQgBWwiAyAQKAIIIBAoAgRsRwRAIBAoAgAQBEEAIRQCQCADQQBMDQAgA0GAgICABE8EQEF/EAUaCyADQQJ0IgMQDyEUIANFDQAgFA0AQX8QBRpBACEUCyAQIBQ2AgALIBAgBDYCCCAQIAU2AgQjAEEQayIdJAAgHSAQKAIEIgUgDygCCCIWKAIIIgNGIBAoAggiFCAPKAIMIgYoAggiBEZxBH8gBgUCQCADRQ0AIARFDQBB/////wcgBG0gA04NAEF/EAUaIBAoAgghFCAQKAIEIQULIAMgBGwiBiAFIBRsRwRAIBAoAgAQBEEAIRYCQCAGQQBMDQAgBkGAgICABE8EQEF/EAUaCyAGQQJ0IgUQDyEWIAVFDQAgFg0AQX8QBRpBACEWCyAQIBY2AgALIBAgBDYCCCAQIAM2AgQgDygCCCEWIA8oAgwLNgIIIB0gFkEMajYCBCAQKAIEIgggHSgCBCIDKAIEIgVGIBAoAggiBCAdKAIIIgkoAggiBkZxRQRAAkAgBUUNACAGRQ0AQf////8HIAZtIAVODQBBfxAFGiAQKAIIIQQgECgCBCEICyAFIAZsIgMgBCAIbEcEQCAQKAIAEARBACEIAkAgA0EATA0AIANBgICAgARPBEBBfxAFGgsgA0ECdCIDEA8hCCADRQ0AIAgNAEF/EAUaQQAhCAsgECAINgIACyAQIAY2AgggECAFNgIEIB0oAgghCSAdKAIEIQMLQQAhBAJAIBAoAgAiDSAJKAIAIhFGIBAoAgQiBiAJKAIEIgVGcUUEQCAFQQBMDQEgECgCCCIHQQBMDQEgAygCACEUIAdB/P///wdxISAgB0EDcSEMIAdBBEkhHgNAIBEgBEECdCIHaiEDIA0gByAUaigCAEECdGohB0EAIQhBACEJIB5FBEADQCAHIAYgCGxBAnRqIAMgBSAIbEECdGoqAgA4AgAgByAIQQFyIiEgBmxBAnRqIAMgBSAhbEECdGoqAgA4AgAgByAIQQJyIiEgBmxBAnRqIAMgBSAhbEECdGoqAgA4AgAgByAIQQNyIiEgBmxBAnRqIAMgBSAhbEECdGoqAgA4AgAgCEEEaiEIIAlBBGoiCSAgRw0ACwtBACEJIAwEQANAIAcgBiAIbEECdGogAyAFIAhsQQJ0aioCADgCACAIQQFqIQggCUEBaiIJIAxHDQALCyAEQQFqIgQgBUcNAAsMAQsCQAJAIAMoAgQiBUEATA0AAkAgBa0ibaciBEF/IAQgbUIgiKcbIAVBAXJBgIAESRsiBhAPIgRFDQAgBEEEay0AAEEDcUUNACAEQQAgBhAJGgsCQCAEIgYEQCAFIQQMAQtBfxAFGiADKAIEIQQgBkEAIAUQCRogBEEATA0BCyADKAIAIQkgECgCCCIMQQBMBEBBACEDA0AgA0EBaiEFIAMgBmoiBy0AAARAIAUiAyAESA0BDAQLIAdBAToAACADIAkgA0ECdGooAgAiCEcEQANAIAYgCGpBAToAACAJIAhBAnRqKAIAIgggA0cNAAsLIAUiAyAESA0ACwwCCyAQKAIEIQ0gECgCACEgIAxB/v///wdxISEgDEEBcSEjQQAhAwNAIANBAWohBSADIAZqIgctAAAEQCAFIgMgBEgNAQwDCyAHQQE6AAAgAyAJIANBAnQiCGooAgAiB0cEQCAIICBqIREDQCAgIAdBAnQiJGohFEEAIQhBACEeIAxBAUcEQANAIBQgCCANbEECdCIlaiImKgIAIV4gJiARICVqIiUqAgA4AgAgJSBeOAIAIBQgCEEBciANbEECdCIlaiImKgIAIV4gJiARICVqIiUqAgA4AgAgJSBeOAIAIAhBAmohCCAeQQJqIh4gIUcNAAsLICMEQCAUIAggDWxBAnQiCGoiFCoCACFeIBQgCCARaiIIKgIAOAIAIAggXjgCAAsgBiAHakEBOgAAIAkgJGooAgAiByADRw0ACwsgBSIDIARIDQALDAELQQAQBAwBCyAGEAQLIB0gFjYCBCMAQSBrIgMkACAdKAIEIgQoAggEQCAQKAIIIQUgECgCBCEGIAMgBCgCBCIHNgIQIAMgBTYCDCADIAY2AgggA0IANwMAIAMgBTYCHCADQRBqIANBCGogA0EcahCbASADIAMoAhAiBiADKAIIbDYCFCADIAYgAygCDGw2AhggByAFIAQoAgAgBCgCBCAQKAIAIBAoAgQgAxDwASADKAIAEAQgAygCBBAECyADQSBqJAAgHSAWNgIEQQAhDUEAIQwjAEEgayIUJAAgHSgCBCIDKAIIBEAgECgCCCEeIBAoAgQhBCAUIAMoAgQiBTYCECAUIB42AgwgFCAENgIIIBRCADcDACAUIB42AhwgFEEQaiAUQQhqIBRBHGoQmwEgFCAUKAIQIgQgFCgCCGw2AhQgFCAEIBQoAgxsNgIYIAMoAgAhLSADKAIEISEgECgCACEmIBAoAgQhICMAQRBrIgMhFiADJAAgFCgCCCIEIAUgBCAFSBsiJSAUKAIQIiNsIgZBgICAgARPBEBBfxAFGgsgHiAjbCEEIAZBAnQhLgJAIBQoAgAiCA0AIC5BgIAITQRAIAMgLkEPakFwcWsiDSIDJAAgDSEIDAELIC4QDyINIQggDQ0AQX8QBRpBACENQQAhCAsgBEGAgICABE8EQEF/EAUaCyAEQQJ0IS8CQCAUKAIEIgkNACAvQYCACE0EQCADIC9BD2pBcHFrIgwkACAMIQkMAQsgLxAPIgwhCSAMDQBBfxAFGkEAIQxBACEJC0HI2gEtAABBAXFFBEBBxNoBQYCAIDYCAEG82gFCgICBgICAgAQ3AgBByNoBQQE6AAALAkAgHkEASgRAQcDaASgCACAgIAUgBSAgSBtBBHRuQQRtIQMgBUEATA0BQQQgA0ECdCIDIANBBEwbITIDQEEAIQMgIyAFIAUgI0obIhFBAEoEQCAtIAUgEWtBAnQiQmohQwNAICYgAyAgbEECdGoiRCBCaiFFIDIgHiADayI4IDIgOEgbIjkgA2ohOiAJIAMgEWxBAnRqITsgESEGQQAhKQNAQQQgESApayIzIDNBBE4bISQCQCAzQQBMDQAgOEEATA0AQQFBBCAGIAZBBE4bIjQgNEEBTBshRiA0QQJrIUdBACEqA0BDAACAPyAtIAUgKSAqakF/c2oiBCAhbEECdGoiByAEQQJ0IjxqKgIAlSFfAkAgJCAqQX9zIidqIitBAEoEQCAHIAQgK2tBAnQiSGohKyAnIDRqIgRBfnEhSSAEQQFxIUogKiBHRiFLIAMhBwNAICYgByAgbEECdGoiBCA8aiInIF8gJyoCAJQiXjgCACAEIEhqIScgXowhXkEAIQRBACE9IEtFBEADQCAnIARBAnQiMGoiNSBeICsgMGoqAgCUIDUqAgCSOAIAICcgMEEEciIwaiI1IF4gKyAwaioCAJQgNSoCAJI4AgAgBEECaiEEID1BAmoiPSBJRw0ACwsgSgRAICcgBEECdCIEaiInIF4gBCAraioCAJQgJyoCAJI4AgALIAdBAWoiByA6SA0ACwwBCyAmIDxqIQcgAyEEA0AgByAEICBsQQJ0aiIrIF8gKyoCAJQ4AgAgBEEBaiIEIDpIDQALCyAqQQFqIiogRkcNAAsLIBYgIDYCCCAWIEQgBSAkIClqayIqQQJ0ajYCBCA7IBZBBGoiByAkIDkgESAzICRrIgQQ7wEgBEEASgRAIBYgITYCCCAWIEMgISAqbEECdGo2AgQgCCAHICQgBBA7IBYgIDYCCCAWIEU2AgQgByAIIDsgBCAkIDlDAACAvyAkIBEgBBBBCyAGQQRrIQYgKUEEaiIpIBFIDQALIAMgMmoiAyAeSA0ACwsgBSAjayIFQQBKIgZFDQIgLSAFICFsQQJ0aiEHQQAhBANAIAUgBGsiAyAlIAMgJUgbIgNBAEoEQCAWICE2AgggFiAHIARBAnQiJGo2AgQgCCAWQQRqIikgESADEDsgFiAgNgIIIBYgJCAmajYCBCApIAggCSADIBEgHkMAAIC/QX9Bf0EAEEELIAQgJWoiBCAFSA0ACyAGDQALDAELIAVBAEwNAANAIAUgI2siA0EATA0BICMgBSAFICNKGyEFIC0gAyAhbEECdGohB0EAIQQDQCADIARrIgYgJSAGICVIGyIGQQBKBEAgFiAhNgIIIBYgByAEQQJ0IhFqNgIEIAggFkEEaiIkIAUgBhA7IBYgIDYCCCAWIBEgJmo2AgQgJCAIIAkgBiAFIB5DAACAv0F/QX9BABBBCyAEICVqIgQgA0gNAAsgAyIFQQBKDQALCyAvQYGACE8EQCAMEAQLIC5BgYAITwRAIA0QBAsgFkEQaiQAIBQoAgAQBCAUKAIEEAQLIBRBIGokACAdQRBqJAAgDygCKBAEIA8oAiAQBCAPKAIUEAQgDyAPKAI8NgIsIA9CADcCJCAPQQI2AhwgDyAZNgIYIA8gDygCODYCFCAPIBA2AiAgDygCFCEEIA8oAiAoAgQhByASKAIUIgggDygCGCIDRiAPKAIcIgVBAkZxRQRAAkAgA0UNACAFRQ0AQf////8HIAVtIANODQBBfxAFGiASKAIUIQgLIAMgBWwiBSAIQQF0RwRAIBIoAhAQBEEAIRYCQCAFQQBMDQAgBUGAgICABE8EQEF/EAUaCyAFQQJ0IgUQDyEWIAVFDQAgFg0AQX8QBRpBACEWCyASIBY2AhALIBIgAzYCFAsCQCADQQBMDQAgEigCECEFQQAhCEEAIRYgA0EETwRAIANB/P///wdxIQlBACENA0AgBSAWQQJ0IgZqIAQgBmoqAgA4AgAgBSAGQQRyIgxqIAQgDGoqAgA4AgAgBSAGQQhyIgxqIAQgDGoqAgA4AgAgBSAGQQxyIgZqIAQgBmoqAgA4AgAgFkEEaiEWIA1BBGoiDSAJRw0ACwsgA0EDcSIGBEADQCAFIBZBAnQiCWogBCAJaioCADgCACAWQQFqIRYgCEEBaiIIIAZHDQALCyAEIAdBAnRqIQQgBSADQQJ0aiEFQQAhCEEAIRYgA0EETwRAIANB/P///wdxIQdBACENA0AgBSAWQQJ0IgZqIAQgBmoqAgA4AgAgBSAGQQRyIglqIAQgCWoqAgA4AgAgBSAGQQhyIglqIAQgCWoqAgA4AgAgBSAGQQxyIgZqIAQgBmoqAgA4AgAgFkEEaiEWIA1BBGoiDSAHRw0ACwsgA0EDcSIDRQ0AA0AgBSAWQQJ0IgZqIAQgBmoqAgA4AgAgFkEBaiEWIAhBAWoiCCADRw0ACwsgDyAPKAI8NgIsIA9BADYCKCAPIBk2AiQgD0KDgICAIDcCGCAPIA8oAjggQWo2AhQgDyAQNgIgQRgQDyIDRQRAQX8QBRoLIA9Cg4CAgCA3AgwgDyADNgIIQQAhCCAPKAIUIRAgDygCICgCBCERIA8oAgwiBSAPKAIYIgNGIA8oAhAiBCAPKAIcIgZGcUUEQAJAIANFDQAgBkUNAEH/////ByAGbSADTg0AQX8QBRogDygCECEEIA8oAgwhBQsgAyAGbCIHIAQgBWxHBEAgDygCCBAEQQAhBAJAIAdBAEwNACAHQYCAgIAETwRAQX8QBRoLIAdBAnQiBRAPIQQgBUUNACAEDQBBfxAFGkEAIQQLIA8gBDYCCAsgDyAGNgIQIA8gAzYCDAsCQCAGQQBMDQAgA0EATA0AIA8oAgghFCADQfz///8HcSEWIANBA3EhDSADQQRJIRkDQCAQIAggEWxBAnRqIQcgFCADIAhsQQJ0aiEJQQAhBEEAIQUgGUUEQANAIAkgBEECdCIMaiAHIAxqKgIAOAIAIAkgDEEEciIdaiAHIB1qKgIAOAIAIAkgDEEIciIdaiAHIB1qKgIAOAIAIAkgDEEMciIMaiAHIAxqKgIAOAIAIARBBGohBCAFQQRqIgUgFkcNAAsLQQAhBSANBEADQCAJIARBAnQiDGogByAMaioCADgCACAEQQFqIQQgBUEBaiIFIA1HDQALCyAIQQFqIgggBkcNAAsLIBIgDygCCCIDKgIAOAIYIBIgAyAPKAIMQQJ0aiIEKgIAOAIcIBIgAyoCBDgCICASIAQqAgQ4AiQgEiADKgIIOAIoIBIgBCoCCDgCLCADEAQgDygCOBAEIA8oAkQQBCAPKAJQEAQgKBAEIAoQBCAsEAQLIA9B4ABqJAAgQEUEQEEAIQcgE0EAOgCwAiASKAIQDAELIBMgEigCADYCsAIgEyASKAIENgK0AiASQgA3AgAgEyASKAIINgK4AiATIBIoAgw2ArwCIBJCADcCCCATIBIoAhA2AsACIBMgEigCFDYCxAIgEkIANwIQIBMgEikCKDcC2AIgEyASKQIgNwLQAiATIBIpAhg3AsgCQQEhB0EACyFYIBMgBzoA4AIgWBAEIBIoAggQBCASKAIAEAQgGigCOCIDBEAgGiADNgI8IAMQBAsgGigCRCIDRQ0AIBogAzYCSCADEAQLIBpB0ABqJAAgEy0A4AJFBEBBBSELDAELQQAhBEEAIQcjAEGQH2siAyQAIAEoAiAhDSADQRxqQQBB9B4QCRogAyAiNgI8ICJBAEoEQCADQUBrIREDQCAHs0MAAAA/kiFiQQAhDANAIAMgYjgCECADIAyzQwAAAD+SOAIMIAMqAhAhYCADKgIMIWECQCATKAK8AiIFQQBMBEBBACESDAELIAVBgICAgARPBEBBfxAFGgsgBUECdCIGEA8hEgJAIAZFDQAgEg0AQX8QBRoLIBMoArgCIQZBACEUIBMoArwCQQJ0IQkDQEMAAAAAIV4gBiAUQQJ0IghqIhAqAgAgYZMiXyBflCAJIBBqKgIAIGCTIl8gX5SSIl9DAAAAAFwEQCBfIF8QcZQhXgsgCCASaiBeOAIAIBRBAWoiFCAFRw0ACwsCQCATKALEAiIGRQRAQwAAAAAhXkMAAAAAIV8MAQsgEioCACJfIBMoAsACIgUqAgCUIV4CQAJAIAZBAk4EQCAGQQFrIhBBA3EhCiAGQQJrIg9BA08NAUEBIRQMAgsgXyAFIAZBAnRqKgIAlCFfDAILIBBBfHEhFkEAIQlBASEUA0AgXiASIBRBAnQiCGoqAgAgBSAIaioCAJSSIBIgCEEEaiIZaioCACAFIBlqKgIAlJIgEiAIQQhqIhlqKgIAIAUgGWoqAgCUkiASIAhBDGoiCGoqAgAgBSAIaioCAJSSIV4gFEEEaiEUIAlBBGoiCSAWRw0ACwsgCgRAQQAhCQNAIF4gEiAUQQJ0IghqKgIAIAUgCGoqAgCUkiFeIBRBAWohFCAJQQFqIgkgCkcNAAsLIBBBA3EhCCBfIAUgBkECdGoiBSoCAJQhXwJAIA9BA0kEQEEBIRQMAQsgEEF8cSEQQQAhCUEBIRQDQCBfIBIgFEECdCIGaioCACAFIAZqKgIAlJIgEiAGQQRqIgpqKgIAIAUgCmoqAgCUkiASIAZBCGoiCmoqAgAgBSAKaioCAJSSIBIgBkEMaiIGaioCACAFIAZqKgIAlJIhXyAUQQRqIRQgCUEEaiIJIBBHDQALCyAIRQ0AQQAhCQNAIF8gEiAUQQJ0IgZqKgIAIAUgBmoqAgCUkiFfIBRBAWohFCAJQQFqIgkgCEcNAAsLIBMqAsgCIWMgEyoC0AIhZCATKgLYAiFlIAMgXyATKgLMAiBhIBMqAtQClCBgIBMqAtwClJKSkjgCGCADIF4gYyBhIGSUIGAgZZSSkpI4AhQgEhAEIAMqAhQgAikCACJtp7KSEAYhBSADKgIYIG1CIIinspIQBiEGAkACQCAFQQBIDQAgBkEASA0AIAUgDSgCBCIJTg0AIAYgDSgCCE4NACANKAIAIAYgCWxqIAVqLQAAQf8BRg0BCyARIARBA3VqIgUgBS0AAEEBIARBB3F0cjoAAAsgBEEBaiEEIAxBAWoiDCAiRw0ACyAHQQFqIgcgIkcNAAsLIBNBCGoiBCABIAIgDiADQRxqEPkBIANBkB9qJAAgFSAEEMYBAkAgEy0AUEUNACATKAIcIgMEQCATIAM2AiAgAxAECyATLAAbQQBODQAgEygCEBAECyAVLQBIIQQgEy0A4AIEQCATKALAAhAEIBMoArgCEAQgEygCsAIQBAsgBA0BCwJAIBUtAEhFDQAgFSgCFCIDBEAgFSADNgIYIAMQBAsgFSwAE0EATg0AIBUoAggQBAsgCyEECyAEDgYAAwMDAwADCyAXQQRqIhdBCEcNAAsgG0EEaiIbQQhHDQALIBVBADoASCAVQQA6AAALIBNB8AJqJAAgFS0ASARAIB8gFSkDADcCACAfQQhqIQMCQCAVLAATQQBOBEAgAyAVKQIINwIAIAMgFSgCEDYCCAwBCyADIBUoAgggFSgCDBAUCyAfQQA2AhwgH0IANwIUIBUoAhgiBCAVKAIUIgNHBEAgBCADayIEQQBIDQggHyAEEAUiBTYCGCAfIAU2AhQgHyAEIAVqIgY2AhwgBSADIAQQBxogHyAGNgIYCyAfIBUpAyA3AiAgHyAVKQA9NwA9IB8gFSkDODcCOCAfIBUpAzA3AjAgHyAVKQMoNwIoIB9BAToASCAVLQBIRQ0DIAMEQCAVIAM2AhggAxAECyAVLAATQQBODQMgFSgCCBAEDAMLIA5B1AJqIgggPkcNAAsLIB9BADoASCAfQQA6AAALIBUoAlAiBARAIBUoAlQiCCAEIgNHBEADQCAIQSxrLQAAGiAIQZABay0AABogCEH0AWstAAAaIAhB1AJrIgggBEcNAAsgFSgCUCEDCyAVIAQ2AlQgAxAECyAVKAJcIgQEQCAVKAJgIgggBCIDRwRAA0AgCEEEay0AABogCEHkAGsiCCAERw0ACyAVKAJcIQMLIBUgBDYCYCADEAQLIBUoAmgiBARAIBUoAmwiCCAEIgNHBEADQCAIQQRrLQAAGiAIQeQAayIIIARHDQALIBUoAmghAwsgFSAENgJsIAMQBAsgFSgCdCEECyAERQ0AIBUoAngiCCAEIgNHBEADQCAIQQRrLQAAGiAIQeQAayIIIARHDQALIBUoAnQhAwsgFSAENgJ4IAMQBAsgFUGAAWokACAcLQBQRQ0AIAAgHyACEEsgHC0AUEUNACAcKAIcIgMEQCAcIAM2AiAgAxAECyAcLAAbQQBODQAgHCgCEBAECwJAIAAoAnAiA0UNACAcQQhqIQ1BACEEQQAhBkEAIQwjAEHAAmsiCCQAAkACQAJAAkAgASgCACABKAIERwRAIAEoAmANAQsgDUEAOgBIIA1BADoAAAwBCyABKAIgIgcoAgghBQJAIAcoAgQiByADKAIYRgRAIAUgAygCHEYNAQsgBUEgbSAFQR9xQQBHaiIJIAdBIG0gB0EfcUEAR2oiDmwiCwRAIAtBgICAgARPDQMgC0ECdCIGEAUiBEEAIAYQCSAGaiEGCyADKAIEIgsEQCADIAs2AgggCxAECyADIAY2AgwgAyAGNgIIIAMgBDYCBCADIAetIAWtQiCGhDcCGCADIA6tIAmtQiCGhDcCEAsjAEEgayILJAAgASgCBCIGIAEoAgAiDmtBHG0hBCADIgcoAhAhECADKAIIIAMoAgQiA2siBUECdSIKQQBKBEAgA0EAIAUQCRoLIAhBtAJqIQkgC0IANwIYIAsgC0EYaiIFNgIUAkAgBiAORgRAIAlCADcCBEEAIQQgCSAJQQRqNgIADAELQQEgBCAEQQFNGyERA0ACQCABKAIAIAxBHGxqIg4oAgRBCUkNACAOLwEMIA4vAQhrQQFqsiAOLwEOIA4vAQprQQFqspUiXkMAAAA/XQ0AIF5DAAAAQF4NACALQQxqIA4QCAJ/IAsqAhBDAAAAPZQiXotDAAAAT10EQCBeqAwBC0GAgICAeAsgEGwhAwJAIAoCfyALKgIMQwAAAD2UIl6LQwAAAE9dBEAgXqgMAQtBgICAgHgLIANqIhJLBEAgBygCBCASQQJ0aiIDKAIAIgQEQCABKAIAIQMDQCADIARBHGxqIgYoAhgiBA0ACyAGIAw2AhggBSIDIQQCQCALKAIYIgZFDQADQCAGIgQoAhAiAyASSwRAIAQiAygCACIGDQEMAgsgAyASTw0EIAQoAgQiBg0ACyAEQQRqIQMLQRQQBSIGIAQ2AgggBkIANwIAIAYgEjYCECADIAY2AgAgCygCFCgCACIEBEAgCyAENgIUIAMoAgAhBgsgCygCGCAGEBcgCyALKAIcQQFqNgIcDAILIAMgDDYCAAwBCyAJQgA3AgQgCSAJQQRqNgIAIAsoAhghBAwDCyAOQQA2AhgLIAxBAWoiDCARRw0ACyALKAIUIQMgCygCGCEEIAkgCygCHCIGNgIIIAkgBDYCBCAJIAM2AgAgCUEEaiEDIAZFBEAgCSADNgIADAELIAQgAzYCCCALQgA3AhggCyAFNgIUQQAhBAsgC0EUaiAEEGogC0EgaiQAAkAgCCgCtAIiBiAIQbgCaiISRwRAA0AgCCABKAIAIAcoAgQgBigCEEECdGooAgBBHGxqIgMoAhg2ArACIAggAykCEDcDqAIgCCADKQIINwOgAiAIIAMpAgA3A5gCQRwQBSIFIAgoArACNgIYIAUgCCkCqAI3AhAgBSAIKQKgAjcCCCAFIAgpApgCNwIAIAhBjAJqIgwgBUEcaiIDNgIIIAwgAzYCBCAMIAU2AgACQAJAAkACQCAIKAKwAiILRQRAIAMhBAwBCyABKAIAIQkgAyEEA0AgCSALQRxsIhBqIQkCfyADIARHBEAgAyAJKQIANwIAIAMgCSgCGDYCGCADIAkpAhA3AhAgAyAJKQIINwIIIANBHGoMAQsgAyAFa0EcbSIEQQFqIgtByqSSyQBPDQNByaSSyQAgBEEBdCIOIAsgCyAOSRsgBEGkkskkTxsiDgR/IA5ByqSSyQBPDQUgDkEcbBAFBUEACyIKIARBHGxqIgsgCSkCADcCACALIAkoAhg2AhggCyAJKQIQNwIQIAsgCSkCCDcCCCAKIA5BHGxqIQQgC0EcaiFZAkAgAyAFRwRAA0AgC0EcayILIANBHGsiAykCADcCACALIAMoAhg2AhggCyADKQIQNwIQIAsgAykCCDcCCCADIAVHDQALIAUiA0UNAQsgAxAECyALIQUgWQshAyABKAIAIgkgEGooAhgiCw0ACwsgDCAENgIIIAwgAzYCBCAMIAU2AgAMAgsgDCADNgIIIAwgAzYCBCAMIAU2AgAQAAALIAwgAzYCCCAMIAM2AgQgDCAFNgIAEA0ACyAIKAKMAiIDIAgoApACIgRBPiAEIANrQRxtZ0EBdGtBACADIARHG0EBEMkBIAhBiAFqIgQgASACIAxBABDIAQJAIAgtAIgCRQ0AIA0gByABIAIgBBDHAQJAIA0tAEhFBEAgCEEEaiIFIAEgAiAMQQEQyAEgBCAFQYEBEAcaIAgtAIgCRQ0BIAUgByABIAIgBBDHASANIAUQxgECQCAILQBMRQ0AIAgoAhgiBARAIAggBDYCHCAEEAQLIAgsABdBAE4NACAIKAIMEAQLIA0tAEhFDQILIANFDQQgAxAEDAQLIA0tAEhFDQAgDSgCFCIEBEAgDSAENgIYIAQQBAsgDSwAE0EATg0AIA0oAggQBAsgAwRAIAMQBAsCQCAGKAIEIgMEQANAIAMiBigCACIDDQAMAgsACwNAIAYgBigCCCIGKAIARw0ACwsgBiASRw0ACwsgDUEAOgBIIA1BADoAAAsgCEG0AmogCCgCuAIQagsgCEHAAmokAAwBCxAAAAsgHC0AUEUNACAAIA0gAhBLIBwtAFBFDQAgHCgCHCIDBEAgHCADNgIgIAMQBAsgHCwAG0EATg0AIBwoAhAQBAsCQCAAKAJ0RQ0AIBxBCGohAyMAQfAAayIEJAACQAJAIAEoAgAiCyABKAIEIgZGDQAgASgCYCIFRQ0AA0AgBEEgaiIHIAsQWQJAIAQoAiwiCSAEKAIoIghsIgxB0ABIDQAgCLIgCbKVIl5DAAAAP10NACBeQwAAAEBeDQAgCygCBLMgDLKVuyJxRJqZmZmZmbk/Yw0AIHFEMzMzMzMz4z9kDQAgByABIAsgAiAFELQCIAQtAGgEQCADQQA6AEggAyAEKQMgNwIAIANBCGohBQJAIAQsADMiC0EATgRAIAUgBCkCKDcCACAFIAQoAjA2AggMAQsgBSAEKAIoIAQoAiwQFAsgA0EANgIcIANCADcCFCAEKAI4IgYgBCgCNCIFRwRAIAYgBWsiBkEASA0HIAMgBhAFIgc2AhggAyAHNgIUIAMgBiAHaiIJNgIcIAcgBSAGEAcaIAMgCTYCGAsgAyAEKQNANwIgIAMgBCkAXTcAPSADIAQpA1g3AjggAyAEKQNQNwIwIAMgBCkDSDcCKCADQQE6AEggBQRAIAUQBAsgC0EATg0EIAQoAigQBAwECyAEQQRqIgcgCxC1ASADIAEgByACIAUQtAIgAy0ASA0DCyALQRxqIgsgBkcNAAsgA0EAOgBIIANBADoAAAwBCyADQQA6AEggA0EAOgAACyAEQfAAaiQAIBwtAFBFDQAgACADIAIQSyAcLQBQRQ0AIBwoAhwiAwRAIBwgAzYCICADEAQLIBwsABtBAE4NACAcKAIQEAQLAkAgACgCeCIVRQ0AQQAhFCMAQZADayIRJAAgESACKQIINwOIAyARIAIpAgA3A4ADIBEgASIOKAIUKQIENwJAIAIoAggiASARQUBrIgQoAgBHIAIoAgwiAyAEKAIER3IEQCAOKAIUKQIEIW0gEUEBOgD4AiARIBEoAvgCNgIIIBEgbTcD8AIgESBtNwMAIAEgA0ghBAJ/IAOyQ5qZGT6UIl6LQwAAAE9dBEAgXqgMAQtBgICAgHgLQQAgBBshAyARQUBrIBFBgANqQQACfyABskOamRk+lCJei0MAAABPXQRAIF6oDAELQYCAgIB4CyAEGyADIBEQVCARIBEpAkg3A4gDIBEgESkCQDcDgAMLIBxBCGohDwJAIBUoAgANACARIA4oAhQpAgQ3AkACf0E0EAUiAUIANwIEIAFB6MgANgIAIAFCADcCDCABQgA3AhQCQCARQUBrIgMoAgAiBCADKAIEIgMgAyAESBsiAwRAIANBAEgNASABIANBAXQiBRAFIgQ2AgggASAENgIEIAEgBCAFajYCDCADQYCAgIAETw0BIAEgA0ECdCIEEAUiAzYCFCABIAM2AhAgASADIARqNgIYCyABDAELDAMLIQMgFSgCACEBIBUgAzYCACABRQ0AIAEgASgCACgCBBEAAAtBACEHQQAhCUEAIQ1BACEMIwBBEGsiBCQAIBEoAoADIQEgBCARKAKEAyIIIBEoAowDIgVBAm1qIgM2AgwgBCABNgIIAkACQCAFQQJIDQAgAyEBQQAhBgNAIBEoAowDIAhqIAFKBEAgBEEAOgAHIARBADoABiAEQQA6AAUgFSgCACAOKAIUIARBCGogESgCiANBABDCASAVKAIAQQRqIQUjAEEgayIBJAAgBSgCACELIAUoAgQhCCAEQQA6AAYgBEEAOgAHAkAgCCALa0EBdSIWQQhJDQBBByEIA0BBASEbAkAgBSAIIAFBBGogARBfRQ0AAkACQCAELQAHRQRAAkACQCABKAIEQQNrDgcBBQUFBQUABQsgASgCCEECRw0EIAEoAgxBAkcNBCABKAIQQQJHDQQgASgCFEECRw0EIAEoAhhBAkcNBEEAIRggASgCHEEERg0DDAQLQQEhGCABKAIIQQJHDQMgASgCDEECRw0DIAEoAhBBBEcNAyABKAIUQQRHDQMgASgCGEECRg0BDAMLIAEoAhwhCyABKAIYIRIgASgCFCEQIAEoAhAhCiABKAIMIRMgASgCCCEXIAEoAgQhGAJAIAQtAAUEQCAYQQRHDQQgF0ECRw0EIBNBAkcNBCAKQQJHDQQgEEECRw0EIBJBAkcNBCALQQlGDQEMBAsgGEEIRw0DIBdBAkcNAyATQQRHDQMgCkEERw0DIBBBAkcNAyASQQJHDQMgC0EDRw0DCyAEQQE6AAYMBAsgASgCHEEIRw0BCyAEQQE6AAcgBCAYOgAFQQghGwsgCCAbaiIIIBZJDQALCyABQSBqJAAgBC0ABiEBAkAgBC0AByIFRQ0AIAFFDQAgBC0ABSEBIBEgESkCgAM3AtgCIBEgESkCiAM3AuACIBFBAToA7AIgEUEAOgDpAiARIAE6AOgCDAQLAkAgBQRAIAcgBC0ABSIBaiEHIAlBAWohCSANIAFBAXNqIQ0MAQsgAUEARyAMciEMCyAEIAMCf0EKIAZFDQAaQQAgBmsgBkEASg0AGkEKIAZrCyIGaiIBNgIMIAEgESgChAMiCEoNAQsLIAlBA0gNACAMQQFxDQAgESARKQKAAzcC2AIgESARKQKIAzcC4AIgEUEBOgDsAiARQQE6AOkCIBEgByANSjoA6AIMAQsgEUEAOgDsAiARQQA6ANgCCyAEQRBqJAACQCARLQDsAkUEQCAPQQA6AEggD0EAOgAADAELIBFBADYC1AIgEUIANwLMAiARQcwCaiILQYAEEIwCQQAhDCMAQYABayIFJAAjAEEQayIEJAAgEUFAayIDQQA6AAYgA0H//wM7AQQgA0F/NgEAIARBADsBDiADIAQvAQ4iATsBtgEgAyABOwG0ASADIAE7AbIBIAMgATsBsAEgAyABOwGuASADIAE7AawBIAMgATsBqgEgAyABOwGoASADIAE7AaYBIAMgATsBpAEgAyABOwGiASADIAE7AaABIAMgATsBngEgAyABOwGcASADIAE7AZoBIAMgATsBmAEgAyABOwGWASADIAE7AZQBIAMgATsBkgEgAyABOwGQASADIAE7AY4BIAMgATsBjAEgAyABOwGKASADIAE7AYgBIAMgATsBhgEgAyABOwGEASADIAE7AYIBIAMgATsBgAEgAyABOwF+IAMgATsBfCADIAE7AXogAyABOwF4IAMgATsBdiADIAE7AXQgAyABOwFyIAMgATsBcCADIAE7AW4gAyABOwFsIAMgATsBaiADIAE7AWggAyABOwFmIAMgATsBZCADIAE7AWIgAyABOwFgIAMgATsBXiADIAE7AVwgAyABOwFaIAMgATsBWCADIAE7AVYgAyABOwFUIAMgATsBUiADIAE7AVAgAyABOwFOIAMgATsBTCADIAE7AUogAyABOwFIIAMgATsBRiADIAE7AUQgAyABOwFCIAMgATsBQCADIAE7AT4gAyABOwE8IAMgATsBOiADIAE7ATggAyABOwE2IAMgATsBNCADIAE7ATIgAyABOwEwIAMgATsBLiADIAE7ASwgAyABOwEqIAMgATsBKCADIAE7ASYgAyABOwEkIAMgATsBIiADIAE7ASAgAyABOwEeIAMgATsBHCADIAE7ARogAyABOwEYIAMgATsBFiADIAE7ARQgAyABOwESIAMgATsBECADIAE7AQ4gAyABOwEMIAMgATsBCiADIAE7AQggA0G4AWpBAEHUABAJGiAEQRBqJAAgAyARLQDpAjoABiARKALkAkEASgRAA0AgESgC3AIh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QQRqIQcgA0ECaiELIAMvAQghBkEKIQMgAUEIaiIJIQQDQCADIAdqIgggAyALaiIMIAEgA2oiBSAEIAbBIgQgBS4BACIFSBsgBCAFIAQgBUobIgQgDC4BACIFSBsgBCAFIAQgBUobIgUgCC4BACIGSBshBCAFIAYgBSAGShshBiADQQZqIgNBuAFHDQALAkAgBCABQbgBaiIDRg0AIAQuAQBBBEgNACABIAQgCWtBAXZBA2o7AQALIAFBvAFBugFBuAEgAS4BuAEiBCABLgG6ASIFSCIGGyABLgG8ASAEIAUgBCAFShtKIgQbai4BAEEETgRAIAEgAS8BACABQbwBaiABQboBaiADIAYbIAQbIANrQQF2ajsBAAsCQCABQfgBaiABQfYBaiABQfQBaiABQfIBaiABQfABaiABQe4BaiABQewBaiABQeoBaiABQegBaiABQeYBaiABQeQBaiABQeIBaiABQeABaiABQd4BaiABQdwBaiABQdoBaiABQdgBaiABQdYBaiABQdQBaiABQdIBaiABQdABaiABQc4BaiABQcwBaiABQcoBaiABQcgBaiABQcYBaiABQcQBaiABQcIBaiABQcABaiABQb4BaiIFIAEuAb4BIgMgAS4BwAEiBEgbIAMgBCADIARKGyIDIAEuAcIBIgRIGyADIAQgAyAEShsiAyABLgHEASIESBsgAyAEIAMgBEobIgMgAS4BxgEiBEgbIAMgBCADIARKGyIDIAEuAcgBIgRIGyADIAQgAyAEShsiAyABLgHKASIESBsgAyAEIAMgBEobIgMgAS4BzAEiBEgbIAMgBCADIARKGyIDIAEuAc4BIgRIGyADIAQgAyAEShsiAyABLgHQASIESBsgAyAEIAMgBEobIgMgAS4B0gEiBEgbIAMgBCADIARKGyIDIAEuAdQBIgRIGyADIAQgAyAEShsiAyABLgHWASIESBsgAyAEIAMgBEobIgMgAS4B2AEiBEgbIAMgBCADIARKGyIDIAEuAdoBIgRIGyADIAQgAyAEShsiAyABLgHcASIESBsgAyAEIAMgBEobIgMgAS4B3gEiBEgbIAMgBCADIARKGyIDIAEuAeABIgRIGyADIAQgAyAEShsiAyABLgHiASIESBsgAyAEIAMgBEobIgMgAS4B5AEiBEgbIAMgBCADIARKGyIDIAEuAeYBIgRI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CyAKIAooAuABNgLwASAWIA0gBiAMEHkgCiAKKALAATYC0AEgGyAKKALEASIFIAooAsgBIgQgBCAFa0ECdRB5IAooAvQBIgQgCigC+AFGDQggBCgCAEUNAiAKIAg2AuABIBkgByABIAEgB2tBAnUQeSAKQgA3AqQBIApBADYCrAEgCkHw1wEoAgA2AqABQfjXASgCACIBQfTXASgCACIGRwRAIAEgBmsiAUEASA0JIAogARAFIgQ2AqgBIAogBDYCpAEgCiABIARqIgs2AqwBIAQgBiABEAcaIAogCzYCqAELIAooAvgBIgsgCigC9AEiBkYNCCAGKAIAIgEEf0HY1wEoAgBB1NcBKAIAQQF0akHk1wEoAgAgAUEBdGouAQBBf3NBAXRqLgEABUEBCyENAkAgCigC6AEiBCAKKALkASIBa0ECdSIIIAsgBmtBAnUiDEgNAANAIAEgBEYNCiABKAIAIgFFDQEgCkGAAWoiBCAIIAxrIgsgDQR/QdjXASgCAEHk1wEoAgAiBiABQQF0ai4BAEEBdGogBiANQQF0ai4BAEEBdGouAQAFQQALIhIQhAIgCkGQAWogCkGgAWogBBCDAiAKIAooApABNgKgASAKKAKkASIBBEAgCiABNgKoASABEAQLIAogCigClAE2AqQBIAopApgBIW0gCkEANgKcASAKIG03AqgBIApCADcClAEgCigChAEiAQRAIAogATYCiAEgARAECyAKQYABaiEBQQAhDCMAQRBrIgQkAAJAIAtBAEgEQCAKKALwASEGIAFBADYCDCABQgA3AgQgASAGNgIAIAooAvgBIgYgCigC9AEiC0YNASAGIAtrIgZBAEgNEyABIAYQBSIINgIEIAEgBiAIaiIMNgIMIAggCyAGEAcaIAEgDDYCCAwBCyASRQRAIAooAvABIgYoAhwhCyABQQA2AgwgAUIANwIEIAEgCzYCACAGKAIkIgggBigCICILRg0BIAggC2siBkEASA0TIAEgBhAFIgg2AgQgASAGIAhqIgw2AgwgCCALIAYQBxogASAMNgIIDAELIAooAvQBIQYgCigC+AEhCCAEQQA2AgwgBEIANwIEIAsgCCAGa0ECdSIQaiILBEAgC0GAgICABE8NEyAEIAtBAnQiCxAFIgw2AgQgBCALIAxqIhc2AgwgDEEAIAsQCRogBCAXNgIICyAKKALwASELIAYgCEcEQEEBIBAgEEEBTRshEEEAIQgDQEEAIRcgBiAIQQJ0IhpqKAIAIh8EQCALKAIEIAsoAhAiFyAfQQF0ai4BAEEBdGogFyASQQF0ai4BAEEBdGouAQAhFwsgDCAaaiAXNgIAIAhBAWoiCCAQRw0ACwsgASALIARBBGoQLRogBCgCBCIGRQ0AIAQgBjYCCCAGEAQLIARBEGokACAKQZABaiAKQeABaiABEIICIAogCigCkAE2AuABIAooAuQBIgEEQCAKIAE2AugBIAEQBAsgCiAKKAKUASIBNgLkASAKIAooApgBIgQ2AugBIAooApwBIQYgCkEANgKcASAKIAY2AuwBIApCADcClAEgCigChAEiBgRAIAogBjYCiAEgBhAEIAooAugBIQQgCigC5AEhAQsgBCABa0ECdSIIIAooAvgBIAooAvQBa0ECdSIMTg0ACwsgCkHwAGoiASAKQaABaiAKQdABahCAAiAKQYABaiIEIAEgCkGwAWoQggIgCkGQAWogBBCBAiAKIAooApABNgLAASAFBEAgBRAECyAKIAooApQBIgU2AsQBIAogCigCmAEiBDYCyAEgCigCnAEhASAKQQA2ApwBIAogATYCzAEgCkIANwKUASAKKAKEASIBBEAgCiABNgKIASABEAQLIAooAnQiAQRAIAogATYCeCABEAQLIAooAqQBIgEEQCAKIAE2AqgBIAEQBAsgCigCtAEiAQRAIAogATYCuAEgARAECyAHBEAgBxAECyAKKALoASIGIAooAuQBIg1rQQJ1IgwgGEoNAAsLIAQgBUYNBiAEQQRrKAIAIgFFBEBBACEEDAMLIApBsAFqIApBwAFqQdjXASgCAEHU1wEoAgBBAXRqQeTXASgCACABQQF0ai4BAEF/c0EBdGouAQAiBBD/ASAKIAooArABNgIgIAooAiQiAQRAIAogATYCKCABEAQLIAogCigCtAE2AiQgCiAKKQK4ATcDKCAKQbABaiAKQeABaiAEEP8BIAogCigCsAE2AhAgCigCFCIBBEAgARAECyAKIAooArQBNgIUIAogCikCuAE3AxhBASEEIAooAsQBIQUMAQsgCigCtAEiAQRAIAogATYCuAEgARAEC0EAIQQgB0UNACAHEAQLIAVFDQELIAogBTYCyAEgBRAECyAKKALUASIBBEAgCiAB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IAIgEkEEakcNASAGQQJHDQEgCi0AiANBB3ENASAKQdADaiIHIApB/ABqIApByAFqEIUBIApBMGogBxBXDAELIAdBhICAgHhxQQRHDQAgCkHQA2oiByAKQfwAaiAKQYgBahCFASAKQTBqIAcQVwsDQCAGIQcCQCACIgggCigCjANODQAgB0EASA0AIAooAgQgAmwgB2oiBiAKKAIQIAooAgwiAmtPDQ0gAiAGai0AAA0AIApCADcCiAQgCkKAgICAcDcCgAQgCkKAgICAYDcC+AMgCkL/////DzcC8AMgCkJ/NwLoAyAKQv////9vNwLgAyAKQn43AtgDIApC/v///283AtADQQAhEgNAIBJBA3QiDyAKQdADamoiBigCBCAHaiECIAYoAgAgCGoiBkEASARAIAooAowDIgwgBmohBiACIAxBBGpBCG9rQQRqIQILIAJBAEgEQCAKKAKIAyIMIAJqIQIgBiAMQQRqQQhva0EEaiEGCyAKQZADaiAPaiIMIAI2AgQgDCAGIAooAowDIgJBACACIAZMG2s2AgAgCigCBCAMKQIAIjenbCA3QiCIp2oiBiAKKAIQIAooAgwiAmtPDQ4gAiAGakH/AToAACASQQFqIhJBCEcNAAsgCiAKKQLIAzcDcCAKIAopAsADNwNoIAogCikCuAM3A2AgCiAKKQKwAzcDWCAKIAopAqgDNwNQIAogCikCoAM3A0ggCkFAayAKKQKYAzcDACAKIAopApADNwM4IApBMGogCkE4ahBXCyAIQQJOBEAgCEECayECIAdBAmoiBiAKKAKIA0gNAQsLIAdBBWohBiAIQQFrIQIDQCAGIQgCQCACIgdBAEgNACAGIAooAogDTg0AIAooAgQgAmwgBmoiBiAKKAIQIAooAgwiAmtPDQ0gAiAGai0AAA0AIApCADcCiAQgCkKAgICAcDcCgAQgCkKAgICAYDcC+AMgCkL/////DzcC8AMgCkJ/NwLoAyAKQv////9vNwLgAyAKQn43AtgDIApC/v///283AtADQQAhEgNAIBJBA3QiDyAKQdADamoiBigCBCAIaiECIAYoAgAgB2oiBkEASARAIAooAowDIgwgBmohBiACIAxBBGpBCG9rQQRqIQILIAJBAEgEQCAKKAKIAyIMIAJqIQIgBiAMQQRqQQhva0EEaiEGCyAKQZADaiAPaiIM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AAwgAEEAOgAADAELEAAACyADLAArQQBIBEAgAygCIBAECyAIQQBODQAgAygCLBAECyADQUBrJAALsSABB38jAEFAaiICJABBASEFAkACQAJAAkACQAJAIAEgAGtBMG0OBgUFAAECAwQLIAFBJGsoAgAgACgCDE8NBCACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAFBMGsiASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgAikDODcCKCABIAIpAzA3AiAgASACKQMoNwIYIAEgAikDIDcCECABIAIpAxg3AgggASACKQMQNwIADAQLIAFBMGshAyABQSRrIgYoAgAhASAAKAI8IgQgACgCDE8EQCABIARPDQQgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCACIAApAjA3AxAgACADKQIoNwJYIAAgAykCIDcCUCAAIAMpAhg3AkggACADKQIQNwJAIAAgAykCCDcCOCAAIAMpAgA3AjAgAyACKQM4NwIoIAMgAikDMDcCICADIAIpAyg3AhggAyACKQMgNwIQIAMgAikDGDcCCCADIAIpAxA3AgAgACgCPCAAKAIMTw0EIAIgACkCKDcDOCACIAApAiA3AzAgAiAAKQIYNwMoIAIgACkCEDcDICACIAApAgg3AxggAiAAKQIANwMQIAAgACkCWDcCKCAAIAApAlA3AiAgACAAKQJINwIYIAAgACkCQDcCECAAIAApAjg3AgggACAAKQIwNwIAIAAgAikDODcCWCAAIAIpAzA3AlAgACACKQMoNwJIIAAgAikDIDcCQCAAIAIpAxg3AjggACACKQMQNwIwDAQLIAEgBEkEQCACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAMpAig3AiggACADKQIgNwIgIAAgAykCGDcCGCAAIAMpAhA3AhAgACADKQIINwIIIAAgAykCADcCACADIAIpAzg3AiggAyACKQMwNwIgIAMgAikDKDcCGCADIAIpAyA3AhAgAyACKQMYNwIIIAMgAikDEDcCAAwECyACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAApAlg3AiggACAAKQJQNwIgIAAgACkCSDcCGCAAIAApAkA3AhAgACAAKQI4NwIIIAAgACkCMDcCACAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4IAAgAikDEDcCMCAGKAIAIAAoAjxPDQMgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCACIAApAjA3AxAgACADKQIoNwJYIAAgAykCIDcCUCAAIAMpAhg3AkggACADKQIQNwJAIAAgAykCCDcCOCAAIAMpAgA3AjAgAyACKQM4NwIoIAMgAikDMDcCICADIAIpAyg3AhggAyACKQMgNwIQIAMgAikDGDcCCCADIAIpAxA3AgAMAwsgACgCbCEDAkAgACgCPCIEIAAoAgwiBk8EQCADIARPDQEgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCACIAApAjA3AxAgACAAKQKIATcCWCAAIAApAoABNwJQIAAgACkCeDcCSCAAIAApAnA3AkAgACAAKQJoNwI4IAAgACkCYDcCMCAAIAIpAzg3AogBIAAgAikDMDcCgAEgACACKQMoNwJ4IAAgAikDIDcCcCAAIAIpAxg3AmggACACKQMQNwJgIAAoAjwgBk8NASACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAApAlg3AiggACAAKQJQNwIgIAAgACkCSDcCGCAAIAApAkA3AhAgACAAKQI4NwIIIAAgACkCMDcCACAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4IAAgAikDEDcCMAwBCyADIARJBEAgAiAAKQIoNwM4IAIgACkCIDcDMCACIAApAhg3AyggAiAAKQIQNwMgIAIgACkCCDcDGCACIAApAgA3AxAgACAAKQKIATcCKCAAIAApAoABNwIgIAAgACkCeDcCGCAAIAApAnA3AhAgACAAKQJoNwIIIAAgACkCYDcCACAAIAIpAzg3AogBIAAgAikDMDcCgAEgACACKQMoNwJ4IAAgAikDIDcCcCAAIAIpAxg3AmggACACKQMQNwJgDAELIAIgACkCKDcDOCACIAApAiA3AzAgAiAAKQIYNwMoIAIgACkCEDcDICACIAApAgg3AxggAiAAKQIANwMQIAAgACkCWDcCKCAAIAApAlA3AiAgACAAKQJINwIYIAAgACkCQDcCECAAIAApAjg3AgggACAAKQIwNwIAIAAgAikDODcCWCAAIAIpAzA3AlAgACACKQMoNwJIIAAgAikDIDcCQCAAIAIpAxg3AjggACACKQMQNwIwIAMgACgCPE8NACACIAApAlg3AzggAiAAKQJQNwMwIAIgACkCSDcDKCACIAApAkA3AyAgAiAAKQI4NwMYIAIgACkCMDcDECAAIAApAogBNwJYIAAgACkCgAE3AlAgACAAKQJ4NwJIIAAgACkCcDcCQCAAIAApAmg3AjggACAAKQJgNwIwIAAgAikDODcCiAEgACACKQMwNwKAASAAIAIpAyg3AnggACACKQMgNwJwIAAgAikDGDcCaCAAIAIpAxA3AmALIAFBJGsoAgAgACgCbE8NAiACIAApAogBNwM4IAIgACkCgAE3AzAgAiAAKQJ4NwMoIAIgACkCcDcDICACIAApAmg3AxggAiAAKQJgNwMQIAAgAUEwayIBKQIoNwKIASAAIAEpAiA3AoABIAAgASkCGDcCeCAAIAEpAhA3AnAgACABKQIINwJoIAAgASkCADcCYCABIAIpAzg3AiggASACKQMwNwIgIAEgAikDKDcCGCABIAIpAyA3AhAgASACKQMYNwIIIAEgAikDEDcCACAAKAJsIAAoAjxPDQIgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCACIAApAjA3AxAgACAAKQKIATcCWCAAIAApAoABNwJQIAAgACkCeDcCSCAAIAApAnA3AkAgACAAKQJoNwI4IAAgACkCYDcCMCAAIAIpAzg3AogBIAAgAikDMDcCgAEgACACKQMoNwJ4IAAgAikDIDcCcCAAIAIpAxg3AmggACACKQMQNwJgIAAoAjwgACgCDE8NAiACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAApAlg3AiggACAAKQJQNwIgIAAgACkCSDcCGCAAIAApAkA3AhAgACAAKQI4NwIIIAAgACkCMDcCACAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4IAAgAikDEDcCMAwCCyAAIABBMGogAEHgAGogAEGQAWogAUEwaxC4AgwBCyAAQeAAaiEDIAAoAmwhBAJAIAAoAjwiBiAAKAIMIgdPBEAgBCAGTw0BIAIgACkCWDcDOCACIAApAlA3AzAgAiAAKQJINwMoIAIgACkCQDcDICACIAApAjg3AxggAiAAKQIwNwMQIAAgAykCKDcCWCAAIAMpAiA3AlAgACADKQIYNwJIIAAgAykCEDcCQCAAIAMpAgg3AjggACADKQIANwIwIAMgAikDODcCKCADIAIpAzA3AiAgAyACKQMoNwIYIAMgAikDIDcCECADIAIpAxg3AgggAyACKQMQNwIAIAAoAjwgB08NASACIAApAig3AzggAiAAKQIgNwMwIAIgACkCGDcDKCACIAApAhA3AyAgAiAAKQIINwMYIAIgACkCADcDECAAIAApAlg3AiggACAAKQJQNwIgIAAgACkCSDcCGCAAIAApAkA3AhAgACAAKQI4NwIIIAAgACkCMDcCACAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4IAAgAikDEDcCMAwBCyAEIAZJBEAgAiAAKQIoNwM4IAIgACkCIDcDMCACIAApAhg3AyggAiAAKQIQNwMgIAIgACkCCDcDGCACIAApAgA3AxAgACADKQIoNwIoIAAgAykCIDcCICAAIAMpAhg3AhggACADKQIQNwIQIAAgAykCCDcCCCAAIAMpAgA3AgAgAyACKQM4NwIoIAMgAikDMDcCICADIAIpAyg3AhggAyACKQMgNwIQIAMgAikDGDcCCCADIAIpAxA3AgAMAQsgAiAAKQIoNwM4IAIgACkCIDcDMCACIAApAhg3AyggAiAAKQIQNwMgIAIgACkCCDcDGCACIAApAgA3AxAgACAAKQJYNwIoIAAgACkCUDcCICAAIAApAkg3AhggACAAKQJANwIQIAAgACkCODcCCCAAIAApAjA3AgAgACACKQM4NwJYIAAgAikDMDcCUCAAIAIpAyg3AkggACACKQMgNwJAIAAgAikDGDcCOCAAIAIpAxA3AjAgBCAAKAI8Tw0AIAIgACkCWDcDOCACIAApAlA3AzAgAiAAKQJINwMoIAIgACkCQDcDICACIAApAjg3AxggAiAAKQIwNwMQIAAgAykCKDcCWCAAIAMpAiA3AlAgACADKQIYNwJIIAAgAykCEDcCQCAAIAMpAgg3AjggACADKQIANwIwIAMgAikDODcCKCADIAIpAzA3AiAgAyACKQMoNwIYIAMgAikDIDcCECADIAIpAxg3AgggAyACKQMQNwIACyAAQZABaiIEIAFGDQBBACEHA0ACQCAEKAIMIgggAygCDE8NACACIAQoAgg2AgggAiAEKQIANwMAIAIgBCkCGDcDGCACIAQpAiA3AyAgAiAEKQIoNwMoIAIgBCkCEDcDECAEIQYDQAJAIAYgAyIFKQIANwIAIAYgAykCKDcCKCAGIAMpAiA3AiAgBiADKQIYNwIYIAYgAykCEDcCECAGIAMpAgg3AgggACADRgRAIAAhBQwBCyAFQTBrIQMgCCAFIgZBJGsoAgBJDQELCyAFIAIpAwA3AgAgBSACKAIINgIIIAUgCDYCDCAFIAIpAxA3AhAgBSACKQMYNwIYIAUgAikDIDcCICAFIAIpAyg3AiggB0EBaiIHQQhHDQAgBEEwaiABRiEFDAILIAQiA0EwaiIFIQQgASAFRw0AC0EBIQULIAJBQGskACAFC6MSAQN/IwBBMGshBSACKAIMIQYCQCABKAIMIgcgACgCDE8EQCAGIAdPDQEgBSABKQIoNwMoIAUgASkCIDcDICAFIAEpAhg3AxggBSABKQIQNwMQIAUgASkCCDcDCCAFIAEpAgA3AwAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAFKQMoNwIoIAIgBSkDIDcCICACIAUpAxg3AhggAiAFKQMQNwIQIAIgBSkDCDcCCCACIAUpAwA3AgAgASgCDCAAKAIMTw0BIAUgACkCKDcDKCAFIAApAiA3AyAgBSAAKQIYNwMYIAUgACkCEDcDECAFIAApAgg3AwggBSAAKQIANwMAIAAgASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgBSkDKDcCKCABIAUpAyA3AiAgASAFKQMYNwIYIAEgBSkDEDcCECABIAUpAwg3AgggASAFKQMANwIADAELIAYgB0kEQCAFIAApAig3AyggBSAAKQIgNwMgIAUgACkCGDcDGCAFIAApAhA3AxAgBSAAKQIINwMIIAUgACkCADcDACAAIAIpAig3AiggACACKQIgNwIgIAAgAikCGDcCGCAAIAIpAhA3AhAgACACKQIINwIIIAAgAikCADcCACACIAUpAyg3AiggAiAFKQMgNwIgIAIgBSkDGDcCGCACIAUpAxA3AhAgAiAFKQMINwIIIAIgBSkDADcCAAwBCyAFIAApAig3AyggBSAAKQIgNwMgIAUgACkCGDcDGCAFIAApAhA3AxAgBSAAKQIINwMIIAUgACkCADcDACAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIAAgASkCADcCACABIAUpAyg3AiggASAFKQMgNwIgIAEgBSkDGDcCGCABIAUpAxA3AhAgASAFKQMINwIIIAEgBSkDADcCACACKAIMIAEoAgxPDQAgBSABKQIoNwMoIAUgASkCIDcDICAFIAEpAhg3AxggBSABKQIQNwMQIAUgASkCCDcDCCAFIAEpAgA3AwAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAFKQMoNwIoIAIgBSkDIDcCICACIAUpAxg3AhggAiAFKQMQNwIQIAIgBSkDCDcCCCACIAUpAwA3AgALAkAgAygCDCACKAIMTw0AIAUgAikCKDcDKCAFIAIpAiA3AyAgBSACKQIYNwMYIAUgAikCEDcDECAFIAIpAgg3AwggBSACKQIANwMAIAIgAykCKDcCKCACIAMpAiA3AiAgAiADKQIYNwIYIAIgAykCEDcCECACIAMpAgg3AgggAiADKQIANwIAIAMgBSkDKDcCKCADIAUpAyA3AiAgAyAFKQMYNwIYIAMgBSkDEDcCECADIAUpAwg3AgggAyAFKQMANwIAIAIoAgwgASgCDE8NACAFIAEpAig3AyggBSABKQIgNwMgIAUgASkCGDcDGCAFIAEpAhA3AxAgBSABKQIINwMIIAUgASkCADcDACABIAIpAig3AiggASACKQIgNwIgIAEgAikCGDcCGCABIAIpAhA3AhAgASACKQIINwIIIAEgAikCADcCACACIAUpAyg3AiggAiAFKQMgNwIgIAIgBSkDGDcCGCACIAUpAxA3AhAgAiAFKQMINwIIIAIgBSkDADcCACABKAIMIAAoAgxPDQAgBSAAKQIoNwMoIAUgACkCIDcDICAFIAApAhg3AxggBSAAKQIQNwMQIAUgACkCCDcDCCAFIAApAgA3AwAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgASAFKQMoNwIoIAEgBSkDIDcCICABIAUpAxg3AhggASAFKQMQNwIQIAEgBSkDCDcCCCABIAUpAwA3AgALAkAgBCgCDCADKAIMTw0AIAUgAykCKDcDKCAFIAMpAiA3AyAgBSADKQIYNwMYIAUgAykCEDcDECAFIAMpAgg3AwggBSADKQIANwMAIAMgBCkCKDcCKCADIAQpAiA3AiAgAyAEKQIYNwIYIAMgBCkCEDcCECADIAQpAgg3AgggAyAEKQIANwIAIAQgBSkDKDcCKCAEIAUpAyA3AiAgBCAFKQMYNwIYIAQgBSkDEDcCECAEIAUpAwg3AgggBCAFKQMANwIAIAMoAgwgAigCDE8NACAFIAIpAig3AyggBSACKQIgNwMgIAUgAikCGDcDGCAFIAIpAhA3AxAgBSACKQIINwMIIAUgAikCADcDACACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIIIAIgAykCADcCACADIAUpAyg3AiggAyAFKQMgNwIgIAMgBSkDGDcCGCADIAUpAxA3AhAgAyAFKQMINwIIIAMgBSkDADcCACACKAIMIAEoAgxPDQAgBSABKQIoNwMoIAUgASkCIDcDICAFIAEpAhg3AxggBSABKQIQNwMQIAUgASkCCDcDCCAFIAEpAgA3AwAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAFKQMoNwIoIAIgBSkDIDcCICACIAUpAxg3AhggAiAFKQMQNwIQIAIgBSkDCDcCCCACIAUpAwA3AgAgASgCDCAAKAIMTw0AIAUgACkCKDcDKCAFIAApAiA3AyAgBSAAKQIYNwMYIAUgACkCEDcDECAFIAApAgg3AwggBSAAKQIANwMAIAAgASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgBSkDKDcCKCABIAUpAyA3AiAgASAFKQMYNwIYIAEgBSkDEDcCECABIAUpAwg3AgggASAFKQMANwIACwsrAQF/IAAoAhQiAQRAIAAgATYCGCABEAQLIAAsABNBAEgEQCAAKAIIEAQLC5QCAQl/AkACQCAAKAIIQQV0IAFPDQAgAUEASA0BIAFBAWtBBXZBAWoiCEECdBAFIQZBACEBIAAoAgAhBSAGIAAoAgQiAkEBa0EFdkEAIAJBIU8bQQJ0akEANgIAIAIEQCACQR9xIQkgBSACQQN2Qfz///8BcWohCiAGIQQgBSECA0BBASABdCEDIAQCfyACKAIAIAd2QQFxBEAgBCgCACADcgwBCyAEKAIAIANBf3NxCzYCAEEAIAFBAWogAUEfRiIDGyEBIAQgA0ECdGohBCACIAdBH0YiA0ECdGohAkEAIAdBAWogAxsiByAJRw0AIAIgCkcNAAsLIAAgCDYCCCAAIAY2AgAgBUUNACAFEAQLDwsQAAALkQQBB38CQAJAAkAgASgCACIDQRhLDQAgACADQQxsaiICIgUoAhQiBCEAAkACQAJAIAQgAigCGCICRiIHDQAgASgCCCEGIAEoAgQhCANAAkAgACgCACADRw0AIAAoAgQgCEcNACAAKAIIIAZGDQILIABBMGoiACACRw0ACwwBCyAAIAJHDQELIAFBATYCDCAFKAIcIAJHBEAgAiABKQIANwIAIAIgASkCKDcCKCACIAEpAiA3AiAgAiABKQIYNwIYIAIgASkCEDcCECACIAEpAgg3AgggBSACQTBqNgIYDwsgAiAEa0EwbSIAQQFqIgNB1qrVKk8NAkHVqtUqIABBAXQiBiADIAMgBkkbIABBqtWqFU8bIgMEfyADQdaq1SpPDQQgA0EwbBAFBUEACyIGIABBMGxqIgAgASkCADcCACAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIABBMGohASAHRQRAA0AgAEEwayIAIAJBMGsiAikCADcCACAAIAIpAig3AiggACACKQIgNwIgIAAgAikCGDcCGCAAIAIpAhA3AhAgACACKQIINwIIIAIgBEcNAAsgBSgCFCEECyAFIAYgA0EwbGo2AhwgBSABNgIYIAUgADYCFCAERQ0BIAQQBA8LIAAgACgCDEEBajYCDAsPCxAAAAsQDQALnAUBFH8jAEGwAWsiAyQAAkAgAUEYTQRAIAIvAQIhCCACLwEGIQkgAi8BCiEKIAIvAQ4hCyACLwEAIQUgAi8BBCEGIAIvAQghByADIAIvAQwiDDYCrAEgAyAHNgKoASADIAY2AqQBIAMgBTYCoAEgAyALNgKcASADIAo2ApgBIAMgCTYClAEgAyAINgKQASADQoSAgIAwNwN4IANCh4CAgNAANwNwIANBATYCgAEgA0HMATYCYCADQrSAgICADTcDWCADQoSAgIDAAjcDUCADQZQfNgJAIANC7IqAgMDwAjcDOCADQoCAgIDAKzcDMCAAAn8gDCAHIAUgBmpqaiIEQQFxRSAEQQRrQQlJcUUEQCAAQQA6AABBAAwBCyABQQN0IgJBs+IAai0AACENIAJBsuIAai0AACEOIAJBseIAai0AACEPIAJBsOIAai0AACEQIAJBr+IAai0AACERIAJBruIAai0AACESIAJBreIAai0AACETIAJBrOIAai0AACEUIANBoAFqQQwgBGtBAXQiAiADQfAAamooAgAiBEEBEFYhFSADQZABakEJIARrQQAQViEEIANBMGogAmooAgAhFiADQdAAaiACaigCACECIAMgCCATbCAFIBRsaiAGIBJsaiAJIBFsaiAHIBBsaiAKIA9saiAMIA5saiALIA1sajYCCCADQQA2AgwgAyABNgIAIAMgFiAEIAIgFWxqakH//wNxNgIEIANCADcCECADQgA3AiggA0IANwIgIANCADcCGCAAIAMpAig3AiggACADKQIgNwIgIAAgAykCGDcCGCAAIAMpAhA3AhAgACADKQIINwIIIAAgAykCADcCAEEBCzoAMAwBCyAAQQA6ADAgAEEAOgAACyADQbABaiQAC6AMAgp/An0jAEHQAGsiBCQAQQEhBwJAAkAgASACKAIA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ps8ATQRAIAJBqcsARg0EIAJBycsARg0CIAJBuM0ARw0LQaDiAAwKCyACQafPAEYNBCACQaXTAEYNBiACQbTVAEcNCkGo4gAMCQsgAkHhlgJNBEAgAkGilwFGDQggAkGStQFGDQUgAkHy9AFHDQpBjOIADAkLIAJB4pYCRg0GIAJB0rQCRg0BQfzhACACQdK4AkYNCBoMCQtBgOIADAcLQYTiAAwGC0GI4gAMBQtBkOIADAQLQZTiAAwDC0GY4gAMAgtBnOIADAELQaTiAAtB/OEAa0ECdiICQf//A3FBAWoiA0H//wNxIANGDQELIABBADoAACAAQQA6AAgPCyAAIAGtIANBACACayABQQFxIgEbQX4gAmsgAyABGyACQQFxG61C//8Dg0IghoQ3AgAgAEEBOgAIC+QlAQd/IwBB0ABrIgIkAEEBIQYCQAJAAkACQAJAAkAgASAAa0E4bQ4GBQUAAQIDBAsgAUEkaygCACAAKAIUTg0EIAIgACkCMDcDSCACQUBrIgMgACkCKDcDACACIAApAiA3AzggAiAAKQIYNwMwIAIgACkCEDcDKCACIAApAgg3AyAgAiAAKQIANwMYIAAgAUE4ayIBKQIwNwIwIAAgASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgAikDSDcCMCABIAMpAwA3AiggASACKQM4NwIgIAEgAikDMDcCGCABIAIpAyg3AhAgASACKQMgNwIIIAEgAikDGDcCAAwECyABQThrIQMgAUEkayIFKAIAIQEgACgCTCIEIAAoAhROBEAgASAETg0EIAIgACkCaDcDSCACQUBrIgEgACkCYDcDACACIAApAlg3AzggAiAAKQJQNwMwIAIgACkCSDcDKCACIAApAkA3AyAgAiAAKQI4NwMYIAAgAykCMDcCaCAAIAMpAig3AmAgACADKQIgNwJYIAAgAykCGDcCUCAAIAMpAhA3AkggACADKQIINwJAIAAgAykCADcCOCADIAIpA0g3AjAgAyABKQMANwIoIAMgAikDODcCICADIAIpAzA3AhggAyACKQMoNwIQIAMgAikDIDcCCCADIAIpAxg3AgAgACgCTCAAKAIUTg0EIAIgACkCMDcDSCABIAApAig3AwAgAiAAKQIgNwM4IAIgACkCGDcDMCACIAApAhA3AyggAiAAKQIINwMgIAIgACkCADcDGCAAIAApAmg3AjAgACAAKQJgNwIoIAAgACkCWDcCICAAIAApAlA3AhggACAAKQJINwIQIAAgACkCQDcCCCAAIAApAjg3AgAgACACKQNINwJoIAAgASkDADcCYCAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4DAQLIAEgBEgEQCACIAApAjA3A0ggAkFAayIBIAApAig3AwAgAiAAKQIgNwM4IAIgACkCGDcDMCACIAApAhA3AyggAiAAKQIINwMgIAIgACkCADcDGCAAIAMpAjA3AjAgACADKQIoNwIoIAAgAykCIDcCICAAIAMpAhg3AhggACADKQIQNwIQIAAgAykCCDcCCCAAIAMpAgA3AgAgAyACKQNINwIwIAMgASkDADcCKCADIAIpAzg3AiAgAyACKQMwNwIYIAMgAikDKDcCECADIAIpAyA3AgggAyACKQMYNwIADAQLIAIgACkCMDcDSCACQUBrIgEgACkCKDcDACACIAApAiA3AzggAiAAKQIYNwMwIAIgACkCEDcDKCACIAApAgg3AyAgAiAAKQIANwMYIAAgACkCaDcCMCAAIAApAmA3AiggACAAKQJYNwIgIAAgACkCUDcCGCAAIAApAkg3AhAgACAAKQJANwIIIAAgACkCODcCACAAIAIpA0g3AmggACABKQMANwJgIAAgAikDODcCWCAAIAIpAzA3AlAgACACKQMoNwJIIAAgAikDIDcCQCAAIAIpAxg3AjggBSgCACAAKAJMTg0DIAIgACkCaDcDSCABIAApAmA3AwAgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCAAIAMpAjA3AmggACADKQIoNwJgIAAgAykCIDcCWCAAIAMpAhg3AlAgACADKQIQNwJIIAAgAykCCDcCQCAAIAMpAgA3AjggAyACKQNINwIwIAMgASkDADcCKCADIAIpAzg3AiAgAyACKQMwNwIYIAMgAikDKDcCECADIAIpAyA3AgggAyACKQMYNwIADAMLIAAoAoQBIQMCQCAAKAJMIgQgACgCFCIFTgRAIAMgBE4NASACIAApAmg3A0ggAkFAayIDIAApAmA3AwAgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCAAIAApAqABNwJoIAAgACkCmAE3AmAgACAAKQKQATcCWCAAIAApAogBNwJQIAAgACkCgAE3AkggACAAKQJ4NwJAIAAgACkCcDcCOCAAIAIpA0g3AqABIAAgAykDADcCmAEgACACKQM4NwKQASAAIAIpAzA3AogBIAAgAikDKDcCgAEgACACKQMgNwJ4IAAgAikDGDcCcCAAKAJMIAVODQEgAiAAKQIwNwNIIAMgACkCKDcDACACIAApAiA3AzggAiAAKQIYNwMwIAIgACkCEDcDKCACIAApAgg3AyAgAiAAKQIANwMYIAAgACkCaDcCMCAAIAApAmA3AiggACAAKQJYNwIgIAAgACkCUDcCGCAAIAApAkg3AhAgACAAKQJANwIIIAAgACkCODcCACAAIAIpA0g3AmggACADKQMANwJgIAAgAikDODcCWCAAIAIpAzA3AlAgACACKQMoNwJIIAAgAikDIDcCQCAAIAIpAxg3AjgMAQsgAyAESARAIAIgACkCMDcDSCACQUBrIgMgACkCKDcDACACIAApAiA3AzggAiAAKQIYNwMwIAIgACkCEDcDKCACIAApAgg3AyAgAiAAKQIANwMYIAAgACkCoAE3AjAgACAAKQKYATcCKCAAIAApApABNwIgIAAgACkCiAE3AhggACAAKQKAATcCECAAIAApAng3AgggACAAKQJwNwIAIAAgAikDSDcCoAEgACADKQMANwKYASAAIAIpAzg3ApABIAAgAikDMDcCiAEgACACKQMoNwKAASAAIAIpAyA3AnggACACKQMYNwJwDAELIAIgACkCMDcDSCACQUBrIgQgACkCKDcDACACIAApAiA3AzggAiAAKQIYNwMwIAIgACkCEDcDKCACIAApAgg3AyAgAiAAKQIANwMYIAAgACkCaDcCMCAAIAApAmA3AiggACAAKQJYNwIgIAAgACkCUDcCGCAAIAApAkg3AhAgACAAKQJANwIIIAAgACkCODcCACAAIAIpA0g3AmggACAEKQMANwJgIAAgAikDODcCWCAAIAIpAzA3AlAgACACKQMoNwJIIAAgAikDIDcCQCAAIAIpAxg3AjggAyAAKAJMTg0AIAIgACkCaDcDSCAEIAApAmA3AwAgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCAAIAApAqABNwJoIAAgACkCmAE3AmAgACAAKQKQATcCWCAAIAApAogBNwJQIAAgACkCgAE3AkggACAAKQJ4NwJAIAAgACkCcDcCOCAAIAIpA0g3AqABIAAgBCkDADcCmAEgACACKQM4NwKQASAAIAIpAzA3AogBIAAgAikDKDcCgAEgACACKQMgNwJ4IAAgAikDGDcCcAsgAUEkaygCACAAKAKEAU4NAiACIAApAqABNwNIIAJBQGsiAyAAKQKYATcDACACIAApApABNwM4IAIgACkCiAE3AzAgAiAAKQKAATcDKCACIAApAng3AyAgAiAAKQJwNwMYIAAgAUE4ayIBKQIwNwKgASAAIAEpAig3ApgBIAAgASkCIDcCkAEgACABKQIYNwKIASAAIAEpAhA3AoABIAAgASkCCDcCeCAAIAEpAgA3AnAgASACKQNINwIwIAEgAykDADcCKCABIAIpAzg3AiAgASACKQMwNwIYIAEgAikDKDcCECABIAIpAyA3AgggASACKQMYNwIAIAAoAoQBIAAoAkxODQIgAiAAKQJoNwNIIAMgACkCYDcDACACIAApAlg3AzggAiAAKQJQNwMwIAIgACkCSDcDKCACIAApAkA3AyAgAiAAKQI4NwMYIAAgACkCoAE3AmggACAAKQKYATcCYCAAIAApApABNwJYIAAgACkCiAE3AlAgACAAKQKAATcCSCAAIAApAng3AkAgACAAKQJwNwI4IAAgAikDSDcCoAEgACADKQMANwKYASAAIAIpAzg3ApABIAAgAikDMDcCiAEgACACKQMoNwKAASAAIAIpAyA3AnggACACKQMYNwJwIAAoAkwgACgCFE4NAiACIAApAjA3A0ggAyAAKQIoNwMAIAIgACkCIDcDOCACIAApAhg3AzAgAiAAKQIQNwMoIAIgACkCCDcDICACIAApAgA3AxggACAAKQJoNwIwIAAgACkCYDcCKCAAIAApAlg3AiAgACAAKQJQNwIYIAAgACkCSDcCECAAIAApAkA3AgggACAAKQI4NwIAIAAgAikDSDcCaCAAIAMpAwA3AmAgACACKQM4NwJYIAAgAikDMDcCUCAAIAIpAyg3AkggACACKQMgNwJAIAAgAikDGDcCOAwCCyAAIABBOGogAEHwAGogAEGoAWogAUE4axDAAgwBCyAAQfAAaiEDIAAoAoQBIQQCQCAAKAJMIgUgACgCFCIHTgRAIAQgBU4NASACIAApAmg3A0ggAkFAayIEIAApAmA3AwAgAiAAKQJYNwM4IAIgACkCUDcDMCACIAApAkg3AyggAiAAKQJANwMgIAIgACkCODcDGCAAIAMpAjA3AmggACADKQIoNwJgIAAgAykCIDcCWCAAIAMpAhg3AlAgACADKQIQNwJIIAAgAykCCDcCQCAAIAMpAgA3AjggAyACKQNINwIwIAMgBCkDADcCKCADIAIpAzg3AiAgAyACKQMwNwIYIAMgAikDKDcCECADIAIpAyA3AgggAyACKQMYNwIAIAAoAkwgB04NASACIAApAjA3A0ggBCAAKQIoNwMAIAIgACkCIDcDOCACIAApAhg3AzAgAiAAKQIQNwMoIAIgACkCCDcDICACIAApAgA3AxggACAAKQJoNwIwIAAgACkCYDcCKCAAIAApAlg3AiAgACAAKQJQNwIYIAAgACkCSDcCECAAIAApAkA3AgggACAAKQI4NwIAIAAgAikDSDcCaCAAIAQpAwA3AmAgACACKQM4NwJYIAAgAikDMDcCUCAAIAIpAyg3AkggACACKQMgNwJAIAAgAikDGDcCOAwBCyAEIAVIBEAgAiAAKQIwNwNIIAJBQGsiBCAAKQIoNwMAIAIgACkCIDcDOCACIAApAhg3AzAgAiAAKQIQNwMoIAIgACkCCDcDICACIAApAgA3AxggACADKQIwNwIwIAAgAykCKDcCKCAAIAMpAiA3AiAgACADKQIYNwIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIAIAMgAikDSDcCMCADIAQpAwA3AiggAyACKQM4NwIgIAMgAikDMDcCGCADIAIpAyg3AhAgAyACKQMgNwIIIAMgAikDGDcCAAwBCyACIAApAjA3A0ggAkFAayIFIAApAig3AwAgAiAAKQIgNwM4IAIgACkCGDcDMCACIAApAhA3AyggAiAAKQIINwMgIAIgACkCADcDGCAAIAApAmg3AjAgACAAKQJgNwIoIAAgACkCWDcCICAAIAApAlA3AhggACAAKQJINwIQIAAgACkCQDcCCCAAIAApAjg3AgAgACACKQNINwJoIAAgBSkDADcCYCAAIAIpAzg3AlggACACKQMwNwJQIAAgAikDKDcCSCAAIAIpAyA3AkAgACACKQMYNwI4IAQgACgCTE4NACACIAApAmg3A0ggBSAAKQJgNwMAIAIgACkCWDcDOCACIAApAlA3AzAgAiAAKQJINwMoIAIgACkCQDcDICACIAApAjg3AxggACADKQIwNwJoIAAgAykCKDcCYCAAIAMpAiA3AlggACADKQIYNwJQIAAgAykCEDcCSCAAIAMpAgg3AkAgACADKQIANwI4IAMgAikDSDcCMCADIAUpAwA3AiggAyACKQM4NwIgIAMgAikDMDcCGCADIAIpAyg3AhAgAyACKQMgNwIIIAMgAikDGDcCAAsgAEGoAWoiBCABRg0AQQAhBwNAAkAgBCgCFCIIIAMoAhRODQAgAiAEKQIINwMIIAIgBCgCEDYCECACIAQpAgA3AwAgAiAEKQIgNwMgIAIgBCkCKDcDKCACIAQpAjA3AzAgAiAEKQIYNwMYIAQhBQNAAkAgBSADIgYpAgA3AgAgBSADKQIwNwIwIAUgAykCKDcCKCAFIAMpAiA3AiAgBSADKQIYNwIYIAUgAykCEDcCECAFIAMpAgg3AgggACADRgRAIAAhBgwBCyAGQThrIQMgCCAGIgVBJGsoAgBIDQELCyAGIAIpAwA3AgAgBiACKAIQNgIQIAYgAikDCDcCCCAGIAg2AhQgBiACKQMYNwIYIAYgAikDIDcCICAGIAIpAyg3AiggBiACKQMwNwIwIAdBAWoiB0EIRw0AIARBOGogAUYhBgwCCyAEIgNBOGoiBiEEIAEgBkcNAAtBASEGCyACQdAAaiQAIAYLixUBA38jAEFAaiEFIAIoAhQhBgJAIAEoAhQiByAAKAIUTgRAIAYgB04NASAFIAEpAjA3AzggBSABKQIoNwMwIAUgASkCIDcDKCAFIAEpAhg3AyAgBSABKQIQNwMYIAUgASkCCDcDECAFIAEpAgA3AwggASACKQIwNwIwIAEgAikCKDcCKCABIAIpAiA3AiAgASACKQIYNwIYIAEgAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIAIgBSkDODcCMCACIAUpAzA3AiggAiAFKQMoNwIgIAIgBSkDIDcCGCACIAUpAxg3AhAgAiAFKQMQNwIIIAIgBSkDCDcCACABKAIUIAAoAhRODQEgBSAAKQIwNwM4IAUgACkCKDcDMCAFIAApAiA3AyggBSAAKQIYNwMgIAUgACkCEDcDGCAFIAApAgg3AxAgBSAAKQIANwMIIAAgASkCMDcCMCAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIAAgASkCADcCACABIAUpAzg3AjAgASAFKQMwNwIoIAEgBSkDKDcCICABIAUpAyA3AhggASAFKQMYNwIQIAEgBSkDEDcCCCABIAUpAwg3AgAMAQsgBiAHSARAIAUgACkCMDcDOCAFIAApAig3AzAgBSAAKQIgNwMoIAUgACkCGDcDICAFIAApAhA3AxggBSAAKQIINwMQIAUgACkCADcDCCAAIAIpAjA3AjAgACACKQIoNwIoIAAgAikCIDcCICAAIAIpAhg3AhggACACKQIQNwIQIAAgAikCCDcCCCAAIAIpAgA3AgAgAiAFKQM4NwIwIAIgBSkDMDcCKCACIAUpAyg3AiAgAiAFKQMgNwIYIAIgBSkDGDcCECACIAUpAxA3AgggAiAFKQMINwIADAELIAUgACkCMDcDOCAFIAApAig3AzAgBSAAKQIgNwMoIAUgACkCGDcDICAFIAApAhA3AxggBSAAKQIINwMQIAUgACkCADcDCCAAIAEpAjA3AjAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgASAFKQM4NwIwIAEgBSkDMDcCKCABIAUpAyg3AiAgASAFKQMgNwIYIAEgBSkDGDcCECABIAUpAxA3AgggASAFKQMINwIAIAIoAhQgASgCFE4NACAFIAEpAjA3AzggBSABKQIoNwMwIAUgASkCIDcDKCAFIAEpAhg3AyAgBSABKQIQNwMYIAUgASkCCDcDECAFIAEpAgA3AwggASACKQIwNwIwIAEgAikCKDcCKCABIAIpAiA3AiAgASACKQIYNwIYIAEgAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIAIgBSkDODcCMCACIAUpAzA3AiggAiAFKQMoNwIgIAIgBSkDIDcCGCACIAUpAxg3AhAgAiAFKQMQNwIIIAIgBSkDCDcCAAsCQCADKAIUIAIoAhRODQAgBSACKQIwNwM4IAUgAikCKDcDMCAFIAIpAiA3AyggBSACKQIYNwMgIAUgAikCEDcDGCAFIAIpAgg3AxAgBSACKQIANwMIIAIgAykCMDcCMCACIAMpAig3AiggAiADKQIgNwIgIAIgAykCGDcCGCACIAMpAhA3AhAgAiADKQIINwIIIAIgAykCADcCACADIAUpAzg3AjAgAyAFKQMwNwIoIAMgBSkDKDcCICADIAUpAyA3AhggAyAFKQMYNwIQIAMgBSkDEDcCCCADIAUpAwg3AgAgAigCFCABKAIUTg0AIAUgASkCMDcDOCAFIAEpAig3AzAgBSABKQIgNwMoIAUgASkCGDcDICAFIAEpAhA3AxggBSABKQIINwMQIAUgASkCADcDCCABIAIpAjA3AjAgASACKQIoNwIoIAEgAikCIDcCICABIAIpAhg3AhggASACKQIQNwIQIAEgAikCCDcCCCABIAIpAgA3AgAgAiAFKQM4NwIwIAIgBSkDMDcCKCACIAUpAyg3AiAgAiAFKQMgNwIYIAIgBSkDGDcCECACIAUpAxA3AgggAiAFKQMINwIAIAEoAhQgACgCFE4NACAFIAApAjA3AzggBSAAKQIoNwMwIAUgACkCIDcDKCAFIAApAhg3AyAgBSAAKQIQNwMYIAUgACkCCDcDECAFIAApAgA3AwggACABKQIwNwIwIAAgASkCKDcCKCAAIAEpAiA3AiAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAEgBSkDODcCMCABIAUpAzA3AiggASAFKQMoNwIgIAEgBSkDIDcCGCABIAUpAxg3AhAgASAFKQMQNwIIIAEgBSkDCDcCAAsCQCAEKAIUIAMoAhRODQAgBSADKQIwNwM4IAUgAykCKDcDMCAFIAMpAiA3AyggBSADKQIYNwMgIAUgAykCEDcDGCAFIAMpAgg3AxAgBSADKQIANwMIIAMgBCkCMDcCMCADIAQpAig3AiggAyAEKQIgNwIgIAMgBCkCGDcCGCADIAQpAhA3AhAgAyAEKQIINwIIIAMgBCkCADcCACAEIAUpAzg3AjAgBCAFKQMwNwIoIAQgBSkDKDcCICAEIAUpAyA3AhggBCAFKQMYNwIQIAQgBSkDEDcCCCAEIAUpAwg3AgAgAygCFCACKAIUTg0AIAUgAikCMDcDOCAFIAIpAig3AzAgBSACKQIgNwMoIAUgAikCGDcDICAFIAIpAhA3AxggBSACKQIINwMQIAUgAikCADcDCCACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCCACIAMpAgA3AgAgAyAFKQM4NwIwIAMgBSkDMDcCKCADIAUpAyg3AiAgAyAFKQMgNwIYIAMgBSkDGDcCECADIAUpAxA3AgggAyAFKQMINwIAIAIoAhQgASgCFE4NACAFIAEpAjA3AzggBSABKQIoNwMwIAUgASkCIDcDKCAFIAEpAhg3AyAgBSABKQIQNwMYIAUgASkCCDcDECAFIAEpAgA3AwggASACKQIwNwIwIAEgAikCKDcCKCABIAIpAiA3AiAgASACKQIYNwIYIAEgAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIAIgBSkDODcCMCACIAUpAzA3AiggAiAFKQMoNwIgIAIgBSkDIDcCGCACIAUpAxg3AhAgAiAFKQMQNwIIIAIgBSkDCDcCACABKAIUIAAoAhRODQAgBSAAKQIwNwM4IAUgACkCKDcDMCAFIAApAiA3AyggBSAAKQIYNwMgIAUgACkCEDcDGCAFIAApAgg3AxAgBSAAKQIANwMIIAAgASkCMDcCMCAAIAEpAig3AiggACABKQIgNwIgIAAgASkCGDcCGCAAIAEpAhA3AhAgACABKQIINwIIIAAgASkCADcCACABIAUpAzg3AjAgASAFKQMwNwIoIAEgBSkDKDcCICABIAUpAyA3AhggASAFKQMYNwIQIAEgBSkDEDcCCCABIAUpAwg3AgALC7QEAQd/IwBBIGsiBSQAIAAtAAwhACADQQA2AgAgAyABKAIAIAJBAXNBAkEDIAIbIAAbQQN0IgBBzN4Aai0AAGwiBDYCACADIAQgASgCBCAAQc3eAGotAABsaiIENgIAIAMgBCABKAIIIABBzt4Aai0AAGxqIgQ2AgAgAyAEIAEoAgwgAEHP3gBqLQAAbGoiBDYCACADIAQgASgCECAAQdDeAGotAABsaiIENgIAIAMgBCABKAIUIABB0d4Aai0AAGxqIgQ2AgAgAyAEIAEoAhggAEHS3gBqLQAAbGoiBDYCACADIAQgASgCHCAAQdPeAGotAABsajYCACAFIAEoAgAiADYCECAFIAEoAggiAzYCFCAFIAEoAhAiBDYCGCAFIAEoAhgiBjYCHCAFIAEoAgQiBzYCACAFIAEoAgwiCDYCBCAFIAEoAhQiCTYCCCAFIAEoAhwiCjYCDAJAAn8gAgRAQX8hASAGIAQgACADampqIgBBAXENAiAAQQRrQQhLDQJBDCAAa0EBdCIAQfDeAGooAgAgBUEQaiAAQdDfAGooAgAiAUEAEFZsIAVBCSABa0EBEFZqIQEgAEGg3wBqDAELQX8hASAKIAkgByAIampqIgBBAXENASAAQQRrQQZLDQFBCiAAa0EBdCIAQZDfAGooAgAhASAFQRBqIABB8N8AaigCACICQQEQViAFQQkgAmtBABBWIAFsaiEBIABBwN8AagsoAgAgAWohAQsgBUEgaiQAIAELwgQBCX8gASgCACIFIQICQAJAAkACQAJAAkAgBSABKAIEIgNGIgcNACAAKAIQIQQgACgCDCEGIAAoAgghCCAAKAIEIQkgACgCACEKA0ACQCACKAIAIApHDQAgAigCBCAJRw0AIAIoAgggCEcNACACKAIMIAZHDQAgAigCECAERg0CCyACQThqIgIgA0cNAAsMAQsgAiADRw0BCyAAQQE2AhQgASgCCCADRwRAIAMgACkCADcCACADIAApAjA3AjAgAyAAKQIoNwIoIAMgACkCIDcCICADIAApAhg3AhggAyAAKQIQNwIQIAMgACkCCDcCCCABIANBOGo2AgQPCyADIAVrQThtIgJBAWoiBEGlkskkTw0CQaSSySQgAkEBdCIGIAQgBCAGSRsgAkGSyaQSTxsiBAR/IARBpZLJJE8NBCAEQThsEAUFQQALIgYgAkE4bGoiAiAAKQIANwIAIAIgACkCMDcCMCACIAApAig3AiggAiAAKQIgNwIgIAIgACkCGDcCGCACIAApAhA3AhAgAiAAKQIINwIIIAJBOGohACAHRQRAA0AgAkE4ayICIANBOGsiAykCADcCACACIAMpAjA3AjAgAiADKQIoNwIoIAIgAykCIDcCICACIAMpAhg3AhggAiADKQIQNwIQIAIgAykCCDcCCCADIAVHDQALIAEoAgAhBQsgASAGIARBOGxqNgIIIAEgADYCBCABIAI2AgAgBUUNASAFEAQPCyACIAIoAhRBAWo2AhQLDwsQAAALEA0AC48OAg5/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ByAEQQxqIgAQEgRAIwBBMGsiASQAIABBADYCECAAQgA3AgggACAHNgIEIABByOsANgIAIABCADcCFCAAQbDKADYCACAAQgA3AhwgAEIANwIkIABCADcCLCAAQgA3AjQgAEIANwI8IABCADcCRCAAQgA3AkwgAUEGNgIgIAFBKGogByABQSBqIgIQZSAAIAEoAihBBCABLQAsGzYCDCABQQY2AhggAiAHIAFBGGoiAhBkIAAgASgCIEEgIAEtACQbNgIQIAFBBjYCECACIAcgAUEQaiICED4gAS0AHCEGIAEoAhghBSAAQQA7AVQgACAFQQUgBhs2AgggAUEGNgIMIAIgByABQQxqEMUCAkAgAS0AFEUNACAAIAEoAhAiAkEARzoAVCACQQJHDQAgAEEBOgBVCyABQTBqJABB2AAQBSIBIAApAgw3AgwgASAAKQIENwIEIAFBsMoANgIAIAFBFGogAEEUakHCABAHGiAEIAE2AswCAkAgAygCRCIAIAMoAkhJBEAgBEEANgLMAiAAIAE2AgAgAyAAQQRqNgJEDAELIAwgBEHMAmoQQgsgBCgCzAIhACAEQQA2AswCIAAEQCAAIAAoAgAoAgQRAAALCyAEQQc2AgwgByAEQQxqIgAQEgRAIwBBIGsiASQAIABBADYCECAAQgA3AgggACAHNgIEIABByOsANgIAIABBADYCICAAQgA3AhggAEHYzgA2AgAgAUEHNgIQIAFBGGogByABQRBqIgIQZSAAIAEoAhhBBCABLQAcGzYCDCABQQc2AgggAiAHIAFBCGoiAhBkIAAgASgCEEEgIAEtABQbNgIQIAFBBzYCBCACIAcgAUEEahA+IAAgASgCCEEFIAEtAAwbNgIIIAAgACgCDEEGbEEZajYCFCABQSBqJABBJBAFIgEgACkCDDcCDCABIAApAgQ3AgQgAUHYzgA2AgAgACgCFCECIAFBADYCICABQgA3AhggASACNgIUIAAoAhwiAiAAKAIYIgZHBEAgAiAGayICQQBIDQIgASACEAUiBTYCGCABIAIgBWoiCTYCICAFIAYgAhAHGiABIAk2AhwLIAQgATYCzAICQCADKAJEIgIgAygCSEkEQCAEQQA2AswCIAIgATYCACADIAJBBGo2AkQMAQsgDCAEQcwCahBCCyAEKALMAiEBIARBADYCzAIgAQRAIAEg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IgANAEHwASECQa4+LQAAIgANAEHoASECQa0+LQAAIgANAEHgASECQaw+LQAAIgANAEHYASECQas+LQAAIgANAEHQASECQao+LQAAIgANAEHIASECQak+LQAAIgANAEHAASECQag+LQAAIgANAEG4ASECQac+LQAAIgANAEGwASECQaY+LQAAIgANAEGoASECQaU+LQAAIgANAEGgASECQaQ+LQAAIgANAEGYASECQaM+LQAAIgANAEGQASECQaI+LQAAIgANAEGIASECQaE+LQAAIgANAEGAASECQaA+LQAAIgANAEH4ACECQZ8+LQAAIgANAEHwACECQZ4+LQAAIgANAEHoACECQZ0+LQAAIgANAEHgACECQZw+LQAAIgANAEHYACECQZs+LQAAIgANAEHQACECQZo+LQAAIgANAEHIACECQZk+LQAAIgANAEHAACECQZg+LQAAIgANAEE4IQJBlz4tAAAiAA0AQTAhAkGWPi0AACIADQBBKCECQZU+LQAAIgANAEEgIQJBlD4tAAAiAA0AQRghAkGTPi0AACIADQBBECECQZI+LQAAIgANAEEIIQJBkT4tAAAiAA0AQQAhAkGQPi0AACIADQBBeCECQY8+LQAAIgANAEF3DAELA0AgAiIEQQFqIQIgACIGQQF2IQAgBkEBSw0ACyAECyEAIANCADcAGCADQgA3ABAgA0IANwAIIANCADcAAEGABCAAQQFrIgAgAEGABE4bIhFBB3EhBgJAIBFBA3UiAkEATA0AIAhBwAAgAmtqIQRBACEAIAJBBE8EQCACQfz///8HcSETA0AgACADaiAAIARqLQAAOgAAIAMgAEEBciIOaiAEIA5qLQAAOgAAIAMgAEECciIOaiAEIA5qLQAAOgAAIAMgAEEDciIOaiAEIA5qLQAAOgAAIABBBGohACANQQRqIg0gE0cNAAsLIAJBA3EiDUUNAANAIAAgA2ogACAEai0AADoAACAAQQFqIQAgEEEBaiIQIA1HDQALCyAGBEAgAyAGENwBIAMgAy0AACAIIAJBf3NqQUBrLQAAQQggBmt2cjoAAAsgEUF/c0GABGoiAEEATgRAA0AgCCAAIgJBA3ZqLQAAIQAgA0EBENwBIAMgAy0AACAAIAJBB3F2QQFxcjoAAEEAIQBBACEEIwBBIGshBgNAIAQgBmogAyAEai0AACAA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DQQgCEH/////ByACIA9rIgRBAXQiAiAFIAIgBUsbIARB/////wNPGyICBH8gAhAFBUEACyIEaiIFIAY6AAAgAiAEaiESIAVBAWohBgJAIAcgD0YEQCAFIQQMAQtBACELIAchAiAIQQNxIggEQANAIAVBAWsiBSACQQFrIgItAAA6AAAgC0EBaiILIAhHDQALCyAPIAdrQXxNBEADQCAFQQFrIAJBAWstAAA6AAAgBUECayACQQJrLQAAOgAAIAVBA2sgAkEDay0AADoAACAFQQRrIgUgAkEEayICLQAAOgAAIAIgD0cNAAsLIAEoAhghBwsgASASNgIgIAEgBjYCHCABIAQ2AhggB0UNACAHEAQgASgCHCEGCyANQQpvQTBqIQcCQCABKAIgIgIgBksEQCAGIAc6AAAgASAGQQFqIgc2AhwMAQsgBiABKAIYIg1rIghBAWoiBUEASA0EIAhB/////wcgAiANayIEQQF0IgIgBSACIAVLGyAEQf////8DTxsiAgR/IAIQBQVBAAsiBGoiBSAHOgAAIAIgBGohEiAFQQFqIQcCQCAGIA1GBEAgBSEEDAELQQAhCyAGIQIgCEEDcSIIBEADQCAFQQFrIgUgAkEBayICLQAAOgAAIAtBAWoiCyAIRw0ACwsgDSAGa0F8TQRAA0AgBUEBayACQQFrLQAAOgAAIAVBAmsgAkECay0AADoAACAFQQNrIAJBA2stAAA6AAAgBUEEayIFIAJBBGsiAi0AADoAACACIA1HDQALCyABKAIYIQYLIAEgEjYCICABIAc2AhwgASAENgIYIAZFDQAgBhAEIAEoAhwhBwsgASgCECAHIAEoAhhrSQRAIABBADoASCAAQQA6AAAMAwsgCkEKaiIKIBVJDQALCyAAQQA6AEggAEEAOgAACyAJQYABaiQADAELEAAACyAALQBIDQQLIA5BAmoiDiAUSA0ACwsLIABBADoAACAAQQA6AEgLCwwAIAAQpAEaIAAQBAs0AEHA1wEoAgAiAARAQcTXASAANgIAIAAQBAtBtNcBKAIAIgAEQEG41wEgADYCACAAEAQLCzQAQZzXASgCACIABEBBoNcBIAA2AgAgABAEC0GQ1wEoAgAiAARAQZTXASAANgIAIAAQBAsLNABB+NYBKAIAIgAEQEH81gEgADYCACAAEAQLQezWASgCACIABEBB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QCADQQFqQQBIDQcgBEGMAWogA0H+////A00EfyAFQQZ0IgUgA0Hg////A3FBIGoiAyADIAVJGwVB/////wcLELoCIAQoApABIQMLIAQgA0EBajYCkAFBASADdCEFIAQoAowBIANBA3ZB/P///wFxaiIIAn8gCkEBIAFBAWsiA3RxBEAgCCgCACAFcgwBCyAIKAIAIAVBf3NxCzYCACABQQFLIRAgAyEBIBANAAsgAkEwaiICIAZHDQALCyAEQfgAaiEFIwBB4ABrIgIkAAJAIARBjAFqIgMoAgRBAU0EQCAFQQA6AAwgBUEAOgAADAELIAJBDGoiASADNgIAIAMoAgAhAyABQQA2AgggASADNgIEIAFBARAWGgJAAkACQCABQQEQKkEBRgRAIAFBARAWIgFBAhAWGiACQShqIgMgAUEEEB8QywEgAkFAayADQeEUEGwiAygCCDYCACACIAMpAgA3AzggA0IANwIAIANBADYCCCACQcgAaiACQThqIAEQYyACLABDQQBIBEAgAigCOBAECyACLAAzQQBIBEAgAigCKBAECyACLQBURQRAIAVBADoADCAFQQA6AAAMBQsgAkEoaiABEK0BIAItADRFDQIgAigCLCACLAAzIgogCkEASBsiCyACKAJMIAIsAFMiASABQQBIGyIMaiIDQfD///8HTw0BAkAgA0EKTQRAIAJBADYCICACQgA3AxggAiADOgAjIAJBGGohCAwBCyADQQ9yQQFqIgkQBSEIIAIgAzYCHCACIAg2AhggAiAJQYCAgIB4cjYCIAsgDARAIAggAigCSCACQcgAaiABQQBIGyAMEAwaCyAIIAxqIQMgCwRAIAMgAigCKCACQShqIApBAEgbIAsQDBoLIAMgC2pBADoAACAFIAIoAiA2AgggBSACKQMYNwIAIAVBAToADCAKQQBODQMgAigCKBAEDAMLIAFBAhAqRQRAIAFBAhAWIgFBAhAWGiAFIAEQrQEMBAsCQAJAAkAgAUEEECpBBGsOAgABAgsgAUEEEBYhASACQQM6ADMgAkEAOgArIAJB/hMvAAA7ASggAkGAFC0AADoAKiACQcgAaiACQShqIAEQYyACLAAzQQBIBEAgAigCKBAECyACLQBURQRAIAVBADoADCAFQQA6AAAMBgsCQCACLABTIghBAE4EQCACQUBrIAIoAlA2AgAg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bHRpcGx5AEdlbmVyaWNHRlBvbHkASW52YWxpZCBsaWNlbnNlIGtleQBFeHBpcmVkIGxpY2Vuc2Uga2V5AE1hbGZvcm1lZCBsaWNlbnNlIGtleQBkYXRhbWF0cml4AHUlMDR4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAdwB2AHUAaHlzdGVyZXNpc01pbkNvdW50AGFkZE9yU3VidHJhY3QAcG9pbnRzAGlzcwBQREY0MTc6IGZhaWxlZCB0byBkZXRlcm1pbmUgc3RydWN0dXJhbCBwYXJhbWV0ZXJzAG1heENhbmRpZGF0ZXMAY2FwYWJpbGl0aWVzAHN5bWJvbG9naWVzAGludmVydGVkQ29kZXMAcXVhZHMAcm91bmRlZEZQcwBzMlBhZGRpbmdGYWN0b3IAczFQYWRkaW5nRmFjdG9yAFBERjQxNzogRm9ybWF0IGVycm9yAFFSIENvZGU6IHVua25vd24gZXJyb3IARGF0YSBNYXRyaXg6IEVDQyBlcnJvcgBBenRlYyBDb2RlOiBFQ0MgZXJyb3IAUVIgQ29kZTogRUNDIGVycm9yAFBERjQxNzogRUNDIGVycm9yAEF6dGVjIENvZGU6IE1NIEVDQyBFcnJvcgBkYXRhYmFyAGNvZGFiYXIAcQBkYXRhYmFyLWV4cAAuLi92ZW5kb3IvenhpbmcvR2VuZXJpY0dGUG9seS5jcHAAZGV2LnN0cmljaC5pbwBQREY0MTc6IFRvbyBtYW55IGNvZGV3b3JkcyBpbiBudW1lcmljIGNvbXBhY3Rpb24AUERGNDE3OiBVbmFibGUgdG8gZGVjb2RlIG51bWVyaWMgY29tcGFjdGlvbgBFbXB0eSBKU09OIGNvbmZpZ3VyYXRpb24AdmVyc2lvbgBtYXhMZW4AbWluTGVuAG5hbgBtAG51bGwAaHlzdGVyZXNpc0ludGVydmFsAG11bHRpcGx5QnlNb25vbWlhbABzZXRNb25vbWlhbABrAGoAaQAuLi92ZW5kb3IvenhpbmcvR2VuZXJpY0dGUG9seS5oAGJhc2ljX3N0cmluZwBob3J6U2NhbmxpbmVTcGFjaW5nAHZlcnRTY2FubGluZVNwYWNpbmcAJWxnACUxLjE3ZwAlMS4xNWcAaW5mAHRydWUAZmFsc2UAb2ZmbGluZQBuYW1lAGNoZWNrc3VtTW9kZQBkaXZpZGUAYXVkAF9maWVsZCA9PSBvdGhlci5fZmllbGQAU0RLIHdhcyBub3QgaW5pdGlhbGl6ZWQAY3VydmVkAFBERjQxNzogRUNJIGlzIG5vdCBzdXBwb3J0ZWQAUERGNDE3OiBFQ0kgbm90IHN1cHBvcnRlZABNYWNybyBQREY0MTcgbm90IHN1cHBvcnRlZABQREY0MTc6IGluc3VmZmljaWVudCBjb2Rld29yZHMgc2FtcGxlZABtaW5TY2FubGluZXNOZWVkZWQAUERGNDE3IFJFQURFUl9JTklUIG1pc3BsYWNlZABQREY0MTcgTElOS0FHRSBFQU4vVUNDIG1pc3BsYWNlZAAlZABhenRlYwBzdWIAMzU2YmYwYgBiZXRhAGAAQ1RSTF8AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXwAwMTIzNDU2Nzg5Jg0JLDojLS4kLyslKj1eAF0AXABbAFoAWQBYAFcAVgBVAFQAQ1RSTF9VUwBDVFJMX1BTAENUUkxfQlMAUgBRAFAATwBGTEdOAE5BTgBNAENUUkxfVUwAQ1RSTF9QTABDVFJMX01MAENUUkxfTEwAQ1RSTF9ETABLAEoASQBIAEcASU5GAEUAcHJlUHJvY2VzczFEAEMAQgBBAEAAPwA+AD0APAA7ADAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiAkJSorLS4vOgBjb2RlMzkAMDE5AGNvZGUxMjgAcGRmNDE3AF1GNgBdUTUAaTI1ADE1AF1FNABdUTMAXUEzAGNvZGU5MwBlYW4xMwAzMjAzADMxMDMAczIAXUYyADMyMDIAczEAXWQxAF1RMQBdQTEAMTEAMDEAXWUwAF1MMABdSTAAXUcwAF1GMABdRTAAXUEwADMyMAAzMTAAZGVncmVlID49IDAAKiwtLi8ALgAtACwAKwAqAFBERjQxNzogRm9ybWF0IGVycm9yIChpbnZhbGlkIGNvdW50KQBJbnZhbGlkIHZhbHVlIGZvciBzeW1ib2xvZ3kgbWF4TGVuIChoYXMgdG8gYmUgZ3JlYXRlciBvciBlcXVhbCB0byBtaW5MZW4pAChudWxsKQBQREY0MTc6IEZvcm1hdCBlcnJvciAoaW52YWxpZCBjb2Rld29yZCkAUERGNDE3OiBGb3JtYXQgZXJyb3IgKGNvZGV3b3JkcyBleGhhdXN0ZWQpAFBERjQxNyAocmVzZXJ2ZWQgY29kZXdvcmQgZW5jb3VudGVyZWQpAFBERjQxNyAoTElOS0FHRV9PVEhFUikARmFpbGVkIHRvIHBhcnNlIGNvbmZpZ3VyYXRpb24gKG1hbGZvcm1lZCBKU09OKQBVbnN1cHBvcnRlZCBzeW1ib2xvZ3kgY29uZmlnIGVudHJ5LCBiYWQgdmFsdWUgZm9yIGZpZWxkICdjaGVja3N1bU1vZGUnIChtdXN0IGJlIGVpdGhlciAwLCAxIG9yIDIpAFVuc3VwcG9ydGVkIHN5bWJvbG9neSBjb25maWcgZW50cnksIGJhZCB2YWx1ZSBmb3IgZmllbGQgJ3F6JyAobXVzdCBiZSA+PSAwKQBkZWdyZWUgPj0gMCAmJiAoY29lZmZpY2llbnQgIT0gMCB8fCBkZWdyZWUgPT0gMCkAIWNvZWZmaWNpZW50cy5lbXB0eSgpAEludmFsaWQgYnVmZmVyIHBhc3NlZCB0byBkZXN0cm95QnVmZmVyKCkASW52YWxpZCBhcmd1bWVudHMgcGFzc2VkIHRvIGNyZWF0ZUJ1ZmZlcigpACgAOzw+QFtcXV9gfiENCSw6Ci0uJC8ifCooKT97fScAVW5zdXBwb3J0ZWQgc3ltYm9sb2d5IGNvbmZpZyBlbnRyeSwgYmFkIHR5cGUgZm9yIGZpZWxkICdxeicAVW5zdXBwb3J0ZWQgc3ltYm9sb2d5IGNvbmZpZyBlbnRyeSwgYmFkIHR5cGUgZm9yIGZpZWxkICdtYXhMZW4nAFVuc3VwcG9ydGVkIHN5bWJvbG9neSBjb25maWcgZW50cnksIGJhZCB0eXBlIGZvciBmaWVsZCAnbWluTGVuJwBVbnN1cHBvcnRlZCBzeW1ib2xvZ3kgY29uZmlnIGVudHJ5LCBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkICduYW1lJwAmAC0uICQvKyUAJAAjACIiAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhACEiJSYnKCkqKywtLi86Ozw9Pj9fIAA6IAAuIAAsIAAfAB4AWyk+HjA2HQBbKT4eMDUdABwAGwAN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bgkAAGUJAABjCQAAYQkAAF8JAABdCQAARQkAAEMJAABBCQAAPwkAAD0JAAA7CQAAOQkAAIoJAACCCQAAkgkAAFcJAABPCQAAjQ4AAM4IAADJCAAAvQgAALcIAACwBwAAhAcAAIAHAAA5BwAAGQcAABcHAAAVBwAAEwcAANwGAADaBgAASgYAADwGAAAOBgAADAYAAEUFAADCBAAAoQQAAJ8EAACdBAAAmwQAAG0EAAAPBAAARwkAAIIJAACSCQAAVwkAAE8JAACNDgAAwQ4AAL8OAAC9DgAAuw4AALgOAAC2DgAAtA4AALIOAACwDgAArg4AAKsOAACpDgAApw4AAKUOAACjDgAAoQ4AAJEOAACPDgAAvQkAADUJAAAxCQAAFwkAANAIAAAKBAAABgQAAAQEAACKCQAAcgkAAHoJAABXCQAAZwkAAKcOAACtDgAAiQ4AAIwOAACGDgAAbg4AAFAOAABNDgAASw4AAEkOAABBDgAAPw4AACMNAAAhDQAAogoAAKAKAACeCgAAnAoAAJoKAACYCgAA9QkAAMcJAADFCQAAwwkAAMEJAAC/CQAANwkAADMJAAAMBAAACAQAAHIJAABPCQAAjQ4AAJIKAABiCgAATQoAAEEKAAAiCgAAHgoAABMKAAAPCgAACAoAAAAKAACeCgAAmgoAAHIJAABHCQBB6MgACwUGAAAABwBB+MgAC60BCQAAAAoAAAALAAAADAAAAA0AAAD///8w//8x//8y/0Mt/0T///80//8r//8k/0H///////82//83/////0L///////84//////////////////////81//86//85//////////8v//8u//////////////8z/////////////////////////////////////////wAAAAAAAAAADgAAAA8AAAALAAAAEAAAAA0AQbDKAAsREQAAABIAAAALAAAAEwAAAA0AQdDKAAu6BP////////9R//////9H//////9O//9U//9E//9K//////////83/////yX///////80//8w//////////////////9M//9T//9C//9J//////9Q//////9G//////////8y//85//////////////82//////////////////////////8t/////yv///////9Y//8q/////////////////y///////yT///////////////////////////////9W//8g//////////////9a//////////////////////////////////////////////////////////////////9L//9S//9B//9I//////9P//////9F//////////8x//84//////////////81//////////////////////9N//////9D//////////////////////////////8z//////////////////////////////////////////9V//8u//////////////9Z//////////////////////////////////////////////////////////////9X////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAUAAAAFQAAAAsAAAAWAAAADQAAAAAAAAAbHB0eHzs8PT4/W1xdXl97fH1+fwBAYH9/fwBBlM8ACxEXAAAAGAAAABkAAAAaAAAAGwBBsM8ACx0BAAAACgAAAAoAAAAIAAAACAAAAAUAAAABAAAAAwBB2M8ACx0CAAAADAAAAAwAAAAKAAAACgAAAAcAAAABAAAABQBBgNAACx0DAAAADgAAAA4AAAAMAAAADAAAAAoAAAABAAAACABBqNAACx0EAAAAEAAAABAAAAAOAAAADgAAAAwAAAABAAAADABB0NAACx0FAAAAEgAAABIAAAAQAAAAEAAAAA4AAAABAAAAEgBB+NAACx0GAAAAFAAAABQAAAASAAAAEgAAABIAAAABAAAAFgBBoNEACx0HAAAAFgAAABYAAAAUAAAAFAAAABQAAAABAAAAHgBByNEACx0IAAAAGAAAABgAAAAWAAAAFgAAABgAAAABAAAAJABB8NEACx0JAAAAGgAAABoAAAAYAAAAGAAAABwAAAABAAAALABBmNIACx0KAAAAIAAAACAAAAAOAAAADgAAACQAAAABAAAAPgBBwNIACx0LAAAAJAAAACQAAAAQAAAAEAAAACoAAAABAAAAVgBB6NIACx0MAAAAKAAAACgAAAASAAAAEgAAADAAAAABAAAAcgBBkNMACx0NAAAALAAAACwAAAAUAAAAFAAAADgAAAABAAAA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UB1XMpYcVCl7njScLorLu4vOxKZMETOZJW96myuBsGprbneSEDCQCh5aO7FtdInIsnB9pEbS0Mq4grNzhr+XH11EzL6UFkLGrF5HAgYSNqJAwJooeJUZSw4qfqdPGk4XRc/Hr2diUyZyg7Z8oT23f6pYNZ83pUkIGEgFDy2HwqA6rmRZAAAAAAAAAAAnAAAAKAAAAP7/////////AAAAAAEAAAACAAAA/v////////8AAAAA//////7///8AAAAAAAAAACkAAAAqAEG85AALBSsAAAAsAEHQ5AAL1QQqKiogMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaAAAAAAAAAAAqKiogMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAAAAhIiMkJSYnKCkqKywtLi86Ozw9Pj9AW1xdXl8dAAAAAGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWnt8fX5/DSo+IAAAAAAAAAAALQAAAC4AAAALAAAALwAAAA0AAAD//////////////////////////////////////////////zb/OTX//zg3/zT/////MzL/Mf///////////////////////zD///8x/zIz/////zT/Nzj//zU5/zb//////////////////////////////////////////////wAAAAARAAAAAQAAAAIAAAACAAAAEQAAAAMAAAACAAAABAAAAAMAAAAFAAAABAAAAAYAAAAFAAAABwAAAAYAAAAIAAAABwAAAAkAAAAIAAAACgAAAAkAAAALAAAACgAAAAwAAAALAAAADQAAAAwAAAAPAAAADQAAABAAAAAOAAAAEQAAAA8AAAASAAAAEAAAABQAAAAWAAAAFQAAABIAAAAWAAAAEwAAABcAAAAUAAAAGAAAABUAAAAaAAAAHQAAABkAAAAcAAAAIQAAAB4AAAAiAAAAHwAAACMAAAAgAAAAGwAAAAEAAAAcAAAAFwAAACAAAAAZAAAAHQAAABgAAAAeAAAAGwAAAKoAAAABAAAAgwMAACEAQbDpAAsFMQAAADIAQcDpAAsdOQAAADoAAAALAAAAOwAAAA0AAABGAAAAAAAAACgAQezpAAsNFAAAAFoAAAAAAAAAPABBjOoACw0KAAAAUAAAAAAAAAAyAEGo6gALDR4AAAAHAAAAAAAAAAQAQcTqAAsNAgAAAAkAAAAAAAAABgBB5OoACw0BAAAACAAAAAAAAAAFAEGA6wALAQMAQYzrAAsFPAAAAD0AQZzrAAsRFwAAAD4AAAA/AAAAGgAAAEAAQbjrAAsFQQAAAEIAQcjrAAuJBEMAAABEAAAACwAAAEUAAAANAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAAvvP4eexh9j/eqoyA93vVvz2Ir0rtcfU/223Ap/C+0r+wEPDwOZX0P2c6UX+uHtC/hQO4sJXJ8z/pJIKm2DHLv6VkiAwZDfM/WHfACk9Xxr+gjgt7Il7yPwCBnMcrqsG/PzQaSkq78T9eDozOdk66v7rlivBYI/E/zBxhWjyXsb+nAJlBP5XwPx4M4Tj0UqK/AAAAAAAA8D8AAAAAAAAAAKxHmv2MYO4/hFnyXaqlqj+gagIfs6TsP7QuNqpTXrw/5vxqVzYg6z8I2yB35SbFPy2qoWPRwuk/cEciDYbCyz/tQXgD5oboP+F+oMiLBdE/YkhT9dxn5z8J7rZXMATUP+85+v5CLuY/NIO4SKMO0L9qC+ALW1fVPyNBCvL+/9+/AAAAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAABkACgAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQARChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEHh7wALIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBm/AACwEMAEGn8AALFRMAAAAAEwAAAAAJDAAAAAAADAAADABB1fAACwEQAEHh8AALFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBj/EACwESAEGb8QALHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBB0vEACw4aAAAAGhoaAAAAAAAACQBBg/IACwEUAEGP8gALFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBvfIACwEWAEHJ8gAL/wUVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUb/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFAAAAAAAAAAIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM2wAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAAAAAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQBByPgAC5dcAQAAAAIAAAADAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAAC0AAAAkAAAAOgAAAC8AAAAuAAAAKwAAAEEAAABCAAAAQwAAAEQAAABGbraRRpLEbVRuxJE0csRyNJa0jUSOtLFWTsZxVnLGUjZ2xna2lkaN1o22ciaWyI3GiTatxq02jqaxNrK2bdZutrVUSjSRVJLETqSVxJZEaiSxRLLGTeZOxpU2UlZTNpo4kmZqRrEmckZzSHI2iVaKNtGmjcaOptWoltSOJvHESeRKNG3kbjS1xLU0TlRPpHFUc6S5NLq01SSNKLIk1aae5klWbeZtNlemejZ7tqkmzbbN2G24dritVkl2SlaRplbGVyapRqpYUshWWIlIqdRqtGnWaSa6RmkwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotLiAkLyslBxX/L/8BFv///wIX////A/////8QICj//xEh////Ev////////////8p/////////////////////////////wocKv//Cx3///8M//////8EGCT/GgUr//8bBv///////////xMi////Lv//////////////////I/////////8lLf///yb/////////////DR7//ywO/////////////wAZ//8fCP//////////////////FP///////////////////////////////////yf///////////////////8P////////////////////Cf///////////////////wC6AAAAigAAAGoAAABKAAAAmwAAAHsAAABbAAAAbAAAAEwAAABJIiIEWCIiBWciIgZYIyIEZyMiBXYjIgZYJCIDZyQiBGclIgNnJiICdiYiA3YnIgJJMyIDWDMiBGczIgVYNCIDZzQiBHY0IgVYNSICZzUiA2c2IgJJRCICWEQiA2dEIgRYRSICZ0UiA3ZFIgRnRiICdkYiA1hVIgJnVSIDZ1YiAnZWIgNnZiICInciBkgyIwRXMiMFZjIjBkgzIwNXMyMEZjMjBVc0IwNmNCMEVzUjAmY1IwN1NSMEZjYjAnU2IwN1NyMCSEMjA1dDIwRmQyMFSEQjAldEIwNmRCMEV0UjAmZFIwN1RSMEZkYjAnVGIwNIVCMCV1QjA2ZUIwRXVSMCZlUjA2ZWIwJ1ViMDV2UjAmZlIwNmZiMCdWcjAjhCJANHQiQEVkIkBUdDJANWQyQEZUMkBUdEJAJWRCQDZUQkBFZFJAJlRSQDZUYkAnRHJAI4UyQCR1MkA1ZTJARHVCQCVlQkA2VUJARWVSQCZVUkA2VWJAJ0VyQCR2QkAlZkJANWZSQCZWUkA2VmJAJWdSQCN1IlA0ZSJQRVUiUFN1MlAkZTJQNVUyUERlQlAlVUJQNkVCUEVVUlAmRVJQNkViUCc1YlAzdjJQJGYyUDVWMlBEZkJQJVZCUDVWUlAmRlJQNkZiUCc2clAlV0JQNkdiUCJ2ImAjZiJgNFYiYENmMmAkVjJgNUYyYERWQmAlRkJgNUZSYCY2UmA2NmJgI2cyYCRXQmAlR1JgImcicCRHInBERzJwNTdCcDYnYnAkgiMgVXIjIGZiIyB0gjMgRXIzIFZiMyBlckMgRmJDIFdSQyBlclMgNmJTIEZiYyA0gzMgRXMzIFZjMyBkg0MgNXNDIEZjQyBVc1MgNmNTIEZjYyA3U3MgNIRDIDV0QyBGZEMgVXRTIDZkUyBGZGMgN1RzIDV1UyA2ZVMgRmVjIDZmYyAzgiMwRHIjMFViIzBkcjMwRWIzMFZSMzBkckMwNWJDMEZSQzBVYlMwNlJTMEdCUzBWUmMwN0JjMEODIzBEcyMwVWMjMGODMzA0czMwRWMzMFZTMzBkc0MwNWNDMEZTQzBUc1MwJWNTMDZTUzBHQ1MwVWNjMCZTYzA2U3MwI4QzMDR0MzBFZDMwU4RDMCR0QzA1ZEMwRlRDMFR0UzAlZFMwNlRTMEVkYzAmVGMwNlRzMCR1QzA1ZUMwRHVTMCVlUzA2VVMwRWVjMCZVYzA2VXMwJWZTMDVmYzAmVmMwNlZzMCNzI0BEYyNAVVMjQGNzM0A0YzNARVMzQFRjQ0A1U0NARkNDQFVTU0A2Q1NARkNjQDczc0AzdCNARGQjQFVUI0BjdDNANGQzQEVUM0BTdENAJGRDQDVUQ0BGRENAVGRTQCVUU0A2RFNARVRjQCZEY0A3NGNARzRzQDN1M0A0ZTNARVUzQFN1Q0AkZUNANVVDQERlU0AlVVNANkVTQEVVY0AmRWNANzVzQDRmQ0A1VkNARGZTQCVWU0A1VmNAJkZjQDZGc0AlV2NAInQjUDNkI1BEVCNQU2QzUDRUM1BFRDNQVFRDUDVEQ1BFRFNQNjRTUEY0Y1A3JHNQMnUjUDNlI1BEVSNQUnUzUCNlM1A0VTNQRUUzUFNlQ1AkVUNQNUVDUERVU1AlRVNQNjVTUEVFY1AmNWNQNjVzUCNmM1A0VjNQQ2ZDUCRWQ1A1RkNQRFZTUCVGU1A1RmNQJjZjUDY2c1AkV1NQJUdjUCJlI2AzVSNgREUjYFNVM2A0RTNgREVDYDU1Q2BFNVNgNiVjYDJmI2AzViNgREYjYFJmM2AjVjNgNEYzYENWQ2AkRkNgNTZDYERGU2AlNlNgNTZjYCYmY2AzVzNgM1dDYCRHU2AlN2NgI0YjcEQ2M3BFJlNwM0cjcENHM3AzR0NwJDdTcCUnY3AjgiQgVHIkIGViJCB0cjQgVWI0IGRyRCBFYkQgVlJEIGViVCBGUlQgVlJkIEdCdCBDgzQgRHM0IFVjNCBkc0QgRWNEIFZTRCBlY1QgRlNUIFZTZCBHQ3QgRHREIEVkRCBVZFQgRlRUIFZUZCBFZVQgRlVkIENyJDBUYiQwZVIkMHNyNDBEYjQwVVI0MGRiRDBFUkQwVkJEMGVSVDBGQlQwVkJkMEcyZDBTcyQwVGMkMGVTJDBzczQwRGM0MFVTNDBjc0QwNGNEMEVTRDBWQ0QwZGNUMDVTVDBGQ1QwVVNkMDZDZDBGQ3QwM3Q0MERkNDBVVDQwY3REMDRkRDBFVEQwVGRUMDVUVDBGRFQwVVRkMDZEZDBGRHQwNGVEMEVVRDBUZVQwNVVUMEVVZDA2RWQwRVZUMEVWZDAyciRAQ2IkQFRSJEBjYjRARFI0QFVCNEBkUkRARUJEQFVCVEBGMlRAVjJkQEJzJEBDYyRAVFMkQGJzNEAzYzRARFM0QFVDNEBjY0RANFNEQEVDREBUU1RANUNUQEYzVEBVQ2RANjNkQEcjdEBCdCRAQ2QkQFRUJEBidDRAM2Q0QERUNEBVRDRAYnREQCNkREA0VERARUREQFNkVEAkVFRANURUQEY0VEBUVGRAJURkQDY0ZEBFRHRAJyR0QENlNEBEVTRAU2VEQDRVREBFRURAU2VUQCRVVEA1RVRARFVkQCVFZEA2NWRARjV0QDRWREBEVlRANUZUQERWZEAlRmRAMmMkUENTJFBUQyRQY1M0UERDNFBUQ0RQRTNEUFUzVFBGI2RQQmQkUENUJFBURCRQYmQ0UDNUNFBERDRQU1REUDRERFBFNERQVERUUDU0VFBFNGRQNiRkUEYkdFAyZSRQQ1UkUFRFJFBiZTRQM1U0UERFNFBSZURQI1VEUDRFRFBFNURQU1VUUCRFVFA1NVRQREVkUCU1ZFA2JWRQRiV0UDNWNFBERjRQU1ZEUDRGRFBDVlRQJEZUUDU2VFBERmRQJTZkUDRHRFBER2RQIlQkYENEJGBTRDRgRDQ0YFQ0RGBFJFRgQlUkYENFJGBSVTRgM0U0YEQ1NGBTRURgNDVEYEQ1VGA1JVRgRSVkYDJWJGBDRiRgUlY0YDNGNGBENjRgUlZEYCNGRGA0NkRgQ0ZUYCQ2VGA1JlRgRDZkYCUmZGA1JnRgI0dEYDNHVGAkN2RgIzUkcFQlRHBDNiRwUzY0cEQmRHBCRyRwQkc0cDJHRHAkJ0RwRCdUcDNyJSBjcjUgVGI1IGRiRSBVUkUgZkJFIHVSVSBWQlUgZkJlIFcyZSBjczUgVGM1IGVTNSB0Y0UgVVNFIGVTVSBWQ1UgZkNlIFczdSBUZEUgVVRFIGVUVSBWRGUgVVVVIFJyJTBTYiUwZFIlMHNiNTBUUjUwZFJFMFVCRTBlQlUwVjJVMGYyZTBScyUwU2MlMGRTJTByczUwQ2M1MFRTNTBlQzUwc2NFMERTRTBVQ0UwZFNVMEVDVTBWM1UwZUNlMEYzZTBXI3UwU2Q1MFRUNTBjZEUwRFRFMFVERTBkVFUwRURVMFVEZTBGNGUwVFVFMFRVVTBFRVUwVUVlMEJiJUBTUiVAZEIlQHNSNUBUQjVAZEJFQFUyRUBlMlVAViJlQFJjJUBTUyVAYmM1QENTNUBUQzVAY1NFQERDRUBVM0VAZENVQEUzVUBVM2VARiNlQFYjdUBCZCVAU1QlQGJkNUBDVDVAVEQ1QGJkRUAzVEVARERFQFU0RUBjVFVANERVQEU0VUBURGVANTRlQEYkZUBWJHVAQ1U1QFRFNUBjVUVAREVFQFNVVUA0RVVARTVVQFRFZUA1NWVAREZFQFRGVUBERmVAMlIlUFNCJVBjQjVQVDI1UGQyRVBVIlVQUlMlUFNDJVBiUzVQQ0M1UFQzNVBjQ0VQRDNFUFQzVVBFI1VQVSNlUEJUJVBTRCVQYlQ1UENENVBUNDVQYlRFUDNERVBENEVQU0RVUDQ0VVBFJFVQVDRlUDUkZVBFJHVQMlUlUFNFJVBiVTVQQ0U1UFQ1NVBiVUVQM0VFUEQ1RVBSVVVQI0VVUDQ1VVBFJVVQU0VlUCQ1ZVA1JWVQRDV1UCNGNVBTRkVQRDZFUFNGVVA0NlVQQ0ZlUCQ2ZVA0NnVQIkMlYFMzJWBjMzVgVCNFYFJEJWBTNCVgYkQ1YEM0NWBTNEVgRCRFYFQkVWBCRSVgUzUlYGJFNWBDNTVgUkVFYDM1RWBEJUVgUzVVYDQlVWBEJWVgMkYlYFM2JWBiRjVgQzY1YFJGRWAzNkVgRCZFYFJGVWAjNlVgNCZVYEM2ZWAkJmVgNCZ1YCM3RWBDN2VgIyQ1cFI1NXBDJUVwQjY1cEI2RXAzJlVwMjc1cEI3RXAyN1VwIydlcCJyJiBjYjYgZFI2IHRSRiBlQlYgZjJmIGNjNiBkU0YgZUNWIGYzZiBkVEYgZURWIGJiJjBjUjYwZEI2MHRCRjBlMkYwdTJWMGYiZjBiYyYwY1MmMHJjNjBTUzYwZEM2MHNTRjBUQ0YwZENWMFUzVjBlM2YwViNmMGYjdjBTVDYwZEQ2MHNURjBUREYwZERWMFU0VjBlNGYwVEVGMGRFVjBSUiZAY0I2QGQyRkBlIlZAYlMmQGJTNkBTQzZAZDM2QHNDRkBUM0ZAZDNWQFUjVkBlI2ZAUlQmQGJUNkBTRDZAZDQ2QHJURkBDREZAVDRGQGNEVkBENFZAVSRWQGQ0ZkBFJGZAU0U2QGNFRkBUNUZAY0VWQEQ1VkBUNWZAQkImUGMyNlBkIkZQYkMmUGJDNlBTMzZQYzNGUFQjRlBkI1ZQUkQmUGM0JlByRDZQUzQ2UGJERlBDNEZQVCRGUGM0VlBEJFZQVCRmUEJFJlBjNSZQckU2UFM1NlBiRUZQQzVGUFQlRlBiRVZQMzVWUEQlVlBTNWZQNCVmUEM2NlBjNkZQUzZWUEM2ZlAyMiZgYyI2YGIzJmBiMzZgUyM2YGMjRmBSNCZgYjQ2YFMkNmBiNEZgQyRGYFMkVmBCNSZgYjU2YFMlNmBiNUZgQyVGYFI1VmAzciIgZGIiIHNyMiBUYjIgZVIyIHRiQiBVUkIgZkJCIHVSUiBWQlIgZkJiIFcyYiBnMnIgU3MyIFRjMiBlUzIgc3NCIERjQiBVU0IgZGNSIEVTUiBWQ1IgZVNiIEZDYiBWQ3IgRzNyIFczgiBDdEIgRGRCIFVUQiBjdFIgNGRSIEVUUiBUZGIgNVRiIEZEYiBVVHIgNkRyIEZEgiA3NIIgRzSSIDN1UiA0ZVIgRVVSIFN1YiAkZWIgNVViIERlciAlVXIgNkVyIEVVgiAmRYIgNkWSICc1kiAzdmIgJGZiIDVWYiBEZnIgJVZyIDVWgiAmRoIgNkaSICRnciAlV3IgNVeCICZHkiAicyIwU2MiMGRTIjBzYzIwVFMyMGVDMjB0U0IwVUNCMGVDUjBWM1IwZjNiMFcjcjBSdDIwQ2QyMFRUMjBjZEIwRFRCMFVEQjBkVFIwRURSMFVEYjBGNGIwVjRyMEckgjBCdUIwM2VCMERVQjBTZVIwNFVSMEVFUjBUVWIwNUViMEVFcjA2NXIwRjWCMDclkjAydlIwI2ZSMDRWUjBDZmIwJFZiMDVGYjBEVnIwJUZyMDVGgjAmNoIwNjaSMCNnYjAkV2IwNFdyMCVHcjA1R4IwJjeSMCRYcjAlSIIwImQiQFNUIkBkRCJAc1QyQFREMkBkREJAVTRCQGU0UkBWJGJAUmUyQENVMkBURTJAY1VCQERFQkBURVJARTVSQFU1YkBGJXJAQmZCQDNWQkBERkJAU1ZSQDRGUkBERmJANTZiQEU2ckA2JoJAMmdSQCNXUkA0R1JAQ1diQCRHYkA0R3JAJTdyQDU3gkAmJ5JAI1hiQCRIYkA0SHJAJTiCQCRJckAiVSJQU0UiUGNFMlBUNTJQZDVCUFUlUlBSVjJQQ0YyUFNGQlBENkJQVDZSUEUmYlBCV0JQM0dCUENHUlA0N1JQRDdiUDUnclAyWFJQI0hSUDNIYlAkOGJQNDhyUCUoglAjSWJQJDlyUCJGImBTNiJgYzYyYFQmQmBSRzJgQzcyYFM3QmBEJ1JgQkhCYDM4QmBDOFJgNChiYDJJUmAjOVJgMzliYCQpcmAiNyJwUycycFI4MnBDKEJwQjlCcDMpUnAyciMgY2IjIHRSIyCDYjMgZFIzIHVCMyCEUkMgZUJDIHVCUyBmMlMgdjJjIGcicyBiczMgU2MzIGRTMyBzY0MgVFNDIGVDQyB0U1MgVUNTIGVDYyBWM2MgZjNzIFcjgyBSdEMgQ2RDIFRUQyBjZFMgRFRTIFVEUyBkVGMgRURjIFVEcyBGNHMgVjSDIEckkyBCdVMgM2VTIERVUyBTZWMgNFVjIEVFYyBUVXMgNUVzIEVFgyA2NYMgRjWTIDNmYyA0VmMgRFZzIDVGcyBFRoMgNjaTIDRXcyA1R4MgMmIjMGNSIzB3oiMwI1IzMGRCMzB4kjMwJEJDMGUyQzB5gkMwJTJTMGYiYzBiYyMwY1MjMHRDIzCCYzMwU1MzMGRDMzBzU0MwVENDMGUzQzB0Q1MwVTNTMGUzYzBWI2MwZiNzMFJkMzBTVDMwZEQzMHJkQzBDVEMwVERDMGNUUzBERFMwVTRTMGREYzBFNGMwVTRzMEYkczBWJIMwQmVDMENVQzBURUMwYmVTMDNVUzBERVMwU1VjMDRFYzBFNWMwVEVzMDU1czBFNYMwNiWDMEYlkzAyZlMwM1ZTMERGUzBSZmMwI1ZjMDRGYzBDVnMwJEZzMDU2czBERoMwJTaDMDU2kzAmJpMwM1djMDRHYzBDV3MwJEdzMDRHgzAlN4MwNTeTMCRIczAyUyNAY0MjQHeTI0AjQzNAZDMzQHiDM0AkM0NAaXNDQCUjU0BiVCNAY0QjQHJUM0BTRDNAZDQzQHNEQ0BUNENAZDRTQFUkU0BlJGNAUlUzQFNFM0BiVUNAQ0VDQFQ1Q0BjRVNARDVTQFQ1Y0BFJWNAVSVzQEJWQ0BDRkNAUlZTQDNGU0BENlNAU0ZjQDQ2Y0BENnNANSZzQEUmg0AyV1NAM0dTQEJXY0AjR2NANDdjQENHc0AkN3NANDeDQCUng0A1J5NAI0hjQDNIc0AkOHNANDiDQCJEI1BjNCNQd4QjUCM0M1BodDNQJCRDUGJFI1BjNSNQckUzUFM1M1BjNUNQVCVDUGQlU1BSRjNQUzYzUGJGQ1BDNkNQUzZTUEQmU1BUJmNQQkdDUEM3Q1BSR1NQMzdTUEM3Y1A0J2NQRCdzUDJIU1AzOFNQQkhjUCM4Y1AzOHNQJChzUDQog1AjOWNQMzlzUCI1I2BndSNgIyUzYGI2I2BiNjNgUyYzYGMmQ2BSNzNgUjdDYEMnQ2BTJ1NgQjhDYEI4U2AzKFNgQyhjYDI5U2AyOWNgIyljYDMpc2AiJiNwYicjcGInM3BSKDNwUihDcEIpQ3BCKVNwMmIkIHNSJCCEQiQgk1I0IHRCNCCEQkQgdTJEIIUyVCB2ImQgcmM0IGNTNCB0QzQgg1NEIGRDRCB0Q1QgZTNUIHUzZCBmI3QgYmREIFNURCBkREQgc1RUIFREVCBkRGQgVTRkIGU0dCBWJIQgUmVUIENVVCBURVQgY1VkIERFZCBURXQgRTV0IFU1hCBGJZQgQ1ZkIERGZCBURnQgRTaEIERHdCBCUiQwc0IkMIeSJDAzQjQwdDI0MIiCNDA0MkQweXJEMDUiVDByUyQwc0MkMIJTNDBjQzQwdDM0MINDRDBkM0QwdDNUMGUjVDB1I2QwYlQ0MGNENDByVEQwU0REMGQ0RDBzRFQwVDRUMGQ0ZDBVJGQwZSR0MFJVRDBTRUQwYlVUMENFVDBUNVQwY0VkMEQ1ZDBUNXQwRSV0MFUlhDBCVlQwQ0ZUMFJWZDAzRmQwRDZkMFNGdDA0NnQwRDaEMDUmhDBFJpQwM0dkMENHdDA0N3QwRDeEMDJCJEB2kiRAJ4IkQDMyNEB3gjRAKHI0QDQiREB4ckRAKWJUQCJDJEBzMyRAh4MkQDJDNEBjMzRAd4M0QChzNEAzM0RAZCNEQHhzREAkI1RAYkQkQHM0JECCRDRAYzQ0QHJEREBTNERAZCREQHM0VEBUJFRAZCRkQFJFNEBjNTRAckVEQFM1REBiRVRAQzVUQFQlVEBjNWRARCVkQFQldEBCRkRAUzZEQGJGVEBDNlRAUkZkQDM2ZEBEJmRAUzZ0QDQmdEBEJoRAMkdUQEM3VEBSR2RAMzdkQEJHdEAjN3RANCd0QEM3hEAkJ4RANCeUQCM4ZEBDOHRAMjMkUHaDJFAncyRQMyM0UHdzNFAoY0RQIjQkUHd0JFAyNDRQYyQ0UHd0NFAjJERQYjUkUHI1NFBjJTRQcjVEUFMlRFBjJVRQUjY0UGI2RFBTJkRQYjZUUEMmVFBTJmRQQjdEUFI3VFBDJ1RQUjdkUDMnZFBDJ3RQMjhUUEI4ZFAzKGRQQjh0UCModFAzKIRQIiQkYHZ0JGAnZDRgIiUkYHIlNGBiJiRgciY0YGImRGBSJzRgYidEYFInVGBCKERgUihUYEIoZGAyKVRgQilkYDIpdGAmZSRwIlIlIINCJSCTQjUghDI1IJQyRSCFIlUgglM1IHNDNSCDQ0UgdDNFIIQzVSB1I2UgclRFIGNERSBzRFUgZDRVIHQ0ZSBlJHUgYlVVIFNFVSBjRWUgVDVlIGQ1dSBVJYUgU0ZlIFQ2dSBSQiUwgzIlMJeCJTBDMjUwiHI1MEQiRTCCQyUwgzMlMJJDNTBzMzUwgzNFMHQjRTCEI1UwckQ1MHM0NTCCREUwYzRFMHM0VTBkJFUwdCRlMGJFRTBjNUUwckVVMFM1VTBjNWUwVCVlMGQldTBSRlUwUzZVMGJGZTBDNmUwUzZ1MEQmdTBUJoUwQzdlMFM3dTBCMiVAhoIlQDdyJUBDIjVAh3I1QDhiRUAyMyVAh3MlQEIzNUBzIzVAh3M1QDMjRUByNCVAgjQ1QHMkNUCCNEVAYyRFQHMkVUBiNTVAcjVFQGMlRUByNVVAUyVVQGMlZUBSNkVAYjZVQFMmVUBiNmVAQyZlQFMmdUBCN1VAUjdlQEMnZUBSN3VAMyd1QEMnhUA1giVQJnIlUDZyNVAnYjVQN2JFUChSVVAiIyVQhnMlUDIjNVB2czVQJ2M1UDdjRVAiJCVQgiQ1UHIkRVBiJSVQgiU1UHIlRVBiJVVQUiY1UHImRVBiJlVQUiZlUEInRVBiJ1VQUidlUEIndVAyKFVQUihlUEIodVA1cyVgJmMlYDZjNWAnU0VgJmQlYDZkNWAlZCVwJlQ1cCVVJYAiQiYgkzI2IJQiRiCSQzYggzM2IJMzRiCEI1YggkRGIHM0RiCDNFYgdCRmIHJFViBjNVYgczVmIGQldiBjNmYgYjImMJdyJjBTIjYwkjMmMJIzNjCDIzYwkyNGMII0NjCCNEYwcyRGMIMkVjByNUYwcjVWMGMlVjBzJWYwYjZWMGI2ZjBTJmYwYyZ2MFIiJkCWciZAR2I2QEIjJkCSIzZAgiQmQJIkNkCCJEZAciU2QIIlRkByJVZAYiZGQHImVkBiJmZAUidWQGInZkBSJ3ZARXImUDZiJlBGYjZQN1JGUDZjJlBGYzZQNHImYCViJmA1YjZgJlI2YDZSRmAnQlZgJWMmYDVjNmAmUzZgNlNGYCRjJnAlUyZwNVM2cCZDRnAlVCZwNVQ2cCRUJoAlRDaAJEUmkCIzNyCTI0cgkjRHIIMkVyCCNVcgcyVnIHIjNzCSJDcwkiRHMIIlRzCCJVcwciZXMHImZzBmYidAVWInUEZSN1BEYidgNVInYEVSN2A2QkdgNVMnYEVTN2AzYidwJFIncDRSN3AlQjdwNUJHcCYyV3AkUydwNFM3cCVDN3A1Q0dwI1MngCRDJ4A0QzeAJTNHgCREJ4A0RDeAI0QnkCQ0N5AlUihQVFIoYEVCOGBDUihwNEIocERCOHA1MkhwNEMocERDOHAzQyiANDM4gDaiIiA3kiIgRqIyICeSMiA4gjIgR5JCICiCQiA5ckIgSIJSIClyUiA5cmIgIlMyIHajMiAnkzIgM0NCIHeTQiAog0IgNDNSIHiDUiApc1IgNSNiIHlzYiAiVEIgY0RCIHeUQiAjRFIgZDRSIHiEUiAkNGIgaXRiICUkciBiVVIgU0VSIGNFYiBUNWIgZDVyIFUlgiBSVmIgQ0ZiIFNGciBENnIgVDaCIEUmkiBCV3IgM0dyIENHgiA0N4IgRDeSIDWjIjAmkyIwN4MiMEaTMjAngzIwOHMyMEeDQjAoc0IwOHNSMCljUjA5Y2IwIkQyMHaUMjAnhDIwMzRCMHeEQjAodEIwNCRSMHh0UjApZGIwIkVCMGM1QjB3hUIwIzVSMGh1UjAkJWIwYkZSMFM2UjBjNmIwVCZyMFJHYjBDN2IwUzdyMEQngjBCSHIwMzhyMEM4gjA0KJIwNZQiQCaEIkA3dCJARoQyQCd0MkA3dEJAKGRCQDhkUkApVGJAIjUyQHaFMkAndTJAMyVCQHd1QkAoZVJAIjZCQGd2QkAjJlJAYjdSQFMnYkBSOGJAQyhyQEI5ckAzKYJANYUiUCZ1IlA2dTJQJ2UyUDdlQlAoVVJQIiYyUHZ2MlAnZkJQIidCUGIoUlBSKWJQRXYiYCZmImA2ZjJgJ1ZCYCZnMmAlZyJwJlcycCWiIyA2kiMgR4IjIFaSMyA3gjMgSHIzIFeCQyA4ckMgSHJTIDliUyBJYmMgMkMzIIaTMyA3gzMgQzNDIIeDQyA4c0MgRCNTIIhzUyA5Y2MgMkRDIHM0QyCHhEMgMzRTIHh0UyA0JGMgckVTIGM1UyBzNWMgZCVzIGJGYyBTNmMgYzZzIFQmgyBSR3MgQzdzIFM3gyBEJ5MgRZIjMDaCIzBHciMwVZIzMCaCMzA3cjMwRoJDMCdyQzA4YkMwR3JTMChiUzA4YmMwKVJjMDlSczAlkyMwNoMjMEdzIzBVkzMwJoMzMDdzMzBGg0MwJ3NDMDhjQzBHc1MwKGNTMDhjYzApU2MwOVNzMCI0MzCGhDMwN3QzMEI0QzBzJEMwhoRDMCd0QzAzJFMwd3RTMChkUzA4ZGMwIjVDMHd1QzAyNVMwYyVTMHd1UzAjJWMwYjZTMGI2YzBTJmMwYyZzMFI3YzBSN3MwQydzMFMngzBCOHMwQyiDMESTI0AlgyNANnMjQEWDM0AmczNAN2MzQEZzQ0AnY0NAN2NTQChTU0A4U2NAKUNzQCWEI0A2dCNARYQzQCZ0M0A3ZDNARnRDQCdkQ0A3ZFNAKFRTQDhUY0AiJTNAhnUzQDIlQ0B2dUNAJ2VDQDdlU0AiJkNAciZTQGInU0BiJ2NAUihjQFIoc0BCKXNARIQjUCV0I1A2ZCNQRXQzUCZkM1A2ZENQJ1RDUDdUU1AoRGNQJXUjUDZlI1BFdTNQJmUzUDZlQ1AnVUNQN1VTUCZmM1A2ZkNQJHUjYCVlI2A1ZTNgJlUzYDZVQ2AnRVNgJWYjYDVmM2AmVjNgNlZDYCRmI3AlViNwNVYzcCZGQ3AlVyNwNVczcCRXI4AlRzOAJZIkIEaCJCBXciQgZoI0IEdyNCBXckQgSGJEIFhiVCBJUmQgQjM0IJaDNCBHczQgUyNEIJdzRCBIY1QgQjREIId0RCBDJFQggjVUIHMlZCByNmQgYyZ0IGI3dCBTJ4QgVJIkMDWCJDBGciQwVYI0MDZyNDBHYjQwVnJEMDdiRDBHYlQwOFJUMEhSZDA5QnQwNYMkMEZzJDBVgzQwNnM0MEdjNDBWc0QwN2NEMEdjVDA4U1QwSFNkMDIkNDCWdDQwQiREMIZ0RDA3ZEQwR2RUMDIlRDCCJVQwciZUMHImZDBiJ2QwYid0MFIodDBUgiRANXIkQEZiJEBUgjRAJXI0QDZiNEBFckRAJmJEQDdSREBGYlRAJ1JUQDdSZEAoQmRAOEJ0QCSDJEA1cyRARmMkQFSDNEAlczRANmM0QEVzREAmY0RAN1NEQEZjVEAnU1RAN1NkQChDZEA4Q3RAJXQkQEZkJEBVdDRANmQ0QEV0REAmZERAN1REQEZkVEAnVFRAN1RkQCZlNEBGZURANmVUQCODJFAkcyRQNWMkUERzNFAlYzRQNlM0UEVjRFAmU0RQNlNUUCdDVFA3Q2RQKDN0UCR0JFA1ZCRQRHQ0UCVkNFA2VDRQRWREUCZURFA2VFRQJ0RUUDdEZFAlZSRQRWU0UDZVNFBFZURQJlVEUDZVVFAjdCRgJGQkYDVUJGBEZDRgJVQ0YDVURGAmRERgNkRUYCc0ZGAkZSRgNVUkYERlNGAlVTRgNVVEYCZFRGA2RVRgJVYkYEVWNGA1VkRgI2UkcCRVJHA0VTRwJUU0cDVFRHAmNVRwJFYkcDRWNHAlRjRwNUZEcCNWJIAkRiSANEY0gCU2RIAkRySANEc0gCNHJJAkNzSQJYIlIFZyJSBmcjUgV2I1IGdiRSBYUlUgVnM1IFdjRSBSJEUgkiVVIIImZSByJ3UgZIIlMEVyJTBWYiUwZXI1MEZiNTBWYkUwR1JFMFdSVTBIQmUwRXMlMFZjJTBlczUwRmM1MFZjRTBHU0UwV1NVMEZkNTBWZEUwQ4IlQDRyJUBFYiVAVHI1QDViNUBGUjVAVWJFQDZSRUBGUlVAN0JVQEdCZUA4MnVANHMlQEVjJUBUczVANWM1QEZTNUBVY0VANlNFQEZTVUA3Q1VAR0NlQDVkJUBVZDVARlQ1QFVkRUA2VEVARlRVQDNyJVA0YiVQRVIlUFNyNVAkYjVQNVI1UERiRVAlUkVQNkJFUEVSVVAmQlVQNkJlUCcyZVA3MnVQI3MlUDRjJVBFUyVQU3M1UCRjNVA1UzVQRGNFUCVTRVA2Q0VQRVNVUCZDVVA2Q2VQJzNlUDczdVAkZCVQRVQlUFRkNVA1VDVQRGRFUCVURVA2REVQRVRVUCZEVVA2RGVQJVUlUFVVNVBFVUVQNVVVUCJzJWAjYyVgNFMlYENjNWAkUzVgNUM1YERTRWAlQ0VgNUNVYCYzVWA2M2VgJyN1YCNkJWA0VCVgQ2Q1YCRUNWA1RDVgRFRFYCVERWA1RFVgJjRVYDY0ZWAkVSVgRFU1YDVFNWBEVUVgJUVFYDVFVWAiZCVwI1QlcDREJXBDVDVwJEQ1cDRERXAlNEVwNTRVcCYkZXAjVSVwNEUlcENVNXAkRTVwNEVFcCU1RXA1NVVwJEYlcERGNXA0RkVwIlUlgCNFJYAzRTWAJDU1gDQ1RYAlJVWAI0YlgDNGNYAkNjWANDZFgCJGJZAjNiWQMzY1kCQmRZAjNyWQMzc1kCVyJiBmYiYgdmI2IGdSRiBmYzYgZHImMFViJjBlYjYwVlI2MGZSRjBXQlYwVWMmMGVjNjBWUzYwZlNGMFNyJkBEYiZAVVImQGRiNkBFUjZAVVJGQEZCRkBWQlZARzJmQERjJkBVUyZAZGM2QEVTNkBVU0ZARkNGQFZDVkBFVCZAZVQ2QFVURkBCciZQM2ImUERSJlBTYjZQNFI2UEVCNlBUUkZQNUJGUEVCVlA2MlZQRjJmUDcidlAzYyZQRFMmUFNjNlA0UzZQRUM2UFRTRlA1Q0ZQRUNWUDYzVlBGM2ZQNFQmUFRUNlBFRDZQVFRGUDVERlBFRFZQMmImYDNSJmBEQiZgU1I2YDRCNmBEQkZgNTJGYEUyVmA2ImZgMmMmYDNTJmBEQyZgUmM2YCNTNmA0QzZgQ1NGYCRDRmA1M0ZgRENWYCUzVmA1M2ZgJiNmYDYjdmAjVCZgREQmYFNUNmA0RDZgQ1RGYCRERmA1NEZgRERWYCU0VmA1NGZgJEUmYFRFNmBERUZgNEVWYCJTJnAzQyZwQ0M2cDQzNnBEM0ZwNSNWcDJUJnAzRCZwQlQ2cCNENnA0NDZwQ0RGcCQ0RnA0NFZwJSRWcDUkZnAjRSZwQ0U2cDQ1NnBDRUZwJDVGcDQ1VnAiRCaAMzQmgEM0NoA0JEaAMkUmgDM1JoBCRTaAIzU2gDM1RoAkJUaANCVWgCM2JoBDNjaAMzZGgCI1JpAzJTaQMjYmkDI2NpAjJjaQMyZGkCViJyB2UjcgdGInMGVSJzB1UjcwZkJHMGVTJzB1UzcwY2InQFRSJ0BkUjdAVUI3QGVCR0BWMldAVFMnQGRTN0BVQzdAZUNHQFJiJ1BDUidQVEInUGNSN1BEQjdQVEJHUEUyR1BVMldQRiJnUENTJ1BUQydQY1M3UERDN1BUQ0dQRTNHUFUzV1BERCdQZEQ3UFRER1BCUidgQ0InYFNCN2BEMjdgVDJHYEUiV2BCUydgQ0MnYFJTN2AzQzdgRDM3YFNDR2A0M0dgRDNXYDUjV2BFI2dgM0QnYFNEN2BENDdgU0RHYDQ0R2BENFdgMkIncEMyJ3BTMjdwRCJHcEJDJ3BDMydwUkM3cDMzN3BDM0dwNCNHcEQjV3AyRCdwQzQncFJEN3AzNDdwQkRHcCM0R3A0JEdwQzRXcCQkV3A0JGdwIzUncFM1N3BDNUdwMzVXcCIzJ4BDIzeAQjQngEI0N4AzJDeAQyRHgDI1J4BCNTeAMyU3gEI1R4AjJUeAMyVXgCIkJ5BCJSeQQiU3kDImJ5BCJjeQMiZHkCRSKDB1Qjgwc1IoQGRCKEB0QjhAZTJIQGRDKEB0QzhAYlIoUFNCKFBjQjhQVDI4UGQySFBVIlhQU0MoUGNDOFBUMzhQZDNIUFJCKGBTMihgYzI4YFQiSGBSQyhgUzMoYGJDOGBDMzhgUzNIYEQjSGBUI1hgQzQoYGM0OGBTNEhgQjIocFMiOHBSMyhwUjM4cEMjOHBTI0hwQjQocFI0OHBDJDhwUjRIcDMkSHBDJFhwMiMogFIkKIBSJDiAQiUogFIlOIBCJUiAM0IpQHQyOUByQilQYzIpUHMyOVBkIklQYzMpUHMzOVBiMilgYyI5YGIzKWBiMzlgUyM5YGMjSWBSIilwbDCAAAMJBQ\", !xA(z)) {\n var bA = z;\n z = I.locateFile ? I.locateFile(bA, E) : E + bA;\n }\n function wI() {\n var D = z;\n return Promise.resolve().then(() => {\n if (D == z && e) var s = new Uint8Array(e);else {\n if (xA(D)) {\n s = atob(D.slice(37));\n for (var w = new Uint8Array(s.length), N = 0; N < s.length; ++N) w[N] = s.charCodeAt(N);\n s = w;\n } else s = void 0;\n if (!s) throw \"both async and sync fetching of the wasm failed\";\n }\n return s;\n });\n }\n function NI(D, s) {\n return wI().then(w => WebAssembly.instantiate(w, D)).then(s, w => {\n a(`failed to asynchronously prepare wasm: ${w}`), gA(w);\n });\n }\n function cI(D, s) {\n return NI(D, s);\n }\n var lA = D => {\n for (; 0 < D.length;) D.shift()(I);\n },\n OA = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0,\n eA = D => {\n if (D) {\n for (var s = h, w = D + NaN, N = D; s[N] && !(N >= w);) ++N;\n if (16 < N - D && s.buffer && OA) D = OA.decode(s.subarray(D, N));else {\n for (w = \"\"; D < N;) {\n var y = s[D++];\n if (y & 128) {\n var J = s[D++] & 63;\n if ((y & 224) == 192) w += String.fromCharCode((y & 31) << 6 | J);else {\n var T = s[D++] & 63;\n y = (y & 240) == 224 ? (y & 15) << 12 | J << 6 | T : (y & 7) << 18 | J << 12 | T << 6 | s[D++] & 63, 65536 > y ? w += String.fromCharCode(y) : (y -= 65536, w += String.fromCharCode(55296 | y >> 10, 56320 | y & 1023));\n }\n } else w += String.fromCharCode(y);\n }\n D = w;\n }\n } else D = \"\";\n return D;\n },\n VA = (D, s, w, N) => {\n var y = {\n string: d => {\n var u = 0;\n if (d != null && d !== 0) {\n for (var M = u = 0; M < d.length; ++M) {\n var m = d.charCodeAt(M);\n 127 >= m ? u++ : 2047 >= m ? u += 2 : 55296 <= m && 57343 >= m ? (u += 4, ++M) : u += 3;\n }\n var V = u + 1;\n if (M = u = mA(V), m = h, 0 < V) {\n V = M + V - 1;\n for (var tA = 0; tA < d.length; ++tA) {\n var L = d.charCodeAt(tA);\n if (55296 <= L && 57343 >= L) {\n var SI = d.charCodeAt(++tA);\n L = 65536 + ((L & 1023) << 10) | SI & 1023;\n }\n if (127 >= L) {\n if (M >= V) break;\n m[M++] = L;\n } else {\n if (2047 >= L) {\n if (M + 1 >= V) break;\n m[M++] = 192 | L >> 6;\n } else {\n if (65535 >= L) {\n if (M + 2 >= V) break;\n m[M++] = 224 | L >> 12;\n } else {\n if (M + 3 >= V) break;\n m[M++] = 240 | L >> 18, m[M++] = 128 | L >> 12 & 63;\n }\n m[M++] = 128 | L >> 6 & 63;\n }\n m[M++] = 128 | L & 63;\n }\n }\n m[M] = 0;\n }\n }\n return u;\n },\n array: d => {\n var u = mA(d.length);\n return S.set(d, u), u;\n }\n };\n D = I[\"_\" + D];\n var J = [],\n T = 0;\n if (N) for (var v = 0; v < N.length; v++) {\n var vA = y[w[v]];\n vA ? (T === 0 && (T = WA()), J[v] = vA(N[v])) : J[v] = N[v];\n }\n return w = D(...J), w = function (d) {\n return T !== 0 && jA(T), s === \"string\" ? eA(d) : s === \"boolean\" ? !!d : d;\n }(w);\n },\n rI = {\n b: (D, s, w, N) => {\n gA(`Assertion failed: ${eA(D)}, at: ` + [s ? eA(s) : \"unknown filename\", w, N ? eA(N) : \"unknown function\"]);\n },\n a: () => {\n gA(\"\");\n },\n d: (D, s, w) => h.copyWithin(D, s, s + w),\n c: D => {\n var s = h.length;\n D >>>= 0, 2147483648 < D && gA(\"OOM\");\n for (var w = 1; 4 >= w; w *= 2) {\n var N = s * (1 + .2 / w);\n N = Math.min(N, D + 100663296);\n var y = Math;\n N = Math.max(D, N);\n A: {\n y = (y.min.call(y, 2147483648, N + (65536 - N % 65536) % 65536) - t.buffer.byteLength + 65535) / 65536;\n try {\n t.grow(y), U();\n var J = 1;\n break A;\n } catch {}\n J = void 0;\n }\n if (J) return !0;\n }\n gA(\"OOM\");\n }\n },\n r = function () {\n var w;\n function D(N) {\n var y;\n return r = N.exports, t = r.e, U(), n.unshift(r.f), f--, (y = I.monitorRunDependencies) == null || y.call(I, f), f == 0 && (l !== null && (clearInterval(l), l = null), IA && (N = IA, IA = null, N())), r;\n }\n var s = {\n a: rI\n };\n if (f++, (w = I.monitorRunDependencies) == null || w.call(I, f), I.instantiateWasm) try {\n return I.instantiateWasm(s, D);\n } catch (N) {\n a(`Module.instantiateWasm callback failed with error: ${N}`), C(N);\n }\n return cI(s, function (N) {\n D(N.instance);\n }).catch(C), {};\n }();\n I._strich_version = () => (I._strich_version = r.h)(), I._strich_init = (D, s, w) => (I._strich_init = r.i)(D, s, w), I._strich_set_debug = D => (I._strich_set_debug = r.j)(D), I._strich_get_last_error_message = () => (I._strich_get_last_error_message = r.k)(), I._strich_engine_init = D => (I._strich_engine_init = r.l)(D), I._strich_engine_destroy = () => (I._strich_engine_destroy = r.m)(), I._strich_engine_process_frame = (D, s, w, N, y, J, T) => (I._strich_engine_process_frame = r.n)(D, s, w, N, y, J, T), I._strich_engine_create_buffer = (D, s, w) => (I._strich_engine_create_buffer = r.o)(D, s, w), I._strich_engine_destroy_buffer = D => (I._strich_engine_destroy_buffer = r.p)(D), I._strich_engine_get_number_of_results = () => (I._strich_engine_get_number_of_results = r.q)(), I._strich_engine_get_result_data = D => (I._strich_engine_get_result_data = r.r)(D), I._strich_engine_get_result_data_len = D => (I._strich_engine_get_result_data_len = r.s)(D), I._strich_engine_get_result_raw_data = D => (I._strich_engine_get_result_raw_data = r.t)(D), I._strich_engine_get_result_type = D => (I._strich_engine_get_result_type = r.u)(D), I._strich_engine_get_quad_p1_x = D => (I._strich_engine_get_quad_p1_x = r.v)(D), I._strich_engine_get_quad_p1_y = D => (I._strich_engine_get_quad_p1_y = r.w)(D), I._strich_engine_get_quad_p2_x = D => (I._strich_engine_get_quad_p2_x = r.x)(D), I._strich_engine_get_quad_p2_y = D => (I._strich_engine_get_quad_p2_y = r.y)(D), I._strich_engine_get_quad_p3_x = D => (I._strich_engine_get_quad_p3_x = r.z)(D), I._strich_engine_get_quad_p3_y = D => (I._strich_engine_get_quad_p3_y = r.A)(D), I._strich_engine_get_quad_p4_x = D => (I._strich_engine_get_quad_p4_x = r.B)(D), I._strich_engine_get_quad_p4_y = D => (I._strich_engine_get_quad_p4_y = r.C)(D), I._strich_engine_get_symbology_identifier = D => (I._strich_engine_get_symbology_identifier = r.D)(D), I._strich_engine_get_debug_output = () => (I._strich_engine_get_debug_output = r.E)(), I._strich_engine_get_status_message = () => (I._strich_engine_get_status_message = r.F)(), I._strich_engine_get_exception_message = D => (I._strich_engine_get_exception_message = r.G)(D), I._mem_used = () => (I._mem_used = r.H)(), I._lsan_leak_check = () => (I._lsan_leak_check = r.I)();\n var WA = () => (WA = r.J)(),\n jA = D => (jA = r.K)(D),\n mA = D => (mA = r.L)(D);\n I.ccall = VA, I.cwrap = (D, s, w, N) => {\n var y = !w || w.every(J => J === \"number\" || J === \"boolean\");\n return s !== \"string\" && y && !N ? I[\"_\" + D] : (...J) => VA(D, s, w, J, N);\n };\n var aA;\n IA = function D() {\n aA || ZA(), aA || (IA = D);\n };\n function ZA() {\n function D() {\n if (!aA && (aA = !0, I.calledRun = !0, !c)) {\n if (lA(n), g(I), I.onRuntimeInitialized && I.onRuntimeInitialized(), I.postRun) for (typeof I.postRun == \"function\" && (I.postRun = [I.postRun]); I.postRun.length;) {\n var s = I.postRun.shift();\n k.unshift(s);\n }\n lA(k);\n }\n }\n if (!(0 < f)) {\n if (I.preRun) for (typeof I.preRun == \"function\" && (I.preRun = [I.preRun]); I.preRun.length;) q();\n lA(H), 0 < f || (I.setStatus ? (I.setStatus(\"Running...\"), setTimeout(function () {\n setTimeout(function () {\n I.setStatus(\"\");\n }, 1), D();\n }, 1)) : D());\n }\n }\n if (I.preInit) for (typeof I.preInit == \"function\" && (I.preInit = [I.preInit]); 0 < I.preInit.length;) I.preInit.pop()();\n return ZA(), A.ready;\n };\n })();\n typeof $A == \"object\" && typeof fA == \"object\" ? fA.exports = _A : typeof define == \"function\" && define.amd && define([], () => _A);\n});\nvar CA = /*#__PURE__*/(() => {\n let CA = class CA {\n static getDeviceId() {\n return localStorage.getItem(CA.localStorageKey);\n }\n static setDeviceId(A) {\n localStorage.setItem(CA.localStorageKey, A);\n }\n };\n CA.localStorageKey = \"strich_device_id\";\n return CA;\n})();\nvar W = CA;\nvar sA = class {\n constructor(A) {\n let I = A.split(\".\");\n if (I.length !== 3) throw new Error(\"Malformed license key\");\n let C = I[1].replace(/-/g, \"+\").replace(/_/g, \"/\"),\n Q = decodeURIComponent(atob(C).split(\"\").map(E => \"%\" + (\"00\" + E.charCodeAt(0).toString(16)).slice(-2)).join(\"\"));\n try {\n this.licenseJwt = JSON.parse(Q), this.licenseKey = A;\n } catch {\n throw new Error(\"Malformed license key\");\n }\n if (this.licenseJwt.aud == null || this.licenseJwt.sub == null || this.licenseJwt.iss == null || this.licenseJwt.version == null) throw new Error(\"Malformed license key\");\n }\n get licenseId() {\n return this.licenseJwt.sub;\n }\n get isDevLicense() {\n return this.licenseJwt.iss === \"dev.strich.io\";\n }\n get isOffline() {\n return this.licenseJwt.capabilities.hasOwnProperty(\"offline\") && this.licenseJwt.capabilities.offline === !0;\n }\n get isAnalyticsOptOut() {\n return this.licenseJwt.capabilities.hasOwnProperty(\"analyticsOptOut\") && this.licenseJwt.capabilities.analyticsOptOut === !0;\n }\n get hasCustomOverlayLogoCapability() {\n return this.licenseJwt.capabilities.hasOwnProperty(\"customOverlayLogo\") && this.licenseJwt.capabilities.customOverlayLogo === !0;\n }\n get version() {\n return this.licenseJwt.version;\n }\n};\nvar Y = class Y {\n static setLanguageFromNavigator(A) {\n let I = this.defaultLang;\n A && (I = A.split(\"-\")[0].toLowerCase()), I in Y.translations ? Y.lang = I : Y.lang = this.defaultLang;\n }\n static t(A) {\n let I = Y.translations[Y.lang];\n return I[A] ? I[A] : Y.translations[Y.defaultLang][A] ? Y.translations[Y.defaultLang][A] : A;\n }\n static default(A) {\n var I;\n return (I = Y.translations[Y.defaultLang][A]) != null ? I : A;\n }\n};\nY.defaultLang = \"en\", Y.lang = \"en\", Y.translations = {\n en: {\n \"action.reload\": \"Reload application\",\n \"action.retry\": \"Retry\",\n \"action.cancel\": \"Cancel\",\n \"action.scan\": \"Scan Barcode\",\n \"action.resumeScanning\": \"Resume scanning\",\n \"error.internal\": \"An internal error has occurred.\",\n \"error.requirementsNotFulfilled\": \"Your browser is not supported. Please use an up-to-date browser.\",\n \"error.featureNotAvailable\": \"Your browser does not support this feature.\",\n \"error.cameraNotReadable\": \"Unable to open camera. Make sure no other app or browser tab is using the camera.\",\n \"error.cameraNotAllowed\": \"Camera access is not permitted, please review website permissions and retry.\",\n \"error.cameraNotFound\": \"No suitable camera device was found.\",\n \"error.cameraOverconstrained\": \"Camera access failed, camera device is not compatible.\",\n \"error.cameraAbort\": \"Camera access was aborted.\",\n \"error.cameraLost\": \"Access to camera stream was lost, please tap to re-acquire.\",\n \"error.originNotSecure\": \"Camera access requires a secure origin (HTTPS)\",\n \"error.sdkNotInitialized\": \"Please initialize the SDK before using a BarcodeReader.\",\n \"error.licenseInvalid\": \"The license key is invalid or expired. Please obtain a new one.\",\n \"error.licenseCheckFailed\": \"The license key could not be checked. An internet connection is required.\",\n \"error.outdatedSdk\": \"The STRICH SDK is out of date, please update to a more recent version.\",\n \"error.invalidConfiguration\": \"The supplied configuration is not valid.\"\n },\n de: {\n \"action.reload\": \"App neu laden\",\n \"action.retry\": \"Nochmals versuchen\",\n \"action.cancel\": \"Abbrechen\",\n \"action.scan\": \"Barcode Scannen\",\n \"action.resumeScanning\": \"Scanning fortsetzen\",\n \"error.internal\": \"Ein interner Fehler ist aufgetreten.\",\n \"error.requirementsNotFulfilled\": \"Ihr Browser ist nicht unterst\\xFCtzt. Bitte verwenden Sie einen aktuellen Browser.\",\n \"error.featureNotAvailable\": \"Ihr Browser unterst\\xFCtzt diese Funktion nicht.\",\n \"error.cameraNotReadable\": \"Kamerazugriff fehlgeschlagen, bitte stellen Sie sicher dass keine andere App oder Browser-Tab die Kamera verwendet.\",\n \"error.cameraNotAllowed\": \"Kamerazugriff nicht erlaubt, bitte passen sie die Berechtigungen der Webseite an.\",\n \"error.cameraNotFound\": \"Keine geeignete Kamera gefunden.\",\n \"error.cameraOverconstrained\": \"Keine kompatible Kamera gefunden.\",\n \"error.cameraAbort\": \"Kamerazugriff fehlgeschlagen.\",\n \"error.cameraLost\": \"Der Kamerazugriff ging verloren, bitte tippen sie auf den Knopf um ihn wieder anzufordern.\"\n },\n fr: {\n \"action.reload\": \"Recharger l'application\",\n \"action.retry\": \"R\\xE9essayer\",\n \"action.cancel\": \"Annuler\",\n \"action.scan\": \"Scanner\",\n \"action.resumeScanning\": \"Reprendre la lecture des codes-barres\",\n \"error.internal\": \"Une erreur interne s'est produite.\",\n \"error.requirementsNotFulfilled\": \"Votre navigateur n'est pas pris en charge. Veuillez utiliser un navigateur plus r\\xE9cent.\",\n \"error.featureNotAvailable\": \"Votre navigateur ne prend pas en charge cette fonctionnalit\\xE9.\",\n \"error.cameraNotReadable\": \"Impossible d'acc\\xE9der \\xE0 la cam\\xE9ra. Assurez-vous qu'aucune autre application ou onglet de navigateur n'y acc\\xE8de.\",\n \"error.cameraNotAllowed\": \"L'acc\\xE8s \\xE0 la cam\\xE9ra n'est pas autoris\\xE9, veuillez v\\xE9rifier les autorisations du site web et r\\xE9essayer.\",\n \"error.cameraNotFound\": \"Aucune cam\\xE9ra appropri\\xE9 n'a \\xE9t\\xE9 trouv\\xE9.\",\n \"error.cameraOverconstrained\": \"L'acc\\xE8s \\xE0 la cam\\xE9ra a \\xE9chou\\xE9, l'appareil photo n'est pas compatible.\",\n \"error.cameraAbort\": \"L'acc\\xE8s \\xE0 la cam\\xE9ra a \\xE9t\\xE9 interrompu.\",\n \"error.cameraLost\": \"L'acc\\xE8s au flux de donn\\xE9es de la cam\\xE9ra a \\xE9t\\xE9 perdu, veuillez appuyer sur le bouton pour le r\\xE9acqu\\xE9rir.\"\n },\n it: {\n \"action.reload\": \"Ricarica l'applicazione\",\n \"action.retry\": \"Riprovare\",\n \"action.cancel\": \"Annullare\",\n \"action.scan\": \"Scansione\",\n \"action.resumeScanning\": \"Riprendere la scansione\",\n \"error.internal\": \"Si \\xE8 verificato un errore interno.\",\n \"error.requirementsNotFulfilled\": \"Il vostro browser non \\xE8 supportato. Utilizzare un browser aggiornato.\",\n \"error.featureNotAvailable\": \"Il browser non supporta questa funzione.\",\n \"error.cameraNotReadable\": \"Impossibile aprire la fotocamera. Assicuratevi che nessun'altra applicazione o scheda del browser stia utilizzando la fotocamera.\",\n \"error.cameraNotAllowed\": \"L'accesso alla fotocamera non \\xE8 consentito, controllare le autorizzazioni del sito web e riprovare.\",\n \"error.cameraNotFound\": \"Non \\xE8 stato trovato un dispositivo fotocamera adatto.\",\n \"error.cameraOverconstrained\": \"L'accesso alla fotocamera non \\xE8 riuscito, il dispositivo non \\xE8 compatibile.\",\n \"error.cameraAbort\": \"L'accesso alla fotocamera \\xE8 stato interrotto.\",\n \"error.cameraLost\": \"L'accesso al flusso della camera \\xE8 stato perso, toccare per riaccedere.\"\n },\n es: {\n \"action.reload\": \"Recargar la aplicaci\\xF3n\",\n \"action.retry\": \"Reintentar\",\n \"action.cancel\": \"Cancelar\",\n \"action.scan\": \"Escanear\",\n \"action.resumeScanning\": \"Reanudar la lectura del c\\xF3digo de barras\",\n \"error.internal\": \"Se ha producido un error interno.\",\n \"error.requirementsNotFulfilled\": \"Su navegador no es compatible. Utilice un navegador actualizado.\",\n \"error.featureNotAvailable\": \"Su navegador no es compatible con esta funci\\xF3n.\",\n \"error.cameraNotReadable\": \"No se puede abrir la c\\xE1mara. Aseg\\xFArate de que ninguna otra aplicaci\\xF3n o pesta\\xF1a del navegador est\\xE9 utilizando la c\\xE1mara.\",\n \"error.cameraNotAllowed\": \"El acceso a la c\\xE1mara no est\\xE1 permitido, revisa los permisos del sitio web y vuelve a intentarlo.\",\n \"error.cameraNotFound\": \"No se ha encontrado ning\\xFAn dispositivo de c\\xE1mara adecuado.\",\n \"error.cameraOverconstrained\": \"El acceso a la c\\xE1mara ha fallado, el dispositivo de la c\\xE1mara no es compatible.\",\n \"error.cameraAbort\": \"Se ha cancelado el acceso a la c\\xE1mara.\",\n \"error.cameraLost\": \"Se ha perdido el acceso a la c\\xE1mara, pulse para volver a obtenerlo.\"\n },\n pt: {\n \"action.reload\": \"Recarregar aplicativo\",\n \"action.retry\": \"Tentar novamente\",\n \"action.cancel\": \"Cancelar\",\n \"action.scan\": \"Escanear c\\xF3digo de barras\",\n \"action.resumeScanning\": \"Retomar a digitaliza\\xE7\\xE3o\",\n \"error.internal\": \"Ocorreu um erro interno.\",\n \"error.requirementsNotFulfilled\": \"Seu navegador n\\xE3o \\xE9 compat\\xEDvel. Por favor, use um navegador atualizado.\",\n \"error.featureNotAvailable\": \"Seu navegador n\\xE3o suporta este recurso.\",\n \"error.cameraNotReadable\": \"N\\xE3o foi poss\\xEDvel abrir a c\\xE2mera. Certifique-se de que nenhum outro aplicativo ou aba do navegador esteja usando a c\\xE2mera.\",\n \"error.cameraNotAllowed\": \"O acesso \\xE0 c\\xE2mera n\\xE3o foi permitido, revise as permiss\\xF5es do site e tente novamente.\",\n \"error.cameraNotFound\": \"Nenhum dispositivo de c\\xE2mera adequado foi encontrado.\",\n \"error.cameraOverconstrained\": \"Falha no acesso \\xE0 c\\xE2mera, o dispositivo n\\xE3o \\xE9 compat\\xEDvel.\",\n \"error.cameraAbort\": \"O acesso \\xE0 c\\xE2mera foi interrompido.\",\n \"error.cameraLost\": \"O acesso ao fluxo da c\\xE2mera foi perdido, toque para readquirir.\"\n },\n da: {\n \"action.reload\": \"Genindl\\xE6s applikation\",\n \"action.retry\": \"Pr\\xF8v igen\",\n \"action.cancel\": \"Annuller\",\n \"action.scan\": \"Scan stregkode\",\n \"action.resumeScanning\": \"Genoptag scanning\",\n \"error.internal\": \"Der er opst\\xE5et en intern fejl.\",\n \"error.requirementsNotFulfilled\": \"Din browser underst\\xF8ttes ikke. Brug venligst en opdateret browser.\",\n \"error.featureNotAvailable\": \"Din browser underst\\xF8tter ikke denne funktion.\",\n \"error.cameraNotReadable\": \"Kan ikke \\xE5bne kameraet. S\\xF8rg for, at ingen andre apps eller browsertabs bruger kameraet.\",\n \"error.cameraNotAllowed\": \"Adgang til kameraet er ikke tilladt, gennemg\\xE5 webstedstilladelser og pr\\xF8v igen.\",\n \"error.cameraNotFound\": \"Ingen passende kameraenhed fundet.\",\n \"error.cameraOverconstrained\": \"Kameraadgang mislykkedes, enheden er ikke kompatibel.\",\n \"error.cameraAbort\": \"Kameraadgang blev afbrudt.\",\n \"error.cameraLost\": \"Adgangen til kamerastreamen blev tabt, tryk for at genoprette.\"\n },\n nl: {\n \"action.reload\": \"Applicatie herladen\",\n \"action.retry\": \"Opnieuw proberen\",\n \"action.cancel\": \"Annuleren\",\n \"action.scan\": \"Barcode scannen\",\n \"action.resumeScanning\": \"Doorgaan met scannen\",\n \"error.internal\": \"Er is een interne fout opgetreden.\",\n \"error.requirementsNotFulfilled\": \"Uw browser wordt niet ondersteund. Gebruik een up-to-date browser.\",\n \"error.featureNotAvailable\": \"Uw browser ondersteunt deze functie niet.\",\n \"error.cameraNotReadable\": \"Kan de camera niet openen. Zorg ervoor dat geen andere app of browsertabblad de camera gebruikt.\",\n \"error.cameraNotAllowed\": \"Toegang tot de camera is niet toegestaan, controleer de websitepermissies en probeer opnieuw.\",\n \"error.cameraNotFound\": \"Geen geschikte camera gevonden.\",\n \"error.cameraOverconstrained\": \"Camera-toegang mislukt, apparaat is niet compatibel.\",\n \"error.cameraAbort\": \"Camera-toegang werd afgebroken.\",\n \"error.cameraLost\": \"Toegang tot de camerastream is verloren gegaan, tik om opnieuw te verbinden.\"\n },\n sv: {\n \"action.reload\": \"Ladda om applikationen\",\n \"action.retry\": \"F\\xF6rs\\xF6k igen\",\n \"action.cancel\": \"Avbryt\",\n \"action.scan\": \"Skanna streckkod\",\n \"action.resumeScanning\": \"Forts\\xE4tt skanna\",\n \"error.internal\": \"Ett internt fel har intr\\xE4ffat.\",\n \"error.requirementsNotFulfilled\": \"Din webbl\\xE4sare st\\xF6ds inte. V\\xE4nligen anv\\xE4nd en uppdaterad webbl\\xE4sare.\",\n \"error.featureNotAvailable\": \"Din webbl\\xE4sare st\\xF6der inte den h\\xE4r funktionen.\",\n \"error.cameraNotReadable\": \"Kameran kan inte \\xF6ppnas. Kontrollera att ingen annan app eller flik i webbl\\xE4saren anv\\xE4nder kameran.\",\n \"error.cameraNotAllowed\": \"\\xC5tkomst till kameran \\xE4r inte till\\xE5ten, granska webbplatsens beh\\xF6righeter och f\\xF6rs\\xF6k igen.\",\n \"error.cameraNotFound\": \"Ingen l\\xE4mplig kameranhet hittades.\",\n \"error.cameraOverconstrained\": \"Kamera\\xE5tkomst misslyckades, kameran \\xE4r inte kompatibel.\",\n \"error.cameraAbort\": \"Kamera\\xE5tkomst avbr\\xF6ts.\",\n \"error.cameraLost\": \"\\xC5tkomsten till kamerastreamen f\\xF6rlorades, tryck f\\xF6r att \\xE5teransluta.\"\n },\n no: {\n \"action.reload\": \"Last inn applikasjonen p\\xE5 nytt\",\n \"action.retry\": \"Pr\\xF8v igjen\",\n \"action.cancel\": \"Avbryt\",\n \"action.scan\": \"Skann strekkode\",\n \"action.resumeScanning\": \"Fortsett skanning\",\n \"error.internal\": \"En intern feil har oppst\\xE5tt.\",\n \"error.requirementsNotFulfilled\": \"Nettleseren din st\\xF8ttes ikke. Vennligst bruk en oppdatert nettleser.\",\n \"error.featureNotAvailable\": \"Nettleseren din st\\xF8tter ikke denne funksjonen.\",\n \"error.cameraNotReadable\": \"Kan ikke \\xE5pne kamera. S\\xF8rg for at ingen andre apper eller nettleserfaner bruker kameraet.\",\n \"error.cameraNotAllowed\": \"Tilgang til kamera er ikke tillatt, vennligst sjekk nettstedstillatelser og pr\\xF8v igjen.\",\n \"error.cameraNotFound\": \"Ingen passende kameraenhet ble funnet.\",\n \"error.cameraOverconstrained\": \"Kameratilgang mislyktes, enheten er ikke kompatibel.\",\n \"error.cameraAbort\": \"Kameratilgang ble avbrutt.\",\n \"error.cameraLost\": \"Tilgangen til kamerastreamen gikk tapt, trykk for \\xE5 gjenopprette.\"\n },\n fi: {\n \"action.reload\": \"Lataa sovellus uudelleen\",\n \"action.retry\": \"Yrit\\xE4 uudelleen\",\n \"action.cancel\": \"Peruuta\",\n \"action.scan\": \"Skannaa viivakoodi\",\n \"action.resumeScanning\": \"Jatka skannausta\",\n \"error.internal\": \"Sis\\xE4inen virhe on tapahtunut.\",\n \"error.requirementsNotFulfilled\": \"Selaintasi ei tueta. K\\xE4yt\\xE4 p\\xE4ivitetty\\xE4 selainta.\",\n \"error.featureNotAvailable\": \"Selaimesi ei tue t\\xE4t\\xE4 ominaisuutta.\",\n \"error.cameraNotReadable\": \"Kameraa ei voi avata. Varmista, ett\\xE4 mik\\xE4\\xE4n muu sovellus tai selainv\\xE4lilehti ei k\\xE4yt\\xE4 kameraa.\",\n \"error.cameraNotAllowed\": \"Kameran k\\xE4ytt\\xF6 ei ole sallittu, tarkista verkkosivuston k\\xE4ytt\\xF6oikeudet ja yrit\\xE4 uudelleen.\",\n \"error.cameraNotFound\": \"Sopivaa kameralaitetta ei l\\xF6ytynyt.\",\n \"error.cameraOverconstrained\": \"Kameran k\\xE4ytt\\xF6 ep\\xE4onnistui, laite ei ole yhteensopiva.\",\n \"error.cameraAbort\": \"Kameran k\\xE4ytt\\xF6 keskeytettiin.\",\n \"error.cameraLost\": \"Yhteys kameran streamiin menetettiin, napauta uudelleen muodostamiseksi.\"\n },\n jp: {\n \"action.reload\": \"\\u30A2\\u30D7\\u30EA\\u30B1\\u30FC\\u30B7\\u30E7\\u30F3\\u3092\\u30EA\\u30ED\\u30FC\\u30C9\",\n \"action.retry\": \"\\u518D\\u8A66\\u884C\",\n \"action.cancel\": \"\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\",\n \"action.scan\": \"\\u30D0\\u30FC\\u30B3\\u30FC\\u30C9\\u3092\\u30B9\\u30AD\\u30E3\\u30F3\",\n \"action.resumeScanning\": \"\\u30B9\\u30AD\\u30E3\\u30F3\\u3092\\u518D\\u958B\",\n \"error.internal\": \"\\u5185\\u90E8\\u30A8\\u30E9\\u30FC\\u304C\\u767A\\u751F\\u3057\\u307E\\u3057\\u305F\\u3002\",\n \"error.requirementsNotFulfilled\": \"\\u304A\\u4F7F\\u3044\\u306E\\u30D6\\u30E9\\u30A6\\u30B6\\u306F\\u30B5\\u30DD\\u30FC\\u30C8\\u3055\\u308C\\u3066\\u3044\\u307E\\u305B\\u3093\\u3002\\u6700\\u65B0\\u306E\\u30D6\\u30E9\\u30A6\\u30B6\\u3092\\u3054\\u5229\\u7528\\u304F\\u3060\\u3055\\u3044\\u3002\",\n \"error.featureNotAvailable\": \"\\u304A\\u4F7F\\u3044\\u306E\\u30D6\\u30E9\\u30A6\\u30B6\\u306F\\u3053\\u306E\\u6A5F\\u80FD\\u3092\\u30B5\\u30DD\\u30FC\\u30C8\\u3057\\u3066\\u3044\\u307E\\u305B\\u3093\\u3002\",\n \"error.cameraNotReadable\": \"\\u30AB\\u30E1\\u30E9\\u3092\\u958B\\u304F\\u3053\\u3068\\u304C\\u3067\\u304D\\u307E\\u305B\\u3093\\u3002\\u4ED6\\u306E\\u30A2\\u30D7\\u30EA\\u3084\\u30D6\\u30E9\\u30A6\\u30B6\\u30BF\\u30D6\\u304C\\u30AB\\u30E1\\u30E9\\u3092\\u4F7F\\u7528\\u3057\\u3066\\u3044\\u306A\\u3044\\u3053\\u3068\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\n \"error.cameraNotAllowed\": \"\\u30AB\\u30E1\\u30E9\\u30A2\\u30AF\\u30BB\\u30B9\\u304C\\u8A31\\u53EF\\u3055\\u308C\\u3066\\u3044\\u307E\\u305B\\u3093\\u3002\\u30A6\\u30A7\\u30D6\\u30B5\\u30A4\\u30C8\\u306E\\u6A29\\u9650\\u3092\\u78BA\\u8A8D\\u3057\\u3066\\u518D\\u8A66\\u884C\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\",\n \"error.cameraNotFound\": \"\\u9069\\u5207\\u306A\\u30AB\\u30E1\\u30E9\\u30C7\\u30D0\\u30A4\\u30B9\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\\u3002\",\n \"error.cameraOverconstrained\": \"\\u30AB\\u30E1\\u30E9\\u30A2\\u30AF\\u30BB\\u30B9\\u306B\\u5931\\u6557\\u3057\\u307E\\u3057\\u305F\\u3002\\u30AB\\u30E1\\u30E9\\u30C7\\u30D0\\u30A4\\u30B9\\u304C\\u4E92\\u63DB\\u6027\\u304C\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002\",\n \"error.cameraAbort\": \"\\u30AB\\u30E1\\u30E9\\u30A2\\u30AF\\u30BB\\u30B9\\u304C\\u4E2D\\u65AD\\u3055\\u308C\\u307E\\u3057\\u305F\\u3002\",\n \"error.cameraLost\": \"\\u30AB\\u30E1\\u30E9\\u30B9\\u30C8\\u30EA\\u30FC\\u30E0\\u3078\\u306E\\u30A2\\u30AF\\u30BB\\u30B9\\u304C\\u5931\\u308F\\u308C\\u307E\\u3057\\u305F\\u3002\\u518D\\u53D6\\u5F97\\u3059\\u308B\\u306B\\u306F\\u30BF\\u30C3\\u30D7\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\u3002\"\n },\n zh: {\n \"action.reload\": \"\\u91CD\\u65B0\\u52A0\\u8F7D\\u5E94\\u7528\\u7A0B\\u5E8F\",\n \"action.retry\": \"\\u91CD\\u8BD5\",\n \"action.cancel\": \"\\u53D6\\u6D88\",\n \"action.scan\": \"\\u626B\\u63CF\\u6761\\u5F62\\u7801\",\n \"action.resumeScanning\": \"\\u7EE7\\u7EED\\u626B\\u63CF\",\n \"error.internal\": \"\\u53D1\\u751F\\u5185\\u90E8\\u9519\\u8BEF\\u3002\",\n \"error.requirementsNotFulfilled\": \"\\u60A8\\u7684\\u6D4F\\u89C8\\u5668\\u4E0D\\u53D7\\u652F\\u6301\\u3002\\u8BF7\\u4F7F\\u7528\\u6700\\u65B0\\u7248\\u672C\\u7684\\u6D4F\\u89C8\\u5668\\u3002\",\n \"error.featureNotAvailable\": \"\\u60A8\\u7684\\u6D4F\\u89C8\\u5668\\u4E0D\\u652F\\u6301\\u6B64\\u529F\\u80FD\\u3002\",\n \"error.cameraNotReadable\": \"\\u65E0\\u6CD5\\u6253\\u5F00\\u6444\\u50CF\\u5934\\u3002\\u8BF7\\u786E\\u4FDD\\u6CA1\\u6709\\u5176\\u4ED6\\u5E94\\u7528\\u7A0B\\u5E8F\\u6216\\u6D4F\\u89C8\\u5668\\u6807\\u7B7E\\u6B63\\u5728\\u4F7F\\u7528\\u6444\\u50CF\\u5934\\u3002\",\n \"error.cameraNotAllowed\": \"\\u6444\\u50CF\\u5934\\u8BBF\\u95EE\\u672A\\u88AB\\u5141\\u8BB8\\uFF0C\\u8BF7\\u68C0\\u67E5\\u7F51\\u7AD9\\u6743\\u9650\\u540E\\u91CD\\u8BD5\\u3002\",\n \"error.cameraNotFound\": \"\\u672A\\u627E\\u5230\\u5408\\u9002\\u7684\\u6444\\u50CF\\u5934\\u8BBE\\u5907\\u3002\",\n \"error.cameraOverconstrained\": \"\\u6444\\u50CF\\u5934\\u8BBF\\u95EE\\u5931\\u8D25\\uFF0C\\u8BBE\\u5907\\u4E0D\\u517C\\u5BB9\\u3002\",\n \"error.cameraAbort\": \"\\u6444\\u50CF\\u5934\\u8BBF\\u95EE\\u88AB\\u4E2D\\u6B62\\u3002\",\n \"error.cameraLost\": \"\\u6444\\u50CF\\u5934\\u6D41\\u8BBF\\u95EE\\u4E22\\u5931\\uFF0C\\u8BF7\\u70B9\\u51FB\\u4EE5\\u91CD\\u65B0\\u83B7\\u53D6\\u3002\"\n },\n hi: {\n \"action.reload\": \"\\u090F\\u092A\\u094D\\u0932\\u093F\\u0915\\u0947\\u0936\\u0928 \\u0915\\u094B \\u092B\\u093F\\u0930 \\u0938\\u0947 \\u0932\\u094B\\u0921 \\u0915\\u0930\\u0947\\u0902\",\n \"action.retry\": \"\\u092A\\u0941\\u0928\\u0903 \\u092A\\u094D\\u0930\\u092F\\u093E\\u0938 \\u0915\\u0930\\u0947\\u0902\",\n \"action.cancel\": \"\\u0930\\u0926\\u094D\\u0926 \\u0915\\u0930\\u0947\\u0902\",\n \"action.scan\": \"\\u092C\\u093E\\u0930\\u0915\\u094B\\u0921 \\u0938\\u094D\\u0915\\u0948\\u0928 \\u0915\\u0930\\u0947\\u0902\",\n \"action.resumeScanning\": \"\\u0938\\u094D\\u0915\\u0948\\u0928\\u093F\\u0902\\u0917 \\u091C\\u093E\\u0930\\u0940 \\u0930\\u0916\\u0947\\u0902\",\n \"error.internal\": \"\\u0906\\u0902\\u0924\\u0930\\u093F\\u0915 \\u0924\\u094D\\u0930\\u0941\\u091F\\u093F \\u0939\\u0941\\u0908 \\u0939\\u0948\\u0964\",\n \"error.requirementsNotFulfilled\": \"\\u0906\\u092A\\u0915\\u093E \\u092C\\u094D\\u0930\\u093E\\u0909\\u091C\\u093C\\u0930 \\u0938\\u092E\\u0930\\u094D\\u0925\\u093F\\u0924 \\u0928\\u0939\\u0940\\u0902 \\u0939\\u0948\\u0964 \\u0915\\u0943\\u092A\\u092F\\u093E \\u090F\\u0915 \\u0905\\u0926\\u094D\\u092F\\u0924\\u0928 \\u092C\\u094D\\u0930\\u093E\\u0909\\u091C\\u093C\\u0930 \\u0915\\u093E \\u0909\\u092A\\u092F\\u094B\\u0917 \\u0915\\u0930\\u0947\\u0902\\u0964\",\n \"error.featureNotAvailable\": \"\\u0906\\u092A\\u0915\\u093E \\u092C\\u094D\\u0930\\u093E\\u0909\\u091C\\u093C\\u0930 \\u0907\\u0938 \\u0938\\u0941\\u0935\\u093F\\u0927\\u093E \\u0915\\u093E \\u0938\\u092E\\u0930\\u094D\\u0925\\u0928 \\u0928\\u0939\\u0940\\u0902 \\u0915\\u0930\\u0924\\u093E\\u0964\",\n \"error.cameraNotReadable\": \"\\u0915\\u0948\\u092E\\u0930\\u093E \\u0916\\u094B\\u0932\\u0928\\u0947 \\u092E\\u0947\\u0902 \\u0905\\u0938\\u092E\\u0930\\u094D\\u0925\\u0964 \\u0915\\u0943\\u092A\\u092F\\u093E \\u0938\\u0941\\u0928\\u093F\\u0936\\u094D\\u091A\\u093F\\u0924 \\u0915\\u0930\\u0947\\u0902 \\u0915\\u093F \\u0915\\u094B\\u0908 \\u0905\\u0928\\u094D\\u092F \\u0910\\u092A \\u092F\\u093E \\u092C\\u094D\\u0930\\u093E\\u0909\\u091C\\u093C\\u0930 \\u091F\\u0948\\u092C \\u0915\\u0948\\u092E\\u0930\\u093E \\u0909\\u092A\\u092F\\u094B\\u0917 \\u0928\\u0939\\u0940\\u0902 \\u0915\\u0930 \\u0930\\u0939\\u093E \\u0939\\u0948\\u0964\",\n \"error.cameraNotAllowed\": \"\\u0915\\u0948\\u092E\\u0930\\u093E \\u090F\\u0915\\u094D\\u0938\\u0947\\u0938 \\u0915\\u0940 \\u0905\\u0928\\u0941\\u092E\\u0924\\u093F \\u0928\\u0939\\u0940\\u0902 \\u0939\\u0948\\u0964 \\u0915\\u0943\\u092A\\u092F\\u093E \\u0935\\u0947\\u092C\\u0938\\u093E\\u0907\\u091F \\u0905\\u0928\\u0941\\u092E\\u0924\\u093F\\u092F\\u094B\\u0902 \\u0915\\u0940 \\u0938\\u092E\\u0940\\u0915\\u094D\\u0937\\u093E \\u0915\\u0930\\u0947\\u0902 \\u0914\\u0930 \\u092A\\u0941\\u0928\\u0903 \\u092A\\u094D\\u0930\\u092F\\u093E\\u0938 \\u0915\\u0930\\u0947\\u0902\\u0964\",\n \"error.cameraNotFound\": \"\\u0915\\u094B\\u0908 \\u0909\\u092A\\u092F\\u0941\\u0915\\u094D\\u0924 \\u0915\\u0948\\u092E\\u0930\\u093E \\u0909\\u092A\\u0915\\u0930\\u0923 \\u0928\\u0939\\u0940\\u0902 \\u092E\\u093F\\u0932\\u093E\\u0964\",\n \"error.cameraOverconstrained\": \"\\u0915\\u0948\\u092E\\u0930\\u093E \\u090F\\u0915\\u094D\\u0938\\u0947\\u0938 \\u0935\\u093F\\u092B\\u0932 \\u0930\\u0939\\u093E, \\u0915\\u0948\\u092E\\u0930\\u093E \\u0921\\u093F\\u0935\\u093E\\u0907\\u0938 \\u0938\\u0902\\u0917\\u0924 \\u0928\\u0939\\u0940\\u0902 \\u0939\\u0948\\u0964\",\n \"error.cameraAbort\": \"\\u0915\\u0948\\u092E\\u0930\\u093E \\u090F\\u0915\\u094D\\u0938\\u0947\\u0938 \\u0930\\u0926\\u094D\\u0926 \\u0915\\u0930 \\u0926\\u093F\\u092F\\u093E \\u0917\\u092F\\u093E\\u0964\",\n \"error.cameraLost\": \"\\u0915\\u0948\\u092E\\u0930\\u093E \\u0938\\u094D\\u091F\\u094D\\u0930\\u0940\\u092E \\u0924\\u0915 \\u092A\\u0939\\u0941\\u0902\\u091A \\u0916\\u094B \\u0917\\u0908\\u0964 \\u0915\\u0943\\u092A\\u092F\\u093E \\u092B\\u093F\\u0930 \\u0938\\u0947 \\u092A\\u094D\\u0930\\u093E\\u092A\\u094D\\u0924 \\u0915\\u0930\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093F\\u090F \\u091F\\u0948\\u092A \\u0915\\u0930\\u0947\\u0902\\u0964\"\n },\n id: {\n \"action.reload\": \"Muat ulang aplikasi\",\n \"action.retry\": \"Coba lagi\",\n \"action.cancel\": \"Batal\",\n \"action.scan\": \"Pindai Barcode\",\n \"action.resumeScanning\": \"Lanjutkan pemindaian\",\n \"error.internal\": \"Terjadi kesalahan internal.\",\n \"error.requirementsNotFulfilled\": \"Peramban Anda tidak didukung. Harap gunakan peramban yang terbaru.\",\n \"error.featureNotAvailable\": \"Peramban Anda tidak mendukung fitur ini.\",\n \"error.cameraNotReadable\": \"Tidak dapat membuka kamera. Pastikan tidak ada aplikasi atau tab peramban lain yang menggunakan kamera.\",\n \"error.cameraNotAllowed\": \"Akses kamera tidak diizinkan, harap tinjau izin situs web dan coba lagi.\",\n \"error.cameraNotFound\": \"Tidak ada perangkat kamera yang cocok ditemukan.\",\n \"error.cameraOverconstrained\": \"Akses kamera gagal, perangkat kamera tidak kompatibel.\",\n \"error.cameraAbort\": \"Akses kamera dibatalkan.\",\n \"error.cameraLost\": \"Akses ke aliran kamera hilang, silakan ketuk untuk mendapatkan kembali.\"\n },\n vi: {\n \"action.reload\": \"T\\u1EA3i l\\u1EA1i \\u1EE9ng d\\u1EE5ng\",\n \"action.retry\": \"Th\\u1EED l\\u1EA1i\",\n \"action.cancel\": \"H\\u1EE7y\",\n \"action.scan\": \"Qu\\xE9t m\\xE3 v\\u1EA1ch\",\n \"action.resumeScanning\": \"Ti\\u1EBFp t\\u1EE5c qu\\xE9t\",\n \"error.internal\": \"\\u0110\\xE3 x\\u1EA3y ra l\\u1ED7i n\\u1ED9i b\\u1ED9.\",\n \"error.requirementsNotFulfilled\": \"Tr\\xECnh duy\\u1EC7t c\\u1EE7a b\\u1EA1n kh\\xF4ng \\u0111\\u01B0\\u1EE3c h\\u1ED7 tr\\u1EE3. Vui l\\xF2ng s\\u1EED d\\u1EE5ng tr\\xECnh duy\\u1EC7t c\\u1EADp nh\\u1EADt.\",\n \"error.featureNotAvailable\": \"Tr\\xECnh duy\\u1EC7t c\\u1EE7a b\\u1EA1n kh\\xF4ng h\\u1ED7 tr\\u1EE3 t\\xEDnh n\\u0103ng n\\xE0y.\",\n \"error.cameraNotReadable\": \"Kh\\xF4ng th\\u1EC3 m\\u1EDF camera. \\u0110\\u1EA3m b\\u1EA3o kh\\xF4ng c\\xF3 \\u1EE9ng d\\u1EE5ng ho\\u1EB7c tab tr\\xECnh duy\\u1EC7t n\\xE0o kh\\xE1c \\u0111ang s\\u1EED d\\u1EE5ng camera.\",\n \"error.cameraNotAllowed\": \"Truy c\\u1EADp camera kh\\xF4ng \\u0111\\u01B0\\u1EE3c ph\\xE9p, vui l\\xF2ng xem l\\u1EA1i quy\\u1EC1n trang web v\\xE0 th\\u1EED l\\u1EA1i.\",\n \"error.cameraNotFound\": \"Kh\\xF4ng t\\xECm th\\u1EA5y thi\\u1EBFt b\\u1ECB camera ph\\xF9 h\\u1EE3p.\",\n \"error.cameraOverconstrained\": \"Truy c\\u1EADp camera th\\u1EA5t b\\u1EA1i, thi\\u1EBFt b\\u1ECB kh\\xF4ng t\\u01B0\\u01A1ng th\\xEDch.\",\n \"error.cameraAbort\": \"Truy c\\u1EADp camera \\u0111\\xE3 b\\u1ECB h\\u1EE7y.\",\n \"error.cameraLost\": \"\\u0110\\xE3 m\\u1EA5t k\\u1EBFt n\\u1ED1i v\\u1EDBi camera, h\\xE3y nh\\u1EA5n \\u0111\\u1EC3 k\\u1EBFt n\\u1ED1i l\\u1EA1i.\"\n },\n th: {\n \"action.reload\": \"\\u0E42\\u0E2B\\u0E25\\u0E14\\u0E41\\u0E2D\\u0E1B\\u0E1E\\u0E25\\u0E34\\u0E40\\u0E04\\u0E0A\\u0E31\\u0E19\\u0E43\\u0E2B\\u0E21\\u0E48\",\n \"action.retry\": \"\\u0E25\\u0E2D\\u0E07\\u0E2D\\u0E35\\u0E01\\u0E04\\u0E23\\u0E31\\u0E49\\u0E07\",\n \"action.cancel\": \"\\u0E22\\u0E01\\u0E40\\u0E25\\u0E34\\u0E01\",\n \"action.scan\": \"\\u0E2A\\u0E41\\u0E01\\u0E19\\u0E1A\\u0E32\\u0E23\\u0E4C\\u0E42\\u0E04\\u0E49\\u0E14\",\n \"action.resumeScanning\": \"\\u0E14\\u0E33\\u0E40\\u0E19\\u0E34\\u0E19\\u0E01\\u0E32\\u0E23\\u0E2A\\u0E41\\u0E01\\u0E19\\u0E15\\u0E48\\u0E2D\",\n \"error.internal\": \"\\u0E40\\u0E01\\u0E34\\u0E14\\u0E02\\u0E49\\u0E2D\\u0E1C\\u0E34\\u0E14\\u0E1E\\u0E25\\u0E32\\u0E14\\u0E20\\u0E32\\u0E22\\u0E43\\u0E19\",\n \"error.requirementsNotFulfilled\": \"\\u0E40\\u0E1A\\u0E23\\u0E32\\u0E27\\u0E4C\\u0E40\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E02\\u0E2D\\u0E07\\u0E04\\u0E38\\u0E13\\u0E44\\u0E21\\u0E48\\u0E23\\u0E2D\\u0E07\\u0E23\\u0E31\\u0E1A \\u0E01\\u0E23\\u0E38\\u0E13\\u0E32\\u0E43\\u0E0A\\u0E49\\u0E40\\u0E1A\\u0E23\\u0E32\\u0E27\\u0E4C\\u0E40\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E17\\u0E35\\u0E48\\u0E2D\\u0E31\\u0E1B\\u0E40\\u0E14\\u0E15\\u0E25\\u0E48\\u0E32\\u0E2A\\u0E38\\u0E14\",\n \"error.featureNotAvailable\": \"\\u0E40\\u0E1A\\u0E23\\u0E32\\u0E27\\u0E4C\\u0E40\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E02\\u0E2D\\u0E07\\u0E04\\u0E38\\u0E13\\u0E44\\u0E21\\u0E48\\u0E23\\u0E2D\\u0E07\\u0E23\\u0E31\\u0E1A\\u0E1F\\u0E35\\u0E40\\u0E08\\u0E2D\\u0E23\\u0E4C\\u0E19\\u0E35\\u0E49\",\n \"error.cameraNotReadable\": \"\\u0E44\\u0E21\\u0E48\\u0E2A\\u0E32\\u0E21\\u0E32\\u0E23\\u0E16\\u0E40\\u0E1B\\u0E34\\u0E14\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E44\\u0E14\\u0E49 \\u0E42\\u0E1B\\u0E23\\u0E14\\u0E15\\u0E23\\u0E27\\u0E08\\u0E2A\\u0E2D\\u0E1A\\u0E27\\u0E48\\u0E32\\u0E44\\u0E21\\u0E48\\u0E21\\u0E35\\u0E41\\u0E2D\\u0E1B\\u0E2B\\u0E23\\u0E37\\u0E2D\\u0E41\\u0E17\\u0E47\\u0E1A\\u0E40\\u0E1A\\u0E23\\u0E32\\u0E27\\u0E4C\\u0E40\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E2D\\u0E37\\u0E48\\u0E19\\u0E43\\u0E0A\\u0E49\\u0E07\\u0E32\\u0E19\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E2D\\u0E22\\u0E39\\u0E48\",\n \"error.cameraNotAllowed\": \"\\u0E01\\u0E32\\u0E23\\u0E40\\u0E02\\u0E49\\u0E32\\u0E16\\u0E36\\u0E07\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E44\\u0E21\\u0E48\\u0E44\\u0E14\\u0E49\\u0E23\\u0E31\\u0E1A\\u0E2D\\u0E19\\u0E38\\u0E0D\\u0E32\\u0E15 \\u0E42\\u0E1B\\u0E23\\u0E14\\u0E15\\u0E23\\u0E27\\u0E08\\u0E2A\\u0E2D\\u0E1A\\u0E2A\\u0E34\\u0E17\\u0E18\\u0E34\\u0E4C\\u0E02\\u0E2D\\u0E07\\u0E40\\u0E27\\u0E47\\u0E1A\\u0E44\\u0E0B\\u0E15\\u0E4C\\u0E41\\u0E25\\u0E30\\u0E25\\u0E2D\\u0E07\\u0E2D\\u0E35\\u0E01\\u0E04\\u0E23\\u0E31\\u0E49\\u0E07\",\n \"error.cameraNotFound\": \"\\u0E44\\u0E21\\u0E48\\u0E1E\\u0E1A\\u0E2D\\u0E38\\u0E1B\\u0E01\\u0E23\\u0E13\\u0E4C\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E17\\u0E35\\u0E48\\u0E40\\u0E2B\\u0E21\\u0E32\\u0E30\\u0E2A\\u0E21\",\n \"error.cameraOverconstrained\": \"\\u0E01\\u0E32\\u0E23\\u0E40\\u0E02\\u0E49\\u0E32\\u0E16\\u0E36\\u0E07\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E25\\u0E49\\u0E21\\u0E40\\u0E2B\\u0E25\\u0E27 \\u0E2D\\u0E38\\u0E1B\\u0E01\\u0E23\\u0E13\\u0E4C\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E44\\u0E21\\u0E48\\u0E23\\u0E2D\\u0E07\\u0E23\\u0E31\\u0E1A\",\n \"error.cameraAbort\": \"\\u0E01\\u0E32\\u0E23\\u0E40\\u0E02\\u0E49\\u0E32\\u0E16\\u0E36\\u0E07\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E16\\u0E39\\u0E01\\u0E22\\u0E01\\u0E40\\u0E25\\u0E34\\u0E01\",\n \"error.cameraLost\": \"\\u0E01\\u0E32\\u0E23\\u0E40\\u0E0A\\u0E37\\u0E48\\u0E2D\\u0E21\\u0E15\\u0E48\\u0E2D\\u0E01\\u0E31\\u0E1A\\u0E2A\\u0E15\\u0E23\\u0E35\\u0E21\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E02\\u0E32\\u0E14\\u0E2B\\u0E32\\u0E22 \\u0E42\\u0E1B\\u0E23\\u0E14\\u0E41\\u0E15\\u0E30\\u0E40\\u0E1E\\u0E37\\u0E48\\u0E2D\\u0E40\\u0E0A\\u0E37\\u0E48\\u0E2D\\u0E21\\u0E15\\u0E48\\u0E2D\\u0E2D\\u0E35\\u0E01\\u0E04\\u0E23\\u0E31\\u0E49\\u0E07\"\n },\n ko: {\n \"action.reload\": \"\\uC560\\uD50C\\uB9AC\\uCF00\\uC774\\uC158 \\uB2E4\\uC2DC \\uB85C\\uB4DC\",\n \"action.retry\": \"\\uB2E4\\uC2DC \\uC2DC\\uB3C4\",\n \"action.cancel\": \"\\uCDE8\\uC18C\",\n \"action.scan\": \"\\uBC14\\uCF54\\uB4DC \\uC2A4\\uCE94\",\n \"action.resumeScanning\": \"\\uC2A4\\uCE94 \\uC7AC\\uAC1C\",\n \"error.internal\": \"\\uB0B4\\uBD80 \\uC624\\uB958\\uAC00 \\uBC1C\\uC0DD\\uD588\\uC2B5\\uB2C8\\uB2E4.\",\n \"error.requirementsNotFulfilled\": \"\\uBE0C\\uB77C\\uC6B0\\uC800\\uAC00 \\uC9C0\\uC6D0\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4. \\uCD5C\\uC2E0 \\uBE0C\\uB77C\\uC6B0\\uC800\\uB97C \\uC0AC\\uC6A9\\uD574\\uC8FC\\uC138\\uC694.\",\n \"error.featureNotAvailable\": \"\\uBE0C\\uB77C\\uC6B0\\uC800\\uAC00 \\uC774 \\uAE30\\uB2A5\\uC744 \\uC9C0\\uC6D0\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\n \"error.cameraNotReadable\": \"\\uCE74\\uBA54\\uB77C\\uB97C \\uC5F4 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uB2E4\\uB978 \\uC571\\uC774\\uB098 \\uBE0C\\uB77C\\uC6B0\\uC800 \\uD0ED\\uC774 \\uCE74\\uBA54\\uB77C\\uB97C \\uC0AC\\uC6A9\\uD558\\uACE0 \\uC788\\uC9C0 \\uC54A\\uC740\\uC9C0 \\uD655\\uC778\\uD558\\uC138\\uC694.\",\n \"error.cameraNotAllowed\": \"\\uCE74\\uBA54\\uB77C \\uC561\\uC138\\uC2A4\\uAC00 \\uD5C8\\uC6A9\\uB418\\uC9C0 \\uC54A\\uC558\\uC2B5\\uB2C8\\uB2E4. \\uC6F9\\uC0AC\\uC774\\uD2B8 \\uAD8C\\uD55C\\uC744 \\uD655\\uC778\\uD558\\uACE0 \\uB2E4\\uC2DC \\uC2DC\\uB3C4\\uD558\\uC138\\uC694.\",\n \"error.cameraNotFound\": \"\\uC801\\uD569\\uD55C \\uCE74\\uBA54\\uB77C \\uC7A5\\uCE58\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",\n \"error.cameraOverconstrained\": \"\\uCE74\\uBA54\\uB77C \\uC561\\uC138\\uC2A4 \\uC2E4\\uD328, \\uCE74\\uBA54\\uB77C \\uC7A5\\uCE58\\uAC00 \\uD638\\uD658\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",\n \"error.cameraAbort\": \"\\uCE74\\uBA54\\uB77C \\uC561\\uC138\\uC2A4\\uAC00 \\uC911\\uB2E8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",\n \"error.cameraLost\": \"\\uCE74\\uBA54\\uB77C \\uC2A4\\uD2B8\\uB9BC \\uC561\\uC138\\uC2A4\\uAC00 \\uB04A\\uACBC\\uC2B5\\uB2C8\\uB2E4. \\uB2E4\\uC2DC \\uC5F0\\uACB0\\uD558\\uB824\\uBA74 \\uD0ED\\uD558\\uC138\\uC694.\"\n }\n};\nvar R = Y;\nvar i = class B extends Error {\n constructor(A, I) {\n var g, C;\n super(A), Object.setPrototypeOf(this, B.prototype), this.name = this.constructor.name, this.duringCameraAccess = !1, this.message = (g = R.default(A)) != null ? g : A, this.localizedMessage = (C = R.t(A)) != null ? C : this.message, this.cause = I, this.detailMessage = I == null ? void 0 : I.message;\n }\n static invalidLicenseErrorWithDetail(A) {\n let I = new B(\"error.licenseInvalid\");\n return I.message = I.message + \" (\" + A + \")\", I.detailMessage = A, I;\n }\n static internalErrorWithCause(A) {\n return A instanceof Error ? new B(\"error.internal\", A) : new B(\"error.internal\");\n }\n static internalErrorWithDetail(A) {\n let I = new B(\"error.internal\");\n return I.detailMessage = A, I;\n }\n static configurationErrorWithDetail(A, I) {\n let g = new B(\"error.invalidConfiguration\");\n return g.detailMessage = A, I && (g.message += ` (${A})`), g;\n }\n static unfulfilledRequirementErrorWithDetail(A, I) {\n let g = new B(\"error.requirementsNotFulfilled\");\n return g.detailMessage = A, I && (g.message += ` (${A})`), g;\n }\n static fromGetUserMediaError(A) {\n let I;\n switch (A.name) {\n case \"NotReadableError\":\n I = \"error.cameraNotReadable\";\n break;\n case \"NotFoundError\":\n I = \"error.cameraNotFound\";\n break;\n case \"AbortError\":\n I = \"error.cameraAbort\";\n break;\n case \"NotAllowedError\":\n I = \"error.cameraNotAllowed\";\n break;\n case \"OverconstrainedError\":\n I = \"error.cameraOverconstrained\";\n break;\n default:\n I = \"error.cameraNotReadable\";\n break;\n }\n let g = new B(I, A);\n return g.duringCameraAccess = !0, g;\n }\n};\nfunction wA() {\n return [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].indexOf(navigator.platform) !== -1 || navigator.userAgent.indexOf(\"Mac\") !== -1 && \"ontouchend\" in document;\n}\nasync function qA(B) {\n return new Promise(A => setTimeout(A, B));\n}\nfunction BA(B, A, I) {\n return Math.min(Math.max(B, A), I);\n}\nfunction XA() {\n let B = new Date().getTime(),\n A = typeof performance != \"undefined\" && performance.now && performance.now() * 1e3 || 0;\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, I => {\n let g = Math.random() * 16;\n return B > 0 ? (g = (B + g) % 16 | 0, B = Math.floor(B / 16)) : (g = (A + g) % 16 | 0, A = Math.floor(A / 16)), (I === \"x\" ? g : g & 3 | 8).toString(16);\n });\n}\nvar NA = \"https://license.strich.io/api/v1\",\n cA = \"https://license-dev.strich.io/api/v1\";\nvar rA = class {\n constructor(A, I, g, C) {\n this.api = A;\n this.deviceId = I;\n this.locationHref = g;\n this.userAgent = C;\n }\n verify(A) {\n let I = this.api.strich_init(A, window.location.href, Date.now() / 1e3);\n if (I !== 0) {\n if (I === 1) return Promise.reject(new i(\"error.outdatedSdk\"));\n {\n let C = new i(\"error.licenseInvalid\"),\n Q = this.api.strich_get_last_error_message();\n return Q !== \"\" && (C.detailMessage = Q), Promise.reject(C);\n }\n }\n let g;\n try {\n g = new sA(A);\n } catch (C) {\n return Promise.reject(new i(\"error.licenseInvalid\", C instanceof Error ? C : void 0));\n }\n return g.isOffline ? (this.deviceId === null && W.setDeviceId(XA()), Promise.resolve(g)) : this.verifyV1OnlineLicense(g);\n }\n verifyV1OnlineLicense(A) {\n return this.deviceId === null ? this.enrollDevice(A).then(I => (W.setDeviceId(I), Promise.resolve(A))) : this.pingDevice(A, this.deviceId).then(() => A);\n }\n enrollDevice(A) {\n let I = {\n licenseKey: A.licenseKey,\n locationHref: this.locationHref,\n userAgent: this.userAgent,\n sdkVersion: o.version()\n },\n g = this.getApiEndpoint(A);\n return this.fetchWithRetries(`${g}/web/enroll`, 2, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(I)\n }).then(C => C.ok ? C.json().then(Q => Q.deviceId).catch(() => {\n throw i.invalidLicenseErrorWithDetail(\"Failed to parse JSON response\");\n }) : this.handleLicenseServiceErrorResponse(C)).catch(C => {\n throw C instanceof i ? C : new i(\"error.licenseCheckFailed\", C);\n });\n }\n pingDevice(A, I) {\n let g = {\n deviceId: I,\n licenseKey: A.licenseKey,\n locationHref: this.locationHref,\n userAgent: this.userAgent,\n sdkVersion: o.version()\n },\n C = this.getApiEndpoint(A);\n return this.fetchWithRetries(`${C}/web/ping`, 2, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(g)\n }).then(Q => {\n if (!Q.ok) return this.handleLicenseServiceErrorResponse(Q);\n }).catch(Q => {\n throw Q instanceof i ? Q : new i(\"error.licenseCheckFailed\", Q);\n });\n }\n handleLicenseServiceErrorResponse(A) {\n if (A.status === 400 || A.status === 404 || A.status === 403) return A.json().then(I => {\n throw i.invalidLicenseErrorWithDetail(I.message);\n }).catch(I => {\n throw I instanceof i ? I : new i(\"error.licenseInvalid\", I);\n });\n throw new i(\"error.licenseCheckFailed\");\n }\n getApiEndpoint(A) {\n return A.isDevLicense ? cA : NA;\n }\n async fetchWithRetries(A, I, g) {\n for (let C = 0; C < I; C++) try {\n let Q = await fetch(A, g);\n if (Q.ok || Q.status === 403) return Q;\n await qA(500);\n } catch {\n C < I && (await qA(500));\n }\n throw new Error(`Fetch failed after ${I} retries`);\n }\n};\nvar PA = \"1.7.2\";\nvar K = class K {\n constructor(A) {\n this.beep = A.audio === void 0 ? !0 : A.audio, this.beep && (o.browserCapabilities.supportsWebAudio ? \"audioSession\" in navigator && (navigator.audioSession.type = \"transient\") : (console.warn(\"Audio feedback disabled (WebAudio API not supported by this browser)\"), this.beep = !1)), this.vibrate = A.vibration === void 0 ? !0 : A.vibration;\n }\n static getBeepArrayBuffer() {\n let A = atob(K.BEEP_BASE64),\n I = new Uint8Array(A.length);\n for (let g = 0; g < A.length; g++) I[g] = A.charCodeAt(g);\n return I.buffer;\n }\n static obtainAudioContext() {\n if (o.browserCapabilities.supportsWebAudio === !0) {\n if (K.audioCtx) {\n if (K.audioCtx.state === \"suspended\") {\n let A = K.audioCtx;\n return A.resume().then(() => A);\n } else return Promise.resolve(K.audioCtx);\n } else {\n let A = window.AudioContext || window.webkitAudioContext,\n I = new A({\n latencyHint: \"interactive\"\n });\n return I.decodeAudioData(K.getBeepArrayBuffer()).then(g => (K.mp3Buffer = g, K.audioCtx = I, I.resume())).then(() => I).catch(() => (K.audioCtx = void 0, K.mp3Buffer = void 0, null));\n }\n } else return Promise.resolve(null);\n }\n feedback() {\n return new Promise((A, I) => {\n this.vibrate && this.doVibrate(), this.beep ? this.doBeep().then(() => A()).catch(g => I(g)) : A();\n });\n }\n doBeep() {\n return this.beep ? K.obtainAudioContext().then(A => {\n if (A && K.mp3Buffer) {\n let I = A.createBufferSource();\n I.buffer = K.mp3Buffer, I.connect(A.destination), I.start();\n }\n }) : Promise.resolve();\n }\n doVibrate() {\n !window || !window.navigator || !window.navigator.vibrate || window.navigator.vibrate(K.VIBRATE_DURATION_MS);\n }\n};\nK.BEEP_BASE64 = \"SUQzBAAAAAAASVRQRTEAAAAcAAADU291bmRKYXkuY29tIFNvdW5kIEVmZmVjdHMAVFNTRQAAAA8AAANMYXZmNTguNDUuMTAwAAAAAAAAAAAAAAD/+5DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAAAkAABBTADMzMzMzMzMzMzMzTExMTExMTExMTExmZmZmZmZmZmZmZn9/f39/f39/f39/mZmZmZmZmZmZmZmzs7Ozs7Ozs7Ozs8zMzMzMzMzMzMzM5ubm5ubm5ubm5ub//////////////wAAAABMYXZmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUxToXVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+5LAAAAAAAEsFAAAAvpBaSs3UAMMIEAAIBAEBAQJAP//Zzs6amhf9u2bMjG3hH/u2Z0pGoFWV0QMgJ4DazM5PkTQA0sOgRG8DBgO9dTAY+BQGFBUCIgAYVBv22gMFADBIbAwuAQIg8BQT/u/higDDIdAxKHwGA2XSv//mh9aa3///izBNoGDQKBICA2gKVAxIDAKAEDCID/+338ZEUGVxc5FhcA3xlCCAGAIAIEf////hZgWOmZpFwtlxiCCzBSgGAQSBg8F/////////5XB84EDADuWVSIgAFAAACAAAAQGBQBEHMoRWY0+jboZQUaKfPRGdlwABG1pWqW9PAYPHwG8duCQRAy1xghCAGPOSBoRNgYWG4AR5FDmbhlwwQCyYoCthcTupkWRcY4aQjkvjKpMipFk0rjmhyIGSgoTputINSAw2LyaQmod8DBowHPXX+3bf7ISCjHgWJwpYuF5a0kxaQBggam+8rCmABAEnFWSL5AVk6aF8mRBYIgIAIQ26p00HUFrf1ZIjXDGQiw9JqUeQWxmWg/IcsGgTCyxJrdd//uSwGcAHP2dSfmqgAJlMyi/sVAAazItlEPAbtf68lx8CNTNZUkxTP8Np1f8M9VU9PDGAABiCABKEAFued3kNA49uPvTNWmJrFrJ+F6g6IN+BusBhZdgd/3QGUxkBi8NBQBiEo4h/GZPJ5tUnvWqw9pIFI+dHg1M+g5KE6eLIzJAQxIBJyBcyOaeSRMnvWhvWrat6LVNQ7LRKznDhBggDQds4bc9///f6PyLosyJDQIAUVdtT1d///7+Ykck6zIvBhcnWavXr/UAlnhmUwAAIAAAMQUemgtTbK0WwnWyqXdzWEbuvguK9EnToCAAzA2BINBQUkwaAAA4BdHxr7/yinwuf9nn5f/P7j/Jz68t7lX5BfP/nYM7y7GG5hYFYD1IRKBNk4mma1obattHa7b02qW41CtSNTgSgB9kbVI19Vf/3bz7dxwPMkSaAIJBzjVLOP9X1L+v6jb1CfWquFBj1aD+tv/1/OS7xEKgAAFAAAEqNAIrVU1yqgkcqaONFqevN4pSJAcnK7rfFvTC0Oj5NFwUWQ8BLrxSk+5jZ/6//j/7///7ksBsgBO11T/seo3CWbRoPY7RsO/2repLWerXZn3JRJFEwGNAXjAd8yJ2LppWW3Y9UjtrqfXV3tqyHGmxwJtBYFrao/W2erbartVq0NWPTVrKACRwjRNecevW1fb9b6quqZDTevBQE1ecrt29N5GHZWRjAAAoAAA2aQ25QJCs0KilK2Vce4JFRLpeZvUUl3LJAoLGERlnfGIGIgTlknjlVmP2cr/f13uf/n///9vRLHUxbvPB3/z1JNbwn4QCgLAlxgzY4C+aMTlXNrIav6e+lqyHlqtjgQkgFA4ms1pkvW1S1L2/26p3TxmXZFIhoBIdDjTYxeSjV62+v7rfao9sosjcXVgNBF5zJtqtf7eqr6j66lWREIAACAAABkZsM8UeZbfmFFfgl8spQsV+5a57LXJUoHQXCxlGaWBmAgUId1SOXD8FWr2HcLGfO/hjnrn0livuiu28uPh+f95HrGrkregLi+Bz0QoMgBB1IEyyk9NdPf6b+06nWhHSpC0ELAKLDdE9Olv6q+1XqZvMmoYy1lIFMAwiGxoHFTI1dXQZXSX/+5LAmQAUadc97Hatwpe65/2O0bgv1/TPadAUrUmpABQMzrzV/v9l/V7zZYCKiIZTAAAwAAAoGtp8vsq76qJ0YUPidXJpyCBMAuQIShggA0AYGBcJYGJUXIGn8+AGEYIQAwUAxWT50fZMGhiub0EdN7ycKMgA2zcjyLFYjH0kCMNU0DohcB4RQMMQGgFAIC4FOo+16zLf023rVtUqtlGCdEwPAhAYDgQEULRogdQb/3/U/+lQGNN3OGA6AHAMEXWpCtvU2/+/619aiTTsYFwLgSfdWWOx0hyVQxiAiAAAAAAAAAAAABIB4krV5cSVRGTcNwYIj2OzKVDwuEA0YDFDjwNIoOA5EDSAGIBgDBeNgJAbRNQLAcHMRQdTLZayuQcyLiSmoMm7GZUTls0L4Y4Bg8BqKUVJ4XOBhlAIJ/WsiIm0DC4BIYCTI2q0q31maajQ0TWelsSoIABmBrpppDlgNAyImb5XNCqK6AcCAtHGTtvrHoUMFlfvllQz4FgHJ0GTuiQgoUL6JMz2bXOnykHjN9VfW5TYfYjZqC09B1m6JaGq//uSwLqAFXWjQ/WLAANoOuj7H2AAQR0W9f//+Zn95P/oPHzADJigBQAAAAMAQAUAAAAAA9VPPI7pTY/zDyczw/pu/48FGPDTul9v8ByIA2iLAsEIzUsDKwEAUIAGAwaEwAGzCTKxHQIgcAwAAwGICjkk4T1eGKRDguYFCC0pEyWDInvjFBuUGIwJAQR4I7KKzUhxNFv8gQownQVuLJG0JQIaYoGyRic/jcHSLjGmJ1GQHYOWZJGxRMTxkZOXf+O4cA545pJDMD8Q0c8ZcT6ip6JxRsUTFv/lQqEDOESIgRcipWIIShDSLjrHYZJOiip6KlJGKLf/9iWIuYE8ThFyZKxBCM//+ZDScuNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7ksC+AByV003ZuoBIAAAlg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+5LA/4AAAAEsAAAAAAAAJYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uSwP+AAAABLAAAAAAAACWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7ksD/gAAAASwAAAAAAAAlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\", K.VIBRATE_DURATION_MS = 200;\nvar X = K;\nvar SA = class {\n constructor() {\n this.supportsWASM = this.isWASMSupported(), this.supportsWebGL2 = this.isWebGL2Supported(), this.supportsGetUserMedia = this.isGetUserMediaSupported(), this.supportsOffscreenCanvas = this.isOffscreenCanvasSupported(), this.supportsRVF = this.isRequestVideoFrameCallbackSupported(), this.supportsWebAudio = this.isWebAudioSupported();\n }\n isWASMSupported() {\n try {\n if (typeof WebAssembly == \"object\" && typeof WebAssembly.instantiate == \"function\") {\n let A = new WebAssembly.Module(Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0));\n if (A instanceof WebAssembly.Module) return new WebAssembly.Instance(A) instanceof WebAssembly.Instance;\n }\n } catch {}\n return !1;\n }\n isWebGL2Supported() {\n return document.createElement(\"canvas\").getContext(\"webgl2\") !== null;\n }\n isGetUserMediaSupported() {\n return navigator.mediaDevices && typeof navigator.mediaDevices.getUserMedia == \"function\";\n }\n isOffscreenCanvasSupported() {\n return HTMLCanvasElement.prototype.transferControlToOffscreen ? new OffscreenCanvas(16, 16).getContext(\"webgl\") !== null : !1;\n }\n isRequestVideoFrameCallbackSupported() {\n return \"requestVideoFrameCallback\" in HTMLVideoElement.prototype;\n }\n isWebAudioSupported() {\n return !!(window.AudioContext || window.webkitAudioContext);\n }\n};\nvar II = MI(AI(), 1);\nfunction gI() {\n return (0, II.default)().then(B => {\n let A = {\n strich_version: B.cwrap(\"strich_version\", \"string\", []),\n strich_init: B.cwrap(\"strich_init\", \"number\", [\"string\", \"string\", \"number\"]),\n strich_set_debug: B.cwrap(\"strich_set_debug\", null, [\"number\"]),\n strich_get_last_error_message: B.cwrap(\"strich_get_last_error_message\", \"string\", []),\n strich_engine_init: B.cwrap(\"strich_engine_init\", \"number\", [\"string\"]),\n strich_engine_process_frame: B.cwrap(\"strich_engine_process_frame\", \"number\", [\"number\", \"number\", \"number\", \"number\", \"number\", \"number\", \"number\"]),\n strich_engine_destroy: B.cwrap(\"strich_engine_destroy\", null, []),\n strich_engine_get_number_of_results: B.cwrap(\"strich_engine_get_number_of_results\", \"number\", []),\n strich_engine_get_result_data: B.cwrap(\"strich_engine_get_result_data\", \"string\", [\"number\"]),\n strich_engine_get_result_data_len: B.cwrap(\"strich_engine_get_result_data_len\", \"number\", [\"number\"]),\n strich_engine_get_result_raw_data: B.cwrap(\"strich_engine_get_result_raw_data\", \"number\", [\"number\"]),\n strich_engine_get_result_type: B.cwrap(\"strich_engine_get_result_type\", \"string\", [\"number\"]),\n strich_engine_get_quad_p1_x: B.cwrap(\"strich_engine_get_quad_p1_x\", \"number\", [\"number\"]),\n strich_engine_get_quad_p1_y: B.cwrap(\"strich_engine_get_quad_p1_y\", \"number\", [\"number\"]),\n strich_engine_get_quad_p2_x: B.cwrap(\"strich_engine_get_quad_p2_x\", \"number\", [\"number\"]),\n strich_engine_get_quad_p2_y: B.cwrap(\"strich_engine_get_quad_p2_y\", \"number\", [\"number\"]),\n strich_engine_get_quad_p3_x: B.cwrap(\"strich_engine_get_quad_p3_x\", \"number\", [\"number\"]),\n strich_engine_get_quad_p3_y: B.cwrap(\"strich_engine_get_quad_p3_y\", \"number\", [\"number\"]),\n strich_engine_get_quad_p4_x: B.cwrap(\"strich_engine_get_quad_p4_x\", \"number\", [\"number\"]),\n strich_engine_get_quad_p4_y: B.cwrap(\"strich_engine_get_quad_p4_y\", \"number\", [\"number\"]),\n strich_engine_get_symbology_identifier: B.cwrap(\"strich_engine_get_symbology_identifier\", \"string\", [\"number\"]),\n strich_engine_get_debug_output: B.cwrap(\"strich_engine_get_debug_output\", \"string\", []),\n strich_engine_get_status_message: B.cwrap(\"strich_engine_get_status_message\", \"string\", []),\n strich_engine_create_buffer: B.cwrap(\"strich_engine_create_buffer\", \"number\", [\"number\", \"number\", \"number\"]),\n strich_engine_destroy_buffer: B.cwrap(\"strich_engine_destroy_buffer\", null, [\"number\"]),\n strich_engine_get_exception_message: B.cwrap(\"strich_engine_get_exception_message\", \"string\", [\"number\"]),\n lsan_leak_check: B.cwrap(\"lsan_leak_check\", null, []),\n mem_used: B.cwrap(\"mem_used\", \"number\", []),\n Module: B\n };\n for (let I of Object.keys(A)) if (A[I] === null) throw i.internalErrorWithDetail(`WASM API binding failed (missing key: ${I})`);\n return A;\n }).catch(B => {\n throw B instanceof i ? B : i.internalErrorWithCause(B);\n });\n}\nvar F = class F {\n static version() {\n return PA;\n }\n static isInitialized() {\n return F._initialized;\n }\n static initialize(A) {\n return F.browserCapabilities = new SA(), window.isSecureContext ? (R.setLanguageFromNavigator(navigator.language), gI().then(I => {\n F.api = I, F._debug && F.dumpMemoryUsage(\"initial\");\n let g = window.location.href.split(\"?\")[0];\n return new rA(I, W.getDeviceId(), g, window.navigator.userAgent).verify(A).then(Q => (F.deviceId = W.getDeviceId(), F.license = Q, F._initialized = !0, wA() && window.addEventListener(\"touchstart\", this._touchEventListener, {\n passive: !0\n }), Promise.resolve()));\n }).catch(I => (F._initialized = !1, Promise.reject(I)))) : Promise.reject(new i(\"error.originNotSecure\"));\n }\n static setCustomId(A) {\n F.customId = A;\n }\n static setLanguage(A) {\n R.setLanguageFromNavigator(A);\n }\n static hasCameraDevice() {\n return navigator.mediaDevices && navigator.mediaDevices.enumerateDevices ? navigator.mediaDevices.enumerateDevices().then(A => A && A.filter(I => I.kind === \"videoinput\").length > 0).catch(A => {\n throw i.fromGetUserMediaError(A);\n }) : Promise.reject(new i(\"error.requirementsNotFulfilled\"));\n }\n static async getCameraPermissionState() {\n if (!(\"permissions\" in navigator)) return \"unknown\";\n try {\n let A = await navigator.permissions.query({\n name: \"camera\"\n });\n switch (A.state) {\n case \"denied\":\n case \"granted\":\n case \"prompt\":\n return A.state;\n default:\n return \"unknown\";\n }\n } catch {\n return \"unknown\";\n }\n }\n static dumpMemoryUsage(A) {\n if (!F.api || !F._debug) return;\n let I = F.api.Module.HEAP8.length,\n g = F.api.mem_used(),\n C = g - this.lastUsedMem;\n console.debug(`[${A}] wasm mem = ${I}, used = ${g} (\\u0394=${C})`), this.lastUsedMem = g;\n }\n};\nF._initialized = !1, F._debug = !1, F.api = null, F.lastUsedMem = 0, F._touchEventListener = () => {\n X.obtainAudioContext().finally(() => {\n window.removeEventListener(\"touchstart\", F._touchEventListener);\n });\n};\nvar o = F;\nvar O = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 a_position;in vec2 a_tex_coord;out vec2 v_tex_coord;void main(){v_tex_coord=a_tex_coord;gl_Position=vec4(a_position.xy,0,1.0);}`;\nvar CI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform sampler2D u_texture;out vec4 outPixel;float luminance(vec4 color){return 0.3*color.x+0.59*color.y+0.11*color.z;}float chroma(vec4 color){float max_rgb=max(color.r,color.g);max_rgb=max(max_rgb,color.b);float min_rgb=min(color.r,color.g);min_rgb=min(min_rgb,color.b);return max_rgb-min_rgb;}void main(){vec4 color=texture(u_texture,v_tex_coord);float luminance=luminance(color);float c=chroma(color);outPixel=vec4(luminance,luminance,luminance,c);}`;\nvar BI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform vec2 u_step;uniform sampler2D u_texture;out vec4 outPixel;void main(){vec2 step=u_step;vec2 uv=v_tex_coord;float x1=texture(u_texture,uv+vec2(-2.0*step.x,0.0)).x;float x2=texture(u_texture,uv+vec2(-step.x,0.0)).x;vec4 color=texture(u_texture,uv);float x3=color.r;float chroma=color.a;float x4=texture(u_texture,uv+vec2(step.x,0.0)).x;float x5=texture(u_texture,uv+vec2(2.0*step.x,0.0)).x;float I_k=x1*0.109604+x2*0.276691+x3*0.000000+x4*-0.276691+x5*-0.109604;float I_d=x1*0.037659+x2*0.249153+x3*0.426375+x4*0.249153+x5*0.037659;outPixel=vec4(I_k,I_d,0.0,chroma);}`;\nvar QI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform vec2 u_step;uniform sampler2D u_texture;out vec4 outPixel;void main(){vec2 step=u_step;vec2 uv=v_tex_coord;vec2 y1=texture(u_texture,uv+vec2(0.0,-2.0*step.y)).rg;vec2 y2=texture(u_texture,uv+vec2(0.0,-step.y)).rg;vec4 color=texture(u_texture,uv);vec2 y3=color.rg;float chroma=color.a;vec2 y4=texture(u_texture,uv+vec2(0.0,step.y)).rg;vec2 y5=texture(u_texture,uv+vec2(0.0,2.0*step.y)).rg;float I_x=y1.r*0.037659+y2.r*0.249153+y3.r*0.426375+y4.r*0.249153+y5.r*0.037659;float I_y=y1.g*0.109604+y2.g*0.276691+y3.g*0.000000+y4.g*-0.276691+y5.g*-0.109604;outPixel=vec4(I_x*I_x,I_y*I_y,I_x*I_y,chroma);}`;\nvar EI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform sampler2D u_texture;uniform vec2 u_step;uniform float u_chroma_threshold;out vec4 outPixel;void main(){vec2 uv=v_tex_coord;float hstep=u_step.x;float vstep=u_step.y;vec4 sum=vec4(0.0);sum+=texture(u_texture,vec2(uv.x-3.0*hstep,uv.y-3.0*vstep))*0.071303;sum+=texture(u_texture,vec2(uv.x-2.0*hstep,uv.y-2.0*vstep))*0.131514;sum+=texture(u_texture,vec2(uv.x-1.0*hstep,uv.y-1.0*vstep))*0.189879;vec4 color=texture(u_texture,uv);float chroma=color.a;sum+=color*0.214607;sum+=texture(u_texture,vec2(uv.x+1.0*hstep,uv.y+1.0*vstep))*0.189879;sum+=texture(u_texture,vec2(uv.x+2.0*hstep,uv.y-2.0*vstep))*0.131514;sum+=texture(u_texture,vec2(uv.x+3.0*hstep,uv.y-3.0*vstep))*0.071303;float A=1.0-step(u_chroma_threshold,chroma);outPixel=A*sum;}`;\nvar iI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform sampler2D u_texture;out vec4 outPixel;void main(){vec4 struct_matrix=texture(u_texture,v_tex_coord);float Cxx=struct_matrix.r;float Cyy=struct_matrix.g;float Cxy=struct_matrix.b;float denom=(Cxx+Cyy)*(Cxx+Cyy)+0.001;float m2=4.0*(Cxx*Cyy-Cxy*Cxy)/denom;outPixel=vec4(0.0,m2,0.0,1.0);}`;\nvar DI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform sampler2D u_texture;out vec4 outPixel;void main(){vec4 struct_matrix=texture(u_texture,v_tex_coord);float Cxx=struct_matrix.r;float Cyy=struct_matrix.g;float Cxy=struct_matrix.b;float a=Cxx+Cyy;float b=Cxx-Cyy;float denom=(Cxx+Cyy)*(Cxx+Cyy)+0.001;float m1=((Cxx-Cyy)*(Cxx-Cyy)+4.0*Cxy*Cxy)/denom;outPixel=vec4(m1,0.0,0.0,1.0);}`;\nvar oI = `#version 300 es\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nin vec2 v_tex_coord;uniform sampler2D u_texture;uniform vec2 u_step;uniform int u_size;out vec4 outPixel;void main(){vec2 uv=v_tex_coord;float size_f=float(u_size);vec4 sum=vec4(0.0);vec2 coord=uv+vec2(-size_f-0.5,-size_f-0.5)*u_step;vec2 two_step=u_step*2.0;for(int i=0;i= .5 || A.right < 0 || A.right >= .5 || A.top < 0 || A.top >= .5 || A.bottom < 0 || A.bottom >= .5) throw i.internalErrorWithDetail(\"Invalid region of interest specified (HINT: check left, right, top, bottom parameters)\");\n return j(p(Math.trunc(A.left * B.width), Math.trunc(A.bottom * B.height)), x(Math.trunc((1 - (A.right + A.left)) * B.width), Math.trunc((1 - (A.top + A.bottom)) * B.height)));\n}\nfunction aI(B, A, I, g) {\n return {\n points: [B, A, I, g]\n };\n}\nfunction tI(B) {\n let A = [B.points[0].x, B.points[1].x, B.points[2].x, B.points[3].x],\n I = [B.points[0].y, B.points[1].y, B.points[2].y, B.points[3].y],\n g = Math.min(...A),\n C = Math.max(...A),\n Q = Math.min(...I),\n E = Math.max(...I);\n return j({\n x: g,\n y: Q\n }, {\n width: C - g,\n height: E - Q\n });\n}\nfunction qI(B, A) {\n switch (A) {\n case B.NO_ERROR:\n return \"NO_ERROR\";\n case B.INVALID_ENUM:\n return \"INVALID_ENUM\";\n case B.INVALID_VALUE:\n return \"INVALID_VALUE\";\n case B.INVALID_OPERATION:\n return \"INVALID_OPERATION\";\n case B.INVALID_FRAMEBUFFER_OPERATION:\n return \"INVALID_FRAMEBUFFER_OPERATION\";\n case B.OUT_OF_MEMORY:\n return \"OUT_OF_MEMORY\";\n default:\n return `UNKNOWN (${A})`;\n }\n}\nfunction sI(B) {\n let A = B.getError();\n if (A !== B.NO_ERROR) {\n let I = qI(B, A);\n throw i.internalErrorWithDetail(`Assertion failed, WebGL error: ${I}`);\n }\n}\nvar Z = class {\n constructor(A, I) {\n this.imageSize = A;\n this.viewportSize = I;\n let g = I.width / A.width,\n C = I.height / A.height;\n g >= C ? this.scaleFactor = g : this.scaleFactor = C, this.yOffset = A.height * this.scaleFactor - I.height, this.xOffset = A.width * this.scaleFactor - I.width;\n }\n projectPoint(A) {\n return p(Math.trunc(A.x * this.scaleFactor - this.xOffset / 2), Math.trunc(A.y * this.scaleFactor - this.yOffset / 2));\n }\n projectRect(A) {\n let I = this.projectPoint(A.origin),\n g = x(Math.trunc(A.size.width * this.scaleFactor), Math.trunc(A.size.height * this.scaleFactor));\n return j(I, g);\n }\n unprojectPoint(A) {\n return p(Math.trunc((A.x + this.xOffset / 2) / this.scaleFactor), Math.trunc((A.y + this.yOffset / 2) / this.scaleFactor));\n }\n unprojectRect(A) {\n let I = this.unprojectPoint(A.origin),\n g = x(Math.trunc(A.size.width / this.scaleFactor), Math.trunc(A.size.height / this.scaleFactor));\n return j(I, g);\n }\n};\nfunction hA(B) {\n if (o.browserCapabilities.supportsOffscreenCanvas === !0) return new OffscreenCanvas(B.width, B.height);\n {\n let A = document.createElement(\"canvas\");\n return A.style.visibility = \"hidden\", A.width = B.width, A.height = B.height, A;\n }\n}\nvar _ = class _ {\n constructor(A, I, g, C) {\n this.fgtAvg = 0;\n this.fgtAvgWindowSize = 10;\n this.config = {}, this.config.regionOfInterest = (A == null ? void 0 : A.regionOfInterest) || I, this.frameSource = g, this.viewportSize = C, this.config.chromaReject = (A == null ? void 0 : A.chromaReject) === !0, this.chromaRejectThreshold = this.config.chromaReject ? .25 : 1, this.hasPerformance = \"performance\" in window, this.forceSyncReadback = (A == null ? void 0 : A.forceSyncReadback) === !0 || wA(), this.frameCounter = 0;\n }\n initialize() {\n return new Promise((A, I) => {\n try {\n this.imageSize = this.frameSource.getImageSize(), this.calculateRegionOfInterest(this.imageSize), o._debug && console.debug(\"GPU locator image RoE:\", this.roe);\n let g = hA(this.roe.size);\n if (!g) {\n I(i.internalErrorWithDetail(\"Failed to create canvas\"));\n return;\n }\n g.addEventListener(\"webglcontextlost\", C => {\n o._debug && console.debug(\"WebGL2Locator event: WebGL context was lost\"), this.gl !== void 0 ? C.preventDefault() : o._debug && console.debug(\"WebGL context loss (after destroy)\");\n }, !1), g.addEventListener(\"webglcontextrestored\", () => {\n o._debug && console.debug(\"WebGL2Locator reinitializing after WebGL context loss\"), this.gl = this.initWebGL(), this.linkFrameSource(this.gl);\n }), this.canvas = g, this.gl = this.initWebGL(), this.linkFrameSource(this.gl), A(this);\n } catch (g) {\n I(g instanceof i ? g : i.internalErrorWithCause(g));\n }\n });\n }\n destroy() {\n if (this.gl === void 0) return;\n let A = this.gl;\n try {\n for (let I of [this.combineMaps, this.boxFilter, this.edgeness, this.cornerness, this.windowSum, this.derivativeSecondPass, this.derivativeFirstPass, this.lumAndChroma]) A.deleteProgram(I);\n for (let I of [this.bufA, this.bufB, this.bufC, this.bufLum]) A.deleteFramebuffer(I);\n for (let I of [this.texCoordBuffer, this.videoTexCoordBuffer, this.posBuffer]) A.deleteBuffer(I);\n A.deleteBuffer(this.pixelPackBuf);\n for (let I of [this.cameraTexture, this.textureA, this.textureB, this.textureC, this.textureLum]) A.deleteTexture(I);\n } catch (I) {\n console.warn(`Ignoring error while deleting WebGL resources: ${I}`);\n } finally {\n let I = this.gl;\n this.gl = void 0;\n let g = I.getExtension(\"WEBGL_lose_context\");\n g && g.loseContext();\n }\n this.canvas instanceof HTMLCanvasElement && this.canvas.remove(), o._debug && console.debug(\"Destroyed WebGL2Locator and associated WebGL resources\");\n }\n getRegionOfInterest() {\n return this.roe;\n }\n createPixelPackBuffer(A, I) {\n let g = A.createBuffer();\n if (g === null) throw new i(\"Unable to allocated WebGL buffer\");\n return A.bindBuffer(A.PIXEL_PACK_BUFFER, g), A.bufferData(A.PIXEL_PACK_BUFFER, I, A.DYNAMIC_READ), A.bindBuffer(A.PIXEL_PACK_BUFFER, null), g;\n }\n createPositionBuffer(A) {\n let I = new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]),\n g = A.createBuffer();\n if (!g) throw i.internalErrorWithDetail(`Unable to create WebGL pos buffer: ${A.getError()}`);\n return A.bindBuffer(A.ARRAY_BUFFER, g), A.bufferData(A.ARRAY_BUFFER, I, A.STATIC_DRAW), g;\n }\n createTexCoordBuffer(A) {\n let I = new Float32Array([1, 1, 0, 1, 1, 0, 0, 0]),\n g = A.createBuffer();\n if (!g) throw i.internalErrorWithDetail(`Unable to create WebGL tex coord buffer: ${A.getError()}`);\n return A.bindBuffer(A.ARRAY_BUFFER, g), A.bufferData(A.ARRAY_BUFFER, I, A.STATIC_DRAW), g;\n }\n createVideoTexCoordBuffer(A) {\n let I = new Float32Array([this.videoTextureCoords.origin.x + this.videoTextureCoords.size.width, this.videoTextureCoords.origin.y + this.videoTextureCoords.size.height, this.videoTextureCoords.origin.x, this.videoTextureCoords.origin.y + this.videoTextureCoords.size.height, this.videoTextureCoords.origin.x + this.videoTextureCoords.size.width, this.videoTextureCoords.origin.y, this.videoTextureCoords.origin.x, this.videoTextureCoords.origin.y]),\n g = A.createBuffer();\n if (!g) throw i.internalErrorWithDetail(`Unable to create WebGL tex coord buffer: ${A.getError()}`);\n return A.bindBuffer(A.ARRAY_BUFFER, g), A.bufferData(A.ARRAY_BUFFER, I, A.STATIC_DRAW), g;\n }\n setBuffersForVideoTexture(A, I) {\n A.bindBuffer(A.ARRAY_BUFFER, this.posBuffer);\n let g = A.getAttribLocation(I, \"a_position\");\n if (g === -1) throw i.internalErrorWithDetail(\"Position attribute location not found\");\n A.vertexAttribPointer(g, 2, A.FLOAT, !1, 0, 0), A.enableVertexAttribArray(g), A.bindBuffer(A.ARRAY_BUFFER, this.videoTexCoordBuffer);\n let C = A.getAttribLocation(I, \"a_tex_coord\");\n if (C === -1) throw i.internalErrorWithDetail(\"Texture coordinate attribute location not found\");\n A.vertexAttribPointer(C, 2, A.FLOAT, !1, 0, 0), A.enableVertexAttribArray(C);\n }\n setBuffers(A, I) {\n A.bindBuffer(A.ARRAY_BUFFER, this.posBuffer);\n let g = A.getAttribLocation(I, \"a_position\");\n if (g === -1) throw i.internalErrorWithDetail(\"Position attribute location not found\");\n A.vertexAttribPointer(g, 2, A.FLOAT, !1, 0, 0), A.enableVertexAttribArray(g), A.bindBuffer(A.ARRAY_BUFFER, this.texCoordBuffer);\n let C = A.getAttribLocation(I, \"a_tex_coord\");\n if (C === -1) throw i.internalErrorWithDetail(\"Texture coordinate attribute location not found\");\n A.vertexAttribPointer(C, 2, A.FLOAT, !1, 0, 0), A.enableVertexAttribArray(C);\n }\n setTextures(A, I, g, C, Q) {\n let E = A.getUniformLocation(I, \"u_texture\");\n if (E === -1) throw i.internalErrorWithDetail(`Uniform location for input texture ${g} not found`);\n if (A.uniform1i(E, g), C !== void 0) {\n let a = A.getUniformLocation(I, \"u_texture1\");\n if (a === -1) throw i.internalErrorWithDetail(`Uniform location for input texture ${C} not found`);\n A.uniform1i(a, C);\n }\n if (Q !== void 0) {\n let a = A.getUniformLocation(I, \"u_texture2\");\n if (a === -1) throw i.internalErrorWithDetail(`Uniform location for input texture ${Q} not found`);\n A.uniform1i(a, Q);\n }\n }\n initWebGL() {\n let A = this.canvas,\n I = A.getContext(\"webgl2\", {\n powerPreference: \"default\"\n });\n if (!I) throw i.internalErrorWithDetail(\"Unable to obtain WebGL2 context\");\n this.posBuffer = this.createPositionBuffer(I), this.videoTexCoordBuffer = this.createVideoTexCoordBuffer(I), this.texCoordBuffer = this.createTexCoordBuffer(I), this.pixelPackBuf = this.createPixelPackBuffer(I, this.roe.size.width * this.roe.size.height * 4), I.viewport(0, 0, I.drawingBufferWidth, I.drawingBufferHeight), this.textureA = this.createAndSetupTexture(I), I.texImage2D(I.TEXTURE_2D, 0, I.RGBA, A.width, A.height, 0, I.RGBA, I.UNSIGNED_BYTE, null);\n let g = I.createFramebuffer();\n if (!g) throw i.internalErrorWithDetail(\"Failed to create WebGL framebuffer\");\n this.bufA = g, I.bindFramebuffer(I.FRAMEBUFFER, this.bufA), I.framebufferTexture2D(I.FRAMEBUFFER, I.COLOR_ATTACHMENT0, I.TEXTURE_2D, this.textureA, 0), this.textureB = this.createAndSetupTexture(I), I.texImage2D(I.TEXTURE_2D, 0, I.RGBA, A.width, A.height, 0, I.RGBA, I.UNSIGNED_BYTE, null);\n let C = I.createFramebuffer();\n if (!C) throw i.internalErrorWithDetail(\"Failed to create WebGL framebuffer\");\n this.bufB = C, I.bindFramebuffer(I.FRAMEBUFFER, this.bufB), I.framebufferTexture2D(I.FRAMEBUFFER, I.COLOR_ATTACHMENT0, I.TEXTURE_2D, this.textureA, 0), this.textureC = this.createAndSetupTexture(I), I.texImage2D(I.TEXTURE_2D, 0, I.RGBA, A.width, A.height, 0, I.RGBA, I.UNSIGNED_BYTE, null);\n let Q = I.createFramebuffer();\n if (!Q) throw i.internalErrorWithDetail(\"Failed to create WebGL framebuffer\");\n this.bufC = Q, I.bindFramebuffer(I.FRAMEBUFFER, this.bufC), I.framebufferTexture2D(I.FRAMEBUFFER, I.COLOR_ATTACHMENT0, I.TEXTURE_2D, this.textureC, 0), this.textureLum = this.createAndSetupTexture(I), I.texImage2D(I.TEXTURE_2D, 0, I.RGBA, A.width, A.height, 0, I.RGBA, I.UNSIGNED_BYTE, null);\n let E = I.createFramebuffer();\n if (!E) throw i.internalErrorWithDetail(\"Failed to create WebGL framebuffer\");\n this.bufLum = E, I.bindFramebuffer(I.FRAMEBUFFER, this.bufLum), I.framebufferTexture2D(I.FRAMEBUFFER, I.COLOR_ATTACHMENT0, I.TEXTURE_2D, this.textureLum, 0), this.lumAndChroma = this.createProgram(I, O, CI), I.useProgram(this.lumAndChroma), this.setBuffersForVideoTexture(I, this.lumAndChroma), this.setTextures(I, this.lumAndChroma, 0), this.derivativeFirstPass = this.createProgram(I, O, BI), I.useProgram(this.derivativeFirstPass), this.setBuffers(I, this.derivativeFirstPass), this.setTextures(I, this.derivativeFirstPass, 0);\n let a = I.getUniformLocation(this.derivativeFirstPass, \"u_step\");\n if (!a) throw i.internalErrorWithDetail(\"Failed to get uniform location u_step\");\n if (I.uniform2fv(a, [1 / this.canvas.width, 1 / this.canvas.height]), this.derivativeSecondPass = this.createProgram(I, O, QI), I.useProgram(this.derivativeSecondPass), this.setBuffers(I, this.derivativeSecondPass), this.setTextures(I, this.derivativeSecondPass, 0), a = I.getUniformLocation(this.derivativeSecondPass, \"u_step\"), !a) throw i.internalErrorWithDetail(\"Failed to get uniform location u_step\");\n if (I.uniform2fv(a, [1 / this.canvas.width, 1 / this.canvas.height]), this.windowSum = this.createProgram(I, O, EI), I.useProgram(this.windowSum), this.setBuffers(I, this.windowSum), this.setTextures(I, this.windowSum, 0), a = I.getUniformLocation(this.windowSum, \"u_step\"), !a) throw i.internalErrorWithDetail(\"Failed to get uniform location u_step\");\n if (this.windowSumStep = a, I.uniform1f(I.getUniformLocation(this.windowSum, \"u_chroma_threshold\"), this.chromaRejectThreshold), this.edgeness = this.createProgram(I, O, DI), I.useProgram(this.edgeness), this.setBuffers(I, this.edgeness), this.setTextures(I, this.edgeness, 0), this.cornerness = this.createProgram(I, O, iI), I.useProgram(this.cornerness), this.setBuffers(I, this.cornerness), this.setTextures(I, this.cornerness, 0), this.boxFilter = this.createProgram(I, O, oI), I.useProgram(this.boxFilter), this.setBuffers(I, this.boxFilter), this.setTextures(I, this.boxFilter, 0), a = I.getUniformLocation(this.boxFilter, \"u_step\"), !a) throw i.internalErrorWithDetail(\"Failed to get uniform location u_step\");\n if (this.boxFilterStep = a, a = I.getUniformLocation(this.boxFilter, \"u_size\"), !a) throw i.internalErrorWithDetail(\"Failed to get uniform location u_size\");\n return this.boxFilterSize = a, this.combineMaps = this.createProgram(I, O, eI), I.useProgram(this.combineMaps), this.setBuffers(I, this.combineMaps), this.setTextures(I, this.combineMaps, 0, 1, 2), I.uniform2fv(I.getUniformLocation(this.combineMaps, \"u_w1\"), _.S1_WEIGHTS), I.uniform2fv(I.getUniformLocation(this.combineMaps, \"u_w2\"), _.S2_WEIGHTS), sI(I), I;\n }\n locate(A) {\n let I = this.hasPerformance ? performance.now() : 0,\n g = this.gl;\n if (g === void 0 || g.isContextLost()) return o._debug && console.debug(\"WebGL2 locator invoked, but associated GL context already destroyed\"), Promise.resolve();\n g.useProgram(this.lumAndChroma), this.setBuffersForVideoTexture(g, this.lumAndChroma), g.bindFramebuffer(g.FRAMEBUFFER, this.bufLum), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureLum, 0), g.activeTexture(g.TEXTURE0), g.bindTexture(g.TEXTURE_2D, this.cameraTexture), g.texImage2D(g.TEXTURE_2D, 0, g.RGBA, g.RGBA, g.UNSIGNED_BYTE, this.texImageSource), this.render(g);\n let C = [1 / this.canvas.width, 0],\n Q = [0, 1 / this.canvas.height];\n g.bindFramebuffer(g.FRAMEBUFFER, this.bufB), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureB, 0), g.useProgram(this.derivativeFirstPass), this.setBuffers(g, this.derivativeFirstPass), g.bindTexture(g.TEXTURE_2D, this.textureLum), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufC), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureC, 0), g.useProgram(this.derivativeSecondPass), g.bindTexture(g.TEXTURE_2D, this.textureB), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufB), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureB, 0), g.useProgram(this.windowSum), g.bindTexture(g.TEXTURE_2D, this.textureC), g.uniform2fv(this.windowSumStep, C), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufC), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureC, 0), g.bindTexture(g.TEXTURE_2D, this.textureB), g.uniform2fv(this.windowSumStep, Q), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufA), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureA, 0), g.useProgram(this.edgeness), g.bindTexture(g.TEXTURE_2D, this.textureC), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufB), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureB, 0), g.useProgram(this.cornerness), g.bindTexture(g.TEXTURE_2D, this.textureC), this.render(g);\n let E = 16;\n return g.bindFramebuffer(g.FRAMEBUFFER, this.bufC), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureC, 0), g.useProgram(this.boxFilter), g.bindTexture(g.TEXTURE_2D, this.textureA), g.uniform2fv(this.boxFilterStep, C), g.uniform1i(this.boxFilterSize, E), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufA), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureA, 0), g.bindTexture(g.TEXTURE_2D, this.textureC), g.uniform2fv(this.boxFilterStep, Q), g.uniform1i(this.boxFilterSize, E), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufC), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureC, 0), g.useProgram(this.boxFilter), g.bindTexture(g.TEXTURE_2D, this.textureB), g.uniform2fv(this.boxFilterStep, C), g.uniform1i(this.boxFilterSize, E), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufB), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureB, 0), g.bindTexture(g.TEXTURE_2D, this.textureC), g.uniform2fv(this.boxFilterStep, Q), g.uniform1i(this.boxFilterSize, E), this.render(g), g.bindFramebuffer(g.FRAMEBUFFER, this.bufC), g.framebufferTexture2D(g.FRAMEBUFFER, g.COLOR_ATTACHMENT0, g.TEXTURE_2D, this.textureC, 0), g.useProgram(this.combineMaps), g.activeTexture(g.TEXTURE0), g.bindTexture(g.TEXTURE_2D, this.textureA), g.activeTexture(g.TEXTURE1), g.bindTexture(g.TEXTURE_2D, this.textureB), g.activeTexture(g.TEXTURE2), g.bindTexture(g.TEXTURE_2D, this.textureLum), this.render(g), this.frameCounter++, this.forceSyncReadback ? (g.readPixels(0, 0, this.roe.size.width, this.roe.size.height, g.RGBA, g.UNSIGNED_BYTE, A.buffer), this.recordFrameGrabTime(A, I), Promise.resolve()) : (g.bindBuffer(g.PIXEL_PACK_BUFFER, this.pixelPackBuf), g.readPixels(0, 0, this.roe.size.width, this.roe.size.height, g.RGBA, g.UNSIGNED_BYTE, 0), this.readPixelPackBufferAsync(g, A.buffer).then(() => {\n this.recordFrameGrabTime(A, I);\n }));\n }\n recordFrameGrabTime(A, I) {\n if (this.hasPerformance) {\n let g = this.hasPerformance ? performance.now() : 1;\n this.fgtAvg -= this.fgtAvg / this.fgtAvgWindowSize, this.fgtAvg += (g - I) / this.fgtAvgWindowSize, A.fgt = this.fgtAvg;\n }\n }\n createAndSetupTexture(A) {\n let I = A.createTexture();\n if (!I) throw i.internalErrorWithDetail(\"Failed to create camera input texture: \" + A.getError());\n return A.bindTexture(A.TEXTURE_2D, I), A.texParameteri(A.TEXTURE_2D, A.TEXTURE_WRAP_S, A.CLAMP_TO_EDGE), A.texParameteri(A.TEXTURE_2D, A.TEXTURE_WRAP_T, A.CLAMP_TO_EDGE), A.texParameteri(A.TEXTURE_2D, A.TEXTURE_MIN_FILTER, A.LINEAR), A.texParameteri(A.TEXTURE_2D, A.TEXTURE_MAG_FILTER, A.LINEAR), I;\n }\n createProgram(A, I, g) {\n let C = A.createProgram();\n if (!C) throw i.internalErrorWithDetail(\"Failed to create WebGL program\");\n let Q = A.createShader(WebGL2RenderingContext.FRAGMENT_SHADER);\n if (!Q) throw i.internalErrorWithDetail(\"Failed to create WebGL fragment shader\");\n if (A.shaderSource(Q, g), A.compileShader(Q), !A.getShaderParameter(Q, A.COMPILE_STATUS)) throw i.internalErrorWithDetail(`Failed to compile WebGL shader:\n` + A.getShaderInfoLog(Q));\n let E = A.createShader(WebGL2RenderingContext.VERTEX_SHADER);\n if (!E) throw i.internalErrorWithDetail(\"Failed to create WebGL vertex shader\");\n if (A.shaderSource(E, I), A.compileShader(E), !A.getShaderParameter(E, A.COMPILE_STATUS)) throw i.internalErrorWithDetail(`Failed to compile Shader:\n` + A.getShaderInfoLog(E));\n if (A.attachShader(C, Q), A.attachShader(C, E), A.linkProgram(C), A.validateProgram(C), !A.getProgramParameter(C, A.LINK_STATUS)) {\n let a = A.getProgramInfoLog(C);\n throw i.internalErrorWithDetail(`Failed to compile WebGL program:\n` + a);\n }\n return C;\n }\n render(A) {\n A.drawArrays(A.TRIANGLE_STRIP, 0, 4);\n }\n linkFrameSource(A) {\n this.texImageSource = this.frameSource.get(), this.cameraTexture = this.createAndSetupTexture(A), A.activeTexture(A.TEXTURE0), A.texImage2D(A.TEXTURE_2D, 0, A.RGBA, A.RGBA, A.UNSIGNED_BYTE, this.texImageSource);\n }\n getRegionOfInterestSpec() {\n return this.config.regionOfInterest;\n }\n calculateRegionOfInterest(A) {\n let I = this.config.regionOfInterest;\n if (!I) throw i.configurationErrorWithDetail(\"Region of interest is undefined\");\n let g = P(this.viewportSize, I),\n C = new Z(A, this.viewportSize);\n this.roe = C.unprojectRect(g);\n let Q = p(this.roe.origin.x / A.width, this.roe.origin.y / A.height),\n E = x(this.roe.size.width / this.imageSize.width, this.roe.size.height / this.imageSize.height);\n this.videoTextureCoords = j(Q, E);\n }\n readPixelPackBufferAsync(A, I) {\n let g = A.fenceSync(A.SYNC_GPU_COMMANDS_COMPLETE, 0);\n return g === null ? Promise.reject(i.internalErrorWithDetail(\"Could not create WebGL sync\")) : (A.flush(), this.waitUntilSyncSignaled(A, g).then(() => {\n this.gl !== void 0 && (A.getBufferSubData(A.PIXEL_PACK_BUFFER, 0, I), A.bindBuffer(A.PIXEL_PACK_BUFFER, null));\n }).finally(() => {\n A.deleteSync(g);\n }));\n }\n waitUntilSyncSignaled(A, I) {\n return new Promise((g, C) => {\n function Q() {\n if (A.isContextLost()) {\n g();\n return;\n }\n let E = A.clientWaitSync(I, 0, 0);\n if (E === A.WAIT_FAILED) {\n C();\n return;\n }\n if (E === A.TIMEOUT_EXPIRED) {\n setTimeout(Q, 10);\n return;\n }\n g();\n }\n Q();\n });\n }\n};\n_.S1_WEIGHTS = [2, -1], _.S2_WEIGHTS = [.25, 4];\nvar yA = _;\nvar FA = class {\n constructor(A, I, g, C) {\n o._debug && console.debug(\"Instantiating fallback locator\"), this.config = {}, this.config.regionOfInterest = (A == null ? void 0 : A.regionOfInterest) || I, this.frameSource = g, this.viewportSize = C;\n }\n initialize() {\n let A = this.frameSource.getImageSize();\n this.calculateRegionOfInterest(A), this.canvas = hA(this.roe.size);\n let I = this.canvas.getContext(\"2d\", {\n willReadFrequently: !0\n });\n return I ? (this.ctx = I, Promise.resolve(this)) : Promise.reject(i.internalErrorWithDetail(\"Failed to create 2D context\"));\n }\n getRegionOfInterest() {\n return this.roe;\n }\n locate(A) {\n let I = this.frameSource.get();\n this.ctx.drawImage(I, this.roe.origin.x, this.roe.origin.y, this.roe.size.width, this.roe.size.height, 0, 0, this.roe.size.width, this.roe.size.height);\n let g = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);\n if (g.data.length !== A.buffer.length) throw i.internalErrorWithDetail(\"Buffer size mismatch detected\");\n let C = A.buffer,\n Q = C.byteLength;\n for (let E = 0; E < Q; E += 4) C[E] = .3 * g.data[E] + .59 * g.data[E + 1] + .11 * g.data[E + 2], C[E + 1] = 0, C[E + 2] = 0, C[E + 3] = 0;\n return A.saliency = !1, Promise.resolve();\n }\n destroy() {}\n getRegionOfInterestSpec() {\n return this.config.regionOfInterest;\n }\n calculateRegionOfInterest(A) {\n if (!this.config.regionOfInterest) throw i.configurationErrorWithDetail(\"Region of interest is undefined\");\n let I = P(this.viewportSize, this.config.regionOfInterest),\n g = new Z(A, this.viewportSize);\n this.roe = g.unprojectRect(I);\n }\n};\nvar GA = /*#__PURE__*/(() => {\n let GA = class GA {\n constructor(A) {\n this.mediaDeviceInfo = A;\n if (A.kind !== \"videoinput\") throw i.internalErrorWithDetail(\"Bad device (not a videoinput device)\");\n this.isBackFacing = this.isKnownBackCameraLabel(A.label);\n }\n get hasPermission() {\n return !!this.mediaDeviceInfo.label;\n }\n get deviceId() {\n return this.mediaDeviceInfo.deviceId;\n }\n get label() {\n return this.mediaDeviceInfo.label;\n }\n toString() {\n return `CameraDevice [id=${this.mediaDeviceInfo.deviceId}, kind=${this.mediaDeviceInfo.kind}, label=${this.mediaDeviceInfo.label}]`;\n }\n isKnownBackCameraLabel(A) {\n if (!A) return;\n let I = A.toLowerCase();\n return GA.knownBackFacingCameraLabels.some(g => I.includes(g));\n }\n };\n GA.knownBackFacingCameraLabels = [\"rear\", \"back\", \"r\\xFCck\", \"arri\\xE8re\", \"trasera\", \"tr\\xE1s\", \"traseira\", \"posteriore\", \"\\u540E\\u9762\", \"\\u5F8C\\u9762\", \"\\u80CC\\u9762\", \"\\u540E\\u7F6E\", \"\\u5F8C\\u7F6E\", \"\\u80CC\\u7F6E\", \"\\u0437\\u0430\\u0434\\u043D\\u0435\\u0439\", \"\\u0627\\u0644\\u062E\\u0644\\u0641\\u064A\\u0629\", \"\\uD6C4\", \"arka\", \"achterzijde\", \"\\u0E2B\\u0E25\\u0E31\\u0E07\", \"baksidan\", \"bagside\", \"sau\", \"bak\", \"tylny\", \"takakamera\", \"belakang\", \"\\u05D0\\u05D7\\u05D5\\u05E8\\u05D9\\u05EA\", \"\\u03C0\\u03AF\\u03C3\\u03C9\", \"spate\", \"h\\xE1ts\\xF3\", \"zadn\\xED\", \"darrere\", \"zadn\\xE1\", \"\\u0437\\u0430\\u0434\\u043D\\u044F\", \"stra\\u017Enja\", \"belakang\", \"\\u092C\\u0948\\u0915\"];\n return GA;\n})();\nvar kA = GA;\nvar $ = class B {\n static isOverconstrainedError(A) {\n return A && A.name === \"OverconstrainedError\";\n }\n static isOverconstrainedDeviceId(A) {\n return B.isOverconstrainedError(A) && A.constraint === \"deviceId\";\n }\n relax(A, I, g) {\n let C = !1;\n if (navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1 && !(I != null && I.constraint) || [\"width\", \"height\"].includes(I == null ? void 0 : I.constraint)) {\n let E = A.video;\n return !E || (\"width\" in E && (\"min\" in E.width && (C = !0, delete E.width.min), \"max\" in E.width && (C = !0, delete E.width.max)), \"height\" in E && (\"min\" in E.height && (C = !0, delete E.height.min), \"max\" in E.height && (C = !0, delete E.height.max)), !C) ? null : {\n video: E\n };\n } else if (B.isOverconstrainedDeviceId(I) || g === \"remembered\" || g === \"explicit\") {\n let E = A.video;\n return E ? (\"deviceId\" in E && (C = !0, delete E.deviceId, E.facingMode = {\n ideal: \"environment\"\n }), C ? {\n video: E\n } : null) : null;\n }\n return null;\n }\n};\nvar QA = /*#__PURE__*/(() => {\n let QA = class QA {\n constructor(A, I) {\n this.langCode = A;\n this.userAgent = I;\n }\n chooseCamera(A) {\n if (!A || A.length === 0) {\n let I = i.internalErrorWithDetail(\"Empty device list returned by browser\");\n throw I.duringCameraAccess = !0, I;\n }\n if (this.userAgent.indexOf(\"iPhone\") !== -1 && this.langCode in QA.iPhoneBackDualWideCameraLabels) {\n let I = QA.iPhoneBackDualWideCameraLabels[this.langCode],\n g = A.findIndex(C => I.findIndex(Q => Q === C.label) !== -1);\n if (g !== -1) return A[g];\n }\n return A[0];\n }\n };\n QA.iPhoneBackDualWideCameraLabels = {\n en: [\"Back Dual Wide Camera\"],\n de: [\"R\\xFCckseitige Dual-Weitwinkelkamera\"],\n fr: [\"Double appareil photo grand angle arri\\xE8re\"],\n it: [\"Fotocamera doppia con grandangolo (posteriore)\"],\n es: [\"C\\xE1mara trasera dual con gran angular\"],\n tr: [\"\\xC7ift Geni\\u015F Kamera Arka Y\\xFCz\\xFC\"],\n nl: [\"Back Dual Wide Camera\"],\n sv: [\"Dubbel vidvinkelkamera p\\xE5 baksidan\"],\n da: [\"Back Dual Wide Camera\"],\n pl: [\"Tylny dwuobiektywowy aparat szerokok\\u0105tny\"],\n fi: [\"Laajakulmainen kaksoistakakamera\"],\n nb: [\"Dobbelt vidvinkelkamera bak\"],\n ja: [\"\\u80CC\\u9762\\u30C7\\u30E5\\u30A2\\u30EB\\u5E83\\u89D2\\u30AB\\u30E1\\u30E9\"],\n zh: [\"\\u540E\\u7F6E\\u53CC\\u5E7F\\u89D2\\u955C\\u5934\", \"\\u5F8C\\u7F6E\\u96D9\\u5EE3\\u89D2\\u76F8\\u6A5F\", \"\\u5F8C\\u7F6E\\u96D9\\u5EE3\\u89D2\\u93E1\\u982D\\u76F8\\u6A5F\"],\n ru: [\"\\u0417\\u0430\\u0434\\u043D\\u044F\\u044F \\u0434\\u0432\\u043E\\u0439\\u043D\\u0430\\u044F \\u0448\\u0438\\u0440\\u043E\\u043A\\u043E\\u0443\\u0433\\u043E\\u043B\\u044C\\u043D\\u0430\\u044F \\u043A\\u0430\\u043C\\u0435\\u0440\\u0430\"],\n pt: [\"C\\xE2mera Dupla Grande-Angular Traseira\", \"C\\xE2mara grande angular dupla traseira\"],\n th: [\"\\u0E01\\u0E25\\u0E49\\u0E2D\\u0E07\\u0E04\\u0E39\\u0E48\\u0E14\\u0E49\\u0E32\\u0E19\\u0E2B\\u0E25\\u0E31\\u0E07\\u0E21\\u0E38\\u0E21\\u0E01\\u0E27\\u0E49\\u0E32\\u0E07\"],\n ko: [\"\\uD6C4\\uBA74 \\uB4C0\\uC5BC \\uC640\\uC774\\uB4DC \\uCE74\\uBA54\\uB77C\"],\n vi: [\"Camera k\\xE9p r\\u1ED9ng m\\u1EB7t sau\"],\n ar: [\"\\u0643\\u0627\\u0645\\u064A\\u0631\\u0627 \\u062E\\u0644\\u0641\\u064A\\u0629 \\u0645\\u0632\\u062F\\u0648\\u062C\\u0629 \\u0639\\u0631\\u064A\\u0636\\u0629\"],\n id: [\"Kamera Lebar Belakang Ganda\"],\n he: [\"\\u05DE\\u05E6\\u05DC\\u05DE\\u05D4 \\u05DB\\u05E4\\u05D5\\u05DC\\u05D4 \\u05E8\\u05D7\\u05D1\\u05D4 \\u05D0\\u05D7\\u05D5\\u05E8\\u05D9\\u05EA\"],\n el: [\"\\u03A0\\u03AF\\u03C3\\u03C9 \\u03B4\\u03B9\\u03C0\\u03BB\\u03AE \\u03B5\\u03C5\\u03C1\\u03B5\\u03AF\\u03B1 \\u03BA\\u03AC\\u03BC\\u03B5\\u03C1\\u03B1\"],\n ro: [\"Camer\\u0103 dubl\\u0103 cu obiectiv superangular spate\"],\n cs: [\"Zadn\\xED du\\xE1ln\\xED \\u0161iroko\\xFAhl\\xFD fotoapar\\xE1t\"],\n hu: [\"H\\xE1ts\\xF3, kett\\u0151s, sz\\xE9les l\\xE1t\\xF3sz\\xF6g\\u0171 kamera\"],\n sk: [\"Zadn\\xE1 du\\xE1lna \\u0161irokouhl\\xE1 kamera\"],\n uk: [\"\\u0417\\u0430\\u0434\\u043D\\u044F \\u0437\\u0434\\u0432\\u043E\\u0454\\u043D\\u0430 \\u0448\\u0438\\u0440\\u043E\\u043A\\u043E\\u043A\\u0443\\u0442\\u043D\\u0430 \\u043A\\u0430\\u043C\\u0435\\u0440\\u0430\"],\n hr: [\"Stra\\u017Enja dvostruka \\u0161iroka kamera\"],\n ms: [\"Dwikamera Lebar Belakang\"],\n hi: [\"\\u092C\\u0948\\u0915 \\u0921\\u094D\\u092F\\u0941\\u0905\\u0932 \\u0935\\u093E\\u0907\\u0921 \\u0915\\u0948\\u092E\\u0930\\u093E\"],\n kk: [\"\\u0410\\u0440\\u0442\\u049B\\u044B \\u049B\\u043E\\u0441 \\u043A\\u0435\\u04A3 \\u0431\\u04B1\\u0440\\u044B\\u0448\\u0442\\u044B \\u043A\\u0430\\u043C\\u0435\\u0440\\u0430\"],\n bg: [\"\\u0417\\u0430\\u0434\\u043D\\u0430 \\u0434\\u0432\\u043E\\u0439\\u043D\\u0430 \\u0448\\u0438\\u0440\\u043E\\u043A\\u043E\\u044A\\u0433\\u044A\\u043B\\u043D\\u0430 \\u043A\\u0430\\u043C\\u0435\\u0440\\u0430\"]\n };\n return QA;\n})();\nvar UA = QA;\nvar AA = /*#__PURE__*/(() => {\n let AA = class AA {\n constructor(A, I) {\n this.config = A;\n this.pendingMuteNotificationId = void 0;\n this.DEFAULT_RESOLUTION = \"hd\";\n this.initialized = !1;\n this.destroyed = !1;\n this.availableDevices = void 0;\n let g = document.createElement(\"video\");\n g.style.width = \"100%\", g.style.objectFit = \"cover\", g.playsInline = !0, g.preload = \"metadata\", g.style.height = `${I.clientHeight}px`, I.appendChild(g), this.videoElement = g, this.cameraSelector = new UA(navigator.language.split(\"-\")[0], navigator.userAgent);\n }\n getNumberOfChannels() {\n return 4;\n }\n getImageSize() {\n if (!this.initialized) throw i.internalErrorWithDetail(\"Frame source needs to be initialized first\");\n return this.size;\n }\n initialize() {\n return this.destroyed ? Promise.reject(i.internalErrorWithDetail(\"Frame source is already destroyed\")) : this.acquireVideoStream(void 0).then(() => (this.initialized = !0, this));\n }\n isReady() {\n return !this.destroyed && this.videoTrack !== void 0 && this.videoTrack.readyState === \"live\" && !this.videoTrack.muted;\n }\n restartIfLost() {\n return this.destroyed ? Promise.reject(i.internalErrorWithDetail(\"Frame source is already destroyed\")) : !this.videoTrack || this.videoTrack.readyState === \"ended\" || this.videoTrack.muted ? (o._debug && console.debug(\"Video track has ended or was muted, reacquiring...\"), this.videoTrack && (this.videoTrack.onmute = null, this.videoTrack.onunmute = null, this.mediaStream && (this.mediaStream.getTracks().forEach(A => A.stop()), this.mediaStream = void 0), this.videoTrack = void 0, this.setMediaStreamOnVideoElement(null)), this.acquireVideoStream(this.currentDevice).catch(A => {\n if (A instanceof i && A.duringCameraAccess && A.name === \"NotReadableError\") return new Promise((I, g) => {\n setTimeout(() => {\n this.acquireVideoStream(this.currentDevice).then(() => I(this)).catch(C => g(C));\n }, 250);\n });\n throw A;\n })) : Promise.resolve(this);\n }\n stop() {\n this.destroyed || (this.releaseVideoStream(), o._debug && console.debug(\"Stopped frame source\"));\n }\n destroy() {\n this.destroyed || (this.stop(), this.videoElement.remove(), this.destroyed = !0);\n }\n acquireVideoStream(A) {\n let I = this.getConstraintsFromConfig(this.config),\n g;\n A && A.mediaDeviceInfo.label && A.deviceId ? (g = \"explicit\", I.video.deviceId = {\n exact: A.deviceId\n }, this.clearRememberedCameraDeviceId()) : this.config.constraints ? (g = \"overrideConstraints\", I = this.config.constraints, o._debug && console.debug(`Overriding constraints: ${JSON.stringify(I)}`)) : this.config.rememberCameraDeviceId && this.getRememberedCameraDeviceId() ? (g = \"remembered\", I.video.deviceId = {\n exact: this.getRememberedCameraDeviceId()\n }) : (g = \"default\", I.video.facingMode = {\n ideal: \"environment\"\n }), o._debug && console.debug(`Acquiring camera (mode: ${g}) with constraints: ${JSON.stringify(I)}`);\n let C = new $();\n return navigator.mediaDevices.getUserMedia(I).catch(Q => {\n if (o._debug && console.debug(`getUserMedia failed with error: ${Q.name}, attempting to recover`), g === \"overrideConstraints\") throw i.fromGetUserMediaError(Q);\n if ($.isOverconstrainedError(Q)) {\n ($.isOverconstrainedDeviceId(Q) || g === \"remembered\") && (g = \"default\", this.clearRememberedCameraDeviceId());\n let E = C.relax(I, Q, g);\n if (E !== null) return o._debug && console.debug(`Re-acquiring camera (mode: ${g}) with relaxed constraints: ${JSON.stringify(E)}`), navigator.mediaDevices.getUserMedia(E).catch(a => {\n throw i.fromGetUserMediaError(a);\n });\n }\n throw i.fromGetUserMediaError(Q);\n }).then(Q => {\n let E = Q.getVideoTracks().length > 0 ? Q.getVideoTracks()[0] : void 0;\n if (!E) throw i.internalErrorWithDetail(\"MediaStream does not contain a video track\");\n let a = E.getSettings().width,\n e = E.getSettings().height;\n if (!a || !e) throw i.internalErrorWithDetail(\"Video track does not specify its resolution in settings\");\n if (E.addEventListener(\"ended\", () => {\n o._debug && console.debug(`Video track ${E.id} is now in state: ${E.readyState}`), this.endedHandler && this.endedHandler();\n }, {\n passive: !0\n }), this.mediaStream = Q, this.videoTrack = E, this.torchEnabled = void 0, o._debug && console.debug(`Video track ${E.id} of stream ${Q.id} has resolution: ${a} x ${e}`), this.videoElement.addEventListener(\"ended\", () => {\n o._debug && console.debug(\"Video element event: ended\");\n }), E.getSettings().deviceId) return this.getAvailableDevices().then(c => {\n let S = E.getSettings().deviceId;\n return c.find(h => h.deviceId === S);\n });\n }).then(Q => {\n if (Q === void 0 && o._debug && console.debug(\"Device ID from track could not be mapped to device from enumeratedDevices()\"), this.currentDevice = Q, g === \"default\" && this.availableDevices && this.availableDevices.length > 0) {\n let E = this.cameraSelector.chooseCamera(this.availableDevices);\n if (Q && Q.deviceId !== E.deviceId) return o._debug && console.debug(`Default camera acquisition selected device: ${Q.toString()}, our preferred device is: ${E}`), this.mediaStream.getTracks().forEach(a => a.stop()), this.acquireVideoStream(E);\n }\n }).then(() => {\n var Q, E, a, e, t, c;\n if (o._debug) {\n let S = (E = (Q = this.currentDevice) == null ? void 0 : Q.deviceId) != null ? E : \"\",\n h = (e = (a = this.mediaStream) == null ? void 0 : a.id) != null ? e : \"\",\n U = (c = (t = this.videoTrack) == null ? void 0 : t.id) != null ? c : \"\";\n console.debug(`Starting frame source for device: ${S}, stream ${h}, track: ${U}`);\n }\n return new Promise((S, h) => {\n this.videoElement.onerror = U => {\n o._debug && console.debug(\"VideoElement error event, loading stream failed\", U), h(U);\n }, this.videoElement.onloadedmetadata = () => {\n o._debug && console.debug(\"VideoElement.onloadedmetadata event, attempting to play()\"), this.videoElement.play().then(() => {\n this.size = x(this.videoElement.videoWidth, this.videoElement.videoHeight), this.videoTrack !== void 0 && this.setMuteUnmuteHandlers(this.videoTrack), S(this);\n }).catch(U => h(U));\n }, this.setMediaStreamOnVideoElement(this.mediaStream), this.videoElement.load();\n });\n }).catch(Q => {\n if (Q instanceof i) throw Q.duringCameraAccess = !0, Q;\n {\n let E = i.internalErrorWithCause(Q);\n throw E.duringCameraAccess = !0, E;\n }\n });\n }\n setMediaStreamOnVideoElement(A) {\n \"srcObject\" in this.videoElement ? this.videoElement.srcObject = A : this.videoElement.src = A === null ? null : URL.createObjectURL(A);\n }\n setMuteUnmuteHandlers(A) {\n A.onunmute = () => {\n var I, g;\n if (o._debug) {\n let C = (g = (I = this.videoTrack) == null ? void 0 : I.id) != null ? g : \"\";\n console.debug(`Video track ${C} was unmuted`);\n }\n this.pendingMuteNotificationId && (clearTimeout(this.pendingMuteNotificationId), this.pendingMuteNotificationId = void 0), this.mutedHandler && this.mutedHandler(!1);\n }, A.onmute = () => {\n var I, g;\n if (o._debug) {\n let C = (g = (I = this.videoTrack) == null ? void 0 : I.id) != null ? g : \"\";\n console.debug(`Video track ${C} was muted`);\n }\n this.pendingMuteNotificationId || (this.pendingMuteNotificationId = setTimeout(() => this.checkVideoTrackAfterMutedEvent(), 500));\n };\n }\n checkVideoTrackAfterMutedEvent() {\n this.pendingMuteNotificationId = void 0, this.mutedHandler !== void 0 && this.videoTrack && this.videoTrack.readyState === \"live\" && this.videoTrack.muted && this.mutedHandler(!0);\n }\n releaseVideoStream() {\n var A;\n this.pendingMuteNotificationId && (clearTimeout(this.pendingMuteNotificationId), this.pendingMuteNotificationId = void 0), this.videoTrack && (this.videoTrack.onmute = null, this.videoTrack.onunmute = null), (A = this.mediaStream) == null || A.getTracks().forEach(I => {\n I.stop();\n }), this.videoTrack = void 0, this.mediaStream = void 0, this.videoElement.srcObject = null, this.torchEnabled = void 0, o._debug && console.debug(\"Released video track and media stream\");\n }\n get() {\n return this.videoElement;\n }\n focusOnTap() {\n if (!this.videoTrack) return Promise.reject(i.internalErrorWithDetail(\"Video track is not initialized\"));\n if (typeof this.videoTrack.getCapabilities != \"function\") return Promise.reject(new i(\"error.featureNotAvailable\"));\n if (this.videoTrack.readyState !== \"live\") return Promise.reject(i.internalErrorWithDetail(\"Video is not ready\"));\n let A = this.videoTrack;\n return Object.prototype.hasOwnProperty.call(A.getCapabilities(), \"focusDistance\") ? new Promise((I, g) => {\n A.applyConstraints({\n advanced: [{\n focusMode: \"manual\",\n focusDistance: .3\n }]\n }).then(() => {\n setTimeout(() => {\n A.applyConstraints({\n advanced: [{\n focusMode: \"continuous\"\n }]\n }).then(() => {\n I();\n }).catch(C => {\n g(i.internalErrorWithCause(C));\n });\n }, 250);\n }).catch(C => {\n g(i.internalErrorWithCause(C));\n });\n }) : Promise.resolve();\n }\n onCodeScanned() {\n this.currentDevice && this.config.rememberCameraDeviceId && this.rememberCameraDeviceId(this.currentDevice.deviceId);\n }\n isTorchSupported() {\n return \"torch\" in navigator.mediaDevices.getSupportedConstraints();\n }\n setTorchEnabled(A) {\n return this.videoTrack ? this.videoTrack.readyState !== \"live\" ? Promise.reject(i.internalErrorWithDetail(\"Video track is not ready\")) : this.videoTrack.applyConstraints({\n advanced: [{\n torch: A\n }]\n }).then(() => {\n this.torchEnabled = A;\n }).catch(I => {\n throw I instanceof i ? I : i.internalErrorWithCause(I);\n }) : Promise.reject(i.internalErrorWithDetail(\"Video track is not initialized\"));\n }\n getTorchEnabled() {\n if (!(!this.videoTrack || this.videoTrack.readyState !== \"live\")) return this.torchEnabled;\n }\n getAvailableDevices() {\n return navigator.mediaDevices.enumerateDevices().then(A => {\n if (A) {\n if (o._debug) for (let g of A) console.debug(` enumerateDevices() returned device: ${g.deviceId}, label: ${g.label}`);\n let I = A.filter(g => g.kind === \"videoinput\").map(g => new kA(g));\n return I.some(g => !g.hasPermission) ? (this.availableDevices = I, o._debug && console.debug(\"enumerateDevices() returned videoinput devices without label (HINT: permission?)\")) : this.availableDevices = this.sortAndFilterDevices(I), this.availableDevices;\n } else throw new i(\"error.cameraNotFound\");\n });\n }\n getCurrentCameraDevice() {\n return this.currentDevice;\n }\n selectCameraDevice(A) {\n if (!this.availableDevices) return Promise.reject(new i(\"error.cameraNotFound\"));\n let I = this.availableDevices.find(g => g.deviceId === A);\n return I ? (this.mediaStream && (this.mediaStream.getTracks().forEach(g => g.stop()), this.videoTrack = void 0, this.mediaStream = void 0, this.currentDevice = void 0), this.acquireVideoStream(I)) : Promise.reject(new i(\"error.cameraNotReadable\"));\n }\n getConstraintsFromConfig(A) {\n let I = {\n audio: !1\n },\n g = A.resolution || this.DEFAULT_RESOLUTION,\n C = {\n width: {\n min: 800,\n ideal: 1280,\n max: 1600\n },\n height: {\n min: 600,\n ideal: 720,\n max: 900\n }\n },\n Q = {\n width: {\n min: 1400,\n ideal: 1920,\n max: 2160\n },\n height: {\n min: 900,\n ideal: 1080,\n max: 1440\n }\n };\n return g === \"hd\" ? I.video = C : g === \"full-hd\" ? I.video = Q : (console.warn(`Unknown resolution '${g}' in config, falling back to 'hd'`), I.video = C), I;\n }\n getRememberedCameraDeviceId() {\n return localStorage.getItem(AA.rememberedCameraIdKey);\n }\n rememberCameraDeviceId(A) {\n localStorage.setItem(AA.rememberedCameraIdKey, A);\n }\n clearRememberedCameraDeviceId() {\n localStorage.removeItem(AA.rememberedCameraIdKey);\n }\n sortAndFilterDevices(A) {\n return A.filter(I => I.mediaDeviceInfo.kind === \"videoinput\").sort((I, g) => I.isBackFacing === !0 && g.isBackFacing === !1 ? -1 : I.isBackFacing === !1 && g.isBackFacing === !0 ? 1 : I.mediaDeviceInfo.label.localeCompare(g.mediaDeviceInfo.label));\n }\n };\n AA.rememberedCameraIdKey = \"strich_remembered_camera_id\";\n return AA;\n})();\nvar RA = AA;\nvar MA = class {\n constructor(A) {\n this.codeDetections = A;\n }\n};\nvar EA = class {\n constructor(A) {\n this.interval = A;\n if (A <= 0) throw i.configurationErrorWithDetail(\"duplicateInterval must be a positive number\");\n this.lastDetection = {};\n }\n filter(A) {\n this.removeStaleDetections(A.time);\n let I = this.lastDetection[A.data];\n return I === void 0 ? (this.lastDetection[A.data] = A.time, !1) : I < A.time - this.interval ? (this.lastDetection[A.data] = A.time, !1) : !0;\n }\n removeStaleDetections(A) {\n let I = Object.keys(this.lastDetection);\n for (let g in I) this.lastDetection[g] < A - this.interval && delete this.lastDetection[g];\n }\n};\nvar nA = /*#__PURE__*/(() => {\n let nA = class nA {\n constructor(A) {\n this.duplicateFilter = void 0;\n this.engineDebug = !1;\n this.engineInitialized = !1;\n this.framesProcessed = 0;\n this.lastFramesProcessed = 0;\n this.dumpFPSIntervalMS = 1e3;\n this.lastFPSSampleTime = 0;\n this.lastFps = -1;\n this.eptAvg = 0;\n this.eptAvgWindowSize = 10;\n if (this.hasPerformance = \"performance\" in window, A ? this.config = A : this.config = {}, (this.config.symbologies === void 0 || Array.isArray(this.config.symbologies) && this.config.symbologies.length === 0) && console.warn(\"Enabling all symbologies (HINT: this is inefficient)\"), this.config.duplicateInterval === void 0 || this.config.duplicateInterval === null) this.duplicateFilter = new EA(nA.DEFAULT_DUPLICATE_INTERVAL);else if (this.config.duplicateInterval > 0) this.duplicateFilter = new EA(this.config.duplicateInterval);else if (this.config.duplicateInterval < 0) throw i.configurationErrorWithDetail(\"duplicateInterval must be a positive number\");\n }\n async init() {\n if (!o.api) throw new i(\"error.sdkNotInitialized\");\n o.api.strich_engine_destroy();\n let A = o.api.strich_engine_init(JSON.stringify(this.config));\n if (A === 0) return this.engineInitialized = !0, this;\n {\n let I = o.api.strich_get_last_error_message(),\n g = I !== \"\" ? I : `error code ${A}`;\n throw i.internalErrorWithDetail(`Failed to initialize engine: ${g}`);\n }\n }\n destroy() {\n var A;\n this.assertInitialized(), this.destroyBuffer(), (A = o.api) == null || A.strich_engine_destroy();\n }\n prepareBuffer(A, I) {\n this.assertInitialized(), this.destroyBuffer();\n let g = A.width * A.height * I,\n C = o.api.strich_engine_create_buffer(A.width, A.height, I);\n this.bufferSpec = {\n buffer: C,\n bufferSize: g,\n imageSize: A,\n channels: I\n };\n }\n getBuffer() {\n this.assertInitialized();\n let A = this.assertBufferAllocated();\n return [new Uint8ClampedArray(o.api.Module.HEAPU8.buffer, A.buffer, A.bufferSize), A.imageSize, A.channels];\n }\n destroyBuffer() {\n this.assertInitialized(), this.bufferSpec && (o.api.strich_engine_destroy_buffer(this.bufferSpec.buffer), this.bufferSpec = void 0);\n }\n processFrame(A) {\n this.assertInitialized();\n let I = this.assertBufferAllocated();\n o._debug !== this.engineDebug && (this.engineDebug = o._debug, o.api.strich_set_debug(this.engineDebug ? 1 : 0), this.engineDebug && console.warn(\"Debug mode enabled (DO NOT USE IN PRODUCTION)\"));\n let g = A.touchHint ? A.touchHint.x : -1,\n C = A.touchHint ? A.touchHint.y : -1,\n Q = A.saliency ? 1 : 0;\n try {\n let e = this.hasPerformance ? performance.now() : 0,\n t = o.api.strich_engine_process_frame(Q, A.frameTimestamp, I.buffer, I.imageSize.width, I.imageSize.height, g, C);\n if (this.hasPerformance) {\n let c = this.hasPerformance ? performance.now() : 1;\n this.eptAvg -= this.eptAvg / this.eptAvgWindowSize, this.eptAvg += (c - e) / this.eptAvgWindowSize, A.ept = this.eptAvg, this.framesProcessed++;\n let S = c - this.lastFPSSampleTime;\n c - this.lastFPSSampleTime > this.dumpFPSIntervalMS && (this.lastFps = (this.framesProcessed - this.lastFramesProcessed) * 1e3 / S, this.lastFramesProcessed = this.framesProcessed, this.lastFPSSampleTime = c), A.fps = this.lastFps;\n }\n if (t !== 0) throw i.internalErrorWithDetail(`Engine error occurred, error code: ${t}`);\n } catch (e) {\n if (typeof e == \"number\") {\n let t = o.api.strich_engine_get_exception_message(e);\n throw i.internalErrorWithDetail(t);\n } else throw e;\n }\n let E = [],\n a = o.api.strich_engine_get_number_of_results();\n for (let e = 0; e < a; e++) {\n let t = this.getCodeDetection(A, e);\n this.duplicateFilter && this.duplicateFilter.filter(t) || E.push(this.getCodeDetection(A, e));\n }\n if (o._debug) {\n try {\n let e = o.api.strich_engine_get_debug_output();\n e && (A.debugOutput = JSON.parse(e));\n } catch (e) {\n console.debug(`Failed to parse engine debug output: ${e}`);\n }\n A.statusMessage = o.api.strich_engine_get_status_message();\n }\n return new MA(E);\n }\n assertInitialized() {\n if (!this.engineInitialized || !o.api) throw i.internalErrorWithDetail(\"Engine was not previously initialized\");\n }\n assertBufferAllocated() {\n if (this.bufferSpec === void 0) throw i.internalErrorWithDetail(\"Buffer was not previously allocated\");\n return this.bufferSpec;\n }\n getCodeDetection(A, I) {\n let g = o.api.strich_engine_get_result_type(I),\n C = o.api.strich_engine_get_result_data(I),\n Q = o.api.strich_engine_get_result_raw_data(I),\n E = o.api.strich_engine_get_result_data_len(I),\n a = new Uint8Array(o.api.Module.HEAPU8.subarray(Q, Q + E)),\n e = aI(p(o.api.strich_engine_get_quad_p1_x(I), o.api.strich_engine_get_quad_p1_y(I)), p(o.api.strich_engine_get_quad_p2_x(I), o.api.strich_engine_get_quad_p2_y(I)), p(o.api.strich_engine_get_quad_p3_x(I), o.api.strich_engine_get_quad_p3_y(I)), p(o.api.strich_engine_get_quad_p4_x(I), o.api.strich_engine_get_quad_p4_y(I))),\n t = o.api.strich_engine_get_symbology_identifier(I);\n return {\n time: A.startTime,\n data: C,\n typeName: g,\n boundingRect: tI(e),\n quadrilateral: e,\n rawData: a,\n symbologyIdentifier: t\n };\n }\n };\n nA.DEFAULT_DUPLICATE_INTERVAL = 750;\n return nA;\n})();\nvar KA = nA;\nfunction iA(B) {\n return [\"ean13\", \"ean8\", \"upca\", \"upce\", \"databar\", \"databar-exp\", \"code39\", \"code93\", \"code128\", \"i25\", \"codabar\"].includes(B);\n}\nfunction uA(B) {\n return [\"qr\", \"aztec\", \"datamatrix\", \"pdf417\"].includes(B);\n}\nfunction DA(B) {\n let A = B.match(/^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/);\n if (!A) throw i.configurationErrorWithDetail(`Bad color value: ${B}, needs to be 'rgb(R,G,B)'`);\n let I = parseInt(A[1], 10),\n g = parseInt(A[2], 10),\n C = parseInt(A[3], 10);\n return [I, g, C];\n}\nfunction b(B, A) {\n return `rgba(${B[0]},${B[1]},${B[2]},${A})`;\n}\nfunction JA(B, A) {\n return new Promise((I, g) => {\n let C = new Image();\n C.onload = () => {\n let Q = document.createElement(\"canvas\");\n Q.width = C.width, Q.height = C.height;\n let E = Q.getContext(\"2d\");\n if (!E) {\n g(i.internalErrorWithDetail(\"2D drawing context not available\"));\n return;\n }\n E.fillStyle = b(A, 1), E.fillRect(0, 0, Q.width, Q.height), E.globalCompositeOperation = \"destination-in\", E.drawImage(C, 0, 0);\n let a = Q.toDataURL();\n Q.remove(), I(a);\n }, C.onerror = () => {\n g(i.internalErrorWithDetail(\"Mask image failed to load\"));\n }, (B.indexOf(\"://\") > 0 || B.indexOf(\"//\") === 0) && C.setAttribute(\"crossorigin\", \"anonymous\"), C.src = B;\n });\n}\nvar G = class G {\n constructor(A, I, g, C, Q, E) {\n this.config = A;\n this.frameSource = g;\n this.viewportSize = C;\n this.roeSpec = Q;\n this.DETECTION_LIFETIME = 500;\n this.visibleDetections = [];\n this.pendingClearDetection = 0;\n this.lastStatusMessageUpdate = 0;\n this.showDebugOutput = !1;\n this.showPerformance = !1;\n var e, t, c, S, h, U, H, n, k, q, f;\n this.focusOnTap = (e = A.focusOnTap) != null ? e : !0, this.filterCameras = (t = A.filterCameras) != null ? t : !0, this.primaryColor = A.primaryColor ? DA(A.primaryColor) : G.defaultPrimaryColor, this.detectionFillColor = A.detectionFillColor ? DA(A.detectionFillColor) : G.defaultDetectionFillColor, this.detectionBorderColor = A.detectionBorderColor ? DA(A.detectionBorderColor) : void 0, this.detectionBorderWidth = BA((c = A.detectionBorderWidth) != null ? c : 0, 0, 4), this.targetingLineActiveColor = A.targetingLineActiveColor ? DA(A.targetingLineActiveColor) : G.defaultTargetingLineActiveColor, this.cornerRadius = BA((S = A.cornerRadius) != null ? S : 0, 0, 8), this.viewfinderCornerRadius = BA((U = (h = A.viewfinderCornerRadius) != null ? h : A.cornerRadius) != null ? U : 0, 0, 20), this.viewfinderBorderWidth = BA((H = A.viewfinderBorderWidth) != null ? H : 1, 1, 10), this.maskColor = A.maskColor, this.showDetections = A.showDetections === !0, this.detectionCanvas = document.createElement(\"canvas\"), this.targetingCanvas = document.createElement(\"canvas\"), this.showDebugOutput = (n = A.showDebugOutput) != null ? n : !1, this.showPerformance = (k = A.showPerformance) != null ? k : !1, this.debugCanvas = this.showDebugOutput || this.showPerformance ? document.createElement(\"canvas\") : void 0, this.canvasScale = window.devicePixelRatio, A.showTargetingLine === void 0 || A.showTargetingLine ? this.showHorizontalTargetingLine = E : this.showHorizontalTargetingLine = !1;\n let a = this.frameSource.getImageSize();\n this.vpt = new Z(a, C), this.viewportRoE = P(this.viewportSize, this.roeSpec), this.imageRoE = this.vpt.unprojectRect(this.viewportRoE);\n for (let l of [this.detectionCanvas, this.debugCanvas, this.targetingCanvas]) l && (l.width = Math.floor(C.width * this.canvasScale), l.height = Math.floor(C.height * this.canvasScale), l.style.width = \"100%\", l.style.height = \"100%\", l.style.position = \"absolute\", l.style.top = \"0\", l.style.left = \"0\", I.appendChild(l));\n this.config.showCameraSelector = (q = A == null ? void 0 : A.showCameraSelector) != null ? q : !0, this.config.showFlashlight = (f = A == null ? void 0 : A.showFlashlight) != null ? f : !0, this.createButtonBar(I);\n }\n initialize() {\n let A;\n return this.config.customLogoSrc && o.license.hasCustomOverlayLogoCapability ? A = this.config.customLogoSrc : A = G.logo, Promise.all([JA(A, this.primaryColor), JA(G.flashlightOnIcon, this.primaryColor), JA(G.flashlightOffIcon, this.primaryColor)]).then(I => {\n let g = I[0];\n return this.flashlightOnIconTinted = I[1], this.flashlightOffIconTinted = I[2], new Promise((C, Q) => {\n let E = new Image();\n E.onload = () => {\n var e;\n this.logoImage = E, this.drawMask(), this.drawTargetingOverlay(), this.showHorizontalTargetingLine && this.drawHorizontalTargetingLine(!1);\n let a = this.frameSource.getTorchEnabled();\n this.setTorchState(a === void 0 ? !1 : a), (e = this.targetingCanvas) == null || e.addEventListener(\"click\", t => {\n if (this.focusOnTap && this.frameSource.focusOnTap().then(() => {}).catch(c => {\n console.warn(`Tap-to-focus failed with error: ${c}`);\n }), this.targetingCanvas && this.touchHandler) {\n let c = this.targetingCanvas.getBoundingClientRect(),\n S = {\n x: t.clientX - c.left,\n y: t.clientY - c.top\n },\n h = this.vpt.unprojectPoint(S),\n U = {\n x: h.x - this.imageRoE.origin.x,\n y: h.y - this.imageRoE.origin.y\n };\n this.touchHandler(U.x, U.y);\n }\n }), this.populateCameraSelector().then(() => C(this)).catch(t => Q(t));\n }, E.onerror = () => {\n Q(i.internalErrorWithDetail(\"Failed to load logo asset\"));\n }, E.src = g;\n });\n });\n }\n destroy() {\n var A, I, g, C;\n (A = this.buttonBar) == null || A.remove(), this.buttonBar = void 0, (I = this.detectionCanvas) == null || I.remove(), this.detectionCanvas = void 0, (g = this.debugCanvas) == null || g.remove(), this.debugCanvas = void 0, (C = this.targetingCanvas) == null || C.remove(), this.targetingCanvas = void 0;\n }\n updateDebug(A) {\n if (!o._debug) return;\n let I = this.getContext(this.debugCanvas, !1);\n if (I) {\n I.save();\n try {\n I.scale(this.canvasScale, this.canvasScale), I.clearRect(0, 0, this.viewportSize.width, this.viewportSize.height), this.showPerformance && this.drawPerformanceInfo(I, A), A.statusMessage ? (this.drawStatusMessage(I, A.statusMessage), this.lastStatusMessage = A.statusMessage, this.lastStatusMessageUpdate = A.startTime) : this.lastStatusMessage && A.startTime - this.lastStatusMessageUpdate < G.statusMessageMinLifetime ? this.drawStatusMessage(I, this.lastStatusMessage) : this.lastStatusMessage = void 0;\n } finally {\n I.restore();\n }\n }\n }\n update(A) {\n let I = A ? A.codeDetections : [];\n if (I.forEach(g => this.visibleDetections.push(g)), this.showDetections && requestAnimationFrame(() => {\n let g = this.getContext(this.detectionCanvas, !1);\n if (!g) return;\n let C = Date.now();\n g.save();\n try {\n g.scale(this.canvasScale, this.canvasScale), g.clearRect(0, 0, this.viewportSize.width, this.viewportSize.height);\n for (let Q = 0; Q < this.visibleDetections.length; Q++) {\n let E = this.visibleDetections[Q],\n a = C - E.time;\n if (a < this.DETECTION_LIFETIME) {\n let e = .5 * a / this.DETECTION_LIFETIME;\n g.fillStyle = b(this.detectionFillColor, e), this.detectionBorderColor && this.detectionBorderWidth && (g.lineWidth = this.detectionBorderWidth, g.strokeStyle = b(this.detectionBorderColor, e)), g.beginPath();\n for (let t = 0; t < 4; t++) {\n let c = E.quadrilateral.points[t],\n S = p(c.x + this.imageRoE.origin.x, c.y + this.imageRoE.origin.y),\n h = this.vpt.projectPoint(S);\n t === 0 ? g.moveTo(h.x, h.y) : g.lineTo(h.x, h.y);\n }\n g.closePath(), g.stroke(), g.fill();\n }\n }\n } finally {\n g.restore();\n }\n }), I.length > 0) {\n let g = !1;\n this.showHorizontalTargetingLine && I.find(Q => iA(Q.typeName)) !== void 0 && (g = !0, requestAnimationFrame(() => {\n this.drawHorizontalTargetingLine(!0);\n })), this.pendingClearDetection > 0 && (window.clearTimeout(this.pendingClearDetection), this.pendingClearDetection = 0), this.pendingClearDetection = window.setTimeout(() => {\n requestAnimationFrame(() => {\n this.clearDetectionsFromOverlay(), g && this.drawHorizontalTargetingLine(!1);\n });\n }, 250);\n }\n }\n setTorchState(A) {\n var I, g;\n this.flashlightButton && (A ? this.flashlightButton.src = (I = this.flashlightOnIconTinted) != null ? I : G.flashlightOnIcon : this.flashlightButton.src = (g = this.flashlightOffIconTinted) != null ? g : G.flashlightOffIcon, this.flashlightButton.ariaPressed = A ? \"true\" : \"false\");\n }\n populateCameraSelector() {\n if (!this.config.showCameraSelector) return Promise.resolve();\n let A = this.cameraSelectElem;\n if (!A) return Promise.resolve();\n let I = this.frameSource.getCurrentCameraDevice();\n return this.frameSource.getAvailableDevices().then(g => {\n for (; A.firstChild;) A.removeChild(A.firstChild);\n let C = this.filterCameras ? g.filter(Q => Q.isBackFacing) : g;\n for (let Q of C) {\n let E = document.createElement(\"option\");\n E.value = Q.deviceId, E.innerHTML = Q.label, A.appendChild(E);\n }\n return I && (A.value = I.deviceId), C;\n }).then(g => {\n A.style.display = g.length <= 1 ? \"none\" : \"visible\";\n });\n }\n drawTargetingOverlay() {\n let A = this.getContext(this.targetingCanvas, !0);\n A.save();\n try {\n if (A.scale(this.canvasScale, this.canvasScale), A.strokeStyle = b(this.primaryColor, 1), A.lineWidth = this.viewfinderBorderWidth, this.isRoundRectSupported(A) && this.viewfinderCornerRadius > 0 ? A.roundRect(this.viewportRoE.origin.x, this.viewportRoE.origin.y, this.viewportRoE.size.width, this.viewportRoE.size.height, [this.viewfinderCornerRadius]) : A.rect(this.viewportRoE.origin.x + this.viewfinderBorderWidth / 2, this.viewportRoE.origin.y + this.viewfinderBorderWidth / 2, this.viewportRoE.size.width - this.viewfinderBorderWidth, this.viewportRoE.size.height - this.viewfinderBorderWidth), A.stroke(), this.logoImage) {\n let g = this.logoImage.width / 4,\n C = this.logoImage.height / 4,\n Q = this.viewfinderBorderWidth + 4;\n A.drawImage(this.logoImage, this.viewportRoE.origin.x + this.viewportRoE.size.width - g - Q, this.viewportRoE.origin.y + this.viewportRoE.size.height - C - Q, g, C);\n }\n } finally {\n A.restore();\n }\n }\n drawHorizontalTargetingLine(A) {\n if (!this.showHorizontalTargetingLine || !this.targetingCanvas) return;\n let I = this.getContext(this.targetingCanvas, !0);\n I.save();\n try {\n I.scale(this.canvasScale, this.canvasScale);\n let g = 20,\n C = this.viewportRoE.origin.y + this.viewportRoE.size.height / 2;\n I.clearRect(this.viewportRoE.origin.x + g, C - 1, this.viewportRoE.size.width - g * 2, 3), A ? I.strokeStyle = b(this.targetingLineActiveColor, 1) : I.strokeStyle = b(this.primaryColor, .15), I.beginPath(), I.moveTo(this.viewportRoE.origin.x + g, C), I.lineTo(this.viewportRoE.origin.x + this.viewportRoE.size.width - g, C), I.stroke();\n } finally {\n I.restore();\n }\n }\n drawMask() {\n if (!this.maskColor || !this.targetingCanvas || this.viewportRoE.size.width === this.viewportSize.width && this.viewportRoE.size.height === this.viewportSize.height) return;\n let A = this.getContext(this.targetingCanvas, !0),\n I = this.isRoundRectSupported(A);\n A.save();\n try {\n A.scale(this.canvasScale, this.canvasScale), A.fillStyle = this.maskColor, A.fillRect(0, 0, this.viewportSize.width, this.viewportSize.height), I && this.viewfinderCornerRadius > 0 ? (A.save(), A.roundRect(this.viewportRoE.origin.x, this.viewportRoE.origin.y, this.viewportRoE.size.width, this.viewportRoE.size.height, [this.viewfinderCornerRadius]), A.clip(), A.clearRect(this.viewportRoE.origin.x, this.viewportRoE.origin.y, this.viewportRoE.size.width, this.viewportRoE.size.height), A.restore()) : A.clearRect(this.viewportRoE.origin.x, this.viewportRoE.origin.y, this.viewportRoE.size.width, this.viewportRoE.size.height);\n } finally {\n A.restore();\n }\n }\n drawPerformanceInfo(A, I) {\n A.fillStyle = \"white\", A.textAlign = \"left\";\n let Q = `FPS: ${I.fps.toFixed(1)} / FGT: ${I.fgt.toFixed(1)} ms / EPT: ${I.ept.toFixed(1)} ms`;\n A.fillText(Q, 10, this.viewportSize.height - 10), A.textAlign = \"right\";\n let E = `${I.size.width}x${I.size.height} (${this.vpt.imageSize.width}x${this.vpt.imageSize.height})`;\n A.fillText(E, this.viewportSize.width - 10, this.viewportSize.height - 10);\n }\n drawStatusMessage(A, I) {\n A.fillStyle = \"white\", A.font = \"10px sans-serif\", A.textAlign = \"right\", A.fillText(I, this.viewportSize.width - 20, 20);\n }\n clearDetectionsFromOverlay() {\n this.visibleDetections = [];\n let A = this.getContext(this.detectionCanvas, !1);\n A && A.clearRect(0, 0, this.viewportSize.width, this.viewportSize.height);\n }\n createButtonBar(A) {\n let I = document.createElement(\"div\");\n if (I.style.height = \"48px\", I.style.position = \"absolute\", I.style.top = \"0\", I.style.left = \"0\", I.style.right = \"0\", I.style.backgroundColor = \"transparent\", I.style.display = \"flex\", I.style.flexDirection = \"row\", I.style.alignItems = \"center\", I.style.paddingLeft = \"10px\", I.style.paddingRight = \"10px\", this.config.showCameraSelector) {\n let C = this.createCameraSelector();\n I.appendChild(C), this.cameraSelectElem = C, C.onchange = () => {\n this.onCameraSelected(C.value);\n };\n }\n if (this.config.showReportCode) {\n let C = document.createElement(\"img\");\n C.src = G.reportIcon, C.width = 32, C.height = 32, I.appendChild(C), this.reportButton = C, this.reportButton.onclick = () => {\n this.snapshotHandler && this.snapshotHandler();\n };\n }\n let g = document.createElement(\"div\");\n if (g.style.flexGrow = \"1\", I.appendChild(g), this.config.showFlashlight && this.frameSource.isTorchSupported()) {\n let C = document.createElement(\"img\");\n C.src = G.flashlightOffIcon, C.width = 32, C.height = 32, I.appendChild(C), this.flashlightButton = C, this.flashlightButton.role = \"button\", this.flashlightButton.ariaLabel = \"Toggle flashlight\", this.flashlightButton.onclick = () => {\n let Q = this.frameSource.getTorchEnabled(),\n E = Q === !1 || Q === void 0;\n return this.frameSource.setTorchEnabled(E).then(() => {\n this.setTorchState(E);\n }).catch(a => {\n console.warn(`Failed to toggle torch: ${a} (HINT: may not be supported by this browser)`);\n });\n };\n }\n A.appendChild(I), this.buttonBar = I;\n }\n createCameraSelector() {\n let A = document.createElement(\"select\");\n return A.style.backgroundColor = \"transparent\", A.style.color = b(this.primaryColor, 1), A.style.borderColor = b(this.primaryColor, 1), A.style.borderRadius = `${this.cornerRadius}px`, A.style.borderWidth = \"1px\", A.style.fontSize = \"16px\", A.style.outlineStyle = \"none\", A.style.maxWidth = \"140px\", A;\n }\n onCameraSelected(A) {\n this.selectCameraHandler !== void 0 && this.selectCameraHandler(A);\n }\n getContext(A, I) {\n let g = A == null ? void 0 : A.getContext(\"2d\");\n if (!g && I) throw i.internalErrorWithDetail(\"Failed to draw overlay, no 2D context returned for canvas\");\n return g;\n }\n isRoundRectSupported(A) {\n return this.hasRoundRect === void 0 && (this.hasRoundRect = typeof A.roundRect == \"function\"), this.hasRoundRect;\n }\n};\nG.flashlightOffIcon = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiNGRkZGRkYiPjxnPjxwYXRoIGQ9Ik0wLDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjwvZz48Zz48Zz48cGF0aCBkPSJNMi44MSwyLjgxTDEuMzksNC4yMkw4LDEwLjgzVjIyaDh2LTMuMTdsMy43OCwzLjc4bDEuNDEtMS40MUwyLjgxLDIuODF6IE0xNCwyMGgtNHYtNy4xN2w0LDRWMjB6Ii8+PHBvbHlnb24gcG9pbnRzPSIxNiw0IDE2LDUgNy44Myw1IDkuODMsNyAxNiw3IDE2LDcuMzkgMTQsMTAuNCAxNCwxMS4xNyAxNiwxMy4xNyAxNiwxMSAxOCw4IDE4LDIgNiwyIDYsMy4xNyA2LjgzLDQiLz48L2c+PC9nPjwvc3ZnPg==\", G.flashlightOnIcon = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiNGRkZGRkYiPjxnPjxwYXRoIGQ9Ik0wLDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjwvZz48Zz48Zz48cGF0aCBkPSJNMTgsMkg2djZsMiwzdjExaDhWMTFsMi0zVjJ6IE0xNiw0djFIOFY0SDE2eiBNMTQsMTAuNFYyMGgtNHYtOS42MWwtMi0zVjdoOHYwLjM5TDE0LDEwLjR6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNCIgcj0iMS41Ii8+PC9nPjwvZz48L3N2Zz4=\", G.reportIcon = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE1LjczIDNIOC4yN0wzIDguMjd2Ny40Nkw4LjI3IDIxaDcuNDZMMjEgMTUuNzNWOC4yN0wxNS43MyAzek0xOSAxNC45TDE0LjkgMTlIOS4xTDUgMTQuOVY5LjFMOS4xIDVoNS44TDE5IDkuMXY1Ljh6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNiIgcj0iMSIvPjxwYXRoIGQ9Ik0xMSA3aDJ2N2gtMnoiLz48L3N2Zz4=\", G.logo = \"data:image/png;base64,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\", G.defaultPrimaryColor = [255, 255, 255], G.defaultDetectionFillColor = [0, 0, 255], G.defaultTargetingLineActiveColor = [255, 0, 0], G.statusMessageMinLifetime = 1e3;\nvar YA = G;\nvar dA = class {\n constructor(A, I, g, C, Q) {\n this.startTime = A, this.frameTimestamp = I, this.buffer = g, this.size = C, this.channels = Q, this.saliency = !0, this.debugOutput = void 0, this.statusMessage = void 0, this.ept = -1, this.fps = -1, this.fgt = -1;\n }\n setTouchHint(A, I) {\n this.touchHint = {\n x: A,\n y: I\n };\n }\n};\nvar pA = /*#__PURE__*/(() => {\n let pA = class pA {\n constructor() {\n this.scanEvents = [];\n }\n addScanEvent(A, I) {\n navigator.sendBeacon && (o.license.isOffline && o.license.isAnalyticsOptOut || (this.scanEvents.push({\n timestamp: Date.now(),\n symbology: A,\n integration: I\n }), this.scanEvents.length > pA.maxScanEventsToBuffer && this.emitBeacon()));\n }\n emitBeacon() {\n if (!navigator.sendBeacon || this.scanEvents.length === 0) return;\n let A = o.license.licenseId,\n I = o.deviceId;\n if (!A || !I) return;\n let g = window.location.href.split(\"?\")[0],\n C = `${o.license.isDevLicense ? cA : NA}/web/events/scans`,\n Q = {\n sdkVersion: o.version(),\n licenseId: A,\n deviceId: I,\n userAgent: navigator.userAgent,\n customId: o.customId === null ? \"\" : o.customId,\n locationHref: g,\n scans: this.scanEvents\n };\n navigator.sendBeacon(C, JSON.stringify(Q)) && (this.scanEvents = []);\n }\n };\n pA.maxScanEventsToBuffer = 32;\n return pA;\n})();\nvar LA = pA;\nvar HA = class {\n constructor(A) {\n let I = document.createElement(\"div\");\n I.style.background = \"rgba(0,0,0,0.5)\", I.style.flexDirection = \"column\", I.style.alignItems = \"center\", I.style.position = \"absolute\", I.style.top = \"0\", I.style.left = \"0\", I.style.right = \"0\", I.style.bottom = \"0\", I.style.display = \"none\", I.style.justifyContent = \"center\", I.style.padding = \"20px\", I.style.zIndex = \"999\";\n let g = document.createElement(\"p\");\n g.style.color = \"rgba(255,255,255,1)\", g.style.textAlign = \"center\", this.messageParagraph = g, I.appendChild(g);\n let C = document.createElement(\"p\");\n C.style.color = \"rgba(175,175,175,1)\", C.style.textAlign = \"center\", C.style.fontSize = \"9px\", C.style.display = \"none\", C.style.marginTop = \"8px\", this.detailParagraph = C, I.appendChild(C);\n let Q = document.createElement(\"button\");\n Q.style.width = \"100%\", Q.style.padding = \"10px\", Q.style.border = \"1px solid white\", Q.style.marginTop = \"20px\", Q.style.color = \"white\", Q.style.fontWeight = \"bold\", Q.style.backgroundColor = \"transparent\", this.actionButton = Q, I.appendChild(Q), A.appendChild(I), this.panel = I;\n }\n setError(A, I, g) {\n this.panel && (A instanceof i ? (this.messageParagraph.innerHTML = A.localizedMessage, this.setDetailMessage(A.detailMessage)) : (this.messageParagraph.innerHTML = A.message, this.setDetailMessage(void 0)), this.panel.style.display = \"flex\", I ? (this.actionButton.style.display = \"block\", this.actionButton.innerText = I, g && (this.actionButton.onclick = () => {\n this.clearError(), g();\n })) : (this.actionButton.style.display = \"none\", this.actionButton.innerText = \"\", this.actionButton.onclick = null));\n }\n setDetailMessage(A) {\n A ? (this.detailParagraph.innerHTML = A, this.detailParagraph.style.display = \"block\") : (this.detailParagraph.innerHTML = \"\", this.detailParagraph.style.display = \"none\");\n }\n clearError() {\n this.panel && (this.panel.style.display = \"none\", this.messageParagraph.innerText = \"\", this.actionButton.style.display = \"none\", this.actionButton.innerText = \"\", this.actionButton.onclick = null);\n }\n destroy() {\n this.panel && (this.panel.remove(), this.panel = void 0);\n }\n};\nvar oA = class B {\n constructor(A) {\n this.touchHint = void 0;\n this.snapshotRequested = !1;\n this.supportsRVF = !1;\n this.rxfRequestId = 0;\n if (!o.isInitialized()) throw new i(\"error.sdkNotInitialized\");\n if (!A.selector) throw i.configurationErrorWithDetail(\"No selector present in configuration\", !0);\n if (!o.browserCapabilities.supportsWASM) throw i.unfulfilledRequirementErrorWithDetail(\"WebAssembly not supported\", !0);\n if (!o.browserCapabilities.supportsGetUserMedia) throw i.unfulfilledRequirementErrorWithDetail(\"WebRTC/getUserMedia not supported\", !0);\n this.supportsRVF = o.browserCapabilities.supportsRVF === !0, this.hostElement = this.getAndCheckHostElement(A), this.state = 0, this.modeIsTouch = A.mode === \"touch\", this.any1DSymbologyEnabled = this.isAny1DSymbologyEnabled(A), this.any2DSymbologyEnabled = this.isAny2DSymbologyEnabled(A), o._debug && console.warn(\"Debug mode enabled. Do not use in production.\"), this.scanEventTracker = new LA(), this.configuration = A;\n }\n initialize() {\n o._debug && console.debug(`Initializing BarcodeReader (device capabilities: ${JSON.stringify(o.browserCapabilities)})...`), B.currentReader !== void 0 && console.warn(\"A current BarcodeReader already exists (HINT: missing destroy() call)\");\n let A = new HA(this.hostElement);\n this.errorOverlay = A;\n let I = this.hostElement.getBoundingClientRect(),\n g = x(I.width, I.height);\n o._debug && console.debug(\"Viewport size (CSS pixels)\", g);\n let C = {\n resolution: \"hd\"\n },\n Q = this.configuration.frameSource || C,\n E = new RA(Q, this.hostElement),\n a = E.initialize().then(e => {\n let t = e.getImageSize();\n return o._debug && console.debug(`SDK initialization: FrameSource initialized with size ${t.width}x${t.height} px`), e.endedHandler = () => this.handleFrameSourceEnded(), e.mutedHandler = S => this.handleFrameSourceMuted(S), this.videoFrameSource = e, new KA(this.configuration.engine).init();\n }).then(e => {\n var h;\n o._debug && console.debug(\"SDK initialization: Engine initialized\"), this.engine = e;\n let t = this.getDefaultRegionOfInterest(),\n c = (h = this.configuration.locator) == null ? void 0 : h.impl,\n S;\n return c === \"fallback\" || !o.browserCapabilities.supportsWebGL2 ? S = new FA(this.configuration.locator, t, E, g) : S = new yA(this.configuration.locator, t, E, g), S.initialize();\n }).then(e => {\n o._debug && console.debug(\"SDK initialization: Locator initialized\"), this.locator = e;\n let t = e.getRegionOfInterest();\n this.engine.prepareBuffer(t.size, this.videoFrameSource.getNumberOfChannels());\n let c = this.configuration.overlay || {};\n return this.overlay = new YA(c, this.hostElement, this.videoFrameSource, g, e.getRegionOfInterestSpec(), this.any1DSymbologyEnabled), this.modeIsTouch && (this.overlay.touchHandler = (S, h) => {\n this.onScanRequested(S, h);\n }), o._debug && (this.overlay.snapshotHandler = () => {\n this.snapshotRequested = !0;\n }), this.overlay.selectCameraHandler = S => {\n this.switchCamera(S);\n }, this.overlay.initialize();\n }).then(() => {\n o._debug && console.debug(\"SDK initialization: Overlay initialized\");\n let e = this.configuration.feedback || {};\n return this.feedback = new X(e), this.feedback;\n }).then(() => (o._debug && console.debug(\"SDK initialization: Feedback initialized\"), this.visibilityChangeListener = () => {\n o._debug && console.debug(`BarcodeReader visibility change: ${document.visibilityState}`), document.visibilityState === \"hidden\" ? this.onHidden() : document.visibilityState === \"visible\" && this.onVisible();\n }, document.addEventListener(\"visibilitychange\", this.visibilityChangeListener), this.state = 1, B.currentReader = this, o._debug && (console.debug(\"BarcodeReader initialization complete\"), o.dumpMemoryUsage(\"after-barcode-reader-initialization\")), this)).catch(e => {\n throw A.setError(e, R.t(\"action.reload\"), () => {\n document.location.reload();\n }), e instanceof i ? e : i.internalErrorWithCause(e);\n }).finally(() => {\n this.initializingPromise = void 0;\n });\n return this.initializingPromise = a, a;\n }\n start() {\n return this.state === 2 ? Promise.resolve() : this.state === 0 || this.state == 4 ? Promise.reject(i.internalErrorWithDetail(\"BarcodeReader is not initialized or already destroyed\")) : (this.state = 2, this.scheduleNextTick(), Promise.resolve());\n }\n tick(A) {\n if (this.state === 3 || this.state == 4) {\n o._debug && console.debug(`Stopped processing frames (state: ${this.state})`);\n return;\n }\n let [I, g, C] = this.engine.getBuffer(),\n Q = Math.round(A),\n E = new dA(Date.now(), Q, I, g, C),\n a = !0;\n this.modeIsTouch && (this.touchHint ? E.setTouchHint(this.touchHint.x, this.touchHint.y) : a = !1), this.videoFrameSource.isReady() || (a = !1);\n let e;\n a ? this.locator.locate(E).then(() => {\n if (this.state === 3 || this.state == 4) {\n o._debug && console.debug(`Stopped processing frames (state: ${this.state})`);\n return;\n }\n try {\n e = this.engine.processFrame(E);\n } catch (t) {\n if (t instanceof i) this.errorOverlay.setError(t, R.t(\"action.reload\"), () => {\n window.location.reload();\n });else {\n let c = typeof t == \"string\" ? t : \"unknown error (abort)\";\n this.errorOverlay.setError(i.internalErrorWithDetail(c), R.t(\"action.reload\"), () => {\n window.location.reload();\n });\n }\n this.onError && this.onError(t);\n return;\n }\n this.processEngineResultAndScheduleNextTick(E, e);\n }).catch(t => {\n this.errorOverlay.setError(t, R.t(\"action.reload\"), () => {\n window.location.reload();\n });\n }) : this.processEngineResultAndScheduleNextTick(E, void 0);\n }\n processEngineResultAndScheduleNextTick(A, I) {\n if (I && I.codeDetections.length > 0) {\n this.feedback.feedback();\n for (let g of I.codeDetections) this.scanEventTracker.addScanEvent(g.typeName, this.integration);\n this.detected && this.detected(I.codeDetections), this.videoFrameSource.onCodeScanned();\n }\n this.overlay.update(I), o._debug && this.overlay.updateDebug(A), this.scheduleNextTick();\n }\n stop() {\n if (this.state === 3) return Promise.resolve();\n if (this.state === 0 || this.state == 4) return Promise.reject(i.internalErrorWithDetail(\"BarcodeReader is not initialized or already destroyed\"));\n if (this.rxfRequestId !== 0) {\n if (this.supportsRVF) {\n let A = this.videoFrameSource.get();\n A && A.cancelVideoFrameCallback(this.rxfRequestId);\n } else cancelAnimationFrame(this.rxfRequestId);\n this.rxfRequestId = 0;\n }\n return this.state = 3, Promise.resolve();\n }\n destroy() {\n if (this.state === 4) return Promise.resolve();\n let A = () => {\n var I, g, C, Q, E;\n this.scanEventTracker.emitBeacon(), this.visibilityChangeListener !== void 0 && document.removeEventListener(\"visibilitychange\", this.visibilityChangeListener), this.state = 4, (I = this.errorOverlay) == null || I.destroy(), (g = this.overlay) == null || g.destroy(), (C = this.locator) == null || C.destroy(), (Q = this.videoFrameSource) == null || Q.destroy(), (E = this.engine) == null || E.destroy(), B.currentReader === this && (B.currentReader = void 0), o._debug && console.debug(\"BarcodeReader destroyed\");\n };\n return this.state === 0 && this.initializingPromise !== void 0 ? this.initializingPromise.then(() => {\n A();\n }) : (A(), Promise.resolve());\n }\n setVisible(A) {\n return this.state === 0 || this.state == 4 ? Promise.reject(i.internalErrorWithDetail(\"BarcodeReader is not initialized or already destroyed\")) : (this.hostElement.style.display = A ? \"block\" : \"none\", Promise.resolve());\n }\n getVisible() {\n return this.state === 0 || this.state == 4 ? !1 : this.hostElement.style.display !== \"none\";\n }\n scheduleNextTick() {\n this.supportsRVF && this.videoFrameSource.isReady() ? this.rxfRequestId = this.videoFrameSource.get().requestVideoFrameCallback(A => this.tick(A)) : this.rxfRequestId = requestAnimationFrame(A => this.tick(A));\n }\n onScanRequested(A, I) {\n this.touchHint = {\n x: A,\n y: I\n }, this.clearTouchHintTimer && (clearTimeout(this.clearTouchHintTimer), this.clearTouchHintTimer = void 0), this.clearTouchHintTimer = setTimeout(() => {\n this.touchHint = void 0, this.clearTouchHintTimer = void 0;\n }, 500);\n }\n onVisible() {\n setTimeout(() => {\n this.restartCameraAfterBecomingVisible();\n }, 250);\n }\n restartCameraAfterBecomingVisible() {\n return this.state === 2 || this.state === 1 ? this.videoFrameSource.restartIfLost().then(() => {\n o._debug && console.debug(\"Restarted video frame source after visibility change\"), this.errorOverlay.clearError();\n }).catch(A => {\n this.onError && this.onError(A), this.errorOverlay.setError(A, R.t(\"action.retry\"), () => this.restartCameraAfterBecomingVisible());\n }) : Promise.resolve();\n }\n onHidden() {\n this.scanEventTracker.emitBeacon(), (this.state === 2 || this.state === 1) && (this.videoFrameSource.stop(), o._debug && console.debug(\"Stopped video frame source after visibility change\"));\n }\n switchCamera(A) {\n this.videoFrameSource.selectCameraDevice(A).catch(I => {\n this.errorOverlay.setError(I, R.t(\"action.retry\"), () => {\n this.switchCamera(A);\n });\n });\n }\n isAny1DSymbologyEnabled(A) {\n var g;\n let I = (g = A.engine) == null ? void 0 : g.symbologies;\n if (I == null || I.length === 0) return !0;\n for (let C of I) {\n if (typeof C == \"string\" && iA(C)) return !0;\n if (typeof C == \"object\" && iA(C.name)) return !0;\n }\n return !1;\n }\n isAny2DSymbologyEnabled(A) {\n var g;\n let I = (g = A.engine) == null ? void 0 : g.symbologies;\n if (I == null || I.length === 0) return !0;\n for (let C of I) {\n if (typeof C == \"string\" && uA(C)) return !0;\n if (typeof C == \"object\" && uA(C.name)) return !0;\n }\n return !1;\n }\n getAndCheckHostElement(A) {\n let I;\n if (typeof A.selector == \"string\" ? I = document.querySelector(A.selector) : I = A.selector, I == null) throw i.configurationErrorWithDetail(\"Invalid host element, use selector matching single element or the element itself\", !0);\n if (getComputedStyle(I).position !== \"relative\") throw i.configurationErrorWithDetail(\"Host element must use position: relative\", !0);\n let g = I.getBoundingClientRect();\n if (g.width <= 0 || g.height <= 0) throw i.configurationErrorWithDetail(\"Host element has zero width or height\", !0);\n return I;\n }\n handleFrameSourceEnded() {\n let A = new i(\"error.cameraLost\");\n this.setErrorOnOverlayAfterCameraLoss(A);\n }\n handleFrameSourceMuted(A) {\n A ? this.handleFrameSourceEnded() : this.errorOverlay.clearError();\n }\n setErrorOnOverlayAfterCameraLoss(A) {\n this.state === 2 && this.errorOverlay.setError(A, R.t(\"action.resumeScanning\"), () => {\n this.errorOverlay.clearError(), this.restartCameraAfterBecomingVisible().catch(I => {\n this.setErrorOnOverlayAfterCameraLoss(I);\n });\n });\n }\n getDefaultRegionOfInterest() {\n return this.any1DSymbologyEnabled && !this.any2DSymbologyEnabled ? {\n left: .05,\n right: .05,\n top: .35,\n bottom: .35\n } : !this.any1DSymbologyEnabled && this.any2DSymbologyEnabled ? {\n left: .2,\n right: .2,\n top: .3,\n bottom: .3\n } : {\n left: .05,\n right: .05,\n top: .3,\n bottom: .3\n };\n }\n};\nvar TA = class B {\n static async scan(A) {\n var e, t, c, S;\n if (typeof HTMLDialogElement != \"function\") throw i.unfulfilledRequirementErrorWithDetail(\"HTML dialog element not supported\", !0);\n if (B._dlg !== void 0) throw i.internalErrorWithDetail(\"Another dialog instance already exists\");\n let {\n dlg: I,\n hostElem: g,\n titleElem: C,\n spinnerElem: Q,\n cancelButton: E\n } = B.buildDialog(A);\n C.innerText = (t = (e = A == null ? void 0 : A.labels) == null ? void 0 : e.title) != null ? t : R.t(\"action.scan\"), E.innerText = (S = (c = A == null ? void 0 : A.labels) == null ? void 0 : c.cancel) != null ? S : R.t(\"action.cancel\");\n let a = {\n selector: g,\n engine: {\n symbologies: A.symbologies\n },\n frameSource: {\n resolution: A.resolution\n },\n overlay: A.overlay,\n feedback: A.feedback\n };\n return new Promise((h, U) => {\n I.addEventListener(\"close\", () => I.remove());\n let H = async (k, q) => {\n if (k) try {\n await k.destroy();\n } catch {}\n I.close(), B._dlg = void 0, q instanceof i ? U(q) : h(q);\n };\n if (document.body.appendChild(I), B._dlg = I, typeof CSSStyleSheet == \"function\" && \"adoptedStyleSheets\" in document) {\n let k = new CSSStyleSheet();\n k.replaceSync(\"dialog#__strich_dlg::backdrop {background-color:rgba(0,0,0,0.6);}\"), document.adoptedStyleSheets.push(k), I.onclose = () => document.adoptedStyleSheets.pop();\n }\n I.showModal();\n let n = new oA(a);\n n.integration = \"popup\", I.addEventListener(\"cancel\", k => {\n k.preventDefault(), H(n, void 0);\n }), E.onclick = () => {\n E.disabled = !0, H(n, void 0);\n }, n.detected = k => {\n let q = !0;\n if (typeof A.detectionHandler == \"function\") try {\n q = A.detectionHandler(k);\n } catch {}\n q && H(n, k);\n }, E.disabled = !0, n.initialize().then(() => (E.disabled = !1, n.start())).catch(k => {\n H(n, k);\n }).finally(() => {\n Q.style.display = \"none\";\n });\n });\n }\n static buildDialog(A) {\n var t, c, S, h, U, H, n, k;\n let I = document.createElement(\"dialog\");\n I.id = \"__strich_dlg\", I.style.cssText = \"width:min(96vw, 1024px);max-width:min(96vw, 1024px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;margin:auto;padding:0;border:0;border-radius:8px;outline-style:none;background-color:transparent;\";\n let g = document.createElement(\"div\");\n g.style.cssText = \"height:100%;position:relative;\";\n let C = g.attachShadow({\n mode: \"open\"\n }),\n Q = (c = (t = A.style) == null ? void 0 : t.titleBackgroundColor) != null ? c : \"rgba(36,91,146,.9)\",\n E = (h = (S = A.style) == null ? void 0 : S.titleColor) != null ? h : \"rgb(236,237,237)\",\n a = (H = (U = A.style) == null ? void 0 : U.cancelButtonBackgroundColor) != null ? H : \"transparent\",\n e = (k = (n = A.style) == null ? void 0 : n.cancelButtonColor) != null ? k : \"rgb(236,237,237)\";\n return C.innerHTML = `\n
\n
\n
\n`, I.appendChild(g), {\n dlg: I,\n hostElem: C.querySelector(\".host\"),\n titleElem: C.querySelector(\".title\"),\n spinnerElem: C.querySelector(\".spinner\"),\n cancelButton: C.querySelector(\".cancel-button\")\n };\n }\n};\nexport { oA as BarcodeReader, TA as PopupScanner, i as SdkError, o as StrichSDK };","export const environment = {\r\n\tproduction: true,\r\n\tsiteKey: '6LctGkcjAAAAAJxVg-kJmeHKHMmWXRJTc_Z1-tVC',\r\n\tstrichLicenseKey: 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJmMmM1MWNiMC00YmQ2LTRjNzYtOTM4Ni1hNGM1ZTEzYTJhMzYiLCJpc3MiOiJzdHJpY2guaW8iLCJhdWQiOlsiaHR0cHM6Ly9hcHAuc2NoZWR1bGUyLml0IiwiaHR0cHM6Ly9kZW1vYXBwLnNjaGVkdWxlMi5pdCJdLCJpYXQiOjE3MTgyMTg1NjEsIm5iZiI6MTcxODIxODU2MSwiY2FwYWJpbGl0aWVzIjp7Im9mZmxpbmUiOnRydWUsImFuYWx5dGljc09wdE91dCI6dHJ1ZSwiY3VzdG9tT3ZlcmxheUxvZ28iOnRydWV9LCJ2ZXJzaW9uIjoxLCJleHAiOjE3NTA2MzY3OTl9.VRz6ZqTwPiUxJ4fwXQJ_zLqUO2Te6F090EergI7AbQbkwS2Wy6nDNV3h-Z0R2f8g_iUwJ6bdnmrD6vv4JYh8DA'\r\n};\r\n","import { AfterViewInit, Component, EventEmitter, HostListener, Input, NgZone, OnInit, Output } from '@angular/core';\r\nimport { BarcodeReader, CodeDetection, Configuration, SdkError, StrichSDK, SymbologyName } from \"@pixelverse/strichjs-sdk\";\r\nimport { Router } from '@angular/router';\r\n\r\nimport { environment } from '../../../environments/environment';\r\nimport { GlobalService } from '../services/global.service';\r\n\r\n@Component({\r\n selector: 'pcg-barcode-scanner-strich',\r\n templateUrl: './barcode-scanner-strich.component.html',\r\n styleUrls: ['./barcode-scanner-strich.component.scss'],\r\n standalone: false\r\n})\r\nexport class BarcodeScannerStrichComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() symbology: SymbologyName[] = ['datamatrix'];\r\n @Input() scanningBtnText = \"Start Scanning\";\r\n @Input() showResults = true;\r\n @Input() overrideSound = false;\r\n @Input() closeScanAfterScan = true;\r\n @Input() showHeader = true;\r\n @Input() height = \"18rem\"\r\n @Input() showCloseButton = true;\r\n @Input() isClosed = false;\r\n\r\n @Output() scanResult = new EventEmitter();\r\n @Output() barcodeReaderOutput = new EventEmitter();\r\n @Output() closeReader = new EventEmitter(this.isClosed);\r\n\r\n errorMessage?: string;\r\n\r\n busy = false;\r\n initialized = false;\r\n isScan = false;\r\n isMobile = false;\r\n isLoaded = false;\r\n\r\n codeDetection?: CodeDetection;\r\n barcodeReader?: BarcodeReader;\r\n configuration: Configuration;\r\n\r\n beepSuccess = new Audio();\r\n\r\n constructor(\r\n private ngZone: NgZone\r\n , public router: Router\r\n ) { }\r\n\r\n @HostListener('window:resize')\r\n onResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n ngOnInit() {\r\n this.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n this.setConfig();\r\n this.busy = true;\r\n if (!this.isLoaded) {\r\n StrichSDK.initialize(environment.strichLicenseKey)\r\n .then(() => { console.log('STRICH SDK initialized'); this.isLoaded = true; })\r\n .catch(err => { this.errorMessage = `Failed to initialize Strich SDK (Have you provided a license key?) ${err}`; })\r\n .finally(() => { this.busy = false; });\r\n } \r\n }\r\n\r\n ngAfterViewInit() { setTimeout(() => { this.startScanning(); }, 1000); }\r\n\r\n setConfig() {\r\n const basePath = document.getElementsByTagName('base')[0].href;\r\n this.configuration = {\r\n selector: '#scanner' // the CSS selector identifying the host element\r\n //@ts-ignore\r\n , debug: true\r\n , engine: {\r\n symbologies: this.symbology // restrict to the required symbologies\r\n , minScanlinesNeeded: 3\r\n , invertedCodes: true\r\n , duplicateInterval: 1000\r\n }\r\n , frameSource: { resolution: 'full-hd' } // full-hd is recommended for more challenging codes \r\n , overlay: {\r\n customLogoSrc: basePath + \"assets/images/logos/logo_small.png\"\r\n , showCameraSelector: true\r\n , showDetections: true\r\n , showFlashlight: true\r\n , showTargetingLine: true\r\n }\r\n , locator: {\r\n regionOfInterest: { // restrict active area to a horizontal bar in the center\r\n left: 0.05\r\n , right: 0.05\r\n , top: 0.35\r\n , bottom: 0.35\r\n }\r\n }\r\n , feedback: { // get audio and vibration feedback for scans \r\n audio: this.overrideSound === true ? false : true\r\n , vibration: true\r\n }\r\n };\r\n }\r\n\r\n removeCodeDetection(): void { this.codeDetection = undefined; }\r\n\r\n startScanning(): void {\r\n this.isScan = true;\r\n setTimeout(() => {\r\n\t\t\tif (!this.barcodeReader) { \r\n // BarcodeReader initialization\r\n try {\r\n const barcodeReader = new BarcodeReader(this.configuration);\r\n barcodeReader.initialize().then(result => {\r\n this.initialized = true;\r\n this.barcodeReader = result;\r\n this.barcodeReaderOutput.emit(this.barcodeReader);\r\n\r\n // register detection hook, run it in the Angular zone so change detection works\r\n this.barcodeReader.detected = (detections) => { \r\n this.ngZone.run(() => { \r\n this.codeDetection = detections[0]; \r\n this.processScanResult(this.codeDetection.data);\r\n }); \r\n };\r\n \r\n // start reading codes\r\n this.barcodeReader.start()\r\n .then(() => { })\r\n .catch(err => { this.errorMessage = `BarcodeReader failed to start: ${err}`; });\r\n })\r\n .catch(err => { this.errorMessage = `BarcodeReader failed to initialize: ${err}`; })\r\n .finally(() => { \r\n this.busy = false; \r\n this.router.events.subscribe(() => { this.closeScanning(); }); \r\n });\r\n } catch (err) {\r\n if (err instanceof SdkError) { this.errorMessage = err.message; } \r\n else { this.errorMessage = 'An unknown error occurred'; }\r\n }\r\n }\r\n\t\t}, 50); \r\n }\r\n\r\n closeScanning() {\r\n //this.beepSuccess?.remove();\r\n this.barcodeReader?.stop();\r\n this.barcodeReader?.destroy();\r\n this.barcodeReader = null!;\r\n this.removeCodeDetection();\r\n this.isScan = false;\r\n this.isLoaded = false;\r\n this.isClosed = true;\r\n this.closeReader.emit(this.isClosed);\r\n }\r\n\r\n processScanResult(str: string) {\r\n //if (this.overrideSound === true) { this.beepSuccess.play(); }\r\n this.scanResult.emit(str);\r\n if (this.closeScanAfterScan) {\r\n this.closeScanning();\r\n this.initialized = false;\r\n } else { this.barcodeReaderOutput.emit(this.barcodeReader); } \r\n }\r\n}\r\n","
\r\n
\r\n {{ errorMessage }}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{ codeDetection.typeName }}
\r\n
{{ codeDetection.data }}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
","import { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { SendgridUserBounceResponse } from \"app/shared/models/SendgridUserBounceResponse\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SendgridApiService {\r\n\r\n\tconstructor(private httpClient: HttpClient) {}\r\n\r\n\tgetIsBouncedResponse(\r\n\t\tusername: string\r\n\t): Observable {\r\n\t\tconst httpParams = new HttpParams().set(\"username\", username);\r\n\t\treturn this.httpClient.get(\r\n\t\t\t\"api/BouncedEmail/IsUserBounced\"\r\n\t\t\t, { params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tremoveBouncedUser(username: string) {\r\n\t\tconst httpParams = new HttpParams().set(\"username\", username);\r\n\t\treturn this.httpClient.get(\r\n\t\t\t\"api/BouncedEmail/RemoveFromBounceList\"\r\n\t\t\t, { params: httpParams }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SendgridApiService } from \"app/core/sendgrid-api/sendgrid-api.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { UserJsVm } from \"app/shared/generated/Administration/Models/Users/UserJsVm\";\r\nimport { SendgridBounceVm, SendgridUserBounceResponse } from 'app/shared/models/SendgridUserBounceResponse';\r\n\r\n@Component({\r\n selector: \"pcg-bounce-alert\",\r\n templateUrl: \"./bounce-alert.component.html\",\r\n styleUrls: [\"./bounce-alert.component.scss\"],\r\n standalone: false\r\n})\r\nexport class BounceAlertComponent implements OnInit, OnDestroy {\r\n\tuser: UserJsVm;\r\n\tbouncedEmailData: SendgridBounceVm;\r\n\tuserIsBounced: boolean = false;\r\n\terrorMsg: string;\r\n\tsubscriptions: Subscription = new Subscription();\r\n\r\n\tconstructor(\r\n\t\tprivate sendgridApiService: SendgridApiService,\r\n\t\tprivate securityService: SecurityService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.getActiveUser();\r\n\t\tif (this.user != null) {\r\n\t\t\tthis.getBouncedEmailMessages(this.user.email);\r\n\t\t}\r\n\t}\r\n\r\n\tgetBouncedEmailMessages(username: string) {\r\n\t\tthis.sendgridApiService\r\n\t\t\t.getIsBouncedResponse(username)\r\n\t\t\t.subscribe((response: SendgridUserBounceResponse) => {\r\n\t\t\t\tif (response.isBounced) {\r\n\t\t\t\t\tthis.userIsBounced = true;\r\n\t\t\t\t\tthis.bouncedEmailData = response.sendgridBounceInfo;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetActiveUser() {\r\n\t\tthis.subscriptions.add(\r\n\t\t\tthis.securityService.user$.subscribe((user) => {\r\n\t\t\t\tif (user) {\r\n\t\t\t\t\tthis.user = user;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tremoveFromBounceList() {\r\n\t\tthis.subscriptions.add(\r\n\t\t\tthis.sendgridApiService\r\n\t\t\t\t.removeBouncedUser(this.user.email)\r\n\t\t\t\t.subscribe((resp) => {\r\n\t\t\t\t\tif (resp === 204) {\r\n\t\t\t\t\t\tthis.userIsBounced = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.errorMsg =\r\n\t\t\t\t\t\t\t\"Unable to remove user from the bounce list at this time. Please try again later.\";\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscriptions.unsubscribe();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\tOur records indicate that your email address is currently on our bounce list and is not receiving emails\r\n\t\t\tfrom Homer.
\r\n\t\t\tReason: {{ bouncedEmailData.reason }}
\r\n\t\t\tPlease contact your company's network security team to whitelist HOMER@fdepcs.com to receive email from the\r\n\t\t\tsystem in the future.
\r\n\t\t\t{{ this.errorMsg }}\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, inject, OnInit, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { UserStateService } from 'app/state/user/user-state.service';\r\n\r\n@Component({\r\n selector: 'pcg-ci-workstation',\r\n templateUrl: './ci-workstation.component.html',\r\n styleUrls: ['./ci-workstation.component.scss'],\r\n standalone: false\r\n})\r\nexport class CiWorkstationComponent implements OnInit {\r\n\r\n @ViewChild('ciWorkstation', { static: false }) ciWorkstation: PcgSelectComponent;\r\n\r\n private userState = inject(UserStateService);\r\n readonly user = this.userState.user;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal\r\n , private httpClient: HttpClient\r\n , public ms: SystemMessageService\r\n ) { }\r\n\r\n ngOnInit() { this.updateSelect(); }\r\n\r\n updateSelect() {\r\n this.httpClient.get(`api/Select/CiActiveWorkstations`)\r\n .subscribe((items: SelectItem[]) => {\r\n this.ciWorkstation.items = items;\r\n this.ciWorkstation.value = this.user()?.ciWorkstationId;\r\n }\r\n );\r\n }\r\n\r\n workstationChange(workstation: number) {\r\n this.ms.getHttpObservable(this, `api/CIRepack/CiWorkstation/SetUserWorkstation/${workstation}`)\r\n .subscribe(msg => {\r\n if (msg.isSuccessful) {\r\n this.userState.updateUser(msg.value);\r\n this.updateSelect();\r\n this.activeModal.dismiss();\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n\t
Assigned CI Workstation
\r\n\t\r\n
\r\n\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\nimport { GenericOrderCommentListVm, GenericOrderCommentListVmFromFg } from '../../Models/GenericOrder/GenericOrderCommentListVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class GenericOrderCommentVm {\r\n\tcommentId: number;\r\n\torderId: number;\r\n\tcomment?: string;\r\n\tcommentorInfo?: string;\r\n\tcommentDateTime: Date;\r\n\tstrCommentDateTime?: string;\r\n\tstrTimeAgo?: string;\r\n\tcommentList?: GenericOrderCommentListVm[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'commentId': new UntypedFormControl(0, [...(validators['commentId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'orderId': new UntypedFormControl(0, [...(validators['orderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'comment': new UntypedFormControl(null, [...(validators['comment'] ?? []), ...[Validators.required]]),\r\n\t\t\t'commentorInfo': new UntypedFormControl(null, [...(validators['commentorInfo'] ?? []), ...[]]),\r\n\t\t\t'commentDateTime': new UntypedFormControl('', [...(validators['commentDateTime'] ?? []), ...[Validators.required]]),\r\n\t\t\t'strCommentDateTime': new UntypedFormControl(null, [...(validators['strCommentDateTime'] ?? []), ...[]]),\r\n\t\t\t'strTimeAgo': new UntypedFormControl(null, [...(validators['strTimeAgo'] ?? []), ...[]]),\r\n\t\t\t'commentList': new UntypedFormArray([])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['commentId', {\"orderId\":0,\"sortColumn\":\"commentId\",\"searchColumn\":\"commentId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment Id\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['orderId', {\"orderId\":1,\"sortColumn\":\"orderId\",\"searchColumn\":\"orderId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Order Id\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['comment', {\"orderId\":2,\"sortColumn\":\"comment\",\"searchColumn\":\"comment\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['commentorInfo', {\"orderId\":3,\"sortColumn\":\"commentorInfo\",\"searchColumn\":\"commentorInfo\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Commenter Info\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['commentDateTime', {\"orderId\":4,\"sortColumn\":\"commentDateTime\",\"searchColumn\":\"commentDateTime\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Comment Date\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): GenericOrderCommentVmFromFg {\r\n\t\treturn new GenericOrderCommentVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class GenericOrderCommentVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget commentId(): number {\r\n\t\treturn this.fg.get('commentId').value;\r\n\t}\r\n\tset commentId(val) {\r\n\t\tthis.fg.get('commentId').setValue(val);\r\n\t}\r\n\r\n\tget orderId(): number {\r\n\t\treturn this.fg.get('orderId').value;\r\n\t}\r\n\tset orderId(val) {\r\n\t\tthis.fg.get('orderId').setValue(val);\r\n\t}\r\n\r\n\tget comment(): string {\r\n\t\treturn this.fg.get('comment').value;\r\n\t}\r\n\tset comment(val) {\r\n\t\tthis.fg.get('comment').setValue(val);\r\n\t}\r\n\r\n\tget commentorInfo(): string {\r\n\t\treturn this.fg.get('commentorInfo').value;\r\n\t}\r\n\tset commentorInfo(val) {\r\n\t\tthis.fg.get('commentorInfo').setValue(val);\r\n\t}\r\n\r\n\tget commentDateTime(): Date {\r\n\t\treturn this.fg.get('commentDateTime').value;\r\n\t}\r\n\tset commentDateTime(val) {\r\n\t\tthis.fg.get('commentDateTime').setValue(val);\r\n\t}\r\n\r\n\tget strCommentDateTime(): string {\r\n\t\treturn this.fg.get('strCommentDateTime').value;\r\n\t}\r\n\tset strCommentDateTime(val) {\r\n\t\tthis.fg.get('strCommentDateTime').setValue(val);\r\n\t}\r\n\r\n\tget strTimeAgo(): string {\r\n\t\treturn this.fg.get('strTimeAgo').value;\r\n\t}\r\n\tset strTimeAgo(val) {\r\n\t\tthis.fg.get('strTimeAgo').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class MetabolicFormulaPatientInfoVm {\r\n\tpatientInfoId: number;\r\n\tpatientFirstName?: string;\r\n\tpatientLastName?: string;\r\n\tgender?: any;\r\n\tgenderStr?: string;\r\n\tdob?: string;\r\n\tparentGuardianFirstName?: string;\r\n\tparentGuardianLastName?: string;\r\n\tpatientAddress?: string;\r\n\tpatientAddress2?: string;\r\n\tpatientCity?: string;\r\n\tpatientState?: string;\r\n\tpatientStateId: number;\r\n\tpatientZip?: string;\r\n\tsmartyAddress?: any;\r\n\tsmartyAddressString?: string;\r\n\thasSmarty: boolean;\r\n\tpatientPhone?: string;\r\n\tpatientExt?: string;\r\n\tfriendlyId?: string;\r\n\tcanEdit?: boolean;\r\n\torderId: number;\r\n\tstepTitle?: string;\r\n\tstepDescription?: string;\r\n\tisActive: boolean;\r\n\tisComplete: boolean;\r\n\torderIndex: number;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'patientInfoId': new UntypedFormControl(0, [...(validators['patientInfoId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'patientFirstName': new UntypedFormControl(null, [...(validators['patientFirstName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'patientLastName': new UntypedFormControl(null, [...(validators['patientLastName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'gender': new UntypedFormControl(null, [...(validators['gender'] ?? []), ...[Validators.required]]),\r\n\t\t\t'genderStr': new UntypedFormControl(null, [...(validators['genderStr'] ?? []), ...[]]),\r\n\t\t\t'dob': new UntypedFormControl(null, [...(validators['dob'] ?? []), ...[Validators.required]]),\r\n\t\t\t'parentGuardianFirstName': new UntypedFormControl(null, [...(validators['parentGuardianFirstName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'parentGuardianLastName': new UntypedFormControl(null, [...(validators['parentGuardianLastName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'patientAddress': new UntypedFormControl(null, [...(validators['patientAddress'] ?? []), ...[]]),\r\n\t\t\t'patientAddress2': new UntypedFormControl(null, [...(validators['patientAddress2'] ?? []), ...[]]),\r\n\t\t\t'patientCity': new UntypedFormControl(null, [...(validators['patientCity'] ?? []), ...[]]),\r\n\t\t\t'patientState': new UntypedFormControl(null, [...(validators['patientState'] ?? []), ...[]]),\r\n\t\t\t'patientStateId': new UntypedFormControl(0, [...(validators['patientStateId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'patientZip': new UntypedFormControl(null, [...(validators['patientZip'] ?? []), ...[]]),\r\n\t\t\t'smartyAddress': new UntypedFormControl(null, [...(validators['smartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'smartyAddressString': new UntypedFormControl(null, [...(validators['smartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasSmarty': new UntypedFormControl(false, [...(validators['hasSmarty'] ?? []), ...[]]),\r\n\t\t\t'patientPhone': new UntypedFormControl(null, [...(validators['patientPhone'] ?? []), ...[Validators.required, Validators.maxLength(14)]]),\r\n\t\t\t'patientExt': new UntypedFormControl(null, [...(validators['patientExt'] ?? []), ...[Validators.maxLength(5)]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'canEdit': new UntypedFormControl(null, [...(validators['canEdit'] ?? []), ...[]]),\r\n\t\t\t'orderId': new UntypedFormControl(0, [...(validators['orderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'stepTitle': new UntypedFormControl(null, [...(validators['stepTitle'] ?? []), ...[]]),\r\n\t\t\t'stepDescription': new UntypedFormControl(null, [...(validators['stepDescription'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isComplete': new UntypedFormControl(false, [...(validators['isComplete'] ?? []), ...[]]),\r\n\t\t\t'orderIndex': new UntypedFormControl(0, [...(validators['orderIndex'] ?? []), ...[Validators.required]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): MetabolicFormulaPatientInfoVmFromFg {\r\n\t\treturn new MetabolicFormulaPatientInfoVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class MetabolicFormulaPatientInfoVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget patientInfoId(): number {\r\n\t\treturn this.fg.get('patientInfoId').value;\r\n\t}\r\n\tset patientInfoId(val) {\r\n\t\tthis.fg.get('patientInfoId').setValue(val);\r\n\t}\r\n\r\n\tget patientFirstName(): string {\r\n\t\treturn this.fg.get('patientFirstName').value;\r\n\t}\r\n\tset patientFirstName(val) {\r\n\t\tthis.fg.get('patientFirstName').setValue(val);\r\n\t}\r\n\r\n\tget patientLastName(): string {\r\n\t\treturn this.fg.get('patientLastName').value;\r\n\t}\r\n\tset patientLastName(val) {\r\n\t\tthis.fg.get('patientLastName').setValue(val);\r\n\t}\r\n\r\n\tget gender(): any {\r\n\t\treturn this.fg.get('gender').value;\r\n\t}\r\n\tset gender(val) {\r\n\t\tthis.fg.get('gender').setValue(val);\r\n\t}\r\n\r\n\tget genderStr(): string {\r\n\t\treturn this.fg.get('genderStr').value;\r\n\t}\r\n\tset genderStr(val) {\r\n\t\tthis.fg.get('genderStr').setValue(val);\r\n\t}\r\n\r\n\tget dob(): string {\r\n\t\treturn this.fg.get('dob').value;\r\n\t}\r\n\tset dob(val) {\r\n\t\tthis.fg.get('dob').setValue(val);\r\n\t}\r\n\r\n\tget parentGuardianFirstName(): string {\r\n\t\treturn this.fg.get('parentGuardianFirstName').value;\r\n\t}\r\n\tset parentGuardianFirstName(val) {\r\n\t\tthis.fg.get('parentGuardianFirstName').setValue(val);\r\n\t}\r\n\r\n\tget parentGuardianLastName(): string {\r\n\t\treturn this.fg.get('parentGuardianLastName').value;\r\n\t}\r\n\tset parentGuardianLastName(val) {\r\n\t\tthis.fg.get('parentGuardianLastName').setValue(val);\r\n\t}\r\n\r\n\tget patientAddress(): string {\r\n\t\treturn this.fg.get('patientAddress').value;\r\n\t}\r\n\tset patientAddress(val) {\r\n\t\tthis.fg.get('patientAddress').setValue(val);\r\n\t}\r\n\r\n\tget patientAddress2(): string {\r\n\t\treturn this.fg.get('patientAddress2').value;\r\n\t}\r\n\tset patientAddress2(val) {\r\n\t\tthis.fg.get('patientAddress2').setValue(val);\r\n\t}\r\n\r\n\tget patientCity(): string {\r\n\t\treturn this.fg.get('patientCity').value;\r\n\t}\r\n\tset patientCity(val) {\r\n\t\tthis.fg.get('patientCity').setValue(val);\r\n\t}\r\n\r\n\tget patientState(): string {\r\n\t\treturn this.fg.get('patientState').value;\r\n\t}\r\n\tset patientState(val) {\r\n\t\tthis.fg.get('patientState').setValue(val);\r\n\t}\r\n\r\n\tget patientStateId(): number {\r\n\t\treturn this.fg.get('patientStateId').value;\r\n\t}\r\n\tset patientStateId(val) {\r\n\t\tthis.fg.get('patientStateId').setValue(val);\r\n\t}\r\n\r\n\tget patientZip(): string {\r\n\t\treturn this.fg.get('patientZip').value;\r\n\t}\r\n\tset patientZip(val) {\r\n\t\tthis.fg.get('patientZip').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddress(): any {\r\n\t\treturn this.fg.get('smartyAddress').value;\r\n\t}\r\n\tset smartyAddress(val) {\r\n\t\tthis.fg.get('smartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddressString(): string {\r\n\t\treturn this.fg.get('smartyAddressString').value;\r\n\t}\r\n\tset smartyAddressString(val) {\r\n\t\tthis.fg.get('smartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasSmarty(): boolean {\r\n\t\treturn this.fg.get('hasSmarty').value;\r\n\t}\r\n\tset hasSmarty(val) {\r\n\t\tthis.fg.get('hasSmarty').setValue(val);\r\n\t}\r\n\r\n\tget patientPhone(): string {\r\n\t\treturn this.fg.get('patientPhone').value;\r\n\t}\r\n\tset patientPhone(val) {\r\n\t\tthis.fg.get('patientPhone').setValue(val);\r\n\t}\r\n\r\n\tget patientExt(): string {\r\n\t\treturn this.fg.get('patientExt').value;\r\n\t}\r\n\tset patientExt(val) {\r\n\t\tthis.fg.get('patientExt').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget canEdit(): boolean {\r\n\t\treturn this.fg.get('canEdit').value;\r\n\t}\r\n\tset canEdit(val) {\r\n\t\tthis.fg.get('canEdit').setValue(val);\r\n\t}\r\n\r\n\tget orderId(): number {\r\n\t\treturn this.fg.get('orderId').value;\r\n\t}\r\n\tset orderId(val) {\r\n\t\tthis.fg.get('orderId').setValue(val);\r\n\t}\r\n\r\n\tget stepTitle(): string {\r\n\t\treturn this.fg.get('stepTitle').value;\r\n\t}\r\n\tset stepTitle(val) {\r\n\t\tthis.fg.get('stepTitle').setValue(val);\r\n\t}\r\n\r\n\tget stepDescription(): string {\r\n\t\treturn this.fg.get('stepDescription').value;\r\n\t}\r\n\tset stepDescription(val) {\r\n\t\tthis.fg.get('stepDescription').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isComplete(): boolean {\r\n\t\treturn this.fg.get('isComplete').value;\r\n\t}\r\n\tset isComplete(val) {\r\n\t\tthis.fg.get('isComplete').setValue(val);\r\n\t}\r\n\r\n\tget orderIndex(): number {\r\n\t\treturn this.fg.get('orderIndex').value;\r\n\t}\r\n\tset orderIndex(val) {\r\n\t\tthis.fg.get('orderIndex').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class MetabolicFormulaPatientCareVm {\r\n\tpatientCareId: number;\r\n\tdiagnosis?: string;\r\n\tdiagnosisId?: number;\r\n\tcomments?: string;\r\n\tphysicianFirstName?: string;\r\n\tphysicianLastName?: string;\r\n\tlicenseNumber?: string;\r\n\tfriendlyId?: string;\r\n\tstepName?: string;\r\n\tcanEdit?: boolean;\r\n\torderId: number;\r\n\tstepTitle?: string;\r\n\tstepDescription?: string;\r\n\tisActive: boolean;\r\n\tisComplete: boolean;\r\n\torderIndex: number;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'patientCareId': new UntypedFormControl(0, [...(validators['patientCareId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'diagnosis': new UntypedFormControl(null, [...(validators['diagnosis'] ?? []), ...[Validators.maxLength(500), Validators.required]]),\r\n\t\t\t'diagnosisId': new UntypedFormControl(null, [...(validators['diagnosisId'] ?? []), ...[]]),\r\n\t\t\t'comments': new UntypedFormControl(null, [...(validators['comments'] ?? []), ...[Validators.maxLength(500)]]),\r\n\t\t\t'physicianFirstName': new UntypedFormControl(null, [...(validators['physicianFirstName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'physicianLastName': new UntypedFormControl(null, [...(validators['physicianLastName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'licenseNumber': new UntypedFormControl(null, [...(validators['licenseNumber'] ?? []), ...[Validators.required, Validators.maxLength(25)]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'stepName': new UntypedFormControl(null, [...(validators['stepName'] ?? []), ...[]]),\r\n\t\t\t'canEdit': new UntypedFormControl(null, [...(validators['canEdit'] ?? []), ...[]]),\r\n\t\t\t'orderId': new UntypedFormControl(0, [...(validators['orderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'stepTitle': new UntypedFormControl(null, [...(validators['stepTitle'] ?? []), ...[]]),\r\n\t\t\t'stepDescription': new UntypedFormControl(null, [...(validators['stepDescription'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isComplete': new UntypedFormControl(false, [...(validators['isComplete'] ?? []), ...[]]),\r\n\t\t\t'orderIndex': new UntypedFormControl(0, [...(validators['orderIndex'] ?? []), ...[Validators.required]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): MetabolicFormulaPatientCareVmFromFg {\r\n\t\treturn new MetabolicFormulaPatientCareVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class MetabolicFormulaPatientCareVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget patientCareId(): number {\r\n\t\treturn this.fg.get('patientCareId').value;\r\n\t}\r\n\tset patientCareId(val) {\r\n\t\tthis.fg.get('patientCareId').setValue(val);\r\n\t}\r\n\r\n\tget diagnosis(): string {\r\n\t\treturn this.fg.get('diagnosis').value;\r\n\t}\r\n\tset diagnosis(val) {\r\n\t\tthis.fg.get('diagnosis').setValue(val);\r\n\t}\r\n\r\n\tget diagnosisId(): number {\r\n\t\treturn this.fg.get('diagnosisId').value;\r\n\t}\r\n\tset diagnosisId(val) {\r\n\t\tthis.fg.get('diagnosisId').setValue(val);\r\n\t}\r\n\r\n\tget comments(): string {\r\n\t\treturn this.fg.get('comments').value;\r\n\t}\r\n\tset comments(val) {\r\n\t\tthis.fg.get('comments').setValue(val);\r\n\t}\r\n\r\n\tget physicianFirstName(): string {\r\n\t\treturn this.fg.get('physicianFirstName').value;\r\n\t}\r\n\tset physicianFirstName(val) {\r\n\t\tthis.fg.get('physicianFirstName').setValue(val);\r\n\t}\r\n\r\n\tget physicianLastName(): string {\r\n\t\treturn this.fg.get('physicianLastName').value;\r\n\t}\r\n\tset physicianLastName(val) {\r\n\t\tthis.fg.get('physicianLastName').setValue(val);\r\n\t}\r\n\r\n\tget licenseNumber(): string {\r\n\t\treturn this.fg.get('licenseNumber').value;\r\n\t}\r\n\tset licenseNumber(val) {\r\n\t\tthis.fg.get('licenseNumber').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget stepName(): string {\r\n\t\treturn this.fg.get('stepName').value;\r\n\t}\r\n\tset stepName(val) {\r\n\t\tthis.fg.get('stepName').setValue(val);\r\n\t}\r\n\r\n\tget canEdit(): boolean {\r\n\t\treturn this.fg.get('canEdit').value;\r\n\t}\r\n\tset canEdit(val) {\r\n\t\tthis.fg.get('canEdit').setValue(val);\r\n\t}\r\n\r\n\tget orderId(): number {\r\n\t\treturn this.fg.get('orderId').value;\r\n\t}\r\n\tset orderId(val) {\r\n\t\tthis.fg.get('orderId').setValue(val);\r\n\t}\r\n\r\n\tget stepTitle(): string {\r\n\t\treturn this.fg.get('stepTitle').value;\r\n\t}\r\n\tset stepTitle(val) {\r\n\t\tthis.fg.get('stepTitle').setValue(val);\r\n\t}\r\n\r\n\tget stepDescription(): string {\r\n\t\treturn this.fg.get('stepDescription').value;\r\n\t}\r\n\tset stepDescription(val) {\r\n\t\tthis.fg.get('stepDescription').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isComplete(): boolean {\r\n\t\treturn this.fg.get('isComplete').value;\r\n\t}\r\n\tset isComplete(val) {\r\n\t\tthis.fg.get('isComplete').setValue(val);\r\n\t}\r\n\r\n\tget orderIndex(): number {\r\n\t\treturn this.fg.get('orderIndex').value;\r\n\t}\r\n\tset orderIndex(val) {\r\n\t\tthis.fg.get('orderIndex').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class MetabolicFormulaInsuranceInfoVm {\r\n\tinsuranceInfoId: number;\r\n\tinsuranceType?: any;\r\n\tinsuranceTypeStr?: string;\r\n\tinsuranceName?: string;\r\n\tgroupNumber?: string;\r\n\tinsuranceNumber?: string;\r\n\tdateInsuranceClaim?: string;\r\n\tsingleClaimOutcome?: any;\r\n\tsingleClaimOutcomeStr?: string;\r\n\tsingleClaimOutcomeComment?: string;\r\n\tfriendlyId?: string;\r\n\tstepName?: string;\r\n\tcanEdit?: boolean;\r\n\torderId: number;\r\n\tstepTitle?: string;\r\n\tstepDescription?: string;\r\n\tisActive: boolean;\r\n\tisComplete: boolean;\r\n\torderIndex: number;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'insuranceInfoId': new UntypedFormControl(0, [...(validators['insuranceInfoId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'insuranceType': new UntypedFormControl(null, [...(validators['insuranceType'] ?? []), ...[Validators.required]]),\r\n\t\t\t'insuranceTypeStr': new UntypedFormControl(null, [...(validators['insuranceTypeStr'] ?? []), ...[]]),\r\n\t\t\t'insuranceName': new UntypedFormControl(null, [...(validators['insuranceName'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'groupNumber': new UntypedFormControl(null, [...(validators['groupNumber'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'insuranceNumber': new UntypedFormControl(null, [...(validators['insuranceNumber'] ?? []), ...[Validators.required, Validators.maxLength(50)]]),\r\n\t\t\t'dateInsuranceClaim': new UntypedFormControl(null, [...(validators['dateInsuranceClaim'] ?? []), ...[Validators.required]]),\r\n\t\t\t'singleClaimOutcome': new UntypedFormControl(null, [...(validators['singleClaimOutcome'] ?? []), ...[Validators.required]]),\r\n\t\t\t'singleClaimOutcomeStr': new UntypedFormControl(null, [...(validators['singleClaimOutcomeStr'] ?? []), ...[]]),\r\n\t\t\t'singleClaimOutcomeComment': new UntypedFormControl(null, [...(validators['singleClaimOutcomeComment'] ?? []), ...[Validators.required, Validators.maxLength(500)]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'stepName': new UntypedFormControl(null, [...(validators['stepName'] ?? []), ...[]]),\r\n\t\t\t'canEdit': new UntypedFormControl(null, [...(validators['canEdit'] ?? []), ...[]]),\r\n\t\t\t'orderId': new UntypedFormControl(0, [...(validators['orderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'stepTitle': new UntypedFormControl(null, [...(validators['stepTitle'] ?? []), ...[]]),\r\n\t\t\t'stepDescription': new UntypedFormControl(null, [...(validators['stepDescription'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isComplete': new UntypedFormControl(false, [...(validators['isComplete'] ?? []), ...[]]),\r\n\t\t\t'orderIndex': new UntypedFormControl(0, [...(validators['orderIndex'] ?? []), ...[Validators.required]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): MetabolicFormulaInsuranceInfoVmFromFg {\r\n\t\treturn new MetabolicFormulaInsuranceInfoVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class MetabolicFormulaInsuranceInfoVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget insuranceInfoId(): number {\r\n\t\treturn this.fg.get('insuranceInfoId').value;\r\n\t}\r\n\tset insuranceInfoId(val) {\r\n\t\tthis.fg.get('insuranceInfoId').setValue(val);\r\n\t}\r\n\r\n\tget insuranceType(): any {\r\n\t\treturn this.fg.get('insuranceType').value;\r\n\t}\r\n\tset insuranceType(val) {\r\n\t\tthis.fg.get('insuranceType').setValue(val);\r\n\t}\r\n\r\n\tget insuranceTypeStr(): string {\r\n\t\treturn this.fg.get('insuranceTypeStr').value;\r\n\t}\r\n\tset insuranceTypeStr(val) {\r\n\t\tthis.fg.get('insuranceTypeStr').setValue(val);\r\n\t}\r\n\r\n\tget insuranceName(): string {\r\n\t\treturn this.fg.get('insuranceName').value;\r\n\t}\r\n\tset insuranceName(val) {\r\n\t\tthis.fg.get('insuranceName').setValue(val);\r\n\t}\r\n\r\n\tget groupNumber(): string {\r\n\t\treturn this.fg.get('groupNumber').value;\r\n\t}\r\n\tset groupNumber(val) {\r\n\t\tthis.fg.get('groupNumber').setValue(val);\r\n\t}\r\n\r\n\tget insuranceNumber(): string {\r\n\t\treturn this.fg.get('insuranceNumber').value;\r\n\t}\r\n\tset insuranceNumber(val) {\r\n\t\tthis.fg.get('insuranceNumber').setValue(val);\r\n\t}\r\n\r\n\tget dateInsuranceClaim(): string {\r\n\t\treturn this.fg.get('dateInsuranceClaim').value;\r\n\t}\r\n\tset dateInsuranceClaim(val) {\r\n\t\tthis.fg.get('dateInsuranceClaim').setValue(val);\r\n\t}\r\n\r\n\tget singleClaimOutcome(): any {\r\n\t\treturn this.fg.get('singleClaimOutcome').value;\r\n\t}\r\n\tset singleClaimOutcome(val) {\r\n\t\tthis.fg.get('singleClaimOutcome').setValue(val);\r\n\t}\r\n\r\n\tget singleClaimOutcomeStr(): string {\r\n\t\treturn this.fg.get('singleClaimOutcomeStr').value;\r\n\t}\r\n\tset singleClaimOutcomeStr(val) {\r\n\t\tthis.fg.get('singleClaimOutcomeStr').setValue(val);\r\n\t}\r\n\r\n\tget singleClaimOutcomeComment(): string {\r\n\t\treturn this.fg.get('singleClaimOutcomeComment').value;\r\n\t}\r\n\tset singleClaimOutcomeComment(val) {\r\n\t\tthis.fg.get('singleClaimOutcomeComment').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget stepName(): string {\r\n\t\treturn this.fg.get('stepName').value;\r\n\t}\r\n\tset stepName(val) {\r\n\t\tthis.fg.get('stepName').setValue(val);\r\n\t}\r\n\r\n\tget canEdit(): boolean {\r\n\t\treturn this.fg.get('canEdit').value;\r\n\t}\r\n\tset canEdit(val) {\r\n\t\tthis.fg.get('canEdit').setValue(val);\r\n\t}\r\n\r\n\tget orderId(): number {\r\n\t\treturn this.fg.get('orderId').value;\r\n\t}\r\n\tset orderId(val) {\r\n\t\tthis.fg.get('orderId').setValue(val);\r\n\t}\r\n\r\n\tget stepTitle(): string {\r\n\t\treturn this.fg.get('stepTitle').value;\r\n\t}\r\n\tset stepTitle(val) {\r\n\t\tthis.fg.get('stepTitle').setValue(val);\r\n\t}\r\n\r\n\tget stepDescription(): string {\r\n\t\treturn this.fg.get('stepDescription').value;\r\n\t}\r\n\tset stepDescription(val) {\r\n\t\tthis.fg.get('stepDescription').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isComplete(): boolean {\r\n\t\treturn this.fg.get('isComplete').value;\r\n\t}\r\n\tset isComplete(val) {\r\n\t\tthis.fg.get('isComplete').setValue(val);\r\n\t}\r\n\r\n\tget orderIndex(): number {\r\n\t\treturn this.fg.get('orderIndex').value;\r\n\t}\r\n\tset orderIndex(val) {\r\n\t\tthis.fg.get('orderIndex').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\nimport { GenericOrderProductVm, GenericOrderProductVmFromFg } from '../../Models/GenericOrder/GenericOrderProductVm';\r\nimport { MetabolicFormulaPatientInfoVm, MetabolicFormulaPatientInfoVmFromFg } from '../../MetabolicFormula/Models/MetabolicFormulaPatientInfoVm';\r\nimport { MetabolicFormulaPatientCareVm, MetabolicFormulaPatientCareVmFromFg } from '../../MetabolicFormula/Models/MetabolicFormulaPatientCareVm';\r\nimport { MetabolicFormulaInsuranceInfoVm, MetabolicFormulaInsuranceInfoVmFromFg } from '../../MetabolicFormula/Models/MetabolicFormulaInsuranceInfoVm';\r\nimport { GenericOrderStepVm, GenericOrderStepVmFromFg } from '../../Models/GenericOrder/GenericOrderStepVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class GenericOrderDetailsVm {\r\n\tdateCreated?: Date;\r\n\tdateCreatedStr?: string;\r\n\tcreatedUserId?: number;\r\n\tcreatedUserName?: string;\r\n\tcreatedUserEmail?: string;\r\n\tfacilityId?: number;\r\n\tsenderFacilityName?: string;\r\n\tsenderFacilityAddress?: string;\r\n\tsenderFacilityCity?: string;\r\n\tsenderFacilityCounty?: string;\r\n\tsenderFacilityState?: string;\r\n\tsenderFacilityZip?: string;\r\n\tsenderPhone?: string;\r\n\tsenderPermitNumber?: string;\r\n\tfacilityName?: string;\r\n\tfacilityIdentifier?: string;\r\n\tfacilityAddress?: string;\r\n\tfacilityCity?: string;\r\n\tfacilityCounty?: string;\r\n\tfacilityState?: string;\r\n\tfacilityZip?: string;\r\n\tfacilityPhone?: string;\r\n\tphoneNumber?: string;\r\n\tdateOrdered?: Date;\r\n\tdateOrderedStr?: string;\r\n\torderedUserId?: number;\r\n\torderedUserName?: string;\r\n\torderedUserEmail?: string;\r\n\tdateReviewed?: Date;\r\n\tdateReviewedStr?: string;\r\n\treviewedUserId?: number;\r\n\treviewedUserName?: string;\r\n\treviewedUserEmail?: string;\r\n\tfriendlyId?: string;\r\n\tstepName?: string;\r\n\torderProductsVm?: GenericOrderProductVm[];\r\n\tmissing2FA: boolean;\r\n\tcanEdit?: boolean;\r\n\ttrackingLink?: string;\r\n\ttrackingNumber?: string;\r\n\tconfirmationNumber?: string;\r\n\tshipmentServiceType?: any;\r\n\tshipmentServiceTypeStr?: string;\r\n\tpatientInfoVm?: MetabolicFormulaPatientInfoVm;\r\n\tpatientCareVm?: MetabolicFormulaPatientCareVm;\r\n\tinsuranceInfoVm?: MetabolicFormulaInsuranceInfoVm;\r\n\tuniqueOrderIndex: number;\r\n\torderId: number;\r\n\torder?: any;\r\n\torderTitle?: string;\r\n\torderStatus?: any;\r\n\torderTabs?: any;\r\n\tavailableStatuses?: any;\r\n\torderSteps?: GenericOrderStepVm[];\r\n\tcommentCount: number;\r\n\tuploadCount: number;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'dateCreated': new UntypedFormControl(null, [...(validators['dateCreated'] ?? []), ...[]]),\r\n\t\t\t'dateCreatedStr': new UntypedFormControl(null, [...(validators['dateCreatedStr'] ?? []), ...[]]),\r\n\t\t\t'createdUserId': new UntypedFormControl(null, [...(validators['createdUserId'] ?? []), ...[]]),\r\n\t\t\t'createdUserName': new UntypedFormControl(null, [...(validators['createdUserName'] ?? []), ...[]]),\r\n\t\t\t'createdUserEmail': new UntypedFormControl(null, [...(validators['createdUserEmail'] ?? []), ...[]]),\r\n\t\t\t'facilityId': new UntypedFormControl(null, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'senderFacilityName': new UntypedFormControl(null, [...(validators['senderFacilityName'] ?? []), ...[]]),\r\n\t\t\t'senderFacilityAddress': new UntypedFormControl(null, [...(validators['senderFacilityAddress'] ?? []), ...[]]),\r\n\t\t\t'senderFacilityCity': new UntypedFormControl(null, [...(validators['senderFacilityCity'] ?? []), ...[]]),\r\n\t\t\t'senderFacilityCounty': new UntypedFormControl(null, [...(validators['senderFacilityCounty'] ?? []), ...[]]),\r\n\t\t\t'senderFacilityState': new UntypedFormControl(null, [...(validators['senderFacilityState'] ?? []), ...[]]),\r\n\t\t\t'senderFacilityZip': new UntypedFormControl(null, [...(validators['senderFacilityZip'] ?? []), ...[]]),\r\n\t\t\t'senderPhone': new UntypedFormControl(null, [...(validators['senderPhone'] ?? []), ...[]]),\r\n\t\t\t'senderPermitNumber': new UntypedFormControl(null, [...(validators['senderPermitNumber'] ?? []), ...[]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[]]),\r\n\t\t\t'facilityAddress': new UntypedFormControl(null, [...(validators['facilityAddress'] ?? []), ...[]]),\r\n\t\t\t'facilityCity': new UntypedFormControl(null, [...(validators['facilityCity'] ?? []), ...[]]),\r\n\t\t\t'facilityCounty': new UntypedFormControl(null, [...(validators['facilityCounty'] ?? []), ...[]]),\r\n\t\t\t'facilityState': new UntypedFormControl(null, [...(validators['facilityState'] ?? []), ...[]]),\r\n\t\t\t'facilityZip': new UntypedFormControl(null, [...(validators['facilityZip'] ?? []), ...[]]),\r\n\t\t\t'facilityPhone': new UntypedFormControl(null, [...(validators['facilityPhone'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.maxLength(10)]]),\r\n\t\t\t'dateOrdered': new UntypedFormControl(null, [...(validators['dateOrdered'] ?? []), ...[]]),\r\n\t\t\t'dateOrderedStr': new UntypedFormControl(null, [...(validators['dateOrderedStr'] ?? []), ...[]]),\r\n\t\t\t'orderedUserId': new UntypedFormControl(null, [...(validators['orderedUserId'] ?? []), ...[]]),\r\n\t\t\t'orderedUserName': new UntypedFormControl(null, [...(validators['orderedUserName'] ?? []), ...[]]),\r\n\t\t\t'orderedUserEmail': new UntypedFormControl(null, [...(validators['orderedUserEmail'] ?? []), ...[]]),\r\n\t\t\t'dateReviewed': new UntypedFormControl(null, [...(validators['dateReviewed'] ?? []), ...[]]),\r\n\t\t\t'dateReviewedStr': new UntypedFormControl(null, [...(validators['dateReviewedStr'] ?? []), ...[]]),\r\n\t\t\t'reviewedUserId': new UntypedFormControl(null, [...(validators['reviewedUserId'] ?? []), ...[]]),\r\n\t\t\t'reviewedUserName': new UntypedFormControl(null, [...(validators['reviewedUserName'] ?? []), ...[]]),\r\n\t\t\t'reviewedUserEmail': new UntypedFormControl(null, [...(validators['reviewedUserEmail'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'stepName': new UntypedFormControl(null, [...(validators['stepName'] ?? []), ...[]]),\r\n\t\t\t'orderProductsVm': new UntypedFormArray([]),\r\n\t\t\t'missing2FA': new UntypedFormControl(false, [...(validators['missing2FA'] ?? []), ...[]]),\r\n\t\t\t'canEdit': new UntypedFormControl(null, [...(validators['canEdit'] ?? []), ...[]]),\r\n\t\t\t'trackingLink': new UntypedFormControl(null, [...(validators['trackingLink'] ?? []), ...[]]),\r\n\t\t\t'trackingNumber': new UntypedFormControl(null, [...(validators['trackingNumber'] ?? []), ...[]]),\r\n\t\t\t'confirmationNumber': new UntypedFormControl(null, [...(validators['confirmationNumber'] ?? []), ...[]]),\r\n\t\t\t'shipmentServiceType': new UntypedFormControl(null, [...(validators['shipmentServiceType'] ?? []), ...[]]),\r\n\t\t\t'shipmentServiceTypeStr': new UntypedFormControl(null, [...(validators['shipmentServiceTypeStr'] ?? []), ...[]]),\r\n\t\t\t'patientInfoVm': MetabolicFormulaPatientInfoVm.Form,\r\n\t\t\t'patientCareVm': MetabolicFormulaPatientCareVm.Form,\r\n\t\t\t'insuranceInfoVm': MetabolicFormulaInsuranceInfoVm.Form,\r\n\t\t\t'uniqueOrderIndex': new UntypedFormControl(0, [...(validators['uniqueOrderIndex'] ?? []), ...[Validators.required]]),\r\n\t\t\t'orderId': new UntypedFormControl(0, [...(validators['orderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'order': new UntypedFormControl('', [...(validators['order'] ?? []), ...[Validators.required]]),\r\n\t\t\t'orderTitle': new UntypedFormControl(null, [...(validators['orderTitle'] ?? []), ...[]]),\r\n\t\t\t'orderStatus': new UntypedFormControl('', [...(validators['orderStatus'] ?? []), ...[Validators.required]]),\r\n\t\t\t'orderTabs': new UntypedFormControl([], [...(validators['orderTabs'] ?? []), ...[]]),\r\n\t\t\t'availableStatuses': new UntypedFormControl([], [...(validators['availableStatuses'] ?? []), ...[]]),\r\n\t\t\t'orderSteps': new UntypedFormArray([]),\r\n\t\t\t'commentCount': new UntypedFormControl(0, [...(validators['commentCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'uploadCount': new UntypedFormControl(0, [...(validators['uploadCount'] ?? []), ...[Validators.required]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): GenericOrderDetailsVmFromFg {\r\n\t\treturn new GenericOrderDetailsVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class GenericOrderDetailsVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget dateCreated(): Date {\r\n\t\treturn this.fg.get('dateCreated').value;\r\n\t}\r\n\tset dateCreated(val) {\r\n\t\tthis.fg.get('dateCreated').setValue(val);\r\n\t}\r\n\r\n\tget dateCreatedStr(): string {\r\n\t\treturn this.fg.get('dateCreatedStr').value;\r\n\t}\r\n\tset dateCreatedStr(val) {\r\n\t\tthis.fg.get('dateCreatedStr').setValue(val);\r\n\t}\r\n\r\n\tget createdUserId(): number {\r\n\t\treturn this.fg.get('createdUserId').value;\r\n\t}\r\n\tset createdUserId(val) {\r\n\t\tthis.fg.get('createdUserId').setValue(val);\r\n\t}\r\n\r\n\tget createdUserName(): string {\r\n\t\treturn this.fg.get('createdUserName').value;\r\n\t}\r\n\tset createdUserName(val) {\r\n\t\tthis.fg.get('createdUserName').setValue(val);\r\n\t}\r\n\r\n\tget createdUserEmail(): string {\r\n\t\treturn this.fg.get('createdUserEmail').value;\r\n\t}\r\n\tset createdUserEmail(val) {\r\n\t\tthis.fg.get('createdUserEmail').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityName(): string {\r\n\t\treturn this.fg.get('senderFacilityName').value;\r\n\t}\r\n\tset senderFacilityName(val) {\r\n\t\tthis.fg.get('senderFacilityName').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityAddress(): string {\r\n\t\treturn this.fg.get('senderFacilityAddress').value;\r\n\t}\r\n\tset senderFacilityAddress(val) {\r\n\t\tthis.fg.get('senderFacilityAddress').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityCity(): string {\r\n\t\treturn this.fg.get('senderFacilityCity').value;\r\n\t}\r\n\tset senderFacilityCity(val) {\r\n\t\tthis.fg.get('senderFacilityCity').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityCounty(): string {\r\n\t\treturn this.fg.get('senderFacilityCounty').value;\r\n\t}\r\n\tset senderFacilityCounty(val) {\r\n\t\tthis.fg.get('senderFacilityCounty').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityState(): string {\r\n\t\treturn this.fg.get('senderFacilityState').value;\r\n\t}\r\n\tset senderFacilityState(val) {\r\n\t\tthis.fg.get('senderFacilityState').setValue(val);\r\n\t}\r\n\r\n\tget senderFacilityZip(): string {\r\n\t\treturn this.fg.get('senderFacilityZip').value;\r\n\t}\r\n\tset senderFacilityZip(val) {\r\n\t\tthis.fg.get('senderFacilityZip').setValue(val);\r\n\t}\r\n\r\n\tget senderPhone(): string {\r\n\t\treturn this.fg.get('senderPhone').value;\r\n\t}\r\n\tset senderPhone(val) {\r\n\t\tthis.fg.get('senderPhone').setValue(val);\r\n\t}\r\n\r\n\tget senderPermitNumber(): string {\r\n\t\treturn this.fg.get('senderPermitNumber').value;\r\n\t}\r\n\tset senderPermitNumber(val) {\r\n\t\tthis.fg.get('senderPermitNumber').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget facilityAddress(): string {\r\n\t\treturn this.fg.get('facilityAddress').value;\r\n\t}\r\n\tset facilityAddress(val) {\r\n\t\tthis.fg.get('facilityAddress').setValue(val);\r\n\t}\r\n\r\n\tget facilityCity(): string {\r\n\t\treturn this.fg.get('facilityCity').value;\r\n\t}\r\n\tset facilityCity(val) {\r\n\t\tthis.fg.get('facilityCity').setValue(val);\r\n\t}\r\n\r\n\tget facilityCounty(): string {\r\n\t\treturn this.fg.get('facilityCounty').value;\r\n\t}\r\n\tset facilityCounty(val) {\r\n\t\tthis.fg.get('facilityCounty').setValue(val);\r\n\t}\r\n\r\n\tget facilityState(): string {\r\n\t\treturn this.fg.get('facilityState').value;\r\n\t}\r\n\tset facilityState(val) {\r\n\t\tthis.fg.get('facilityState').setValue(val);\r\n\t}\r\n\r\n\tget facilityZip(): string {\r\n\t\treturn this.fg.get('facilityZip').value;\r\n\t}\r\n\tset facilityZip(val) {\r\n\t\tthis.fg.get('facilityZip').setValue(val);\r\n\t}\r\n\r\n\tget facilityPhone(): string {\r\n\t\treturn this.fg.get('facilityPhone').value;\r\n\t}\r\n\tset facilityPhone(val) {\r\n\t\tthis.fg.get('facilityPhone').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget dateOrdered(): Date {\r\n\t\treturn this.fg.get('dateOrdered').value;\r\n\t}\r\n\tset dateOrdered(val) {\r\n\t\tthis.fg.get('dateOrdered').setValue(val);\r\n\t}\r\n\r\n\tget dateOrderedStr(): string {\r\n\t\treturn this.fg.get('dateOrderedStr').value;\r\n\t}\r\n\tset dateOrderedStr(val) {\r\n\t\tthis.fg.get('dateOrderedStr').setValue(val);\r\n\t}\r\n\r\n\tget orderedUserId(): number {\r\n\t\treturn this.fg.get('orderedUserId').value;\r\n\t}\r\n\tset orderedUserId(val) {\r\n\t\tthis.fg.get('orderedUserId').setValue(val);\r\n\t}\r\n\r\n\tget orderedUserName(): string {\r\n\t\treturn this.fg.get('orderedUserName').value;\r\n\t}\r\n\tset orderedUserName(val) {\r\n\t\tthis.fg.get('orderedUserName').setValue(val);\r\n\t}\r\n\r\n\tget orderedUserEmail(): string {\r\n\t\treturn this.fg.get('orderedUserEmail').value;\r\n\t}\r\n\tset orderedUserEmail(val) {\r\n\t\tthis.fg.get('orderedUserEmail').setValue(val);\r\n\t}\r\n\r\n\tget dateReviewed(): Date {\r\n\t\treturn this.fg.get('dateReviewed').value;\r\n\t}\r\n\tset dateReviewed(val) {\r\n\t\tthis.fg.get('dateReviewed').setValue(val);\r\n\t}\r\n\r\n\tget dateReviewedStr(): string {\r\n\t\treturn this.fg.get('dateReviewedStr').value;\r\n\t}\r\n\tset dateReviewedStr(val) {\r\n\t\tthis.fg.get('dateReviewedStr').setValue(val);\r\n\t}\r\n\r\n\tget reviewedUserId(): number {\r\n\t\treturn this.fg.get('reviewedUserId').value;\r\n\t}\r\n\tset reviewedUserId(val) {\r\n\t\tthis.fg.get('reviewedUserId').setValue(val);\r\n\t}\r\n\r\n\tget reviewedUserName(): string {\r\n\t\treturn this.fg.get('reviewedUserName').value;\r\n\t}\r\n\tset reviewedUserName(val) {\r\n\t\tthis.fg.get('reviewedUserName').setValue(val);\r\n\t}\r\n\r\n\tget reviewedUserEmail(): string {\r\n\t\treturn this.fg.get('reviewedUserEmail').value;\r\n\t}\r\n\tset reviewedUserEmail(val) {\r\n\t\tthis.fg.get('reviewedUserEmail').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget stepName(): string {\r\n\t\treturn this.fg.get('stepName').value;\r\n\t}\r\n\tset stepName(val) {\r\n\t\tthis.fg.get('stepName').setValue(val);\r\n\t}\r\n\r\n\tget missing2FA(): boolean {\r\n\t\treturn this.fg.get('missing2FA').value;\r\n\t}\r\n\tset missing2FA(val) {\r\n\t\tthis.fg.get('missing2FA').setValue(val);\r\n\t}\r\n\r\n\tget canEdit(): boolean {\r\n\t\treturn this.fg.get('canEdit').value;\r\n\t}\r\n\tset canEdit(val) {\r\n\t\tthis.fg.get('canEdit').setValue(val);\r\n\t}\r\n\r\n\tget trackingLink(): string {\r\n\t\treturn this.fg.get('trackingLink').value;\r\n\t}\r\n\tset trackingLink(val) {\r\n\t\tthis.fg.get('trackingLink').setValue(val);\r\n\t}\r\n\r\n\tget trackingNumber(): string {\r\n\t\treturn this.fg.get('trackingNumber').value;\r\n\t}\r\n\tset trackingNumber(val) {\r\n\t\tthis.fg.get('trackingNumber').setValue(val);\r\n\t}\r\n\r\n\tget confirmationNumber(): string {\r\n\t\treturn this.fg.get('confirmationNumber').value;\r\n\t}\r\n\tset confirmationNumber(val) {\r\n\t\tthis.fg.get('confirmationNumber').setValue(val);\r\n\t}\r\n\r\n\tget shipmentServiceType(): any {\r\n\t\treturn this.fg.get('shipmentServiceType').value;\r\n\t}\r\n\tset shipmentServiceType(val) {\r\n\t\tthis.fg.get('shipmentServiceType').setValue(val);\r\n\t}\r\n\r\n\tget shipmentServiceTypeStr(): string {\r\n\t\treturn this.fg.get('shipmentServiceTypeStr').value;\r\n\t}\r\n\tset shipmentServiceTypeStr(val) {\r\n\t\tthis.fg.get('shipmentServiceTypeStr').setValue(val);\r\n\t}\r\n\r\n\tget patientInfoVm(): MetabolicFormulaPatientInfoVmFromFg {\r\n\t\treturn new MetabolicFormulaPatientInfoVmFromFg(this.fg.get('patientInfoVm') as UntypedFormGroup);\r\n\t}\r\n\tset patientInfoVm(val) {\r\n\t\t(this.fg.get('patientInfoVm') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget patientCareVm(): MetabolicFormulaPatientCareVmFromFg {\r\n\t\treturn new MetabolicFormulaPatientCareVmFromFg(this.fg.get('patientCareVm') as UntypedFormGroup);\r\n\t}\r\n\tset patientCareVm(val) {\r\n\t\t(this.fg.get('patientCareVm') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget insuranceInfoVm(): MetabolicFormulaInsuranceInfoVmFromFg {\r\n\t\treturn new MetabolicFormulaInsuranceInfoVmFromFg(this.fg.get('insuranceInfoVm') as UntypedFormGroup);\r\n\t}\r\n\tset insuranceInfoVm(val) {\r\n\t\t(this.fg.get('insuranceInfoVm') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget uniqueOrderIndex(): number {\r\n\t\treturn this.fg.get('uniqueOrderIndex').value;\r\n\t}\r\n\tset uniqueOrderIndex(val) {\r\n\t\tthis.fg.get('uniqueOrderIndex').setValue(val);\r\n\t}\r\n\r\n\tget orderId(): number {\r\n\t\treturn this.fg.get('orderId').value;\r\n\t}\r\n\tset orderId(val) {\r\n\t\tthis.fg.get('orderId').setValue(val);\r\n\t}\r\n\r\n\tget order(): any {\r\n\t\treturn this.fg.get('order').value;\r\n\t}\r\n\tset order(val) {\r\n\t\tthis.fg.get('order').setValue(val);\r\n\t}\r\n\r\n\tget orderTitle(): string {\r\n\t\treturn this.fg.get('orderTitle').value;\r\n\t}\r\n\tset orderTitle(val) {\r\n\t\tthis.fg.get('orderTitle').setValue(val);\r\n\t}\r\n\r\n\tget orderStatus(): any {\r\n\t\treturn this.fg.get('orderStatus').value;\r\n\t}\r\n\tset orderStatus(val) {\r\n\t\tthis.fg.get('orderStatus').setValue(val);\r\n\t}\r\n\r\n\tget commentCount(): number {\r\n\t\treturn this.fg.get('commentCount').value;\r\n\t}\r\n\tset commentCount(val) {\r\n\t\tthis.fg.get('commentCount').setValue(val);\r\n\t}\r\n\r\n\tget uploadCount(): number {\r\n\t\treturn this.fg.get('uploadCount').value;\r\n\t}\r\n\tset uploadCount(val) {\r\n\t\tthis.fg.get('uploadCount').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\nimport { CiOrderJobVm, CiOrderJobVmFromFg } from '../../../CIRepack/Models/CiRepackOrderJobs/CiOrderJobVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class CiOrderInfoVm {\r\n\tciOrderId: number;\r\n\tciFacility?: any;\r\n\tfacilityId: number;\r\n\tpfsFacilityId?: number;\r\n\tciOrderStatus?: any;\r\n\tciOrderStatusString?: string;\r\n\tcreateOrderStep?: any;\r\n\tcreateOrderStepString?: string;\r\n\torderNumber?: string;\r\n\torderDateStr?: string;\r\n\torderDate: Date;\r\n\tcreatedByUser?: string;\r\n\tcreatedByUserEmail?: string;\r\n\tcreatedUserId: number;\r\n\tfacility?: string;\r\n\tfacilityAddress?: string;\r\n\tfacilityCity?: string;\r\n\tfacilityState?: string;\r\n\tfacilityZip?: string;\r\n\tfacilityIdentifier?: string;\r\n\tpermit50?: string;\r\n\tlicenseNumber?: string;\r\n\tfriendlyId?: string;\r\n\tcommentCount: number;\r\n\tshipSmartyAddress?: string;\r\n\tallJobsCompleted: boolean;\r\n\tavailableStatuses?: any;\r\n\treceivedStatuses?: any;\r\n\tpermitNumber?: string;\r\n\tpfsCiOrderId?: number;\r\n\tproductsCount: number;\r\n\tbottlesCount: number;\r\n\tproductsReceivedCount: number;\r\n\tbottlesReceivedCount: number;\r\n\tproducts?: any;\r\n\tciOrderJobs?: CiOrderJobVm[];\r\n\tinvoiceSecurityStamp?: string;\r\n\tcanGenerateCiInvoices: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'ciOrderId': new UntypedFormControl(0, [...(validators['ciOrderId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ciFacility': new UntypedFormControl(null, [...(validators['ciFacility'] ?? []), ...[]]),\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'pfsFacilityId': new UntypedFormControl(null, [...(validators['pfsFacilityId'] ?? []), ...[]]),\r\n\t\t\t'ciOrderStatus': new UntypedFormControl('', [...(validators['ciOrderStatus'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ciOrderStatusString': new UntypedFormControl(null, [...(validators['ciOrderStatusString'] ?? []), ...[]]),\r\n\t\t\t'createOrderStep': new UntypedFormControl('', [...(validators['createOrderStep'] ?? []), ...[Validators.required]]),\r\n\t\t\t'createOrderStepString': new UntypedFormControl(null, [...(validators['createOrderStepString'] ?? []), ...[]]),\r\n\t\t\t'orderNumber': new UntypedFormControl(null, [...(validators['orderNumber'] ?? []), ...[]]),\r\n\t\t\t'orderDateStr': new UntypedFormControl(null, [...(validators['orderDateStr'] ?? []), ...[]]),\r\n\t\t\t'orderDate': new UntypedFormControl('', [...(validators['orderDate'] ?? []), ...[Validators.required]]),\r\n\t\t\t'createdByUser': new UntypedFormControl(null, [...(validators['createdByUser'] ?? []), ...[]]),\r\n\t\t\t'createdByUserEmail': new UntypedFormControl(null, [...(validators['createdByUserEmail'] ?? []), ...[]]),\r\n\t\t\t'createdUserId': new UntypedFormControl(0, [...(validators['createdUserId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facility': new UntypedFormControl(null, [...(validators['facility'] ?? []), ...[]]),\r\n\t\t\t'facilityAddress': new UntypedFormControl(null, [...(validators['facilityAddress'] ?? []), ...[]]),\r\n\t\t\t'facilityCity': new UntypedFormControl(null, [...(validators['facilityCity'] ?? []), ...[]]),\r\n\t\t\t'facilityState': new UntypedFormControl(null, [...(validators['facilityState'] ?? []), ...[]]),\r\n\t\t\t'facilityZip': new UntypedFormControl(null, [...(validators['facilityZip'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[]]),\r\n\t\t\t'permit50': new UntypedFormControl(null, [...(validators['permit50'] ?? []), ...[]]),\r\n\t\t\t'licenseNumber': new UntypedFormControl(null, [...(validators['licenseNumber'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'commentCount': new UntypedFormControl(0, [...(validators['commentCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'shipSmartyAddress': new UntypedFormControl(null, [...(validators['shipSmartyAddress'] ?? []), ...[]]),\r\n\t\t\t'allJobsCompleted': new UntypedFormControl(false, [...(validators['allJobsCompleted'] ?? []), ...[]]),\r\n\t\t\t'availableStatuses': new UntypedFormControl([], [...(validators['availableStatuses'] ?? []), ...[]]),\r\n\t\t\t'receivedStatuses': new UntypedFormControl([], [...(validators['receivedStatuses'] ?? []), ...[]]),\r\n\t\t\t'permitNumber': new UntypedFormControl(null, [...(validators['permitNumber'] ?? []), ...[]]),\r\n\t\t\t'pfsCiOrderId': new UntypedFormControl(null, [...(validators['pfsCiOrderId'] ?? []), ...[]]),\r\n\t\t\t'productsCount': new UntypedFormControl(0, [...(validators['productsCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'bottlesCount': new UntypedFormControl(0, [...(validators['bottlesCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'productsReceivedCount': new UntypedFormControl(0, [...(validators['productsReceivedCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'bottlesReceivedCount': new UntypedFormControl(0, [...(validators['bottlesReceivedCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'products': new UntypedFormControl([], [...(validators['products'] ?? []), ...[]]),\r\n\t\t\t'ciOrderJobs': new UntypedFormArray([]),\r\n\t\t\t'invoiceSecurityStamp': new UntypedFormControl(null, [...(validators['invoiceSecurityStamp'] ?? []), ...[]]),\r\n\t\t\t'canGenerateCiInvoices': new UntypedFormControl(false, [...(validators['canGenerateCiInvoices'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): CiOrderInfoVmFromFg {\r\n\t\treturn new CiOrderInfoVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class CiOrderInfoVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget ciOrderId(): number {\r\n\t\treturn this.fg.get('ciOrderId').value;\r\n\t}\r\n\tset ciOrderId(val) {\r\n\t\tthis.fg.get('ciOrderId').setValue(val);\r\n\t}\r\n\r\n\tget ciFacility(): any {\r\n\t\treturn this.fg.get('ciFacility').value;\r\n\t}\r\n\tset ciFacility(val) {\r\n\t\tthis.fg.get('ciFacility').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget pfsFacilityId(): number {\r\n\t\treturn this.fg.get('pfsFacilityId').value;\r\n\t}\r\n\tset pfsFacilityId(val) {\r\n\t\tthis.fg.get('pfsFacilityId').setValue(val);\r\n\t}\r\n\r\n\tget ciOrderStatus(): any {\r\n\t\treturn this.fg.get('ciOrderStatus').value;\r\n\t}\r\n\tset ciOrderStatus(val) {\r\n\t\tthis.fg.get('ciOrderStatus').setValue(val);\r\n\t}\r\n\r\n\tget ciOrderStatusString(): string {\r\n\t\treturn this.fg.get('ciOrderStatusString').value;\r\n\t}\r\n\tset ciOrderStatusString(val) {\r\n\t\tthis.fg.get('ciOrderStatusString').setValue(val);\r\n\t}\r\n\r\n\tget createOrderStep(): any {\r\n\t\treturn this.fg.get('createOrderStep').value;\r\n\t}\r\n\tset createOrderStep(val) {\r\n\t\tthis.fg.get('createOrderStep').setValue(val);\r\n\t}\r\n\r\n\tget createOrderStepString(): string {\r\n\t\treturn this.fg.get('createOrderStepString').value;\r\n\t}\r\n\tset createOrderStepString(val) {\r\n\t\tthis.fg.get('createOrderStepString').setValue(val);\r\n\t}\r\n\r\n\tget orderNumber(): string {\r\n\t\treturn this.fg.get('orderNumber').value;\r\n\t}\r\n\tset orderNumber(val) {\r\n\t\tthis.fg.get('orderNumber').setValue(val);\r\n\t}\r\n\r\n\tget orderDateStr(): string {\r\n\t\treturn this.fg.get('orderDateStr').value;\r\n\t}\r\n\tset orderDateStr(val) {\r\n\t\tthis.fg.get('orderDateStr').setValue(val);\r\n\t}\r\n\r\n\tget orderDate(): Date {\r\n\t\treturn this.fg.get('orderDate').value;\r\n\t}\r\n\tset orderDate(val) {\r\n\t\tthis.fg.get('orderDate').setValue(val);\r\n\t}\r\n\r\n\tget createdByUser(): string {\r\n\t\treturn this.fg.get('createdByUser').value;\r\n\t}\r\n\tset createdByUser(val) {\r\n\t\tthis.fg.get('createdByUser').setValue(val);\r\n\t}\r\n\r\n\tget createdByUserEmail(): string {\r\n\t\treturn this.fg.get('createdByUserEmail').value;\r\n\t}\r\n\tset createdByUserEmail(val) {\r\n\t\tthis.fg.get('createdByUserEmail').setValue(val);\r\n\t}\r\n\r\n\tget createdUserId(): number {\r\n\t\treturn this.fg.get('createdUserId').value;\r\n\t}\r\n\tset createdUserId(val) {\r\n\t\tthis.fg.get('createdUserId').setValue(val);\r\n\t}\r\n\r\n\tget facility(): string {\r\n\t\treturn this.fg.get('facility').value;\r\n\t}\r\n\tset facility(val) {\r\n\t\tthis.fg.get('facility').setValue(val);\r\n\t}\r\n\r\n\tget facilityAddress(): string {\r\n\t\treturn this.fg.get('facilityAddress').value;\r\n\t}\r\n\tset facilityAddress(val) {\r\n\t\tthis.fg.get('facilityAddress').setValue(val);\r\n\t}\r\n\r\n\tget facilityCity(): string {\r\n\t\treturn this.fg.get('facilityCity').value;\r\n\t}\r\n\tset facilityCity(val) {\r\n\t\tthis.fg.get('facilityCity').setValue(val);\r\n\t}\r\n\r\n\tget facilityState(): string {\r\n\t\treturn this.fg.get('facilityState').value;\r\n\t}\r\n\tset facilityState(val) {\r\n\t\tthis.fg.get('facilityState').setValue(val);\r\n\t}\r\n\r\n\tget facilityZip(): string {\r\n\t\treturn this.fg.get('facilityZip').value;\r\n\t}\r\n\tset facilityZip(val) {\r\n\t\tthis.fg.get('facilityZip').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget permit50(): string {\r\n\t\treturn this.fg.get('permit50').value;\r\n\t}\r\n\tset permit50(val) {\r\n\t\tthis.fg.get('permit50').setValue(val);\r\n\t}\r\n\r\n\tget licenseNumber(): string {\r\n\t\treturn this.fg.get('licenseNumber').value;\r\n\t}\r\n\tset licenseNumber(val) {\r\n\t\tthis.fg.get('licenseNumber').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget commentCount(): number {\r\n\t\treturn this.fg.get('commentCount').value;\r\n\t}\r\n\tset commentCount(val) {\r\n\t\tthis.fg.get('commentCount').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddress(): string {\r\n\t\treturn this.fg.get('shipSmartyAddress').value;\r\n\t}\r\n\tset shipSmartyAddress(val) {\r\n\t\tthis.fg.get('shipSmartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget allJobsCompleted(): boolean {\r\n\t\treturn this.fg.get('allJobsCompleted').value;\r\n\t}\r\n\tset allJobsCompleted(val) {\r\n\t\tthis.fg.get('allJobsCompleted').setValue(val);\r\n\t}\r\n\r\n\tget permitNumber(): string {\r\n\t\treturn this.fg.get('permitNumber').value;\r\n\t}\r\n\tset permitNumber(val) {\r\n\t\tthis.fg.get('permitNumber').setValue(val);\r\n\t}\r\n\r\n\tget pfsCiOrderId(): number {\r\n\t\treturn this.fg.get('pfsCiOrderId').value;\r\n\t}\r\n\tset pfsCiOrderId(val) {\r\n\t\tthis.fg.get('pfsCiOrderId').setValue(val);\r\n\t}\r\n\r\n\tget productsCount(): number {\r\n\t\treturn this.fg.get('productsCount').value;\r\n\t}\r\n\tset productsCount(val) {\r\n\t\tthis.fg.get('productsCount').setValue(val);\r\n\t}\r\n\r\n\tget bottlesCount(): number {\r\n\t\treturn this.fg.get('bottlesCount').value;\r\n\t}\r\n\tset bottlesCount(val) {\r\n\t\tthis.fg.get('bottlesCount').setValue(val);\r\n\t}\r\n\r\n\tget productsReceivedCount(): number {\r\n\t\treturn this.fg.get('productsReceivedCount').value;\r\n\t}\r\n\tset productsReceivedCount(val) {\r\n\t\tthis.fg.get('productsReceivedCount').setValue(val);\r\n\t}\r\n\r\n\tget bottlesReceivedCount(): number {\r\n\t\treturn this.fg.get('bottlesReceivedCount').value;\r\n\t}\r\n\tset bottlesReceivedCount(val) {\r\n\t\tthis.fg.get('bottlesReceivedCount').setValue(val);\r\n\t}\r\n\r\n\tget invoiceSecurityStamp(): string {\r\n\t\treturn this.fg.get('invoiceSecurityStamp').value;\r\n\t}\r\n\tset invoiceSecurityStamp(val) {\r\n\t\tthis.fg.get('invoiceSecurityStamp').setValue(val);\r\n\t}\r\n\r\n\tget canGenerateCiInvoices(): boolean {\r\n\t\treturn this.fg.get('canGenerateCiInvoices').value;\r\n\t}\r\n\tset canGenerateCiInvoices(val) {\r\n\t\tthis.fg.get('canGenerateCiInvoices').setValue(val);\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, OnDestroy, Output, EventEmitter } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { GenericOrderCommentVm } from 'app/shared/generated/Models/GenericOrder/GenericOrderCommentVm';\r\nimport { GenericOrderDetailsVm } from 'app/shared/generated/Models/GenericOrder/GenericOrderDetailsVm';\r\nimport { CiOrderInfoVm } from 'app/shared/generated/CIRepack/Models/CiRepackOrder/CiOrderInfoVm';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { ChatTypeEnum } from 'app/core/enums/generated/ChatTypeEnum';\r\n\r\n@Component({\r\n selector: 'pcg-shared-comments-modal',\r\n templateUrl: './comments-modal.component.html',\r\n styleUrls: ['./comments-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class SharedCommentsModalComponent implements OnInit, OnDestroy {\r\n\r\n @Input() orderId: number;\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() modal: any;\r\n @Input() GenericOrder: GenericOrderDetailsVm = new GenericOrderDetailsVm();\r\n\t@Input() CiOrder: CiOrderInfoVm = new CiOrderInfoVm();\r\n @Output() updateCommentCount = new EventEmitter();\r\n\r\n\tuser: UserJsVm;\r\n\tformGroup = GenericOrderCommentVm.Form;\r\n \tcanEdit: boolean;\r\n\tsubscriptions = new Subscription();\r\n\tarea: string; \r\n controller: string; \r\n securityString: string; \r\n\tisMetabolic: boolean=false;\r\n chatType: ChatTypeEnum;\r\n \r\n constructor(private sec: SecurityService) { }\r\n\r\n ngOnInit() {\r\n this.subscriptions.add(this.sec.user$.subscribe(user => { this.user = user; }));\r\n if (this.businessArea === BusinessAreaEnum.CI) {\r\n\t\t\tthis.canEdit = true;\r\n\t\t\tthis.area = 'CIRepack';\r\n\t\t\tthis.controller = 'CiOrder';\r\n this.chatType = ChatTypeEnum.CiOrderComments;\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.MetabolicFormula) {\r\n\t\t\tthis.area = \"MetabolicFormula\";\r\n this.controller = 'MetabolicFormula';\r\n this.securityString = \"Pku\";\r\n\t\t\tthis.isMetabolic=true;\r\n this.chatType = ChatTypeEnum.PkuComments;\r\n\t\t\tthis.canEdit = this.sec.hasModuleAccess(\r\n\t\t\t\t[ BusinessAreaEnum.MetabolicFormula ]\r\n\t\t\t\t, SecurityService.setMinRole(PermissionRole.User)\r\n\t\t\t);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.SysInv) {\r\n\t\t\tthis.area = \"SysInv\";\r\n this.controller = 'SysInvForm';\r\n this.chatType = ChatTypeEnum.SysInvOrders;\r\n\t\t\tthis.canEdit = this.sec.hasModuleAccess(\r\n\t\t\t\t[ BusinessAreaEnum.SysInv ]\r\n\t\t\t\t, SecurityService.setMinRole(PermissionRole.User)\r\n\t\t\t);\r\n\t\t}\t\t\r\n\t}\r\n\r\n\tngOnDestroy() { this.subscriptions.unsubscribe(); }\r\n}\r\n","
\r\n
Comments
\r\n \r\n
\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditFacilityVm {\r\n\tfacilityId: number;\r\n\tfacilityName?: string;\r\n\tfacilityIdentifier?: string;\r\n\torganizationId?: number;\r\n\torganizationName?: string;\r\n\tcountyId?: number;\r\n\tcountyName?: string;\r\n\tsmartyAddress?: any;\r\n\tsmartyAddressString?: string;\r\n\thasSmarty: boolean;\r\n\tstateAbr?: string;\r\n\tphoneNumber?: string;\r\n\tdauCode?: string;\r\n\tisActive: boolean;\r\n\tisSameAddress: boolean;\r\n\tisIcqParticipant: boolean;\r\n\tshipFacilityName?: string;\r\n\tshipSmartyAddress?: any;\r\n\tshipSmartyAddressString?: string;\r\n\thasShipSmarty: boolean;\r\n\tshipStateAbr?: string;\r\n\tisShipAddressValidated: boolean;\r\n\tfriendlyId?: string;\r\n\tgln?: string;\r\n\tmedicalDirectorId?: number;\r\n\tmedicalDirectorName?: string;\r\n\tmedicalDirectorLicense?: string;\r\n\tmedicalDirectorExpDate?: string;\r\n\tpfsFacilityId?: number;\r\n\tfacilityType?: string;\r\n\tisBPHP: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[Validators.required, Validators.maxLength(20)]]),\r\n\t\t\t'organizationId': new UntypedFormControl(null, [...(validators['organizationId'] ?? []), ...[]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[]]),\r\n\t\t\t'countyId': new UntypedFormControl(null, [...(validators['countyId'] ?? []), ...[]]),\r\n\t\t\t'countyName': new UntypedFormControl(null, [...(validators['countyName'] ?? []), ...[]]),\r\n\t\t\t'smartyAddress': new UntypedFormControl(null, [...(validators['smartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'smartyAddressString': new UntypedFormControl(null, [...(validators['smartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasSmarty': new UntypedFormControl(false, [...(validators['hasSmarty'] ?? []), ...[]]),\r\n\t\t\t'stateAbr': new UntypedFormControl(null, [...(validators['stateAbr'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.required, Validators.minLength(10)]]),\r\n\t\t\t'dauCode': new UntypedFormControl(null, [...(validators['dauCode'] ?? []), ...[Validators.maxLength(6)]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isSameAddress': new UntypedFormControl(false, [...(validators['isSameAddress'] ?? []), ...[]]),\r\n\t\t\t'isIcqParticipant': new UntypedFormControl(false, [...(validators['isIcqParticipant'] ?? []), ...[]]),\r\n\t\t\t'shipFacilityName': new UntypedFormControl(null, [...(validators['shipFacilityName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'shipSmartyAddress': new UntypedFormControl(null, [...(validators['shipSmartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'shipSmartyAddressString': new UntypedFormControl(null, [...(validators['shipSmartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasShipSmarty': new UntypedFormControl(false, [...(validators['hasShipSmarty'] ?? []), ...[]]),\r\n\t\t\t'shipStateAbr': new UntypedFormControl(null, [...(validators['shipStateAbr'] ?? []), ...[]]),\r\n\t\t\t'isShipAddressValidated': new UntypedFormControl(false, [...(validators['isShipAddressValidated'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'gln': new UntypedFormControl(null, [...(validators['gln'] ?? []), ...[Validators.pattern(\"^[A-Za-z0-9 ]*\"), Validators.maxLength(13)]]),\r\n\t\t\t'medicalDirectorId': new UntypedFormControl(null, [...(validators['medicalDirectorId'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorName': new UntypedFormControl(null, [...(validators['medicalDirectorName'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorLicense': new UntypedFormControl(null, [...(validators['medicalDirectorLicense'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorExpDate': new UntypedFormControl(null, [...(validators['medicalDirectorExpDate'] ?? []), ...[]]),\r\n\t\t\t'pfsFacilityId': new UntypedFormControl(null, [...(validators['pfsFacilityId'] ?? []), ...[]]),\r\n\t\t\t'facilityType': new UntypedFormControl(null, [...(validators['facilityType'] ?? []), ...[]]),\r\n\t\t\t'isBPHP': new UntypedFormControl(false, [...(validators['isBPHP'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditFacilityVmFromFg {\r\n\t\treturn new EditFacilityVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditFacilityVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget countyId(): number {\r\n\t\treturn this.fg.get('countyId').value;\r\n\t}\r\n\tset countyId(val) {\r\n\t\tthis.fg.get('countyId').setValue(val);\r\n\t}\r\n\r\n\tget countyName(): string {\r\n\t\treturn this.fg.get('countyName').value;\r\n\t}\r\n\tset countyName(val) {\r\n\t\tthis.fg.get('countyName').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddress(): any {\r\n\t\treturn this.fg.get('smartyAddress').value;\r\n\t}\r\n\tset smartyAddress(val) {\r\n\t\tthis.fg.get('smartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddressString(): string {\r\n\t\treturn this.fg.get('smartyAddressString').value;\r\n\t}\r\n\tset smartyAddressString(val) {\r\n\t\tthis.fg.get('smartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasSmarty(): boolean {\r\n\t\treturn this.fg.get('hasSmarty').value;\r\n\t}\r\n\tset hasSmarty(val) {\r\n\t\tthis.fg.get('hasSmarty').setValue(val);\r\n\t}\r\n\r\n\tget stateAbr(): string {\r\n\t\treturn this.fg.get('stateAbr').value;\r\n\t}\r\n\tset stateAbr(val) {\r\n\t\tthis.fg.get('stateAbr').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget dauCode(): string {\r\n\t\treturn this.fg.get('dauCode').value;\r\n\t}\r\n\tset dauCode(val) {\r\n\t\tthis.fg.get('dauCode').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isSameAddress(): boolean {\r\n\t\treturn this.fg.get('isSameAddress').value;\r\n\t}\r\n\tset isSameAddress(val) {\r\n\t\tthis.fg.get('isSameAddress').setValue(val);\r\n\t}\r\n\r\n\tget isIcqParticipant(): boolean {\r\n\t\treturn this.fg.get('isIcqParticipant').value;\r\n\t}\r\n\tset isIcqParticipant(val) {\r\n\t\tthis.fg.get('isIcqParticipant').setValue(val);\r\n\t}\r\n\r\n\tget shipFacilityName(): string {\r\n\t\treturn this.fg.get('shipFacilityName').value;\r\n\t}\r\n\tset shipFacilityName(val) {\r\n\t\tthis.fg.get('shipFacilityName').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddress(): any {\r\n\t\treturn this.fg.get('shipSmartyAddress').value;\r\n\t}\r\n\tset shipSmartyAddress(val) {\r\n\t\tthis.fg.get('shipSmartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddressString(): string {\r\n\t\treturn this.fg.get('shipSmartyAddressString').value;\r\n\t}\r\n\tset shipSmartyAddressString(val) {\r\n\t\tthis.fg.get('shipSmartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasShipSmarty(): boolean {\r\n\t\treturn this.fg.get('hasShipSmarty').value;\r\n\t}\r\n\tset hasShipSmarty(val) {\r\n\t\tthis.fg.get('hasShipSmarty').setValue(val);\r\n\t}\r\n\r\n\tget shipStateAbr(): string {\r\n\t\treturn this.fg.get('shipStateAbr').value;\r\n\t}\r\n\tset shipStateAbr(val) {\r\n\t\tthis.fg.get('shipStateAbr').setValue(val);\r\n\t}\r\n\r\n\tget isShipAddressValidated(): boolean {\r\n\t\treturn this.fg.get('isShipAddressValidated').value;\r\n\t}\r\n\tset isShipAddressValidated(val) {\r\n\t\tthis.fg.get('isShipAddressValidated').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget gln(): string {\r\n\t\treturn this.fg.get('gln').value;\r\n\t}\r\n\tset gln(val) {\r\n\t\tthis.fg.get('gln').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorId(): number {\r\n\t\treturn this.fg.get('medicalDirectorId').value;\r\n\t}\r\n\tset medicalDirectorId(val) {\r\n\t\tthis.fg.get('medicalDirectorId').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorName(): string {\r\n\t\treturn this.fg.get('medicalDirectorName').value;\r\n\t}\r\n\tset medicalDirectorName(val) {\r\n\t\tthis.fg.get('medicalDirectorName').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorLicense(): string {\r\n\t\treturn this.fg.get('medicalDirectorLicense').value;\r\n\t}\r\n\tset medicalDirectorLicense(val) {\r\n\t\tthis.fg.get('medicalDirectorLicense').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorExpDate(): string {\r\n\t\treturn this.fg.get('medicalDirectorExpDate').value;\r\n\t}\r\n\tset medicalDirectorExpDate(val) {\r\n\t\tthis.fg.get('medicalDirectorExpDate').setValue(val);\r\n\t}\r\n\r\n\tget pfsFacilityId(): number {\r\n\t\treturn this.fg.get('pfsFacilityId').value;\r\n\t}\r\n\tset pfsFacilityId(val) {\r\n\t\tthis.fg.get('pfsFacilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityType(): string {\r\n\t\treturn this.fg.get('facilityType').value;\r\n\t}\r\n\tset facilityType(val) {\r\n\t\tthis.fg.get('facilityType').setValue(val);\r\n\t}\r\n\r\n\tget isBPHP(): boolean {\r\n\t\treturn this.fg.get('isBPHP').value;\r\n\t}\r\n\tset isBPHP(val) {\r\n\t\tthis.fg.get('isBPHP').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class FacilityCardinalAccountVm {\r\n\tcardinalAccountId: number;\r\n\tfacilityId: number;\r\n\taccountName?: string;\r\n\taccountNumber?: string;\r\n\tisIssuance810: boolean;\r\n\tisIssuance810String?: string;\r\n\tisBulk810: boolean;\r\n\tisBulk810String?: string;\r\n\tisCiModule810: boolean;\r\n\tisCiModule810String?: string;\r\n\tfriendlyId?: string;\r\n\tcanDelete: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'cardinalAccountId': new UntypedFormControl(0, [...(validators['cardinalAccountId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'accountName': new UntypedFormControl(null, [...(validators['accountName'] ?? []), ...[Validators.required, Validators.maxLength(50), Validators.minLength(0)]]),\r\n\t\t\t'accountNumber': new UntypedFormControl(null, [...(validators['accountNumber'] ?? []), ...[Validators.required, Validators.maxLength(50), Validators.minLength(0)]]),\r\n\t\t\t'isIssuance810': new UntypedFormControl(false, [...(validators['isIssuance810'] ?? []), ...[]]),\r\n\t\t\t'isIssuance810String': new UntypedFormControl(null, [...(validators['isIssuance810String'] ?? []), ...[]]),\r\n\t\t\t'isBulk810': new UntypedFormControl(false, [...(validators['isBulk810'] ?? []), ...[]]),\r\n\t\t\t'isBulk810String': new UntypedFormControl(null, [...(validators['isBulk810String'] ?? []), ...[]]),\r\n\t\t\t'isCiModule810': new UntypedFormControl(false, [...(validators['isCiModule810'] ?? []), ...[]]),\r\n\t\t\t'isCiModule810String': new UntypedFormControl(null, [...(validators['isCiModule810String'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(false, [...(validators['canDelete'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['accountName', {\"orderId\":0,\"sortColumn\":\"accountName\",\"searchColumn\":\"accountName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Account Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['accountNumber', {\"orderId\":1,\"sortColumn\":\"accountNumber\",\"searchColumn\":\"accountNumber\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Account Number\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isCiModule810String', {\"orderId\":2,\"sortColumn\":\"isCiModule810\",\"searchColumn\":\"isCiModule810String\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Show in CI\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isIssuance810String', {\"orderId\":3,\"sortColumn\":\"isIssuance810\",\"searchColumn\":\"isIssuance810String\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Show in Issuance\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isBulk810String', {\"orderId\":4,\"sortColumn\":\"isBulk810\",\"searchColumn\":\"isBulk810String\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Show in Bulk\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":5,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): FacilityCardinalAccountVmFromFg {\r\n\t\treturn new FacilityCardinalAccountVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class FacilityCardinalAccountVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget cardinalAccountId(): number {\r\n\t\treturn this.fg.get('cardinalAccountId').value;\r\n\t}\r\n\tset cardinalAccountId(val) {\r\n\t\tthis.fg.get('cardinalAccountId').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget accountName(): string {\r\n\t\treturn this.fg.get('accountName').value;\r\n\t}\r\n\tset accountName(val) {\r\n\t\tthis.fg.get('accountName').setValue(val);\r\n\t}\r\n\r\n\tget accountNumber(): string {\r\n\t\treturn this.fg.get('accountNumber').value;\r\n\t}\r\n\tset accountNumber(val) {\r\n\t\tthis.fg.get('accountNumber').setValue(val);\r\n\t}\r\n\r\n\tget isIssuance810(): boolean {\r\n\t\treturn this.fg.get('isIssuance810').value;\r\n\t}\r\n\tset isIssuance810(val) {\r\n\t\tthis.fg.get('isIssuance810').setValue(val);\r\n\t}\r\n\r\n\tget isIssuance810String(): string {\r\n\t\treturn this.fg.get('isIssuance810String').value;\r\n\t}\r\n\tset isIssuance810String(val) {\r\n\t\tthis.fg.get('isIssuance810String').setValue(val);\r\n\t}\r\n\r\n\tget isBulk810(): boolean {\r\n\t\treturn this.fg.get('isBulk810').value;\r\n\t}\r\n\tset isBulk810(val) {\r\n\t\tthis.fg.get('isBulk810').setValue(val);\r\n\t}\r\n\r\n\tget isBulk810String(): string {\r\n\t\treturn this.fg.get('isBulk810String').value;\r\n\t}\r\n\tset isBulk810String(val) {\r\n\t\tthis.fg.get('isBulk810String').setValue(val);\r\n\t}\r\n\r\n\tget isCiModule810(): boolean {\r\n\t\treturn this.fg.get('isCiModule810').value;\r\n\t}\r\n\tset isCiModule810(val) {\r\n\t\tthis.fg.get('isCiModule810').setValue(val);\r\n\t}\r\n\r\n\tget isCiModule810String(): string {\r\n\t\treturn this.fg.get('isCiModule810String').value;\r\n\t}\r\n\tset isCiModule810String(val) {\r\n\t\tthis.fg.get('isCiModule810String').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UiSwitchComponent } from 'ngx-ui-switch';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { FacilityCardinalAccountVm } from 'app/shared/generated/Administration/Models/Facilities/FacilityCardinalAccountVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-facility-cardinal-accounts',\r\n templateUrl: './facility-cardinal-accounts.component.html',\r\n styleUrls: ['./facility-cardinal-accounts.component.scss'],\r\n standalone: false\r\n})\r\nexport class FacilityCardinalAccountsComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n @ViewChild('isCiModule810', { static: false }) isCiModule810: UiSwitchComponent; \r\n @ViewChild('isBulk810', { static: false }) isBulk810: UiSwitchComponent; \r\n @ViewChild('isIssuance810', { static: false }) isIssuance810: UiSwitchComponent; \r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n\r\n columns = FacilityCardinalAccountVm.ColumnDefs;\r\n formGroup = FacilityCardinalAccountVm.Form;\r\n model = FacilityCardinalAccountVm.GetModel(this.formGroup);\r\n model$: Observable;\r\n\r\n isAdd = false;\r\n canEdit = false;\r\n tab = 'Cardinal Accounts';\r\n facilityId: number;\r\n filters = { siteId: null };\r\n\r\n constructor(\r\n public title: Title\r\n , private sec: SecurityService\r\n , private route: ActivatedRoute\r\n , private httpClient: HttpClient\r\n ) {\r\n title.setTitle('Edit Facility');\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.CI, BusinessAreaEnum.MetabolicFormula]\r\n , [PermissionRole.UserAdmin, ...SecurityService.setMinRole(PermissionRole.Manager)]\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.facilityId = this.route.snapshot.params['id'];\r\n this.filters.siteId = this.facilityId;\r\n if (this.route.snapshot.queryParamMap.get('tab')) { this.tab = this.route.snapshot.queryParamMap.get('tab'); }\r\n }\r\n\r\n editAccount(cardinalAccountId: number) {\r\n this.isAdd = true;\r\n \r\n if (cardinalAccountId !== 0) {\r\n this.httpClient.get(`api/Administration/Facility/GetCardinalAccount?id=${cardinalAccountId}&facilityId=${this.facilityId}`)\r\n .subscribe((model: FacilityCardinalAccountVm) => {\r\n this.formGroup.setValue(model);\r\n }\r\n );\r\n } \r\n this.formGroup.get('facilityId').patchValue(this.facilityId); \r\n }\r\n\r\n cancel() {\r\n this.resetFormGroup();\r\n this.isAdd = false;\r\n }\r\n\r\n saveSuccess(msg: SystemMessage) {\r\n this.isAdd = false;\r\n this.resetFormGroup();\r\n this.table?.ajaxReload();\r\n }\r\n\r\n resetFormGroup() {\r\n this.formGroup.get('cardinalAccountId').patchValue(0);\r\n this.formGroup.get('accountName').patchValue(\"\");\r\n this.formGroup.get('accountNumber').patchValue(\"\");\r\n this.formGroup.get('isCiModule810').patchValue(false);\r\n this.formGroup.get('isBulk810').patchValue(false);\r\n this.formGroup.get('isIssuance810').patchValue(false);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n {{ columns.get('accountName').displayName }}\r\n \r\n {{ row.accountName }}\r\n \r\n \r\n \r\n \r\n {{ columns.get('accountNumber').displayName }}\r\n {{ row.accountNumber }}\r\n \r\n\r\n \r\n {{ columns.get('isCiModule810String').displayName }}\r\n {{ row.isCiModule810String }}\r\n \r\n\r\n \r\n {{ columns.get('isIssuance810String').displayName }}\r\n {{ row.isIssuance810String }}\r\n \r\n\r\n \r\n {{ columns.get('isBulk810String').displayName }}\r\n {{ row.isBulk810String }}\r\n \r\n \r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Cancel\r\n \r\n \r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AuditHistoryVm } from 'app/shared/generated/Models/AuditHistoryVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-facility-audit-history',\r\n templateUrl: './facility-audit-history.component.html',\r\n styleUrls: ['./facility-audit-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class FacilityAuditHistoryComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n\tcolumns = AuditHistoryVm.ColumnDefs;\r\n\tfacilityName: string = null;\r\n\tfilters = {\r\n\t\tfacilityId: null\r\n\t};\r\n\r\n\tconstructor(title: Title, private activatedRoute: ActivatedRoute) { \r\n\t\ttitle.setTitle('Edit Facility');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.filters.facilityId = this.activatedRoute.snapshot.params['id'];\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\t{{ columns.get('dateChanged').displayName }}\r\n\t\t{{ row.dateChangedFormatted }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('module').displayName }}\r\n\t\t{{ row.module }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('recordAffected').displayName }}\r\n\t\t{{ row.recordAffected }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('field').displayName }}\r\n\t\t{{ row.field }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedFrom').displayName }}\r\n\t\t{{ row.changedFrom }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedTo').displayName }}\r\n\t\t{{ row.changedTo }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedBy').displayName }}\r\n\t\t{{ row.changedBy }}\r\n\t\r\n\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class FacilityUserListVm {\r\n\tisLockedOut: boolean;\r\n\temailConfirmed: boolean;\r\n\tisEmailBounced: boolean;\r\n\tisEmailSpamReported: boolean;\r\n\tid: number;\r\n\tname?: string;\r\n\temail?: string;\r\n\tphoneNumber?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'isLockedOut': new UntypedFormControl(false, [...(validators['isLockedOut'] ?? []), ...[]]),\r\n\t\t\t'emailConfirmed': new UntypedFormControl(false, [...(validators['emailConfirmed'] ?? []), ...[]]),\r\n\t\t\t'isEmailBounced': new UntypedFormControl(false, [...(validators['isEmailBounced'] ?? []), ...[]]),\r\n\t\t\t'isEmailSpamReported': new UntypedFormControl(false, [...(validators['isEmailSpamReported'] ?? []), ...[]]),\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'name': new UntypedFormControl(null, [...(validators['name'] ?? []), ...[]]),\r\n\t\t\t'email': new UntypedFormControl(null, [...(validators['email'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['name', {\"orderId\":0,\"sortColumn\":\"name\",\"searchColumn\":\"name\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['email', {\"orderId\":1,\"sortColumn\":\"email\",\"searchColumn\":\"email\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Email\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['phoneNumber', {\"orderId\":2,\"sortColumn\":\"phoneNumber\",\"searchColumn\":\"phoneNumber\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Phone\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): FacilityUserListVmFromFg {\r\n\t\treturn new FacilityUserListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class FacilityUserListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget isLockedOut(): boolean {\r\n\t\treturn this.fg.get('isLockedOut').value;\r\n\t}\r\n\tset isLockedOut(val) {\r\n\t\tthis.fg.get('isLockedOut').setValue(val);\r\n\t}\r\n\r\n\tget emailConfirmed(): boolean {\r\n\t\treturn this.fg.get('emailConfirmed').value;\r\n\t}\r\n\tset emailConfirmed(val) {\r\n\t\tthis.fg.get('emailConfirmed').setValue(val);\r\n\t}\r\n\r\n\tget isEmailBounced(): boolean {\r\n\t\treturn this.fg.get('isEmailBounced').value;\r\n\t}\r\n\tset isEmailBounced(val) {\r\n\t\tthis.fg.get('isEmailBounced').setValue(val);\r\n\t}\r\n\r\n\tget isEmailSpamReported(): boolean {\r\n\t\treturn this.fg.get('isEmailSpamReported').value;\r\n\t}\r\n\tset isEmailSpamReported(val) {\r\n\t\tthis.fg.get('isEmailSpamReported').setValue(val);\r\n\t}\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.fg.get('name').value;\r\n\t}\r\n\tset name(val) {\r\n\t\tthis.fg.get('name').setValue(val);\r\n\t}\r\n\r\n\tget email(): string {\r\n\t\treturn this.fg.get('email').value;\r\n\t}\r\n\tset email(val) {\r\n\t\tthis.fg.get('email').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\nimport { DynamicFormFieldVm, DynamicFormFieldVmFromFg } from '../../../Models/DynamicFormFieldVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditUserVm {\r\n\tuserId: number;\r\n\tfirstName?: string;\r\n\tlastName?: string;\r\n\tuserName?: string;\r\n\tphoneNumber?: string;\r\n\temail?: string;\r\n\temailConfirmed: boolean;\r\n\tisEmailBounced: boolean;\r\n\tisEmailSpamReported: boolean;\r\n\tisActive: boolean;\r\n\tisLockedOut: boolean;\r\n\tinactivityTimeout: boolean;\r\n\tisInternalBphpUser: boolean;\r\n\tfields?: DynamicFormFieldVm[];\r\n\tcustomFields?: any;\r\n\tmode?: string;\r\n\tuserPin?: string;\r\n\tneedToResetPin: boolean;\r\n\tfriendlyId?: string;\r\n\tinventoryIds?: number[];\r\n\tinventories?: string[];\r\n\tfacilityIds?: number[];\r\n\tfacilities?: string[];\r\n\torganizationIds?: number[];\r\n\torganizations?: string[];\r\n\tsystemInventoryIds?: number[];\r\n\tupdateFacilities: boolean;\r\n\tupdateOrgs: boolean;\r\n\tbusinessArea?: any;\r\n\tbiometricFingerprintVersion: number;\r\n\torganizationId?: number;\r\n\torganizationName?: string;\r\n\torgLoginType?: any;\r\n\tm2SysType?: any;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'firstName': new UntypedFormControl(null, [...(validators['firstName'] ?? []), ...[Validators.required]]),\r\n\t\t\t'lastName': new UntypedFormControl(null, [...(validators['lastName'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[Validators.required]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.required, Validators.pattern(\"(\\\\+\\\\d{1,3}\\\\s?)?((\\\\(\\\\d{3}\\\\)\\\\s?)|(\\\\d{3})(\\\\s|-?))(\\\\d{3}(\\\\s|-?))(\\\\d{4})(\\\\s?(([E|e]xt[:|.|]?)|x|X)(\\\\s?\\\\d+))?\")]]),\r\n\t\t\t'email': new UntypedFormControl(null, [...(validators['email'] ?? []), ...[Validators.required, Validators.email]]),\r\n\t\t\t'emailConfirmed': new UntypedFormControl(false, [...(validators['emailConfirmed'] ?? []), ...[]]),\r\n\t\t\t'isEmailBounced': new UntypedFormControl(false, [...(validators['isEmailBounced'] ?? []), ...[]]),\r\n\t\t\t'isEmailSpamReported': new UntypedFormControl(false, [...(validators['isEmailSpamReported'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isLockedOut': new UntypedFormControl(false, [...(validators['isLockedOut'] ?? []), ...[]]),\r\n\t\t\t'inactivityTimeout': new UntypedFormControl(false, [...(validators['inactivityTimeout'] ?? []), ...[]]),\r\n\t\t\t'isInternalBphpUser': new UntypedFormControl(false, [...(validators['isInternalBphpUser'] ?? []), ...[]]),\r\n\t\t\t'fields': new UntypedFormArray([]),\r\n\t\t\t'customFields': new UntypedFormControl(null, [...(validators['customFields'] ?? []), ...[]]),\r\n\t\t\t'mode': new UntypedFormControl(null, [...(validators['mode'] ?? []), ...[]]),\r\n\t\t\t'userPin': new UntypedFormControl(null, [...(validators['userPin'] ?? []), ...[Validators.maxLength(10)]]),\r\n\t\t\t'needToResetPin': new UntypedFormControl(false, [...(validators['needToResetPin'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'inventoryIds': new UntypedFormControl([], [...(validators['inventoryIds'] ?? []), ...[]]),\r\n\t\t\t'inventories': new UntypedFormControl([], [...(validators['inventories'] ?? []), ...[]]),\r\n\t\t\t'facilityIds': new UntypedFormControl([], [...(validators['facilityIds'] ?? []), ...[]]),\r\n\t\t\t'facilities': new UntypedFormControl([], [...(validators['facilities'] ?? []), ...[]]),\r\n\t\t\t'organizationIds': new UntypedFormControl([], [...(validators['organizationIds'] ?? []), ...[]]),\r\n\t\t\t'organizations': new UntypedFormControl([], [...(validators['organizations'] ?? []), ...[]]),\r\n\t\t\t'systemInventoryIds': new UntypedFormControl([], [...(validators['systemInventoryIds'] ?? []), ...[]]),\r\n\t\t\t'updateFacilities': new UntypedFormControl(false, [...(validators['updateFacilities'] ?? []), ...[]]),\r\n\t\t\t'updateOrgs': new UntypedFormControl(false, [...(validators['updateOrgs'] ?? []), ...[]]),\r\n\t\t\t'businessArea': new UntypedFormControl(null, [...(validators['businessArea'] ?? []), ...[]]),\r\n\t\t\t'biometricFingerprintVersion': new UntypedFormControl(0, [...(validators['biometricFingerprintVersion'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationId': new UntypedFormControl(null, [...(validators['organizationId'] ?? []), ...[]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[]]),\r\n\t\t\t'orgLoginType': new UntypedFormControl(null, [...(validators['orgLoginType'] ?? []), ...[]]),\r\n\t\t\t'm2SysType': new UntypedFormControl(null, [...(validators['m2SysType'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditUserVmFromFg {\r\n\t\treturn new EditUserVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditUserVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget firstName(): string {\r\n\t\treturn this.fg.get('firstName').value;\r\n\t}\r\n\tset firstName(val) {\r\n\t\tthis.fg.get('firstName').setValue(val);\r\n\t}\r\n\r\n\tget lastName(): string {\r\n\t\treturn this.fg.get('lastName').value;\r\n\t}\r\n\tset lastName(val) {\r\n\t\tthis.fg.get('lastName').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget email(): string {\r\n\t\treturn this.fg.get('email').value;\r\n\t}\r\n\tset email(val) {\r\n\t\tthis.fg.get('email').setValue(val);\r\n\t}\r\n\r\n\tget emailConfirmed(): boolean {\r\n\t\treturn this.fg.get('emailConfirmed').value;\r\n\t}\r\n\tset emailConfirmed(val) {\r\n\t\tthis.fg.get('emailConfirmed').setValue(val);\r\n\t}\r\n\r\n\tget isEmailBounced(): boolean {\r\n\t\treturn this.fg.get('isEmailBounced').value;\r\n\t}\r\n\tset isEmailBounced(val) {\r\n\t\tthis.fg.get('isEmailBounced').setValue(val);\r\n\t}\r\n\r\n\tget isEmailSpamReported(): boolean {\r\n\t\treturn this.fg.get('isEmailSpamReported').value;\r\n\t}\r\n\tset isEmailSpamReported(val) {\r\n\t\tthis.fg.get('isEmailSpamReported').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isLockedOut(): boolean {\r\n\t\treturn this.fg.get('isLockedOut').value;\r\n\t}\r\n\tset isLockedOut(val) {\r\n\t\tthis.fg.get('isLockedOut').setValue(val);\r\n\t}\r\n\r\n\tget inactivityTimeout(): boolean {\r\n\t\treturn this.fg.get('inactivityTimeout').value;\r\n\t}\r\n\tset inactivityTimeout(val) {\r\n\t\tthis.fg.get('inactivityTimeout').setValue(val);\r\n\t}\r\n\r\n\tget isInternalBphpUser(): boolean {\r\n\t\treturn this.fg.get('isInternalBphpUser').value;\r\n\t}\r\n\tset isInternalBphpUser(val) {\r\n\t\tthis.fg.get('isInternalBphpUser').setValue(val);\r\n\t}\r\n\r\n\tget customFields(): any {\r\n\t\treturn this.fg.get('customFields').value;\r\n\t}\r\n\tset customFields(val) {\r\n\t\tthis.fg.get('customFields').setValue(val);\r\n\t}\r\n\r\n\tget mode(): string {\r\n\t\treturn this.fg.get('mode').value;\r\n\t}\r\n\tset mode(val) {\r\n\t\tthis.fg.get('mode').setValue(val);\r\n\t}\r\n\r\n\tget userPin(): string {\r\n\t\treturn this.fg.get('userPin').value;\r\n\t}\r\n\tset userPin(val) {\r\n\t\tthis.fg.get('userPin').setValue(val);\r\n\t}\r\n\r\n\tget needToResetPin(): boolean {\r\n\t\treturn this.fg.get('needToResetPin').value;\r\n\t}\r\n\tset needToResetPin(val) {\r\n\t\tthis.fg.get('needToResetPin').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget updateFacilities(): boolean {\r\n\t\treturn this.fg.get('updateFacilities').value;\r\n\t}\r\n\tset updateFacilities(val) {\r\n\t\tthis.fg.get('updateFacilities').setValue(val);\r\n\t}\r\n\r\n\tget updateOrgs(): boolean {\r\n\t\treturn this.fg.get('updateOrgs').value;\r\n\t}\r\n\tset updateOrgs(val) {\r\n\t\tthis.fg.get('updateOrgs').setValue(val);\r\n\t}\r\n\r\n\tget businessArea(): any {\r\n\t\treturn this.fg.get('businessArea').value;\r\n\t}\r\n\tset businessArea(val) {\r\n\t\tthis.fg.get('businessArea').setValue(val);\r\n\t}\r\n\r\n\tget biometricFingerprintVersion(): number {\r\n\t\treturn this.fg.get('biometricFingerprintVersion').value;\r\n\t}\r\n\tset biometricFingerprintVersion(val) {\r\n\t\tthis.fg.get('biometricFingerprintVersion').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget orgLoginType(): any {\r\n\t\treturn this.fg.get('orgLoginType').value;\r\n\t}\r\n\tset orgLoginType(val) {\r\n\t\tthis.fg.get('orgLoginType').setValue(val);\r\n\t}\r\n\r\n\tget m2SysType(): any {\r\n\t\treturn this.fg.get('m2SysType').value;\r\n\t}\r\n\tset m2SysType(val) {\r\n\t\tthis.fg.get('m2SysType').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { faUserLock, faEnvelope, faTennisBall, faHourglassClock, faEnvelopesBulk } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { DynamicFormService } from 'app/shared/form-elements/components/dynamic-form/dynamic-form.service';\r\nimport { FacilityUserListVm } from 'app/shared/generated/Administration/Models/Facilities/FacilityUserListVm';\r\nimport { EditUserVm } from 'app/shared/generated/Administration/Models/Users/EditUserVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { FacilityBusinessAreaVm } from 'app/shared/generated/Administration/Models/Facilities/BusinessAreas/FacilityBusinessAreaVm';\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\n\r\n@Component({\r\n selector: 'pcg-shared-facility-user-list',\r\n templateUrl: './facility-user-list.component.html',\r\n styleUrls: ['./facility-user-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class FacilityUserListComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: false }) table: TableComponent;\r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() facilityName: string;\r\n @ViewChild('modalExistingUsersModal', { static: true }) modalContent: TemplateRef;\r\n\r\n subscriptions = new Subscription();\r\n formGroup = EditUserVm.Form;\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n\r\n canCreateUser = false;\r\n\tcanDeleteUser = false;\r\n\tcanEditUser = false;\r\n canAddUser = false;\r\n canEditFacilities = false; \r\n isCreate = false;\r\n userId = 0;\r\n facilityId: number;\r\n newUser = \"\";\r\n \r\n\tcolumns = FacilityUserListVm.ColumnDefs;\r\n\tfilters = {\r\n\t\tfacilityId: 0,\r\n businessArea: null,\r\n showSysAdmin: false\r\n\t};\r\n initFilters = Object.assign({}, this.filters);\r\n\tfilterMap = { \"showSysAdmin\" : \"Show System Admins?\"}\r\n\r\n faIconName = { \r\n\t\tfaUserLock\r\n\t\t, faEnvelope\r\n\t\t, faTennisBall\r\n\t\t, faHourglassClock \r\n\t\t, faEnvelopesBulk\r\n\t};\r\n\r\n tooltipModalString: string = `\r\n\t\t

\r\n\t\t\t\r\n\t\t\t  Locked Users: These users have entered an incorrect password 5 consecutive times. \r\n\t\t\tClick the Unlock button on their profile to unlock their account and send them a reset password email.
\r\n\t\t\t\r\n\t\t\t  Email needs manual validation: Our automated validation tool flagged this email. \r\n\t\t\tClick the Validate Email button on their profile.
\r\n\t\t\t\r\n\t\t\t  Undeliverable Email: Usually indicates a permanent error, \r\n\t\t\tbut can also be caused by a strict email security filter.You may need to reach out to your IT to whitelist our domain. \r\n\t\t\tClick the Unbounce Email button on their profile.
\r\n\t\t\t\r\n\t\t\t  Undeliverable Email due to Spam Report: \r\n\t\t\tThe user has reported one of our emails as spam. Click the Undo Spam button on their profile.\r\n\t\t

\r\n\t`;\r\n //TODO: Implement this property after adding user deactivation quartz jobs\r\n\t// \r\n\t//   This user has been deactivated due to 180 days of not logging in\r\n\t// or verifying a medication use, not completing their setup within 90 days, or no welcome email has been sent in 180 days since this user was created. \r\n\t// Click the Reactivate button on their profile.
\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute\r\n , public modalService: NgbModal\r\n , private security: SecurityService\r\n , private httpClient: HttpClient\r\n , private dynForm: DynamicFormService\r\n , private ms: SystemMessageService\r\n , public title: Title\r\n , public btnFilterService: ButtonFilterService\r\n ) {\r\n title.setTitle('Edit Facility');\r\n\t\tthis.canCreateUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [ \r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\tthis.canDeleteUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\tthis.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [ \r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canAddUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.filters.facilityId = this.activatedRoute.snapshot.params['id'];\r\n this.newUser = \"/admin/users/user/edit/details/0?facilityId=\" + this.filters.facilityId;\r\n if (\r\n this.businessArea !== null \r\n && this.businessArea !== undefined\r\n ) {\r\n this.filters.businessArea = this.businessArea; \r\n this.newUser += \"&businessArea=\" + this.businessArea;\r\n } \r\n\r\n this.getBusinessArea();\r\n this.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n }\r\n\r\n reloadTable() { this.table.ajaxReload(); }\r\n\r\n resetFilters() {\r\n this.filters.showSysAdmin = false;\r\n\t\tthis.reloadTable();\r\n\t}\r\n\r\n getBusinessArea(){\r\n this.httpClient.get(`api/Administration/Facility/GetFacilityBusinessSettings/${this.filters.facilityId}`)\r\n .subscribe((ba: FacilityBusinessAreaVm) => {\r\n if(ba.hasCiAccess && this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]))\r\n this.businessArea = BusinessAreaEnum.CI;\r\n else if (ba.hasInventoryAccess && this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Inventory ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]))\r\n this.businessArea = BusinessAreaEnum.Inventory;\r\n else if(ba.hasMetabolicAccess && this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.MetabolicFormula ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]))\r\n this.businessArea = BusinessAreaEnum.MetabolicFormula;\r\n this.setSecurity();\r\n });\r\n }\r\n\r\n setSecurity() {\r\n if (this.businessArea !== null && this.businessArea !== undefined) {\r\n switch (this.businessArea) {\r\n\t\t\t\tcase BusinessAreaEnum.MetabolicFormula:\r\n this.canEditFacilities = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.MetabolicFormula ]\r\n , [ \r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.MetabolicFormula ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\t\t\t\tthis.canCreateUser = this.canEditUser;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase BusinessAreaEnum.CI:\r\n\t\t\t\t\tthis.canEditFacilities = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , [\r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\t\t\t\tthis.canCreateUser = this.canEditUser;\r\n\t\t\t\t\tbreak;\r\n case BusinessAreaEnum.Inventory:\r\n this.canEditFacilities = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Inventory ]\r\n , [ \r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Inventory ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n ]\r\n );\r\n\t\t\t\t\tthis.canCreateUser = this.canEditUser;\r\n break;\r\n\t\t\t\tcase BusinessAreaEnum.Admin:\r\n\t\t\t\t\tthis.canEditFacilities = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ \r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [\r\n\t\t\t\t\t\t\t ...SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n ]\r\n );\r\n\t\t\t\t\tthis.canCreateUser = this.canEditUser;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault: \r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.canEditFacilities = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n , BusinessAreaEnum.Inventory\r\n ]\r\n , [\r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\t\tthis.canCreateUser = this.canEditUser;\r\n\t\t}\r\n }\r\n\r\n getEditUserLink(id: number) {\r\n if (\r\n this.businessArea !== null \r\n && this.businessArea !== undefined\r\n ) {\r\n return decodeURI(\r\n '/admin/users/user/edit/details/' \r\n + id \r\n + \"?facilityId=\" \r\n + this.filters.facilityId \r\n + \"&businessArea=\" \r\n + this.businessArea\r\n );\r\n }\r\n return '/admin/users/user/edit/details/' + id;\r\n }\r\n\r\n addUserBtn() {\r\n this.modalService.open(this.modalContent, {\r\n\t\t\tanimation: false, beforeDismiss: () => {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}); \r\n }\r\n\r\n addExistingUser(userId: number, table: TableComponent) {\r\n this.httpClient.post(\r\n `api/administration/Facility/AddExistingUser?userId=${userId}&facilityId=${this.filters.facilityId}`\r\n , null\r\n ).subscribe((msg: SystemMessage) => { \r\n if (msg.isSuccessful) { \r\n table.ajaxReload(); \r\n this.reloadTable();\r\n } \r\n }); \r\n }\r\n\r\n createUser() {\r\n this.facilityId = parseInt(this.activatedRoute.snapshot.paramMap.get('id'), 10);\r\n this.setSecurity();\r\n\r\n this.subscriptions.add(this.httpClient.get(`api/Administration/Users/GetUser/0`)\r\n .subscribe((vm: EditUserVm) => {\r\n this.formGroup = this.dynForm.updateFormGroupFields(this.formGroup, vm.fields);\r\n this.formGroup.patchValue(vm);\r\n \r\n this.formGroup.controls[\"isActive\"].setValue(vm.isActive);\r\n this.formGroup.controls[\"inactivityTimeout\"].setValue(false);\r\n this.formGroup.controls[\"isInternalBphpUser\"].setValue(false);\r\n this.formGroup.controls[\"updateFacilities\"].setValue(true);\r\n if (this.businessArea !== null && this.businessArea !== undefined) {\r\n this.formGroup.controls[\"businessArea\"].setValue(this.businessArea);\r\n }\r\n \r\n this.formGroup.controls[\"facilityIds\"].setValue([this.facilityId]);\r\n }));\r\n\r\n this.isCreate = true; \r\n }\r\n\r\n saveUser(msg: SystemMessage) {\r\n msg.message= msg.message + ` \\nPlease set the user's module access to finish associating them to the facility.`;\r\n msg.link = `Click Here`\r\n this.ms.setSystemMessage(msg.message, 'warning', 60000, msg.link); \r\n \r\n if (msg.value) {\r\n\t\t\tthis.isCreate = false;\r\n this.reloadTable();\r\n\t\t}\r\n }\r\n\r\n cancelAdd() { this.isCreate = false; }\r\n}\r\n","\r\n\t
\r\n\t\t
\r\n\t\t\tCreate New User\r\n\t\t
\r\n\t\t
\r\n\t\t\tAdd Existing User\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t  \r\n\t\t\r\n\t\t\tLocked Users: These users have entered an incorrect password 5 consecutive times. \r\n\t\t\tClick the Unlock button on their profile to unlock their account and send them a reset password email.\r\n\t\t \r\n\t\t
\r\n\t\t  \r\n\t\tEmail needs manual validation: Our automated validation tool flagged this email. Click the Validate Email button on their profile. \r\n\t\t
\r\n\t\t  \r\n\t\t\r\n\t\t\tUndeliverable Email: Usually indicates a permanent error, but can also be caused by a strict email security filter.\r\n\t\t\tYou may need to reach out to your IT to whitelist our domain. Click the Unbounce Email button on their profile.\r\n\t\t \r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t\t  \r\n\t\t\r\n\t\t\tUndeliverable Email due to Spam Report: The user has reported one of our emails as spam.\r\n\t\t\tClick the Undo Spam button on their profile.\r\n\t\t \r\n\t
\r\n
\r\n\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYes\r\n\t\t\t\t\t\tNo\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t{{ columns.get('name').displayName }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ row.name }}\r\n\t\t\t\t{{ row.name }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('email').displayName }}\r\n\t\t\t{{ row.email }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('phoneNumber').displayName }}\r\n\t\t\t{{ row.phoneNumber }}\r\n\t\t\r\n\r\n\t\r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t

Create User

\r\n\t\t
\r\n\t\t\t\tNew users will not show up in the facility associated user list until they possess module access to at least one of the business areas assigned to this facilities. Upon creation, please set this in the user's profile.\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\tCancel\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\r\n\t\t\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditFacilityCiDetailVm {\r\n\tfacilityAccountInfoId: number;\r\n\tfacilityId: number;\r\n\tfacilityName?: string;\r\n\tciPrimaryContactIds?: number[];\r\n\tciPrimaryContactNames?: string;\r\n\tfacilityColor?: string;\r\n\taccountCode?: string;\r\n\torg?: string;\r\n\teo?: string;\r\n\toca?: string;\r\n\tbfObjCode?: string;\r\n\tbfCategory?: string;\r\n\tinterAgencyAgreementNumber?: string;\r\n\tcanGenerateCiInvoices: boolean;\r\n\tfriendlyId?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityAccountInfoId': new UntypedFormControl(0, [...(validators['facilityAccountInfoId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[]]),\r\n\t\t\t'ciPrimaryContactIds': new UntypedFormControl([], [...(validators['ciPrimaryContactIds'] ?? []), ...[]]),\r\n\t\t\t'ciPrimaryContactNames': new UntypedFormControl(null, [...(validators['ciPrimaryContactNames'] ?? []), ...[]]),\r\n\t\t\t'facilityColor': new UntypedFormControl(null, [...(validators['facilityColor'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'accountCode': new UntypedFormControl(null, [...(validators['accountCode'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'org': new UntypedFormControl(null, [...(validators['org'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'eo': new UntypedFormControl(null, [...(validators['eo'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'oca': new UntypedFormControl(null, [...(validators['oca'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'bfObjCode': new UntypedFormControl(null, [...(validators['bfObjCode'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'bfCategory': new UntypedFormControl(null, [...(validators['bfCategory'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'interAgencyAgreementNumber': new UntypedFormControl(null, [...(validators['interAgencyAgreementNumber'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'canGenerateCiInvoices': new UntypedFormControl(false, [...(validators['canGenerateCiInvoices'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditFacilityCiDetailVmFromFg {\r\n\t\treturn new EditFacilityCiDetailVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditFacilityCiDetailVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityAccountInfoId(): number {\r\n\t\treturn this.fg.get('facilityAccountInfoId').value;\r\n\t}\r\n\tset facilityAccountInfoId(val) {\r\n\t\tthis.fg.get('facilityAccountInfoId').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget ciPrimaryContactNames(): string {\r\n\t\treturn this.fg.get('ciPrimaryContactNames').value;\r\n\t}\r\n\tset ciPrimaryContactNames(val) {\r\n\t\tthis.fg.get('ciPrimaryContactNames').setValue(val);\r\n\t}\r\n\r\n\tget facilityColor(): string {\r\n\t\treturn this.fg.get('facilityColor').value;\r\n\t}\r\n\tset facilityColor(val) {\r\n\t\tthis.fg.get('facilityColor').setValue(val);\r\n\t}\r\n\r\n\tget accountCode(): string {\r\n\t\treturn this.fg.get('accountCode').value;\r\n\t}\r\n\tset accountCode(val) {\r\n\t\tthis.fg.get('accountCode').setValue(val);\r\n\t}\r\n\r\n\tget org(): string {\r\n\t\treturn this.fg.get('org').value;\r\n\t}\r\n\tset org(val) {\r\n\t\tthis.fg.get('org').setValue(val);\r\n\t}\r\n\r\n\tget eo(): string {\r\n\t\treturn this.fg.get('eo').value;\r\n\t}\r\n\tset eo(val) {\r\n\t\tthis.fg.get('eo').setValue(val);\r\n\t}\r\n\r\n\tget oca(): string {\r\n\t\treturn this.fg.get('oca').value;\r\n\t}\r\n\tset oca(val) {\r\n\t\tthis.fg.get('oca').setValue(val);\r\n\t}\r\n\r\n\tget bfObjCode(): string {\r\n\t\treturn this.fg.get('bfObjCode').value;\r\n\t}\r\n\tset bfObjCode(val) {\r\n\t\tthis.fg.get('bfObjCode').setValue(val);\r\n\t}\r\n\r\n\tget bfCategory(): string {\r\n\t\treturn this.fg.get('bfCategory').value;\r\n\t}\r\n\tset bfCategory(val) {\r\n\t\tthis.fg.get('bfCategory').setValue(val);\r\n\t}\r\n\r\n\tget interAgencyAgreementNumber(): string {\r\n\t\treturn this.fg.get('interAgencyAgreementNumber').value;\r\n\t}\r\n\tset interAgencyAgreementNumber(val) {\r\n\t\tthis.fg.get('interAgencyAgreementNumber').setValue(val);\r\n\t}\r\n\r\n\tget canGenerateCiInvoices(): boolean {\r\n\t\treturn this.fg.get('canGenerateCiInvoices').value;\r\n\t}\r\n\tset canGenerateCiInvoices(val) {\r\n\t\tthis.fg.get('canGenerateCiInvoices').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditFacilityInventoryDetailVm {\r\n\tfacilityId: number;\r\n\tformTypeIds?: number[];\r\n\tformTypes?: string[];\r\n\tfriendlyId?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'formTypeIds': new UntypedFormControl([], [...(validators['formTypeIds'] ?? []), ...[]]),\r\n\t\t\t'formTypes': new UntypedFormControl([], [...(validators['formTypes'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditFacilityInventoryDetailVmFromFg {\r\n\t\treturn new EditFacilityInventoryDetailVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditFacilityInventoryDetailVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../../table/interfaces/pcg-table-column.interface';\r\nimport { EditFacilityCiDetailVm, EditFacilityCiDetailVmFromFg } from '../../../../Administration/Models/Facilities/BusinessAreas/EditFacilityCiDetailVm';\r\nimport { EditFacilityInventoryDetailVm, EditFacilityInventoryDetailVmFromFg } from '../../../../Administration/Models/Facilities/BusinessAreas/EditFacilityInventoryDetailVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class FacilityBusinessAreaVm {\r\n\tfacilityId: number;\r\n\tfacilityAccountInfoId: number;\r\n\thasCiAccess: boolean;\r\n\thasInventoryAccess: boolean;\r\n\thasMetabolicAccess: boolean;\r\n\tfacilityBusinessAreaEnums?: any;\r\n\tbusinessAreas?: string[];\r\n\tciDetailsVm?: EditFacilityCiDetailVm;\r\n\tinventoryDetailsVm?: EditFacilityInventoryDetailVm;\r\n\tfriendlyId?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityAccountInfoId': new UntypedFormControl(0, [...(validators['facilityAccountInfoId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'hasCiAccess': new UntypedFormControl(false, [...(validators['hasCiAccess'] ?? []), ...[]]),\r\n\t\t\t'hasInventoryAccess': new UntypedFormControl(false, [...(validators['hasInventoryAccess'] ?? []), ...[]]),\r\n\t\t\t'hasMetabolicAccess': new UntypedFormControl(false, [...(validators['hasMetabolicAccess'] ?? []), ...[]]),\r\n\t\t\t'facilityBusinessAreaEnums': new UntypedFormControl([], [...(validators['facilityBusinessAreaEnums'] ?? []), ...[]]),\r\n\t\t\t'businessAreas': new UntypedFormControl([], [...(validators['businessAreas'] ?? []), ...[]]),\r\n\t\t\t'ciDetailsVm': new UntypedFormControl(null, [...(validators['ciDetailsVm'] ?? []), ...[]]),\r\n\t\t\t'inventoryDetailsVm': new UntypedFormControl(null, [...(validators['inventoryDetailsVm'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): FacilityBusinessAreaVmFromFg {\r\n\t\treturn new FacilityBusinessAreaVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class FacilityBusinessAreaVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountInfoId(): number {\r\n\t\treturn this.fg.get('facilityAccountInfoId').value;\r\n\t}\r\n\tset facilityAccountInfoId(val) {\r\n\t\tthis.fg.get('facilityAccountInfoId').setValue(val);\r\n\t}\r\n\r\n\tget hasCiAccess(): boolean {\r\n\t\treturn this.fg.get('hasCiAccess').value;\r\n\t}\r\n\tset hasCiAccess(val) {\r\n\t\tthis.fg.get('hasCiAccess').setValue(val);\r\n\t}\r\n\r\n\tget hasInventoryAccess(): boolean {\r\n\t\treturn this.fg.get('hasInventoryAccess').value;\r\n\t}\r\n\tset hasInventoryAccess(val) {\r\n\t\tthis.fg.get('hasInventoryAccess').setValue(val);\r\n\t}\r\n\r\n\tget hasMetabolicAccess(): boolean {\r\n\t\treturn this.fg.get('hasMetabolicAccess').value;\r\n\t}\r\n\tset hasMetabolicAccess(val) {\r\n\t\tthis.fg.get('hasMetabolicAccess').setValue(val);\r\n\t}\r\n\r\n\tget facilityBusinessAreaEnums(): any {\r\n\t\treturn this.fg.get('facilityBusinessAreaEnums').value;\r\n\t}\r\n\tset facilityBusinessAreaEnums(val) {\r\n\t\tthis.fg.get('facilityBusinessAreaEnums').setValue(val);\r\n\t}\r\n\r\n\tget ciDetailsVm(): EditFacilityCiDetailVmFromFg {\r\n\t\treturn new EditFacilityCiDetailVmFromFg(this.fg.get('ciDetailsVm') as UntypedFormGroup);\r\n\t}\r\n\tset ciDetailsVm(val) {\r\n\t\t(this.fg.get('ciDetailsVm') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget inventoryDetailsVm(): EditFacilityInventoryDetailVmFromFg {\r\n\t\treturn new EditFacilityInventoryDetailVmFromFg(this.fg.get('inventoryDetailsVm') as UntypedFormGroup);\r\n\t}\r\n\tset inventoryDetailsVm(val) {\r\n\t\t(this.fg.get('inventoryDetailsVm') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { EditFacilityCiDetailVm } from 'app/shared/generated/Administration/Models/Facilities/BusinessAreas/EditFacilityCiDetailVm';\r\nimport { UiSwitchComponent } from 'ngx-ui-switch';\r\n\r\n@Component({\r\n selector: 'pcg-ci-business-area',\r\n templateUrl: './ci-business-area.component.html',\r\n styleUrls: ['./ci-business-area.component.scss'],\r\n standalone: false\r\n})\r\nexport class CiBusinessAreaComponent implements OnInit {\r\n @Input() model: EditFacilityCiDetailVm = new EditFacilityCiDetailVm();\r\n @Output() modelChange = new EventEmitter();\r\n\r\n @ViewChild('canGenerateCiInvoices', { static: false }) canGenerateCiInvoices: UiSwitchComponent;\r\n\r\n formGroup = EditFacilityCiDetailVm.Form;\r\n id: number;\r\n\r\n canEditPrimaryContacts: boolean;\r\n canEdit = false;\r\n\r\n constructor(private sec: SecurityService, private route: ActivatedRoute, private httpClient: HttpClient) { }\r\n\r\n ngOnInit() {\r\n this.formGroup.setValue(this.model);\r\n this.id = this.model.facilityId;\r\n this.canEditPrimaryContacts = this.sec.hasModuleAccess([BusinessAreaEnum.Admin, BusinessAreaEnum.CI],\r\n [...SecurityService.setMinRole(PermissionRole.UserAdmin)]);\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.CI, BusinessAreaEnum.MetabolicFormula, BusinessAreaEnum.Admin]\r\n , [PermissionRole.UserAdmin, ...SecurityService.setMinRole(PermissionRole.Manager)]\r\n );\r\n }\r\n\r\n canGenerateCiInvoiceChange() {\r\n this.formGroup.controls['canGenerateCiInvoices'].patchValue(this.canGenerateCiInvoices.checked);\r\n this.modelChange.emit(this.formGroup.value);\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { EditFacilityInventoryDetailVm } from 'app/shared/generated/Administration/Models/Facilities/BusinessAreas/EditFacilityInventoryDetailVm';\r\n\r\n@Component({\r\n selector: 'pcg-inventory-business-area',\r\n templateUrl: './inventory-business-area.component.html',\r\n styleUrls: ['./inventory-business-area.component.scss'],\r\n standalone: false\r\n})\r\nexport class InventoryBusinessAreaComponent implements OnInit {\r\n @Input() model: EditFacilityInventoryDetailVm;\r\n @Output() modelChange = new EventEmitter();\r\n\r\n formGroup = EditFacilityInventoryDetailVm.Form;\r\n canEdit: boolean;\r\n\r\n constructor(private sec: SecurityService) { }\r\n\r\n ngOnInit() {\r\n this.formGroup.patchValue(this.model);\r\n this.canEdit = this.sec.hasModuleAccess([BusinessAreaEnum.Admin],\r\n [...SecurityService.setMinRole(PermissionRole.UserAdmin)]);\r\n if (!this.canEdit ) { this.formGroup.disable(); }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'pcg-metabolic-business-area',\r\n templateUrl: './metabolic-business-area.component.html',\r\n styleUrls: ['./metabolic-business-area.component.scss'],\r\n standalone: false\r\n})\r\nexport class MetabolicBusinessAreaComponent {\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, computed, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Observable, tap } from 'rxjs';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { FacilityBusinessAreaVm } from 'app/shared/generated/Administration/Models/Facilities/BusinessAreas/FacilityBusinessAreaVm';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { CiBusinessAreaComponent } from './ci-business-area/ci-business-area.component';\r\nimport { InventoryBusinessAreaComponent } from './inventory-business-area/inventory-business-area.component';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\n\r\n@Component({\r\n selector: 'pcg-facilty-business-areas',\r\n templateUrl: './facilty-business-areas.component.html',\r\n styleUrls: ['./facilty-business-areas.component.scss'],\r\n standalone: false\r\n})\r\nexport class FaciltyBusinessAreasComponent implements OnInit {\r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() id: number;\r\n @Input() canEdit: boolean;\r\n\r\n @ViewChild('ciBusinessArea') ciBusinessArea: CiBusinessAreaComponent;\r\n @ViewChild('inventoryBusinessArea') inventoryBusinessArea: InventoryBusinessAreaComponent;\r\n\r\n formGroup = FacilityBusinessAreaVm.Form;\r\n model: FacilityBusinessAreaVm = FacilityBusinessAreaVm.GetModel(this.formGroup);\r\n model$: Observable;\r\n userId = computed(() => this.sec.getUser().id);\r\n\r\n facilityBusinessAreas = [\r\n BusinessAreaEnum.CI,\r\n BusinessAreaEnum.Inventory,\r\n BusinessAreaEnum.MetabolicFormula,\r\n ];\r\n\r\n items: SelectItem[] = [\r\n { text: \"Has Access\", value: true },\r\n { text: \"No Access\", value: false, additionalData: { color: 'red' } }\r\n ];\r\n\r\n businessAreaEnum = BusinessAreaEnum;\r\n\r\n constructor(\r\n private route: ActivatedRoute\r\n , private httpClient: HttpClient\r\n , public router: Router\r\n , public ms: SystemMessageService\r\n , private sec: SecurityService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.GetFacilityBusinessSettings();\r\n if (!this.businessArea) { this.route.queryParams.subscribe((params) => { this.businessArea = Number(params.module); }); }\r\n }\r\n\r\n GetFacilityBusinessSettings() {\r\n this.route.paramMap.subscribe(map => {\r\n this.model$ = this.httpClient.get(`api/Administration/Facility/GetFacilityBusinessSettings/${this.id}`)\r\n .pipe(tap((vm: FacilityBusinessAreaVm) => {\r\n this.model = vm;\r\n this.formGroup.patchValue(this.model);\r\n if (!this.canEdit) { this.formGroup.disable(); }\r\n })\r\n );\r\n });\r\n }\r\n\r\n getDisplayName = (ba: BusinessAreaEnum) => this.businessAreaEnum.toDescription(ba);\r\n hasBusinessArea = (ba: BusinessAreaEnum) => !this.model?.businessAreas.filter((o: string) => o === this.getDisplayName(ba)).length;\r\n hasValidCiForms = () => this.ciBusinessArea?.formGroup?.valid;\r\n hideBusinessArea = (ba: BusinessAreaEnum): boolean => !(ba == this.businessArea || this.businessArea == BusinessAreaEnum.Admin);\r\n\r\n submitForms() {\r\n this.formGroup.patchValue(this.model);\r\n if (\r\n !this.model.hasCiAccess \r\n && !this.model.hasInventoryAccess \r\n && !this.model.hasMetabolicAccess\r\n ) { return this.ms.setSystemMessage('At least one Business Area must be selected.', 'error'); }\r\n // Business areas will be undefined if user \r\n // is creating a new facility.\r\n if (this.model.hasCiAccess && !this.hasValidCiForms()) {\r\n return this.ms.setSystemMessage('You must fill out the facility account information before submitting.', 'error');\r\n }\r\n\r\n this.httpClient.post(`api/Administration/Facility/SaveFacilityBusinessSettings`, this.formGroup.value)\r\n .subscribe((sm: SystemMessage) => {\r\n if (sm.isSuccessful) { this.onMessageSuccess(sm); }\r\n else { this.onMessageError(sm); }\r\n }\r\n );\r\n }\r\n\r\n onMessageSuccess(sm: SystemMessage) {\r\n this.setSysMessage(sm);\r\n this.formGroup.setValue(sm.model);\r\n }\r\n\r\n onMessageError(sm: SystemMessage) { this.setSysMessage(sm); this.formGroup.patchValue(sm.model); }\r\n\r\n setSysMessage = (sm: SystemMessage) => this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n}\r\n","
\r\n\t

\r\n\t\tThis tab contains business area specific information. Assigning access to certain business areas may require\r\n\t\tadditional details.\r\n\t\t
\r\n\t\tUpdates may only be performed by User Admin level users and above for either the related business area or the\r\n\t\t\"Admin\" business area.\r\n\t\t
\r\n\t\tTo view your roles, visit the module access section of your profile.\r\n\t

\r\n
\r\n\r\n
\r\n
\r\n\t\r\n\t\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{ getDisplayName(businessAreaEnum.CI) }}\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{{ getDisplayName(businessAreaEnum.Inventory) }}\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{{ getDisplayName(businessAreaEnum.MetabolicFormula) }}\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n
","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, computed, inject, input} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SystemMessage } from \"app/core/system-message/system-message-service\";\r\nimport { NotificationService } from \"app/notification.service\";\r\n\r\n\r\n@Component({\r\n selector: \"pcg-permissions-banner\",\r\n templateUrl: \"./permissions-banner.component.html\",\r\n styleUrls: [\"./permissions-banner.component.scss\"],\r\n standalone: false\r\n})\r\nexport class PermissionsBannerComponent {\r\n httpClient = inject(HttpClient);\r\n router = inject(Router);\r\n notification = inject(NotificationService);\r\n\r\n minRole = input(null);\r\n minRoleStr = computed(() => {\r\n return this.minRole() ? PermissionRole.toDescription(this.minRole()) : \"\";\r\n });\r\n message = input(null); // Optional message input used to override default message\r\n\r\n createTicket() {\r\n this.httpClient.get(`api/HelpDesk/HelpDeskTicket/CreateTicket?isSysAdmin=false`)\r\n .subscribe((msg: SystemMessage) => {\r\n if (msg.isSuccessful) { this.router.navigateByUrl(`/support/tickets/edit/${msg.value}?request=moduleAccess`); } \r\n else { this.notification.showMessage(msg.message, msg.messageClass); }\r\n }\r\n\t\t);\r\n }\r\n}\r\n","
\r\n @if(message()){ {{ message() }} }\r\n @else {\r\n You must be a {{ minRoleStr() }} or above to edit this information.\r\n }\r\n Click here to submit a support ticket.\r\n
","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UiSwitchComponent } from \"ngx-ui-switch\";\r\nimport { Observable } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { faExternalLink, faHouseMedical } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport { PcgSelectComponent } from \"app/shared/form-elements/components/pcg-select-component/select.component\";\r\nimport { ActivationEnum } from \"app/core/enums/generated/ActivationEnum\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { EditFacilityVm } from \"app/shared/generated/Administration/Models/Facilities/EditFacilityVm\";\r\nimport { ActivationService } from \"app/shared/services/activation.service\";\r\nimport { FormatHelperService } from \"app/shared/helpers/format-helper.service\";\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { ConfirmationModalComponent } from 'app/shared/form-elements/components/confirmation-modal/confirmation-modal.component';\r\n\r\n@Component({\r\n selector: \"pcg-shared-edit-facility\",\r\n templateUrl: \"./edit-facility.component.html\",\r\n styleUrls: [\"./edit-facility.component.scss\"],\r\n standalone: false\r\n})\r\nexport class EditFacilityComponent implements OnInit {\r\n\r\n\t@Input() businessArea: BusinessAreaEnum;\r\n\t@Input() backBtnPlacement = \"auto\";\r\n\r\n\t@ViewChild(\"isActive\", { static: false }) isActive: UiSwitchComponent;\r\n\t@ViewChild(\"isSameAddress\", { static: false }) isSameAddress: UiSwitchComponent;\r\n\t@ViewChild(\"isShipAddressValidated\", { static: false }) isShipAddressValidated: UiSwitchComponent;\r\n\t\r\n\tformGroup = EditFacilityVm.Form;\r\n\tmodel = EditFacilityVm.GetModel(this.formGroup);\r\n\tmodel$: Observable;\r\n\tapi = \"api/Select/SmartyCounties\";\r\n\r\n\tcanEdit = false;\r\n\tcanDeactivate = false;\r\n\tcanViewReports = false;\r\n\tcanManualEntry = true;\r\n\tshipAddressDisabled = false;\r\n oldIcqParticipant = false;\r\n\r\n\tid: number;\r\n\r\n\tfacilityName: string;\r\n\tactiveTab = \"Details\";\r\n\toldShipSmartyAddress: string;\r\n\toldShipFacilityName: string;\r\n\tfaIcon = { faExternalLink, faHouseMedical };\r\n pr = PermissionRole;\r\n\r\n\t// Back Button Variables\r\n\tbackBtnLink: string;\r\n\tbackBtnTooltip: string;\r\n\r\n\tconstructor(\r\n\t\tprivate route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, public router: Router\r\n\t\t, title: Title\r\n\t\t, private sec: SecurityService\r\n\t\t, private activationService: ActivationService\r\n\t\t, public ms: SystemMessageService\r\n , public modalService: NgbModal\r\n\t) { title.setTitle(\"Edit Facility\"); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.canEdit = this.sec.hasModuleAccess([BusinessAreaEnum.Admin],\r\n [...SecurityService.setMinRole(PermissionRole.UserAdmin)]);\r\n\t\tthis.canViewReports = this.sec.hasModuleAccess(\r\n\t\t\t[ \r\n\t\t\t\tBusinessAreaEnum.CI\r\n\t\t\t\t, BusinessAreaEnum.Admin\r\n\t\t\t]\r\n\t\t\t, [\r\n\t\t\t\tPermissionRole.UserAdmin\r\n\t\t\t\t, ...SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t\t]\r\n\t\t);\r\n\t\tthis.editFacility();\r\n\t\tif (this.route.snapshot.queryParamMap.get(\"tab\")) {\r\n\t\t\tthis.activeTab = this.route.snapshot.queryParamMap.get(\"tab\");\r\n\t\t}\r\n\t\tthis.backBtnTooltip = BusinessAreaEnum.toDescription(this.businessArea);\r\n\t\tif (\r\n\t\t\tthis.businessArea === null \r\n\t\t\t|| this.businessArea === undefined \r\n\t\t\t|| this.businessArea === BusinessAreaEnum.Admin\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tthis.sec.hasModuleAccess(\r\n\t\t\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t\t\t, [ ...SecurityService.setMinRole(PermissionRole.SystemAdmin) ]\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tthis.canEdit = true;\r\n\t\t\t\tthis.canDeactivate = true;\r\n\t\t\t}\r\n\t\t\tthis.backBtnTooltip = \"Global\";\r\n\t\t\tthis.backBtnLink = \"/admin/organizations/facilities/list\";\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.CI) {\r\n\t\t\tthis.backBtnLink = \"/ci-repack/facilities/list\";\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.MetabolicFormula) {\r\n\t\t\tthis.backBtnLink = \"/metabolic-formula/facilities/list\";\r\n\t\t}\r\n\r\n\t\tthis.formGroup.get('facilityType')?.disable();\r\n\t}\r\n\r\n\tgetMedicalDirector = () => this.hasMedicalDirector() \r\n\t\t? this.model?.medicalDirectorName \r\n\t\t: \"Set on the Organization\";\r\n\r\n\thasMedicalDirector = () => !FormatHelperService.GetIsNullyOrWhitespace(this.model.medicalDirectorName);\r\n\r\n\teditFacility() {\r\n\t\tthis.route.paramMap.subscribe((map) => {\r\n\t\t\tthis.id = parseInt(map.get(\"id\"), 10);\r\n\t\t\tthis.model$ = this.httpClient.get(`api/Administration/Facility/GetFacility/${this.id}`)\r\n\t\t\t\t.pipe(\r\n tap((vm: EditFacilityVm) => {\r\n if (vm.countyId === 0) { vm.countyId = null; } // preventing a blank selection on load\r\n this.formGroup.setValue(vm);\r\n this.facilityName = vm.facilityName;\r\n this.oldShipFacilityName = this.model.shipFacilityName;\r\n this.oldShipSmartyAddress = this.model.shipSmartyAddress;\r\n this.oldIcqParticipant = this.model.isIcqParticipant;\r\n this.toggleShippingFormActivation(!this.model.isSameAddress);\r\n if (!this.canEdit) { this.formGroup.disable(); }\r\n })\r\n );\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tactivateDeactivate() {\r\n\t\tthis.activationService.activateDeactivate(\r\n\t\t\tthis.id\r\n\t\t\t, ActivationEnum.Facility\r\n\t\t\t, this.formGroup.value.isActive ? false : true\r\n\t\t);\r\n\t}\r\n\r\n\tupdateShippingInfo() {\r\n\t\tthis.formGroup.controls.countyName.patchValue(this.formGroup.controls.smartyAddress.value.countyName);\r\n\t\tif (this.isSameAddress.checked) {\r\n\t\t\tthis.formGroup.get(\"shipFacilityName\").patchValue(this.formGroup.value.facilityName);\r\n\t\t\tthis.formGroup.get(\"shipSmartyAddress\").patchValue(this.formGroup.value.smartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(false);\r\n\t\t} else {\r\n\t\t\tthis.formGroup.get(\"shipFacilityName\").patchValue(this.oldShipFacilityName);\r\n\t\t\tthis.formGroup.get(\"shipSmartyAddress\").patchValue(this.oldShipSmartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(true);\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleShippingFormActivation(isActive: Boolean) {\r\n\t\tif (isActive) {\r\n\t\t\tthis.enableShipFacilityName();\r\n\t\t\tthis.shipAddressDisabled = false;\r\n\t\t} else {\r\n\t\t\tthis.disableShipFacilityName();\r\n\t\t\tthis.shipAddressDisabled = true;\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateCountyId() {\r\n\t\tif (this.formGroup?.value?.countyId === 0) {\r\n\t\t\tthis.formGroup?.controls?.countyId?.patchValue(null);\r\n\t\t\tthis.model = EditFacilityVm.GetModel(this.formGroup);\r\n\t\t}\r\n\t\tthis.formGroup.updateValueAndValidity();\r\n\t}\r\n\r\n\tsubmitForms() {\t\r\n if (!this.formGroup.valid) {\r\n\t\t\tvalidateForm(this.formGroup);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n if (\r\n this.oldIcqParticipant == true \r\n && this.formGroup.controls.isIcqParticipant.value == false\r\n ) {\r\n const modal = this.modalService.open(ConfirmationModalComponent);\r\n modal.componentInstance.modalRef = modal;\r\n modal.componentInstance.confirmationMessage = \"

\" \r\n + \"Setting ICQ Participant to off will remove any published ICQ Surveys for this Fiscal Year assiciated to this facility.\" \r\n + \"

\";\r\n modal.componentInstance.confirmationMessage += '

Are you sure you wish to continue?

'\r\n modal.result.then((emittedValue) => {\r\n if (emittedValue) { return this.runSave(); }\r\n }).catch(err => { // When user clicks out of confirmation box.\r\n\r\n });\r\n }\r\n\t\telse { this.runSave(); }\r\n\t}\r\n\r\n runSave() { \r\n\t\tlet disabled = this.hasDisabledShipFacilityName();\r\n\t\t// As a result of moving this to a .ts POST method, disabled values\r\n\t\t// won't go through within the request body.\r\n\t\tif (this.hasDisabledShipFacilityName) { this.enableShipFacilityName(); }\r\n\r\n this.httpClient.post(\r\n\t\t\t`api/Administration/Facility/SaveFacility`\r\n\t\t\t, this.formGroup.value\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\t// Re-disable property after POST request.\r\n\t\t\tif (disabled) { this.disableShipFacilityName(); }\r\n\t\t\tif (sm.isSuccessful) { this.onMessageSuccess(sm); } \r\n\t\t\telse { this.onMessageError(sm); }\r\n\t\t});\r\n }\r\n\r\n\treroute(sm: SystemMessage) {\r\n\t\tif (\r\n\t\t\tthis.businessArea === BusinessAreaEnum.Admin \r\n\t\t\t|| this.businessArea === null \r\n\t\t\t|| this.businessArea == undefined \r\n\t\t\t|| Number.isNaN(this.businessArea)\r\n\t\t) {\r\n\t\t\tthis.router.navigate([`/admin/organizations/facilities/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.CI) {\r\n\t\t\tthis.router.navigate([`/ci-repack/facilities/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.MetabolicFormula) {\r\n\t\t\tthis.router.navigate([`/metabolic-formula/facilities/edit/${sm.value}`]);\r\n\t\t}\r\n\t}\r\n\r\n\tonMessageSuccess(sm: SystemMessage) {\r\n\t\tthis.setSysMessage(sm);\r\n\t\tthis.formGroup.setValue(sm.model);\r\n\t\tthis.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => { this.reroute(sm); });\r\n\t}\r\n\r\n\tonMessageError(sm: SystemMessage) {\r\n\t\tthis.setSysMessage(sm);\r\n\t\tthis.formGroup.patchValue(sm.model);\r\n\t}\r\n\r\n\tenableShipFacilityName() {\r\n\t\tthis.formGroup.get(\"shipFacilityName\").enable();\r\n\t\tthis.formGroup.get(\"shipSmartyAddress\").enable();\r\n\t}\r\n\r\n\tdisableShipFacilityName() {\r\n\t\tthis.formGroup.get(\"shipFacilityName\").disable();\r\n\t\tthis.formGroup.get(\"shipSmartyAddress\").disable();\r\n\t}\r\n\r\n\tmedDirectorChange(select: PcgSelectComponent) {\r\n\t\tif (select.value) {\r\n\t\t\tthis.model.medicalDirectorLicense = select.additionalData?.licenseNumber;\r\n\t\t\tthis.model.medicalDirectorExpDate = select.additionalData?.expirationDate;\r\n\t\t} else {\r\n\t\t\tthis.model.medicalDirectorLicense = \"\";\r\n\t\t\tthis.model.medicalDirectorExpDate = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tsetSysMessage = (sm: SystemMessage) => this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n\thasDisabledShipFacilityName = () => this.formGroup.get(\"shipFacilityName\").disabled;\r\n}\r\n","\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n @if (!canEdit) {\r\n \r\n } \r\n @if (model.facilityId === 0) {\r\n \r\n In order to create a Facility you will need to enter the following information.\r\n \r\n } \r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t@if (formGroup.get('facilityType')?.value) {\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t@if (!model.isActive) {\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tThis Facility is deactivated.\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t{{ model.isActive ? 'Deactivate' : 'Reactivate' }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ model?.organizationName }}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ getMedicalDirector() }}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ model?.medicalDirectorLicense }}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ model?.medicalDirectorExpDate }}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Address

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ this.formGroup?.controls?.countyName?.value }}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Shipping Address

\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ this.formGroup?.controls?.shipFacilityName?.value }}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ this.formGroup?.controls?.shipSmartyAddress?.value?.formattedAddress }}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class FacilityListVm {\r\n\tfacilityId: number;\r\n\tfacilityName?: string;\r\n\tfacilityIdentifier?: string;\r\n\taddress?: string;\r\n\tcity?: string;\r\n\tstate?: string;\r\n\tzip?: string;\r\n\tcounty?: string;\r\n\tisActive?: string;\r\n\tcanDelete?: boolean;\r\n\tisBPHP: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[]]),\r\n\t\t\t'address': new UntypedFormControl(null, [...(validators['address'] ?? []), ...[]]),\r\n\t\t\t'city': new UntypedFormControl(null, [...(validators['city'] ?? []), ...[]]),\r\n\t\t\t'state': new UntypedFormControl(null, [...(validators['state'] ?? []), ...[]]),\r\n\t\t\t'zip': new UntypedFormControl(null, [...(validators['zip'] ?? []), ...[]]),\r\n\t\t\t'county': new UntypedFormControl(null, [...(validators['county'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(null, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(null, [...(validators['canDelete'] ?? []), ...[]]),\r\n\t\t\t'isBPHP': new UntypedFormControl(false, [...(validators['isBPHP'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['facilityName', {\"orderId\":0,\"sortColumn\":\"facilityName\",\"searchColumn\":\"facilityName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Facility\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['address', {\"orderId\":1,\"sortColumn\":\"address\",\"searchColumn\":\"address\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Address\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityIdentifier', {\"orderId\":2,\"sortColumn\":\"facilityIdentifier\",\"searchColumn\":\"facilityIdentifier\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Identifier\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['city', {\"orderId\":3,\"sortColumn\":\"city\",\"searchColumn\":\"city\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"City\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['county', {\"orderId\":4,\"sortColumn\":\"county\",\"searchColumn\":\"county\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"County\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isActive', {\"orderId\":5,\"sortColumn\":\"isActive\",\"searchColumn\":\"isActive\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Is Active?\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":6,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): FacilityListVmFromFg {\r\n\t\treturn new FacilityListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class FacilityListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget address(): string {\r\n\t\treturn this.fg.get('address').value;\r\n\t}\r\n\tset address(val) {\r\n\t\tthis.fg.get('address').setValue(val);\r\n\t}\r\n\r\n\tget city(): string {\r\n\t\treturn this.fg.get('city').value;\r\n\t}\r\n\tset city(val) {\r\n\t\tthis.fg.get('city').setValue(val);\r\n\t}\r\n\r\n\tget state(): string {\r\n\t\treturn this.fg.get('state').value;\r\n\t}\r\n\tset state(val) {\r\n\t\tthis.fg.get('state').setValue(val);\r\n\t}\r\n\r\n\tget zip(): string {\r\n\t\treturn this.fg.get('zip').value;\r\n\t}\r\n\tset zip(val) {\r\n\t\tthis.fg.get('zip').setValue(val);\r\n\t}\r\n\r\n\tget county(): string {\r\n\t\treturn this.fg.get('county').value;\r\n\t}\r\n\tset county(val) {\r\n\t\tthis.fg.get('county').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): string {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n\r\n\tget isBPHP(): boolean {\r\n\t\treturn this.fg.get('isBPHP').value;\r\n\t}\r\n\tset isBPHP(val) {\r\n\t\tthis.fg.get('isBPHP').setValue(val);\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { FacilityListVm } from 'app/shared/generated/Administration/Models/Facilities/FacilityListVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-facilities-list',\r\n templateUrl: './facilities-list.component.html',\r\n styleUrls: ['./facilities-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class FacilitiesListComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: true }) table: TableComponent;\r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() header: string;\r\n @Input() filterMap = {\r\n\t\t\"isActive\": \"Is Active\"\r\n , \"businessArea\": \"Business Area\"\r\n , \"medicalDirectorId\": \"Medical Director\"\r\n , \"organizationId\": \"Organization\"\r\n , \"isBPHP\": \"Is BPHP\"\r\n\t};\r\n\r\n filters = {\r\n isActive: true\r\n , businessArea: null\r\n , medicalDirectorId: null\r\n , organizationId: null\r\n , isBPHP: null\r\n };\r\n\r\n initFilters = {\r\n isActive: true\r\n , businessArea: null\r\n , medicalDirectorId: null\r\n , organizationId: null\r\n , isBPHP: null\r\n\r\n };\r\n baseEditRoles = [ \r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ];\r\n\r\n canAdd = false;\r\n canDelete = false;\r\n showBusinessArea = true;\r\n columns = FacilityListVm.ColumnDefs;\r\n\r\n hasFacilities = true;\r\n\r\n constructor(\r\n private formatHelper: FormatHelperService\r\n , public btnFilterService: ButtonFilterService\r\n , public security: SecurityService\r\n , public router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.filters.businessArea = this.businessArea;\r\n this.initFilters.businessArea = this.businessArea; \r\n if (this.businessArea && this.businessArea != BusinessAreaEnum.Admin) { this.showBusinessArea = false; }\r\n this.canAdd = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n this.canDelete = this.security.hasModuleAccess(\r\n [ this.businessArea ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n this.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n }\r\n\r\n onTableReturn(tableData: boolean) { this.hasFacilities = tableData; }\r\n\r\n resetFilters() {\r\n\t\tthis.filters = Object.assign(this.filters, this.initFilters);\r\n\t\tthis.reloadTable();\r\n\t}\r\n\r\n canEditFacility = (): boolean => this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ ...SecurityService.setMinRole(PermissionRole.User) ]\r\n );\r\n\r\n editFacilityLink(): string {\r\n switch(this.businessArea) {\r\n case BusinessAreaEnum.CI: return '/ci-repack/facilities/edit/';\r\n case BusinessAreaEnum.MetabolicFormula: return '/metabolic-formula/facilities/edit/';\r\n default: return '/admin/organizations/facilities/edit/';\r\n }\r\n }\r\n\r\n reloadTable() {\r\n\t this.table.hideShowColumn('isActive', this.formatHelper.GetIsNully(this.filters.isActive));\r\n this.table.ajaxReload();\r\n }\r\n}\r\n","
\r\n\tIn order to see this list you must be associated to at least one HEROS Agency or HOMER Facility. \r\n\tPlease contact an administrator for assistance.\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n\t\t\t\t\r\n\t\t\t\t\tYes\r\n\t\t\t\t\tNo\r\n\t\t\t\t\tAll\r\n\t\t\t\t\r\n
\r\n\r\n
\r\n \r\n \r\n Yes\r\n No\r\n All\r\n \r\n
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n
\r\n
\r\n
\r\n\r\n\r\n\t\r\n\t\t{{ columns.get('facilityName').displayName }}\r\n\t\t\r\n\t\t\t{{ row.facilityName }}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\t{{ columns.get('address').displayName }}\r\n\t\t{{ row.address }}, {{ row.city }}, {{row.state}} {{row.zip}}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('facilityIdentifier').displayName }}\r\n\t\t{{ row.facilityIdentifier }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('city').displayName }}\r\n\t\t{{ row.city }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('county').displayName }}\r\n\t\t{{ row.county }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('isActive').displayName }}\r\n\t\t{{ row.isActive }}\r\n\t\r\n\r\n\t\r\n\t\tDelete\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'pcg-photo-modal',\r\n templateUrl: './photo-modal.component.html',\r\n styleUrls: ['./photo-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class PhotoModalComponent implements OnInit {\r\n\r\n url: string; // The URL of the image we want to display\r\n\tname: string; // The name of the photo\r\n\r\n\tconstructor(public activeModal: NgbActiveModal) { }\r\n\r\n\tngOnInit() { }\r\n}\r\n","\r\n\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PhotoModalComponent } from 'app/heros/applicants/edit-applicant/edit-applicant-helpers/photo-modal/photo-modal.component';\r\n\r\nimport { SlideImageVm } from 'app/shared/generated/Models/SlideImageVm';\r\n\r\n@Component({\r\n selector: 'pcg-image-slider',\r\n templateUrl: './image-slider.component.html',\r\n styleUrls: ['./image-slider.component.scss'],\r\n standalone: false\r\n})\r\nexport class ImageSliderComponent implements OnInit, OnDestroy {\r\n\r\n @Input() slides: SlideImageVm[] = [];\r\n @Input() autoSlide: boolean = false;\r\n @Input() useThumbnails: boolean = true;\r\n\r\n currentIndex: number = 0;\r\n timeoutId?: number;\r\n hasImages = true;\r\n\r\n constructor(private modalService: NgbModal) { }\r\n\r\n ngOnInit() { \r\n if (this.slides.length === 0) { this.hasImages = false; }\r\n this.resetTimer(); \r\n }\r\n\r\n resetTimer() {\r\n if (this.autoSlide === true) {\r\n if (this.timeoutId) { window.clearTimeout(this.timeoutId); }\r\n this.timeoutId = window.setTimeout(() => this.goToNext(), 5000);\r\n }\r\n }\r\n \r\n goToPrevious(): void {\r\n const isFirstSlide = this.currentIndex === 0;\r\n const newIndex = isFirstSlide ? this.slides.length - 1 : this.currentIndex - 1; \r\n this.resetTimer();\r\n this.currentIndex = newIndex;\r\n }\r\n \r\n goToNext(): void {\r\n const isLastSlide = this.currentIndex === this.slides.length - 1;\r\n const newIndex = isLastSlide ? 0 : this.currentIndex + 1; \r\n this.resetTimer();\r\n this.currentIndex = newIndex;\r\n }\r\n \r\n goToSlide(slideIndex: number): void {\r\n this.resetTimer();\r\n this.currentIndex = slideIndex; \r\n }\r\n \r\n getCurrentSlideUrl() { return `url(\"${this.slides[this.currentIndex]?.url}\")`; }\r\n getCurrentSlideSrc() { return this.slides[this.currentIndex]?.url; }\r\n getCurrentSlideName() { return this.slides[this.currentIndex]?.title; }\r\n getSlidesScr(i: string | number) { return this.slides[i]?.url; }\r\n\r\n onScroll = (e: WheelEvent) => e.deltaY > 0 ? this.goToNext() : this.goToPrevious(); \r\n\r\n openImageModal(imageUrl: string, imageName: string): void {\r\n const modalRef = this.modalService.open(PhotoModalComponent, { size: 'lg' });\r\n modalRef.componentInstance.url = imageUrl;\r\n modalRef.componentInstance.name = imageName;\r\n }\r\n\r\n ngOnDestroy() { window.clearTimeout(this.timeoutId); }\r\n\r\n}\r\n","
\r\n
\r\n
1\">\r\n
\r\n
\r\n
\r\n \r\n
\r\n
1\">\r\n
\r\n
\r\n
\r\n \r\n @if(useThumbnails && slides?.length > 1) {\r\n
\r\n @for(slide of slides; let slideIndex = $index; track slide.url) {\r\n \r\n } \r\n
\r\n }\r\n\r\n \r\n @if(!useThumbnails && slides?.length > 1) {\r\n
\r\n @for(slide of slides; let slideIndex = $index; track slide.url) {\r\n
\r\n }\r\n
\r\n }\r\n
\r\n\r\n \r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ImageSliderComponent } from './image-slider/image-slider.component';\r\n\r\n@NgModule({\r\n imports: [ CommonModule ]\r\n , exports: [ ImageSliderComponent ]\r\n , declarations: [ ImageSliderComponent ]\r\n})\r\nexport class ImageSliderModule { }\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class OrganizationAccountRequestVm {\r\n\torganizationAccountRequestId: number;\r\n\torganizationId?: number;\r\n\torganizationAccountId: number;\r\n\toldFacilityAccountName?: any;\r\n\tnewFacilityAccountName?: any;\r\n\tfacilityAccountNameId: number;\r\n\tfacilityAccountNamePfsId?: number;\r\n\toldAccountNumber?: string;\r\n\tnewAccountNumber?: string;\r\n\toldExpirationDate?: Date;\r\n\tnewExpirationDate?: Date;\r\n\toldNotes?: string;\r\n\tnewNotes?: string;\r\n\toldIsActive?: boolean;\r\n\tnewIsActive: boolean;\r\n\toldIsGracePeriod?: boolean;\r\n\tnewIsGracePeriod: boolean;\r\n\toldUploadFilePath?: string;\r\n\tnewUploadFilePath?: string;\r\n\toldFileName?: string;\r\n\tnewFileName?: string;\r\n\tisNewRequest: boolean;\r\n\tisRemoveDoc: boolean;\r\n\tisNotification: boolean;\r\n\trequestDate?: Date;\r\n\trequestBy?: any;\r\n\trequestStatus?: any;\r\n\treviewDate?: Date;\r\n\treviewedBy?: any;\r\n\tdenialExplanation?: string;\r\n\tsubmitButton: boolean;\r\n\tfile?: any;\r\n\tuploadFiles?: any;\r\n\tfriendlyId?: string;\r\n\tfacilityId: number;\r\n\taccountAdded?: string;\r\n\taccountName?: string;\r\n\taccountNumber?: string;\r\n\texpirationDate?: Date;\r\n\tisGracePeriod?: boolean;\r\n\tisActive?: boolean;\r\n\tuploadFilePath?: string;\r\n\tnotes?: string;\r\n\tpfsIds?: string;\r\n\torganizationName?: string;\r\n\torganizationAddress?: string;\r\n\tpfsFacilityAccountRequestIds?: number[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'organizationAccountRequestId': new UntypedFormControl(0, [...(validators['organizationAccountRequestId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationId': new UntypedFormControl(null, [...(validators['organizationId'] ?? []), ...[]]),\r\n\t\t\t'organizationAccountId': new UntypedFormControl(0, [...(validators['organizationAccountId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'oldFacilityAccountName': new UntypedFormControl(null, [...(validators['oldFacilityAccountName'] ?? []), ...[]]),\r\n\t\t\t'newFacilityAccountName': new UntypedFormControl(null, [...(validators['newFacilityAccountName'] ?? []), ...[]]),\r\n\t\t\t'facilityAccountNameId': new UntypedFormControl(0, [...(validators['facilityAccountNameId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityAccountNamePfsId': new UntypedFormControl(null, [...(validators['facilityAccountNamePfsId'] ?? []), ...[]]),\r\n\t\t\t'oldAccountNumber': new UntypedFormControl(null, [...(validators['oldAccountNumber'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'newAccountNumber': new UntypedFormControl(null, [...(validators['newAccountNumber'] ?? []), ...[Validators.required, Validators.maxLength(50), Validators.pattern(\"^[A-Za-z0-9 ]*\")]]),\r\n\t\t\t'oldExpirationDate': new UntypedFormControl(null, [...(validators['oldExpirationDate'] ?? []), ...[]]),\r\n\t\t\t'newExpirationDate': new UntypedFormControl(null, [...(validators['newExpirationDate'] ?? []), ...[]]),\r\n\t\t\t'oldNotes': new UntypedFormControl(null, [...(validators['oldNotes'] ?? []), ...[Validators.maxLength(1000)]]),\r\n\t\t\t'newNotes': new UntypedFormControl(null, [...(validators['newNotes'] ?? []), ...[Validators.maxLength(1000)]]),\r\n\t\t\t'oldIsActive': new UntypedFormControl(null, [...(validators['oldIsActive'] ?? []), ...[]]),\r\n\t\t\t'newIsActive': new UntypedFormControl(false, [...(validators['newIsActive'] ?? []), ...[]]),\r\n\t\t\t'oldIsGracePeriod': new UntypedFormControl(null, [...(validators['oldIsGracePeriod'] ?? []), ...[]]),\r\n\t\t\t'newIsGracePeriod': new UntypedFormControl(false, [...(validators['newIsGracePeriod'] ?? []), ...[]]),\r\n\t\t\t'oldUploadFilePath': new UntypedFormControl(null, [...(validators['oldUploadFilePath'] ?? []), ...[Validators.maxLength(250)]]),\r\n\t\t\t'newUploadFilePath': new UntypedFormControl(null, [...(validators['newUploadFilePath'] ?? []), ...[Validators.maxLength(250)]]),\r\n\t\t\t'oldFileName': new UntypedFormControl(null, [...(validators['oldFileName'] ?? []), ...[]]),\r\n\t\t\t'newFileName': new UntypedFormControl(null, [...(validators['newFileName'] ?? []), ...[]]),\r\n\t\t\t'isNewRequest': new UntypedFormControl(false, [...(validators['isNewRequest'] ?? []), ...[]]),\r\n\t\t\t'isRemoveDoc': new UntypedFormControl(false, [...(validators['isRemoveDoc'] ?? []), ...[]]),\r\n\t\t\t'isNotification': new UntypedFormControl(false, [...(validators['isNotification'] ?? []), ...[]]),\r\n\t\t\t'requestDate': new UntypedFormControl(null, [...(validators['requestDate'] ?? []), ...[]]),\r\n\t\t\t'requestBy': new UntypedFormControl(null, [...(validators['requestBy'] ?? []), ...[]]),\r\n\t\t\t'requestStatus': new UntypedFormControl(null, [...(validators['requestStatus'] ?? []), ...[]]),\r\n\t\t\t'reviewDate': new UntypedFormControl(null, [...(validators['reviewDate'] ?? []), ...[]]),\r\n\t\t\t'reviewedBy': new UntypedFormControl(null, [...(validators['reviewedBy'] ?? []), ...[]]),\r\n\t\t\t'denialExplanation': new UntypedFormControl(null, [...(validators['denialExplanation'] ?? []), ...[Validators.maxLength(500)]]),\r\n\t\t\t'submitButton': new UntypedFormControl(false, [...(validators['submitButton'] ?? []), ...[]]),\r\n\t\t\t'file': new UntypedFormControl(null, [...(validators['file'] ?? []), ...[]]),\r\n\t\t\t'uploadFiles': new UntypedFormControl([], [...(validators['uploadFiles'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'accountAdded': new UntypedFormControl(null, [...(validators['accountAdded'] ?? []), ...[]]),\r\n\t\t\t'accountName': new UntypedFormControl(null, [...(validators['accountName'] ?? []), ...[]]),\r\n\t\t\t'accountNumber': new UntypedFormControl(null, [...(validators['accountNumber'] ?? []), ...[]]),\r\n\t\t\t'expirationDate': new UntypedFormControl(null, [...(validators['expirationDate'] ?? []), ...[]]),\r\n\t\t\t'isGracePeriod': new UntypedFormControl(null, [...(validators['isGracePeriod'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(null, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'uploadFilePath': new UntypedFormControl(null, [...(validators['uploadFilePath'] ?? []), ...[]]),\r\n\t\t\t'notes': new UntypedFormControl(null, [...(validators['notes'] ?? []), ...[]]),\r\n\t\t\t'pfsIds': new UntypedFormControl(null, [...(validators['pfsIds'] ?? []), ...[]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[]]),\r\n\t\t\t'organizationAddress': new UntypedFormControl(null, [...(validators['organizationAddress'] ?? []), ...[]]),\r\n\t\t\t'pfsFacilityAccountRequestIds': new UntypedFormControl([], [...(validators['pfsFacilityAccountRequestIds'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): OrganizationAccountRequestVmFromFg {\r\n\t\treturn new OrganizationAccountRequestVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class OrganizationAccountRequestVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget organizationAccountRequestId(): number {\r\n\t\treturn this.fg.get('organizationAccountRequestId').value;\r\n\t}\r\n\tset organizationAccountRequestId(val) {\r\n\t\tthis.fg.get('organizationAccountRequestId').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationAccountId(): number {\r\n\t\treturn this.fg.get('organizationAccountId').value;\r\n\t}\r\n\tset organizationAccountId(val) {\r\n\t\tthis.fg.get('organizationAccountId').setValue(val);\r\n\t}\r\n\r\n\tget oldFacilityAccountName(): any {\r\n\t\treturn this.fg.get('oldFacilityAccountName').value;\r\n\t}\r\n\tset oldFacilityAccountName(val) {\r\n\t\tthis.fg.get('oldFacilityAccountName').setValue(val);\r\n\t}\r\n\r\n\tget newFacilityAccountName(): any {\r\n\t\treturn this.fg.get('newFacilityAccountName').value;\r\n\t}\r\n\tset newFacilityAccountName(val) {\r\n\t\tthis.fg.get('newFacilityAccountName').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountNameId(): number {\r\n\t\treturn this.fg.get('facilityAccountNameId').value;\r\n\t}\r\n\tset facilityAccountNameId(val) {\r\n\t\tthis.fg.get('facilityAccountNameId').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountNamePfsId(): number {\r\n\t\treturn this.fg.get('facilityAccountNamePfsId').value;\r\n\t}\r\n\tset facilityAccountNamePfsId(val) {\r\n\t\tthis.fg.get('facilityAccountNamePfsId').setValue(val);\r\n\t}\r\n\r\n\tget oldAccountNumber(): string {\r\n\t\treturn this.fg.get('oldAccountNumber').value;\r\n\t}\r\n\tset oldAccountNumber(val) {\r\n\t\tthis.fg.get('oldAccountNumber').setValue(val);\r\n\t}\r\n\r\n\tget newAccountNumber(): string {\r\n\t\treturn this.fg.get('newAccountNumber').value;\r\n\t}\r\n\tset newAccountNumber(val) {\r\n\t\tthis.fg.get('newAccountNumber').setValue(val);\r\n\t}\r\n\r\n\tget oldExpirationDate(): Date {\r\n\t\treturn this.fg.get('oldExpirationDate').value;\r\n\t}\r\n\tset oldExpirationDate(val) {\r\n\t\tthis.fg.get('oldExpirationDate').setValue(val);\r\n\t}\r\n\r\n\tget newExpirationDate(): Date {\r\n\t\treturn this.fg.get('newExpirationDate').value;\r\n\t}\r\n\tset newExpirationDate(val) {\r\n\t\tthis.fg.get('newExpirationDate').setValue(val);\r\n\t}\r\n\r\n\tget oldNotes(): string {\r\n\t\treturn this.fg.get('oldNotes').value;\r\n\t}\r\n\tset oldNotes(val) {\r\n\t\tthis.fg.get('oldNotes').setValue(val);\r\n\t}\r\n\r\n\tget newNotes(): string {\r\n\t\treturn this.fg.get('newNotes').value;\r\n\t}\r\n\tset newNotes(val) {\r\n\t\tthis.fg.get('newNotes').setValue(val);\r\n\t}\r\n\r\n\tget oldIsActive(): boolean {\r\n\t\treturn this.fg.get('oldIsActive').value;\r\n\t}\r\n\tset oldIsActive(val) {\r\n\t\tthis.fg.get('oldIsActive').setValue(val);\r\n\t}\r\n\r\n\tget newIsActive(): boolean {\r\n\t\treturn this.fg.get('newIsActive').value;\r\n\t}\r\n\tset newIsActive(val) {\r\n\t\tthis.fg.get('newIsActive').setValue(val);\r\n\t}\r\n\r\n\tget oldIsGracePeriod(): boolean {\r\n\t\treturn this.fg.get('oldIsGracePeriod').value;\r\n\t}\r\n\tset oldIsGracePeriod(val) {\r\n\t\tthis.fg.get('oldIsGracePeriod').setValue(val);\r\n\t}\r\n\r\n\tget newIsGracePeriod(): boolean {\r\n\t\treturn this.fg.get('newIsGracePeriod').value;\r\n\t}\r\n\tset newIsGracePeriod(val) {\r\n\t\tthis.fg.get('newIsGracePeriod').setValue(val);\r\n\t}\r\n\r\n\tget oldUploadFilePath(): string {\r\n\t\treturn this.fg.get('oldUploadFilePath').value;\r\n\t}\r\n\tset oldUploadFilePath(val) {\r\n\t\tthis.fg.get('oldUploadFilePath').setValue(val);\r\n\t}\r\n\r\n\tget newUploadFilePath(): string {\r\n\t\treturn this.fg.get('newUploadFilePath').value;\r\n\t}\r\n\tset newUploadFilePath(val) {\r\n\t\tthis.fg.get('newUploadFilePath').setValue(val);\r\n\t}\r\n\r\n\tget oldFileName(): string {\r\n\t\treturn this.fg.get('oldFileName').value;\r\n\t}\r\n\tset oldFileName(val) {\r\n\t\tthis.fg.get('oldFileName').setValue(val);\r\n\t}\r\n\r\n\tget newFileName(): string {\r\n\t\treturn this.fg.get('newFileName').value;\r\n\t}\r\n\tset newFileName(val) {\r\n\t\tthis.fg.get('newFileName').setValue(val);\r\n\t}\r\n\r\n\tget isNewRequest(): boolean {\r\n\t\treturn this.fg.get('isNewRequest').value;\r\n\t}\r\n\tset isNewRequest(val) {\r\n\t\tthis.fg.get('isNewRequest').setValue(val);\r\n\t}\r\n\r\n\tget isRemoveDoc(): boolean {\r\n\t\treturn this.fg.get('isRemoveDoc').value;\r\n\t}\r\n\tset isRemoveDoc(val) {\r\n\t\tthis.fg.get('isRemoveDoc').setValue(val);\r\n\t}\r\n\r\n\tget isNotification(): boolean {\r\n\t\treturn this.fg.get('isNotification').value;\r\n\t}\r\n\tset isNotification(val) {\r\n\t\tthis.fg.get('isNotification').setValue(val);\r\n\t}\r\n\r\n\tget requestDate(): Date {\r\n\t\treturn this.fg.get('requestDate').value;\r\n\t}\r\n\tset requestDate(val) {\r\n\t\tthis.fg.get('requestDate').setValue(val);\r\n\t}\r\n\r\n\tget requestBy(): any {\r\n\t\treturn this.fg.get('requestBy').value;\r\n\t}\r\n\tset requestBy(val) {\r\n\t\tthis.fg.get('requestBy').setValue(val);\r\n\t}\r\n\r\n\tget requestStatus(): any {\r\n\t\treturn this.fg.get('requestStatus').value;\r\n\t}\r\n\tset requestStatus(val) {\r\n\t\tthis.fg.get('requestStatus').setValue(val);\r\n\t}\r\n\r\n\tget reviewDate(): Date {\r\n\t\treturn this.fg.get('reviewDate').value;\r\n\t}\r\n\tset reviewDate(val) {\r\n\t\tthis.fg.get('reviewDate').setValue(val);\r\n\t}\r\n\r\n\tget reviewedBy(): any {\r\n\t\treturn this.fg.get('reviewedBy').value;\r\n\t}\r\n\tset reviewedBy(val) {\r\n\t\tthis.fg.get('reviewedBy').setValue(val);\r\n\t}\r\n\r\n\tget denialExplanation(): string {\r\n\t\treturn this.fg.get('denialExplanation').value;\r\n\t}\r\n\tset denialExplanation(val) {\r\n\t\tthis.fg.get('denialExplanation').setValue(val);\r\n\t}\r\n\r\n\tget submitButton(): boolean {\r\n\t\treturn this.fg.get('submitButton').value;\r\n\t}\r\n\tset submitButton(val) {\r\n\t\tthis.fg.get('submitButton').setValue(val);\r\n\t}\r\n\r\n\tget file(): any {\r\n\t\treturn this.fg.get('file').value;\r\n\t}\r\n\tset file(val) {\r\n\t\tthis.fg.get('file').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget accountAdded(): string {\r\n\t\treturn this.fg.get('accountAdded').value;\r\n\t}\r\n\tset accountAdded(val) {\r\n\t\tthis.fg.get('accountAdded').setValue(val);\r\n\t}\r\n\r\n\tget accountName(): string {\r\n\t\treturn this.fg.get('accountName').value;\r\n\t}\r\n\tset accountName(val) {\r\n\t\tthis.fg.get('accountName').setValue(val);\r\n\t}\r\n\r\n\tget accountNumber(): string {\r\n\t\treturn this.fg.get('accountNumber').value;\r\n\t}\r\n\tset accountNumber(val) {\r\n\t\tthis.fg.get('accountNumber').setValue(val);\r\n\t}\r\n\r\n\tget expirationDate(): Date {\r\n\t\treturn this.fg.get('expirationDate').value;\r\n\t}\r\n\tset expirationDate(val) {\r\n\t\tthis.fg.get('expirationDate').setValue(val);\r\n\t}\r\n\r\n\tget isGracePeriod(): boolean {\r\n\t\treturn this.fg.get('isGracePeriod').value;\r\n\t}\r\n\tset isGracePeriod(val) {\r\n\t\tthis.fg.get('isGracePeriod').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget uploadFilePath(): string {\r\n\t\treturn this.fg.get('uploadFilePath').value;\r\n\t}\r\n\tset uploadFilePath(val) {\r\n\t\tthis.fg.get('uploadFilePath').setValue(val);\r\n\t}\r\n\r\n\tget notes(): string {\r\n\t\treturn this.fg.get('notes').value;\r\n\t}\r\n\tset notes(val) {\r\n\t\tthis.fg.get('notes').setValue(val);\r\n\t}\r\n\r\n\tget pfsIds(): string {\r\n\t\treturn this.fg.get('pfsIds').value;\r\n\t}\r\n\tset pfsIds(val) {\r\n\t\tthis.fg.get('pfsIds').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget organizationAddress(): string {\r\n\t\treturn this.fg.get('organizationAddress').value;\r\n\t}\r\n\tset organizationAddress(val) {\r\n\t\tthis.fg.get('organizationAddress').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, inject, Input, OnInit } from '@angular/core';\r\nimport { faBell, faCircle, faExternalLinkAlt } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { InvoiceNotificationVm } from 'app/shared/generated/Inventory/Models/Invoices/InvoiceNotificationVm';\r\nimport { ReconciliationNotificationVm } from 'app/shared/generated/Inventory/Models/Reconciliation/ReconciliationNotificationVm';\r\nimport { NavNotificationService } from '../nav-notification.service';\r\n\r\n@Component({\r\n selector: 'pcg-notification-nav',\r\n templateUrl: './notification-nav.component.html',\r\n styleUrls: ['./notification-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class NotificationNavComponent implements OnInit {\r\n\r\n\tns = inject(NavNotificationService);\r\n \r\n\t@Input() ciInvoiceCount: number = 0;\r\n\r\n\tfaBell = faBell;\r\n\tfaCircle = faCircle;\r\n\tfaLink = faExternalLinkAlt;\r\n\r\n\treconNotifications: ReconciliationNotificationVm[] = [];\r\n\tciInvoiceNotifications: InvoiceNotificationVm[] = [];\r\n\r\n \tconstructor(\r\n\t\tpublic modal: NgbActiveModal\r\n\t\t, private httpClient: HttpClient\r\n\t) { }\r\n\r\n \tngOnInit() {\r\n\t \tif(this.ns.reconNavAccess()) {\r\n this.getReconciliationNotifications();\r\n }\r\n \t}\r\n\r\n\tgetReconciliationNotifications() {\r\n\t\tthis.httpClient.get(`api/Inventory/Reconciliation/GetReconciliationNotifications`)\r\n\t\t\t.subscribe((list: ReconciliationNotificationVm[]) => {\r\n\t\t\t\tthis.reconNotifications = list;\r\n\t\t\t}\r\n\t\t);\r\n \t}\t\r\n\r\n\tgetHref(inventoryId, reconEventId) {\r\n\t\tif (reconEventId > 0) { return '/pharmacy/inventories/reconciliation/product-list/' + reconEventId + '/' + inventoryId; } \r\n\t\telse { return '/pharmacy/inventories/reconciliation/list/' + inventoryId; }\r\n\t}\r\n\r\n\tgetInvoiceHref() { return 'ba/cardinal-invoices?isCi=true'; }\r\n\tgetIcqHref() { return '/icq/review-queue/list'; }\r\n}\r\n","
\r\n\t
Notifications
\r\n\t\r\n
\r\n\r\n
\t\r\n\r\n\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t 0\">\r\n\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t 0\">\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

There are no notifications.

\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n","import { computed, inject, Injectable, signal } from \"@angular/core\";\r\nimport { UntilDestroy } from '@ngneat/until-destroy';\r\n\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { HeaderVm } from \"../generated/Models/HeaderVm\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { NgbModal, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { NotificationNavComponent } from \"./notification-nav/notification-nav.component\";\r\n\r\n/**\r\n* The `NavNotificationService` class is responsible for:\r\n\r\n* - Maintaining current state of the notification counts\r\n* - Fetching notification counts from the server\r\n*/\r\n@UntilDestroy()\r\n@Injectable({ providedIn: \"root\" })\r\nexport class NavNotificationService {\r\n sec = inject(SecurityService);\r\n httpClient = inject(HttpClient);\r\n modalService = inject(NgbModal);\r\n \r\n \r\n notificationCount = computed(() => {\r\n return this.reconCount()\r\n\t\t\t+ [\r\n\t\t\t\tthis.ciInvoicesCount(),\r\n\t\t\t\tthis.icqCount()\r\n\t\t\t].filter(count => count > 0).length;\r\n });\r\n\r\n\treconCount = signal(0);\r\n\tciInvoicesCount = signal(0);\r\n\ticqCount = signal(0);\r\n\tstep1Count = signal(0);\r\n\tstep2Count = signal(0);\r\n\tstep3Count = signal(0);\r\n accountRequestCount = signal(0);\r\n\r\n\tfulfillmentNavAccess = signal(false);\r\n\tinvoiceNavAccess = signal(false);\r\n\taccountRequestAccess = signal(false);\r\n\treconNavAccess = signal(false);\r\n\ticqAccess = signal(false);\r\n\tisCiUser = signal(false);\r\n\thasCiWorkstation = signal(false);\r\n\r\n notificationModal: NgbModalRef;\r\n\r\n\r\n getHeaderCounts() {\r\n\t\tthis.setAccessFlags();\r\n\t\tconst step1: number = +sessionStorage.getItem(\"step1Count\");\r\n\t\tconst step2: number = +sessionStorage.getItem(\"step2Count\");\r\n\t\tconst step3: number = +sessionStorage.getItem(\"step3Count\");\r\n\r\n\t\tif (\r\n\t\t\tthis.fulfillmentNavAccess() \r\n\t\t\t|| this.reconNavAccess() \r\n\t\t\t|| this.invoiceNavAccess() \r\n\t\t\t|| this.icqAccess()\r\n\t\t) { this.fetchHeaderCountsFromServer(step1, step2, step3); } \r\n\t\telse { this.setStepCounts(step1, step2, step3); }\r\n\t}\r\n\r\n\tsetAccessFlags() {\r\n\t\tthis.fulfillmentNavAccess.set(this.sec?.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Inventory ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Technician)\r\n\t\t));\r\n\r\n this.reconNavAccess.set(this.sec?.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Inventory ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Technician)\r\n\t\t));\r\n\t\tthis.invoiceNavAccess.set(this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.CI, BusinessAreaEnum.BA, BusinessAreaEnum.Inventory ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Technician)\r\n\t\t));\r\n\t\tthis.accountRequestAccess.set(this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.Admin ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.Manager)\r\n\t\t));\r\n\t\tthis.icqAccess.set(this.sec.hasModuleAccess(\r\n\t\t\t[ BusinessAreaEnum.ICQ ]\r\n\t\t\t, SecurityService.setMinRole(PermissionRole.User)\r\n\t\t));\r\n\t}\r\n\r\n\tfetchHeaderCountsFromServer(\r\n\t step1: number\r\n\t\t, step2: number\r\n\t\t, step3: number\r\n\t) {\r\n\t\tthis.httpClient.get(`api/Header/GetHeaderCounts\r\n\t\t\t?reconAccess=${this.reconNavAccess()}\r\n\t\t\t&rxAccess=${this.fulfillmentNavAccess()}\r\n\t\t\t&invoiceAccess=${this.invoiceNavAccess()}\r\n\t\t\t&icqAccess=${this.icqAccess()}\r\n &accountRequestAccess=${this.accountRequestAccess()}`\r\n\t\t).subscribe((vm: HeaderVm) => {\r\n\t\t\tthis.updateSessionStorage(vm);\r\n\t\t\tthis.updateCounts(vm);\r\n\t\t});\r\n\r\n\t\tif (!this.fulfillmentNavAccess) { this.setStepCounts(step1, step2, step3); }\r\n\t}\r\n\r\n\tupdateSessionStorage(vm: HeaderVm) {\r\n\t\tsessionStorage.setItem(\"step1Count\", vm.fulfillmentStep1ProductPrepCount.toString());\r\n\t\tsessionStorage.setItem(\"step2Count\", vm.fulfillmentStep2ShippingCount.toString());\r\n\t\tsessionStorage.setItem(\"step3Count\", vm.fulfillmentStep3QCCount.toString());\r\n sessionStorage.setItem(\"accountRequestCount\", vm.accountRequestCount.toString());\r\n\t}\r\n\r\n\tupdateCounts(vm: HeaderVm) {\r\n\t\tthis.step1Count.set(vm.fulfillmentStep1ProductPrepCount);\r\n\t\tthis.step2Count.set(vm.fulfillmentStep2ShippingCount);\r\n\t\tthis.step3Count.set(vm.fulfillmentStep3QCCount);\r\n this.accountRequestCount.set(vm.accountRequestCount);\r\n \r\n this.reconCount.set(vm.reconciliationCount);\r\n this.ciInvoicesCount.set(vm.ciInvoicesCount);\r\n this.icqCount.set(vm.icqNewSurveyCount);\r\n\t}\r\n\r\n\tsetStepCounts(\r\n\t\tstep1: number\r\n\t\t, step2: number\r\n\t\t, step3: number\r\n\t) {\r\n\t\tthis.step1Count.set(step1);\r\n\t\tthis.step2Count.set(step2);\r\n\t\tthis.step3Count.set(step3);\r\n\t}\r\n\r\n openNotificationModal() {\r\n\t\tthis.notificationModal = this.modalService.open(NotificationNavComponent, { animation: false });\r\n\t\tthis.notificationModal.componentInstance.modalRef = this.notificationModal;\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core';\r\nimport { Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { faArrowLeft } from '@fortawesome/pro-regular-svg-icons';\r\nimport { faArrowRightArrowLeft, faCheck, faCircle, faExternalLinkAlt, faSortUp, faTimes } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable, tap } from 'rxjs';\r\n\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { OrganizationAccountRequestVm } from 'app/shared/generated/Administration/Models/Organizations/OrganizationAccountRequestVm';\r\nimport { GenericFilesVm } from 'app/shared/generated/Models/GenericFilesVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { NotificationService } from 'app/notification.service';\r\nimport { NavNotificationService } from 'app/shared/navigation/nav-notification.service';\r\n\r\n@Component({\r\n selector: 'pcg-organization-account-update',\r\n templateUrl: './organization-account-update.component.html',\r\n styleUrls: ['./organization-account-update.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrganizationAccountUpdateComponent implements OnInit {\r\n notificationService = inject(NotificationService);\r\n ns = inject(NavNotificationService);\r\n\r\n @Output() tm = new EventEmitter();\r\n @Input() id: number;\r\n // Will be true if this component is rendered via the top nav icon. Used to conditionally hide 'X' close icon\r\n @Input() calledFromNav: boolean = false;\r\n\r\n faCircle = faCircle;\r\n faArrowRightArrowLeft = faArrowRightArrowLeft;\r\n faLink = faExternalLinkAlt;\r\n faArrow = faSortUp\r\n faIconName = { faCheck, faTimes, faArrowLeft };\r\n\r\n model$: Observable;\r\n form = OrganizationAccountRequestVm.Form;\r\n\r\n isAccountList = false;\r\n isAccountApproval = false;\r\n clearFileClick = false;\r\n hasFile = false;\r\n expDateRequired: boolean = false;\r\n organizationFile: GenericFilesVm[] = [];\r\n maxFiles = 1;\r\n\r\n readOnly : boolean = false;\r\n \r\n constructor(\r\n private http: HttpClient\r\n , public modal: NgbActiveModal\r\n , public router: Router\r\n , public ms: SystemMessageService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.model$ = this.http.get(`api/Administration/OrganizationAccountRequest/GetOrganizationAccountRequest?id=${this.id}`)\r\n .pipe(tap((model: OrganizationAccountRequestVm) => {\r\n this.form.patchValue(model);\r\n // Assign boolean to differentiate between account approval and update\r\n this.isAccountApproval = model.oldFacilityAccountName.facilityAccountNameId === 0;\r\n \r\n this.resizeModal();\r\n this.disableOldFormGroup();\r\n this.hasFile = FormatHelperService.GetIsNullyOrWhitespace(this.form.controls.newUploadFilePath.value) \r\n ? false \r\n : true;\r\n this.expDateRequired = model.isNotification;\r\n this.setExpDateRequired();\r\n if (this.readOnly) { this.form.disable(); }\r\n })\r\n );\r\n this.isAccountList = this.router.url.includes('account-request-queue');\r\n }\r\n \r\n onSubmit() {\r\n if (this.form.valid) {\r\n const form = this.form.value;\r\n this.http.post(\"api/Administration/OrganizationAccountRequest/ApproveDenyRequest\", form)\r\n .subscribe((resp: SystemMessage) => {\r\n if (!resp.isSuccessful) { this.notificationService.showMessage(resp.message, resp.messageClass)}\r\n if (resp.isSuccessful) {\r\n this.form.patchValue(resp.model);\r\n this.modal.close();\r\n this.ns.getHeaderCounts();\r\n }\r\n }, (err) => { console.log(err) }\r\n );\r\n } else { validateForm(this.form); }\r\n }\r\n\r\n disableOldFormGroup() {\r\n this.form.get('oldFacilityAccountName').disable();\r\n this.form.get('oldAccountNumber').disable();\r\n this.form.get('oldExpirationDate').disable();\r\n this.form.get('oldNotes').disable();\r\n this.form.get('oldIsActive').disable();\r\n this.form.get('oldIsGracePeriod').disable();\r\n this.form.get('oldUploadFilePath').disable();\r\n }\r\n\r\n clearFile() {\r\n this.clearFileClick = true;\r\n this.form.get('newUploadFilePath').patchValue(null);\r\n this.hasFile = false;\r\n }\r\n\r\n submitButton(status: boolean) { this.form.get('submitButton').patchValue(status); }\r\n\r\n /** Emits event to toggle between list and update request. */\r\n toggleModal() {\r\n this.tm.emit();\r\n this.modal.update({ size: 'l' });\r\n }\r\n\r\n // Resizes modal depending on what type of organization account request - approval/update\r\n resizeModal() { this.isAccountApproval ? this.modal.update({ size: 'l' }) : this.modal.update({ size: 'xl' }); }\r\n isEmpty = (str: string) => FormatHelperService.GetIsNullyOrWhitespace(str)\r\n\r\n setExpDateRequired() {\r\n if (this.expDateRequired ) { \r\n this.form.controls.newExpirationDate.enable();\r\n this.form.controls.newExpirationDate.addValidators([Validators.required]); \r\n } else { this.form.controls.newExpirationDate.removeValidators([Validators.required]); }\r\n\r\n this.form.controls.newExpirationDate.updateValueAndValidity();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n @if (!isAccountList) {\r\n
\r\n \r\n \r\n
\r\n Back\r\n
\r\n
\r\n }\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Organization: {{ fg.organizationName }}\r\n
\r\n\r\n
\r\n Address: {{ fg.organizationAddress }}\r\n
\r\n\r\n
\r\n Requested By: {{ fg.requestBy.firstName + ' ' + fg.requestBy.lastName }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n @if (!isAccountApproval) {\r\n
\r\n
\r\n Current\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{ fg.oldFacilityAccountName.name }}\r\n \r\n
\r\n\r\n
\r\n \r\n {{ fg.oldAccountNumber }}\r\n \r\n
\r\n\r\n
\r\n \r\n {{ fg.oldExpirationDate | date: 'shortDate' }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ fg.oldIsActive ? 'Activated' : 'Inactivated' }}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n @if (form.controls.oldUploadFilePath.value !== '') {\r\n \r\n } @else {
No related files were found.
}\r\n
\r\n
\r\n\r\n
\r\n \r\n @if (!isEmpty(fg.OldNotes)) { {{ fg.oldNotes }} }\r\n \r\n
\r\n
\r\n
\r\n }\r\n \r\n
\r\n
\r\n Proposed\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{ fg.newFacilityAccountName.name }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n @if (hasFile) {\r\n
\r\n {{ form.controls.newFileName.value }}\r\n    \r\n
X
\r\n \r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n @if (!readOnly) {\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n @if (\r\n isAccountList \r\n && !calledFromNav\r\n ) {\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable, signal } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class QuickNavService {\r\n // Controls whether projected content is shown or hidden\r\n showContent = signal(false);\r\n // Prevents content from being closed, useful for ngbTypeahead clicks\r\n preventCloseContent = signal(false);\r\n\r\n toggleContent() {\r\n this.showContent.update((showContent) => !showContent);\r\n }\r\n\r\n closeContent() {\r\n this.preventCloseContent.set(false);\r\n this.showContent.set(false);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NavigateToOrderOrJobVm } from 'app/shared/generated/CIRepack/Models/Dashboard/NavigateToOrderOrJobVm';\r\n\r\n@Injectable({\r\n \tprovidedIn: 'root'\r\n})\r\nexport class CiDashboardService {\r\n\r\n\tconstructor(private httpClient: HttpClient) { }\r\n\r\n\tcanNavigateToRepackOrderByString(repackOrderId : string) : Observable {\r\n\t\treturn this.httpClient.get(`api/CIRepack/CIDashboard/NavigateToRepackOrderByString?repackOrderId=${repackOrderId}`);\r\n\t}\t\r\n\r\n\tcanNavigateToRepackOrderById(repackOrderId : number) : Observable {\r\n\t\treturn this.httpClient.get(`api/CIRepack/CIDashboard/NavigateToRepackOrderById?repackOrderId=${repackOrderId}`);\r\n\t}\r\n\r\n\tcanNavigateToJobByString(jobId : string, isHomer : boolean = false) : Observable {\r\n\t\tlet httpParams = new HttpParams().set('jobId', jobId).set('isHomer', isHomer);\r\n\t\treturn this.httpClient.get('api/CIRepack/CIDashboard/NavigateToJobByString', { params: httpParams });\r\n\t}\r\n\r\n\tcanNavigateToJobById(jobId : number) : Observable {\r\n\t\treturn this.httpClient.get(`api/CIRepack/CIDashboard/NavigateToJobById?jobId=${jobId}`);\r\n\t}\r\n\r\n\tcanNavigateToJobByDohLotNum(lotnum: string) : Observable {\r\n\t\treturn this.httpClient.get(`api/CIRepack/CIDashboard/NavigateToJobByDohLotNum?lotnum=${lotnum}`);\r\n\t}\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, inject, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\nimport { CiDashboardService } from 'app/ci-repack/ci-dashboard/ci-dashboard-service.service';\r\nimport { SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { NavigateToOrderOrJobVm } from 'app/shared/generated/CIRepack/Models/Dashboard/NavigateToOrderOrJobVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { tap } from 'rxjs';\r\nimport { QuickNavService } from '../../quick-navs/quick-nav/quick-nav.service';\r\n\r\n@Component({\r\n selector: 'pcg-ci-dashboard-actions',\r\n templateUrl: './ci-dashboard-actions.component.html',\r\n styleUrls: ['./ci-dashboard-actions.component.scss'],\r\n standalone: false\r\n})\r\nexport class CiDashboardActionsComponent {\r\n quickNavService = inject(QuickNavService);\r\n\r\n @ViewChild('ciDashboardContent', { static: false }) ciDashboardContent: ElementRef;\r\n @Input() dashboardActionsClicked: boolean;\r\n @Output() reload = new EventEmitter();\r\n\r\n isOpen = false;\r\n repackIdhasErrors: boolean = false;\r\n jobIdHasErrors: boolean = false;\r\n lotnumHasErrors: boolean = false;\r\n\r\n repackErrorMsg: string = '';\r\n jobIdErrorMsg: string = '';\r\n lotnumErrorMsg: string = '';\r\n\r\n timeout: any = null;\r\n\r\n constructor(\r\n\t\tprivate dashboardService: CiDashboardService,\r\n\t\tpublic ms: SystemMessageService\r\n\t) { }\r\n\r\n navToRepackOrder(repackId: any) {\r\n\t\tif (!this.isInputValid(repackId)) {\r\n\t\t\tthis.repackIdhasErrors = true;\r\n\t\t\tthis.repackErrorMsg = \"Please enter a valid Order Id\"\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (isNaN(repackId)) {\r\n\t\t\tthis.dashboardService\r\n\t\t\t.canNavigateToRepackOrderByString(repackId)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((vm: NavigateToOrderOrJobVm) => {\r\n\t\t\t\t\tif (!FormatHelperService.GetIsNully(vm.orderId) && !vm.isPfs) {\r\n\t\t\t\t\t\twindow.location.href = \"/ci-repack/orders/edit/\" + vm.orderId;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.repackIdhasErrors = true;\r\n\t\t\t\t\t\tthis.repackErrorMsg = \"Repack Order Not Found\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}))\r\n\t\t\t.subscribe();\r\n\t\t} else {\r\n\t\t\tthis.dashboardService.canNavigateToRepackOrderById(repackId)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((vm: NavigateToOrderOrJobVm) => {\r\n\t\t\t\t\tif (!FormatHelperService.GetIsNully(vm.orderId) && !vm.isPfs) { \r\n\t\t\t\t\t\twindow.location.href = \"/ci-repack/orders/edit/\" + vm.orderId;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.repackIdhasErrors = true;\r\n\t\t\t\t\t\tthis.repackErrorMsg = \"Repack Order Not Found\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}))\r\n\t\t\t.subscribe();\r\n\t\t}\t\t\r\n\t}\r\n\r\n\tnavToJob(jobId: any) {\r\n\t\tif (!this.isInputValid(jobId)) {\r\n\t\t\tthis.jobIdHasErrors = true;\r\n\t\t\tthis.jobIdErrorMsg = \"Please enter a valid Job Id\";\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (isNaN(jobId)) {\r\n\t\t\tconst isHomer = true;\r\n\t\t\tthis.dashboardService\r\n\t\t\t.canNavigateToJobByString(jobId, isHomer)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((vm: NavigateToOrderOrJobVm) => {\r\n\t\t\t\t\tif (!FormatHelperService.GetIsNully(vm.jobId) && !vm.isPfs) {\r\n\t\t\t\t\t\t\twindow.location.href = \"/ci-repack/jobs/edit/\" + vm.jobId;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.jobIdHasErrors = true;\r\n\t\t\t\t\t\tthis.jobIdErrorMsg = \"Job Not Found\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}))\r\n\t\t\t.subscribe();\r\n\t\t}\r\n\t}\r\n\r\n\tnavToLotnum(lotnum: any) {\r\n\t\tif (!this.isInputValid(lotnum)) {\r\n\t\t\tthis.lotnumHasErrors = true;\r\n\t\t\tthis.lotnumErrorMsg = \"Please enter a valid DOH Lot #\"\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.dashboardService\r\n\t\t.canNavigateToJobByDohLotNum(lotnum)\r\n\t\t.pipe(\r\n\t\t\ttap((vm: NavigateToOrderOrJobVm) => {\r\n\t\t\t\tif (vm.jobId !== null && vm.dohLotNum !== null) { window.location.href = \"/ci-repack/jobs/edit/\" + vm.jobId; } \r\n\t\t\t\telse if (vm.jobId === null && vm.dohLotNum !== null) { window.location.href = \"/ci-repack/jobs/list/?lotNumber=\" + vm.dohLotNum; }\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.lotnumHasErrors = true;\r\n\t\t\t\t\tthis.lotnumErrorMsg = \"Job Not Found\";\r\n\t\t\t\t}\r\n\t\t\t}))\r\n\t\t.subscribe();\r\n\t}\r\n\r\n\tclearErrors(inputType : string) {\r\n\t\tswitch(inputType) {\r\n\t\t\tcase 'order':\r\n\t\t\t\tthis.repackIdhasErrors = false;\r\n\t\t\t\tthis.repackErrorMsg = '';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'job':\r\n\t\t\t\tthis.jobIdHasErrors = false;\r\n\t\t\t\tthis.jobIdErrorMsg = '';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'lotnum':\r\n\t\t\t\tthis.lotnumHasErrors = false;\r\n\t\t\t\tthis.lotnumErrorMsg = '';\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tisInputValid(input: string) {\r\n\t\tif (input === null || input === '') { return false; }\r\n\t\treturn true;\r\n\t}\r\n\r\n\torderKeyDown(event: { key: string; preventDefault: () => void; target: { value: any; }; }) {\r\n\t\tif (event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.navToRepackOrder(event.target.value);\r\n\t\t}\r\n\t}\r\n\r\n\tjobKeyDown(event: { key: string; preventDefault: () => void; target: { value: any; }; }) {\r\n\t\tif (event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.navToJob(event.target.value);\r\n\t\t}\r\n\t}\r\n\r\n\tlotnumKeyDown(event: { key: string; preventDefault: () => void; target: { value: any; }; }) {\r\n\t\tif (event.key === 'Enter') {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.navToLotnum(event.target.value);\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n
\r\n
Quick Scan Navigation
\r\n
\r\n\r\n

Scan a Job Id, Order Id, or DOH Lot # into the appropriate scan box to quickly navigate to either record.

\r\n\r\n
\r\n
\r\n Order Id\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ repackErrorMsg }}

\r\n
\r\n\r\n
\r\n
\r\n Job Id\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ jobIdErrorMsg }}

\r\n
\r\n\r\n
\r\n
\r\n DOH Lot #\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ lotnumErrorMsg }}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { faArrowRightArrowLeft, faCircle, faExternalLinkAlt, faSortDown } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OrganizationAccountRequestVm } from 'app/shared/generated/Administration/Models/Organizations/OrganizationAccountRequestVm';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'pcg-organization-account-update-nav',\r\n templateUrl: './organization-account-update-nav.component.html',\r\n styleUrls: ['./organization-account-update-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrganizationAccountUpdateNavComponent implements OnInit {\r\n /** FontAwesome Icons used to style component */ \r\n faCircle = faCircle;\r\n\tfaArrowRightArrowLeft = faArrowRightArrowLeft;\r\n faLink = faExternalLinkAlt;\r\n faArrow = faSortDown;\r\n\r\n requests$: Observable;\r\n organizationAccountRequestId: number; \r\n\r\n subscription = new Subscription();\r\n\r\n selectedRequestUpdate: boolean = false;\r\n\r\n constructor(public modal: NgbActiveModal, private http: HttpClient) {}\r\n\r\n ngOnInit(): void {\r\n this.getFacilityUpdateRequests();\r\n }\r\n\r\n getFacilityUpdateRequests() {\r\n this.requests$ = this.http.get('api/Administration/OrganizationAccountRequest/GetNotificationList');\r\n }\r\n\r\n openRequest(id: number) {\r\n // Sets id to then be passed into facility-account-update component\r\n this.organizationAccountRequestId = id;\r\n this.toggleModal()\r\n this.modal.update({size: 'xl'});\r\n }\r\n\r\n toggleModal = () => this.selectedRequestUpdate = !this.selectedRequestUpdate \r\n}\r\n","\r\n
\r\n\t
\r\n\t\tAccount Update Request\r\n\t
\r\n\t\r\n
\r\n\r\n\r\n
\r\n\r\n\t\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
0\" (click)=\"openRequest(r.organizationAccountRequestId)\">\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tPending Update\r\n\t\t\t\t\t\t\t\t\tNew\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAccount: {{ r.accountName }}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{ r.organizationName }}\r\n\t\t\t\t\t\t\t\t\t\t\t has requested changes.\r\n\t\t\t\t\t\t\t\t\t\t\t has requested to add a new account.\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tClick to view account request.\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\tThere are currently no organization account requests to process. \r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n
\r\n","import { Component, ElementRef, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { NavRoute } from '../nav.route.interface';\r\nimport { NavDividerCharacter, NavigationService } from '../navigation.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { SseNotificationService } from 'app/core/sse-notification/sse-notification.service';\r\n\r\n/**\r\n * This component is intended to be used in the top header bar\r\n * to create a nested navigation. Dropdowns are opened by\r\n * click.\r\n */\r\n@Component({\r\n selector: 'pcg-top-click-nav',\r\n templateUrl: './top-click-nav.component.html',\r\n styleUrls: ['./top-click-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class TopClickNavComponent implements OnInit, OnChanges {\r\n\r\n\t@Input() navRoutes: NavRoute[] = [];\r\n\t@Input() menuItemId = 'root';\r\n\t@Input() isRoot = true;\r\n\r\n sseService = inject(SseNotificationService);\r\n\r\n\t// Current user information\r\n\tuser: UserJsVm;\r\n\t// Whether or not the curren nav menu is open\r\n\tisOpen: boolean;\r\n\t// Currently OPEN nav menu\r\n\tcurrNavMenuItem: string;\r\n\t// Currently SELECTED nav menu\r\n\tcurrSelectedNavMenuItem: string;\r\n\t// The currently OPEN secondary navigation menu\r\n\tcurrOpenSecondaryNavMenu: string;\r\n\t// Force select item in the nav\r\n\tcurrForceSelect: string;\r\n\t// Classes in the current ul of the nav menu\r\n\tulClasses: string[];\r\n\t// Nav routes used in loop\r\n\tloopNavRoutes: NavRoute[] = [];\r\n\t// For user nav\r\n\tuserNavOpen = false;\r\n\tisMobile = false;\r\n\r\n\tconstructor(\r\n\t\tpublic navService: NavigationService\r\n\t\t, public elRef: ElementRef\r\n\t\t, public sec: SecurityService\r\n\t\t, private router: Router\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private ms: SystemMessageService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tif(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) \r\n\t\t\t|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.userAgent.substr(0,4))) { \r\n\t\t\tthis.isMobile = true;\r\n\t\t}\r\n\t\t// Get the current user information\r\n\t\tthis.sec.user$.subscribe(user => { this.user = user; });\r\n\t\t// Triggred on update of currently OPEN menu item\r\n\t\tthis.navService.currOpenPrimaryNavMenu$.subscribe(c => {\r\n\t\t\tthis.currNavMenuItem = c;\r\n\t\t\tthis.isOpen = this.isSubNav(c, this.menuItemId) || c === this.menuItemId;\r\n\t\t\tthis.userNavOpen = c === ['root', 'user'].join(NavDividerCharacter);\r\n\t\t\t// The first ul should have classes indicating it is the root.\r\n\t\t\t// Nested ul elements, those at higher depths, are dropdown menus\r\n\t\t\t// and need classes indicating that.\r\n\t\t\tthis.ulClasses = this.isRoot \r\n\t\t\t\t? ['nav', 'navbar-nav', 'top-nav-bg', this.isOpen ? 'nav-open' : ''] \r\n\t\t\t\t: ['dropdown-menu', 'top-nav-bg', this.isOpen ? 'nav-open' : ''];\r\n\t\t});\r\n\t\t// Triggered on update of currently SELECTED menu item\r\n\t\tthis.navService.currSelectedMainNavMenu$.subscribe(c => { this.currSelectedNavMenuItem = c ? c?.id : 'root'; });\r\n\t\tthis.navService.currOpenSecondaryNavMenu$.subscribe(c => { this.currOpenSecondaryNavMenu = c ? c?.id : 'root'; });\r\n\t\tthis.navService.currForceSelect$.subscribe(c => {\r\n\t\t\tthis.currForceSelect = c;\r\n\t\t\tthis.loopNavRoutes = this.getNavRoutes();\r\n\t\t});\r\n\t}\r\n\r\n\tisSubNav(currNavMenuItem, menuItemId) {\r\n\t\t// Get divider counts\r\n\t\tconst divCountCurrNav = currNavMenuItem.split(NavDividerCharacter).length;\r\n\t\tconst divCountMenuItem = menuItemId.split(NavDividerCharacter).length;\r\n\r\n\t\t// Sub navs and current nav should be open\r\n\t\treturn divCountMenuItem < divCountCurrNav && currNavMenuItem.startsWith(this.menuItemId);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tconst chng = changes['navRoutes'];\r\n\t\tconst cur = chng.currentValue;\r\n\t\tconst prev = chng.previousValue;\r\n\t\tif (cur !== prev) { this.loopNavRoutes = this.getNavRoutes(); }\r\n\t}\r\n\r\n\tgetHtmlId(routeId: string) { return routeId.replace(/^[^a-z0-9]+|[^\\w:.-]+/gi, ''); }\r\n\r\n\t// Show or hide submenu based on dropdown click\r\n\tclickDropdown(childMenuId: string) {\r\n\t\tif (childMenuId === 'user') { childMenuId = ['root', 'user'].join(NavDividerCharacter); }\r\n\t\t// If the submenu is open, close it\r\n\t\tif (this.currNavMenuItem.startsWith(childMenuId)) { this.navService.setCurrOpenNavMenu(this.menuItemId); } \r\n\t\telse { this.navService.setCurrOpenNavMenu(childMenuId); } // Otherwise, open the submenu\t\t\r\n\t\treturn false;\r\n\t}\r\n\r\n\topenDropdown(childMenuId: string) {\r\n\t\tif (childMenuId === 'user') { childMenuId = ['root', 'user'].join(NavDividerCharacter); }\r\n\t\tthis.navService.setCurrOpenNavMenu(childMenuId); \r\n\t\treturn false;\r\n\t}\r\n\r\n\tcloseDropdown(childMenuId: string) {\r\n\t\tif (childMenuId === 'user') { childMenuId = ['root', 'user'].join(NavDividerCharacter); }\r\n\t\tthis.navService.setCurrOpenNavMenu(this.menuItemId); \t\t\r\n\t\treturn false;\r\n\t}\r\n\r\n\tclickLink(route: NavRoute) { \r\n\t\tthis.navService.setCurrOpenNavMenu('');\r\n\t\tif (route != null) {\r\n\t\t\tif (route.openNewTab) { window.open(route.path); }\r\n\t\t\telse { this.router.navigate([route.path], {queryParams: route.queryParams}); }\r\n\t\t}\r\n\t}\r\n\r\n\t// Logout removes all of our security variables\r\n\t// and redirects user to root\r\n\tlogout() {\r\n this.sseService.destroySSE();\r\n\t\tthis.sec.setSecurity(null, null);\r\n\t\tthis.deleteAllCookies();\r\n\t\tthis.router.navigate(['/']);\r\n\t\tsessionStorage.removeItem('notificationCount');\r\n\t\tsessionStorage.removeItem('notificationModalOpened');\r\n\t\tsessionStorage.removeItem('step1Count');\r\n\t\tsessionStorage.removeItem('step2Count');\r\n\t\tsessionStorage.removeItem('step3Count');\r\n\t\tlocalStorage.removeItem('ciWorkstationModalOpened');\r\n\t\tlocalStorage.removeItem('requestedProduct');\r\n\t\tvar loggedInUsingSso = localStorage.getItem(\"loggedInUsingSso\") == \"true\";\r\n\t\tlocalStorage.setItem(\"loggedInUsingSso\", \"false\");\r\n\t\tif (loggedInUsingSso) {\r\n this.httpClient.get(`api/Account/SingleSignOut?userId=${this.user.id}&entraIdentifierUrl=${localStorage.getItem(\"entraIdentifierUrl\")}&entraLoginUrl=${localStorage.getItem(\"entraLoginUrl\")}`).subscribe((sm: SystemMessage) => {\r\n localStorage.setItem(\"entraIdentifierUrl\", \"\");\r\n localStorage.setItem(\"entraLoginUrl\", \"\");\r\n if (sm.isSuccessful) { window.location.href = sm.value; }\r\n else { this.ms.setSystemMessage(sm.message, sm.messageClass); }\r\n });\r\n }\r\n\t}\r\n\r\n\t// This is used above to delete all cookies on logout\r\n\tdeleteAllCookies() {\r\n\t\tconst cookies = document.cookie.split(';');\r\n\r\n\t\tfor (let i = 0; i < cookies.length; i++) {\r\n\t\t\tconst cookie = cookies[i];\r\n\t\t\tconst eqPos = cookie.indexOf('=');\r\n\t\t\tconst name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\r\n\t\t\tdocument.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';\r\n\t\t}\r\n\t}\r\n\r\n\tgetNavRoutes() {\r\n\t\tconst routeIndex = this.navService.getCurrRouteIndex(this.navRoutes);\r\n\t\treturn (\r\n\t\t\tthis.navRoutes\r\n\t\t\t\t?.map((o, i) => ({ ...o, index: i }))\r\n\t\t\t\t.filter(route => \r\n\t\t\t\t\t(route?.children == null || route?.children?.length > 0) \r\n\t\t\t\t\t&& \r\n\t\t\t\t\t(!route?.shouldDisplay || route?.shouldDisplay(routeIndex))\r\n\t\t\t\t) ?? []\r\n\t\t);\r\n\t}\r\n}\r\n","
    \r\n\t@for (route of loopNavRoutes; track route) {\r\n\t\t@if (navService.shouldShowRouteLink(route, navRoutes)) {\r\n\t\t\t
  • \r\n\t\t\t\t

    {{route.name}}

    \r\n\t\t\t
  • \r\n\t\t}\r\n\t\t@if (\r\n\t\t\troute \r\n\t\t\t&& route.children \r\n\t\t\t&& !route.hasSideNav\r\n\t\t) {\r\n\t\t\t
  • \r\n\t\t\t\t

    \r\n\t\t\t\t\t{{route.name}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t

    \r\n\r\n\t\t\t\t\r\n\t\t\t
  • \r\n\t\t}\r\n\t}\r\n\r\n\t@if (\r\n\t\tisRoot \r\n\t\t&& sec.isLoggedOn()\r\n\t) {\r\n\t\t
  • \r\n\t\t\t@if (user) {\r\n\t\t\t\t

    {{ user.firstName }} {{ user.lastName }}

    \r\n\t\t\t}\r\n\t\t\t
      \r\n\t\t\t\t
    • \r\n\t\t\t\t\t

      My Profile

      \r\n\t\t\t\t
    • \r\n\t\t\t\t
    • \r\n\t\t\t\t\t

      Logout

      \r\n\t\t\t\t
    • \r\n\t\t\t
    \r\n\t\t
  • \r\n\t}\r\n
\r\n","import {\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHostListener,\r\n\tinject,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnInit,\r\n\tOutput,\r\n\tQueryList,\r\n\tSimpleChanges,\r\n\tViewChildren,\r\n} from \"@angular/core\";\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from \"@angular/router\";\r\nimport { faArrowLeft } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { GlobalService } from \"app/shared/services/global.service\";\r\nimport { NavRoute } from \"../nav.route.interface\";\r\nimport { NavigationService } from \"../navigation.service\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\n\r\n@Component({\r\n selector: \"pcg-top-secondary-nav\",\r\n templateUrl: \"./top-secondary-nav.component.html\",\r\n styleUrls: [\"./top-secondary-nav.component.scss\"],\r\n standalone: false\r\n})\r\nexport class TopSecondaryNavComponent implements OnInit, OnChanges {\r\n sec = inject(SecurityService);\r\n \r\n\t@Input() navRoutes: NavRoute[] = [];\r\n\t@Input() rootNavId: string;\r\n\t@Input() routeNavId: string;\r\n\t@Input() forceSelect: string;\r\n\t@Input() tabPanel: any;\r\n\r\n\t@Output() clickedNav = new EventEmitter();\r\n\r\n\t@ViewChildren(\"navLink\", { read: ElementRef }) navLinks: QueryList;\r\n\r\n\tloopNavRoutes: NavRoute[] = [];\r\n\threfLocation: string = \"\";\r\n\r\n\tfaIconName = { faArrowLeft };\r\n\r\n\tisMobile: boolean;\r\n\t@HostListener(\"window:resize\")\r\n\tonResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n\tconstructor(\r\n\t\tpublic navService: NavigationService,\r\n\t\tpublic router: Router,\r\n\t\tprivate title: Title\r\n\t) {\r\n\t\tthis.setTitle();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n\t\tthis.loopNavRoutes = this.getNavRoutes();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.getActiveLink();\r\n\t\tconst chng = changes[\"navRoutes\"];\r\n\t\tconst cur = chng?.currentValue;\r\n\t\tconst prev = chng?.previousValue;\r\n\t\tif (cur !== prev) {\r\n\t\t\tthis.loopNavRoutes = this.getNavRoutes();\t\t\t\t\r\n\t\t\tthis.focusNewlySelectedNav();\r\n\t\t\tthis.setTitle();\r\n\t\t}\r\n\t}\r\n\r\n\t// Set a descriptive title for the page instead of the default \"HOMER\" title when one is not set.\r\n\tprivate setTitle() {\r\n\t\t// If the string is null or whitespace, use 'HOMER'\r\n\t\tconst checkTitle = (s) => FormatHelperService.GetIsNullyOrWhitespace(s) ? 'HOMER' : s;\r\n\t\t\r\n\t\t// Check the title of the page\r\n\t\tif (checkTitle(this.title.getTitle()) === \"HOMER\") {\r\n\t\t\t// Check the title of the nav menu\r\n\t\t\tlet title = checkTitle(this.navService.dynamicNavTitle());\r\n\t\t\tif (title == 'HOMER') {\r\n\t\t\t\t// Check the title of the currently open secondary nav menu\r\n\t\t\t\ttitle = checkTitle(this.navService.currOpenSecondaryNavMenu()?.name);\r\n\t\t\t}\r\n\t\t\tthis.title.setTitle(title);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate focusNewlySelectedNav() {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (this.navLinks && this.navLinks.length > 0) {\r\n\t\t\t\tconst selectedNav = this.navLinks.find((link) =>\r\n\t\t\t\t\tlink.nativeElement.classList.contains(\"link-active\")\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (selectedNav) {\r\n\t\t\t\t\tselectedNav.nativeElement.scrollIntoView({\r\n\t\t\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t\t\t\tblock: \"center\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tselectedNav.nativeElement.focus();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 0);\r\n\t}\r\n\r\n\t// Show or hide submenu based on dropdown click\r\n\tclickDropdown(childMenu: NavRoute) {\r\n\t\tif (childMenu?.childNav) {\r\n\t\t\tchildMenu = childMenu.parentNav;\r\n\t\t}\r\n\t\tthis.navService.currNav.set(childMenu);\r\n\t\treturn false;\r\n\t}\r\n\r\n\tredirect(route) {\r\n\t\tif (route.openNewTab) { this.openInNewTab(route.path); } \r\n\t\treturn true;\r\n\t}\r\n\r\n\topenInNewTab(namedRoute: string) {\r\n\t\tlet newRelativeUrl = this.router.createUrlTree([namedRoute]);\r\n\t\tlet baseUrl = window.location.href.replace(this.router.url, \"\");\r\n\t\twindow.open(baseUrl + newRelativeUrl, \"_blank\");\r\n\t}\r\n\r\n\tgetActiveLink() {\r\n\t\t// parse URL for active link in subnav\r\n\t\tlet urlSegments = window.location.href.split(document.getElementsByTagName(\"base\")[0].href)[1].split(\"/\");\r\n\t\tif (\r\n\t\t\t!isNaN(Number(urlSegments[urlSegments?.length - 1])) \r\n\t\t\t&& !isNaN(Number(urlSegments[urlSegments?.length - 2]))\r\n\t\t) { this.hrefLocation = urlSegments.slice(0, urlSegments?.length - 2).join(\"/\"); } \r\n\t\telse if (\r\n\t\t\t!isNaN(Number(urlSegments[urlSegments?.length - 1])) \r\n\t\t\t&& isNaN(Number(urlSegments[urlSegments?.length - 2]))\r\n\t\t) { this.hrefLocation = urlSegments.slice(0, urlSegments?.length - 1).join(\"/\");\r\n\t\t} else { this.hrefLocation = urlSegments.join(\"/\"); }\r\n\t}\r\n\r\n\tgetNavRoutes() {\r\n\t\tconst routeIndex = this.navService.getCurrRouteIndex(this.navRoutes);\r\n\t\treturn (\r\n\t\t\tthis.sec.getSecureNavItems(this.navRoutes)\r\n\t\t\t\t?.map((o, i) => { return { ...o, index: i }; })\r\n\t\t\t\t.filter((route) =>\r\n\t\t\t\t\t!route?.shouldDisplay \r\n\t\t\t\t\t|| route.ellipseAfter \r\n\t\t\t\t\t|| route.ellipseBefore \r\n\t\t\t\t\t|| route?.shouldDisplay(routeIndex)\r\n\t\t\t\t) ?? []\r\n\t\t);\r\n\t}\r\n}\r\n","","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { EventEmitter, Injectable, Output } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { CiWorkstationComponent } from 'app/shared/ci-workstation/ci-workstation.component';\r\nimport { CiWorkstationVm } from 'app/shared/generated/CIRepack/Models/Admin/WorkStation/CiWorkstationVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WorkstationService {\r\n // May clean up this user stuff tomorrow!\r\n // user: UserJsVm\r\n @Output() update = new EventEmitter();\r\n workStationName: string\r\n noWorkstation = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n , private sec: SecurityService\r\n , private modalService: NgbModal\r\n ) {\r\n let user = this.sec.getUser();\r\n this.getModel(user?.ciWorkstationId)\r\n .subscribe(data => {\r\n this.workStationName = data.workstationName;\r\n if (FormatHelperService.GetIsNullyOrWhitespace(data.workstationName)) {\r\n this.workStationName = \"None selected\";\r\n this.noWorkstation = true;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getModel(id: number): Observable {\r\n let httpParams = new HttpParams().set('id', id);\r\n return this.httpClient.get('api/CIRepack/CiWorkstation/GetCiWorkstation', {\r\n params: httpParams\r\n });\r\n }\r\n\r\n openCiWorkstationModal() {\r\n let user = this.sec.getUser();\r\n const modalRef = this.modalService.open(CiWorkstationComponent, { animation: false });\r\n modalRef.hidden.subscribe(() => {\r\n user = JSON.parse(localStorage.getItem('user'));\r\n this.workStationName = user?.ciWorkstationName;\r\n if (FormatHelperService.GetIsNullyOrWhitespace(user?.ciWorkstationName)) {\r\n this.workStationName = \"None selected\";\r\n this.noWorkstation = true;\r\n }\r\n else { this.noWorkstation = false; }\r\n this.update.emit();\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, TemplateRef, ViewChild, Input, inject } from '@angular/core';\r\nimport { faScannerGun } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { WorkstationService } from 'app/ci-repack/admin/workstations/workstation.service';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserJsVm } from 'app/shared/generated/Administration/Models/Users/UserJsVm';\r\nimport { CiDashboardActionsComponent } from '../quick-navs/ci-dashboard-actions/ci-dashboard-actions.component';\r\nimport { GlobalService } from 'app/shared/services/global.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'pcg-workstation-banner',\r\n templateUrl: './workstation-banner.component.html',\r\n styleUrls: ['./workstation-banner.component.scss'],\r\n standalone: false\r\n})\r\nexport class WorkstationBannerComponent implements OnInit {\r\n\r\n // Keeps track if nav is docked or not\r\n gs = inject(GlobalService);\r\n isFixed = false;\r\n navFixedSubscription: Subscription;\r\n\r\n @ViewChild('ciDashboardComponent') ciDashboardComponent : TemplateRef;\r\n \r\n user: UserJsVm\r\n workStationName: string\r\n getModelRetries: number = 0;\r\n noWorkstation = false;\r\n dashboardActionsClicked = false; \r\n isOpen = false;\r\n\r\n faIcons = { faScannerGun };\r\n\r\n constructor(\r\n private workStationService: WorkstationService\r\n , private sec: SecurityService\r\n ) { this.user = this.sec.getUser(); }\r\n\r\n ngOnInit(): void { this.getModel(); \r\n // Adjust margin-right for scan button depending if nav is fixed or not\r\n this.navFixedSubscription = this.gs.isNavFixed.subscribe(\r\n r => { this.isFixed = r; }\r\n );\r\n this.isFixed = localStorage.getItem('isNavFixed') === \"true\"; \r\n }\r\n \r\n ngOnDestory = () => { this.navFixedSubscription?.unsubscribe() }\r\n\r\n getModel() {\r\n this.workStationService.getModel(this.user?.ciWorkstationId).subscribe(() => {\r\n setTimeout(() => {\r\n this.workStationName = this.workStationService.workStationName;\r\n this.noWorkstation = this.workStationService.noWorkstation;\r\n // Call this method again if getting name fails, maximum of 5 retries.\r\n if (!this.workStationName && this.getModelRetries <= 5) { \r\n this.getModelRetries++;\r\n this.getModel();\r\n } else { this.getModelRetries = 0; }\r\n }, 100)\r\n });\r\n }\r\n\r\n openCiWorkstationModal() {\r\n this.workStationService.openCiWorkstationModal();\r\n // When a user closes the modal to select their workstation,\r\n // an event will be emitted to update the data on the UI.\r\n this.workStationService.update.subscribe(() => { this.getModel(); });\r\n }\r\n}\r\n","\r\n \r\n Current Workstation: {{ workStationName }}\r\n \r\n\r\n","import { Component, inject, Input } from '@angular/core';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport { faEllipsisV } from '@fortawesome/pro-solid-svg-icons';\r\nimport { NavigationService } from '../../navigation.service';\r\nimport { QuickNavService } from './quick-nav.service';\r\n\r\n// This component places a small button in the top right corner of the screen (within the secondary nav)\r\n// that opens any projected content below the secondary nav.\r\n//\r\n// Example:\r\n//\r\n// \r\n// {{ insert projected content / components here }}\r\n// \r\n\r\n@Component({\r\n selector: 'pcg-quick-nav',\r\n templateUrl: './quick-nav.component.html',\r\n styleUrls: ['./quick-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class QuickNavComponent {\r\n quickNavService = inject(QuickNavService);\r\n navService = inject(NavigationService);\r\n\r\n // Optional icon input, defaults to ellipsis\r\n @Input() icon: IconDefinition = faEllipsisV;\r\n @Input() tooltip: string;\r\n \r\n // Optional custom CSS class input\r\n @Input() iconClass: string;\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n @if(quickNavService.showContent()) {\r\n
\r\n \r\n
\r\n }\r\n
","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { computed, inject, Injectable, signal } from '@angular/core';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { SubscriptionEnum } from 'app/core/enums/generated/SubscriptionEnum';\r\nimport { SystemMessage } from 'app/core/system-message/system-message-service';\r\nimport { NotificationService } from 'app/notification.service';\r\nimport { UserNotificationVm } from 'app/shared/generated/Models/Notifications/UserNotificationVm';\r\nimport { of } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsService {\r\n\r\n public notifications = signal([]);\r\n readonly notifications$ = toObservable(this.notifications);\r\n http = inject(HttpClient);\r\n toastr = inject(NotificationService);\r\n\r\n\r\n unreadCount = computed(() => {\r\n return this.notifications().filter(n => !n.markedAsRead).length;\r\n });\r\n\r\n getNotificationsByUserId(userId: number): void {\r\n let params: HttpParams = new HttpParams()\r\n .set('silent', true);\r\n\r\n this.http.get(`api/dashboard/notifications/${userId}`, { params: params })\r\n .subscribe({\r\n next: (notifications) => {\r\n this.notifications.set(\r\n notifications.sort((a, b) => new Date(b.notifiedDate).getTime() - new Date(a.notifiedDate).getTime())\r\n );\r\n },\r\n error: (error) => {\r\n this.toastr.showError('Error fetching notifications');\r\n console.error('Error fetching notifications:', error);\r\n }\r\n });\r\n }\r\n\r\n markAsRead(notificationId: number): void {\r\n this.http.post(`api/dashboard/notifications/${notificationId}/mark-read`, {})\r\n .pipe(\r\n tap(() => {\r\n this.notifications.update(notifications =>\r\n notifications.map(n =>\r\n n.userNotificationId === notificationId\r\n ? { ...n, markedAsRead: true, markedAsReadDate: new Date() }\r\n : n\r\n )\r\n );\r\n }),\r\n catchError(error => {\r\n this.toastr.showError('Error marking notification as read');\r\n console.error('Error marking notification as read:', error);\r\n return of(false);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n markAllAsRead(userId: number, ba?: number[]): void {\r\n this.http.post(`api/dashboard/notifications/mark-all-read/${userId}`, ba)\r\n .pipe(\r\n tap((sm: SystemMessage) => {\r\n let message = `All notifications have been marked as read.`;\r\n if(ba) {\r\n var baNames = ba.map(o => BusinessAreaEnum.toDescription(o));\r\n if(baNames.length > 1)var lastBa = baNames.pop();\r\n message = `All ${baNames.join(\", \") + (lastBa ? `, and ${lastBa}` : \"\")} notifications have been marked as read.`;\r\n }\r\n this.notifications.set(sm.model);\r\n this.toastr.showMessage(message, sm.messageClass);\r\n }),\r\n catchError(error => {\r\n this.toastr.showError('Error marking all notifications as read');\r\n console.error('Error marking all notifications as read:', error);\r\n return of(false);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n deleteNotification(notificationId: number): void {\r\n this.http.delete(`api/dashboard/notifications/${notificationId}`)\r\n .pipe(\r\n tap(() => {\r\n this.notifications.update(notifications =>\r\n notifications.filter(n => n.userNotificationId !== notificationId)\r\n );\r\n }),\r\n catchError(error => {\r\n this.toastr.showError('Error deleting notification');\r\n console.error('Error deleting notification:', error);\r\n return of(false);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n deleteAllNotifications(userId: number, ba?: number[]): void {\r\n this.http.delete(`api/dashboard/notifications/delete-all/${userId}`, {body: ba})\r\n .pipe(\r\n tap((sm: SystemMessage) => {\r\n let message = `All notifications have been deleted.`;\r\n if(ba) {\r\n var baNames = ba.map(o => BusinessAreaEnum.toDescription(o));\r\n if(baNames.length > 1)var lastBa = baNames.pop();\r\n message = `All ${baNames.join(\", \") + (lastBa ? `, and ${lastBa}` : \"\")} notifications have been deleted.`;\r\n }\r\n this.notifications.set(sm.model);\r\n this.toastr.showMessage(message, sm.messageClass);\r\n }),\r\n catchError(error => {\r\n this.toastr.showError('Error deleting all notifications');\r\n console.error('Error deleting all notifications:', error);\r\n return of(false);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n \r\n unsubscribe(subscription: SubscriptionEnum): void {\r\n this.http.post(`api/Users/UnsubscribeUser?subscription=${subscription}`, {})\r\n .pipe(\r\n tap(() => {\r\n this.notifications.update(notifications =>\r\n notifications.map(n =>\r\n n.subscription === subscription\r\n ? { ...n, markedAsRead: true, markedAsReadDate: new Date() }\r\n : n\r\n )\r\n );\r\n }),\r\n catchError(error => {\r\n this.toastr.showError('Error Unsubscribing');\r\n console.error('Error Unsubscribing:', error);\r\n return of(false);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountRequestModalStateService {\r\n private modalRefSubject = new BehaviorSubject(null);\r\n\r\n setModalRef(modalRef: NgbModalRef): void {\r\n this.modalRefSubject.next(modalRef);\r\n }\r\n\r\n getModalRefObservable() {\r\n return this.modalRefSubject.asObservable();\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { AfterContentChecked, AfterViewInit, ChangeDetectorRef, Component, HostListener, inject, Input, OnInit, signal } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { faAngleDown, faArrowLeft, faArrowRight, faArrowRightArrowLeft, faBell, faBoxesPacking, faBoxOpen, faPrescription, faUser, faUserMd } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { UntilDestroy, untilDestroyed } from \"@ngneat/until-destroy\";\r\n\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { getMainNavRoutes } from \"app/core/main-nav-routes\";\r\nimport { NotificationsService } from \"app/core/pages/dashboard/widgets/notifications-widget/notifications.service\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SseNotificationService } from \"app/core/sse-notification/sse-notification.service\";\r\nimport { SystemMessage, SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { GlobalVariablesService } from \"app/services/global-variables.service\";\r\nimport { FaIconName } from \"app/shared/fa-num-icon/fa-icon-name/fa-icon-name\";\r\nimport { FaIconPosition, FaPositionUnits } from \"app/shared/fa-num-icon/fa-icon-position/fa-icon-position\";\r\nimport { FaNumColor } from \"app/shared/fa-num-icon/fa-num-color/fa-num-color.enum\";\r\nimport { UserJsVm } from \"app/shared/generated/Administration/Models/Users/UserJsVm\";\r\nimport { pcgSettings } from \"app/shared/generated/pcg-settings\";\r\nimport { FormatHelperService } from \"app/shared/helpers/format-helper.service\";\r\nimport { GlobalService } from \"app/shared/services/global.service\";\r\nimport { AccountRequestModalStateService } from \"app/shared/state/account-request-modal-state.service\";\r\nimport { NavNotificationService } from \"../nav-notification.service\";\r\nimport { NavRoute } from \"../nav.route.interface\";\r\nimport { NavigationService } from \"../navigation.service\";\r\nimport { OrganizationAccountUpdateNavComponent } from \"../organization-account-update-nav/organization-account-update-nav.component\";\r\n\r\n// Navigation sidebar component template that provides:\r\n// - Toggle button for docking/undocking nav (desktop only)\r\n// - Logo/brand header with environment indicator\r\n// - Main navigation menu with:\r\n// - Dynamic route-based navigation items\r\n// - Nested navigation support with expandable sections\r\n// - User profile section with edit profile and logout\r\n// - Status indicators and quick access buttons for:\r\n// - Fulfillment queue counts (Product Prep, Shipping Prep, QC Check)\r\n// - Account request notifications\r\n// - Reconciliation/Invoice notifications\r\n\r\n// Key features:\r\n// - Responsive mobile/desktop layouts\r\n// - Role-based navigation visibility\r\n// - Active route highlighting\r\n// - Expandable/collapsible nested navigation\r\n// - Notification badges and tooltips\r\n@UntilDestroy()\r\n@Component({\r\n selector: \"pcg-mat-side-nav\",\r\n templateUrl: \"./mat-side-nav.component.html\",\r\n styleUrl: \"./mat-side-nav.component.scss\",\r\n standalone: false\r\n})\r\nexport class MatSideNavComponent implements OnInit, AfterViewInit, AfterContentChecked {\r\n\r\n\t@Input() user: UserJsVm;\r\n\r\n\tnavService = inject(NavigationService);\r\n sseService = inject(SseNotificationService);\r\n notificationsService = inject(NotificationsService);\r\n ns = inject(NavNotificationService);\r\n\r\n\tnavContentOffscreen: boolean = false;\r\n\t// Setting the scroll height used to keep the nested table scrollable with headers shown.\r\n\tobserver = new IntersectionObserver((entries) => { this.navContentOffscreen = !entries[0]?.isIntersecting; });\r\n\t// Used to display a loading spinner on the navigation link when clicked, notifying the user that the page is loading.\r\n\tnavLinkLoading = signal<[string, number]>([null, null]);\r\n\r\n\tfaIcons = {\r\n\t\tfaArrowLeft\r\n\t\t, faArrowRight\r\n\t\t, faAngleDown\r\n\t\t, faUser\r\n\t\t, faBoxOpen\r\n\t\t, faUserMd\r\n\t\t, faArrowRightArrowLeft\r\n\t\t, faBell\r\n\t\t, faBoxesPacking\r\n\t\t, faPrescription\r\n\t};\r\n\r\n\tstep1Position: FaIconPosition = new FaIconPosition(\r\n\t\tnull\r\n\t\t, 13\r\n\t\t, null\r\n\t\t, null\r\n\t\t, FaPositionUnits.percent\r\n\t);\r\n\tfaNumColor: typeof FaNumColor = FaNumColor;\r\n\tfaIconName: FaIconName = new FaIconName();\r\n\ticonColorName = \"inherit\";\r\n\r\n\tfileLogoUrl = \"../assets/images/logos/logo_small.png\";\r\n\tmode = pcgSettings.mode;\r\n\tnavigationOffset = 0;\r\n\r\n\t// Enums\r\n\tbusArea = BusinessAreaEnum;\r\n\trole = PermissionRole;\r\n\r\n\tprivate resizeTimeout;\r\n\r\n\t@HostListener(\"window:resize\")\r\n\tonResize() {\r\n\t\tclearTimeout(this.resizeTimeout);\r\n\t\tthis.resizeTimeout = setTimeout(() => { this.fixNavOffset(); }, 200);\r\n\t}\r\n\tconstructor(\r\n\t\tpublic router: Router\r\n\t\t, private sec: SecurityService\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private modalService: NgbModal\r\n\t\t, public arms: AccountRequestModalStateService\r\n\t\t, public gs: GlobalService\r\n\t\t, public ms: SystemMessageService\r\n\t\t, public gvs: GlobalVariablesService\r\n\t\t, private cdRef: ChangeDetectorRef\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.navService.navRoutes.set(this.sec.getSecureNavItems(getMainNavRoutes()));\r\n\t\tthis.navService.navRoutes$\r\n\t\t\t.pipe(untilDestroyed(this))\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.fixNavOffset();\r\n\t\t\t\tthis.navLinkLoading.set([null, null]);\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tngAfterViewInit() { this.ns.getHeaderCounts(); }\r\n\tngAfterContentChecked() { this.cdRef.detectChanges(); }\r\n\r\n\tfixNavOffset() {\r\n\t\tconst mainNav = document.getElementById(\"pcgMainNavigation\");\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (getComputedStyle(mainNav, null).position === \"fixed\") { this.navigationOffset = mainNav.getBoundingClientRect().bottom; } \r\n\t\t\telse { this.navigationOffset = 0; }\r\n\r\n\t\t\tconst styles = `pcg-side-nav { top: ${this.navigationOffset - 1}px }` \r\n\t\t\t\t+ `.nav-padding-placeholder { padding-top: ${this.navigationOffset}px; }` \r\n\t\t\t\t+ `.conversations-sidenav { top: ${this.navigationOffset}px }` \r\n\t\t\t\t+ `.knowledge-base-doc-popout { top: ${this.navigationOffset}px }` \r\n\t\t\t\t+ `.popout { top: ${this.navigationOffset}px }`;\r\n\r\n\t\t\tconst tableStyles = `.pcg-table-fixed-header thead tr th, .pcg-table-fixed-header thead tr { top: ${this.navigationOffset - 1}px }`;\r\n\r\n\t\t\tthis.setDynamicStyle(\"navPaddingOffset\", styles);\r\n\t\t\tthis.setDynamicStyle(\"navTableOffset\", tableStyles);\r\n\t\t\tthis.checkForContentOffscreen();\r\n\t\t}, 100);\r\n\t}\r\n\r\n\tsetDynamicStyle(name: string, styles: string) {\r\n\t\tlet dynamicStyle = document.getElementById(name);\r\n\t\tif (dynamicStyle) { document.head.removeChild(dynamicStyle); }\r\n\t\tdynamicStyle = document.createElement(\"style\");\r\n\t\tdynamicStyle.id = name;\r\n\t\tdynamicStyle.innerHTML = styles;\r\n\t\tdocument.head.appendChild(dynamicStyle);\r\n\t}\r\n\r\n\tcheckForContentOffscreen(): void {\r\n\t\t// Checking if there is any nave content off-screen.\r\n\t\tconst navAnchor = document.getElementById(\"navAnchor\");\r\n\t\tif (navAnchor) {\r\n\t\t\tthis.observer.observe(navAnchor);\t\r\n\t\t}\t\r\n\t}\r\n\r\n\r\n\t// Stores modal reference in state of the service.\r\n\topenOrgAccountUpdateModal = () => this.arms.setModalRef(this.modalService.open(OrganizationAccountUpdateNavComponent, { animation: false }));\r\n\r\n\topenFulfillmentList(step: number) { window.location.href = \"/pharmacy/fulfillment/list?status=\" + step; }\r\n\r\n\tlogout() {\r\n this.sseService.destroySSE();\r\n\t\tthis.gvs.isNavFixed.set(false);\r\n\t\tthis.navService.collapseAllSubNavs();\r\n\t\tthis.sec.setSecurity(null, null);\r\n\t\tlocalStorage.removeItem(\"subNavPosition\");\r\n\t\tthis.deleteAllCookies();\r\n\t\tthis.router.navigate([\"/\"]);\r\n\t\tsessionStorage.removeItem(\"notificationModalOpened\");\r\n\t\tsessionStorage.removeItem(\"step1Count\");\r\n\t\tsessionStorage.removeItem(\"step2Count\");\r\n\t\tsessionStorage.removeItem(\"step3Count\");\r\n\t\tsessionStorage.removeItem(\"accountRequestCount\");\r\n\t\tsessionStorage.removeItem(\"ciWorkstationModalOpened\");\r\n\t\tlocalStorage.removeItem(\"herosAgencyFilters\");\r\n\t\tlocalStorage.removeItem(\"herosApplicantFilters\");\r\n\r\n var loggedInUsingSso = localStorage.getItem(\"loggedInUsingSso\") == \"true\";\r\n localStorage.setItem(\"loggedInUsingSso\", \"false\");\r\n if (loggedInUsingSso) {\r\n this.httpClient.get(`api/Account/SingleSignOut?userId=${this.user.id}&entraIdentifierUrl=${localStorage.getItem(\"entraIdentifierUrl\")}&entraLoginUrl=${localStorage.getItem(\"entraLoginUrl\")}`)\r\n .subscribe((msg: SystemMessage) => {\r\n localStorage.setItem(\"entraIdentifierUrl\", \"\");\r\n localStorage.setItem(\"entraLoginUrl\", \"\");\r\n if (msg.isSuccessful) { window.location.href = msg.value; }\r\n else { this.ms.setSystemMessage(msg.message, msg.messageClass); }\r\n }\r\n )\r\n }\r\n\r\n\t}\r\n\r\n\tdeleteAllCookies() {\r\n\t\tdocument.cookie.split(\";\").forEach((cookie) => {\r\n\t\t\tconst name = cookie.split(\"=\")[0].trim();\r\n\t\t\tdocument.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleUserProfileSubNav() {\r\n\t\tconst isOpen = this.navService.userProfileExpanded();\r\n\t\tthis.navService.collapseAllSubNavs();\r\n\t\tif (!isOpen) { this.navService.userProfileExpanded.set(true); }\r\n\t}\r\n\r\n\t/**\r\n\t * Handles the click event on a navigation link.\r\n\t * Sets the `navLinkLoading` state to the provided `name` and `level` values,\r\n\t * and then resets the state to `[null, null]` after 1 second.\r\n\t * This is likely used to indicate that a navigation link is currently loading.\r\n\t *\r\n\t * @param nav - The navigation link that was clicked.\r\n\t * @param level - The level of the navigation link that was clicked.\r\n\t*/\r\n\tnavLinkClicked(\r\n\t\tnav: NavRoute\r\n\t\t, level: number\r\n\t) {\r\n\t\tif (this.navService.isMobile()) { this.navService.isNavOpen.set(false); }\r\n\t\tthis.navLinkLoading.set([nav.name, level]);\r\n\t\tlet path = nav.href?.length \r\n\t\t\t? nav.href \r\n\t\t\t: nav.path;\t\t\t\t\r\n\t\tif (nav.openNewTab) { this.openInNewTab(path); } \r\n\t\tif (this.navService.isMobile()) { this.navService.toggleNavOpen(false, true); }\t\r\n\t\tsetTimeout(() => { this.navLinkLoading.set([null, null]); }, 1000);\r\n\t}\r\n\r\n\topenInNewTab(namedRoute: string) {\r\n\t\tlet newRelativeUrl = this.router.createUrlTree([namedRoute]);\r\n\t\tlet baseUrl = window.location.href.replace(this.router.url, \"\");\r\n\t\twindow.open(baseUrl + newRelativeUrl, \"_blank\");\r\n\t}\r\n\r\n\tredirect(path: string) {\r\n\t\tif (!FormatHelperService.GetIsNullyOrWhitespace(path)) {\r\n\t\t\tthis.router.navigateByUrl(path)\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\tconsole.log('Error: ' + err);\r\n\t\t\t\t\twindow.location.href = path; \r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else { window.location.reload(); }\r\n\t}\r\n\r\n\t/**\r\n\t * Checks if a navigation link is currently loading.\r\n\t *\r\n\t * @param name - The name of the navigation link.\r\n\t * @param level - The level of the navigation link.\r\n\t * @returns `true` if the specified navigation link is currently loading, `false` otherwise.\r\n\t*/\r\n\tnavLinkIsLoading(\r\n\t\tname\r\n\t\t, level\r\n\t) {\r\n\t\tconst [currentName, currentLevel] = this.navLinkLoading();\r\n\t\treturn currentName === name && currentLevel === level;\r\n\t}\r\n\r\n\tscrollToBottom() {\r\n\t\tconst navAnchor = document.getElementById(\"navAnchor\");\r\n\t\tif (navAnchor) { navAnchor.scrollIntoView({ behavior: \"smooth\", block: \"end\", inline: \"nearest\" }); }\r\n\t}\r\n}\r\n","\r\n@if (!navService.isMobile()) {\r\n \r\n}\r\n\r\n\r\n\r\n
\r\n \"HOMER\"\r\n @if (mode !== 'Production') {
}\r\n
\r\n\r\n\r\n\r\n \r\n @for (nav of navService.navRoutes(); track nav.name) {\r\n @if (!nav.isSubNav) {\r\n \r\n }\r\n }\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {{ user?.firstName + \" \" + user?.lastName }}\r\n \r\n
\r\n
\r\n\r\n @if (navService.userProfileExpanded()) {\r\n
\r\n My Profile\r\n \r\n Logout\r\n \r\n
\r\n }\r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n\r\n @if (navService.canViewNav(nav)) {\r\n \r\n }\r\n\r\n\r\n\r\n\r\n \r\n \r\n @if (nav.icon) {\r\n
\r\n \r\n
\r\n }\r\n {{nav.shortName ?? nav.name}}\r\n \r\n
\r\n
\r\n @if (nav.expanded) {\r\n
\r\n @for (subNav of nav.children; track subNav.name) {\r\n \r\n }\r\n
\r\n }\r\n
\r\n\r\n\r\n\r\n \r\n \r\n @if (nav.icon) {\r\n
\r\n \r\n
\r\n }\r\n {{nav.shortName ?? nav.name}}\r\n @if (navLinkIsLoading(nav.name, level)) {\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n@if (navContentOffscreen) {\r\n
\r\n \r\n
\r\n}\r\n\r\n
\r\n","import { computed, inject, Injectable, signal } from '@angular/core';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { UserStateService } from 'app/state/user/user-state.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\nimport { faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BAService {\r\n sec = inject(SecurityService);\r\n userStateService = inject(UserStateService);\r\n http = inject(HttpClient)\r\n \r\n // Used by BA quick nav to direct search to Cardinal Invoice vs B&A Invoice list screens\r\n toCardinalInvoice = signal(true);\r\n quickSearchTooltip = \"Quick invoice search\";\r\n quickSearchIcon = faMagnifyingGlass;\r\n minTypeaheadLength = 5;\r\n\r\n isBaAdmin = computed(() => {\r\n return this.userStateService.user() ? \r\n this.sec?.hasModuleAccess(\r\n [ BusinessAreaEnum.BA ]\r\n , SecurityService.setMinRole(PermissionRole.SystemAdmin)\r\n ) : false;\r\n });\r\n\r\n isBaManager = computed(() => {\r\n return this.userStateService.user() ? \r\n this.sec?.hasModuleAccess(\r\n [ BusinessAreaEnum.BA ]\r\n , SecurityService.setMinRole(PermissionRole.Manager)\r\n ) : false;\r\n });\r\n\r\n isBaUser = computed(() => {\r\n return this.userStateService.user() ? \r\n this.sec?.hasModuleAccess(\r\n [ BusinessAreaEnum.BA ]\r\n , SecurityService.setMinRole(PermissionRole.User)\r\n ) : false;\r\n });\r\n\r\n\t// Confirmation # Typeahead\r\n\tgetConfirmationNumTypeahead = (text$: Observable) => {\r\n return text$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap(confirmationNum => confirmationNum.length < this.minTypeaheadLength ? []\r\n\t\t\t\t: this.http.get(`select/GetConfirmationNumList?confirmationNum=${encodeURIComponent(confirmationNum.trim())}&toCardinalInvoice=${this.toCardinalInvoice()}`))\r\n\t\t);\r\n\t}\r\n\r\n // Invoice # Typeahead\r\n\tgetInvoiceNumTypeahead = (text$: Observable) => {\r\n\t\treturn text$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap(invoiceNum => invoiceNum.length < this.minTypeaheadLength ? []\r\n\t\t\t\t: this.http.get(`select/GetInvoiceNumList?invoiceNum=${encodeURIComponent(invoiceNum.trim())}&toCardinalInvoice=${this.toCardinalInvoice()}`))\r\n\t\t);\r\n\t}\r\n\r\n // PO # Typeahead\r\n\tgetCustomerPoNumTypeahead = (text$: Observable) => { \r\n\t\treturn text$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap(customerPoNum => customerPoNum.length < this.minTypeaheadLength ? []\r\n\t\t\t\t: this.http.get(`select/GetCustomerPoNumList?customerPoNum=${encodeURIComponent(customerPoNum.trim())}`))\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, DestroyRef, ElementRef, inject, ViewChild } from '@angular/core';\r\n\r\nimport { QuickNavService } from '../quick-nav/quick-nav.service';\r\nimport { of, tap } from 'rxjs';\r\nimport { BAService } from 'app/ba/ba.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'pcg-ba-quick-nav',\r\n templateUrl: './ba-quick-nav.component.html',\r\n styleUrls: ['./ba-quick-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class BAQuickNavComponent {\r\n quickNavService = inject(QuickNavService);\r\n baService = inject(BAService);\r\n toastr = inject(ToastrService);\r\n destroyRef = inject(DestroyRef);\r\n router = inject(Router);\r\n \r\n @ViewChild('confirmationNum') confirmationNum: ElementRef;\r\n @ViewChild('invoiceNum') invoiceNum: ElementRef;\r\n\r\n confirmNumHasErrors: boolean = false;\r\n invoiceNumHasErrors: boolean = false;\r\n confirmNumErrorMsg: string = '';\r\n invoiceNumErrorMsg: string = '';\r\n\r\n\r\n navWithConfirmNum(confirmationNum: string) {\r\n if (!this.isInputValid(confirmationNum)) {\r\n\t\t\tthis.confirmNumHasErrors = true;\r\n\t\t\tthis.confirmNumErrorMsg = \"Please enter a valid Confirmation #\"\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n this.baService.getConfirmationNumTypeahead(of(confirmationNum))\r\n .pipe(\r\n tap((response: string[]) => {\r\n if (response?.length == 0) {\r\n this.toastr.error(\"No results found\", null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n } else {\r\n // Nav to B&A Invoice List\r\n if(!this.baService.toCardinalInvoice()) {\r\n // TODO: route to B&A invoice list once implemented\r\n this.toastr.warning(\"Feature coming soon!\", null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n return;\r\n } \r\n // Nav to Cardinal Invoice List\r\n else {\r\n this.router.navigate(['/ba/cardinal-invoices'], { queryParams: { confirmationNum: confirmationNum } });\r\n }\r\n }\r\n }),\r\n takeUntilDestroyed(this.destroyRef)\r\n )\r\n .subscribe();\t\r\n\t}\r\n\r\n\tnavWithInvoiceNum(invoiceNum: string) {\r\n\t\tinvoiceNum = invoiceNum.trim();\r\n if (!this.isInputValid(invoiceNum)) {\r\n\t\t\tthis.invoiceNumHasErrors = true;\r\n\t\t\tthis.invoiceNumErrorMsg = \"Please enter a valid Invoice #\";\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n this.baService.getInvoiceNumTypeahead(of(invoiceNum))\r\n .pipe(\r\n tap((response: string[]) => {\r\n if (response?.length == 0) {\r\n this.toastr.error(\"No results found\", null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n } else {\r\n // Nav to B&A Invoice List\r\n if(!this.baService.toCardinalInvoice()) {\r\n // TODO: route to B&A invoice list once implemented\r\n this.toastr.warning(\"Feature coming soon!\", null, { positionClass: 'toast-top-right', timeOut: 2000});\r\n return;\r\n } \r\n // Nav to Cardinal Invoice List\r\n else {\r\n this.router.navigate(['/ba/cardinal-invoices'], { queryParams: { invoiceNum: invoiceNum } });\r\n }\r\n }\r\n }),\r\n takeUntilDestroyed(this.destroyRef)\r\n )\r\n .subscribe();\r\n\t}\r\n\r\n\r\n\tclearErrors(inputType : string) {\r\n\t\tswitch(inputType) {\r\n\t\t\tcase 'confirm':\r\n\t\t\t\tthis.confirmNumHasErrors = false;\r\n\t\t\t\tthis.confirmNumErrorMsg = '';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'invoice':\r\n\t\t\t\tthis.invoiceNumHasErrors = false;\r\n\t\t\t\tthis.invoiceNumErrorMsg = '';\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tisInputValid(input: string) {\r\n\t\tif (input === null || input === '') { return false; }\r\n\t\treturn true;\r\n\t}\r\n\r\n close() {\r\n this.clearErrors('confirm');\r\n this.clearErrors('invoice');\r\n this.confirmationNum.nativeElement.value = this.invoiceNum.nativeElement.value = '';\r\n this.baService.toCardinalInvoice.set(true);\r\n this.quickNavService.closeContent();\r\n }\r\n}\r\n","
\r\n
\r\n
Quick Search Navigation
\r\n
\r\n \r\n
\r\n
\r\n Confirm #\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n @if (confirmNumHasErrors) {

{{ confirmNumErrorMsg }}

}\r\n @else {

}\r\n \r\n \r\n
\r\n
\r\n Invoice #\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n @if (invoiceNumHasErrors) {

{{ invoiceNumErrorMsg }}

}\r\n @else {

} \r\n\r\n \r\n \r\n
\r\n Cardinal = navigates to the Cardinal Invoices list screen.
\r\n B & A = navigates to the B & A Invoices list screen.
\r\n
\r\n
\r\n\r\n \r\n Cardinal\r\n B & A\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { Component, inject } from '@angular/core';\r\nimport { faExclamationCircle } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { QuickNavService } from '../../quick-navs/quick-nav/quick-nav.service';\r\n\r\n@Component({\r\n selector: 'pcg-pharmacy-quick-nav',\r\n templateUrl: './pharmacy-quick-nav.component.html',\r\n styleUrls: ['./pharmacy-quick-nav.component.scss'],\r\n standalone: false\r\n})\r\nexport class PharmacyQuickNavComponent {\r\n quickNavService = inject(QuickNavService);\r\n\r\n faExclamationCircle = faExclamationCircle;\r\n \r\n\r\n\r\n}\r\n","
\r\n
\r\n
Quick Search Navigation
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { NgTemplateOutlet } from '@angular/common';\r\nimport { AfterViewInit, Component, DestroyRef, inject, OnInit, signal, ViewChild } from '@angular/core';\r\nimport { faScannerGun, faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { NavigationService } from 'app/shared/navigation/navigation.service';\r\nimport { Location } from '@angular/common';\r\nimport { NavRoute } from 'app/shared/navigation/nav.route.interface';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { GlobalService } from 'app/shared/services/global.service';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\n\r\n// This component dictates which quick nav component is displayed based\r\n// on the current route.\r\n@Component({\r\n selector: 'pcg-quick-nav-controller',\r\n templateUrl: './quick-nav-controller.component.html',\r\n styleUrls: ['./quick-nav-controller.component.scss'],\r\n standalone: false\r\n})\r\nexport class QuickNavControllerComponent implements OnInit, AfterViewInit {\r\n navService = inject(NavigationService);\r\n location = inject(Location);\r\n destroyRef = inject(DestroyRef);\r\n globalService = inject(GlobalService);\r\n sec = inject(SecurityService);\r\n\r\n @ViewChild('ciRepack') ciRepack: NgTemplateOutlet;\r\n @ViewChild('ba') ba: NgTemplateOutlet;\r\n @ViewChild('pharmacy') pharmacy: NgTemplateOutlet;\r\n\r\n faIconName = { \r\n faScannerGun, \r\n faMagnifyingGlass \r\n };\r\n \r\n // Dictates which template to display in the quick nav\r\n templateOutletSignal = signal(undefined);\r\n\r\n hasPharmacyNavAccess = false;\r\n\r\n ngOnInit() {\r\n this.setNavSubscription();\r\n this.setPermissionBools();\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For some reason the currSelectedMainNavMenu signal doesn't work when\r\n // clicking the main nav menu items for the first time. Calling this method to solve this issue.\r\n this.setInitSignal();\r\n }\r\n \r\n setInitSignal() {\r\n let initLocation: string = this.location?.path();\r\n // Note: If adding more business areas, also add to switch statement in setNavSubscription() method\r\n if(initLocation.includes('ci-repack/')) { \r\n this.templateOutletSignal.set(this.ciRepack); \r\n }\r\n if(initLocation.includes('ba/')) { \r\n this.templateOutletSignal.set(this.ba); \r\n }\r\n if(initLocation.includes('pharmacy/')) { \r\n this.templateOutletSignal.set(this.pharmacy); \r\n }\r\n\r\n this.globalService.isQuickNavDisplayed.set(this.templateOutletSignal() != null);\r\n }\r\n\r\n setNavSubscription() {\r\n this.navService.currSelectedMainNavMenu$\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe((navRoute: NavRoute) => {\r\n // Note: If adding more business areas, also add routes to setInitSignal() method\r\n switch (navRoute?.module) {\r\n case BusinessAreaEnum.CI:\r\n this.templateOutletSignal.set(this.ciRepack);\r\n break;\r\n case BusinessAreaEnum.BA:\r\n this.templateOutletSignal.set(this.ba);\r\n break;\r\n case BusinessAreaEnum.Inventory:\r\n this.templateOutletSignal.set(this.pharmacy);\r\n break;\r\n default:\r\n this.templateOutletSignal.set(undefined);\r\n }\r\n\r\n this.globalService.isQuickNavDisplayed.set(this.templateOutletSignal() != null);\r\n });\r\n }\r\n\r\n setPermissionBools() {\r\n this.hasPharmacyNavAccess = this.sec.hasModuleAccess([BusinessAreaEnum.Inventory], [PermissionRole.Pharmacist]);\r\n }\r\n}\r\n","@if(templateOutletSignal()) {\r\n \r\n}\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n@if(hasPharmacyNavAccess) {\r\n \r\n \r\n \r\n \r\n \r\n}","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UiSwitchModule } from 'ngx-ui-switch';\r\nimport { FormElementsModule } from '../form-elements/form-elements.module';\r\nimport { OrganizationAccountUpdateComponent } from '../organizations/organization-account-update/organization-account-update.component';\r\nimport { CiDashboardActionsComponent } from './quick-navs/ci-dashboard-actions/ci-dashboard-actions.component';\r\nimport { NotificationNavComponent } from './notification-nav/notification-nav.component';\r\nimport { OrganizationAccountUpdateNavComponent } from './organization-account-update-nav/organization-account-update-nav.component';\r\nimport { SideNavComponent } from './side-nav/side-nav.component';\r\nimport { TopClickNavComponent } from './top-click-nav/top-click-nav.component';\r\nimport { TopSecondaryNavComponent } from './top-secondary-nav/top-secondary-nav.component';\r\nimport { WorkstationBannerComponent } from './workstation-banner/workstation-banner.component';\r\nimport { QuickNavComponent } from './quick-navs/quick-nav/quick-nav.component';\r\nimport { MatSideNavComponent } from './mat-side-nav/mat-side-nav.component';\r\nimport { MaterialsModule } from '../material.module';\r\nimport { QuickNavControllerComponent } from './quick-navs/quick-nav-controller/quick-nav-controller.component';\r\nimport { BAQuickNavComponent } from './quick-navs/ba-quick-nav/ba-quick-nav.component';\r\nimport { PharmacyQuickNavComponent } from './quick-navs/pharmacy-quick-nav/pharmacy-quick-nav.component';\r\nimport { NgbTypeaheadModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ScanRxComponent } from 'app/inventory/scan-rx/scan-rx.component';\r\nimport { InlineSpinnerComponent } from '../inline-spinner/inline-spinner.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [ \r\n\t\tTopClickNavComponent\r\n\t\t, TopSecondaryNavComponent\r\n\t\t, SideNavComponent\r\n\t\t, NotificationNavComponent\r\n\t\t, WorkstationBannerComponent\r\n\t\t, CiDashboardActionsComponent\r\n\t\t, QuickNavComponent\r\n\t\t, OrganizationAccountUpdateNavComponent\r\n\t\t, OrganizationAccountUpdateComponent\r\n\t\t, MatSideNavComponent\r\n , QuickNavControllerComponent\r\n , BAQuickNavComponent\r\n , PharmacyQuickNavComponent\r\n , ScanRxComponent\r\n , InlineSpinnerComponent\r\n\t],\r\n\timports: [ \r\n\t\tRouterModule\r\n\t\t, CommonModule\r\n\t\t, FormsModule\r\n\t\t, ReactiveFormsModule\r\n\t\t, FontAwesomeModule\r\n\t\t, NgbTooltipModule\r\n\t\t, FormElementsModule\r\n\t\t, UiSwitchModule\r\n\t\t, MaterialsModule\r\n , NgbTypeaheadModule\r\n\t],\r\n\texports: [\r\n\t\tTopClickNavComponent\r\n\t\t, TopSecondaryNavComponent\r\n\t\t, SideNavComponent\r\n\t\t, NotificationNavComponent\r\n\t\t, FontAwesomeModule\r\n\t\t, WorkstationBannerComponent\r\n\t\t, CiDashboardActionsComponent\r\n\t\t, QuickNavComponent\r\n\t\t, OrganizationAccountUpdateComponent\r\n\t\t, MatSideNavComponent\r\n , QuickNavControllerComponent\r\n , BAQuickNavComponent\r\n , PharmacyQuickNavComponent\r\n , ScanRxComponent\r\n , InlineSpinnerComponent\r\n\t]\r\n})\r\nexport class NavigationModule { }\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditOrganizationFacilityVm {\r\n\tfacilityId: number;\r\n\tfacilityName?: string;\r\n\tfacilityIdentifier?: string;\r\n\tcountyId?: number;\r\n\tcountyName?: string;\r\n\tsmartyAddress?: any;\r\n\tsmartyAddressString?: string;\r\n\thasSmarty: boolean;\r\n\tstateAbr?: string;\r\n\tphoneNumber?: string;\r\n\tdauCode?: string;\r\n\tisActive: boolean;\r\n\tisSameAddress: boolean;\r\n\tshipFacilityName?: string;\r\n\tshipSmartyAddress?: any;\r\n\tshipSmartyAddressString?: string;\r\n\thasShipSmarty: boolean;\r\n\tshipStateAbr?: string;\r\n\tisShipAddressValidated: boolean;\r\n\tfriendlyId?: string;\r\n\tgln?: string;\r\n\tmedicalDirectorId?: number;\r\n\tmedicalDirectorName?: string;\r\n\tmedicalDirectorLicense?: string;\r\n\tmedicalDirectorExpDate?: string;\r\n\torganizationId?: number;\r\n\tpfsFacilityId?: number;\r\n\treconCountsRequired?: any;\r\n\tfacilityTypeId?: number;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[Validators.required, Validators.maxLength(20)]]),\r\n\t\t\t'countyId': new UntypedFormControl(null, [...(validators['countyId'] ?? []), ...[]]),\r\n\t\t\t'countyName': new UntypedFormControl(null, [...(validators['countyName'] ?? []), ...[]]),\r\n\t\t\t'smartyAddress': new UntypedFormControl(null, [...(validators['smartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'smartyAddressString': new UntypedFormControl(null, [...(validators['smartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasSmarty': new UntypedFormControl(false, [...(validators['hasSmarty'] ?? []), ...[]]),\r\n\t\t\t'stateAbr': new UntypedFormControl(null, [...(validators['stateAbr'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.required, Validators.minLength(10)]]),\r\n\t\t\t'dauCode': new UntypedFormControl(null, [...(validators['dauCode'] ?? []), ...[Validators.maxLength(6)]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isSameAddress': new UntypedFormControl(false, [...(validators['isSameAddress'] ?? []), ...[]]),\r\n\t\t\t'shipFacilityName': new UntypedFormControl(null, [...(validators['shipFacilityName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'shipSmartyAddress': new UntypedFormControl(null, [...(validators['shipSmartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'shipSmartyAddressString': new UntypedFormControl(null, [...(validators['shipSmartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasShipSmarty': new UntypedFormControl(false, [...(validators['hasShipSmarty'] ?? []), ...[]]),\r\n\t\t\t'shipStateAbr': new UntypedFormControl(null, [...(validators['shipStateAbr'] ?? []), ...[]]),\r\n\t\t\t'isShipAddressValidated': new UntypedFormControl(false, [...(validators['isShipAddressValidated'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'gln': new UntypedFormControl(null, [...(validators['gln'] ?? []), ...[Validators.pattern(\"^[A-Za-z0-9 ]*\"), Validators.maxLength(13)]]),\r\n\t\t\t'medicalDirectorId': new UntypedFormControl(null, [...(validators['medicalDirectorId'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorName': new UntypedFormControl(null, [...(validators['medicalDirectorName'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorLicense': new UntypedFormControl(null, [...(validators['medicalDirectorLicense'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorExpDate': new UntypedFormControl(null, [...(validators['medicalDirectorExpDate'] ?? []), ...[]]),\r\n\t\t\t'organizationId': new UntypedFormControl(null, [...(validators['organizationId'] ?? []), ...[]]),\r\n\t\t\t'pfsFacilityId': new UntypedFormControl(null, [...(validators['pfsFacilityId'] ?? []), ...[]]),\r\n\t\t\t'reconCountsRequired': new UntypedFormControl(null, [...(validators['reconCountsRequired'] ?? []), ...[]]),\r\n\t\t\t'facilityTypeId': new UntypedFormControl(null, [...(validators['facilityTypeId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditOrganizationFacilityVmFromFg {\r\n\t\treturn new EditOrganizationFacilityVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditOrganizationFacilityVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget countyId(): number {\r\n\t\treturn this.fg.get('countyId').value;\r\n\t}\r\n\tset countyId(val) {\r\n\t\tthis.fg.get('countyId').setValue(val);\r\n\t}\r\n\r\n\tget countyName(): string {\r\n\t\treturn this.fg.get('countyName').value;\r\n\t}\r\n\tset countyName(val) {\r\n\t\tthis.fg.get('countyName').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddress(): any {\r\n\t\treturn this.fg.get('smartyAddress').value;\r\n\t}\r\n\tset smartyAddress(val) {\r\n\t\tthis.fg.get('smartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddressString(): string {\r\n\t\treturn this.fg.get('smartyAddressString').value;\r\n\t}\r\n\tset smartyAddressString(val) {\r\n\t\tthis.fg.get('smartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasSmarty(): boolean {\r\n\t\treturn this.fg.get('hasSmarty').value;\r\n\t}\r\n\tset hasSmarty(val) {\r\n\t\tthis.fg.get('hasSmarty').setValue(val);\r\n\t}\r\n\r\n\tget stateAbr(): string {\r\n\t\treturn this.fg.get('stateAbr').value;\r\n\t}\r\n\tset stateAbr(val) {\r\n\t\tthis.fg.get('stateAbr').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget dauCode(): string {\r\n\t\treturn this.fg.get('dauCode').value;\r\n\t}\r\n\tset dauCode(val) {\r\n\t\tthis.fg.get('dauCode').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isSameAddress(): boolean {\r\n\t\treturn this.fg.get('isSameAddress').value;\r\n\t}\r\n\tset isSameAddress(val) {\r\n\t\tthis.fg.get('isSameAddress').setValue(val);\r\n\t}\r\n\r\n\tget shipFacilityName(): string {\r\n\t\treturn this.fg.get('shipFacilityName').value;\r\n\t}\r\n\tset shipFacilityName(val) {\r\n\t\tthis.fg.get('shipFacilityName').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddress(): any {\r\n\t\treturn this.fg.get('shipSmartyAddress').value;\r\n\t}\r\n\tset shipSmartyAddress(val) {\r\n\t\tthis.fg.get('shipSmartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddressString(): string {\r\n\t\treturn this.fg.get('shipSmartyAddressString').value;\r\n\t}\r\n\tset shipSmartyAddressString(val) {\r\n\t\tthis.fg.get('shipSmartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasShipSmarty(): boolean {\r\n\t\treturn this.fg.get('hasShipSmarty').value;\r\n\t}\r\n\tset hasShipSmarty(val) {\r\n\t\tthis.fg.get('hasShipSmarty').setValue(val);\r\n\t}\r\n\r\n\tget shipStateAbr(): string {\r\n\t\treturn this.fg.get('shipStateAbr').value;\r\n\t}\r\n\tset shipStateAbr(val) {\r\n\t\tthis.fg.get('shipStateAbr').setValue(val);\r\n\t}\r\n\r\n\tget isShipAddressValidated(): boolean {\r\n\t\treturn this.fg.get('isShipAddressValidated').value;\r\n\t}\r\n\tset isShipAddressValidated(val) {\r\n\t\tthis.fg.get('isShipAddressValidated').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget gln(): string {\r\n\t\treturn this.fg.get('gln').value;\r\n\t}\r\n\tset gln(val) {\r\n\t\tthis.fg.get('gln').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorId(): number {\r\n\t\treturn this.fg.get('medicalDirectorId').value;\r\n\t}\r\n\tset medicalDirectorId(val) {\r\n\t\tthis.fg.get('medicalDirectorId').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorName(): string {\r\n\t\treturn this.fg.get('medicalDirectorName').value;\r\n\t}\r\n\tset medicalDirectorName(val) {\r\n\t\tthis.fg.get('medicalDirectorName').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorLicense(): string {\r\n\t\treturn this.fg.get('medicalDirectorLicense').value;\r\n\t}\r\n\tset medicalDirectorLicense(val) {\r\n\t\tthis.fg.get('medicalDirectorLicense').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorExpDate(): string {\r\n\t\treturn this.fg.get('medicalDirectorExpDate').value;\r\n\t}\r\n\tset medicalDirectorExpDate(val) {\r\n\t\tthis.fg.get('medicalDirectorExpDate').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget pfsFacilityId(): number {\r\n\t\treturn this.fg.get('pfsFacilityId').value;\r\n\t}\r\n\tset pfsFacilityId(val) {\r\n\t\tthis.fg.get('pfsFacilityId').setValue(val);\r\n\t}\r\n\r\n\tget reconCountsRequired(): any {\r\n\t\treturn this.fg.get('reconCountsRequired').value;\r\n\t}\r\n\tset reconCountsRequired(val) {\r\n\t\tthis.fg.get('reconCountsRequired').setValue(val);\r\n\t}\r\n\r\n\tget facilityTypeId(): number {\r\n\t\treturn this.fg.get('facilityTypeId').value;\r\n\t}\r\n\tset facilityTypeId(val) {\r\n\t\tthis.fg.get('facilityTypeId').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit} from '@angular/core';\r\nimport { TreeNode } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'pcg-programs-accounts-infographic',\r\n templateUrl: './programs-accounts-infographic.component.html',\r\n styleUrls: ['./programs-accounts-infographic.component.scss'],\r\n standalone: false\r\n})\r\nexport class ProgramsAccountsInfographicComponent implements OnInit {\r\n @Input() facilityTypeId = null;\r\n data: TreeNode[][];\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n ngOnInit() {\r\n this.httpClient.get(`api/Administration/Organization/GetInfographicData/${this.facilityTypeId}`)\r\n .subscribe((vm: any) => {\r\n this.data = this.buildObject(vm);\r\n });\r\n }\r\n\r\n buildObject(vm: any): TreeNode[][] {\r\n return vm.map((p: any) => {\r\n return [{\r\n label: p.program,\r\n expanded: true,\r\n styleClass: 'program-node',\r\n children: p.children.map((c: any, i: number) => {\r\n // Extracts the pattern ({programAbreviation} 340B ID) from orgAccount\r\n const orgAccount = c.orgAccount.replace(/.*(\\(\\w+\\) 340B ID)/, '$1');\r\n return {\r\n label: orgAccount,\r\n expanded: true,\r\n styleClass: i % 2 === 0 ? 'org-account-node' : 'org-account-node-alt',\r\n children: [\r\n {\r\n label: c.wholesalerAccount,\r\n styleClass: i % 2 === 0 ? 'wholesaler-account-node' : 'wholesaler-account-node-alt',\r\n children: []\r\n }\r\n ]\r\n };\r\n })\r\n }];\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Program

\r\n

Organization
Account

\r\n

Wholesaler
Account

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewChildren, inject, signal } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { UiSwitchComponent } from 'ngx-ui-switch';\r\nimport { Observable } from 'rxjs';\r\nimport { faExternalLink, faDiagramNested } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { ActivationEnum } from 'app/core/enums/generated/ActivationEnum';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { PcgSelectComponent } from 'app/shared/form-elements/components/pcg-select-component/select.component';\r\nimport { EditOrganizationFacilityVm } from 'app/shared/generated/Administration/Models/Organizations/EditOrganizationFacilityVm';\r\nimport { ActivationService } from 'app/shared/services/activation.service';\r\nimport { ReconciliationVm } from 'app/shared/generated/SysInv/Models/Reconciliation/ReconciliationVm';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'pcg-shared-edit-organization-facility',\r\n templateUrl: './edit-organization-facility.component.html',\r\n styleUrls: ['./edit-organization-facility.component.scss'],\r\n standalone: false\r\n})\r\nexport class EditOrganizationFacilityComponent implements OnInit {\r\n\r\n\t@Input() businessArea: BusinessAreaEnum;\r\n\t@Input() facilityId = 0;\r\n\t@Input() organizationId = 0;\r\n @Output() onSaveSuccess = new EventEmitter();\r\n\r\n\t@ViewChild('isActive', { static: false }) isActive: UiSwitchComponent;\r\n\t@ViewChild('isSameAddress', { static: false }) isSameAddress: UiSwitchComponent;\r\n\t@ViewChild('isShipAddressValidated', { static: false }) isShipAddressValidated: UiSwitchComponent;\r\n\t@ViewChild('infographicModal', { static: true }) infographicModal: TemplateRef;\r\n\t@ViewChild('facilityTypeSelect', { static: true }) facilityTypeSelect: PcgSelectComponent;\r\n\r\n\tmodalService = inject(NgbModal);\r\n\r\n\tformGroup = EditOrganizationFacilityVm.Form;\r\n\tmodel = EditOrganizationFacilityVm.GetModel(this.formGroup);\r\n\tmodel$: Observable;\r\n\tapi = \"api/Select/SmartyCounties\";\r\n\r\n\tcanEdit = false;\r\n\tcanDeactivate = false;\r\n\tcanViewReports = false;\r\n\tcanManualEntry = true;\r\n\tcanEditFacilityType = false;\r\n\tshipAddressDisabled = false;\r\n showHiddenFields = false;\r\n\r\n\tfacilityName: string;\r\n\toldShipSmartyAddress: string;\r\n\toldShipFacilityName: string;\r\n\r\n faIconName = { faExternalLink, faDiagramNested };\r\n\r\n\t// Used for \"Pending Reconciliations\" Error Message\r\n\tpendingRecons: ReconciliationVm[];\r\n\tshowReconErrorMessage = false;\r\n\tfirstLoad = false;\r\n\r\n\tfacilityTypeName = \"\";\r\n\tfacilityTypeTooltip = signal(\"Determines which programs can be associated to the inventories under this facility.\");\r\n\r\n\tconstructor(\r\n\t\tprivate httpClient: HttpClient\r\n\t\t, public router: Router\r\n\t\t, title: Title\r\n\t\t, private sec: SecurityService\r\n\t\t, private activationService: ActivationService\r\n\t\t, public ms: SystemMessageService\r\n\t) { title.setTitle('Edit Facility'); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.canEdit = this.sec.hasModuleAccess(\r\n\t\t\t[BusinessAreaEnum.Admin]\r\n\t\t\t, [...SecurityService.setMinRole(PermissionRole.UserAdmin)]\r\n\t\t);\r\n\t\tthis.canViewReports = this.sec.hasModuleAccess(\r\n\t\t\t[BusinessAreaEnum.CI, BusinessAreaEnum.Admin]\r\n\t\t\t, [PermissionRole.UserAdmin, ...SecurityService.setMinRole(PermissionRole.Manager)]\r\n\t\t);\r\n\t\tthis.canEditFacilityType = this.sec.hasModuleAccess(\r\n\t\t\t[BusinessAreaEnum.Admin]\r\n\t\t\t, [...SecurityService.setMinRole(PermissionRole.Pharmacist)]\r\n\t\t);\r\n\t\tthis.editFacility();\r\n\r\n\t\tif (\r\n\t\t\tthis.businessArea === null \r\n\t\t\t|| this.businessArea === undefined \r\n\t\t\t|| this.businessArea === BusinessAreaEnum.Admin\r\n\t\t) {\r\n\t\t\tif (this.sec.hasModuleAccess([BusinessAreaEnum.Admin], [...SecurityService.setMinRole(PermissionRole.SystemAdmin)])) {\r\n\t\t\t\tthis.canEdit = true;\r\n\t\t\t\tthis.canDeactivate = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\teditFacility() {\r\n\t\tthis.httpClient.get(`api/Administration/Organization/GetOrganizationFacility/?id=${this.facilityId}&organizationId=${this.organizationId}`)\r\n\t\t\t.subscribe((vm: EditOrganizationFacilityVm) => {\r\n\t\t\t\tif (vm.countyId === 0) { vm.countyId = null; }// preventing a blank selection on load\r\n\t\t\t\tthis.formGroup.setValue(vm);\r\n\t\t\t\tthis.facilityName = vm.facilityName;\r\n\t\t\t\tthis.oldShipFacilityName = this.model.shipFacilityName;\r\n\t\t\t\tthis.oldShipSmartyAddress = this.model.shipSmartyAddress;\r\n\t\t\t\tthis.toggleShippingFormActivation(!this.model.isSameAddress);\r\n if(!this.canEdit) { this.formGroup.disable(); }\r\n\t\t\t\tif(!this.canEditFacilityType) { \r\n\t\t\t\t\tthis.formGroup.get('facilityTypeId')?.disable();\r\n\t\t\t\t\tthis.facilityTypeTooltip.update(tooltip => tooltip += \" Can only be changed by a Pharmacist or System Admin.\" ); \r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tactivateDeactivate() {\r\n\t\tthis.activationService.activateDeactivate(\r\n\t\t\tthis.facilityId\r\n\t\t\t, ActivationEnum.Facility\r\n\t\t\t, this.formGroup.value.isActive ? false : true\r\n\t\t);\r\n\t}\r\n\r\n\tupdateShippingInfo() {\r\n\t\tthis.formGroup.controls.countyName.patchValue(this.formGroup.controls.smartyAddress.value.countyName);\r\n\t\tif (this.isSameAddress.checked) {\r\n\t\t\tthis.formGroup.get('shipFacilityName').patchValue(this.formGroup.value.facilityName);\r\n\t\t\tthis.formGroup.get('shipSmartyAddress').patchValue(this.formGroup.value.smartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(false);\r\n\t\t} else {\r\n\t\t\tthis.formGroup.get('shipFacilityName').patchValue(this.oldShipFacilityName);\r\n\t\t\tthis.formGroup.get('shipSmartyAddress').patchValue(this.oldShipSmartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(true);\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleShippingFormActivation(isActive: Boolean) {\r\n\t\tif (isActive) {\r\n\t\t\tthis.enableShipFacilityName();\r\n\t\t\tthis.shipAddressDisabled = false;\r\n\t\t} else {\r\n\t\t\tthis.disableShipFacilityName();\r\n\t\t\tthis.shipAddressDisabled = true;\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateCountyId() {\r\n\t\tif (this.formGroup?.value?.countyId === 0) {\r\n\t\t\tthis.formGroup?.controls?.countyId?.patchValue(null);\r\n\t\t\tthis.model = EditOrganizationFacilityVm.GetModel(this.formGroup);\r\n\t\t}\r\n\t\tthis.formGroup.updateValueAndValidity();\r\n\t}\r\n\r\n\tsubmitForms() {\r\n\t\tif (!this.formGroup.valid) {\r\n\t\t\tvalidateForm(this.formGroup);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet disabled = this.hasDisabledShipFacilityName();\r\n\t\t// As a result of moving this to a .ts POST method, disabled values\r\n\t\t// won't go through within the request body.\r\n\t\tif (this.hasDisabledShipFacilityName) { this.enableShipFacilityName(); }\r\n\t\tthis.httpClient.post(`api/Administration/Organization/SaveOrganizationFacility`, this.formGroup.value)\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\t// Re-disable property after POST request.\r\n\t\t\t\tif (disabled) { this.disableShipFacilityName(); }\r\n\t\t\t\tif (sm.isSuccessful) { this.onMessageSuccess(sm); }\r\n\t\t\t\telse { this.onMessageError(sm); }\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\treroute(sm: SystemMessage) {\r\n\t\tif (\r\n\t\t\tthis.businessArea === BusinessAreaEnum.Admin \r\n\t\t\t|| this.businessArea === null \r\n\t\t\t|| this.businessArea == undefined \r\n\t\t\t|| Number.isNaN(this.businessArea)\r\n\t\t) {\r\n\t\t\tthis.router.navigate([`/admin/organizations/facilities/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.CI) {\r\n\t\t\tthis.router.navigate([`/ci-repack/facilities/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.MetabolicFormula) {\r\n\t\t\tthis.router.navigate([`/metabolic-formula/facilities/edit/${sm.value}`]);\r\n\t\t}\r\n\t}\r\n\r\n\tonMessageSuccess(sm: SystemMessage) {\r\n\t\tthis.setSysMessage(sm);\r\n\t\tthis.formGroup.setValue(sm.model);\r\n\t\tthis.onSaveSuccess.emit();\r\n\t}\r\n\r\n\tonMessageError(sm: SystemMessage) { \r\n\t\tthis.formGroup.patchValue(sm.model); \r\n\t\tif(!sm.showSystemMessage) { this.showCustomReconMessage(sm); } \r\n\t\telse { this.setSysMessage(sm); }\r\n\t}\r\n\r\n\tshowCustomReconMessage(sm: SystemMessage) {\r\n\t\tthis.pendingRecons = sm.model;\r\n\t\t// Hide default system message and show custom message instead\r\n\t\tthis.ms.settings.messageOpen = false; \r\n\t\tthis.firstLoad = true;\r\n\t\tthis.showReconErrorMessage = true;\r\n\t\tsetTimeout(() => { this.showReconErrorMessage = false; }, 8000);\r\n\t}\t\r\n\r\n\tgetCenteredStyles() {\r\n\t\tconst mm = document?.body?.clientWidth;\r\n\t\tconst mw = 650;\r\n\t\treturn {\r\n\t\t\tminWidth: (mm < mw ? mm : mw) + 'px',\r\n\t\t\tleft: (mm < mw ? 0 : (mm - mw) / 2) + 'px',\r\n\t\t};\r\n\t}\r\n\r\n\tenableShipFacilityName() {\r\n\t\tthis.formGroup.get('shipFacilityName').enable();\r\n\t\tthis.formGroup.get('shipSmartyAddress').enable();\r\n\t}\r\n\r\n\tdisableShipFacilityName() {\r\n\t\tthis.formGroup.get('shipFacilityName').disable();\r\n\t\tthis.formGroup.get('shipSmartyAddress').disable();\r\n\t}\r\n\r\n\tmedDirectorChange(select: PcgSelectComponent) {\r\n\t\tif (select.value) {\r\n\t\t\tthis.model.medicalDirectorLicense = select.additionalData?.licenseNumber;\r\n\t\t\tthis.model.medicalDirectorExpDate = select.additionalData?.expirationDate;\r\n\t\t} else {\r\n\t\t\tthis.model.medicalDirectorLicense = \"\";\r\n\t\t\tthis.model.medicalDirectorExpDate = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tcloseSystemMessage() { this.showReconErrorMessage = false; }\r\n\tsetSysMessage = (sm: SystemMessage) => this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n\thasDisabledShipFacilityName = () => this.formGroup.get('shipFacilityName').disabled;\r\n navToFacilityDetail() { this.router.navigateByUrl(`${this.editFacilityLink()}${this.facilityId}`); }\r\n\r\n editFacilityLink(): string {\r\n switch(this.businessArea) {\r\n case BusinessAreaEnum.CI: return '/ci-repack/facilities/edit/';\r\n case BusinessAreaEnum.MetabolicFormula: return '/metabolic-formula/facilities/edit/';\r\n default: return '/admin/organizations/facilities/edit/';\r\n }\r\n }\r\n\r\n\topenChartModal(){\r\n\t\t// Set modal header using select drop down\r\n\t\tthis.facilityTypeName = this.facilityTypeSelect?.text;\r\n\t\tthis.modalService.open(this.infographicModal, { size: 'sm', animation: false });\r\n\t}\r\n}\r\n","
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n

\r\n This Facility is deactivated.

\r\n \r\n {{ model.isActive ? 'Deactivate' : 'Reactivate' }}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{ model?.medicalDirectorLicense }}\r\n
\r\n\r\n
\r\n \r\n {{ model?.medicalDirectorExpDate }}\r\n
\r\n
\r\n\r\n
\r\n

Address

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{ this.formGroup?.controls?.countyName?.value }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Shipping Address

\r\n
\r\n\r\n
\r\n \r\n \r\n {{ this.formGroup?.controls?.shipFacilityName?.value }}\r\n \r\n\r\n \r\n \r\n {{ this.formGroup?.controls?.shipSmartyAddress?.value?.formattedAddress }}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\t
\r\n\t\t X \r\n\t\t
\r\n\t\t\tError!\r\n\t\t\tThe Reconciliation Counts Required setting cannot be changed while an inventory has pending reconciliations.\r\n\t\t\t
\r\n\t\t\tClick to go to\r\n\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n
\r\n
{{facilityTypeName}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class OrganizationUsersVm {\r\n\tid: number;\r\n\tname?: string;\r\n\temail?: string;\r\n\tphoneNumber?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'name': new UntypedFormControl(null, [...(validators['name'] ?? []), ...[]]),\r\n\t\t\t'email': new UntypedFormControl(null, [...(validators['email'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['name', {\"orderId\":0,\"sortColumn\":\"name\",\"searchColumn\":\"name\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['email', {\"orderId\":1,\"sortColumn\":\"email\",\"searchColumn\":\"email\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Email\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['phoneNumber', {\"orderId\":2,\"sortColumn\":\"phoneNumber\",\"searchColumn\":\"phoneNumber\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Phone\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): OrganizationUsersVmFromFg {\r\n\t\treturn new OrganizationUsersVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class OrganizationUsersVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.fg.get('name').value;\r\n\t}\r\n\tset name(val) {\r\n\t\tthis.fg.get('name').setValue(val);\r\n\t}\r\n\r\n\tget email(): string {\r\n\t\treturn this.fg.get('email').value;\r\n\t}\r\n\tset email(val) {\r\n\t\tthis.fg.get('email').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SelectItem } from '@pcg/pcg-shared/models/select-item';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { DynamicFormService } from 'app/shared/form-elements/components/dynamic-form/dynamic-form.service';\r\nimport { OrganizationUsersVm } from 'app/shared/generated/Administration/Models/Organizations/OrganizationUsersVm';\r\nimport { EditUserVm } from 'app/shared/generated/Administration/Models/Users/EditUserVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-associated-users',\r\n templateUrl: './associated-users.component.html',\r\n styleUrls: ['./associated-users.component.scss'],\r\n standalone: false\r\n})\r\nexport class AssociatedUsersComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: false }) table: TableComponent;\r\n @ViewChild('modalExistingUsersModal', { static: true }) modalContent: TemplateRef;\r\n\r\n @Input() businessArea: BusinessAreaEnum;\r\n @Input() orgId : number;\r\n @Input() facilityIds: number[] = [];\r\n\r\n formGroup = EditUserVm.Form;\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n allOrganizations: string[] = [];\r\n\tassociatedOrganizations: string[] = [];\r\n\torganizations: any[];\r\n\r\n canCreateUser = false;\r\n\tcanDeleteUser = false;\r\n\tcanEditUser = false;\r\n canAddUser = false;\r\n canEditOrganizations = false; \r\n isCreate = false;\r\n userId = 0;\r\n organizationId: number;\r\n newUser = \"\";\r\n\r\n columns = OrganizationUsersVm.ColumnDefs;\r\n params = {\r\n organizationId : 0\r\n , businessArea: null\r\n };\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute\r\n , public modalService: NgbModal\r\n , private security: SecurityService\r\n , private httpClient: HttpClient\r\n , private ms: SystemMessageService\r\n , private dynForm: DynamicFormService\r\n ) {\r\n this.canCreateUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [ \r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canDeleteUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.Pharmacist ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [ \r\n BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canAddUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setSecurity();\r\n this.params.organizationId = this.activatedRoute.snapshot.params['id'];\r\n this.newUser = \"/admin/users/user/edit/details/0?organizationId=\" + this.params.organizationId;\r\n if (\r\n this.businessArea !== null \r\n && this.businessArea !== undefined\r\n ) {\r\n this.params.businessArea = this.businessArea; \r\n this.newUser += \"&businessArea=\" + this.businessArea;\r\n }\r\n }\r\n \r\n reloadTable() { this.table.ajaxReload(); }\r\n\r\n setSecurity() {\r\n if (\r\n this.businessArea !== null \r\n && this.businessArea !== undefined\r\n ) {\r\n switch (this.businessArea) {\r\n case BusinessAreaEnum.MetabolicFormula:\r\n this.canEditOrganizations = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.MetabolicFormula ]\r\n , [ \r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.MetabolicFormula ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canCreateUser = this.canEditUser;\r\n break;\r\n case BusinessAreaEnum.CI:\r\n this.canEditOrganizations = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , [\r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.CI ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canCreateUser = this.canEditUser;\r\n break;\r\n case BusinessAreaEnum.Admin:\r\n this.canEditOrganizations = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ \r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [\r\n ...SecurityService.setMinRole(PermissionRole.Pharmacist)\r\n ]\r\n );\r\n this.canCreateUser = this.canEditUser;\r\n break;\r\n default: \r\n break;\r\n }\r\n } else {\r\n this.canEditOrganizations = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.Manager\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n this.canEditUser = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n );\r\n\t\t this.canCreateUser = this.canEditUser;\r\n }\r\n }\r\n\r\n getEditUserLink(id: number) { return '/admin/users/user/edit/details/' + id; }\r\n addUserBtn() { this.modalService.open(this.modalContent, { animation: false, beforeDismiss: () => { return true; } }); }\r\n\r\n addExistingUser(userId: number, table: TableComponent) {\r\n this.httpClient.post(\r\n `api/administration/UserOrganization/AddExistingUser?userId=${userId}&organizationId=${this.params.organizationId}`\r\n , null\r\n ).subscribe((msg: SystemMessage) => { \r\n if (msg.isSuccessful) { \r\n table.ajaxReload(); \r\n this.reloadTable();\r\n } \r\n }); \r\n }\r\n\r\n createUser() {\r\n this.organizationId = parseInt(this.activatedRoute.snapshot.paramMap.get('id'), 10);\r\n this.setSecurity();\r\n\r\n this.httpClient.get(`api/Administration/Users/GetUser/0`)\r\n .subscribe((vm: EditUserVm) => {\r\n this.formGroup = this.dynForm.updateFormGroupFields(this.formGroup, vm.fields);\r\n this.formGroup.patchValue(vm);\r\n this.populateOrganizations();\r\n \r\n this.formGroup.controls[\"isActive\"].setValue(vm.isActive);\r\n this.formGroup.controls[\"inactivityTimeout\"].setValue(false);\r\n this.formGroup.controls[\"isInternalBphpUser\"].setValue(false);\r\n this.formGroup.controls[\"updateOrgs\"].setValue(true);\r\n this.formGroup.controls[\"updateFacilities\"].setValue(true);\r\n if (this.businessArea !== null && this.businessArea !== undefined) {\r\n this.formGroup.controls[\"businessArea\"].setValue(this.businessArea);\r\n }\r\n this.formGroup.controls[\"organizationIds\"].setValue([this.organizationId]);\r\n this.formGroup.controls[\"facilityIds\"].setValue(this.facilityIds); \r\n });\r\n\r\n this.isCreate = true; \r\n }\r\n\r\n populateOrganizations() {\r\n var userId = null;\r\n this.httpClient.get(`api/Select/Organizations?userId=${userId}`).subscribe((items: SelectItem[]) => {\r\n this.organizations = items;\r\n this.allOrganizations = items.reduce((accum, current) => {\r\n accum.push(current.text);\r\n return accum;\r\n }, []);\r\n if (this.formGroup.value.organizations.length > 0) {\r\n this.associatedOrganizations = this.formGroup.value.organizations.filter((i: string) => items.find(o => o.text === i));\r\n } else {\r\n this.associatedOrganizations = this.allOrganizations;\r\n }\r\n });\r\n }\r\n\r\n handleOrganizations() {\r\n this.formGroup.controls.organization.setValue(this.associatedOrganizations);\r\n this.formGroup.controls.organizationIds.setValue(\r\n this.organizations.reduce((accum, current) => {\r\n if (this.associatedOrganizations?.includes(current.text)) { accum.push(current.value); }\r\n return accum;\r\n }, [])\r\n );\r\n }\r\n\r\n saveUser(msg: SystemMessage) {\r\n msg.message= msg.message + ` \\nPlease set the user's module access to associate the user to the organization's facilities.`;\r\n msg.link = `Click Here`\r\n this.ms.setSystemMessage(msg.message, 'warning', 60000, msg.link);\r\n \r\n if (msg.value) {\r\n this.isCreate = false;\r\n this.reloadTable();\r\n }\r\n }\r\n\r\n cancelAdd() { this.isCreate = false; }\r\n}\r\n","\r\n\t\r\n\t\tUsers in this list are granted access to all facilities within the organization, provided that they possess module access to at least \r\n\t\tone of the business areas assigned to those facilities.\r\n\t\r\n\t\r\n\t
\r\n\t\t@if (canCreateUser) {\r\n\t\t\t
\r\n\t\t\t\tCreate New User\r\n\t\t\t
\r\n\t\t}\r\n\t\t@if (canAddUser) {\r\n\t\t\t
\r\n\t\t\t\tAdd Existing User\r\n\t\t\t
\r\n\t\t}\r\n\t
\r\n\r\n \r\n\r\n \r\n {{ columns.get('name').displayName }}\r\n \r\n\t\t\t\t@if (canEditUser) { {{ row.name }} }\r\n\t\t\t\t@else { {{ row.name }} }\r\n \r\n \r\n\r\n \r\n {{ columns.get('email').displayName }}\r\n {{ row.email }}\r\n \r\n\r\n \r\n {{ columns.get('phoneNumber').displayName }}\r\n {{ row.phoneNumber }}\r\n \r\n\r\n \r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t

Create User

\r\n\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t@if (\r\n\t\t\tcanEditOrganizations \r\n\t\t\t&& userId > 0\r\n\t\t) {\r\n\t\t\t
\r\n\t\t\t\t

\r\n\t\t\t\t

Organizations

\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t}\r\n\t\t@if (\r\n\t\t\t!canEditOrganizations\r\n\t\t\t|| userId === 0\r\n\t\t) {\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t}\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\tCancel\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\r\n\t\t\r\n\t
\r\n
","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\nimport { GenericFilesVm, GenericFilesVmFromFg } from '../../../Models/GenericFilesVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class MedicalDirectorVm {\r\n\tmedicalDirectorId: number;\r\n\tfullName?: string;\r\n\tlicenseNumber?: string;\r\n\texpirationDate?: Date;\r\n\texpirationDateStr?: string;\r\n\tlastUpdatedDate?: Date;\r\n\tlastUpdatedDateStr?: string;\r\n\tlastUpdatedUserId?: number;\r\n\tlastUpdatedBy?: string;\r\n\tpfsId?: number;\r\n\tfriendlyId?: string;\r\n\tuploadFiles?: any;\r\n\tmedicalDirectorFiles?: GenericFilesVm[];\r\n\tlicenseFileName?: string;\r\n\tactions?: string;\r\n\tactionsSelected?: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'medicalDirectorId': new UntypedFormControl(0, [...(validators['medicalDirectorId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'fullName': new UntypedFormControl(null, [...(validators['fullName'] ?? []), ...[Validators.required, Validators.maxLength(256)]]),\r\n\t\t\t'licenseNumber': new UntypedFormControl(null, [...(validators['licenseNumber'] ?? []), ...[Validators.required, Validators.maxLength(256)]]),\r\n\t\t\t'expirationDate': new UntypedFormControl(null, [...(validators['expirationDate'] ?? []), ...[Validators.required]]),\r\n\t\t\t'expirationDateStr': new UntypedFormControl(null, [...(validators['expirationDateStr'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedDate': new UntypedFormControl(null, [...(validators['lastUpdatedDate'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedDateStr': new UntypedFormControl(null, [...(validators['lastUpdatedDateStr'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedUserId': new UntypedFormControl(null, [...(validators['lastUpdatedUserId'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedBy': new UntypedFormControl(null, [...(validators['lastUpdatedBy'] ?? []), ...[]]),\r\n\t\t\t'pfsId': new UntypedFormControl(null, [...(validators['pfsId'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'uploadFiles': new UntypedFormControl([], [...(validators['uploadFiles'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorFiles': new UntypedFormArray([]),\r\n\t\t\t'licenseFileName': new UntypedFormControl(null, [...(validators['licenseFileName'] ?? []), ...[]]),\r\n\t\t\t'actions': new UntypedFormControl(null, [...(validators['actions'] ?? []), ...[]]),\r\n\t\t\t'actionsSelected': new UntypedFormControl(null, [...(validators['actionsSelected'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['actions', {\"orderId\":0,\"sortColumn\":\"actions\",\"searchColumn\":\"actions\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Actions\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['fullName', {\"orderId\":1,\"sortColumn\":\"fullName\",\"searchColumn\":\"fullName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['licenseNumber', {\"orderId\":2,\"sortColumn\":\"licenseNumber\",\"searchColumn\":\"licenseNumber\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"License #\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['expirationDateStr', {\"orderId\":3,\"sortColumn\":\"expirationDate\",\"searchColumn\":\"expirationDateStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Expiration Date\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['licenseFileName', {\"orderId\":4,\"sortColumn\":\"licenseFileName\",\"searchColumn\":\"licenseFileName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"License Upload\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['lastUpdatedDateStr', {\"orderId\":5,\"sortColumn\":\"lastUpdatedDate\",\"searchColumn\":\"lastUpdatedDateStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Updated Date\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['lastUpdatedBy', {\"orderId\":6,\"sortColumn\":\"lastUpdatedBy\",\"searchColumn\":\"lastUpdatedBy\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Updated By\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): MedicalDirectorVmFromFg {\r\n\t\treturn new MedicalDirectorVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class MedicalDirectorVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget medicalDirectorId(): number {\r\n\t\treturn this.fg.get('medicalDirectorId').value;\r\n\t}\r\n\tset medicalDirectorId(val) {\r\n\t\tthis.fg.get('medicalDirectorId').setValue(val);\r\n\t}\r\n\r\n\tget fullName(): string {\r\n\t\treturn this.fg.get('fullName').value;\r\n\t}\r\n\tset fullName(val) {\r\n\t\tthis.fg.get('fullName').setValue(val);\r\n\t}\r\n\r\n\tget licenseNumber(): string {\r\n\t\treturn this.fg.get('licenseNumber').value;\r\n\t}\r\n\tset licenseNumber(val) {\r\n\t\tthis.fg.get('licenseNumber').setValue(val);\r\n\t}\r\n\r\n\tget expirationDate(): Date {\r\n\t\treturn this.fg.get('expirationDate').value;\r\n\t}\r\n\tset expirationDate(val) {\r\n\t\tthis.fg.get('expirationDate').setValue(val);\r\n\t}\r\n\r\n\tget expirationDateStr(): string {\r\n\t\treturn this.fg.get('expirationDateStr').value;\r\n\t}\r\n\tset expirationDateStr(val) {\r\n\t\tthis.fg.get('expirationDateStr').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedDate(): Date {\r\n\t\treturn this.fg.get('lastUpdatedDate').value;\r\n\t}\r\n\tset lastUpdatedDate(val) {\r\n\t\tthis.fg.get('lastUpdatedDate').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedDateStr(): string {\r\n\t\treturn this.fg.get('lastUpdatedDateStr').value;\r\n\t}\r\n\tset lastUpdatedDateStr(val) {\r\n\t\tthis.fg.get('lastUpdatedDateStr').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedUserId(): number {\r\n\t\treturn this.fg.get('lastUpdatedUserId').value;\r\n\t}\r\n\tset lastUpdatedUserId(val) {\r\n\t\tthis.fg.get('lastUpdatedUserId').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedBy(): string {\r\n\t\treturn this.fg.get('lastUpdatedBy').value;\r\n\t}\r\n\tset lastUpdatedBy(val) {\r\n\t\tthis.fg.get('lastUpdatedBy').setValue(val);\r\n\t}\r\n\r\n\tget pfsId(): number {\r\n\t\treturn this.fg.get('pfsId').value;\r\n\t}\r\n\tset pfsId(val) {\r\n\t\tthis.fg.get('pfsId').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget licenseFileName(): string {\r\n\t\treturn this.fg.get('licenseFileName').value;\r\n\t}\r\n\tset licenseFileName(val) {\r\n\t\tthis.fg.get('licenseFileName').setValue(val);\r\n\t}\r\n\r\n\tget actions(): string {\r\n\t\treturn this.fg.get('actions').value;\r\n\t}\r\n\tset actions(val) {\r\n\t\tthis.fg.get('actions').setValue(val);\r\n\t}\r\n\r\n\tget actionsSelected(): boolean {\r\n\t\treturn this.fg.get('actionsSelected').value;\r\n\t}\r\n\tset actionsSelected(val) {\r\n\t\tthis.fg.get('actionsSelected').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditOrganizationVm {\r\n\torganizationId: number;\r\n\torganizationName?: string;\r\n\tcountyId?: number;\r\n\tcountyName?: string;\r\n\tsmartyAddress?: any;\r\n\tsmartyAddressString?: string;\r\n\thasSmarty: boolean;\r\n\tstateAbr?: string;\r\n\tphoneNumber?: string;\r\n\tisActive: boolean;\r\n\tisSameAddress: boolean;\r\n\tshipOrganizationName?: string;\r\n\tshipSmartyAddress?: any;\r\n\tshipSmartyAddressString?: string;\r\n\thasShipSmarty: boolean;\r\n\tshipStateAbr?: string;\r\n\tisShipAddressValidated: boolean;\r\n\tfriendlyId?: string;\r\n\tgln?: string;\r\n\tmedicalDirectorId?: number;\r\n\tmedicalDirectorName?: string;\r\n\tmedicalDirectorLicense?: string;\r\n\tmedicalDirectorExpDate?: string;\r\n\tisSingleFacility: boolean;\r\n\tfacilityIdentifier?: string;\r\n\tdauCode?: string;\r\n\tfacilityIds?: number[];\r\n\tloginType?: string;\r\n\tloginTypeEnum?: any;\r\n\tssoType?: string;\r\n\tssoTypeEnum?: any;\r\n\tentraIdentifierUrl?: string;\r\n\tentraLoginUrl?: string;\r\n\tisBPHP: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'organizationId': new UntypedFormControl(0, [...(validators['organizationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'countyId': new UntypedFormControl(null, [...(validators['countyId'] ?? []), ...[]]),\r\n\t\t\t'countyName': new UntypedFormControl(null, [...(validators['countyName'] ?? []), ...[]]),\r\n\t\t\t'smartyAddress': new UntypedFormControl(null, [...(validators['smartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'smartyAddressString': new UntypedFormControl(null, [...(validators['smartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasSmarty': new UntypedFormControl(false, [...(validators['hasSmarty'] ?? []), ...[]]),\r\n\t\t\t'stateAbr': new UntypedFormControl(null, [...(validators['stateAbr'] ?? []), ...[]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.required, Validators.minLength(10)]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isSameAddress': new UntypedFormControl(false, [...(validators['isSameAddress'] ?? []), ...[]]),\r\n\t\t\t'shipOrganizationName': new UntypedFormControl(null, [...(validators['shipOrganizationName'] ?? []), ...[Validators.required, Validators.maxLength(100)]]),\r\n\t\t\t'shipSmartyAddress': new UntypedFormControl(null, [...(validators['shipSmartyAddress'] ?? []), ...[Validators.required]]),\r\n\t\t\t'shipSmartyAddressString': new UntypedFormControl(null, [...(validators['shipSmartyAddressString'] ?? []), ...[]]),\r\n\t\t\t'hasShipSmarty': new UntypedFormControl(false, [...(validators['hasShipSmarty'] ?? []), ...[]]),\r\n\t\t\t'shipStateAbr': new UntypedFormControl(null, [...(validators['shipStateAbr'] ?? []), ...[]]),\r\n\t\t\t'isShipAddressValidated': new UntypedFormControl(false, [...(validators['isShipAddressValidated'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'gln': new UntypedFormControl(null, [...(validators['gln'] ?? []), ...[Validators.pattern(\"^[A-Za-z0-9 ]*\"), Validators.maxLength(13)]]),\r\n\t\t\t'medicalDirectorId': new UntypedFormControl(null, [...(validators['medicalDirectorId'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorName': new UntypedFormControl(null, [...(validators['medicalDirectorName'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorLicense': new UntypedFormControl(null, [...(validators['medicalDirectorLicense'] ?? []), ...[]]),\r\n\t\t\t'medicalDirectorExpDate': new UntypedFormControl(null, [...(validators['medicalDirectorExpDate'] ?? []), ...[]]),\r\n\t\t\t'isSingleFacility': new UntypedFormControl(false, [...(validators['isSingleFacility'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[Validators.maxLength(20)]]),\r\n\t\t\t'dauCode': new UntypedFormControl(null, [...(validators['dauCode'] ?? []), ...[Validators.maxLength(6)]]),\r\n\t\t\t'facilityIds': new UntypedFormControl([], [...(validators['facilityIds'] ?? []), ...[]]),\r\n\t\t\t'loginType': new UntypedFormControl(null, [...(validators['loginType'] ?? []), ...[]]),\r\n\t\t\t'loginTypeEnum': new UntypedFormControl('', [...(validators['loginTypeEnum'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ssoType': new UntypedFormControl(null, [...(validators['ssoType'] ?? []), ...[]]),\r\n\t\t\t'ssoTypeEnum': new UntypedFormControl(null, [...(validators['ssoTypeEnum'] ?? []), ...[]]),\r\n\t\t\t'entraIdentifierUrl': new UntypedFormControl(null, [...(validators['entraIdentifierUrl'] ?? []), ...[Validators.maxLength(500)]]),\r\n\t\t\t'entraLoginUrl': new UntypedFormControl(null, [...(validators['entraLoginUrl'] ?? []), ...[Validators.maxLength(500)]]),\r\n\t\t\t'isBPHP': new UntypedFormControl(false, [...(validators['isBPHP'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditOrganizationVmFromFg {\r\n\t\treturn new EditOrganizationVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditOrganizationVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget countyId(): number {\r\n\t\treturn this.fg.get('countyId').value;\r\n\t}\r\n\tset countyId(val) {\r\n\t\tthis.fg.get('countyId').setValue(val);\r\n\t}\r\n\r\n\tget countyName(): string {\r\n\t\treturn this.fg.get('countyName').value;\r\n\t}\r\n\tset countyName(val) {\r\n\t\tthis.fg.get('countyName').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddress(): any {\r\n\t\treturn this.fg.get('smartyAddress').value;\r\n\t}\r\n\tset smartyAddress(val) {\r\n\t\tthis.fg.get('smartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget smartyAddressString(): string {\r\n\t\treturn this.fg.get('smartyAddressString').value;\r\n\t}\r\n\tset smartyAddressString(val) {\r\n\t\tthis.fg.get('smartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasSmarty(): boolean {\r\n\t\treturn this.fg.get('hasSmarty').value;\r\n\t}\r\n\tset hasSmarty(val) {\r\n\t\tthis.fg.get('hasSmarty').setValue(val);\r\n\t}\r\n\r\n\tget stateAbr(): string {\r\n\t\treturn this.fg.get('stateAbr').value;\r\n\t}\r\n\tset stateAbr(val) {\r\n\t\tthis.fg.get('stateAbr').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isSameAddress(): boolean {\r\n\t\treturn this.fg.get('isSameAddress').value;\r\n\t}\r\n\tset isSameAddress(val) {\r\n\t\tthis.fg.get('isSameAddress').setValue(val);\r\n\t}\r\n\r\n\tget shipOrganizationName(): string {\r\n\t\treturn this.fg.get('shipOrganizationName').value;\r\n\t}\r\n\tset shipOrganizationName(val) {\r\n\t\tthis.fg.get('shipOrganizationName').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddress(): any {\r\n\t\treturn this.fg.get('shipSmartyAddress').value;\r\n\t}\r\n\tset shipSmartyAddress(val) {\r\n\t\tthis.fg.get('shipSmartyAddress').setValue(val);\r\n\t}\r\n\r\n\tget shipSmartyAddressString(): string {\r\n\t\treturn this.fg.get('shipSmartyAddressString').value;\r\n\t}\r\n\tset shipSmartyAddressString(val) {\r\n\t\tthis.fg.get('shipSmartyAddressString').setValue(val);\r\n\t}\r\n\r\n\tget hasShipSmarty(): boolean {\r\n\t\treturn this.fg.get('hasShipSmarty').value;\r\n\t}\r\n\tset hasShipSmarty(val) {\r\n\t\tthis.fg.get('hasShipSmarty').setValue(val);\r\n\t}\r\n\r\n\tget shipStateAbr(): string {\r\n\t\treturn this.fg.get('shipStateAbr').value;\r\n\t}\r\n\tset shipStateAbr(val) {\r\n\t\tthis.fg.get('shipStateAbr').setValue(val);\r\n\t}\r\n\r\n\tget isShipAddressValidated(): boolean {\r\n\t\treturn this.fg.get('isShipAddressValidated').value;\r\n\t}\r\n\tset isShipAddressValidated(val) {\r\n\t\tthis.fg.get('isShipAddressValidated').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget gln(): string {\r\n\t\treturn this.fg.get('gln').value;\r\n\t}\r\n\tset gln(val) {\r\n\t\tthis.fg.get('gln').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorId(): number {\r\n\t\treturn this.fg.get('medicalDirectorId').value;\r\n\t}\r\n\tset medicalDirectorId(val) {\r\n\t\tthis.fg.get('medicalDirectorId').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorName(): string {\r\n\t\treturn this.fg.get('medicalDirectorName').value;\r\n\t}\r\n\tset medicalDirectorName(val) {\r\n\t\tthis.fg.get('medicalDirectorName').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorLicense(): string {\r\n\t\treturn this.fg.get('medicalDirectorLicense').value;\r\n\t}\r\n\tset medicalDirectorLicense(val) {\r\n\t\tthis.fg.get('medicalDirectorLicense').setValue(val);\r\n\t}\r\n\r\n\tget medicalDirectorExpDate(): string {\r\n\t\treturn this.fg.get('medicalDirectorExpDate').value;\r\n\t}\r\n\tset medicalDirectorExpDate(val) {\r\n\t\tthis.fg.get('medicalDirectorExpDate').setValue(val);\r\n\t}\r\n\r\n\tget isSingleFacility(): boolean {\r\n\t\treturn this.fg.get('isSingleFacility').value;\r\n\t}\r\n\tset isSingleFacility(val) {\r\n\t\tthis.fg.get('isSingleFacility').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget dauCode(): string {\r\n\t\treturn this.fg.get('dauCode').value;\r\n\t}\r\n\tset dauCode(val) {\r\n\t\tthis.fg.get('dauCode').setValue(val);\r\n\t}\r\n\r\n\tget loginType(): string {\r\n\t\treturn this.fg.get('loginType').value;\r\n\t}\r\n\tset loginType(val) {\r\n\t\tthis.fg.get('loginType').setValue(val);\r\n\t}\r\n\r\n\tget loginTypeEnum(): any {\r\n\t\treturn this.fg.get('loginTypeEnum').value;\r\n\t}\r\n\tset loginTypeEnum(val) {\r\n\t\tthis.fg.get('loginTypeEnum').setValue(val);\r\n\t}\r\n\r\n\tget ssoType(): string {\r\n\t\treturn this.fg.get('ssoType').value;\r\n\t}\r\n\tset ssoType(val) {\r\n\t\tthis.fg.get('ssoType').setValue(val);\r\n\t}\r\n\r\n\tget ssoTypeEnum(): any {\r\n\t\treturn this.fg.get('ssoTypeEnum').value;\r\n\t}\r\n\tset ssoTypeEnum(val) {\r\n\t\tthis.fg.get('ssoTypeEnum').setValue(val);\r\n\t}\r\n\r\n\tget entraIdentifierUrl(): string {\r\n\t\treturn this.fg.get('entraIdentifierUrl').value;\r\n\t}\r\n\tset entraIdentifierUrl(val) {\r\n\t\tthis.fg.get('entraIdentifierUrl').setValue(val);\r\n\t}\r\n\r\n\tget entraLoginUrl(): string {\r\n\t\treturn this.fg.get('entraLoginUrl').value;\r\n\t}\r\n\tset entraLoginUrl(val) {\r\n\t\tthis.fg.get('entraLoginUrl').setValue(val);\r\n\t}\r\n\r\n\tget isBPHP(): boolean {\r\n\t\treturn this.fg.get('isBPHP').value;\r\n\t}\r\n\tset isBPHP(val) {\r\n\t\tthis.fg.get('isBPHP').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class OrganizationFacilityListVm {\r\n\tfacilityId: number;\r\n\tfacilityName?: string;\r\n\tfacilityIdentifier?: string;\r\n\tcity?: string;\r\n\tcounty?: string;\r\n\tisActive?: string;\r\n\tcanDelete?: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityName': new UntypedFormControl(null, [...(validators['facilityName'] ?? []), ...[]]),\r\n\t\t\t'facilityIdentifier': new UntypedFormControl(null, [...(validators['facilityIdentifier'] ?? []), ...[]]),\r\n\t\t\t'city': new UntypedFormControl(null, [...(validators['city'] ?? []), ...[]]),\r\n\t\t\t'county': new UntypedFormControl(null, [...(validators['county'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(null, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(null, [...(validators['canDelete'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['facilityId', {\"orderId\":0,\"sortColumn\":\"facilityId\",\"searchColumn\":\"facilityId\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Navigate to Edit Facility\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityName', {\"orderId\":1,\"sortColumn\":\"facilityName\",\"searchColumn\":\"facilityName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Facility\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityIdentifier', {\"orderId\":2,\"sortColumn\":\"facilityIdentifier\",\"searchColumn\":\"facilityIdentifier\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Identifier\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['city', {\"orderId\":3,\"sortColumn\":\"city\",\"searchColumn\":\"city\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"City\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['county', {\"orderId\":4,\"sortColumn\":\"county\",\"searchColumn\":\"county\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"County\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isActive', {\"orderId\":5,\"sortColumn\":\"isActive\",\"searchColumn\":\"isActive\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Is Active?\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":6,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): OrganizationFacilityListVmFromFg {\r\n\t\treturn new OrganizationFacilityListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class OrganizationFacilityListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget facilityName(): string {\r\n\t\treturn this.fg.get('facilityName').value;\r\n\t}\r\n\tset facilityName(val) {\r\n\t\tthis.fg.get('facilityName').setValue(val);\r\n\t}\r\n\r\n\tget facilityIdentifier(): string {\r\n\t\treturn this.fg.get('facilityIdentifier').value;\r\n\t}\r\n\tset facilityIdentifier(val) {\r\n\t\tthis.fg.get('facilityIdentifier').setValue(val);\r\n\t}\r\n\r\n\tget city(): string {\r\n\t\treturn this.fg.get('city').value;\r\n\t}\r\n\tset city(val) {\r\n\t\tthis.fg.get('city').setValue(val);\r\n\t}\r\n\r\n\tget county(): string {\r\n\t\treturn this.fg.get('county').value;\r\n\t}\r\n\tset county(val) {\r\n\t\tthis.fg.get('county').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): string {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class SysInvInventoryVm {\r\n\tsysInvInventoryId: number;\r\n\tfacilityId: number;\r\n\torganizationId: number;\r\n\tname?: string;\r\n\ttype?: any;\r\n\tprogramIds?: number[];\r\n\tprograms?: string[];\r\n\tactive: boolean;\r\n\tcanDelete?: boolean;\r\n\tfriendlyId?: string;\r\n\tcreatedByUserStr?: string;\r\n\tcreatedByUserId?: number;\r\n\tcreatedDate?: Date;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'sysInvInventoryId': new UntypedFormControl(0, [...(validators['sysInvInventoryId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityId': new UntypedFormControl(0, [...(validators['facilityId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationId': new UntypedFormControl(0, [...(validators['organizationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'name': new UntypedFormControl(null, [...(validators['name'] ?? []), ...[Validators.required]]),\r\n\t\t\t'type': new UntypedFormControl('', [...(validators['type'] ?? []), ...[Validators.required]]),\r\n\t\t\t'programIds': new UntypedFormControl([], [...(validators['programIds'] ?? []), ...[Validators.required]]),\r\n\t\t\t'programs': new UntypedFormControl([], [...(validators['programs'] ?? []), ...[]]),\r\n\t\t\t'active': new UntypedFormControl(false, [...(validators['active'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(null, [...(validators['canDelete'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'createdByUserStr': new UntypedFormControl(null, [...(validators['createdByUserStr'] ?? []), ...[]]),\r\n\t\t\t'createdByUserId': new UntypedFormControl(null, [...(validators['createdByUserId'] ?? []), ...[]]),\r\n\t\t\t'createdDate': new UntypedFormControl(null, [...(validators['createdDate'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['name', {\"orderId\":0,\"sortColumn\":\"name\",\"searchColumn\":\"name\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Inventory\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['type', {\"orderId\":1,\"sortColumn\":\"type\",\"searchColumn\":\"type\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Type\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['active', {\"orderId\":2,\"sortColumn\":\"active\",\"searchColumn\":\"active\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Is Active?\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":3,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): SysInvInventoryVmFromFg {\r\n\t\treturn new SysInvInventoryVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class SysInvInventoryVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget sysInvInventoryId(): number {\r\n\t\treturn this.fg.get('sysInvInventoryId').value;\r\n\t}\r\n\tset sysInvInventoryId(val) {\r\n\t\tthis.fg.get('sysInvInventoryId').setValue(val);\r\n\t}\r\n\r\n\tget facilityId(): number {\r\n\t\treturn this.fg.get('facilityId').value;\r\n\t}\r\n\tset facilityId(val) {\r\n\t\tthis.fg.get('facilityId').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.fg.get('name').value;\r\n\t}\r\n\tset name(val) {\r\n\t\tthis.fg.get('name').setValue(val);\r\n\t}\r\n\r\n\tget type(): any {\r\n\t\treturn this.fg.get('type').value;\r\n\t}\r\n\tset type(val) {\r\n\t\tthis.fg.get('type').setValue(val);\r\n\t}\r\n\r\n\tget active(): boolean {\r\n\t\treturn this.fg.get('active').value;\r\n\t}\r\n\tset active(val) {\r\n\t\tthis.fg.get('active').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget createdByUserStr(): string {\r\n\t\treturn this.fg.get('createdByUserStr').value;\r\n\t}\r\n\tset createdByUserStr(val) {\r\n\t\tthis.fg.get('createdByUserStr').setValue(val);\r\n\t}\r\n\r\n\tget createdByUserId(): number {\r\n\t\treturn this.fg.get('createdByUserId').value;\r\n\t}\r\n\tset createdByUserId(val) {\r\n\t\tthis.fg.get('createdByUserId').setValue(val);\r\n\t}\r\n\r\n\tget createdDate(): Date {\r\n\t\treturn this.fg.get('createdDate').value;\r\n\t}\r\n\tset createdDate(val) {\r\n\t\tthis.fg.get('createdDate').setValue(val);\r\n\t}\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { SystemMessage } from \"app/core/system-message/system-message-service\";\r\nimport { FacilityInventoryVm } from \"app/shared/generated/Administration/Models/Facilities/Inventories/FacilityInventoryVm\";\r\nimport { IFacilityInventoryService } from \"./facility-inventory.interface.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class FacilityInventoryService implements IFacilityInventoryService {\r\n \r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n \r\n getInventory = (id: number) => \r\n this.http.get(`api/Facility/Inventory/GetInventory?inventoryId=${id}`);\r\n \r\n activateDeactivate = (id: number) => \r\n this.http.get(`api/Facility/Inventory/ActivateDeactivate?inventoryId=${id}`);\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit, TemplateRef, ViewChild, signal} from '@angular/core';\r\nimport { faPlus, faXmark } from '@fortawesome/pro-regular-svg-icons';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { InventoryTypeEnum } from 'app/core/enums/generated/InventoryTypeEnum';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { FacilityInventoryService } from 'app/shared/facilities/facility-inventories/services/facility-inventory.service';\r\nimport { EditOrganizationFacilityVm } from 'app/shared/generated/Administration/Models/Organizations/EditOrganizationFacilityVm';\r\nimport { SysInvInventoryVm } from 'app/shared/generated/SysInv/Models/SysInvInventoryVm';\r\nimport { SelectItem } from 'app/shared/models/select-item';\r\nimport { UserStateService } from 'app/state/user/user-state.service';\r\n\r\n@Component({\r\n selector: 'pcg-org-facility-inventories',\r\n templateUrl: './org-facility-inventories.component.html',\r\n styleUrls: ['./org-facility-inventories.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrgFacilityInventoriesComponent implements OnInit {\r\n \r\n @Input() facilityId = 0;\r\n @Input() organizationId = 0;\r\n @Input() canEdit = false;\r\n\r\n @ViewChild(\"modalProgram\") modalProgram: TemplateRef;\r\n\r\n faIcon = { faPlus, faXmark };\r\n\r\n showEditInventory = false;\r\n showInactiveInventories = false;\r\n inventoryList: SysInvInventoryVm[] = [];\r\n activeInventoryList: SysInvInventoryVm[] = [];\r\n inactiveInventoryList: SysInvInventoryVm[] = [];\r\n inv : SysInvInventoryVm;\r\n fg = SysInvInventoryVm.Form;\r\n model$: Observable;\r\n types: SelectItem[];\r\n allPrograms: boolean = false;\r\n orgFacility: EditOrganizationFacilityVm;\r\n\r\n constructor(\r\n private http: HttpClient, \r\n private sm: SystemMessageService, \r\n public fi: FacilityInventoryService, \r\n private userState: UserStateService,\r\n public modalService: NgbModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getOrgFacility();\r\n this.setSelectItemTypes();\r\n this.getInventoryList();\r\n }\r\n\r\n getOrgFacility() {\r\n this.http.get(`api/Administration/Organization/GetOrganizationFacility/?id=${this.facilityId}&organizationId=${this.organizationId}`)\r\n\t\t\t.subscribe((vm: EditOrganizationFacilityVm) => {\r\n this.orgFacility = vm;\r\n });\r\n }\r\n\r\n getInventoryList() {\r\n this.http.get(`api/Facility/Inventory/GetInventoryList?facilityId=${this.facilityId}`)\r\n .subscribe((list: SysInvInventoryVm[]) => {\r\n this.updateInventoryLists(list);\r\n });\r\n }\r\n\r\n editInventory(id: number) {\r\n if (this.canEdit) { this.showEditInventory = !this.showEditInventory; }\r\n if (id == 0) {\r\n let newModel = new SysInvInventoryVm();\r\n newModel.sysInvInventoryId = 0;\r\n newModel.facilityId = this.facilityId;\r\n newModel.organizationId = this.organizationId;\r\n this.fg.patchValue(newModel)\r\n } else {\r\n let model = this.inventoryList.find(o => o.sysInvInventoryId == id);\r\n this.fg.patchValue(model)\r\n }\r\n if(this.orgFacility.facilityTypeId != null) this.fg.get('programIds')?.disable();\r\n }\r\n\r\n parseEnum = (val: number) => InventoryTypeEnum.toDisplay(val);\r\n\r\n updateInventoryLists(invList: SysInvInventoryVm[]){\r\n this.inventoryList = invList;\r\n this.activeInventoryList = this.inventoryList.filter(o => o.active === true);\r\n this.inactiveInventoryList = this.inventoryList.filter(o => o.active === false);\r\n if (this.inactiveInventoryList.length == 0) this.showInactiveInventories = false; \r\n }\r\n\r\n\r\n // Form methods\r\n handleSave(sm: SystemMessage) {\r\n this.fg.patchValue(sm.model);\r\n this.updateInventoryLists(sm.value); \r\n this.showEditInventory = !this.showEditInventory;\r\n this.userState.updateUser(UserStateService.getCurrentUser());\r\n }\r\n\r\n setSelectItemTypes() {\r\n this.types = Object.values(InventoryTypeEnum)\r\n .filter(value => !isNaN(Number(value)))\r\n .filter(value => value != InventoryTypeEnum.Both)\r\n .map((value: number) => ({\r\n text: InventoryTypeEnum.toDisplay(value),\r\n value: value\r\n })\r\n );\r\n }\r\n\r\n AddAllPrograms = () => this.http.get('api/Select/InvConfigPrograms')\r\n .subscribe((items: SelectItem[]) => { this.fg.controls.programIds.setValue(items.map(item => item.value)) });\r\n\r\n activateDeactivate() {\r\n const action$ = this.fi.activateDeactivate(parseInt(this.fg.get('sysInvInventoryId').value));\r\n\r\n action$.subscribe((sm: SystemMessage) => {\r\n if (sm.isSuccessful) {\r\n this.fg.patchValue(sm.model);\r\n this.updateInventoryLists(sm.value);\r\n this.sm.setSystemMessage(sm.message, sm.messageClass);\r\n }\r\n });\r\n }\r\n\r\n showPrograms(inv : SysInvInventoryVm) {\r\n this.fg.patchValue(inv);\r\n this.inv = this.fg.value;\r\n this.allPrograms = false;\r\n this.modalService.open(this.modalProgram, {animation: false});\r\n }\r\n\r\n toggleProgramView = () => this.allPrograms = !this.allPrograms;\r\n}\r\n","
\r\n

Inventories

\r\n @if (\r\n !showEditInventory \r\n && inactiveInventoryList.length != 0\r\n ) {\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n@if (!showEditInventory) {\r\n
\r\n \r\n @if(canEdit){\r\n
\r\n \r\n

Add Inventory

\r\n
\r\n } \r\n\r\n \r\n @for (inv of inventoryList; track inv.sysInvInventoryId) {\r\n \r\n @if (\r\n inv.active == true \r\n || showInactiveInventories\r\n ) {\r\n
\r\n
\r\n
\r\n

Name:

\r\n

{{ inv.name }}

\r\n
\r\n\r\n
\r\n

Type:

\r\n

{{ parseEnum(inv.type) }}

\r\n
\r\n\r\n
\r\n

Programs:

\r\n @if (inv.programs.length <= 2) {

{{ inv.programs.slice(0, 2).join(', ') }}

}\r\n @else { \r\n

\r\n View {{ inv.programs.length }} Associations \r\n

\r\n }\r\n
\r\n @if (showInactiveInventories) {\r\n
\r\n

Active:

\r\n

{{ inv.active ? \"Yes\" : \"No\" }}

\r\n
\r\n }\r\n
\r\n\r\n \r\n @if (inv.canDelete) {\r\n \r\n }\r\n
\r\n } \r\n }\r\n
\r\n} @else {\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n @if(orgFacility.facilityTypeId == null) {\r\n \r\n \r\n \r\n
\r\n \r\n All\r\n \r\n
\r\n } @else {\r\n \r\n Program associations have been set by the Facility Type. If you believe\r\n you require access to another program please submit a help ticket.\r\n \r\n }\r\n
\r\n\r\n
\r\n \r\n\r\n @if (fg.value.sysInvInventoryId !== 0) {\r\n {{ fg.value.active ? 'Deactivate' : 'Reactivate'}}\r\n }\r\n
\r\n
\r\n
\r\n}\r\n\r\n\r\n
\r\n
Programs
\r\n @if (inventoryList.length > 1) { \r\n
\r\n \r\n \r\n
\r\n }\r\n \r\n
\r\n\r\n
\r\n @if (!allPrograms) {\r\n
    \r\n
  • \r\n {{ inv.name}}:\r\n
      \r\n
    • {{ program }}
    • \r\n
    \r\n
  • \r\n
\r\n } @else {\r\n @if (showInactiveInventories) { Active: }\r\n
    \r\n
  • \r\n {{ inv.name }}:\r\n
      \r\n
    • {{ program }}
    • \r\n
    \r\n
  • \r\n
\r\n @if (showInactiveInventories) {\r\n Inactive:\r\n
    \r\n
  • \r\n {{ inv.name }}:\r\n
      \r\n
    • {{ program }}
    • \r\n
    \r\n
  • \r\n
\r\n }\r\n }\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit, viewChild, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { faExternalLink } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { OrganizationFacilityListVm } from 'app/shared/generated/Administration/Models/Organizations/OrganizationFacilityListVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\nimport { OrgFacilityInventoriesComponent } from '../org-facility-inventories/org-facility-inventories.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-organization-facility-list',\r\n templateUrl: './organization-facility-list.component.html',\r\n styleUrls: ['./organization-facility-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrganizationFacilityListComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: false }) table: TableComponent;\r\n @ViewChild(OrgFacilityInventoriesComponent, { static: false }) orgFacilityInventories: OrgFacilityInventoriesComponent;\r\n\r\n @Input() id: number;\r\n @Input() businessArea: BusinessAreaEnum;\r\n\r\n filters = { \r\n id: null\r\n , isActive: true \r\n };\r\n initFilters = Object.assign({}, this.filters);\r\n filterMap = { \"isActive\": \"Is Active\" };\r\n\r\n canEdit = false;\r\n canDelete = false;\r\n showBusinessArea = true;\r\n columns = OrganizationFacilityListVm.ColumnDefs;\r\n showEditOrganizationFacility = false;\r\n selectedFacilityId = 0;\r\n faIcon = { faExternalLink }\r\n\r\n constructor(\r\n private route: ActivatedRoute\r\n , public btnFilterService: ButtonFilterService\r\n , public sec: SecurityService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filters.id = this.id;\r\n this.canEdit = this.sec.hasModuleAccess([BusinessAreaEnum.Admin], [...SecurityService.setMinRole(PermissionRole.UserAdmin)]);\r\n this.canDelete = this.sec.hasModuleAccess([BusinessAreaEnum.Admin], [PermissionRole.SystemAdmin]);\r\n this.initFilters = Object.assign({}, this.filters);\r\n this.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n\r\n //Check if directed here from SysInv Inventory List Screen edit button\r\n this.route.queryParamMap.subscribe((params: ParamMap) => {\r\n if (params.has('facilityId')) {\r\n this.selectedFacilityId = parseInt(params.get('facilityId'), 10);\r\n this.showEditOrganizationFacility = true;\r\n }\r\n });\r\n }\r\n\r\n reloadTable() { this.table?.ajaxReload(); }\r\n\r\n resetFilters() {\r\n this.filters.id = this.id;\r\n this.filters.isActive = true;\r\n this.filters = Object.assign(this.filters, this.initFilters);\r\n this.table.hideShowColumn('isActive', FormatHelperService.GetIsNully(this.filters.isActive));\r\n this.table?.ajaxReload();\r\n }\r\n \r\n openFacility(row: OrganizationFacilityListVm) {\r\n this.selectedFacilityId = row.facilityId;\r\n this.showEditOrganizationFacility = !this.showEditOrganizationFacility;\r\n }\r\n\r\n hideEditOrganizationFacility() {\r\n this.selectedFacilityId = 0;\r\n this.showEditOrganizationFacility = !this.showEditOrganizationFacility;\r\n }\r\n \r\n canDeleteFacility = (): boolean => this.sec.hasModuleAccess(\r\n [ this.businessArea ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n}\r\n","\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYes\r\n\t\t\t\t\t\tNo\r\n\t\t\t\t\t\tAll\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n @if(canEdit){\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\t\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t@if (row.facilityId != 0) {\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('facilityName').displayName }}\r\n\t\t\t{{ row.facilityName }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('facilityIdentifier').displayName }}\r\n\t\t\t{{ row.facilityIdentifier }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('city').displayName }}\r\n\t\t\t{{ row.city }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('county').displayName }}\r\n\t\t\t{{ row.county }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('isActive').displayName }}\r\n\t\t\t{{ row.isActive }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\tDelete\r\n\t\t\t\r\n\t\t\t\t@if (canDeleteFacility()) {\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n\r\n \r\n\t\r\n\t
\r\n\r\n\t@if (selectedFacilityId != 0) {\r\n\t\t\r\n\t\t\r\n\t}\r\n\r\n\t
\r\n\t\tBack\r\n\t
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faBuildingColumns } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { AuditHistoryVm } from 'app/shared/generated/Models/AuditHistoryVm';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-organization-audit-history',\r\n templateUrl: './organization-audit-history.component.html',\r\n styleUrls: ['./organization-audit-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrganizationAuditHistoryComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: false }) table: TableComponent;\r\n\tcolumns = AuditHistoryVm.ColumnDefs;\r\n\t\r\n organizationId: number;\r\n organizationName: string = null;\r\n\r\n filters = { organizationId: null };\r\n faIconName = { faBuildingColumns };\r\n\r\n\tconstructor(\r\n title: Title\r\n , private activatedRoute: ActivatedRoute\r\n ) { title.setTitle('Edit Organization'); }\r\n\r\n\tngOnInit() { this.organizationId = this.filters.organizationId = this.activatedRoute.snapshot.params['id']; }\r\n}\r\n","\r\n

{{organizationName}}

\r\n\r\n\r\n\r\n \r\n\t\t{{ columns.get('dateChanged').displayName }}\r\n\t\t{{ row.dateChangedFormatted }}\r\n\t\r\n\r\n \r\n\t\t{{ columns.get('module').displayName }}\r\n\t\t{{ row.module }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('recordAffected').displayName }}\r\n\t\t{{ row.recordAffected }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('field').displayName }}\r\n\t\t{{ row.field }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedFrom').displayName }}\r\n\t\t{{ row.changedFrom }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedTo').displayName }}\r\n\t\t{{ row.changedTo }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('changedBy').displayName }}\r\n\t\t{{ row.changedBy }}\r\n\t\r\n\r\n\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class OrganizationAccountVm {\r\n\torganizationAccountId: number;\r\n\tfacilityAccountNameId: number;\r\n\tfacilityAccountNamePfsId?: number;\r\n\tfacilityAccountNameStr?: string;\r\n\torganizationId: number;\r\n\tpfsIds?: string;\r\n\tpfsFacilityAccountIds?: number[];\r\n\torganizationStr?: string;\r\n\taccountNumber?: string;\r\n\texpirationDate?: Date;\r\n\texpirationDateStr?: string;\r\n\tnotes?: string;\r\n\tfile?: any;\r\n\tuploadFiles?: any;\r\n\tuploadFilePath?: string;\r\n\tfileName?: string;\r\n\tisActive: boolean;\r\n\tisGracePeriod: boolean;\r\n\tisNewRequest: boolean;\r\n\tfriendlyId?: string;\r\n\tactions?: string;\r\n\tactionsSelected?: boolean;\r\n\tlastUpdatedDate?: Date;\r\n\tlastUpdatedDateStr?: string;\r\n\tlastUpdatedUserId?: number;\r\n\tlastUpdatedBy?: string;\r\n\thasPendingRequest: boolean;\r\n\tdaysRemaining?: string;\r\n\torganizationLink?: string;\r\n\tpfsRequestIds?: string[];\r\n\tisRemoveDoc: boolean;\r\n\thomerEmailSent: boolean;\r\n\tpfsRequestedByEmail?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'organizationAccountId': new UntypedFormControl(0, [...(validators['organizationAccountId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityAccountNameId': new UntypedFormControl(0, [...(validators['facilityAccountNameId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityAccountNamePfsId': new UntypedFormControl(null, [...(validators['facilityAccountNamePfsId'] ?? []), ...[]]),\r\n\t\t\t'facilityAccountNameStr': new UntypedFormControl(null, [...(validators['facilityAccountNameStr'] ?? []), ...[]]),\r\n\t\t\t'organizationId': new UntypedFormControl(0, [...(validators['organizationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'pfsIds': new UntypedFormControl(null, [...(validators['pfsIds'] ?? []), ...[]]),\r\n\t\t\t'pfsFacilityAccountIds': new UntypedFormControl([], [...(validators['pfsFacilityAccountIds'] ?? []), ...[]]),\r\n\t\t\t'organizationStr': new UntypedFormControl(null, [...(validators['organizationStr'] ?? []), ...[]]),\r\n\t\t\t'accountNumber': new UntypedFormControl(null, [...(validators['accountNumber'] ?? []), ...[Validators.required, Validators.maxLength(50), Validators.pattern(\"^[A-Za-z0-9 ]*\")]]),\r\n\t\t\t'expirationDate': new UntypedFormControl(null, [...(validators['expirationDate'] ?? []), ...[]]),\r\n\t\t\t'expirationDateStr': new UntypedFormControl(null, [...(validators['expirationDateStr'] ?? []), ...[]]),\r\n\t\t\t'notes': new UntypedFormControl(null, [...(validators['notes'] ?? []), ...[Validators.maxLength(1000)]]),\r\n\t\t\t'file': new UntypedFormControl(null, [...(validators['file'] ?? []), ...[]]),\r\n\t\t\t'uploadFiles': new UntypedFormControl([], [...(validators['uploadFiles'] ?? []), ...[]]),\r\n\t\t\t'uploadFilePath': new UntypedFormControl(null, [...(validators['uploadFilePath'] ?? []), ...[Validators.maxLength(250)]]),\r\n\t\t\t'fileName': new UntypedFormControl(null, [...(validators['fileName'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'isGracePeriod': new UntypedFormControl(false, [...(validators['isGracePeriod'] ?? []), ...[]]),\r\n\t\t\t'isNewRequest': new UntypedFormControl(false, [...(validators['isNewRequest'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'actions': new UntypedFormControl(null, [...(validators['actions'] ?? []), ...[]]),\r\n\t\t\t'actionsSelected': new UntypedFormControl(null, [...(validators['actionsSelected'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedDate': new UntypedFormControl(null, [...(validators['lastUpdatedDate'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedDateStr': new UntypedFormControl(null, [...(validators['lastUpdatedDateStr'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedUserId': new UntypedFormControl(null, [...(validators['lastUpdatedUserId'] ?? []), ...[]]),\r\n\t\t\t'lastUpdatedBy': new UntypedFormControl(null, [...(validators['lastUpdatedBy'] ?? []), ...[]]),\r\n\t\t\t'hasPendingRequest': new UntypedFormControl(false, [...(validators['hasPendingRequest'] ?? []), ...[]]),\r\n\t\t\t'daysRemaining': new UntypedFormControl(null, [...(validators['daysRemaining'] ?? []), ...[]]),\r\n\t\t\t'organizationLink': new UntypedFormControl(null, [...(validators['organizationLink'] ?? []), ...[]]),\r\n\t\t\t'pfsRequestIds': new UntypedFormControl([], [...(validators['pfsRequestIds'] ?? []), ...[]]),\r\n\t\t\t'isRemoveDoc': new UntypedFormControl(false, [...(validators['isRemoveDoc'] ?? []), ...[]]),\r\n\t\t\t'homerEmailSent': new UntypedFormControl(false, [...(validators['homerEmailSent'] ?? []), ...[]]),\r\n\t\t\t'pfsRequestedByEmail': new UntypedFormControl(null, [...(validators['pfsRequestedByEmail'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['actions', {\"orderId\":0,\"sortColumn\":\"actions\",\"searchColumn\":\"actions\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Actions\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityAccountNameStr', {\"orderId\":1,\"sortColumn\":\"facilityAccountNameStr\",\"searchColumn\":\"facilityAccountNameStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Account Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['accountNumber', {\"orderId\":2,\"sortColumn\":\"accountNumber\",\"searchColumn\":\"accountNumber\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Account #\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['expirationDateStr', {\"orderId\":3,\"sortColumn\":\"expirationDate\",\"searchColumn\":\"expirationDateStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Exp Date\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['uploadFilePath', {\"orderId\":4,\"sortColumn\":\"uploadFilePath\",\"searchColumn\":\"uploadFilePath\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Related Document\",\"isVisible\":true,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isActive', {\"orderId\":5,\"sortColumn\":\"isActive\",\"searchColumn\":\"isActive\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Is Active\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['lastUpdatedDateStr', {\"orderId\":6,\"sortColumn\":\"lastUpdatedDate\",\"searchColumn\":\"lastUpdatedDateStr\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Updated Date\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['lastUpdatedBy', {\"orderId\":7,\"sortColumn\":\"lastUpdatedBy\",\"searchColumn\":\"lastUpdatedBy\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Updated By\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): OrganizationAccountVmFromFg {\r\n\t\treturn new OrganizationAccountVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class OrganizationAccountVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget organizationAccountId(): number {\r\n\t\treturn this.fg.get('organizationAccountId').value;\r\n\t}\r\n\tset organizationAccountId(val) {\r\n\t\tthis.fg.get('organizationAccountId').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountNameId(): number {\r\n\t\treturn this.fg.get('facilityAccountNameId').value;\r\n\t}\r\n\tset facilityAccountNameId(val) {\r\n\t\tthis.fg.get('facilityAccountNameId').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountNamePfsId(): number {\r\n\t\treturn this.fg.get('facilityAccountNamePfsId').value;\r\n\t}\r\n\tset facilityAccountNamePfsId(val) {\r\n\t\tthis.fg.get('facilityAccountNamePfsId').setValue(val);\r\n\t}\r\n\r\n\tget facilityAccountNameStr(): string {\r\n\t\treturn this.fg.get('facilityAccountNameStr').value;\r\n\t}\r\n\tset facilityAccountNameStr(val) {\r\n\t\tthis.fg.get('facilityAccountNameStr').setValue(val);\r\n\t}\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget pfsIds(): string {\r\n\t\treturn this.fg.get('pfsIds').value;\r\n\t}\r\n\tset pfsIds(val) {\r\n\t\tthis.fg.get('pfsIds').setValue(val);\r\n\t}\r\n\r\n\tget organizationStr(): string {\r\n\t\treturn this.fg.get('organizationStr').value;\r\n\t}\r\n\tset organizationStr(val) {\r\n\t\tthis.fg.get('organizationStr').setValue(val);\r\n\t}\r\n\r\n\tget accountNumber(): string {\r\n\t\treturn this.fg.get('accountNumber').value;\r\n\t}\r\n\tset accountNumber(val) {\r\n\t\tthis.fg.get('accountNumber').setValue(val);\r\n\t}\r\n\r\n\tget expirationDate(): Date {\r\n\t\treturn this.fg.get('expirationDate').value;\r\n\t}\r\n\tset expirationDate(val) {\r\n\t\tthis.fg.get('expirationDate').setValue(val);\r\n\t}\r\n\r\n\tget expirationDateStr(): string {\r\n\t\treturn this.fg.get('expirationDateStr').value;\r\n\t}\r\n\tset expirationDateStr(val) {\r\n\t\tthis.fg.get('expirationDateStr').setValue(val);\r\n\t}\r\n\r\n\tget notes(): string {\r\n\t\treturn this.fg.get('notes').value;\r\n\t}\r\n\tset notes(val) {\r\n\t\tthis.fg.get('notes').setValue(val);\r\n\t}\r\n\r\n\tget file(): any {\r\n\t\treturn this.fg.get('file').value;\r\n\t}\r\n\tset file(val) {\r\n\t\tthis.fg.get('file').setValue(val);\r\n\t}\r\n\r\n\tget uploadFilePath(): string {\r\n\t\treturn this.fg.get('uploadFilePath').value;\r\n\t}\r\n\tset uploadFilePath(val) {\r\n\t\tthis.fg.get('uploadFilePath').setValue(val);\r\n\t}\r\n\r\n\tget fileName(): string {\r\n\t\treturn this.fg.get('fileName').value;\r\n\t}\r\n\tset fileName(val) {\r\n\t\tthis.fg.get('fileName').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget isGracePeriod(): boolean {\r\n\t\treturn this.fg.get('isGracePeriod').value;\r\n\t}\r\n\tset isGracePeriod(val) {\r\n\t\tthis.fg.get('isGracePeriod').setValue(val);\r\n\t}\r\n\r\n\tget isNewRequest(): boolean {\r\n\t\treturn this.fg.get('isNewRequest').value;\r\n\t}\r\n\tset isNewRequest(val) {\r\n\t\tthis.fg.get('isNewRequest').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget actions(): string {\r\n\t\treturn this.fg.get('actions').value;\r\n\t}\r\n\tset actions(val) {\r\n\t\tthis.fg.get('actions').setValue(val);\r\n\t}\r\n\r\n\tget actionsSelected(): boolean {\r\n\t\treturn this.fg.get('actionsSelected').value;\r\n\t}\r\n\tset actionsSelected(val) {\r\n\t\tthis.fg.get('actionsSelected').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedDate(): Date {\r\n\t\treturn this.fg.get('lastUpdatedDate').value;\r\n\t}\r\n\tset lastUpdatedDate(val) {\r\n\t\tthis.fg.get('lastUpdatedDate').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedDateStr(): string {\r\n\t\treturn this.fg.get('lastUpdatedDateStr').value;\r\n\t}\r\n\tset lastUpdatedDateStr(val) {\r\n\t\tthis.fg.get('lastUpdatedDateStr').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedUserId(): number {\r\n\t\treturn this.fg.get('lastUpdatedUserId').value;\r\n\t}\r\n\tset lastUpdatedUserId(val) {\r\n\t\tthis.fg.get('lastUpdatedUserId').setValue(val);\r\n\t}\r\n\r\n\tget lastUpdatedBy(): string {\r\n\t\treturn this.fg.get('lastUpdatedBy').value;\r\n\t}\r\n\tset lastUpdatedBy(val) {\r\n\t\tthis.fg.get('lastUpdatedBy').setValue(val);\r\n\t}\r\n\r\n\tget hasPendingRequest(): boolean {\r\n\t\treturn this.fg.get('hasPendingRequest').value;\r\n\t}\r\n\tset hasPendingRequest(val) {\r\n\t\tthis.fg.get('hasPendingRequest').setValue(val);\r\n\t}\r\n\r\n\tget daysRemaining(): string {\r\n\t\treturn this.fg.get('daysRemaining').value;\r\n\t}\r\n\tset daysRemaining(val) {\r\n\t\tthis.fg.get('daysRemaining').setValue(val);\r\n\t}\r\n\r\n\tget organizationLink(): string {\r\n\t\treturn this.fg.get('organizationLink').value;\r\n\t}\r\n\tset organizationLink(val) {\r\n\t\tthis.fg.get('organizationLink').setValue(val);\r\n\t}\r\n\r\n\tget isRemoveDoc(): boolean {\r\n\t\treturn this.fg.get('isRemoveDoc').value;\r\n\t}\r\n\tset isRemoveDoc(val) {\r\n\t\tthis.fg.get('isRemoveDoc').setValue(val);\r\n\t}\r\n\r\n\tget homerEmailSent(): boolean {\r\n\t\treturn this.fg.get('homerEmailSent').value;\r\n\t}\r\n\tset homerEmailSent(val) {\r\n\t\tthis.fg.get('homerEmailSent').setValue(val);\r\n\t}\r\n\r\n\tget pfsRequestedByEmail(): string {\r\n\t\treturn this.fg.get('pfsRequestedByEmail').value;\r\n\t}\r\n\tset pfsRequestedByEmail(val) {\r\n\t\tthis.fg.get('pfsRequestedByEmail').setValue(val);\r\n\t}\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tinject,\r\n\tInput,\r\n\tOnInit,\r\n\tTemplateRef,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { Validators } from \"@angular/forms\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NgbModal, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessageService } from \"app/core/system-message/system-message-service\";\r\nimport { NotificationService } from \"app/notification.service\";\r\nimport { validateForm } from \"app/shared/form-elements/form-validateForm.function\";\r\nimport { FacilityAccountNameVm } from \"app/shared/generated/Administration/Models/Facilities/FacilityAccountNameVm\";\r\nimport { OrganizationAccountVm } from \"app/shared/generated/Administration/Models/Organizations/OrganizationAccountVm\";\r\nimport { GenericFilesVm } from \"app/shared/generated/Models/GenericFilesVm\";\r\nimport { FormatHelperService } from \"app/shared/helpers/format-helper.service\";\r\nimport { NavNotificationService } from \"app/shared/navigation/nav-notification.service\";\r\nimport { AccountRequestModalStateService } from \"app/shared/state/account-request-modal-state.service\";\r\nimport { ButtonFilterService } from \"app/shared/table/table-top/button-filter/button-filter.service\";\r\nimport { TableComponent } from \"app/shared/table/table.component\";\r\n\r\n@Component({\r\n selector: \"pcg-shared-organization-accounts\",\r\n templateUrl: \"./organization-accounts.component.html\",\r\n styleUrls: [\"./organization-accounts.component.scss\"],\r\n standalone: false\r\n})\r\nexport class OrganizationAccountsComponent implements OnInit {\r\n\trouter = inject(ActivatedRoute);\r\n http = inject(HttpClient);\r\n notificationService = inject(NotificationService);\r\n ns = inject(NavNotificationService);\r\n\r\n\t@ViewChild(TableComponent, { static: false }) table: TableComponent;\r\n\t@ViewChild(\"accountUpdateOptions\", { static: true }) accountUpdateOptions: TemplateRef;\r\n\r\n\t@Input() id: number;\r\n\t@Input() businessArea: BusinessAreaEnum;\r\n\taccountId?: number;\r\n\r\n\tcolumns = OrganizationAccountVm.ColumnDefs;\r\n\tnewModel = new OrganizationAccountVm();\r\n\tformGroup = OrganizationAccountVm.Form;\r\n\tinitFormGroup = OrganizationAccountVm.Form;\r\n\r\n\tfilters = {\r\n\t\tid: null\r\n\t\t, isActive: true\r\n\t};\r\n\tinitFilters = Object.assign({}, this.filters);\r\n\tfilterMap = { isActive: \"Is Active\" };\r\n\r\n\tcanEdit = false;\r\n\tcanDelete = false;\r\n\r\n\taccountQueueModalRef: NgbModalRef | null;\r\n\r\n\t// Account Update properties\r\n\tisOpen = false;\r\n\teditClicked = false;\r\n\tdeleteClicked = false;\r\n\thasFile = false;\r\n\tclearFileClick = false;\r\n\taccountNameClick = false;\r\n expDateRequired = false;\r\n\tisLoading: boolean = false;\r\n\r\n\tfacilityFile: GenericFilesVm[] = [];\r\n\tmaxFiles = 1;\r\n\r\n\tstrAction = \"Edit\";\r\n\r\n\tsaveBtnTooltip: string = \"A change must be made to submit an update request.\";\r\n\tsaveBtnDisabled: boolean = true;\r\n\r\n\tconstructor(\r\n\t\tpublic btnFilterService: ButtonFilterService\r\n\t\t, title: Title\r\n\t\t, public sec: SecurityService\r\n\t\t, public arms: AccountRequestModalStateService\r\n\t\t, private modalService: NgbModal\r\n\t\t, private sm: SystemMessageService\r\n\t\t, private cdr: ChangeDetectorRef\r\n\t) { title.setTitle(\"Organization Accounts\"); }\r\n\r\n\tngOnInit() {\r\n\t\tthis.filters.id = this.id;\r\n\r\n\t\tthis.canEdit = this.sec.hasModuleAccess(\r\n\t\t\t[this.businessArea],\r\n\t\t\t[...SecurityService.setMinRole(PermissionRole.User)]\r\n\t\t);\r\n\t\tthis.canDelete = this.sec.hasModuleAccess(\r\n\t\t\t[BusinessAreaEnum.Admin],\r\n\t\t\t[PermissionRole.SystemAdmin]\r\n\t\t);\r\n\t\tthis.initFilters = Object.assign({}, this.filters);\r\n\t\tthis.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n\r\n\t\t// Initializes the component's ability to react to behavior changes\r\n\t\tthis.reloadTablePromise();\r\n\r\n\t\tthis.formGroup.patchValue(this.newModel);\r\n\t\t// Listen for formGroup changes\r\n\t\tthis.formGroup.valueChanges.subscribe(() => { this.isSaveDisabled(); });\r\n\t\tthis.accountId = parseInt(this.router.snapshot.paramMap.get('accountId'));\r\n\t\tif (this.accountId) { this.getAccount(this.accountId); }\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.filters.id = this.id;\r\n\t\tthis.filters.isActive = true;\r\n\t\tthis.filters = Object.assign(this.filters, this.initFilters);\r\n\t\tthis.table.hideShowColumn(\"isActive\", FormatHelperService.GetIsNully(this.filters.isActive));\r\n\t\tthis.table?.ajaxReload();\r\n\t}\r\n\r\n\tgetAccount(id: number) {\r\n\t\tlet sub = this.table.tableReceive.subscribe(\r\n\t\t\tr => {\r\n\t\t\t\tlet row = this.table.data.filter(d => d.facilityAccountNameId == id)[0];\r\n\t\t\t\tthis.actionClick(row);\r\n\t\t\t\tthis.editClick();\r\n\t\t\t\tthis.formGroup.controls.facilityAccountNameId.setValue(id);\r\n\t\t\t\tsub.unsubscribe();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** When called, this method sets up a subscription that will\r\n\t * update the table only if an active modal ref is stored in state.\r\n\t * NOTE: Leave formatting of code alone.\r\n\t */\r\n\treloadTablePromise() {\r\n\t\tthis.cdr.detectChanges();\r\n\t\t// Reloads table whenever user closes table.\r\n\t\tthis.arms.getModalRefObservable().subscribe((modalRef) => {\r\n\t\t\tthis.accountQueueModalRef = modalRef;\r\n\t\t\tif (this.accountQueueModalRef) {\r\n\t\t\t\tthis.accountQueueModalRef.result\r\n\t\t\t\t\t// Called when user approves or denies\r\n\t\t\t\t\t.then(() => { this.table.ajaxReload(); })\r\n\t\t\t\t\t// Called when user closes the modal\r\n\t\t\t\t\t.catch((e) => { this.table.ajaxReload(); });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\topenFile(filePath : string) {\r\n\t\t// Change route if document was uploaded in PFS\r\n\t\tif (filePath.includes('uploads\\\\facilityAccounts')) { window.open(filePath, \"_blank\"); }\r\n\t\telse { window.open(window.location.origin + \"/\" + filePath, \"_blank\"); }\t\r\n\t}\r\n\r\n\tactionClick(row: OrganizationAccountVm = null) {\r\n\t\tlet isNew = row == null;\r\n\t\tthis.setModelValues(row);\r\n\t\tif (!isNew) { this.modalService.open(this.accountUpdateOptions, { animation: false }); }\r\n\t\telse {\r\n\t\t\tthis.newModel.actionsSelected = true;\r\n \t\tthis.newModel.isActive = true;\r\n\t\t\tthis.formGroup.patchValue(this.newModel);\r\n\t\t}\r\n\t\t// Set initFormGroup values for comparison\r\n\t\tthis.initFormGroup.reset();\r\n\t\tthis.initFormGroup.patchValue(this.newModel);\r\n\t}\r\n\r\n\tsetModelValues(row: OrganizationAccountVm = null) {\r\n\t\tthis.newModel = row ?? new OrganizationAccountVm();\r\n this.newModel.organizationId = this.id;\r\n\t\tthis.hasFile = FormatHelperService.GetIsNullyOrWhitespace(row?.uploadFilePath) \r\n\t\t\t? false \r\n\t\t\t: true;\r\n\t\tthis.formGroup.reset();\r\n\t\tthis.formGroup.patchValue(this.newModel);\r\n\t\t\r\n\t\tthis.isOpen = this.editClicked \r\n\t\t\t= this.deleteClicked \r\n\t\t\t= this.clearFileClick \r\n\t\t\t= this.accountNameClick \r\n = this.expDateRequired\r\n\t\t\t= false;\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.setModelValues();\r\n\t\tthis.modalService.dismissAll();\r\n\t}\r\n\r\n\teditClick() {\r\n\t\tthis.newModel.actionsSelected = true;\r\n\t\tthis.formGroup.patchValue(this.newModel);\r\n\t\tthis.initFormGroup.patchValue(this.newModel);\r\n\t\tthis.setExpDateRequired();\r\n\t\tthis.editClicked = true;\r\n\t\tthis.modalService.dismissAll();\r\n\t}\r\n\r\n setExpDateRequired() {\r\n this.isLoading = true;\r\n this.http.get(`api/Administration/FacilityAccountName/GetViewModel/${this.formGroup.controls.facilityAccountNameId.value}`)\r\n .subscribe({\r\n next: (r: FacilityAccountNameVm) => {\r\n if (r.isNotification) {\r\n this.formGroup.controls.expirationDate.addValidators([Validators.required]);\r\n this.expDateRequired = true;\r\n } else {\r\n this.formGroup.controls.expirationDate.clearValidators();\r\n this.expDateRequired = false;\r\n }\r\n this.formGroup.controls.expirationDate.updateValueAndValidity();\r\n this.isLoading = false;\r\n },\r\n error: (e) => {\r\n this.notificationService.showMessage(e.msg, e.messageClass);\r\n this.isLoading = false;\r\n }\r\n });\r\n }\r\n\r\n\tdeleteClick() { this.deleteClicked = true; }\r\n\r\n\tperformDelete() {\r\n\t\tthis.sm.getHttpObservable(this, `api/Administration/OrganizationAccount/Delete/${this.newModel.organizationAccountId}`)\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.table.ajaxReload();\r\n\t\t\t\tthis.modalService.dismissAll();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tclearFile() {\r\n\t\tthis.clearFileClick = true;\r\n\t\tthis.formGroup.controls.uploadFilePath.patchValue(null);\r\n\t\tthis.formGroup.controls.file.patchValue(null);\r\n\t\tthis.hasFile = false;\r\n\t}\r\n\r\n\teditSave() {\r\n // If new account, set PK to 0\r\n if(this.formGroup.controls.organizationAccountId.errors)\r\n this.formGroup.controls.organizationAccountId.setValue(0);\r\n validateForm(this.formGroup);\r\n\t\tif (this.canEdit === true && this.formGroup.valid) {\r\n\t\t\tthis.sm.getHttpObservable(this, `api/Administration/OrganizationAccount/Save`, this.formGroup)\r\n\t\t\t\t.subscribe((msg) => {\r\n\t\t\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\t\t\tthis.newModel.actionsSelected = false;\r\n\t\t\t\t\t\tthis.cdr.detectChanges();\r\n this.ns.getHeaderCounts();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t//Prevents actions dropdown from closing when facility account name select is changed by temporarily\r\n\t//flipping accountNameClick bool\r\n\taccountNameClicked() {\t\t\r\n\t\tthis.accountNameClick = !this.accountNameClick;\r\n\t\tsetTimeout(() => { this.accountNameClick = !this.accountNameClick; }, 50);\r\n\t}\r\n\r\n\tupdateExpStr() {\r\n\t\tlet expDateStr = formatDate(\r\n\t\t\tthis.formGroup.controls.expirationDate.value\r\n\t\t\t, \"M/dd/yyyy\"\r\n\t\t\t, \"en-US\"\r\n\t\t);\r\n\t\tthis.formGroup.controls.expirationDateStr.patchValue(expDateStr);\r\n\t}\r\n\r\n\tisSaveDisabled() {\r\n if(this.isLoading) {\r\n this.saveBtnDisabled = true;\r\n return;\r\n }\r\n\t\tif (!FormatHelperService.GetIsNullyOrWhitespace(this.formGroup.controls.expirationDate.value))\r\n\t\t\tthis.initFormGroup.controls.expirationDate.patchValue(\r\n\t\t\t\tformatDate(\r\n\t\t\t\t\tthis.formGroup.controls.expirationDate.value\r\n\t\t\t\t\t, \"yyyy-MM-dd\"\r\n\t\t\t\t\t, \"en-US\"\r\n\t\t\t));\r\n\t\tthis.saveBtnDisabled = JSON.stringify(this.formGroup.value) === JSON.stringify(this.initFormGroup.value); \r\n\t\tthis.saveBtnTooltip = this.saveBtnDisabled ? \"A change must be made to submit an update request.\" : null;\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYes\r\n\t\t\t\t\t\tNo\r\n\t\t\t\t\t\tAll\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('actions').displayName }}\r\n\t\t\t\r\n\t\t\t\t@if (!row.actionsSelected) {\r\n\t\t\t\t\t
{{ row.actions }}
\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('facilityAccountNameStr').displayName }}\r\n\t\t\t\r\n\t\t\t\t{{ row.facilityAccountNameStr }}\r\n\t\t\t\t@if (\r\n\t\t\t\t\trow.hasPendingRequest \r\n\t\t\t\t\t&& !row.isNewRequest\r\n\t\t\t\t) {\r\n\t\t\t\t\tPending Update\r\n\t\t\t\t}\r\n\t\t\t\t@if (row.isNewRequest) {\r\n\t\t\t\t\tNew\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('accountNumber').displayName }}\r\n\t\t\t{{ row.accountNumber }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('expirationDateStr').displayName }}\r\n\t\t\t{{ row.expirationDateStr }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('isActive').displayName }}\r\n\t\t\t\r\n\t\t\t\t@if (row.isActive) { Yes }\r\n\t\t\t\t@else { No }\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('lastUpdatedDateStr').displayName }}\r\n\t\t\t{{ row.lastUpdatedDateStr }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('lastUpdatedBy').displayName }}\r\n\t\t\t{{ row.lastUpdatedBy }}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t{{ columns.get('uploadFilePath').displayName }}\r\n\t\t\t\r\n\t\t\t\t{{ row.fileName }}\r\n\t\t\t\r\n\t\t\r\n\t
\r\n\r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t@if (!hasFile) {\r\n\t\t\t\t\t\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{{formGroup.controls.fileName.value}}\r\n\t\t\t\t\t\t   \r\n\t\t\t\t\t\t
X
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t\r\n\r\n","// tslint:disable: quotemark\r\nexport enum LoginTypeEnum {\r\n\tTraditional = 1,\r\n\tSSO = 2,\r\n\tBoth = 3\r\n}\r\n\r\nexport namespace LoginTypeEnum {\r\n\texport function toDescription(val: LoginTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Traditional\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"SSO\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Both\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: LoginTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Traditional\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"SSO\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Both\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum SSOTypeEnum {\r\n\tMicrosoftEntraAD = 1\r\n}\r\n\r\nexport namespace SSOTypeEnum {\r\n\texport function toDescription(val: SSOTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Microsoft Entra AD\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\texport function toDisplay(val: SSOTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Microsoft Entra AD\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { faXmark } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { EditOrganizationVm } from \"app/shared/generated/Administration/Models/Organizations/EditOrganizationVm\";\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { SystemMessage, SystemMessageService } from 'app/core/system-message/system-message-service';\r\nimport { LoginTypeEnum } from 'app/core/enums/generated/LoginTypeEnum';\r\nimport { SSOTypeEnum } from 'app/core/enums/generated/SSOTypeEnum';\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { GlobalService } from 'app/shared/services/global.service';\r\n\r\n@Component({\r\n selector: 'pcg-shared-organization-logins',\r\n templateUrl: './organization-logins.component.html',\r\n styleUrls: ['./organization-logins.component.scss'],\r\n standalone: false\r\n})\r\nexport class OrganizationLoginsComponent implements OnInit {\r\n\r\n @Input() vm: EditOrganizationVm;\r\n\r\n formGroup = EditOrganizationVm.Form;\r\n model = EditOrganizationVm.GetModel(this.formGroup);\r\n\r\n showSsoType = false;\r\n\tcanEdit = false;\r\n isMobile = false;\r\n\tinfoOpened = false;\r\n\r\n faIconName = { faXmark };\r\n\r\n constructor(\r\n private sec: SecurityService\r\n\t\t, public router: Router\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private ms: SystemMessageService\r\n ) { }\r\n\r\n @HostListener('window:resize')\r\n\tonResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n ngOnInit() { \r\n this.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n const bae = BusinessAreaEnum;\r\n const pr = PermissionRole;\r\n\r\n this.canEdit = this.sec.hasModuleAccess([bae.Admin], [...SecurityService.setMinRole(pr.UserAdmin)]);\r\n const newvm = this.vm;\r\n this.model = EditOrganizationVm.GetModel(this.formGroup);\r\n this.formGroup.patchValue(newvm);\r\n if (\r\n this.vm.loginTypeEnum === LoginTypeEnum.SSO \r\n || this.vm.loginTypeEnum === LoginTypeEnum.Both\r\n ) { this.showSsoType = true; }\r\n }\r\n\r\n changeLoginType() {\r\n\t\tif (\r\n\t\t\tthis.formGroup.controls.loginTypeEnum.value === LoginTypeEnum.SSO\r\n\t\t\t|| this.formGroup.controls.loginTypeEnum.value === LoginTypeEnum.Both\r\n\t\t) { \r\n\t\t\tthis.showSsoType = true; \r\n\t\t\tthis.formGroup.controls.ssoTypeEnum.patchValue(SSOTypeEnum.MicrosoftEntraAD);\r\n\t\t} else { \r\n\t\t\tthis.formGroup.controls.ssoTypeEnum.patchValue(null);\r\n\t\t\tthis.showSsoType = false; \r\n\t\t}\r\n\t}\r\n\r\n onSave() {\r\n this.httpClient.post(\"api/Administration/Organization/SaveOrganization?fromLogin=true\", this.formGroup.getRawValue())\r\n .subscribe(async (sm: SystemMessage) => {\r\n if (sm.isSuccessful) { \r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n \t\t this.formGroup.patchValue(sm.model);\r\n } else { \r\n this.ms.setSystemMessage(sm.message, sm.messageClass);\r\n\t\t this.formGroup.patchValue(sm.model); \r\n }\r\n }\r\n\t\t);\r\n\t}\r\n\r\n openInfo() { this.infoOpened = true; }\r\n\tcloseInfo() { this.infoOpened = false; }\r\n}\r\n","@if (!infoOpened) {\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n @if (canEdit) {\r\n \r\n } @else { {{ model?.loginType }} }\r\n \r\n \r\n @if (showSsoType === true) {\r\n
\r\n \r\n @if (canEdit) {\r\n \r\n } @else { {{ model?.ssoType }} }\r\n
\r\n }\r\n
\r\n \r\n @if (\r\n showSsoType === true\r\n && canEdit\r\n ) { \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n \r\n \r\n @if (canEdit) {\r\n \r\n }\r\n \r\n
\r\n} @else {\r\n
\r\n
\r\n
\r\n

Single-Sign-On Microsoft Active Directory Entra Setup

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
    \r\n
  1. \r\n On the Entra Admin Center page, go to Applications > Enterprise applications and click ‘+ New application’ at the top of the screen.\r\n
    \r\n \r\n

    \r\n
  2. \r\n
  3. \r\n On the page that pops up, click ‘Create your own application’ and enter a name in the input box that shows up. \r\n Check the radio button ‘integrate any other application you don’t…’\r\n
    \r\n \r\n

    \r\n
  4. \r\n
  5. \r\n Click ‘Single sign-on’ in the side nav of the application created in the last step then click into the button called ‘Saml’\r\n
    \r\n \r\n

    \r\n
  6. \r\n
  7. \r\n Click the edit button in the first card on the page. \r\n Set the entity Id to the URL ‘https://auth.paulconsulting.com/akpQU7kCvy9XvOI10SqipBRyLx’ but change the last \r\n string of letters to a random, unique value. Set the Reply Url to ‘https://emit.fdepcs.com/api/account/SsoRedirect’\r\n
    \r\n \r\n

    \r\n \r\n

    \r\n \r\n

    \r\n
  8. \r\n
  9. \r\n Set the Logout URL at the bottom of the edit page to ‘https://emit.fdepcs.com/login’ and then click save\r\n
    \r\n \r\n

    \r\n
  10. \r\n
  11. \r\n Go to ‘Users and groups’ in the side. Click ‘Add user/group’ and add users that will be allowed to login\r\n
    \r\n \r\n

    \r\n
  12. \r\n
  13. \r\n Copy the Entity Id and the Login Url and add them to your organization details.\r\n
    \r\n \r\n

    \r\n \r\n

    \r\n \r\n

    \r\n
  14. \r\n
\r\n
\r\n
\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, inject, Input, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { Validators } from \"@angular/forms\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { faBuilding, faHouseMedical } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport { PcgSelectComponent } from \"app/shared/form-elements/components/pcg-select-component/select.component\";\r\nimport { UiSwitchComponent } from \"ngx-ui-switch\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\n\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivationEnum } from \"app/core/enums/generated/ActivationEnum\";\r\nimport { BusinessAreaEnum } from \"app/core/enums/generated/BusinessAreaEnum\";\r\nimport { PermissionRole } from \"app/core/enums/generated/PermissionRole\";\r\nimport { SecurityService } from \"app/core/security/security.service\";\r\nimport { SystemMessage } from \"app/core/system-message/system-message-service\";\r\nimport { NotificationService } from 'app/notification.service';\r\nimport { validateForm } from 'app/shared/form-elements/form-validateForm.function';\r\nimport { MedicalDirectorVm } from 'app/shared/generated/Administration/Models/Facilities/MedicalDirectorVm';\r\nimport { EditOrganizationVm } from \"app/shared/generated/Administration/Models/Organizations/EditOrganizationVm\";\r\nimport { GenericFilesVm } from 'app/shared/generated/Models/GenericFilesVm';\r\nimport { FormatHelperService } from \"app/shared/helpers/format-helper.service\";\r\nimport { ActivationService } from \"app/shared/services/activation.service\";\r\n\r\n@Component({\r\n selector: \"pcg-shared-edit-organization\",\r\n templateUrl: \"./edit-organization.component.html\",\r\n styleUrls: [\"./edit-organization.component.scss\"],\r\n standalone: false\r\n})\r\nexport class EditOrganizationComponent implements OnInit {\r\n\t\r\n\t@ViewChild(\"isActive\", { static: false }) isActive: UiSwitchComponent;\r\n\t@ViewChild(\"isSameAddress\", { static: false }) isSameAddress: UiSwitchComponent;\r\n\t@ViewChild(\"isShipAddressValidated\", { static: false }) isShipAddressValidated: UiSwitchComponent;\r\n\t@ViewChild(\"addNewMD\", { static: true }) addNewMD: TemplateRef;\r\n\t@ViewChild(\"select\", { static: false }) select: PcgSelectComponent;\r\n\r\n\t@Input() businessArea: BusinessAreaEnum;\r\n\t\r\n\tmodel$: Observable;\r\n\tformGroup = EditOrganizationVm.Form;\r\n\tmodel = EditOrganizationVm.GetModel(this.formGroup);\r\n\tviewModel = new EditOrganizationVm();\t\r\n\r\n\tcanEdit = false;\r\n\tcanDeactivate = false;\r\n\tcanViewReports = false;\r\n\tcanManualEntry = true;\r\n isBPHP = false;\r\n\tshipAddressDisabled = false;\r\n\tcanAccess = false;\r\n\r\n\tid: number;\r\n\tfacilityIds: number[] = [];\r\n\r\n\torganizationName: string;\r\n\toldShipSmartyAddress: string;\r\n\toldShipOrganizationName: string;\r\n\tapi = \"api/Select/SmartyCounties\";\r\n\r\n\tfaIconName = { faBuilding, faHouseMedical };\r\n\r\n\tnewMD = new MedicalDirectorVm();\t\r\n mdFormGroup = MedicalDirectorVm.Form;\r\n subscriptions = new Subscription();\r\n medicalDirectorFiles: GenericFilesVm[] = [];\r\n\r\n deleteClicked = false;\r\n hasFile = false;\r\n clearFileClick = false;\r\n\r\n\tmodalService = inject(NgbModal);\r\n\r\n bae = BusinessAreaEnum;\r\n pr = PermissionRole;\r\n\t\r\n\tconstructor(\r\n\t\tpublic router: Router\r\n\t\t, public notification: NotificationService\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, private sec: SecurityService\r\n\t\t, private activationService: ActivationService\r\n\t\t, title: Title\r\n\t) { title.setTitle(\"Edit Organization\"); }\r\n\r\n\tngOnInit() {\r\n this.setPermissionBools();\r\n\t\tthis.getOrganization();\r\n\t}\r\n\r\n setPermissionBools() {\r\n this.canAccess = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Admin],\r\n [...SecurityService.setMinRole(PermissionRole.User)]\r\n );\r\n\r\n // Allow edit if they have UserAdmin or Manager and above (exclude users and technicians)\r\n this.canEdit = this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Admin],\r\n [...SecurityService.setMinRole(PermissionRole.UserAdmin)]\r\n );\r\n\r\n\t\tthis.canViewReports = this.sec.hasModuleAccess(\r\n\t\t\t[this.bae.Admin], \r\n\t\t\t[this.pr.UserAdmin, ...SecurityService.setMinRole(this.pr.Manager)]\r\n\t\t);\r\n\r\n if (\r\n\t\t\tFormatHelperService.GetIsNully(this.businessArea) \r\n\t\t\t|| this.businessArea === this.bae.Admin\r\n\t\t) {\r\n\t\t\tif (this.sec.hasModuleAccess([this.bae.Admin], [...SecurityService.setMinRole(this.pr.SystemAdmin)])) {\r\n\t\t\t\tthis.canEdit = true;\r\n\t\t\t\tthis.canDeactivate = true;\r\n\t\t\t}\r\n\t\t} \r\n }\r\n\r\n\tgetOrganization() {\r\n\t\tthis.route.paramMap.subscribe((map) => {\r\n\t\t\tthis.id = parseInt(map.get(\"id\"), 10);\r\n\t\t\tthis.model$ = this.httpClient.get(`api/Administration/Organization/GetOrganization/${this.id}`)\r\n\t\t\t\t.pipe(tap((vm: EditOrganizationVm) => {\r\n\t\t\t\t\tif (vm.countyId === 0) { vm.countyId = null; } \r\n\t\t\t\t\t// preventing a blank selection on load\r\n\t\t\t\t\tthis.formGroup.setValue(vm);\r\n\t\t\t\t\tthis.model = EditOrganizationVm.GetModel(this.formGroup);\r\n\t\t\t\t\tthis.viewModel = vm;\r\n\t\t\t\t\tthis.organizationName = vm.organizationName;\r\n\t\t\t\t\tthis.oldShipOrganizationName = this.model.shipOrganizationName;\r\n\t\t\t\t\tthis.oldShipSmartyAddress = this.model.shipSmartyAddress;\r\n\t\t\t\t\tthis.toggleShippingFormActivation(!this.model.isSameAddress);\r\n\t\t\t\t\tthis.facilityIds = vm.facilityIds;\r\n this.setBPHP();\r\n // Disable form group if user does not have edit permissions\r\n if(!this.canEdit) { this.formGroup.disable(); }\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n setBPHP () { \r\n let canSetBPHP = this.sec.getUser().email.includes('@paulconsulting.com') && this.sec.hasModuleAccess(\r\n [BusinessAreaEnum.Admin], \r\n [PermissionRole.SystemAdmin]\r\n );\r\n this.isBPHP = this.formGroup.controls.isBPHP.value;\r\n if (!canSetBPHP) this.formGroup.controls.isBPHP?.disable();\r\n \r\n }\r\n\r\n\tactivateDeactivate = () => this.activationService.activateDeactivate(\r\n\t\tthis.id\r\n\t\t, ActivationEnum.Organization\r\n\t\t, this.formGroup.value.isActive ? false : true\r\n\t);\r\n\r\n\tupdateShippingInfo() {\r\n\t\tthis.formGroup.controls.countyName.patchValue(this.formGroup.controls.smartyAddress.value.countyName);\r\n\t\tif (this.isSameAddress.checked) {\r\n\t\t\tthis.formGroup.get(\"shipOrganizationName\").patchValue(this.formGroup.value.organizationName);\r\n\t\t\tthis.formGroup.get(\"shipSmartyAddress\").patchValue(this.formGroup.value.smartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(false);\r\n\t\t} else {\r\n\t\t\tthis.formGroup.get(\"shipOrganizationName\").patchValue(this.oldShipOrganizationName);\r\n\t\t\tthis.formGroup.get(\"shipSmartyAddress\").patchValue(this.oldShipSmartyAddress);\r\n\t\t\tthis.toggleShippingFormActivation(true);\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleShippingFormActivation(isActive: Boolean) {\r\n\t\tif (isActive) {\r\n\t\t\tthis.enableShipOrganizationName();\r\n\t\t\tthis.shipAddressDisabled = false;\r\n\t\t} else {\r\n\t\t\tthis.disableShipOrganizationName();\r\n\t\t\tthis.shipAddressDisabled = true;\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateCountyId() {\r\n\t\tif (this.formGroup?.value?.countyId === 0) {\r\n\t\t\tthis.formGroup?.controls?.countyId?.patchValue(null);\r\n\t\t\tthis.model = EditOrganizationVm.GetModel(this.formGroup);\r\n\t\t}\r\n\t\tthis.formGroup.updateValueAndValidity();\r\n\t}\r\n\r\n\tsubmitForms() {\r\n\t\tif (!this.formGroup.valid) {\r\n\t\t\tvalidateForm(this.formGroup);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tlet disabled = this.hasDisabledShipOrganizationName();\r\n\t\t// As a result of moving this to a .ts POST method, disabled values\r\n\t\t// won't go through within the request body.\r\n\t\tif (this.hasDisabledShipOrganizationName) { this.enableShipOrganizationName(); }\r\n\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Administration/Organization/SaveOrganization`,\r\n\t\t\tthis.formGroup.value\r\n\t\t).subscribe((sm: SystemMessage) => {\r\n\t\t\t// Re-disable property after POST request.\r\n\t\t\tif (disabled) { this.disableShipOrganizationName(); }\r\n\t\t\tif (sm.isSuccessful) { this.onMessageSuccess(sm); } \r\n\t\t\telse { this.onMessageError(sm); }\r\n\t\t});\r\n\t}\r\n\r\n\treroute(sm: SystemMessage) {\r\n\t\tif (\r\n\t\t\tthis.businessArea === BusinessAreaEnum.Admin \r\n\t\t\t|| FormatHelperService.GetIsNully(this.businessArea) \r\n\t\t\t|| Number.isNaN(this.businessArea)\r\n\t\t) {\r\n\t\t\tthis.router.navigate([`/admin/organizations/orgs/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.CI) {\r\n\t\t\tthis.router.navigate([`/ci-repack/facilities/edit/${sm.value}`]);\r\n\t\t} else if (this.businessArea === BusinessAreaEnum.MetabolicFormula) {\r\n\t\t\tthis.router.navigate([`/metabolic-formula/facilities/edit/${sm.value}`]);\r\n\t\t}\r\n\t}\r\n\r\n\tenableShipOrganizationName() {\r\n\t\tthis.formGroup.get(\"shipOrganizationName\").enable();\r\n\t\tthis.formGroup.get(\"shipSmartyAddress\").enable();\r\n\t}\r\n\r\n\tdisableShipOrganizationName() {\r\n\t\tthis.formGroup.get(\"shipOrganizationName\").disable();\r\n\t\tthis.formGroup.get(\"shipSmartyAddress\").disable();\r\n\t}\r\n\r\n\tmedDirectorChange(select: PcgSelectComponent) {\r\n\t\tif (select.value) {\r\n\t\t\tthis.model.medicalDirectorLicense = select.additionalData?.licenseNumber;\r\n\t\t\tthis.model.medicalDirectorExpDate = select.additionalData?.expirationDate;\r\n\t\t} else {\r\n\t\t\tthis.model.medicalDirectorLicense = \"\";\r\n\t\t\tthis.model.medicalDirectorExpDate = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tonSingleFacilityChange() {\r\n\t\tif (this.model.isSingleFacility) {\r\n\t\t\tthis.formGroup.controls.facilityIdentifier.addValidators([Validators.required]);\r\n\t\t} else {\r\n\t\t\tthis.formGroup.controls.facilityIdentifier.removeValidators([Validators.required]);\r\n\t\t}\r\n\t\tthis.formGroup.controls.facilityIdentifier.updateValueAndValidity();\r\n\t}\r\n\r\n\tsetSysMessage = (sm: SystemMessage) => this.notification.showMessage(sm.message, sm.messageClass);\t\r\n\thasDisabledShipOrganizationName = () => this.formGroup.get(\"shipOrganizationName\").disabled;\t\r\n\tgoBack = () => window.history.back();\r\n\r\n\tonMessageSuccess(sm: SystemMessage) {\r\n\t\tthis.setSysMessage(sm);\r\n\t\tthis.formGroup.setValue(sm.model);\r\n\t\tthis.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => { this.reroute(sm); });\r\n\t}\r\n\r\n\tonMessageError(sm: SystemMessage) {\r\n\t\tthis.setSysMessage(sm);\r\n\t\tthis.formGroup.patchValue(sm.model);\r\n\t}\r\n\r\n\taddMedicalDirector(name) {\r\n\t\tthis.newMD.fullName = FormatHelperService.ToTitleCase(name).trim();\r\n\t\tthis.newMD.medicalDirectorId = 0;\r\n this.mdFormGroup.patchValue(this.newMD); \r\n\t\tthis.mdFormGroup.updateValueAndValidity();\r\n this.medicalDirectorFiles = this.newMD?.medicalDirectorFiles;\r\n if (!FormatHelperService.GetIsNullyOrWhitespace(this.mdFormGroup.controls.licenseFileName.value)) { this.hasFile = true; }\r\n else { this.hasFile = false; }\r\n\t\tthis.modalService.open(this.addNewMD, { animation: false });\r\n\t\treturn false;\r\n\t}\r\n\r\n\tsaveNewMedicalDirector() {\r\n if (validateForm(this.mdFormGroup)) { \r\n if (this.canEdit === true) {\r\n this.subscriptions.add(this.notification.getHttpObservable(`api/Administration/MedicalDirector/Save${this.id == 0 ? \"\" : \"/\" + this.id }`, this.mdFormGroup)\r\n .subscribe(msg => {\r\n if (msg.isSuccessful) { \r\n\t\t\t\t\t\t this.formGroup.controls.medicalDirectorId.patchValue(msg.value);\r\n\t\t\t\t\t\t this.select.getData();\r\n\t\t\t\t\t\t if (this.id == 0) this.submitForms(); // need to look into saving this in the first backend hit.\r\n this.modalService.dismissAll();\r\n }\r\n }));\r\n }\r\n } \r\n return false; \r\n }\r\n}\r\n","@if (canAccess) {\r\n\r\n \r\n \r\n @if (model$ | async) {\r\n
\r\n \r\n \r\n \r\n
\r\n @if(!canEdit) {\r\n \r\n } \r\n
\r\n @if (model.facilityId === 0) {\r\n In order to create a Organization you will need to enter the following\r\n information.\r\n }\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n @if (canDeactivate) {\r\n
\r\n
\r\n

\r\n This Organization is deactivated.\r\n

\r\n @if (\r\n canEdit\r\n && model.organizationId !== 0\r\n ) {\r\n {{ model.isActive ? 'Deactivate' : 'Reactivate'\r\n }}\r\n }\r\n \r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{ model?.medicalDirectorLicense }}\r\n
\r\n\r\n
\r\n \r\n {{ model?.medicalDirectorExpDate }}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{ this.formGroup?.controls?.countyName?.value }}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n {{\r\n this.formGroup?.controls?.shipOrganizationName?.value }}\r\n \r\n\r\n \r\n \r\n {{\r\n this.formGroup?.controls?.shipSmartyAddress?.value?.formattedAddress\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n \r\n Single Facility\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n @if (canEdit) {\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n @if (\r\n id !== 0\r\n && (model$ | async)\r\n ) {\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (\r\n id !== 0\r\n && canViewReports\r\n ) {\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n
\r\n}\r\n\r\n\r\n\r\n
\r\n
Add Medical Director
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { TableModule } from \"app/shared/table/table.module\";\r\n\r\n@NgModule({\r\n declarations: []\r\n , imports: [\r\n CommonModule\r\n , TableModule\r\n ]\r\n , exports: []\r\n})\r\nexport class EditOrganizationsModule {}","import { trigger, state, style, animate, transition, query, stagger } from '@angular/animations';\r\n\r\n/**\r\n * Notes on animations:\r\n * \t\tA trigger is the parent container of any angular animation. Triggers are assigned to elements in the template like this: [@triggerName]\r\n *\r\n * \t\tDifferent states are defined with the state functions. First argument is the name of the state, and the second argument is a style function\r\n * \t\tStyle function just contains an object with properties similar to css property names, except in camelCase. e.g. line-height css property becomes lineHeight object property\r\n *\r\n * \t\tTransitions take two arguments, a descriptor of which state is being transferred to/from with an arrow in between, and an animate function.\r\n * \t\tThe animate function sets the time it takes for the animation to complete and what type of curve is used.\r\n *\r\n * \t\tThe state of the trigger can be set with an expression in the template, e.g.
\r\n */\r\n\r\nexport const detailExpand = trigger('detailExpand', [\r\n\tstate(\r\n\t\t'collapsed',\r\n\t\tstyle({ height: '0px', opacity: 0, lineHeight: '0em', padding: '0rem .75rem', border: '0px solid #dee2e6' })\r\n\t),\r\n\tstate('expanded', style({ height: '*', lineHeight: '2em', padding: '0.6rem .75rem', border: '1px solid #dee2e6' })),\r\n\ttransition('expanded <=> collapsed', animate('180ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n]);\r\n\r\nexport const tableEntry = trigger('tableEntry', [\r\n\ttransition(':enter', [\r\n\t\tstyle({ height: '0px', opacity: 0, lineHeight: '0em', padding: '0rem .75rem', border: '0px solid #dee2e6' }),\r\n\t\tanimate(\r\n\t\t\t'180ms cubic-bezier(0.4, 0.0, 0.2, 1)',\r\n\t\t\tstyle({ height: '*', lineHeight: '2em', padding: '0.6rem .75rem', border: '1px solid #dee2e6' })\r\n\t\t),\r\n\t]),\r\n\ttransition(':leave', [\r\n\t\tstyle({ height: '*', lineHeight: '2em', padding: '0.6rem .75rem', border: '1px solid #dee2e6' }),\r\n\t\tanimate(\r\n\t\t\t'180ms cubic-bezier(0.4, 0.0, 0.2, 1)',\r\n\t\t\tstyle({ height: '0px', opacity: 0, lineHeight: '0em', padding: '0rem .75rem', border: '0px solid #dee2e6' })\r\n\t\t),\r\n\t]),\r\n]);\r\n\r\nexport const notificationSlide = trigger('notificationSlide', [\r\n transition(':enter', [\r\n style({\r\n transform: 'translateX({{direction}})',\r\n opacity: 0,\r\n top: '*',\r\n bottom: '*'\r\n }),\r\n animate('300ms ease-in', style({ transform: 'translateX(0)', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({\r\n transform: 'translateX(0)',\r\n opacity: 0.5\r\n }),\r\n animate('300ms ease-in', style({ transform: 'translateX({{direction}})', opacity: 0 }))\r\n ]),\r\n transition('* => *', [\r\n animate('300ms ease-in', style({ top: '*', bottom: '*' }))\r\n ])\r\n])\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/interfaces/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class OrganizationListVm {\r\n\torganizationId: number;\r\n\torganizationName?: string;\r\n\taddress?: string;\r\n\tcity?: string;\r\n\tstate?: string;\r\n\tzip?: string;\r\n\tcounty?: string;\r\n\tcountyId?: number;\r\n\tisActive?: string;\r\n\tcanDelete?: boolean;\r\n\tisParent?: boolean;\r\n\torgCount: number;\r\n\tfacilityCount: number;\r\n\tisBPHP: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'organizationId': new UntypedFormControl(0, [...(validators['organizationId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'organizationName': new UntypedFormControl(null, [...(validators['organizationName'] ?? []), ...[]]),\r\n\t\t\t'address': new UntypedFormControl(null, [...(validators['address'] ?? []), ...[]]),\r\n\t\t\t'city': new UntypedFormControl(null, [...(validators['city'] ?? []), ...[]]),\r\n\t\t\t'state': new UntypedFormControl(null, [...(validators['state'] ?? []), ...[]]),\r\n\t\t\t'zip': new UntypedFormControl(null, [...(validators['zip'] ?? []), ...[]]),\r\n\t\t\t'county': new UntypedFormControl(null, [...(validators['county'] ?? []), ...[]]),\r\n\t\t\t'countyId': new UntypedFormControl(null, [...(validators['countyId'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(null, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'canDelete': new UntypedFormControl(null, [...(validators['canDelete'] ?? []), ...[]]),\r\n\t\t\t'isParent': new UntypedFormControl(null, [...(validators['isParent'] ?? []), ...[]]),\r\n\t\t\t'orgCount': new UntypedFormControl(0, [...(validators['orgCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'facilityCount': new UntypedFormControl(0, [...(validators['facilityCount'] ?? []), ...[Validators.required]]),\r\n\t\t\t'isBPHP': new UntypedFormControl(false, [...(validators['isBPHP'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['organizationName', {\"orderId\":0,\"sortColumn\":\"organizationName\",\"searchColumn\":\"organizationName\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Organization\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['address', {\"orderId\":1,\"sortColumn\":\"address\",\"searchColumn\":\"address\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Address\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['city', {\"orderId\":2,\"sortColumn\":\"city\",\"searchColumn\":\"city\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"City\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['county', {\"orderId\":3,\"sortColumn\":\"county\",\"searchColumn\":\"county\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"County\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['isActive', {\"orderId\":4,\"sortColumn\":\"isActive\",\"searchColumn\":\"isActive\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Is Active?\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['facilityCount', {\"orderId\":5,\"sortColumn\":\"facilityCount\",\"searchColumn\":\"facilityCount\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Facilities\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}],\r\n\t\t\t['canDelete', {\"orderId\":6,\"sortColumn\":\"canDelete\",\"searchColumn\":\"canDelete\",\"includeInExcel\":true,\"exportColumns\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"isSum\":false,\"multiSearchCellClasses\":null,\"requiresFullAccess\":false,\"cellClass\":null,\"cellTransform\":null,\"cellNavigationColumn\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): OrganizationListVmFromFg {\r\n\t\treturn new OrganizationListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class OrganizationListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget organizationId(): number {\r\n\t\treturn this.fg.get('organizationId').value;\r\n\t}\r\n\tset organizationId(val) {\r\n\t\tthis.fg.get('organizationId').setValue(val);\r\n\t}\r\n\r\n\tget organizationName(): string {\r\n\t\treturn this.fg.get('organizationName').value;\r\n\t}\r\n\tset organizationName(val) {\r\n\t\tthis.fg.get('organizationName').setValue(val);\r\n\t}\r\n\r\n\tget address(): string {\r\n\t\treturn this.fg.get('address').value;\r\n\t}\r\n\tset address(val) {\r\n\t\tthis.fg.get('address').setValue(val);\r\n\t}\r\n\r\n\tget city(): string {\r\n\t\treturn this.fg.get('city').value;\r\n\t}\r\n\tset city(val) {\r\n\t\tthis.fg.get('city').setValue(val);\r\n\t}\r\n\r\n\tget state(): string {\r\n\t\treturn this.fg.get('state').value;\r\n\t}\r\n\tset state(val) {\r\n\t\tthis.fg.get('state').setValue(val);\r\n\t}\r\n\r\n\tget zip(): string {\r\n\t\treturn this.fg.get('zip').value;\r\n\t}\r\n\tset zip(val) {\r\n\t\tthis.fg.get('zip').setValue(val);\r\n\t}\r\n\r\n\tget county(): string {\r\n\t\treturn this.fg.get('county').value;\r\n\t}\r\n\tset county(val) {\r\n\t\tthis.fg.get('county').setValue(val);\r\n\t}\r\n\r\n\tget countyId(): number {\r\n\t\treturn this.fg.get('countyId').value;\r\n\t}\r\n\tset countyId(val) {\r\n\t\tthis.fg.get('countyId').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): string {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget canDelete(): boolean {\r\n\t\treturn this.fg.get('canDelete').value;\r\n\t}\r\n\tset canDelete(val) {\r\n\t\tthis.fg.get('canDelete').setValue(val);\r\n\t}\r\n\r\n\tget isParent(): boolean {\r\n\t\treturn this.fg.get('isParent').value;\r\n\t}\r\n\tset isParent(val) {\r\n\t\tthis.fg.get('isParent').setValue(val);\r\n\t}\r\n\r\n\tget orgCount(): number {\r\n\t\treturn this.fg.get('orgCount').value;\r\n\t}\r\n\tset orgCount(val) {\r\n\t\tthis.fg.get('orgCount').setValue(val);\r\n\t}\r\n\r\n\tget facilityCount(): number {\r\n\t\treturn this.fg.get('facilityCount').value;\r\n\t}\r\n\tset facilityCount(val) {\r\n\t\tthis.fg.get('facilityCount').setValue(val);\r\n\t}\r\n\r\n\tget isBPHP(): boolean {\r\n\t\treturn this.fg.get('isBPHP').value;\r\n\t}\r\n\tset isBPHP(val) {\r\n\t\tthis.fg.get('isBPHP').setValue(val);\r\n\t}\r\n}\r\n","// tslint:disable: quotemark\r\n// eslint-disable-next-line no-shadow\r\nexport enum CollapsibleTableRowStateEnum {\r\n\tExpanded = 'expanded',\r\n\tCollapsed = 'collapsed'\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CollapsibleTableRowStateEnum } from 'app/core/enums/CollapsibleTableRowStateEnum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CollapsibleTableService {\r\n //Current set of expanded rows\r\n\texpandedRows = new Set();\r\n\r\n\tconstructor() {}\t\r\n\r\n\t/**\r\n\t * Toggle a row expanded or collapsed; the opposite of what it is currently;\r\n\t *\r\n\t * @param row the row to toggle\r\n\t */\r\n\ttoggleRow(row: number) {\r\n\t\tif (this.expandedOrCollapsed(row) === CollapsibleTableRowStateEnum.Expanded) {\r\n\t\t\tthis.setCollapsed(row);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setExpanded(row);\r\n\t}\r\n\r\n\t/**\r\n\t * Expand a row\r\n\t *\r\n\t * @param row the row that we would like to expand\r\n\t */\r\n\tsetExpanded(row: number) {\r\n\t\tthis.expandedRows.add(row);\r\n\t}\r\n\r\n\t/**\r\n\t * Collapse a row\r\n\t *\r\n\t * @param row the row to collapse\r\n\t */\r\n\tsetCollapsed(row: number) {\r\n\t\tthis.expandedRows.delete(row);\r\n\t}\r\n\r\n\t/**\r\n\t * Toggles expanding of all rows at once\r\n\t *\r\n\t * @param length The length of the current number of rows\r\n\t */\r\n\ttoggleAllRows(length: number) {\r\n\t\tif (this.expandedRows.size > 0) {\r\n\t\t\tthis.expandedRows.clear();\r\n\t\t} else {\r\n\t\t\tthis.expandedRows = new Set([...Array(length).keys()]);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Collapses all rows at once\r\n\t */\r\n\tcollapseAllRows() {\r\n\t\tif (this.expandedRows.size > 0) {\r\n\t\t\tthis.expandedRows.clear();\r\n\t\t} \r\n\t}\r\n\r\n\t/**\r\n\t * Function to use in the template to determine of if a row should be expanded or collapsed\r\n\t *\r\n\t * @param row the row that we would like to see if its expanded or collapsed\r\n\t */\r\n\texpandedOrCollapsed(row: number) {\r\n\t\tif (this.expandedRows.has(row)) {\r\n\t\t\treturn CollapsibleTableRowStateEnum.Expanded;\r\n\t\t}\r\n\t\treturn CollapsibleTableRowStateEnum.Collapsed;\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { BusinessAreaEnum } from 'app/core/enums/generated/BusinessAreaEnum';\r\nimport { CollapsibleTableService } from 'app/core/collapsible-table/collapsible-table.service';\r\nimport { PermissionRole } from 'app/core/enums/generated/PermissionRole';\r\nimport { SecurityService } from 'app/core/security/security.service';\r\nimport { detailExpand } from 'app/shared/animations/shared-animations';\r\nimport { OrganizationListVm } from 'app/shared/generated/Administration/Models/Organizations/OrganizationListVm';\r\nimport { FormatHelperService } from 'app/shared/helpers/format-helper.service';\r\nimport { PcgTableResult } from \"app/shared/table/interfaces/pcg-table-result.interface\";\r\nimport { ButtonFilterService } from 'app/shared/table/table-top/button-filter/button-filter.service';\r\nimport { TableComponent } from 'app/shared/table/table.component';\r\n\r\n@Component({\r\n selector: 'pcg-shared-organization-list',\r\n templateUrl: './organizations-list.component.html',\r\n styleUrls: ['./organizations-list.component.scss'],\r\n animations: [detailExpand],\r\n standalone: false\r\n})\r\nexport class OrganizationsListComponent implements OnInit {\r\n\r\n @ViewChild(TableComponent, { static: false}) table: TableComponent;\r\n\r\n @Input() businessArea: BusinessAreaEnum = BusinessAreaEnum.Admin;\r\n @Input() header: string;\r\n @Input() filterMap = {\r\n\t\t\"isActive\": \"Is Active\"\r\n , \"medicalDirectorId\": \"Medical Director\"\r\n , \"facilityId\": \"Facility\"\r\n , \"isBPHP\": \"Is BPHP\"\r\n\t};\r\n @Input() groupByCounty = false;\r\n @Input() showByCounty = false;\r\n\r\n filters = {\r\n isActive: true\r\n , medicalDirectorId: null\r\n , facilityId: null\r\n , isBPHP: null\r\n };\r\n\r\n initFilters = {\r\n isActive: true\r\n , medicalDirectorId: null\r\n , facilityId: null\r\n , isBPHP: null\r\n };\r\n baseEditRoles = [ \r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ];\r\n\r\n hasOrgs = true;\r\n tableReceiveCount = 0;\r\n canAdd = false;\r\n canDelete = false;\r\n hasData = false;\r\n columns = OrganizationListVm.ColumnDefs;\r\n orgList: OrganizationListVm[] = [];\r\n\r\n constructor(\r\n private formatHelper: FormatHelperService\r\n , public btnFilterService: ButtonFilterService\r\n , public security: SecurityService\r\n , public router: Router\r\n , private httpClient: HttpClient\r\n , public collapsibleTableService: CollapsibleTableService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.canAdd = this.security.hasModuleAccess(\r\n [\r\n BusinessAreaEnum.Admin\r\n , BusinessAreaEnum.CI\r\n , BusinessAreaEnum.MetabolicFormula\r\n ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n this.canDelete = this.security.hasModuleAccess(\r\n [ this.businessArea ]\r\n , [ PermissionRole.SystemAdmin ]\r\n );\r\n this.btnFilterService.resetFilterData.subscribe(() => { this.resetFilters(); });\r\n\r\n if (\r\n this.showByCounty \r\n && this.groupByCounty\r\n ) { this.getGroupedByCountyList(); }\r\n }\r\n\r\n getGroupedByCountyList() {\r\n this.groupByCounty = !this.groupByCounty;\r\n if (this.groupByCounty === true) {\r\n this.httpClient.get(`api/Administration/Organization/GetOrganizationList` \r\n + `?isActive=${this.filters.isActive}`\r\n + `&facilityId=${this.filters.facilityId}`\r\n + `&medicalDirectorId=${this.filters.medicalDirectorId}`\r\n ).subscribe((lst: OrganizationListVm[]) => { this.orgList = lst; });\r\n }\r\n }\r\n\r\n resetFilters() {\r\n\t\tthis.filters = Object.assign(this.filters, this.initFilters);\r\n\t\tthis.reloadTable();\r\n\t}\r\n\r\n tableCallback = (tableResult: PcgTableResult) => {\r\n // Only set hasOrgs on page load. Ignore repeat ajaxReloads\r\n if (\r\n tableResult.recordsTotal === 0 \r\n && this.tableReceiveCount < 1\r\n ) { this.hasOrgs = false; }\r\n this.tableReceiveCount++;\r\n }\r\n\r\n canEditOrganization = (): boolean => this.security.hasModuleAccess(\r\n [ this.businessArea ]\r\n , [\r\n PermissionRole.UserAdmin\r\n , ...SecurityService.setMinRole(PermissionRole.Manager)\r\n ]\r\n ) \r\n || this.security.hasModuleAccess(\r\n [ BusinessAreaEnum.Admin ]\r\n , [ ...SecurityService.setMinRole(PermissionRole.User) ]\r\n );\r\n\r\n editOrganizationLink(): string {\r\n switch(this.businessArea) {\r\n case BusinessAreaEnum.CI: return '/ci-repack/organizations/edit/';\r\n case BusinessAreaEnum.MetabolicFormula: return '/metabolic-formula/organizations/edit/';\r\n default: return '/admin/organizations/orgs/edit/';\r\n }\r\n }\r\n \r\n navigateToNewOrganization(): void { this.router.navigateByUrl(`admin/organizations/orgs/edit/0`); }\r\n\r\n reloadTable() {\r\n\t this.table.hideShowColumn('isActive', this.formatHelper.GetIsNully(this.filters.isActive));\r\n this.table.ajaxReload();\r\n }\r\n\r\n filterParents() { \r\n\t\tconst lst = this.orgList.filter(o => o.isParent === true); \r\n\t\tif (lst.length > 0) { this.hasData = true; }\r\n\t\treturn lst; \r\n\t}\r\n\r\n filterChildren(row: OrganizationListVm) {\r\n return this.orgList.filter(o => \r\n o.isParent === false \r\n && o.countyId === row.countyId \r\n ); \r\n }\r\n}\r\n","@if (!hasOrgs) {\r\n\t
\r\n\t\tIn order to see this list you must be associated to at least one Organization.\r\n\t\tPlease contact an administrator for assistance.\r\n\t
\r\n}\r\n\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\tOrganization View\r\n\t\t\t\tCounty View\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t@if (groupByCounty) {\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\t\t\t
{{ collapsibleTableService.expandedRows.size > 0 ? '-' : '+' }}
\r\n\t\t\t\t\t\t
OrganizationsCountyAddressFacilities
\r\n\t\t\t\t\t\t\t\t
{{ collapsibleTableService.expandedOrCollapsed(i) === 'expanded' ? '-' : '+' }}
\r\n\t\t\t\t\t\t\t
{{ row.orgCount }}{{ row.county }}{{ row.facilityCount }}
\r\n\t\t\t\t\t\t\t\t\t{{ rowchild.organizationName }}\r\n\t\t\t\t\t\t\t\t{{ rowchild.address }}, {{ rowchild.city }}, {{ rowchild.state }} {{ rowchild.zip }}{{ rowchild.facilityCount }}
\r\n\t\t
\r\n\t} @else {\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYes\r\n\t\t\t\t\t\t\t\tNo\r\n\t\t\t\t\t\t\t\tAll\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYes\r\n\t\t\t\t\t\t\t\tNo\r\n\t\t\t\t\t\t\t\tAll\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('organizationName').displayName }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ row.organizationName }}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('address').displayName }}\r\n\t\t\t\t\t{{ row.address }}, {{ row.city }}, {{ row.state }} {{ row.zip }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('city').displayName }}\r\n\t\t\t\t\t{{ row.city }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('county').displayName }}\r\n\t\t\t\t\t{{ row.county }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('isActive').displayName }}\r\n\t\t\t\t\t{{ row.isActive }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{{ columns.get('facilityCount').displayName }}\r\n\t\t\t\t\t{{ row.facilityCount }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tDelete\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t@if (\r\n\t\t\t\t\t\t\tcanDelete \r\n\t\t\t\t\t\t\t&& row.canDelete\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t
\r\n\t}\t\r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe',\r\n standalone: false\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n transform(url) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'utcToLocal',\r\n standalone: false\r\n})\r\nexport class UtcToLocalPipe implements PipeTransform {\r\n transform(utcTimeString: string): Date {\r\n if (!utcTimeString) { return null }\r\n const utcDate = new Date(utcTimeString);\r\n const millisecondsPerMinute = 60000;\r\n const minutes = utcDate.getTimezoneOffset()\r\n // Local DT is determined by the UTC date minus the offset by timezone.\r\n const localDateTime = new Date(utcDate.getTime() - (minutes * millisecondsPerMinute)) \r\n return localDateTime;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/naming-convention */\r\n/* eslint-disable no-underscore-dangle */\r\nimport { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { CdkStepper, StepContentPositionState } from '@angular/cdk/stepper';\r\nimport { AfterContentInit, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'pcg-stepper',\r\n templateUrl: './stepper.component.html',\r\n styleUrls: ['./stepper.component.scss'],\r\n providers: [{ provide: CdkStepper, useExisting: StepperComponent }],\r\n animations: [\r\n trigger('stepTransition', [\r\n state('previous', style({ opacity: 0 })),\r\n state('current', style({ opacity: 1 })),\r\n state('next', style({ opacity: 0 })),\r\n transition('* => *', animate('500ms ease-out')),\r\n ]),\r\n ],\r\n standalone: false\r\n})\r\nexport class StepperComponent extends CdkStepper implements AfterContentInit {\r\n\t/** If true, non-visible step content will be removed from DOM. Otherwise it will just be hidden. */\r\n\t@Input() destroyOnHide = false;\r\n\r\n\t@Input() canMoveForward: (index: number) => boolean;\r\n\r\n\t@Input() isChild: boolean;\r\n\r\n\t@Input() parentStep: number;\r\n\r\n\t/** Disable specific steps from being clicked by the user*/\r\n\t@Input() disableSpecificStepClicks: number[] = [];\r\n\r\n\t/** Event emitted when step swapping animation is complete. */\r\n\t@Output() readonly animationDone: EventEmitter = new EventEmitter();\r\n\r\n\t/** Emits the new step number on step change. */\r\n\t@Output() current: EventEmitter = new EventEmitter();\r\n\r\n\t/** Emits the new step number only on manual click of step. */\r\n\t@Output() stepperNumberManuallyClicked: EventEmitter = new EventEmitter();\r\n\r\n\t/** Maintain a getter list of what the display attribute should be for each step\r\n\t * Should be block for current step, hidden for everything else **/\r\n\tget stepDisplay() {\r\n\t\treturn Array.apply(null, new Array(this._steps.length)).map((o, i) =>\r\n\t\t\ti === this.selectedIndex ? 'block' : 'none'\r\n\t\t);\r\n\t}\r\n\r\n\t/** Keep track of the previous step */\r\n\tlastIndex: number;\r\n\tcurrentStep = 0;\r\n\tget selectedIndex() {\r\n\t\tif (this.currentStep < super.selectedIndex) {\r\n\t\t\tthis.currentStep = super.selectedIndex\r\n\t\t}\r\n\t\treturn super.selectedIndex;\r\n\t}\r\n\tset selectedIndex(index: number) {\r\n\t\tif (!this.canMoveForward || this.canMoveForward(index)) {\r\n\t\t\tthis.lastIndex = this.selectedIndex;\r\n\t\t\tsuper.selectedIndex = index;\r\n\t\t}\r\n\t}\r\n\r\n\t_animationDone = new Subject();\r\n\r\n\t/**\r\n\t * Main function to swap to a new step\r\n\t *\r\n\t * @param index The number of the step being selected\r\n\t */\r\n\tselectStepByIndex(index: number): void {\r\n\t\tthis.selectedIndex = index;\r\n\t\tthis.current.emit(index);\r\n\t}\r\n\r\n\t/**\r\n\t * Called on manual select of step to emit event.\r\n\t *\r\n\t * @param index The number of the step being selected\r\n\t */\r\n\tmanualClick(index: number) {\r\n\t\tif (!this.disableSpecificStepClicks.includes(index)) {\r\n\t\t\tthis.selectStepByIndex(index);\r\n\t\t\tthis.stepperNumberManuallyClicked.emit(index);\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterContentInit() {\r\n\t\tsuper.ngAfterContentInit();\r\n\r\n\t\tthis._steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\r\n\t\t\tthis._stateChanged();\r\n\t\t});\r\n\r\n\t\tthis._animationDone\r\n\t\t\t.pipe(\r\n\t\t\t\t// This needs a `distinctUntilChanged` in order to avoid emitting the same event twice due\r\n\t\t\t\t// to a bug in animations where the `.done` callback gets invoked twice on some browsers.\r\n\t\t\t\t// See https://github.com/angular/angular/issues/24084\r\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\r\n\t\t\t\ttakeUntil(this._destroyed)\r\n\t\t\t)\r\n\t\t\t.subscribe(event => {\r\n\t\t\t\tif ((event.toState as StepContentPositionState) === 'current') {\r\n\t\t\t\t\tthis.animationDone.emit();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t
i - 1) || (i < currentStep || i === currentStep)\" class=\"d-flex\">\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
i - 1 }\">\r\n\t\t\t\t\t{{ parentStep }}.{{ i + 1 }}\r\n\t\t\t\t\t{{ i + 1 }}\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
i - 1) && (i > currentStep)\" class=\"d-flex\">\r\n\t\t\t\t\r\n\t\t\t\t
i - 1 }\">\r\n\t\t\t\t\t{{ parentStep }}.{{ i + 1 }}\r\n\t\t\t\t\t{{ i + 1 }}\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\r\n\t\t
\r\n\t\r\n
\r\n","import { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { StepperComponent } from './stepper.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [ StepperComponent ]\r\n , imports: [\r\n\t\tCommonModule\r\n , FormsModule\r\n , RouterModule\r\n , CdkStepperModule\r\n , FontAwesomeModule\r\n\t]\r\n , exports: [ \r\n StepperComponent\r\n , CdkStepperModule \r\n ]\r\n})\r\nexport class StepperModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'pcg-tooltip-label',\r\n templateUrl: './tooltip-label.component.html',\r\n styleUrls: ['./tooltip-label.component.scss'],\r\n standalone: false\r\n})\r\nexport class TooltipLabelComponent implements OnInit {\r\n\r\n @Input() tooltip: string;\r\n @Input() labelText: string;\r\n @Input() tooltipPlacement: string;\r\n @Input() labelFontSize: string;\r\n\r\n faIconName = { faInfoCircle };\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipComponent } from './tooltip.component';\r\n\r\n@NgModule({\r\n\timports: [ CommonModule ]\r\n , declarations: [ TooltipComponent ]\r\n , exports: [ TooltipComponent ]\r\n})\r\nexport class TooltipModule { \r\n\t\r\n}\r\n","import { CodeEditor } from '@acrodata/code-editor';\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { CdkStepperModule } from \"@angular/cdk/stepper\";\r\nimport { CdkTableModule } from \"@angular/cdk/table\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FontAwesomeModule } from \"@fortawesome/angular-fontawesome\";\r\nimport { NgbDatepickerModule, NgbModalModule, NgbNavModule, NgbTooltipModule, NgbTypeaheadModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { UiSwitchModule } from \"ngx-ui-switch\";\r\n\r\nimport { AuthGuard } from \"app/core/security/auth.guard\";\r\nimport { InvChoiceModalComponent } from \"app/fulfillment/inv-choice-modal/inv-choice-modal.component\";\r\nimport { ShipmentListRxModalComponent } from \"app/fulfillment/shipment-list-rx-modal/shipment-list-rx-modal.component\";\r\nimport { RxCommentsModalComponent } from \"app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/comments-modal/comments-modal.component\";\r\nimport { PatientPhiCardComponent } from \"app/inventory/rx-fulfillment/edit-rx-fulfillment/helpers/patient-phi-card/patient-phi-card.component\";\r\nimport { ShipmentListComponent } from \"app/inventory/rx-fulfillment/shipment-list/shipment-list.component\";\r\nimport { ScanProductComponent } from \"app/shared/scan-product/scan-product.component\";\r\nimport { AuditHistoryComponent } from \"./audit-history/audit-history.component\";\r\nimport { VerificationSettingsComponent } from './authentication/verification-settings/verification-settings.component';\r\nimport { BarcodeScannerStrichComponent } from \"./barcode-scanner-strich/barcode-scanner-strich.component\";\r\nimport { BounceAlertComponent } from \"./bounce-alert/bounce-alert.component\";\r\nimport { CiWorkstationComponent } from \"./ci-workstation/ci-workstation.component\";\r\nimport { SharedCommentsModalComponent } from \"./comments-modal/comments-modal.component\";\r\nimport { ConversationsComponent } from \"./conversations/conversations.component\";\r\nimport { FaCountComponent } from \"./fa-num-icon/fa-count/fa-count.component\";\r\nimport { FaNumIconComponent } from \"./fa-num-icon/fa-num-icon.component\";\r\nimport { EditFacilityComponent } from \"./facilities/edit-facility/edit-facility.component\";\r\nimport { FacilitiesListComponent } from \"./facilities/facilities-list/facilities-list.component\";\r\nimport { FacilityAuditHistoryComponent } from './facilities/facility-audit-history/facility-audit-history.component';\r\nimport { CiBusinessAreaComponent } from \"./facilities/facility-business-areas/ci-business-area/ci-business-area.component\";\r\nimport { FaciltyBusinessAreasComponent } from \"./facilities/facility-business-areas/facilty-business-areas.component\";\r\nimport { InventoryBusinessAreaComponent } from \"./facilities/facility-business-areas/inventory-business-area/inventory-business-area.component\";\r\nimport { MetabolicBusinessAreaComponent } from \"./facilities/facility-business-areas/metabolic-business-area/metabolic-business-area.component\";\r\nimport { FacilityCardinalAccountsComponent } from \"./facilities/facility-cardinal-accounts/facility-cardinal-accounts.component\";\r\nimport { InventoriesModule } from \"./facilities/facility-inventories/inventories.module\";\r\nimport { FacilityUserListComponent } from \"./facilities/facility-user-list/facility-user-list.component\";\r\nimport { FormElementsModule } from \"./form-elements/form-elements.module\";\r\nimport { ImageSliderModule } from \"./image-slider/image-slider.module\";\r\nimport { MaterialsModule } from \"./material.module\";\r\nimport { NavigationModule } from \"./navigation/navigation.module\";\r\nimport { EditOrganizationFacilityComponent } from \"./organizations/edit-organization-facility/edit-organization-facility.component\";\r\nimport { AssociatedUsersComponent } from \"./organizations/edit-organization/edit-organization-tabs/associated-users/associated-users.component\";\r\nimport { EditOrganizationComponent } from \"./organizations/edit-organization/edit-organization.component\";\r\nimport { EditOrganizationsModule } from './organizations/edit-organization/edit-organization.module';\r\nimport { OrgFacilityInventoriesComponent } from \"./organizations/org-facility-inventories/org-facility-inventories.component\";\r\nimport { OrganizationAccountsComponent } from \"./organizations/organization-accounts/organization-accounts.component\";\r\nimport { OrganizationAuditHistoryComponent } from \"./organizations/organization-audit-history/organization-audit-history.component\";\r\nimport { OrganizationFacilityListComponent } from \"./organizations/organization-facility-list/organization-facility-list.component\";\r\nimport { OrganizationLoginsComponent } from \"./organizations/organization-logins/organization-logins.component\";\r\nimport { OrganizationsListComponent } from \"./organizations/organizations-list/organizations-list.component\";\r\nimport { ProgramsAccountsInfographicComponent } from './organizations/programs-accounts-infographic/programs-accounts-infographic.component';\r\nimport { SafePipe } from './pipes/safe.pipe';\r\nimport { UtcToLocalPipe } from \"./pipes/utcToLocalDate.pipe\";\r\nimport { PrimeNgModule } from \"./primeNg.module\";\r\nimport { StepperModule } from \"./stepper/stepper.module\";\r\nimport { TableModule } from \"./table/table.module\";\r\nimport { TooltipLabelComponent } from './tooltip-label/tooltip-label.component';\r\nimport { TooltipModule } from \"./tooltip/tooltip.module\";\r\nimport { PermissionsBannerComponent } from './permissions-banner/permissions-banner.component';\r\n\r\nconst routes = [\r\n\t{\r\n\t\tpath: \"audit-history/:id\"\r\n\t\t, component: AuditHistoryComponent\r\n\t\t, canActivate: [ AuthGuard ]\r\n\t\t, canLoad: [ AuthGuard ]\r\n\t}\r\n\t, {\r\n\t\tpath: \"audit-history/:id/:vmType/:auditName\"\r\n\t\t, component: AuditHistoryComponent\r\n\t\t, canActivate: [ AuthGuard ]\r\n\t\t, canLoad: [ AuthGuard ]\r\n\t}\r\n\t, {\r\n\t\tpath: \"ci-repack/admin/settings/audit-history/:id\"\r\n\t\t, component: AuditHistoryComponent\r\n\t\t, canActivate: [ AuthGuard ]\r\n\t\t, canLoad: [ AuthGuard ]\r\n\t}\r\n\t, {\r\n path: \"ci-repack/admin/boxes/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/label-printers/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/office-printers/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/zebra-printers/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/plates/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/rework-reasons/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"ci-repack/admin/workstations/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"error-report/admin/report-builder/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"error-report/admin/error-types/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"error-report/admin/permission-levels/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/admin/categories/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/admin/priorities/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/admin/statuses/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/admin/template-responses/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/dashboard-settings/upcoming-features/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/dashboard-settings/support-settings/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"support/tickets/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"heros/admin/ordering-options/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"icq/admin/sections/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"icq/admin/issues/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"icq/admin/questions/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n path: \"icq/admin/settings/audit-history/:id\"\r\n , component: AuditHistoryComponent\r\n , canActivate: [ AuthGuard ]\r\n , canLoad: [ AuthGuard ]\r\n }\r\n\t, {\r\n\t\tpath: \"ndcs/fda/audit-history/:id\"\r\n\t\t, component: AuditHistoryComponent\r\n\t\t, canActivate: [ AuthGuard ]\r\n\t\t, canLoad: [ AuthGuard ]\r\n\t}\r\n\t, {\r\n\t\tpath: \"ba/admin/fiscal-years/audit-history/:id\"\r\n\t\t, component: AuditHistoryComponent\r\n\t\t, canActivate: [ AuthGuard ]\r\n\t\t, canLoad: [ AuthGuard ]\r\n\t}\r\n];\r\n\r\n/**\r\n * SharedModule exists to make commonly used components, directives,\r\n * and pipes available for use in the templates of components throughout\r\n * the application.\r\n */\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAuditHistoryComponent\r\n\t\t, BounceAlertComponent\r\n\t\t, RxCommentsModalComponent\r\n\t\t, SharedCommentsModalComponent\r\n\t\t, FaCountComponent\r\n\t\t, FaNumIconComponent\r\n\t\t, InvChoiceModalComponent\r\n\t\t, PatientPhiCardComponent\r\n\t\t, ScanProductComponent\r\n\t\t, ShipmentListComponent\r\n\t\t, ShipmentListRxModalComponent\r\n\t\t, FacilitiesListComponent\r\n\t\t, EditFacilityComponent\r\n\t\t, FacilityCardinalAccountsComponent\r\n\t\t, FacilityAuditHistoryComponent\r\n\t\t, FacilityUserListComponent\r\n\t\t, OrganizationsListComponent\r\n\t\t, EditOrganizationComponent\r\n\t\t, OrganizationFacilityListComponent\r\n\t\t, AssociatedUsersComponent\r\n\t\t, EditOrganizationFacilityComponent\r\n\t\t, OrgFacilityInventoriesComponent\r\n\t\t, OrganizationAuditHistoryComponent\r\n\t\t, OrganizationAccountsComponent\r\n\t\t, OrganizationLoginsComponent\r\n\t\t, SafePipe\r\n\t\t, UtcToLocalPipe\r\n\t\t, CiWorkstationComponent\r\n\t\t, CiBusinessAreaComponent\r\n\t\t, InventoryBusinessAreaComponent\r\n\t\t, MetabolicBusinessAreaComponent\r\n\t\t, ConversationsComponent\r\n\t\t, FaciltyBusinessAreasComponent\t\r\n\t\t, VerificationSettingsComponent\r\n\t\t, BarcodeScannerStrichComponent\r\n\t\t, TooltipLabelComponent\r\n\t\t, ProgramsAccountsInfographicComponent\r\n , PermissionsBannerComponent\r\n\t]\r\n\t, imports: [\r\n\t\tCdkStepperModule\r\n\t\t, CdkTableModule\r\n\t\t, CommonModule\r\n\t\t, FontAwesomeModule\r\n\t\t, FormElementsModule\r\n\t\t, FormsModule\r\n\t\t, MaterialsModule\r\n\t\t, NavigationModule\r\n\t\t, NgbDatepickerModule\r\n\t\t, NgbModalModule\r\n\t\t, NgbNavModule\r\n\t\t, NgbTooltipModule\r\n\t\t, NgbTypeaheadModule\r\n\t\t, NgSelectModule\r\n\t\t, ReactiveFormsModule\r\n\t\t, RouterModule.forChild(routes)\r\n\t\t, StepperModule\r\n\t\t, TableModule\r\n\t\t, TooltipModule\r\n\t\t, UiSwitchModule\r\n\t\t, ImageSliderModule\r\n\t\t, DragDropModule\r\n\t\t// The architecture for these modules are bit\r\n\t\t// messy. We need to be better about breaking groups\r\n\t\t// of components out into their modules.\r\n\t\t, InventoriesModule\r\n\t\t, EditOrganizationsModule\r\n\t\t, CodeEditor\r\n\t\t, PrimeNgModule\r\n\t]\r\n\t, exports: [\r\n\t\tAuditHistoryComponent\r\n\t\t, BounceAlertComponent\r\n\t\t, CdkStepperModule\r\n\t\t, CdkTableModule\r\n\t\t, RxCommentsModalComponent\r\n\t\t, SharedCommentsModalComponent\r\n\t\t, CommonModule\r\n\t\t, FaCountComponent\r\n\t\t, FaNumIconComponent\r\n\t\t, FontAwesomeModule\r\n\t\t, FormElementsModule\r\n\t\t, FormsModule\r\n\t\t, InvChoiceModalComponent\r\n\t\t, MaterialsModule\r\n\t\t, NavigationModule\r\n\t\t, NgbDatepickerModule\r\n\t\t, NgbModalModule\r\n\t\t, NgbNavModule\r\n\t\t, NgbTooltipModule\r\n\t\t, NgbTypeaheadModule\r\n\t\t, NgSelectModule\r\n\t\t, PatientPhiCardComponent\r\n\t\t, ReactiveFormsModule\r\n\t\t, ScanProductComponent\r\n\t\t, ShipmentListComponent\r\n\t\t, ShipmentListRxModalComponent\r\n\t\t, StepperModule\r\n\t\t, TableModule\r\n\t\t, TooltipModule\r\n\t\t, UiSwitchModule\r\n\t\t, FacilitiesListComponent\r\n\t\t, EditFacilityComponent\r\n\t\t, FacilityCardinalAccountsComponent\r\n\t\t, FacilityAuditHistoryComponent\r\n\t\t, FacilityUserListComponent\r\n\t\t, OrganizationsListComponent\r\n\t\t, EditOrganizationComponent\r\n\t\t, OrganizationFacilityListComponent\r\n\t\t, EditOrganizationFacilityComponent\r\n\t\t, OrgFacilityInventoriesComponent\r\n\t\t, OrganizationAuditHistoryComponent\r\n\t\t, OrganizationAccountsComponent\r\n\t\t, OrganizationLoginsComponent\r\n\t\t, SafePipe\r\n\t\t, UtcToLocalPipe\r\n\t\t, CiWorkstationComponent\r\n\t\t, CiBusinessAreaComponent\r\n\t\t, InventoryBusinessAreaComponent\r\n\t\t, MetabolicBusinessAreaComponent\r\n\t\t, ImageSliderModule\r\n\t\t, ConversationsComponent\r\n\t\t, FaciltyBusinessAreasComponent\r\n\t\t, DragDropModule\r\n\t\t, VerificationSettingsComponent\r\n\t\t, BarcodeScannerStrichComponent\r\n\t\t, CodeEditor\r\n\t\t, TooltipLabelComponent\r\n\t\t, PrimeNgModule\r\n , PermissionsBannerComponent\r\n\t]\r\n})\r\nexport class SharedModule {}\r\n"],"mappings":"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","names":["toggleComment","target","state","line","config","getConfig","toggleLineComment","toggleBlockCommentByLine","command","f","option","dispatch","tr","changeLineComment","toggleBlockComment","command","changeBlockComment","toggleBlockCommentByLine","command","o","s","changeBlockComment","selectedLineRanges","getConfig","state","pos","data","SearchMargin","findBlockComment","open","close","from","to","textBefore","textAfter","spaceBefore","spaceAfter","beforeOff","startText","endText","startSpace","endSpace","endOff","ranges","r","fromLine","toLine","last","option","tokens","c","comments","i","range","changes","comment","token","changeLineComment","lines","prevLine","startI","minIndent","line","indent","empty","l","single","changeSet","fromHistory","Annotation","isolateHistory","invertedEffects","Facet","historyConfig","configs","combineConfig","_t","isAdjacent","a","b","tr","adj","historyField_","StateField","HistoryState","config","fromHist","item","HistEvent","other","updateBranch","addSelection","isolate","Transaction","event","time","userEvent","value","e","json","history","EditorView","view","undo","redo","cmd","side","selection","state","dispatch","historyState","historyField_","tr","undo","redo","undoSelection","redoSelection","HistEvent","_HistEvent","changes","effects","mapped","startSelection","selectionsAfter","after","_a","_b","_c","s","json","ChangeSet","ChangeDesc","EditorSelection","tr","selection","none","invert","invertedEffects","result","selections","updateBranch","branch","to","maxLen","newEvent","start","newBranch","isAdjacent","a","b","ranges","f","t","_f","_t","i","from","eqSelectionShape","r","conc","MaxSelectionsPerEvent","addSelection","lastEvent","sels","popSelection","last","addMappingToBranch","mapping","length","event","mapEvent","extraSelections","mappedChanges","before","fullMapping","StateEffect","joinableUserEvent","HistoryState","done","undone","prevTime","prevUserEvent","time","userEvent","config","newGroupDelay","side","state","onlySelection","fromHistory","rest","historyKeymap","undo","redo","undoSelection","redoSelection","updateSel","sel","by","setSel","moveSel","dispatch","how","rangeEnd","range","forward","cursorByChar","view","ltrAtCursor","Direction","cursorCharLeft","cursorCharRight","cursorByGroup","view","forward","moveSel","range","rangeEnd","cursorGroupLeft","ltrAtCursor","cursorGroupRight","segmenter","interestingNode","state","node","bracketProp","len","moveBySyntax","start","forward","pos","syntaxTree","NodeProp","at","next","bracket","match","newPos","matchBrackets","EditorSelection","cursorSyntaxLeft","view","moveSel","range","ltrAtCursor","cursorSyntaxRight","cursorByLine","rangeEnd","moved","cursorLineUp","cursorLineDown","pageInfo","selfScroll","marginTop","marginBottom","height","source","EditorView","margins","cursorByPage","page","selection","updateSel","effect","startPos","scrollRect","scrollTop","scrollBottom","setSel","cursorPageUp","cursorPageDown","moveByLineBoundary","line","space","cursorLineBoundaryForward","cursorLineBoundaryBackward","cursorLineBoundaryLeft","cursorLineBoundaryRight","cursorLineStart","cursorLineEnd","toMatchingBracket","dispatch","extend","found","matching","head","cursorMatchingBracket","extendSel","view","how","selection","updateSel","range","head","EditorSelection","setSel","selectByChar","forward","selectCharLeft","ltrAtCursor","selectCharRight","selectByGroup","view","forward","extendSel","range","selectGroupLeft","ltrAtCursor","selectGroupRight","selectSyntaxLeft","view","extendSel","range","moveBySyntax","ltrAtCursor","selectSyntaxRight","selectByLine","forward","selectLineUp","selectLineDown","selectByPage","pageInfo","selectPageUp","selectPageDown","selectLineBoundaryForward","moveByLineBoundary","selectLineBoundaryBackward","selectLineBoundaryLeft","selectLineBoundaryRight","selectLineStart","EditorSelection","selectLineEnd","cursorDocStart","state","dispatch","setSel","cursorDocEnd","selectDocStart","selectDocEnd","selectAll","selectLine","ranges","selectedLineBlocks","from","to","selectParentSyntax","selection","updateSel","_a","stack","syntaxTree","cur","node","simplifySelection","deleteBy","target","by","event","changes","towards","skipAtomic","EditorView","pos","f","deleteByChar","byIndentUnit","line","before","targetPos","col","countColumn","drop","getIndentUnit","i","findClusterBreak","deleteCharBackward","deleteCharForward","view","deleteByChar","deleteByGroup","target","forward","deleteBy","range","pos","state","line","categorize","cat","next","findClusterBreak","nextChar","nextCat","deleteGroupBackward","deleteGroupForward","deleteToLineEnd","lineEnd","deleteLineBoundaryBackward","view","deleteBy","range","lineStart","deleteLineBoundaryForward","splitLine","state","dispatch","changes","range","Text","EditorSelection","transposeChars","pos","line","from","findClusterBreak","to","selectedLineBlocks","blocks","upto","startLine","endLine","prev","moveLine","forward","ranges","block","nextLine","size","r","moveLineUp","moveLineDown","copyLine","copyLineUp","copyLineDown","deleteLine","view","selection","updateSel","dist","isBetweenBrackets","state","pos","context","syntaxTree","before","after","closedBy","NodeProp","insertNewlineAndIndent","newlineAndIndent","insertBlankLine","atEof","dispatch","changes","range","from","to","line","explode","cx","IndentContext","indent","getIndentation","countColumn","insert","indentString","Text","EditorSelection","changeBySelectedLine","f","atLine","changeSet","indentSelection","updated","start","found","cur","norm","indentMore","indentUnit","indentLess","space","col","keep","getIndentUnit","toggleTabFocusMode","view","emacsStyleKeymap","cursorCharLeft","selectCharLeft","cursorCharRight","selectCharRight","cursorLineUp","selectLineUp","cursorLineDown","selectLineDown","cursorLineStart","selectLineStart","cursorLineEnd","selectLineEnd","deleteCharForward","deleteCharBackward","deleteToLineEnd","deleteGroupBackward","splitLine","transposeChars","cursorPageDown","standardKeymap","cursorGroupLeft","selectGroupLeft","cursorLineBoundaryLeft","selectLineBoundaryLeft","cursorGroupRight","selectGroupRight","cursorLineBoundaryRight","selectLineBoundaryRight","cursorDocStart","selectDocStart","cursorPageUp","selectPageUp","cursorDocEnd","selectDocEnd","selectPageDown","cursorLineBoundaryBackward","selectLineBoundaryBackward","cursorLineBoundaryForward","selectLineBoundaryForward","insertNewlineAndIndent","selectAll","deleteGroupForward","deleteLineBoundaryBackward","deleteLineBoundaryForward","b","defaultKeymap","cursorSyntaxLeft","selectSyntaxLeft","cursorSyntaxRight","selectSyntaxRight","moveLineUp","copyLineUp","moveLineDown","copyLineDown","simplifySelection","insertBlankLine","selectLine","selectParentSyntax","indentLess","indentMore","indentSelection","deleteLine","cursorMatchingBracket","toggleComment","toggleBlockComment","toggleTabFocusMode","indentWithTab","chalky","coral","cyan","invalid","ivory","stone","malibu","sage","whiskey","violet","darkBackground","highlightBackground","background","tooltipBackground","selection","cursor","oneDarkTheme","EditorView","ivory","background","cursor","selection","darkBackground","stone","highlightBackground","tooltipBackground","oneDarkHighlightStyle","HighlightStyle","tags","violet","coral","malibu","whiskey","chalky","cyan","sage","invalid","oneDark","syntaxHighlighting","crelt","elt","i","next","name","value","add","child","basicNormalize","x","SearchCursor","text","query","from","to","normalize","test","codePointAt","next","str","fromCodePoint","start","codePointSize","norm","i","pos","code","match","end","index","keep","empty","baseFlags","RegExpCursor","options","MultilineRegExpCursor","startLine","toCharEnd","skip","off","flattened","FlattenedDoc","_FlattenedDoc","doc","cached","flat","cachedFrom","validRegExp","source","line","createLineDialog","view","input","crelt","dom","event","dialogEffect","go","state","sign","ln","cl","percent","col","pc","docLine","selection","EditorSelection","EditorView","StateEffect","dialogField","StateField","value","tr","f","showPanel","val","gotoLine","panel","getPanel","effects","baseTheme$1","defaultHighlightOptions","highlightConfig","Facet","combineConfig","a","b","highlightSelectionMatches","ext","defaultTheme","matchHighlighter","matchDeco","Decoration","mainMatchDeco","insideWordBoundaries","check","CharCategory","insideWord","ViewPlugin","update","conf","sel","range","word","len","deco","part","cursor","v","selectWord","dispatch","newSel","findNextOccurrence","main","ranges","fullWord","cycled","r","selectNextOccurrence","searchedText","searchConfigFacet","configs","SearchPanel","SearchQuery","config","validRegExp","text","_","ch","other","RegExpQuery","StringQuery","state","from","to","st","EditorState","regexpCursor","stringCursor","QueryType","spec","SearchCursor","x","stringWordTest","doc","categorizer","buf","bufPos","charBefore","CharCategory","charAfter","curFrom","curTo","cursor","pos","start","range","_result","limit","ranges","add","RegExpCursor","regexpWordTest","str","index","findClusterBreak","_from","_to","match","size","result","m","setSearchQuery","StateEffect","togglePanel","searchState","StateField","SearchState","defaultQuery","value","tr","effect","createSearchPanel","f","showPanel","val","SearchState","query","panel","matchMark","Decoration","selectedMatchMark","searchHighlighter","ViewPlugin","view","searchState","update","state","builder","RangeSetBuilder","i","ranges","from","to","selected","r","v","searchCommand","f","openSearchPanel","findNext","next","selection","EditorSelection","config","searchConfigFacet","announceMatch","selectSearchInput","findPrevious","prev","selectMatches","selectSelectionMatches","dispatch","sel","main","cur","SearchCursor","replaceNext","changes","replacement","effects","EditorView","off","replaceAll","match","announceText","createSearchPanel","defaultQuery","fallback","_a","_b","_c","_d","_e","selText","SearchQuery","getSearchInput","getPanel","input","searchInput","setSearchQuery","togglePanel","StateEffect","searchExtensions","closeSearchPanel","searchKeymap","gotoLine","selectNextOccurrence","SearchPanel","crelt","phrase","button","name","onclick","content","e","runScopeHandlers","tr","effect","AnnounceMargin","Break","line","lineEnd","start","end","text","baseTheme","Prec","SelectedDiagnostic","from","to","diagnostic","LintState","_LintState","diagnostics","panel","selected","state","markedDiagnostics","diagnosticFilter","lintConfig","ranges","Decoration","d","DiagnosticWidget","findDiagnostic","after","found","spec","hideTooltip","tr","tooltip","result","line","e","setDiagnosticsEffect","maybeEnableLint","effects","lintState","StateEffect","lintExtensions","setDiagnosticsEffect","StateEffect","togglePanel","movePanelSelection","lintState","StateField","LintState","Decoration","value","tr","mapped","selected","panel","selPos","findDiagnostic","lintConfig","effect","LintPanel","f","showPanel","val","EditorView","s","activeMark","Decoration","lintTooltip","view","pos","side","diagnostics","lintState","found","stackStart","stackEnd","from","to","spec","diagnosticFilter","lintConfig","diagnosticsTooltip","crelt","d","renderDiagnostic","openLintPanel","field","maybeEnableLint","togglePanel","panel","getPanel","LintPanel","closeLintPanel","nextDiagnostic","sel","next","lintKeymap","openLintPanel","nextDiagnostic","lintConfig","Facet","input","i","x","combineConfig","a","b","u","assignKeys","actions","assigned","name","ch","c","renderDiagnostic","view","diagnostic","inPanel","_a","keys","crelt","action","i","fired","click","e","found","findDiagnostic","lintState","keyIndex","nameElt","DiagnosticWidget","WidgetType","other","PanelItem","LintPanel","_LintPanel","onkeydown","event","closeLintPanel","onclick","selected","diagnostics","needsSync","newSelectedItem","_start","_end","spec","item","j","sel","panel","scaleY","domPos","rm","prev","selectedIndex","field","selection","movePanelSelection","svg","content","attrs","underline","color","baseTheme","EditorView","lintExtensions","lintState","EditorView","state","selected","panel","Decoration","activeMark","hoverTooltip","lintTooltip","hideTooltip","baseTheme","basicSetup","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","history","foldGutter","drawSelection","dropCursor","EditorState","indentOnInput","syntaxHighlighting","defaultHighlightStyle","bracketMatching","closeBrackets","autocompletion","rectangularSelection","crosshairCursor","highlightActiveLine","highlightSelectionMatches","keymap","closeBracketsKeymap","defaultKeymap","searchKeymap","historyKeymap","foldKeymap","completionKeymap","lintKeymap","minimalSetup","External","Annotation","CodeEditor","_CodeEditor","_elementRef","EventEmitter","EditorView","vu","tr","value","Compartment","basicSetup","minimalSetup","changes","EditorState","fn","isDisabled","effects","StateEffect","oneDark","placeholder","keymap","indentWithTab","indentUnit","highlightWhitespace","lang","name","alias","__ngFactoryType__","ɵɵdirectiveInject","ElementRef","ɵɵdefineComponent","booleanAttribute","ɵɵProvidersFeature","NG_VALUE_ACCESSOR","forwardRef","ɵɵNgOnChangesFeature","rf","ctx","addWeeks","date","amount","days","addDays","subWeeks","date","amount","addWeeks","PatientDataVm","patientID","firstName","middleInitial","lastName","patientDOB","address","address2","city","state","zip","homePhone","facility","facilityCode","refillsRemaining","qs1Status","medicalRecordNumber","quantityPrescribed","ndc","expirationDate","lastFillDate","lastFillDateColor","within30DaysDate","within30DaysCreateddBy","nextFillDate","rxNumber","errorMessage","productName","pfsFormID","pfsProductId","pfsProgramId","pfsUnitOfMeasureId","pfsCountUom","pfsUrl","pfsRequestType","shipmentId","inventorySiteId","inventoryProductId","isFacility","isEos","isOverrideLastFillDate","isOverridePatientTransfer","isSoftStop","softStopDays","isHardStop","hardStopDays","inventories","drugClass","FormData","getFormData","validators","UntypedFormControl","Validators","required","UntypedFormArray","Form","UntypedFormGroup","GetModel","fg","PatientDataVmFromFg","constructor","get","value","val","setValue","RxDataStorageService","constructor","PatientData","IsFacility","resetInventoryChoiceModalData","factory","ɵfac","providedIn","AI_LOT_NUMBER","AI_SERIAL_NUMBER","AI_GTIN","AI_EXPIRATION_DATE","AI_DICT","AI_OPTIONAL_MAX_DICT","InventoryService","httpClient","constructor","getNdcTypeahead","text$","pipe","debounceTime","distinctUntilChanged","switchMap","ndc","length","get","encodeURIComponent","getNdc10Typeahead","ndc10","map","response","slice","getNdcProductInfo","component","inventorySiteId","formatNdcProductInfoRequest","untilDestroyed","getIdProductInfo","id","formatIdProductInfoRequest","getInstockProductInfo","barcode","qtyPrescribed","isUser","formatInstockProductInfoRequest","productInfo","lotNumber","expirationDate","toLocaleDateString","serialNumber","getFastPackProductInfo","barcodeStr","formatFastPackProductInfo","getProductId","getSiteName","getCurrentStock","lotNum","expDate","serialNum","getCurrentInventoryByGfc","isActive","needsOrdering","validateRxReturn","inventoryProductId","getPatientInfo","shipmentId","scanned","getPatientInfoNoShipment","isFacility","scanGs1Barcode","delimiter","substr","getProductBarCodeFromPfsData","getProductBarCodeFromGs1Data","parseGs1Barcode","replace","gs1Data","guessedDelimiters","i","delimiterGuess","guessGs1Delimiter","push","convertZeroZeroToEndOfMonth","lastDay","Date","newDate","getDate","toString","parseNdc10FromGtin","gtin","parsingAi","ai","val","parseObj","AI_DICT","AI_OPTIONAL_MAX_DICT","array","split","isPfs","expDateStr","AI_EXPIRATION_DATE","AI_GTIN","AI_LOT_NUMBER","toUpperCase","AI_SERIAL_NUMBER","excludedChars","bcChars","filter","o","includes","isNaN","nonAsciiChars","nonAlphanumericChars","ɵɵinject","HttpClient","factory","ɵfac","providedIn","ɵɵelement","InlineSpinnerComponent","isSaving","input","defaultText","savingText","displayText","computed","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","InlineSpinnerComponent_Conditional_0_Template","ɵɵtext","ɵɵconditional","ɵɵadvance","ɵɵtextInterpolate1","ScanRxComponent","httpClient","ms","inventoryService","router","rxDataStorageService","formatHelper","ns","constructor","beepSuccess","Audio","beepError","isControlDown","autofocus","inputPlaceholder","id","inventoryId","navigateToShipment","navigateToAnyInventoryShipment","hitApi","apiStr","isUser","scanSuccess","EventEmitter","scanSuccessFromList","scanSuccessInventoryList","scanError","scan","rxNumber","subscriptions","Subscription","formGroup","PatientDataVm","Form","model","patient","isSaving","signal","controlDown","event","key","controlUp","ngOnInit","basePath","document","getElementsByTagName","href","src","load","keyDown","nativeElement","value","preventDefault","scanBarcode","FormatHelperService","GetIsNullyOrWhitespace","set","barcodeStr","get","subscribe","ids","length","navigateByUrl","emit","play","validationMessage","GetIsNully","setSystemMessage","scanRxVm","shipmentId","inventorySiteId","then","window","location","reload","showError","getPatientInfoNoShipment","IsFacility","processPatientInfo","getPatientInfo","emitScan","hasShipment","errorMessage","lastName","patchValue","PatientData","barcode","patientListDataModel","ɵɵdirectiveInject","HttpClient","SystemMessageService","InventoryService","Router","RxDataStorageService","NotificationService","selectors","viewQuery","rf","ctx","ɵɵlistener","$event","ɵɵresolveDocument","ɵɵelement","ɵɵelementStart","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate1","__decorate","UntilDestroy","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","scanSuccessInventoryList","ɵɵadvance","ɵɵproperty","inv_r4","_r3","$implicit","chooseInventory","inventorySiteId","inventoryName","ɵɵtemplate","InvChoiceModalComponent_Conditional_8_div_3_Template","model","inventories","InvChoiceModalComponent","sec","router","ms","rxDataStorageService","httpClient","formatHelper","modal","selectPfsForm","patientDataFormGroup","PatientDataVm","Form","patientDataModel","GetModel","hasMultipleInvChoices","title","subTitle","canEdit","constructor","ngOnInit","hasModuleAccess","BusinessAreaEnum","Inventory","SecurityService","setMinRole","PermissionRole","Technician","IsFacility","GetIsNully","errorMessage","length","setSystemMessage","FormatNdc","ndc","rxNumber","invId","invName","isConfirmed","confirm","patientData","PatientData","isFacility","post","subscribe","returnData","undefined","address","address2","city","state","zip","navigateByUrl","encodeURIComponent","shipmentId","dismiss","error","ɵɵdirectiveInject","Router","SystemMessageService","RxDataStorageService","HttpClient","FormatHelperService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","InvChoiceModalComponent_Conditional_7_Template","InvChoiceModalComponent_Conditional_8_Template","ɵɵtextInterpolate","ɵɵconditional","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","rxList","pfsNumber","ɵɵtextInterpolate","row_r2","patientFirstName","patientLastName","ɵɵelement","ɵɵproperty","faEOS","faEarlyRx","faTransfer","ɵɵtemplate","ShipmentListRxModalComponent_table_19_tbody_10_td_4_Template","ShipmentListRxModalComponent_table_19_tbody_10_td_5_Template","ShipmentListRxModalComponent_table_19_tbody_10_fa_icon_9_Template","ShipmentListRxModalComponent_table_19_tbody_10_fa_icon_10_Template","ShipmentListRxModalComponent_table_19_tbody_10_fa_icon_11_Template","rxNumber","isUser","productName","isEos","isEarlyRx","isTransfer","ShipmentListRxModalComponent_table_19_th_4_Template","ShipmentListRxModalComponent_table_19_th_5_Template","ShipmentListRxModalComponent_table_19_tbody_10_Template","ShipmentListRxModalComponent","http","ms","shipmentId","modal","reloadTable","EventEmitter","isEmpty","faRandom","faStepForward","faFilePrescription","constructor","ngOnInit","get","subscribe","rxListResult","setSystemMessage","emit","length","ɵɵdirectiveInject","HttpClient","SystemMessageService","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ShipmentListRxModalComponent_h5_3_Template","ɵɵlistener","dismiss","ShipmentListRxModalComponent_table_19_Template","ShipmentListRxModalComponent_p_20_Template","FaIconName","faBell","faUser","faSearch","faPrescription","faPrescriptionBottle","faBoxOpen","faUserMd","faPrescriptionBottleAlt","faSun","faHourglassEnd","faClock","faHourglassHalf","faComments","faExclamationCircle","faExclamation","faExclamationTriangle","faAddressBook","faAddressCard","faCommentsRegular","faBellRegular","faPlus","faArrowRightArrowLeft","FaPositionUnits","FaIconPosition","constructor","topVal","rightVal","bottomVal","leftVal","units","top","right","bottom","left","positionUnits","getMyPositionUnits","getPositionUnits","percent","emphemeral","pixels","getPositionPropValue","value","unitString","FaNumColor","ChatTypeEnum","toDescription","val","toDisplay","ConversationsService","commentCount","signal","commentCount$","asReadonly","updateCommentCount","count","chatType","parentId","set","getCommentCount","defaultCount","computed","currentCount","factory","ɵfac","providedIn","ɵɵelement","ɵɵproperty","modal_r2","ctx_r2","shipmentId","isUser","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵtemplate","EditRxFulfillmentComponent_Conditional_9_Conditional_2_Template","ɵɵtextInterpolate2","isFacility","ɵɵconditional","EditRxFulfillmentComponent_Conditional_10_Conditional_2_Template","facilityName","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","testZebraApi","_r5","changeDeliveryType","faTruck","_r6","getPackingSlip","_r8","setActivation","faCheck","_r9","isComplete","faTimes","EditRxFulfillmentComponent_Conditional_21_Conditional_0_Template","EditRxFulfillmentComponent_Conditional_21_Conditional_1_Template","isNotActive","_r10","completeStep1","uncompleteStep1","inventoryId","currentStep","canEdit","userSubmitted","qcCheck","qcCheckComplete","_r12","reloadStep4","completeStep2","stepper_r13","ɵɵreference","previous","qcCheck_r14","EditRxFulfillmentComponent_Conditional_27_Conditional_1_Template","_r11","reloadPage","completeStep3","undoQcCheck","submitShipment","selectedStep","ɵɵclassProp","shipmentPrinterId","EditRxFulfillmentComponent","route","httpClient","sec","modalService","ms","router","gvs","cdRef","notificationService","conversationsService","stepper","packages","prescriptions","submit","printerSelect","commentsModal","userId","canEditDeliveryType","canEditQc","auditHistoryAccess","isPcg","inventorySiteName","dataSource","backLink","printerSelectItem","user","faLevelDownAlt","faComments","commentPosition","FaIconPosition","FaPositionUnits","pixels","faNumColor","FaNumColor","faIconName","FaIconName","commentCountFromOrder","signal","commentCount","computed","getCommentCount","ChatTypeEnum","ShipmentComments","constructor","title","hasModuleAccess","BusinessAreaEnum","Inventory","SecurityService","setMinRole","PermissionRole","Technician","Pharmacist","getUser","id","isRxUser","parseInt","snapshot","paramMap","get","setTitle","checkQueryParamAndOpenModal","beforeunloadHandler","event","closeUserFromFulfillment","ngOnInit","email","includes","ngAfterViewInit","getDetails","detectChanges","ngAfterContentChecked","reloadContent","selectedIndex","rxNumberSelect","clear","getData","triggerChanged","focusRx","getPrinter","openCommentsModal","modal","open","animation","beforeDismiss","queryParams","subscribe","params","setTimeout","model","set","commentsCount","setCurrentStep","isSuccessful","hideShowSelection","inventoryName","pharmInvName","FormatHelperService","GetIsNullyOrWhitespace","openUsersWarningMessage","setSystemMessage","ConfirmationModalComponent","componentInstance","modalRef","confirmationMessage","result","then","emittedValue","msg","showMessage","message","messageClass","value","window","location","reload","catch","err","next","getQcCheck","navigateByUrl","post","table","ajaxReload","deliveryType","confirm","savePrinter","additionalData","sessionStorage","setItem","fedexPrinter","getItem","upsPrinter","items","sourceItems","find","o","undefined","setPrinter","sm","ngOnDestroy","ɵɵdirectiveInject","Title","ActivatedRoute","HttpClient","NgbModal","SystemMessageService","Router","GlobalVariablesService","ChangeDetectorRef","NotificationService","ConversationsService","selectors","viewQuery","rf","ctx","$event","ɵɵresolveWindow","EditRxFulfillmentComponent_ng_template_3_Template","ɵɵtemplateRefExtractor","EditRxFulfillmentComponent_Conditional_5_Template","EditRxFulfillmentComponent_Conditional_9_Template","EditRxFulfillmentComponent_Conditional_10_Template","EditRxFulfillmentComponent_Conditional_11_Template","ɵɵtwoWayListener","i0","_r1","ɵɵtwoWayBindingSet","EditRxFulfillmentComponent_Conditional_16_Template","EditRxFulfillmentComponent_Conditional_17_Template","commentsModal_r7","EditRxFulfillmentComponent_Conditional_20_Template","EditRxFulfillmentComponent_Conditional_21_Template","EditRxFulfillmentComponent_Conditional_26_Template","EditRxFulfillmentComponent_Conditional_27_Template","ɵɵtwoWayProperty","faCommentsRegular","success","ShipmentCommentVm","shipmentCommentId","shipmentId","pfsFormID","comment","commentorInfo","commentDateTime","strCommentDateTime","strTimeAgo","countPfsFormIds","pfsUrl","currentStep","commentList","FormData","getFormData","validators","UntypedFormControl","Validators","required","UntypedFormArray","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","ShipmentCommentVmFromFg","constructor","get","value","val","setValue","GenericCommentVm","id","parentId","commentorInfo","commentDate","commentDateStr","commentText","commentUserId","isEdit","isDelete","showEditDelete","showCommentDate","friendlyId","hasSeen","pfsFormID","pfsUrl","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","GenericCommentVmFromFg","constructor","get","value","val","setValue","pcgSettingsDevelopment","pcgSettingsDemo","pcgSettingsProduction","pcgSettings","document","getElementById","textContent","pcgSettingsDevelopment","pcgSettingsDemo","pcgSettingsProduction","SseNotificationService","sec","inject","SecurityService","http","HttpClient","router","Router","settings","pcgSettings","conversationsService","ConversationsService","notificationSource","heartbeatTimeout","HEARTBEAT_INTERVAL","HEARTBEAT_OFFSET","MAX_RETRY","attempts","SEC_TO_MS","notificationReceived","EventEmitter","persistentNotificationReceived","chatReceived","chatSignal","signal","chatSignal$","computed","silentParam","HttpParams","set","ngOnDestroy","clearTimeout","initializeSSE","userId","getUser","id","readyState","EventSource","CLOSED","withCredentials","setupEventListeners","get","params","subscribe","r","onlineUsers","destroySSE","close","post","removeAllListeners","startHeartbeatTimer","onopen","console","log","addEventListener","event","emit","error","data","JSON","parse","url","includes","chatData","count","chatType","parentId","updateCommentCount","isOnline","update","o","filter","onerror","mode","toLowerCase","setTimeout","factory","ɵfac","providedIn","SseChatActionEnum","toDescription","val","toDisplay","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","toggleConversationsMenu","ɵɵadvance","ɵɵproperty","faIconName","faComments","ɵɵtextInterpolate","header","faXmark","ɵɵtextInterpolate1","commentErrorString","row_r4","commentorInfo","pfsUrl","ɵɵsanitizeUrl","pfsFormID","ɵɵtemplate","ConversationsComponent_div_4_Conditional_1_Conditional_1_Conditional_1_Template","ConversationsComponent_div_4_Conditional_1_Conditional_1_Conditional_4_Template","ɵɵconditional","isSysAdmin","isAssignee","showCommenterInfo","commentDateStr","fromFulfillment","_r5","$implicit","showCommentDate","commentText","ɵɵsanitizeHtml","ConversationsComponent_div_4_Conditional_1_Conditional_1_Template","ConversationsComponent_div_4_Conditional_1_Conditional_2_Template","tmp_5_0","commentList","i_r7","commentUserId","isEdit","ConversationsComponent_div_4_Conditional_2_Conditional_1_Conditional_3_Template","_r8","showEditDelete","ConversationsComponent_div_4_Conditional_2_Conditional_1_Template","ConversationsComponent_div_4_Conditional_2_Conditional_2_Template","ɵɵtwoWayListener","$event","_r9","i0","ɵɵtwoWayBindingSet","saveEditComment","ɵɵtwoWayProperty","_r10","editComment","deleteComment","ɵɵclassMap","isMobile","faPen","faTrash","faEye","_r11","noDeleteClick","yesDeleteClick","_r12","cancelEditComment","faSave","faCancel","ConversationsComponent_div_4_Conditional_4_Conditional_1_Template","ConversationsComponent_div_4_Conditional_4_Conditional_2_Template","ConversationsComponent_div_4_Conditional_4_Conditional_3_Template","ConversationsComponent_div_4_Conditional_4_Conditional_4_Template","isDelete","statusClosed","id","newestReadReceipt","_r3","ConversationsComponent_div_4_Conditional_1_Template","ConversationsComponent_div_4_Conditional_2_Template","ConversationsComponent_div_4_Conditional_3_Template","ConversationsComponent_div_4_Conditional_4_Template","isLast_r13","user","item_r15","value","text","_r14","newTemplateId","templateChange","target","ConversationsComponent_Conditional_9_option_5_Template","ɵɵpureFunction0","_c1","templateItems","ConversationsComponent","sec","httpClient","sm","router","conversationsService","parentId","getUrl","saveUrl","deleteUrl","readUrl","isShowingConvo","useTemplateResponses","templateResponseApi","usesSidenav","isHeros","herosId","herosPrimary","herosSecondary","herosTertiary","pfsFormId","chatType","closeConvo","EventEmitter","successDataReturn","deleteReturn","subscriptions","signal","commentListCount","computed","length","newestMessage","confirmDeleteBox","editCommentBox","isCommentError","newCommentText","editCommentText","faMessages","faPaperPlaneTop","faMessagePlus","xDown","yDown","sseService","inject","SseNotificationService","constructor","effect","commentCount","updateCommentCount","onResize","GlobalService","setIsMobile","window","innerWidth","ngOnInit","getUser","hasModuleAccess","BusinessAreaEnum","HelpDesk","SecurityService","setMinRole","PermissionRole","SystemAdmin","getComments","getTemplateItems","document","addEventListener","evt","handleTouchStart","handleTouchMove","handleSSEListeners","push","chatReceived","subscribe","data","action","SseChatActionEnum","Send","updateListForSend","comment","post","autoScroll","Delete","updateListForDelete","Edit","updateListForEdit","ReadReceipt","updateListForreceipt","update","comments","commentId","filter","index","findIndex","map","hasSeen","get","list","set","updateReadReceipt","myComments","newestComment","ngAfterViewInit","setTimeout","elem","getElementById","ElementRef","nativeElement","scrollIntoView","behavior","block","autoFocusTextArea","focus","items","findItem","find","o","toString","additionalData","responseMessage","openTemplateDropdown","event","MouseEvent","dispatchEvent","saveNewComment","form","GenericCommentVm","insertLinkTags","isSuccessful","model","emit","message","url","encodeURIComponent","row","getHttpObservable","firstTouch","touches","originalEvent","clientX","clientY","xUp","yUp","xDiff","yDiff","Math","abs","txt","stringWithLinkTag","includes","words","split","i","join","ngOnDestroy","forEach","sub","unsubscribe","ɵɵdirectiveInject","HttpClient","SystemMessageService","Router","ConversationsService","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","ConversationsComponent_Conditional_1_Template","ConversationsComponent_Conditional_3_Template","ConversationsComponent_div_4_Template","ConversationsComponent_Conditional_9_Template","ɵɵpureFunction3","_c0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵpropertyInterpolate","ctx_r0","pfsFormIdLink","ɵɵsanitizeUrl","ɵɵtextInterpolate","formId","ɵɵproperty","ɵɵpureFunction2","_c1","inventoryId","shipmentId","ɵɵtemplate","RxCommentsModalComponent_Conditional_10_Conditional_3_Template","RxCommentsModalComponent_Conditional_10_Conditional_4_Template","ɵɵconditional","countPfs","RxCommentsModalComponent","sec","route","httpClient","pfsFormSelect","editRxFulfillment","modal","isUser","user","formGroup","ShipmentCommentVm","Form","chatType","ChatTypeEnum","ShipmentComments","constructor","ngOnInit","user$","subscribe","Number","snapshot","params","getPfsForm","get","msg","model","pfsFormId","controls","pfsFormID","setValue","pfsUrl","countPfsFormIds","ɵɵdirectiveInject","SecurityService","ActivatedRoute","HttpClient","selectors","viewQuery","rf","ctx","EditRxFulfillmentComponent","ɵɵlistener","dismiss","RxCommentsModalComponent_Conditional_10_Template","value","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","facilityCodeValidationError","ɵɵelement","addressValidationError","ɵɵclassProp","patientData","address","ɵɵproperty","googleAddress","ɵɵsanitizeUrl","faEOS","faEarlyRx","faTransfer","PatientPhiCardComponent","http","constructor","isFacility","shipmentId","refreshQs1","EventEmitter","faUser","faRandom","faStepForward","faFilePrescription","faRefresh","ngOnInit","encodedAddress","encodeURIComponent","address2","city","state","zip","getLastFillDateColor","lastFillDateColor","updateQs1Address","get","rxNumber","subscribe","vm","FormatHelperService","GetIsNullyOrWhitespace","emit","ɵɵdirectiveInject","HttpClient","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","PatientPhiCardComponent_Conditional_9_Template","PatientPhiCardComponent_Conditional_10_Template","PatientPhiCardComponent_Conditional_17_Template","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","PatientPhiCardComponent_ng_template_46_Template","ɵɵtemplateRefExtractor","ɵɵtextInterpolate1","firstName","middleInitial","lastName","dateOfBirth","facility","facilityCode","ɵɵconditional","lastFillDate","ɵɵstyleProp","nextFillDate","qs1Status","pfsFormID","ɵɵpropertyInterpolate","pfsUrl","pfsRequestType","pfsFlagsTooltip_r3","isEos","isOverrideLastFillDate","isOverridePatientTransfer","__decorate","UntilDestroy","ShipmentListVm","shipmentId","createdById","createdBy","shipmentServiceTypeID","shipmentTypeStr","masterTrackingNumber","weightPounds","packageStatus","dateCreated","dateCreatedStr","dateDelivered","dateDeliveredStr","rxNumberCount","fulfillmentStatus","shipmentStep","deliveryType","isRejected","prescriptionCount","canDelete","isNotActive","pfsLink","inventory","inventoryId","isOverdue1","isOverdue2","hasFulfillmentBeenOpened","isOpen","openUserTooltip","commentCount","lastCommentDate","userSubmitted","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","ShipmentListVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵclassMap","ctx_r0","iconNumClassNames","ɵɵproperty","numPositionStyles","ɵɵadvance","ɵɵtextInterpolate","num","FaCountComponent","formatHelper","numColor","isNumVisible","numPosition","constructor","ngOnInit","assignNumColor","GetIsNully","assignNumPosition","FaNumColor","success","warning","danger","info","secondary","other","position","isPositionAssigned","numStyles","top","FaIconPosition","getPositionPropValue","getMyPositionUnits","right","bottom","left","ɵɵdirectiveInject","FormatHelperService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","FaCountComponent_Conditional_0_Template","ɵɵconditional","FaNumIconComponent","formatHelper","num","numColor","isNumVisible","iconName","iconColor","numPosition","iconColorName","constructor","ngOnInit","GetIsNully","ɵɵdirectiveInject","FormatHelperService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵstyleProp","ɵɵproperty","ɵɵelement","ɵɵproperty","modal_r2","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","table_r4","ɵɵreference","ɵɵresetView","ajaxReload","ɵɵelementEnd","modal_r5","ctx_r5","rxListShipmentId","isUser","_r7","modal_r8","_r9","navigateToInventoryEdit","ɵɵtext","ɵɵadvance","faIconName","faHourglassHalf","warningColor","thresholdTooltip_r10","faHourglassEnd","dangerColor","faUser","getIsFulfillmentOpenedLink","ɵɵtextInterpolate1","inventorySiteName","_r11","inventoryChoiceModal_r12","isCentralized","openInventoryChoiceModal","newFulfillment","_r13","createNewFacilityRx","ɵɵtemplate","ShipmentListComponent_Conditional_15_Conditional_1_Template","ShipmentListComponent_Conditional_15_Conditional_2_Template","ɵɵconditional","currentSiteName","ShipmentListComponent_ng_template_21_Conditional_2_Template","$event","_r14","scanSuccessFromList","scanRxNumber","faExclamationCircle","inventorySiteId","inputPlaceholder","ɵɵtwoWayListener","_r15","i0","ɵɵtwoWayBindingSet","filters","ɵɵtwoWayProperty","fulfillmentStatusTooltip_r16","ɵɵtextInterpolate","columns","get","displayName","ShipmentListComponent_td_69_Conditional_2_Conditional_0_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_1_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_2_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_3_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_4_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_5_Template","ShipmentListComponent_td_69_Conditional_2_Conditional_6_Template","row_r17","fulfillmentStatus","userSubmitted","dateDeliveredStr","openUserTooltip","ShipmentListComponent_td_69_Conditional_2_Template","ShipmentListComponent_td_69_Conditional_3_Template","ShipmentListComponent_td_69_Conditional_4_Template","ɵɵclassProp","isRejected","ɵɵpureFunction1","_c2","shipmentId","canEdit","editSource","inventoryId","hasFulfillmentBeenOpened","isOpen","_r18","row_r19","$implicit","navigateToFulfillment","inventory","ShipmentListComponent_td_72_Conditional_1_Template","ShipmentListComponent_td_72_Conditional_2_Template","row_r20","deliveryType","row_r22","_r21","commentsModal_r23","openCommentsModal","isReadOnly","faCommentsRegular","getCommentCount","lastCommentDate","faNumColor","success","commentPosition","dateCreatedTooltip_r24","row_r25","isOverdue1","pfsLink","ɵɵsanitizeUrl","createdBy","ShipmentListComponent_td_81_Conditional_2_Template","ShipmentListComponent_td_81_Conditional_3_Template","ShipmentListComponent_td_81_Conditional_4_Template","dateCreatedStr","isOverdue2","row_r27","_r26","shipmentListRxModal_r28","openRxListModal","rxNumberCount","faPrescriptionBottleAlt","_c3","row_r29","prescriptionCount","fedexLink","row_r30","masterTrackingNumber","upsLink","weightPounds","packageStatus","ShipmentListComponent_td_90_Conditional_2_Template","ShipmentListComponent_td_90_Conditional_3_Template","ShipmentListComponent_td_90_Conditional_4_Template","ShipmentListComponent_td_90_Conditional_5_Template","ShipmentListComponent_td_90_Conditional_6_Template","shipmentTypeStr","row_r31","currentStep","inventoryEditAccess","row_r32","ShipmentListComponent_td_96_Conditional_1_Template","canDelete","userId","createdById","_r33","scanSuccessInventoryList","inv_r35","_r34","chooseInventory","inventoryName","ShipmentListComponent_Conditional_109_Conditional_1_div_3_Template","model","inventories","ShipmentListComponent_Conditional_109_Conditional_0_Template","ShipmentListComponent_Conditional_109_Conditional_1_Template","hasMultipleInvChoices","ShipmentListComponent","route","title","sec","httpClient","router","modalService","rxDataStorageService","inventoryService","btnFilterService","formatHelper","sseService","table","selectPfsForm","facilitySelect","FaIconName","FaNumColor","ShipmentListVm","ColumnDefs","facilitySelectItems","user","firstName","lastName","dob","zip","date","DateRange","subWeeks","Date","status","strShipmentIds","facilityName","pfsFormId","isNotActive","confirm","facilityId","emptyFilters","selectedStatus","Array","initFilters","Object","assign","filterMap","maxDate","minDate","faUserMd","rxCountIcon","faComments","FaIconPosition","FaPositionUnits","pixels","sortDir","dataSource","createSource","errorStr","sortData","newFacilityId","canCreateFulfillments","firstLoad","isNewFacility","isError","lastViewedRxColor","legend","id","colorCode","description","commentUpdate","signal","currentUpdate","computed","constructor","setTitle","resetInventoryChoiceModalData","effect","chat","chatSignal$","chatType","ChatTypeEnum","ShipmentComments","updateCommentCount","parentId","count","ngOnInit","getUser","hasModuleAccess","BusinessAreaEnum","Inventory","SecurityService","setMinRole","PermissionRole","User","Technician","Pharmacist","paramMap","subscribe","params","parseInt","serializeStatus","resetFilters","getSiteName","isRxUser","queryParamMap","qParams","statusParam","sessionStorage","removeItem","subYears","preFilter","isVisible","siteName","resetFilterData","setScanFocus","JSON","stringify","parse","snapshot","navigateByUrl","isFacility","encodeURIComponent","navigate","name","modal","IsFacility","open","animation","beforeDismiss","hasStoredFilters","preFilters","getStoredFilters","undefined","hasNullDate","dateBegin","dateEnd","filterChange","setStoredFilters","filtersTouched","setTimeout","document","getElementById","focus","rx","isFulfillmentOpen","getItem","setItem","items","length","value","cancelRx","GetIsNully","errorMessage","FormatNdc","ndc","rxNumber","invId","invName","isConfirmed","patientData","PatientData","post","returnData","address","address2","city","state","row","update","commentCount","newCount","set","ɵɵdirectiveInject","ActivatedRoute","Title","HttpClient","Router","NgbModal","RxDataStorageService","InventoryService","ButtonFilterService","FormatHelperService","SseNotificationService","selectors","viewQuery","rf","ctx","TableComponent","ShipmentListComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","ShipmentListComponent_ng_template_2_Template","ShipmentListComponent_ng_template_4_Template","ShipmentListComponent_ng_template_6_Template","ShipmentListComponent_ng_template_8_Template","ShipmentListComponent_Conditional_13_Template","ShipmentListComponent_Conditional_15_Template","ShipmentListComponent_Conditional_19_Template","ShipmentListComponent_Conditional_20_Template","ShipmentListComponent_ng_template_21_Template","ShipmentListComponent_Conditional_23_Template","_r1","ShipmentListComponent_Conditional_59_Template","ɵɵelementContainerStart","ShipmentListComponent_th_68_Template","ShipmentListComponent_td_69_Template","ShipmentListComponent_th_71_Template","ShipmentListComponent_td_72_Template","ShipmentListComponent_th_74_Template","ShipmentListComponent_td_75_Template","ShipmentListComponent_th_77_Template","ShipmentListComponent_td_78_Template","ShipmentListComponent_th_80_Template","ShipmentListComponent_td_81_Template","ShipmentListComponent_th_83_Template","ShipmentListComponent_td_84_Template","ShipmentListComponent_th_86_Template","ShipmentListComponent_td_87_Template","ShipmentListComponent_th_89_Template","ShipmentListComponent_td_90_Template","ShipmentListComponent_th_92_Template","ShipmentListComponent_td_93_Template","ShipmentListComponent_th_95_Template","ShipmentListComponent_td_96_Template","ShipmentListComponent_Conditional_109_Template","ShipmentListComponent_Conditional_110_Template","ɵɵpropertyInterpolate","ɵɵpipeBind2","__decorate","UntilDestroy","ɵɵelement","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","helpButtonClicked","ɵɵelementEnd","ɵɵproperty","faIcon","faSquareQuestion","ɵɵtext","modal_r5","_r4","$implicit","dismiss","ScanProductComponent","inventoryService","toastr","modalService","autofocus","includeProductInfo","inputPlaceholder","inventorySiteId","ndc","scanText","useSpinner","isDisabled","isFulfillment","isCiReceiving","isCiRepack","scanDetection","showHelp","scanSuccess","EventEmitter","scanError","scan","txtBarcode","helpModal","beepSuccess","Audio","beepError","isControlDown","isProcessing","timeoutId","_input","_oldValue","NUMPAD_EVENT_LOCATION","controlDown","event","key","scanDetectionProcessing","controlUp","constructor","ngOnInit","basePath","document","getElementsByTagName","href","src","load","nativeElement","focus","ngOnChanges","setTimeout","keyDown","value","preventDefault","scanBarcode","FormatHelperService","GetIsNullyOrWhitespace","barcodeStr","barcode","length","ndc10","parseNdc10FromGtin","lotNumber","serialNumber","expirationDate","lotExpId","split","includes","error","positionClass","timeOut","emitScan","getFastPackProductInfo","subscribe","productInfo","toUpperCase","Date","quantity","parseAtp2Qty","isBulkLot","currentStock","scanGs1Barcode","getNdcProductInfo","isInventoryProductActive","play","emit","console","log","wholeNumber","parseInt","fraction","dividend","divisor","scannedNdc","FormatNdc","confirmIncorrectNdc","target","id","clearTimeout","location","modal","open","ConfirmationModalComponent","componentInstance","modalRef","confirmationMessage","result","then","emittedValue","catch","err","ɵɵdirectiveInject","InventoryService","ToastrService","NgbModal","selectors","viewQuery","rf","ctx","$event","ɵɵresolveDocument","i0","_r1","ɵɵtemplate","ScanProductComponent_span_7_Template","ScanProductComponent_fa_icon_9_Template","ScanProductComponent_ng_template_10_Template","ɵɵtemplateRefExtractor","ɵɵadvance","ɵɵtextInterpolate1","__decorate","UntilDestroy","AuditHistoryVm","auditHistoryID","dateChanged","dateChangedFormatted","field","changedFrom","changedTo","changedBy","pfsLink","module","recordAffected","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","AuditHistoryVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","columns","get","displayName","row_r3","friendlyRecordId","row_r4","dateChangedFormatted","row_r5","module","row_r6","recordAffected","row_r7","field","row_r8","changedFrom","row_r9","changedTo","row_r10","changedBy","ɵɵlistener","ɵɵrestoreView","_r11","ɵɵnextContext","ɵɵresetView","goBack","AuditHistoryComponent","activatedRoute","table","id","viewModel","auditHistoryName","hideBackButton","pageSize","AuditHistoryVm","ColumnDefs","auditName","filters","constructor","ngOnInit","snapshot","params","localStorage","getItem","queryParamMap","includes","isVisible","isCi","isCiJob","window","history","back","ɵɵdirectiveInject","ActivatedRoute","selectors","viewQuery","rf","ctx","TableComponent","$event","i0","_r1","value","ɵɵelementContainerStart","ɵɵtemplate","AuditHistoryComponent_th_5_Template","AuditHistoryComponent_td_6_Template","AuditHistoryComponent_th_8_Template","AuditHistoryComponent_td_9_Template","AuditHistoryComponent_th_11_Template","AuditHistoryComponent_td_12_Template","AuditHistoryComponent_th_14_Template","AuditHistoryComponent_td_15_Template","AuditHistoryComponent_th_17_Template","AuditHistoryComponent_td_18_Template","AuditHistoryComponent_th_20_Template","AuditHistoryComponent_td_21_Template","AuditHistoryComponent_th_23_Template","AuditHistoryComponent_td_24_Template","AuditHistoryComponent_th_26_Template","AuditHistoryComponent_td_27_Template","AuditHistoryComponent_div_28_Template","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","VerificationTypeEnum","toDescription","val","toDisplay","VerificationSettingVm","businessArea","amountOfChoices","verificationChoices","verificationSettings","FormData","getFormData","validators","UntypedFormControl","Validators","required","UntypedFormArray","Form","UntypedFormGroup","GetModel","fg","VerificationSettingVmFromFg","constructor","get","value","val","setValue","VerificationVm","verificationEnum","verificationStr","numberOfVerificationsRequired","verificationTypesAllowed","FormData","getFormData","validators","UntypedFormControl","Form","UntypedFormGroup","GetModel","fg","VerificationVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","itm_r2","ɵɵrestoreView","_r1","$implicit","item_r3","ɵɵnextContext","ctx_r3","ɵɵresetView","numVerificationsChange","value","get","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","s_r5","ɵɵpureFunction0","_c0","ɵɵtextInterpolate","text","i_r7","_r8","itm_r9","verificationTypeChange","indexOf","faIcon","faUsbDrive","_r10","_r11","_r12","ɵɵelementContainerStart","ɵɵtemplate","VerificationSettingsComponent_div_0_div_2_ng_container_17_button_1_Template","VerificationSettingsComponent_div_0_div_2_ng_container_17_button_2_Template","VerificationSettingsComponent_div_0_div_2_ng_container_17_button_3_Template","VerificationSettingsComponent_div_0_div_2_ng_container_17_button_4_Template","verificationType","Fido","Fingerprint","Pin","Credentials","VerificationSettingsComponent_div_0_div_2_div_10_Template","VerificationSettingsComponent_div_0_div_2_ng_container_17_Template","amountOfSigs","model","verificationChoices","VerificationSettingsComponent_div_0_div_2_Template","formGroup","controls","VerificationSettingsComponent","httpClient","sms","router","sec","businessArea","getUrlAction","saveUrlAction","VerificationSettingVm","Form","GetModel","model$","verificationVm","user","canEdit","VerificationTypeEnum","constructor","ngOnInit","getUser","checkSecurity","pipe","tap","vm","addVerificationSettings","verificationSettings","length","setValue","amountOfChoices","BusinessAreaEnum","CI","hasModuleAccess","SecurityService","setMinRole","PermissionRole","SystemAdmin","Inventory","Admin","SysInv","navigateByUrl","setSystemMessage","amount","i","push","UntypedFormGroup","VerificationVm","FormData","val","cntrl","item","saveForm","isSelected","index","splice","post","filterForm","subscribe","sm","message","messageClass","isSuccessful","settingsVm","getRawValue","filter","o","verificationEnum","ɵɵdirectiveInject","HttpClient","SystemMessageService","Router","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","VerificationSettingsComponent_div_0_Template","ɵɵpipeBind1","hI","zA","yI","FI","kI","GI","UI","B","RI","I","g","C","MI","AI","$A","fA","_A","A","D","s","Q","E","a","e","t","c","S","h","U","H","n","k","q","f","l","IA","gA","xA","z","bA","wI","w","N","NI","cI","lA","OA","eA","y","J","T","VA","d","u","M","m","V","mA","tA","L","SI","v","vA","WA","jA","rI","r","aA","ZA","CA","W","sA","Y","R","i","wA","qA","__async","BA","XA","NA","cA","rA","o","PA","K","X","SA","II","gI","F","O","CI","BI","QI","EI","iI","DI","oI","eI","p","x","j","P","aI","tI","qI","sI","Z","hA","_","yA","FA","GA","kA","$","QA","UA","AA","RA","MA","EA","nA","KA","iA","uA","DA","b","JA","G","YA","dA","pA","LA","HA","oA","environment","production","siteKey","strichLicenseKey","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","errorMessage","ɵɵtemplate","BarcodeScannerStrichComponent_div_0_div_1_span_1_Template","BarcodeScannerStrichComponent_div_0_div_1_ng_template_2_Template","ɵɵtemplateRefExtractor","ɵɵproperty","title_r2","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","removeCodeDetection","codeDetection","typeName","data","BarcodeScannerStrichComponent_div_0_div_4_div_1_Template","BarcodeScannerStrichComponent_div_0_div_1_Template","ɵɵelement","BarcodeScannerStrichComponent_div_0_div_4_Template","showHeader","ɵɵstyleMap","height","showResults","_r4","startScanning","busy","scanningBtnText","_r5","closeScanning","BarcodeScannerStrichComponent","ngZone","router","symbology","overrideSound","closeScanAfterScan","showCloseButton","isClosed","scanResult","EventEmitter","barcodeReaderOutput","closeReader","initialized","isScan","isMobile","isLoaded","barcodeReader","configuration","beepSuccess","Audio","constructor","onResize","GlobalService","setIsMobile","window","innerWidth","ngOnInit","setConfig","StrichSDK","initialize","environment","strichLicenseKey","then","console","log","catch","err","finally","ngAfterViewInit","setTimeout","basePath","document","getElementsByTagName","href","selector","debug","engine","symbologies","minScanlinesNeeded","invertedCodes","duplicateInterval","frameSource","resolution","overlay","customLogoSrc","showCameraSelector","showDetections","showFlashlight","showTargetingLine","locator","regionOfInterest","left","right","top","bottom","feedback","audio","vibration","undefined","BarcodeReader","result","emit","detected","detections","run","processScanResult","start","events","subscribe","SdkError","message","stop","destroy","str","ɵɵdirectiveInject","NgZone","Router","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","BarcodeScannerStrichComponent_div_0_Template","BarcodeScannerStrichComponent_div_2_Template","BarcodeScannerStrichComponent_div_3_Template","SendgridApiService","httpClient","constructor","getIsBouncedResponse","username","httpParams","HttpParams","set","get","params","removeBouncedUser","ɵɵinject","HttpClient","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","removeFromBounceList","ɵɵadvance","ɵɵtextInterpolate1","bouncedEmailData","reason","errorMsg","BounceAlertComponent","sendgridApiService","securityService","user","userIsBounced","subscriptions","Subscription","constructor","ngOnInit","getActiveUser","getBouncedEmailMessages","email","username","getIsBouncedResponse","subscribe","response","isBounced","sendgridBounceInfo","add","user$","removeBouncedUser","resp","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","SendgridApiService","SecurityService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","BounceAlertComponent_div_0_Template","ɵɵproperty","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r3","ɵɵnextContext","ɵɵresetView","activeModal","dismiss","ɵɵtext","ɵɵelementEnd","CiWorkstationComponent","httpClient","ms","ciWorkstation","userState","inject","UserStateService","user","constructor","ngOnInit","updateSelect","get","subscribe","items","value","ciWorkstationId","workstationChange","workstation","getHttpObservable","msg","isSuccessful","updateUser","ɵɵdirectiveInject","NgbActiveModal","HttpClient","SystemMessageService","selectors","viewQuery","rf","ctx","i0","_r1","ciWorkstation_r2","ɵɵreference","ɵɵtemplate","CiWorkstationComponent_div_14_Template","ɵɵadvance","ɵɵproperty","tmp_2_0","GenericOrderCommentVm","commentId","orderId","comment","commentorInfo","commentDateTime","strCommentDateTime","strTimeAgo","commentList","FormData","getFormData","validators","UntypedFormControl","Validators","required","UntypedFormArray","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","GenericOrderCommentVmFromFg","constructor","get","value","val","setValue","MetabolicFormulaPatientInfoVm","patientInfoId","patientFirstName","patientLastName","gender","genderStr","dob","parentGuardianFirstName","parentGuardianLastName","patientAddress","patientAddress2","patientCity","patientState","patientStateId","patientZip","smartyAddress","smartyAddressString","hasSmarty","patientPhone","patientExt","friendlyId","canEdit","orderId","stepTitle","stepDescription","isActive","isComplete","orderIndex","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","MetabolicFormulaPatientInfoVmFromFg","constructor","get","value","val","setValue","MetabolicFormulaPatientCareVm","patientCareId","diagnosis","diagnosisId","comments","physicianFirstName","physicianLastName","licenseNumber","friendlyId","stepName","canEdit","orderId","stepTitle","stepDescription","isActive","isComplete","orderIndex","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","MetabolicFormulaPatientCareVmFromFg","constructor","get","value","val","setValue","MetabolicFormulaInsuranceInfoVm","insuranceInfoId","insuranceType","insuranceTypeStr","insuranceName","groupNumber","insuranceNumber","dateInsuranceClaim","singleClaimOutcome","singleClaimOutcomeStr","singleClaimOutcomeComment","friendlyId","stepName","canEdit","orderId","stepTitle","stepDescription","isActive","isComplete","orderIndex","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","MetabolicFormulaInsuranceInfoVmFromFg","constructor","get","value","val","setValue","GenericOrderDetailsVm","dateCreated","dateCreatedStr","createdUserId","createdUserName","createdUserEmail","facilityId","senderFacilityName","senderFacilityAddress","senderFacilityCity","senderFacilityCounty","senderFacilityState","senderFacilityZip","senderPhone","senderPermitNumber","facilityName","facilityIdentifier","facilityAddress","facilityCity","facilityCounty","facilityState","facilityZip","facilityPhone","phoneNumber","dateOrdered","dateOrderedStr","orderedUserId","orderedUserName","orderedUserEmail","dateReviewed","dateReviewedStr","reviewedUserId","reviewedUserName","reviewedUserEmail","friendlyId","stepName","orderProductsVm","missing2FA","canEdit","trackingLink","trackingNumber","confirmationNumber","shipmentServiceType","shipmentServiceTypeStr","patientInfoVm","patientCareVm","insuranceInfoVm","uniqueOrderIndex","orderId","order","orderTitle","orderStatus","orderTabs","availableStatuses","orderSteps","commentCount","uploadCount","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","UntypedFormArray","MetabolicFormulaPatientInfoVm","Form","MetabolicFormulaPatientCareVm","MetabolicFormulaInsuranceInfoVm","UntypedFormGroup","GetModel","fg","GenericOrderDetailsVmFromFg","constructor","get","value","val","setValue","MetabolicFormulaPatientInfoVmFromFg","MetabolicFormulaPatientCareVmFromFg","MetabolicFormulaInsuranceInfoVmFromFg","CiOrderInfoVm","ciOrderId","ciFacility","facilityId","pfsFacilityId","ciOrderStatus","ciOrderStatusString","createOrderStep","createOrderStepString","orderNumber","orderDateStr","orderDate","createdByUser","createdByUserEmail","createdUserId","facility","facilityAddress","facilityCity","facilityState","facilityZip","facilityIdentifier","permit50","licenseNumber","friendlyId","commentCount","shipSmartyAddress","allJobsCompleted","availableStatuses","receivedStatuses","permitNumber","pfsCiOrderId","productsCount","bottlesCount","productsReceivedCount","bottlesReceivedCount","products","ciOrderJobs","invoiceSecurityStamp","canGenerateCiInvoices","FormData","getFormData","validators","UntypedFormControl","Validators","required","UntypedFormArray","Form","UntypedFormGroup","GetModel","fg","CiOrderInfoVmFromFg","constructor","get","value","val","setValue","SharedCommentsModalComponent","sec","orderId","businessArea","modal","GenericOrder","GenericOrderDetailsVm","CiOrder","CiOrderInfoVm","updateCommentCount","EventEmitter","user","formGroup","GenericOrderCommentVm","Form","canEdit","subscriptions","Subscription","area","controller","securityString","isMetabolic","chatType","constructor","ngOnInit","add","user$","subscribe","BusinessAreaEnum","CI","ChatTypeEnum","CiOrderComments","MetabolicFormula","PkuComments","hasModuleAccess","SecurityService","setMinRole","PermissionRole","User","SysInv","SysInvOrders","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","dismiss","ɵɵelement","ɵɵadvance","ɵɵproperty","EditFacilityVm","facilityId","facilityName","facilityIdentifier","organizationId","organizationName","countyId","countyName","smartyAddress","smartyAddressString","hasSmarty","stateAbr","phoneNumber","dauCode","isActive","isSameAddress","isIcqParticipant","shipFacilityName","shipSmartyAddress","shipSmartyAddressString","hasShipSmarty","shipStateAbr","isShipAddressValidated","friendlyId","gln","medicalDirectorId","medicalDirectorName","medicalDirectorLicense","medicalDirectorExpDate","pfsFacilityId","facilityType","isBPHP","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","minLength","pattern","Form","UntypedFormGroup","GetModel","fg","EditFacilityVmFromFg","constructor","get","value","val","setValue","FacilityCardinalAccountVm","cardinalAccountId","facilityId","accountName","accountNumber","isIssuance810","isIssuance810String","isBulk810","isBulk810String","isCiModule810","isCiModule810String","friendlyId","canDelete","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","minLength","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","FacilityCardinalAccountVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","editAccount","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","columns","get","displayName","row_r4","_r3","$implicit","cardinalAccountId","accountName","ɵɵtextInterpolate1","row_r5","accountNumber","row_r6","isCiModule810String","row_r7","isIssuance810String","row_r8","isBulk810String","ɵɵelement","ɵɵproperty","table_r10","row_r9","ɵɵtemplate","FacilityCardinalAccountsComponent_div_0_td_21_pcg_delete_button_1_Template","canEdit","FacilityCardinalAccountsComponent_div_0_div_1_Template","ɵɵelementContainerStart","FacilityCardinalAccountsComponent_div_0_th_5_Template","FacilityCardinalAccountsComponent_div_0_td_6_Template","FacilityCardinalAccountsComponent_div_0_th_8_Template","FacilityCardinalAccountsComponent_div_0_td_9_Template","FacilityCardinalAccountsComponent_div_0_th_11_Template","FacilityCardinalAccountsComponent_div_0_td_12_Template","FacilityCardinalAccountsComponent_div_0_th_14_Template","FacilityCardinalAccountsComponent_div_0_td_15_Template","FacilityCardinalAccountsComponent_div_0_th_17_Template","FacilityCardinalAccountsComponent_div_0_td_18_Template","FacilityCardinalAccountsComponent_div_0_th_20_Template","FacilityCardinalAccountsComponent_div_0_td_21_Template","filters","ɵɵpureFunction1","_c4","ɵɵpureFunction0","_c3","$event","_r11","saveSuccess","value","cancel","formGroup","model","FacilityCardinalAccountsComponent","title","sec","route","httpClient","table","isCiModule810","isBulk810","isIssuance810","businessArea","FacilityCardinalAccountVm","ColumnDefs","Form","GetModel","model$","isAdd","tab","facilityId","siteId","constructor","setTitle","hasModuleAccess","BusinessAreaEnum","CI","MetabolicFormula","PermissionRole","UserAdmin","SecurityService","setMinRole","Manager","ngOnInit","snapshot","params","queryParamMap","subscribe","setValue","patchValue","resetFormGroup","msg","ajaxReload","ɵɵdirectiveInject","Title","ActivatedRoute","HttpClient","selectors","viewQuery","rf","ctx","TableComponent","FacilityCardinalAccountsComponent_div_0_Template","FacilityCardinalAccountsComponent_div_1_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","columns","get","displayName","row_r3","dateChangedFormatted","row_r4","module","row_r5","recordAffected","row_r6","field","row_r7","changedFrom","row_r8","changedTo","row_r9","changedBy","FacilityAuditHistoryComponent","activatedRoute","table","AuditHistoryVm","ColumnDefs","facilityName","filters","facilityId","constructor","title","setTitle","ngOnInit","snapshot","params","ɵɵdirectiveInject","Title","ActivatedRoute","selectors","viewQuery","rf","ctx","TableComponent","ɵɵlistener","$event","i0","ɵɵrestoreView","_r1","ɵɵresetView","value","ɵɵelementContainerStart","ɵɵtemplate","FacilityAuditHistoryComponent_th_3_Template","FacilityAuditHistoryComponent_td_4_Template","FacilityAuditHistoryComponent_th_6_Template","FacilityAuditHistoryComponent_td_7_Template","FacilityAuditHistoryComponent_th_9_Template","FacilityAuditHistoryComponent_td_10_Template","FacilityAuditHistoryComponent_th_12_Template","FacilityAuditHistoryComponent_td_13_Template","FacilityAuditHistoryComponent_th_15_Template","FacilityAuditHistoryComponent_td_16_Template","FacilityAuditHistoryComponent_th_18_Template","FacilityAuditHistoryComponent_td_19_Template","FacilityAuditHistoryComponent_th_21_Template","FacilityAuditHistoryComponent_td_22_Template","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","FacilityUserListVm","isLockedOut","emailConfirmed","isEmailBounced","isEmailSpamReported","id","name","email","phoneNumber","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","FacilityUserListVmFromFg","constructor","get","value","val","setValue","EditUserVm","userId","firstName","lastName","userName","phoneNumber","email","emailConfirmed","isEmailBounced","isEmailSpamReported","isActive","isLockedOut","inactivityTimeout","isInternalBphpUser","fields","customFields","mode","userPin","needToResetPin","friendlyId","inventoryIds","inventories","facilityIds","facilities","organizationIds","organizations","systemInventoryIds","updateFacilities","updateOrgs","businessArea","biometricFingerprintVersion","organizationId","organizationName","orgLoginType","m2SysType","FormData","getFormData","validators","UntypedFormControl","Validators","required","pattern","UntypedFormArray","maxLength","Form","UntypedFormGroup","GetModel","fg","EditUserVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","createUser","ɵɵtext","ɵɵelementEnd","_r4","addUserBtn","ɵɵelement","ɵɵadvance","ɵɵproperty","faIconName","faUserLock","faEnvelope","faTennisBall","faEnvelopesBulk","fullNameTooltip_r5","ɵɵtextInterpolate","columns","get","displayName","getEditUserLink","row_r6","id","ɵɵsanitizeUrl","name","ɵɵtemplate","FacilityUserListComponent_ng_container_0_td_20_a_1_Template","FacilityUserListComponent_ng_container_0_td_20_span_2_Template","FacilityUserListComponent_ng_container_0_td_20_fa_icon_3_Template","FacilityUserListComponent_ng_container_0_td_20_fa_icon_4_Template","FacilityUserListComponent_ng_container_0_td_20_fa_icon_5_Template","FacilityUserListComponent_ng_container_0_td_20_fa_icon_6_Template","canEditUser","isLockedOut","emailConfirmed","isEmailBounced","isEmailSpamReported","row_r7","email","row_r8","phoneNumber","ɵɵelementContainerStart","FacilityUserListComponent_ng_container_0_div_2_Template","FacilityUserListComponent_ng_container_0_div_3_Template","FacilityUserListComponent_ng_container_0_ng_template_4_Template","ɵɵtemplateRefExtractor","_r1","reloadTable","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","filters","showSysAdmin","FacilityUserListComponent_ng_container_0_th_19_Template","FacilityUserListComponent_ng_container_0_td_20_Template","FacilityUserListComponent_ng_container_0_th_22_Template","FacilityUserListComponent_ng_container_0_td_23_Template","FacilityUserListComponent_ng_container_0_th_25_Template","FacilityUserListComponent_ng_container_0_td_26_Template","canCreateUser","canAddUser","ɵɵtwoWayProperty","ɵɵpureFunction1","_c2","ɵɵpureFunction0","_c1","initFilters","filterMap","tooltipModalString","_r9","saveUser","FacilityUserListComponent_ng_template_1_div_25_Template","cancelAdd","formGroup","canEditFacilities","userId","row_r12","row_r13","row_r15","_r14","$implicit","existingUserTable_r16","ɵɵreference","addExistingUser","modal_r11","_r10","dismiss","FacilityUserListComponent_ng_template_3_th_11_Template","FacilityUserListComponent_ng_template_3_td_12_Template","FacilityUserListComponent_ng_template_3_th_14_Template","FacilityUserListComponent_ng_template_3_td_15_Template","FacilityUserListComponent_ng_template_3_th_17_Template","FacilityUserListComponent_ng_template_3_td_18_Template","_c3","_c4","FacilityUserListComponent","activatedRoute","modalService","security","httpClient","dynForm","ms","title","btnFilterService","table","businessArea","facilityName","modalContent","subscriptions","Subscription","EditUserVm","Form","model","GetModel","canDeleteUser","isCreate","facilityId","newUser","FacilityUserListVm","ColumnDefs","Object","assign","faHourglassClock","constructor","setTitle","hasModuleAccess","BusinessAreaEnum","Admin","PermissionRole","Pharmacist","CI","MetabolicFormula","UserAdmin","SecurityService","setMinRole","Manager","SystemAdmin","ngOnInit","snapshot","params","undefined","getBusinessArea","resetFilterData","subscribe","resetFilters","ajaxReload","ba","hasCiAccess","hasInventoryAccess","Inventory","hasMetabolicAccess","setSecurity","decodeURI","open","animation","beforeDismiss","post","msg","isSuccessful","parseInt","paramMap","add","vm","updateFormGroupFields","fields","patchValue","controls","setValue","isActive","message","link","value","setSystemMessage","ɵɵdirectiveInject","ActivatedRoute","NgbModal","HttpClient","DynamicFormService","SystemMessageService","Title","ButtonFilterService","selectors","viewQuery","rf","ctx","TableComponent","FacilityUserListComponent_ng_container_0_Template","FacilityUserListComponent_ng_template_1_Template","FacilityUserListComponent_ng_template_3_Template","createUserForm_r17","EditFacilityCiDetailVm","facilityAccountInfoId","facilityId","facilityName","ciPrimaryContactIds","ciPrimaryContactNames","facilityColor","accountCode","org","eo","oca","bfObjCode","bfCategory","interAgencyAgreementNumber","canGenerateCiInvoices","friendlyId","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","EditFacilityCiDetailVmFromFg","constructor","get","value","val","setValue","EditFacilityInventoryDetailVm","facilityId","formTypeIds","formTypes","friendlyId","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","EditFacilityInventoryDetailVmFromFg","constructor","get","value","val","setValue","FacilityBusinessAreaVm","facilityId","facilityAccountInfoId","hasCiAccess","hasInventoryAccess","hasMetabolicAccess","facilityBusinessAreaEnums","businessAreas","ciDetailsVm","inventoryDetailsVm","friendlyId","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","FacilityBusinessAreaVmFromFg","constructor","get","value","val","setValue","EditFacilityCiDetailVmFromFg","EditFacilityInventoryDetailVmFromFg","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r1","id","formGroup","controls","ciPrimaryContactIds","value","CiBusinessAreaComponent","sec","route","httpClient","model","EditFacilityCiDetailVm","modelChange","EventEmitter","canGenerateCiInvoices","Form","canEditPrimaryContacts","canEdit","constructor","ngOnInit","setValue","facilityId","hasModuleAccess","BusinessAreaEnum","Admin","CI","SecurityService","setMinRole","PermissionRole","UserAdmin","MetabolicFormula","Manager","canGenerateCiInvoiceChange","patchValue","checked","emit","ɵɵdirectiveInject","ActivatedRoute","HttpClient","selectors","viewQuery","rf","ctx","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵtemplate","CiBusinessAreaComponent_pcg_control_group_4_Template","InventoryBusinessAreaComponent","sec","model","modelChange","EventEmitter","formGroup","EditFacilityInventoryDetailVm","Form","canEdit","constructor","ngOnInit","patchValue","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","PermissionRole","UserAdmin","disable","ɵɵdirectiveInject","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","emit","value","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵadvance","controls","formTypeIds","MetabolicBusinessAreaComponent","selectors","standalone","decls","vars","template","rf","ctx","encapsulation","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","model","hasCiAccess","ɵɵresetView","ɵɵadvance","ɵɵclassMapInterpolate1","ɵɵtextInterpolate1","getDisplayName","businessAreaEnum","CI","ɵɵproperty","items","ɵɵtwoWayProperty","_r4","ciDetailsVm","hideBusinessArea","_r5","hasInventoryAccess","Inventory","_r6","inventoryDetailsVm","_r7","hasMetabolicAccess","MetabolicFormula","ɵɵelement","Metabolic","ɵɵlistener","_r1","submitForms","ɵɵtemplate","FaciltyBusinessAreasComponent_form_11_div_1_Template","FaciltyBusinessAreasComponent_form_11_div_3_Template","FaciltyBusinessAreasComponent_form_11_div_4_Template","FaciltyBusinessAreasComponent_form_11_div_6_Template","FaciltyBusinessAreasComponent_form_11_div_7_Template","FaciltyBusinessAreasComponent_form_11_div_9_Template","FaciltyBusinessAreasComponent_form_11_button_11_Template","formGroup","canEdit","FaciltyBusinessAreasComponent","route","httpClient","router","ms","sec","businessArea","id","ciBusinessArea","inventoryBusinessArea","FacilityBusinessAreaVm","Form","GetModel","model$","userId","computed","getUser","facilityBusinessAreas","BusinessAreaEnum","text","value","additionalData","color","constructor","ngOnInit","GetFacilityBusinessSettings","queryParams","subscribe","params","Number","module","paramMap","map","get","pipe","tap","vm","patchValue","disable","ba","toDescription","hasBusinessArea","businessAreas","filter","o","length","hasValidCiForms","valid","Admin","setSystemMessage","post","sm","isSuccessful","onMessageSuccess","onMessageError","setSysMessage","setValue","message","messageClass","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","SystemMessageService","SecurityService","selectors","viewQuery","rf","ctx","FaciltyBusinessAreasComponent_form_11_Template","ɵɵpureFunction1","_c2","ɵɵpipeBind1","ɵɵtext","ɵɵtextInterpolate1","ctx_r0","message","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","minRoleStr","PermissionsBannerComponent","httpClient","inject","HttpClient","router","Router","notification","NotificationService","minRole","input","computed","PermissionRole","toDescription","createTicket","get","subscribe","msg","isSuccessful","navigateByUrl","value","showMessage","messageClass","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","PermissionsBannerComponent_Conditional_1_Template","PermissionsBannerComponent_Conditional_2_Template","ɵɵlistener","ɵɵconditional","ɵɵelement","ɵɵproperty","ctx_r1","pr","UserAdmin","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","activateDeactivate","ɵɵresetView","model","isActive","ɵɵclassProp","ɵɵadvance","ɵɵtextInterpolate","ɵɵtemplate","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_16_Conditional_2_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_16_a_3_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_16_input_4_Template","ɵɵconditional","canEdit","facilityId","organizationName","formGroup","value","organizationId","faIcon","faExternalLink","ɵɵtextInterpolate1","medicalDirectorLicense","medicalDirectorExpDate","_r4","validateCountyId","id","_r1","submitForms","EditFacilityComponent_mat_tab_group_1_ng_template_2_Conditional_2_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_Conditional_3_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_Conditional_15_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_16_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_18_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_30_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_div_31_Template","updateShippingInfo","EditFacilityComponent_mat_tab_group_1_ng_template_2_button_66_Template","tmp_8_0","get","canDeactivate","ɵɵpureFunction1","_c5","hasMedicalDirector","getMedicalDirector","medicalDirectorId","canManualEntry","api","controls","countyName","shipAddressDisabled","shipFacilityName","shipSmartyAddress","formattedAddress","EditFacilityComponent_mat_tab_group_1_mat_tab_3_ng_template_1_Template","businessArea","EditFacilityComponent_mat_tab_group_1_mat_tab_4_ng_template_1_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_6_ng_template_1_Template","facilityName","EditFacilityComponent_mat_tab_group_1_mat_tab_7_ng_template_1_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_8_ng_template_1_Template","EditFacilityComponent_mat_tab_group_1_ng_template_2_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_3_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_4_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_6_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_7_Template","EditFacilityComponent_mat_tab_group_1_mat_tab_8_Template","ɵɵpipeBind1","model$","canViewReports","EditFacilityComponent","route","httpClient","router","sec","activationService","ms","modalService","backBtnPlacement","isSameAddress","isShipAddressValidated","EditFacilityVm","Form","GetModel","oldIcqParticipant","activeTab","oldShipSmartyAddress","oldShipFacilityName","faHouseMedical","PermissionRole","backBtnLink","backBtnTooltip","constructor","title","setTitle","ngOnInit","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","CI","Manager","editFacility","snapshot","queryParamMap","toDescription","undefined","SystemAdmin","MetabolicFormula","disable","medicalDirectorName","FormatHelperService","GetIsNullyOrWhitespace","paramMap","subscribe","map","parseInt","pipe","tap","vm","countyId","setValue","isIcqParticipant","toggleShippingFormActivation","ActivationEnum","Facility","patchValue","smartyAddress","checked","enableShipFacilityName","disableShipFacilityName","updateValueAndValidity","valid","validateForm","modal","open","ConfirmationModalComponent","componentInstance","modalRef","confirmationMessage","result","then","emittedValue","runSave","catch","err","disabled","hasDisabledShipFacilityName","post","sm","isSuccessful","onMessageSuccess","onMessageError","reroute","Number","isNaN","navigate","setSysMessage","navigateByUrl","skipLocationChange","enable","medDirectorChange","select","additionalData","licenseNumber","expirationDate","setSystemMessage","message","messageClass","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","Title","ActivationService","SystemMessageService","NgbModal","selectors","viewQuery","rf","ctx","EditFacilityComponent_mat_tab_group_1_Template","_c3","facilityIdentifier","isBPHP","_c4","FacilityListVm","facilityId","facilityName","facilityIdentifier","address","city","state","zip","county","isActive","canDelete","isBPHP","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","FacilityListVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r3","ctx_r3","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","filters","businessArea","ɵɵresetView","ɵɵadvance","ɵɵproperty","ɵɵtwoWayProperty","ɵɵtextInterpolate","columns","get","displayName","ɵɵpureFunction1","_c2","row_r5","isBPHP","canEditFacility","editFacilityLink","facilityId","facilityName","ɵɵtextInterpolate4","row_r6","address","city","state","zip","row_r7","facilityIdentifier","row_r8","row_r9","county","row_r10","isActive","ɵɵelement","table_r2","row_r11","ɵɵtemplate","FacilitiesListComponent_td_55_pcg_delete_button_1_Template","canDelete","FacilitiesListComponent","formatHelper","btnFilterService","security","router","table","header","filterMap","medicalDirectorId","organizationId","initFilters","baseEditRoles","PermissionRole","UserAdmin","SecurityService","setMinRole","Manager","canAdd","showBusinessArea","FacilityListVm","ColumnDefs","hasFacilities","constructor","ngOnInit","BusinessAreaEnum","Admin","hasModuleAccess","CI","MetabolicFormula","SystemAdmin","resetFilterData","subscribe","resetFilters","onTableReturn","tableData","Object","assign","reloadTable","User","hideShowColumn","GetIsNully","ajaxReload","ɵɵdirectiveInject","FormatHelperService","ButtonFilterService","Router","selectors","viewQuery","rf","ctx","TableComponent","FacilitiesListComponent_div_0_Template","ɵɵlistener","_r1","ɵɵreference","FacilitiesListComponent_div_24_Template","value","ɵɵelementContainerStart","FacilitiesListComponent_th_36_Template","FacilitiesListComponent_td_37_Template","FacilitiesListComponent_th_39_Template","FacilitiesListComponent_td_40_Template","FacilitiesListComponent_th_42_Template","FacilitiesListComponent_td_43_Template","FacilitiesListComponent_th_45_Template","FacilitiesListComponent_td_46_Template","FacilitiesListComponent_th_48_Template","FacilitiesListComponent_td_49_Template","FacilitiesListComponent_th_51_Template","FacilitiesListComponent_td_52_Template","FacilitiesListComponent_th_54_Template","FacilitiesListComponent_td_55_Template","_c1","ɵɵpureFunction0","_c0","PhotoModalComponent","activeModal","url","name","constructor","ngOnInit","ɵɵdirectiveInject","NgbActiveModal","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","dismiss","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵsanitizeUrl","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","goToPrevious","ɵɵtext","ɵɵelementEnd","_r4","goToNext","ɵ$index_28_r6","_r5","$index","goToSlide","ɵɵproperty","getSlidesScr","ɵɵsanitizeUrl","ɵɵpureFunction1","_c0","currentIndex","ɵɵrepeaterCreate","ImageSliderComponent_div_0_Conditional_6_For_2_Template","_forTrack0","ɵɵadvance","ɵɵrepeater","slides","ɵ$index_34_r8","_r7","ImageSliderComponent_div_0_Conditional_7_For_2_Template","$event","_r1","onScroll","ɵɵtemplate","ImageSliderComponent_div_0_div_2_Template","openImageModal","getCurrentSlideSrc","getCurrentSlideName","ImageSliderComponent_div_0_div_5_Template","ImageSliderComponent_div_0_Conditional_6_Template","ImageSliderComponent_div_0_Conditional_7_Template","length","ɵɵconditional","useThumbnails","ImageSliderComponent","modalService","autoSlide","timeoutId","hasImages","constructor","ngOnInit","resetTimer","window","clearTimeout","setTimeout","newIndex","slideIndex","getCurrentSlideUrl","url","title","i","e","deltaY","imageUrl","imageName","modalRef","open","PhotoModalComponent","size","componentInstance","name","ngOnDestroy","ɵɵdirectiveInject","NgbModal","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ImageSliderComponent_div_0_Template","ImageSliderModule","CommonModule","OrganizationAccountRequestVm","organizationAccountRequestId","organizationId","organizationAccountId","oldFacilityAccountName","newFacilityAccountName","facilityAccountNameId","facilityAccountNamePfsId","oldAccountNumber","newAccountNumber","oldExpirationDate","newExpirationDate","oldNotes","newNotes","oldIsActive","newIsActive","oldIsGracePeriod","newIsGracePeriod","oldUploadFilePath","newUploadFilePath","oldFileName","newFileName","isNewRequest","isRemoveDoc","isNotification","requestDate","requestBy","requestStatus","reviewDate","reviewedBy","denialExplanation","submitButton","file","uploadFiles","friendlyId","facilityId","accountAdded","accountName","accountNumber","expirationDate","isGracePeriod","isActive","uploadFilePath","notes","pfsIds","organizationName","organizationAddress","pfsFacilityAccountRequestIds","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","pattern","Form","UntypedFormGroup","GetModel","fg","OrganizationAccountRequestVmFromFg","constructor","get","value","val","setValue","ɵɵelement","ɵɵelementContainerStart","ɵɵelementStart","ɵɵelementEnd","ɵɵtext","ɵɵtemplate","NotificationNavComponent_ng_container_7_hr_24_Template","ɵɵadvance","ɵɵproperty","ctx_r2","getHref","r_r1","inventorySiteId","reconciliationEventId","ɵɵsanitizeUrl","faCircle","faBell","faLink","ɵɵtextInterpolate1","inventoryName","ɵɵtextInterpolate","reconciliationCount","last_r2","NotificationNavComponent_ng_container_8_hr_24_Template","getInvoiceHref","ns","ciInvoicesCount","last","NotificationNavComponent_ng_container_9_hr_24_Template","getIcqHref","icqCount","NotificationNavComponent","modal","httpClient","inject","NavNotificationService","ciInvoiceCount","faExternalLinkAlt","reconNotifications","ciInvoiceNotifications","constructor","ngOnInit","reconNavAccess","getReconciliationNotifications","get","subscribe","list","inventoryId","reconEventId","ɵɵdirectiveInject","NgbActiveModal","HttpClient","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵlistener","dismiss","NotificationNavComponent_ng_container_7_Template","NotificationNavComponent_ng_container_8_Template","NotificationNavComponent_ng_container_9_Template","NotificationNavComponent_div_10_Template","notificationCount","NavNotificationService","sec","inject","SecurityService","httpClient","HttpClient","modalService","NgbModal","notificationCount","computed","reconCount","ciInvoicesCount","icqCount","filter","count","length","signal","step1Count","step2Count","step3Count","accountRequestCount","fulfillmentNavAccess","invoiceNavAccess","accountRequestAccess","reconNavAccess","icqAccess","isCiUser","hasCiWorkstation","notificationModal","getHeaderCounts","setAccessFlags","step1","sessionStorage","getItem","step2","step3","fetchHeaderCountsFromServer","setStepCounts","set","hasModuleAccess","BusinessAreaEnum","Inventory","setMinRole","PermissionRole","Technician","CI","BA","Admin","Manager","ICQ","User","get","subscribe","vm","updateSessionStorage","updateCounts","setItem","fulfillmentStep1ProductPrepCount","toString","fulfillmentStep2ShippingCount","fulfillmentStep3QCCount","reconciliationCount","icqNewSurveyCount","openNotificationModal","open","NotificationNavComponent","animation","componentInstance","modalRef","factory","ɵfac","providedIn","__decorate","UntilDestroy","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","toggleModal","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","faIconName","faArrowLeft","form","controls","oldUploadFilePath","value","ɵɵsanitizeUrl","ɵɵtextInterpolate","oldFileName","fg_r4","oldNotes","ɵɵtemplate","OrganizationAccountUpdateComponent_div_0_Conditional_23_Conditional_29_Template","OrganizationAccountUpdateComponent_div_0_Conditional_23_Conditional_30_Template","OrganizationAccountUpdateComponent_div_0_Conditional_23_Conditional_33_Template","ɵɵpureFunction1","_c3","isAccountApproval","oldFacilityAccountName","name","oldAccountNumber","_c4","oldExpirationDate","ɵɵpipeBind2","_c5","ɵɵstyleProp","oldIsActive","ɵɵtextInterpolate1","ɵɵconditional","isEmpty","OldNotes","ɵɵtwoWayListener","$event","_r5","i0","ɵɵtwoWayBindingSet","organizationFile","ɵɵtwoWayProperty","maxFiles","_r6","clearFile","newUploadFilePath","newFileName","_r7","submitButton","faCheck","faTimes","_r8","modal","dismiss","OrganizationAccountUpdateComponent_div_0_Conditional_6_Template","_r1","onSubmit","OrganizationAccountUpdateComponent_div_0_Conditional_23_Template","OrganizationAccountUpdateComponent_div_0_pcg_drag_drop_file_upload_50_Template","OrganizationAccountUpdateComponent_div_0_Conditional_51_Template","OrganizationAccountUpdateComponent_div_0_Conditional_59_Template","OrganizationAccountUpdateComponent_div_0_Conditional_61_Template","isAccountList","organizationName","organizationAddress","requestBy","firstName","lastName","ɵɵpureFunction2","_c0","newFacilityAccountName","_c1","expDateRequired","newExpirationDate","hasFile","_c2","readOnly","calledFromNav","OrganizationAccountUpdateComponent","http","router","ms","notificationService","inject","NotificationService","ns","NavNotificationService","tm","EventEmitter","id","faCircle","faArrowRightArrowLeft","faLink","faExternalLinkAlt","faArrow","faSortUp","model$","OrganizationAccountRequestVm","Form","clearFileClick","constructor","ngOnInit","get","pipe","tap","model","patchValue","facilityAccountNameId","resizeModal","disableOldFormGroup","FormatHelperService","GetIsNullyOrWhitespace","isNotification","setExpDateRequired","disable","url","includes","valid","post","subscribe","resp","isSuccessful","showMessage","message","messageClass","close","getHeaderCounts","err","console","log","validateForm","status","emit","update","size","str","enable","addValidators","Validators","required","removeValidators","updateValueAndValidity","ɵɵdirectiveInject","HttpClient","NgbActiveModal","Router","SystemMessageService","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","OrganizationAccountUpdateComponent_div_0_Template","ɵɵpipeBind1","QuickNavService","showContent","signal","preventCloseContent","toggleContent","update","closeContent","set","factory","ɵfac","providedIn","CiDashboardService","httpClient","constructor","canNavigateToRepackOrderByString","repackOrderId","get","canNavigateToRepackOrderById","canNavigateToJobByString","jobId","isHomer","httpParams","HttpParams","set","params","canNavigateToJobById","canNavigateToJobByDohLotNum","lotnum","ɵɵinject","HttpClient","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r2","repackErrorMsg","jobIdErrorMsg","lotnumErrorMsg","CiDashboardActionsComponent","dashboardService","ms","quickNavService","inject","QuickNavService","ciDashboardContent","dashboardActionsClicked","reload","EventEmitter","isOpen","repackIdhasErrors","jobIdHasErrors","lotnumHasErrors","timeout","constructor","navToRepackOrder","repackId","isInputValid","isNaN","canNavigateToRepackOrderByString","pipe","tap","vm","FormatHelperService","GetIsNully","orderId","isPfs","window","location","href","subscribe","canNavigateToRepackOrderById","navToJob","jobId","canNavigateToJobByString","isHomer","navToLotnum","lotnum","canNavigateToJobByDohLotNum","dohLotNum","clearErrors","inputType","input","orderKeyDown","event","key","preventDefault","target","value","jobKeyDown","lotnumKeyDown","ɵɵdirectiveInject","CiDashboardService","SystemMessageService","selectors","viewQuery","rf","ctx","ɵɵlistener","ɵɵrestoreView","_r1","repackId_r2","ɵɵreference","ɵɵresetView","$event","i0","ɵɵtemplate","CiDashboardActionsComponent_div_18_Template","jobId_r4","CiDashboardActionsComponent_div_28_Template","lotnum_r5","CiDashboardActionsComponent_div_38_Template","closeContent","ɵɵproperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","r_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","openRequest","organizationAccountRequestId","ɵɵelement","ɵɵtemplate","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_div_1_span_11_Template","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_div_1_span_12_Template","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_div_1_span_21_Template","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_div_1_span_22_Template","ɵɵadvance","ɵɵproperty","faCircle","faArrowRightArrowLeft","isNewRequest","ɵɵtextInterpolate1","accountName","ɵɵtextInterpolate","organizationName","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_div_1_Template","requests_r4","length","ɵɵelementContainerStart","OrganizationAccountUpdateNavComponent_ng_container_8_div_1_Template","OrganizationAccountUpdateNavComponent_ng_container_8_div_2_Template","_r5","toggleModal","OrganizationAccountUpdateNavComponent","modal","http","faLink","faExternalLinkAlt","faArrow","faSortDown","requests$","subscription","Subscription","selectedRequestUpdate","constructor","ngOnInit","getFacilityUpdateRequests","get","id","update","size","ɵɵdirectiveInject","NgbActiveModal","HttpClient","selectors","standalone","decls","vars","consts","template","rf","ctx","dismiss","OrganizationAccountUpdateNavComponent_ng_container_8_Template","OrganizationAccountUpdateNavComponent_ng_container_10_Template","ɵɵpipeBind1","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","route_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","clickLink","ɵɵtext","ɵɵelementEnd","ɵɵclassProp","isInUserNav","id","currForceSelect","ɵɵproperty","ɵɵpureFunction0","_c0","ɵɵpureFunction1","_c1","exact","ɵɵadvance","ɵɵtextInterpolate","name","_r4","closeDropdown","openDropdown","isMobile","clickDropdown","ɵɵelement","ɵɵpureFunction2","_c2","isRoot","isSecondary","currSelectedNavMenuItem","startsWith","currOpenSecondaryNavMenu","getHtmlId","href","openNewTab","_c3","ɵɵtextInterpolate1","currNavMenuItem","children","ɵɵtemplate","TopClickNavComponent_For_2_Conditional_0_Template","TopClickNavComponent_For_2_Conditional_1_Template","ɵɵconditional","navService","shouldShowRouteLink","navRoutes","hasSideNav","_r6","ɵɵtextInterpolate2","user","firstName","lastName","TopClickNavComponent_Conditional_3_Conditional_1_Template","_r5","logout","userNavOpen","_c4","TopClickNavComponent","elRef","sec","router","httpClient","ms","menuItemId","sseService","inject","SseNotificationService","isOpen","ulClasses","loopNavRoutes","constructor","ngOnInit","test","navigator","userAgent","substr","user$","subscribe","currOpenPrimaryNavMenu$","c","isSubNav","join","NavDividerCharacter","currSelectedMainNavMenu$","currOpenSecondaryNavMenu$","currForceSelect$","getNavRoutes","divCountCurrNav","split","length","ngOnChanges","changes","chng","cur","currentValue","prev","previousValue","routeId","replace","childMenuId","setCurrOpenNavMenu","route","window","open","path","navigate","queryParams","destroySSE","setSecurity","deleteAllCookies","sessionStorage","removeItem","localStorage","loggedInUsingSso","getItem","setItem","get","sm","isSuccessful","location","value","setSystemMessage","message","messageClass","cookies","document","cookie","i","eqPos","indexOf","routeIndex","getCurrRouteIndex","map","o","__spreadProps","__spreadValues","index","filter","shouldDisplay","ɵɵdirectiveInject","NavigationService","ElementRef","SecurityService","Router","HttpClient","SystemMessageService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵrepeaterCreate","TopClickNavComponent_For_2_Template","ɵɵrepeaterTrackByIdentity","TopClickNavComponent_Conditional_3_Template","ɵɵrepeater","isLoggedOn","styles","ɵɵelementStart","ɵɵlistener","tmp_2_0","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","clickDropdown","navService","currNav","parentNav","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","faIconName","faArrowLeft","ɵɵtext","ɵɵtextInterpolate","currOpenPrimaryNavMenu","route_r4","name","_r3","$implicit","clickedNav","emit","redirect","ɵɵtemplate","TopSecondaryNavComponent_For_4_Conditional_1_Conditional_2_Template","TopSecondaryNavComponent_For_4_Conditional_1_Conditional_3_Template","ɵɵclassProp","hrefLocation","includes","activeNavLink","ɵɵpureFunction1","_c1","exact","queryParams","path","ɵɵconditional","_r5","ɵɵtextInterpolate1","TopSecondaryNavComponent_For_4_Conditional_0_Template","TopSecondaryNavComponent_For_4_Conditional_1_Template","TopSecondaryNavComponent_For_4_Conditional_2_Template","TopSecondaryNavComponent_For_4_Conditional_3_Template","ellipseBefore","shouldShowRouteLink","navRoutes","index","ellipseAfter","children","hasSideNav","TopSecondaryNavComponent","router","title","sec","inject","SecurityService","rootNavId","routeNavId","forceSelect","tabPanel","EventEmitter","navLinks","loopNavRoutes","isMobile","onResize","GlobalService","setIsMobile","window","innerWidth","constructor","setTitle","ngOnInit","getNavRoutes","ngOnChanges","changes","getActiveLink","chng","cur","currentValue","prev","previousValue","focusNewlySelectedNav","checkTitle","s","FormatHelperService","GetIsNullyOrWhitespace","getTitle","dynamicNavTitle","currOpenSecondaryNavMenu","setTimeout","length","selectedNav","find","link","nativeElement","classList","contains","scrollIntoView","behavior","block","focus","childMenu","childNav","set","route","openNewTab","openInNewTab","namedRoute","newRelativeUrl","createUrlTree","baseUrl","location","href","replace","url","open","urlSegments","split","document","getElementsByTagName","isNaN","Number","slice","join","routeIndex","getCurrRouteIndex","getSecureNavItems","map","o","i","__spreadProps","__spreadValues","filter","shouldDisplay","ɵɵdirectiveInject","NavigationService","Router","Title","selectors","viewQuery","rf","ctx","ElementRef","ɵɵresolveWindow","TopSecondaryNavComponent_Conditional_1_Template","TopSecondaryNavComponent_Conditional_2_Template","ɵɵrepeaterCreate","TopSecondaryNavComponent_For_4_Template","_forTrack0","tmp_1_0","currSelectedMainNavMenu","ɵɵrepeater","WorkstationService","httpClient","sec","modalService","update","EventEmitter","workStationName","noWorkstation","constructor","user","getUser","getModel","ciWorkstationId","subscribe","data","workstationName","FormatHelperService","GetIsNullyOrWhitespace","id","httpParams","HttpParams","set","get","params","openCiWorkstationModal","open","CiWorkstationComponent","animation","hidden","JSON","parse","localStorage","getItem","ciWorkstationName","emit","ɵɵinject","HttpClient","SecurityService","NgbModal","factory","ɵfac","providedIn","WorkstationBannerComponent","workStationService","sec","gs","inject","GlobalService","isFixed","navFixedSubscription","ciDashboardComponent","user","workStationName","getModelRetries","noWorkstation","dashboardActionsClicked","isOpen","faIcons","faScannerGun","constructor","getUser","ngOnInit","getModel","isNavFixed","subscribe","r","localStorage","getItem","ngOnDestory","unsubscribe","ciWorkstationId","setTimeout","openCiWorkstationModal","update","ɵɵdirectiveInject","WorkstationService","SecurityService","selectors","viewQuery","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","ɵɵproperty","ctx_r0","navService","isMobile","QuickNavComponent","quickNavService","inject","QuickNavService","NavigationService","icon","faEllipsisV","tooltip","iconClass","selectors","inputs","standalone","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵlistener","preventCloseContent","closeContent","toggleContent","ɵɵelement","ɵɵtemplate","QuickNavComponent_Conditional_3_Template","showContent","ɵɵadvance","ɵɵconditional","NotificationsService","notifications","signal","notifications$","toObservable","http","inject","HttpClient","toastr","NotificationService","unreadCount","computed","filter","n","markedAsRead","length","getNotificationsByUserId","userId","params","HttpParams","set","get","subscribe","next","sort","a","b","Date","notifiedDate","getTime","error","showError","console","markAsRead","notificationId","post","pipe","tap","update","map","userNotificationId","__spreadProps","__spreadValues","markedAsReadDate","catchError","of","markAllAsRead","ba","sm","message","baNames","o","BusinessAreaEnum","toDescription","lastBa","pop","join","model","showMessage","messageClass","deleteNotification","delete","deleteAllNotifications","body","unsubscribe","subscription","factory","ɵfac","providedIn","AccountRequestModalStateService","modalRefSubject","BehaviorSubject","setModalRef","modalRef","next","getModalRefObservable","asObservable","factory","ɵfac","providedIn","ɵɵelement","ɵɵproperty","ctx_r2","faIcons","faArrowLeft","faArrowRight","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","navService","toggleNavFixed","ɵɵtemplate","MatSideNavComponent_Conditional_0_Conditional_1_Template","MatSideNavComponent_Conditional_0_Conditional_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵconditional","isNavFixed","ɵɵelementContainer","MatSideNavComponent_For_6_Conditional_0_ng_container_0_Template","navItem_r5","ɵɵpureFunction1","_c0","nav_r4","MatSideNavComponent_For_6_Conditional_0_Template","isSubNav","ɵɵtext","_r6","logout","user","id","MatSideNavComponent_ng_template_16_Conditional_0_ng_container_0_Template","nav_r8","children","length","navItemTree_r10","navItemNode_r11","ɵɵpureFunction2","_c1","level_r9","MatSideNavComponent_ng_template_16_Conditional_0_Template","canViewNav","nav_r13","icon","MatSideNavComponent_ng_template_18_Conditional_7_For_2_ng_container_0_Template","subNav_r14","level_r15","ɵɵrepeaterCreate","MatSideNavComponent_ng_template_18_Conditional_7_For_2_Template","_forTrack0","ɵɵrepeater","_r12","nav","toggleSubNav","MatSideNavComponent_ng_template_18_Conditional_2_Template","MatSideNavComponent_ng_template_18_Conditional_7_Template","ɵɵclassProp","name","selectedMainNav","ɵɵtextInterpolate","tmp_9_0","shortName","undefined","expanded","faAngleDown","nav_r18","ctx_r16","_r16","level_r19","level","navLinkClicked","MatSideNavComponent_ng_template_20_Conditional_2_Template","MatSideNavComponent_ng_template_20_Conditional_5_Template","navLinkIsLoading","href","path","tmp_11_0","_r20","scrollToBottom","ns","step1Count","step2Count","step3Count","_r21","openFulfillmentList","MatSideNavComponent_Conditional_25_Conditional_3_Template","MatSideNavComponent_Conditional_25_Conditional_7_Template","MatSideNavComponent_Conditional_25_Conditional_11_Template","ɵɵstyleProp","iconColorName","faPrescription","faBoxOpen","faUserMd","accountRequestCount","_r22","openOrgAccountUpdateModal","MatSideNavComponent_Conditional_26_Conditional_3_Template","faArrowRightArrowLeft","notificationsService","unreadCount","_r23","toggleNotificationsNav","MatSideNavComponent_Conditional_27_Conditional_2_Template","faIconName","faBell","MatSideNavComponent","router","sec","httpClient","modalService","arms","gs","ms","gvs","cdRef","inject","NavigationService","sseService","SseNotificationService","NotificationsService","NavNotificationService","navContentOffscreen","observer","IntersectionObserver","entries","isIntersecting","navLinkLoading","signal","faUser","faBoxesPacking","step1Position","FaIconPosition","FaPositionUnits","percent","faNumColor","FaNumColor","FaIconName","fileLogoUrl","mode","pcgSettings","navigationOffset","busArea","BusinessAreaEnum","role","PermissionRole","resizeTimeout","onResize","clearTimeout","setTimeout","fixNavOffset","constructor","ngOnInit","navRoutes","set","getSecureNavItems","getMainNavRoutes","navRoutes$","pipe","untilDestroyed","subscribe","ngAfterViewInit","getHeaderCounts","ngAfterContentChecked","detectChanges","mainNav","document","getElementById","getComputedStyle","position","getBoundingClientRect","bottom","styles","tableStyles","setDynamicStyle","checkForContentOffscreen","dynamicStyle","head","removeChild","createElement","innerHTML","appendChild","navAnchor","observe","setModalRef","open","OrganizationAccountUpdateNavComponent","animation","step","window","location","destroySSE","collapseAllSubNavs","setSecurity","localStorage","removeItem","deleteAllCookies","navigate","sessionStorage","loggedInUsingSso","getItem","setItem","get","msg","isSuccessful","value","setSystemMessage","message","messageClass","cookie","split","forEach","trim","toggleUserProfileSubNav","isOpen","userProfileExpanded","isMobile","isNavOpen","openNewTab","openInNewTab","toggleNavOpen","namedRoute","newRelativeUrl","createUrlTree","baseUrl","replace","url","redirect","FormatHelperService","GetIsNullyOrWhitespace","reload","navigateByUrl","catch","err","console","log","currentName","currentLevel","scrollIntoView","behavior","block","inline","ɵɵdirectiveInject","Router","SecurityService","HttpClient","NgbModal","AccountRequestModalStateService","GlobalService","SystemMessageService","GlobalVariablesService","ChangeDetectorRef","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","MatSideNavComponent_Conditional_0_Template","i0","_r1","MatSideNavComponent_Conditional_3_Template","MatSideNavComponent_For_6_Template","MatSideNavComponent_Conditional_14_Template","MatSideNavComponent_ng_template_16_Template","ɵɵtemplateRefExtractor","MatSideNavComponent_ng_template_18_Template","MatSideNavComponent_ng_template_20_Template","MatSideNavComponent_Conditional_22_Template","MatSideNavComponent_Conditional_25_Template","MatSideNavComponent_Conditional_26_Template","MatSideNavComponent_Conditional_27_Template","firstName","lastName","fulfillmentNavAccess","accountRequestAccess","__decorate","UntilDestroy","BAService","sec","inject","SecurityService","userStateService","UserStateService","http","HttpClient","toCardinalInvoice","signal","quickSearchTooltip","quickSearchIcon","faMagnifyingGlass","minTypeaheadLength","isBaAdmin","computed","user","hasModuleAccess","BusinessAreaEnum","BA","setMinRole","PermissionRole","SystemAdmin","isBaManager","Manager","isBaUser","User","getConfirmationNumTypeahead","text$","pipe","debounceTime","distinctUntilChanged","switchMap","confirmationNum","length","get","encodeURIComponent","trim","getInvoiceNumTypeahead","invoiceNum","getCustomerPoNumTypeahead","customerPoNum","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r2","confirmNumErrorMsg","ɵɵelement","invoiceNumErrorMsg","BAQuickNavComponent","quickNavService","inject","QuickNavService","baService","BAService","toastr","ToastrService","destroyRef","DestroyRef","router","Router","confirmationNum","invoiceNum","confirmNumHasErrors","invoiceNumHasErrors","navWithConfirmNum","isInputValid","getConfirmationNumTypeahead","of","pipe","tap","response","length","error","positionClass","timeOut","toCardinalInvoice","navigate","queryParams","warning","takeUntilDestroyed","subscribe","navWithInvoiceNum","trim","getInvoiceNumTypeahead","clearErrors","inputType","input","close","nativeElement","value","set","closeContent","selectors","viewQuery","rf","ctx","ɵɵlistener","i0","ɵɵrestoreView","_r1","preventCloseContent","ɵɵresetView","confirmationNum_r2","ɵɵreference","ɵɵtemplate","BAQuickNavComponent_Conditional_15_Template","BAQuickNavComponent_Conditional_16_Template","invoiceNum_r4","BAQuickNavComponent_Conditional_26_Template","BAQuickNavComponent_Conditional_27_Template","BAQuickNavComponent_ng_template_28_Template","ɵɵtemplateRefExtractor","$event","ɵɵproperty","ɵɵconditional","invoiceToolTip_r5","PharmacyQuickNavComponent","quickNavService","inject","QuickNavService","faExclamationCircle","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","closeContent","ɵɵadvance","ɵɵproperty","ɵɵelementContainer","ɵɵtemplate","QuickNavControllerComponent_Conditional_0_ng_container_0_Template","ɵɵproperty","ctx_r0","templateOutletSignal","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","faIconName","faScannerGun","faMagnifyingGlass","QuickNavControllerComponent_Conditional_5_ng_template_0_Template","ɵɵtemplateRefExtractor","QuickNavControllerComponent","navService","inject","NavigationService","location","Location","destroyRef","DestroyRef","globalService","GlobalService","sec","SecurityService","ciRepack","ba","pharmacy","signal","undefined","hasPharmacyNavAccess","ngOnInit","setNavSubscription","setPermissionBools","ngAfterViewInit","setInitSignal","initLocation","path","includes","set","isQuickNavDisplayed","currSelectedMainNavMenu$","pipe","takeUntilDestroyed","subscribe","navRoute","module","BusinessAreaEnum","CI","BA","Inventory","hasModuleAccess","PermissionRole","Pharmacist","selectors","viewQuery","rf","ctx","QuickNavControllerComponent_Conditional_0_Template","QuickNavControllerComponent_ng_template_1_Template","QuickNavControllerComponent_ng_template_3_Template","QuickNavControllerComponent_Conditional_5_Template","ɵɵconditional","ɵɵadvance","NavigationModule","RouterModule","CommonModule","FormsModule","ReactiveFormsModule","FontAwesomeModule","NgbTooltipModule","FormElementsModule","UiSwitchModule","MaterialsModule","NgbTypeaheadModule","EditOrganizationFacilityVm","facilityId","facilityName","facilityIdentifier","countyId","countyName","smartyAddress","smartyAddressString","hasSmarty","stateAbr","phoneNumber","dauCode","isActive","isSameAddress","shipFacilityName","shipSmartyAddress","shipSmartyAddressString","hasShipSmarty","shipStateAbr","isShipAddressValidated","friendlyId","gln","medicalDirectorId","medicalDirectorName","medicalDirectorLicense","medicalDirectorExpDate","organizationId","pfsFacilityId","reconCountsRequired","facilityTypeId","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","minLength","pattern","Form","UntypedFormGroup","GetModel","fg","EditOrganizationFacilityVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","item_r1","ProgramsAccountsInfographicComponent","httpClient","facilityTypeId","data","constructor","ngOnInit","get","subscribe","vm","buildObject","map","p","label","program","expanded","styleClass","children","c","i","orgAccount","replace","wholesalerAccount","ɵɵdirectiveInject","HttpClient","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","ProgramsAccountsInfographicComponent_div_12_Template","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","navToFacilityDetail","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","faIconName","faExternalLink","_r4","activateDeactivate","model","isActive","ɵɵclassProp","ɵɵtextInterpolate1","ɵɵtemplate","EditOrganizationFacilityComponent_div_12_a_4_Template","canEdit","facilityId","_r5","validateCountyId","recon_r8","sysInvReconciliationId","sysInvInventoryId","ɵɵtextInterpolate","reconciliationName","_r7","closeSystemMessage","EditOrganizationFacilityComponent_div_74_button_10_Template","getCenteredStyles","ɵɵclassMap","firstLoad","pendingRecons","modal_r10","_r9","$implicit","dismiss","facilityTypeName","formGroup","controls","facilityTypeId","value","EditOrganizationFacilityComponent","httpClient","router","sec","activationService","ms","businessArea","organizationId","onSaveSuccess","EventEmitter","isSameAddress","isShipAddressValidated","infographicModal","facilityTypeSelect","modalService","inject","NgbModal","EditOrganizationFacilityVm","Form","GetModel","model$","api","canDeactivate","canViewReports","canManualEntry","canEditFacilityType","shipAddressDisabled","showHiddenFields","facilityName","oldShipSmartyAddress","oldShipFacilityName","faDiagramNested","showReconErrorMessage","facilityTypeTooltip","signal","constructor","title","setTitle","ngOnInit","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","PermissionRole","UserAdmin","CI","Manager","Pharmacist","editFacility","undefined","SystemAdmin","get","subscribe","vm","countyId","setValue","shipFacilityName","shipSmartyAddress","toggleShippingFormActivation","disable","update","tooltip","ActivationEnum","Facility","updateShippingInfo","countyName","patchValue","smartyAddress","checked","enableShipFacilityName","disableShipFacilityName","updateValueAndValidity","submitForms","valid","validateForm","disabled","hasDisabledShipFacilityName","post","sm","isSuccessful","onMessageSuccess","onMessageError","reroute","Number","isNaN","navigate","MetabolicFormula","setSysMessage","emit","showSystemMessage","showCustomReconMessage","settings","messageOpen","setTimeout","mm","document","body","clientWidth","mw","minWidth","left","enable","medDirectorChange","select","medicalDirectorLicense","additionalData","licenseNumber","medicalDirectorExpDate","expirationDate","setSystemMessage","message","messageClass","navigateByUrl","editFacilityLink","openChartModal","text","open","size","animation","ɵɵdirectiveInject","HttpClient","Router","Title","ActivationService","SystemMessageService","selectors","viewQuery","rf","ctx","i0","_r1","EditOrganizationFacilityComponent_button_11_Template","EditOrganizationFacilityComponent_div_12_Template","EditOrganizationFacilityComponent_button_28_Template","select_r6","ɵɵreference","EditOrganizationFacilityComponent_div_74_Template","EditOrganizationFacilityComponent_ng_template_75_Template","ɵɵtemplateRefExtractor","formattedAddress","OrganizationUsersVm","id","name","email","phoneNumber","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","OrganizationUsersVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","createUser","ɵɵtext","ɵɵelementEnd","_r3","addUserBtn","ɵɵadvance","ɵɵtextInterpolate","columns","get","displayName","ɵɵproperty","getEditUserLink","row_r4","id","ɵɵsanitizeUrl","name","ɵɵtemplate","AssociatedUsersComponent_ng_container_0_td_9_Conditional_1_Template","AssociatedUsersComponent_ng_container_0_td_9_Conditional_2_Template","ɵɵconditional","canEditUser","row_r5","email","row_r6","phoneNumber","ɵɵelementContainerStart","AssociatedUsersComponent_ng_container_0_Conditional_4_Template","AssociatedUsersComponent_ng_container_0_Conditional_5_Template","AssociatedUsersComponent_ng_container_0_th_8_Template","AssociatedUsersComponent_ng_container_0_td_9_Template","AssociatedUsersComponent_ng_container_0_th_11_Template","AssociatedUsersComponent_ng_container_0_td_12_Template","AssociatedUsersComponent_ng_container_0_th_14_Template","AssociatedUsersComponent_ng_container_0_td_15_Template","canCreateUser","canAddUser","ɵɵpureFunction1","_c2","ɵɵpureFunction0","_c1","params","ɵɵelement","_r8","handleOrganizations","allOrganizations","associatedOrganizations","$event","_r7","saveUser","AssociatedUsersComponent_ng_template_1_Conditional_24_Template","AssociatedUsersComponent_ng_template_1_Conditional_25_Template","cancelAdd","formGroup","canEditOrganizations","userId","row_r11","row_r12","row_r14","_r13","$implicit","existingUserTable_r15","ɵɵreference","addExistingUser","modal_r10","_r9","dismiss","AssociatedUsersComponent_ng_template_3_th_11_Template","AssociatedUsersComponent_ng_template_3_td_12_Template","AssociatedUsersComponent_ng_template_3_th_14_Template","AssociatedUsersComponent_ng_template_3_td_15_Template","AssociatedUsersComponent_ng_template_3_th_17_Template","AssociatedUsersComponent_ng_template_3_td_18_Template","_c3","_c4","filters","AssociatedUsersComponent","activatedRoute","modalService","security","httpClient","ms","dynForm","table","modalContent","businessArea","orgId","facilityIds","EditUserVm","Form","model","GetModel","organizations","canDeleteUser","isCreate","organizationId","newUser","OrganizationUsersVm","ColumnDefs","constructor","hasModuleAccess","BusinessAreaEnum","Admin","PermissionRole","Pharmacist","CI","MetabolicFormula","UserAdmin","SecurityService","setMinRole","Manager","SystemAdmin","ngOnInit","setSecurity","snapshot","undefined","reloadTable","ajaxReload","open","animation","beforeDismiss","post","subscribe","msg","isSuccessful","parseInt","paramMap","vm","updateFormGroupFields","fields","patchValue","populateOrganizations","controls","setValue","isActive","items","reduce","accum","current","push","text","value","length","filter","i","find","o","organization","organizationIds","includes","message","link","setSystemMessage","ɵɵdirectiveInject","ActivatedRoute","NgbModal","HttpClient","SystemMessageService","DynamicFormService","selectors","viewQuery","rf","ctx","TableComponent","AssociatedUsersComponent_ng_container_0_Template","AssociatedUsersComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","AssociatedUsersComponent_ng_template_3_Template","createUserForm_r16","MedicalDirectorVm","medicalDirectorId","fullName","licenseNumber","expirationDate","expirationDateStr","lastUpdatedDate","lastUpdatedDateStr","lastUpdatedUserId","lastUpdatedBy","pfsId","friendlyId","uploadFiles","medicalDirectorFiles","licenseFileName","actions","actionsSelected","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","UntypedFormArray","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","MedicalDirectorVmFromFg","constructor","get","value","val","setValue","EditOrganizationVm","organizationId","organizationName","countyId","countyName","smartyAddress","smartyAddressString","hasSmarty","stateAbr","phoneNumber","isActive","isSameAddress","shipOrganizationName","shipSmartyAddress","shipSmartyAddressString","hasShipSmarty","shipStateAbr","isShipAddressValidated","friendlyId","gln","medicalDirectorId","medicalDirectorName","medicalDirectorLicense","medicalDirectorExpDate","isSingleFacility","facilityIdentifier","dauCode","facilityIds","loginType","loginTypeEnum","ssoType","ssoTypeEnum","entraIdentifierUrl","entraLoginUrl","isBPHP","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","minLength","pattern","Form","UntypedFormGroup","GetModel","fg","EditOrganizationVmFromFg","constructor","get","value","val","setValue","OrganizationFacilityListVm","facilityId","facilityName","facilityIdentifier","city","county","isActive","canDelete","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","OrganizationFacilityListVmFromFg","constructor","get","value","val","setValue","SysInvInventoryVm","sysInvInventoryId","facilityId","organizationId","name","type","programIds","programs","active","canDelete","friendlyId","createdByUserStr","createdByUserId","createdDate","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","SysInvInventoryVmFromFg","constructor","get","value","val","setValue","FacilityInventoryService","http","constructor","getInventory","id","get","activateDeactivate","ɵɵinject","HttpClient","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","showInactiveInventories","ɵɵresetView","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵtwoWayProperty","ɵɵlistener","_r3","editInventory","ɵɵelement","ɵɵproperty","faIcon","faPlus","ɵɵtextInterpolate","inv_r5","programs","slice","join","_r6","$implicit","stopPropagation","showPrograms","ɵɵtextInterpolate1","length","active","_r7","updateInventoryList","sysInvInventoryId","_r4","ɵɵtemplate","OrgFacilityInventoriesComponent_Conditional_4_For_3_Conditional_0_Conditional_18_Template","OrgFacilityInventoriesComponent_Conditional_4_For_3_Conditional_0_Conditional_19_Template","OrgFacilityInventoriesComponent_Conditional_4_For_3_Conditional_0_Conditional_20_Template","OrgFacilityInventoriesComponent_Conditional_4_For_3_Conditional_0_Conditional_21_Template","ɵɵclassProp","canEdit","name","parseEnum","type","ɵɵconditional","canDelete","OrgFacilityInventoriesComponent_Conditional_4_For_3_Conditional_0_Template","OrgFacilityInventoriesComponent_Conditional_4_Conditional_1_Template","ɵɵrepeaterCreate","OrgFacilityInventoriesComponent_Conditional_4_For_3_Template","_forTrack0","ɵɵrepeater","inventoryList","_r9","AddAllPrograms","fg","controls","programIds","value","_r10","activateDeactivate","_r8","showEditInventory","handleSave","OrgFacilityInventoriesComponent_Conditional_5_Conditional_12_Template","OrgFacilityInventoriesComponent_Conditional_5_Conditional_13_Template","OrgFacilityInventoriesComponent_Conditional_5_Conditional_17_Template","faXmark","types","orgFacility","facilityTypeId","_r12","allPrograms","toggleProgramView","program_r14","OrgFacilityInventoriesComponent_ng_template_6_Conditional_8_li_5_Template","inv","program_r15","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_li_2_li_4_Template","inv_r16","program_r17","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_Conditional_3_li_3_li_4_Template","inv_r18","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_Conditional_3_li_3_Template","inactiveInventoryList","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_Conditional_0_Template","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_li_2_Template","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_Conditional_3_Template","activeInventoryList","OrgFacilityInventoriesComponent_ng_template_6_Conditional_3_Template","modal_r13","_r11","dismiss","OrgFacilityInventoriesComponent_ng_template_6_Conditional_8_Template","OrgFacilityInventoriesComponent_ng_template_6_Conditional_9_Template","OrgFacilityInventoriesComponent","http","sm","fi","userState","modalService","facilityId","organizationId","modalProgram","SysInvInventoryVm","Form","model$","constructor","ngOnInit","getOrgFacility","setSelectItemTypes","getInventoryList","get","subscribe","vm","list","updateInventoryLists","id","newModel","patchValue","model","find","o","disable","val","InventoryTypeEnum","toDisplay","invList","filter","updateUser","UserStateService","getCurrentUser","Object","values","isNaN","Number","Both","map","text","items","setValue","item","parseInt","isSuccessful","setSystemMessage","message","messageClass","open","animation","ɵɵdirectiveInject","HttpClient","SystemMessageService","FacilityInventoryService","NgbModal","selectors","viewQuery","rf","ctx","OrgFacilityInventoriesComponent_Conditional_3_Template","OrgFacilityInventoriesComponent_Conditional_4_Template","OrgFacilityInventoriesComponent_Conditional_5_Template","OrgFacilityInventoriesComponent_ng_template_6_Template","ɵɵtemplateRefExtractor","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r4","ctx_r1","ɵɵnextContext","ɵɵresetView","showEditOrganizationFacility","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵproperty","row_r5","facilityId","ɵɵadvance","faIcon","faExternalLink","ɵɵtemplate","OrganizationFacilityListComponent_ng_container_0_td_19_Conditional_1_Template","ɵɵconditional","ɵɵtextInterpolate","columns","get","displayName","row_r6","facilityName","row_r7","facilityIdentifier","row_r8","city","row_r9","county","row_r10","isActive","table_r3","row_r11","OrganizationFacilityListComponent_ng_container_0_td_37_Conditional_1_Template","canDeleteFacility","ɵɵelementContainerStart","_r1","reloadTable","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","filters","ɵɵreference","ajaxReload","OrganizationFacilityListComponent_ng_container_0_Conditional_14_Template","openFacility","OrganizationFacilityListComponent_ng_container_0_th_18_Template","OrganizationFacilityListComponent_ng_container_0_td_19_Template","OrganizationFacilityListComponent_ng_container_0_th_21_Template","OrganizationFacilityListComponent_ng_container_0_td_22_Template","OrganizationFacilityListComponent_ng_container_0_th_24_Template","OrganizationFacilityListComponent_ng_container_0_td_25_Template","OrganizationFacilityListComponent_ng_container_0_th_27_Template","OrganizationFacilityListComponent_ng_container_0_td_28_Template","OrganizationFacilityListComponent_ng_container_0_th_30_Template","OrganizationFacilityListComponent_ng_container_0_td_31_Template","OrganizationFacilityListComponent_ng_container_0_th_33_Template","OrganizationFacilityListComponent_ng_container_0_td_34_Template","OrganizationFacilityListComponent_ng_container_0_th_36_Template","OrganizationFacilityListComponent_ng_container_0_td_37_Template","ɵɵtwoWayProperty","canEdit","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","filterMap","initFilters","id","selectedFacilityId","_r12","orgFacilityInventories","getInventoryList","OrganizationFacilityListComponent_ng_template_1_Conditional_2_Template","hideEditOrganizationFacility","OrganizationFacilityListComponent","route","btnFilterService","sec","table","businessArea","Object","assign","canDelete","showBusinessArea","OrganizationFacilityListVm","ColumnDefs","constructor","ngOnInit","hasModuleAccess","BusinessAreaEnum","Admin","SecurityService","setMinRole","PermissionRole","UserAdmin","SystemAdmin","resetFilterData","subscribe","resetFilters","queryParamMap","params","has","parseInt","hideShowColumn","FormatHelperService","GetIsNully","row","ɵɵdirectiveInject","ActivatedRoute","ButtonFilterService","selectors","viewQuery","rf","ctx","TableComponent","OrgFacilityInventoriesComponent","OrganizationFacilityListComponent_ng_container_0_Template","OrganizationFacilityListComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","editOrganizationFacility_r13","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","columns","get","displayName","row_r3","dateChangedFormatted","row_r4","module","row_r5","recordAffected","row_r6","field","row_r7","changedFrom","row_r8","changedTo","row_r9","changedBy","OrganizationAuditHistoryComponent","activatedRoute","table","AuditHistoryVm","ColumnDefs","organizationId","organizationName","filters","faIconName","faBuildingColumns","constructor","title","setTitle","ngOnInit","snapshot","params","ɵɵdirectiveInject","Title","ActivatedRoute","selectors","viewQuery","rf","ctx","TableComponent","ɵɵlistener","$event","i0","ɵɵrestoreView","_r1","ɵɵresetView","value","ɵɵelementContainerStart","ɵɵtemplate","OrganizationAuditHistoryComponent_th_5_Template","OrganizationAuditHistoryComponent_td_6_Template","OrganizationAuditHistoryComponent_th_8_Template","OrganizationAuditHistoryComponent_td_9_Template","OrganizationAuditHistoryComponent_th_11_Template","OrganizationAuditHistoryComponent_td_12_Template","OrganizationAuditHistoryComponent_th_14_Template","OrganizationAuditHistoryComponent_td_15_Template","OrganizationAuditHistoryComponent_th_17_Template","OrganizationAuditHistoryComponent_td_18_Template","OrganizationAuditHistoryComponent_th_20_Template","OrganizationAuditHistoryComponent_td_21_Template","OrganizationAuditHistoryComponent_th_23_Template","OrganizationAuditHistoryComponent_td_24_Template","ɵɵclassProp","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpureFunction0","_c0","OrganizationAccountVm","organizationAccountId","facilityAccountNameId","facilityAccountNamePfsId","facilityAccountNameStr","organizationId","pfsIds","pfsFacilityAccountIds","organizationStr","accountNumber","expirationDate","expirationDateStr","notes","file","uploadFiles","uploadFilePath","fileName","isActive","isGracePeriod","isNewRequest","friendlyId","actions","actionsSelected","lastUpdatedDate","lastUpdatedDateStr","lastUpdatedUserId","lastUpdatedBy","hasPendingRequest","daysRemaining","organizationLink","pfsRequestIds","isRemoveDoc","homerEmailSent","pfsRequestedByEmail","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","pattern","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","OrganizationAccountVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r2","columns","get","displayName","ɵɵlistener","ɵɵrestoreView","_r4","row_r5","ɵɵnextContext","$implicit","ɵɵresetView","actionClick","actions","ɵɵtemplate","OrganizationAccountsComponent_ng_container_0_td_22_Conditional_1_Template","ɵɵconditional","actionsSelected","OrganizationAccountsComponent_ng_container_0_td_25_Conditional_2_Template","OrganizationAccountsComponent_ng_container_0_td_25_Conditional_3_Template","ɵɵtextInterpolate1","row_r6","facilityAccountNameStr","hasPendingRequest","isNewRequest","row_r7","accountNumber","row_r8","expirationDateStr","OrganizationAccountsComponent_ng_container_0_td_34_Conditional_1_Template","OrganizationAccountsComponent_ng_container_0_td_34_Conditional_2_Template","row_r9","isActive","row_r10","lastUpdatedDateStr","row_r11","lastUpdatedBy","row_r13","_r12","openFile","uploadFilePath","fileName","ɵɵelementContainerStart","_r1","table_r2","ɵɵreference","ajaxReload","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","filters","OrganizationAccountsComponent_ng_container_0_th_21_Template","OrganizationAccountsComponent_ng_container_0_td_22_Template","OrganizationAccountsComponent_ng_container_0_th_24_Template","OrganizationAccountsComponent_ng_container_0_td_25_Template","OrganizationAccountsComponent_ng_container_0_th_27_Template","OrganizationAccountsComponent_ng_container_0_td_28_Template","OrganizationAccountsComponent_ng_container_0_th_30_Template","OrganizationAccountsComponent_ng_container_0_td_31_Template","OrganizationAccountsComponent_ng_container_0_th_33_Template","OrganizationAccountsComponent_ng_container_0_td_34_Template","OrganizationAccountsComponent_ng_container_0_th_36_Template","OrganizationAccountsComponent_ng_container_0_td_37_Template","OrganizationAccountsComponent_ng_container_0_th_39_Template","OrganizationAccountsComponent_ng_container_0_td_40_Template","OrganizationAccountsComponent_ng_container_0_th_42_Template","OrganizationAccountsComponent_ng_container_0_td_43_Template","ɵɵtwoWayProperty","ɵɵproperty","newModel","ɵɵpureFunction1","_c2","ɵɵpureFunction0","_c1","btnFilterService","filterMap","_r15","formGroup","facilityFile","maxFiles","_r16","clearFile","ɵɵelement","controls","value","ɵɵsanitizeUrl","_r14","editSave","accountNameClicked","setExpDateRequired","updateExpStr","OrganizationAccountsComponent_ng_template_1_Conditional_29_Template","OrganizationAccountsComponent_ng_template_1_Conditional_30_Template","cancel","ɵɵclassProp","expDateRequired","ɵɵpipeBind2","expirationDate","hasFile","saveBtnDisabled","saveBtnTooltip","_r18","editClick","_r19","deleteClick","OrganizationAccountsComponent_ng_template_3_Conditional_3_Conditional_1_Template","OrganizationAccountsComponent_ng_template_3_Conditional_3_Conditional_2_Template","_r17","canEdit","canDelete","_r20","performDelete","OrganizationAccountsComponent_ng_template_3_Conditional_3_Template","OrganizationAccountsComponent_ng_template_3_Conditional_4_Template","editClicked","deleteClicked","OrganizationAccountsComponent","sec","arms","modalService","sm","cdr","router","inject","ActivatedRoute","http","HttpClient","notificationService","NotificationService","ns","NavNotificationService","table","accountUpdateOptions","id","businessArea","accountId","OrganizationAccountVm","ColumnDefs","Form","initFormGroup","initFilters","Object","assign","accountQueueModalRef","isOpen","clearFileClick","accountNameClick","isLoading","strAction","constructor","title","setTitle","ngOnInit","hasModuleAccess","SecurityService","setMinRole","PermissionRole","User","BusinessAreaEnum","Admin","SystemAdmin","resetFilterData","subscribe","resetFilters","reloadTablePromise","patchValue","valueChanges","isSaveDisabled","parseInt","snapshot","paramMap","getAccount","hideShowColumn","FormatHelperService","GetIsNully","sub","tableReceive","r","row","data","filter","d","facilityAccountNameId","setValue","unsubscribe","detectChanges","getModalRefObservable","modalRef","result","then","catch","e","filePath","includes","window","open","location","origin","isNew","setModelValues","animation","reset","organizationId","GetIsNullyOrWhitespace","dismissAll","next","isNotification","addValidators","Validators","required","clearValidators","updateValueAndValidity","error","showMessage","msg","messageClass","getHttpObservable","organizationAccountId","file","errors","validateForm","valid","isSuccessful","getHeaderCounts","setTimeout","expDateStr","formatDate","JSON","stringify","ɵɵdirectiveInject","ButtonFilterService","Title","AccountRequestModalStateService","NgbModal","SystemMessageService","ChangeDetectorRef","selectors","viewQuery","rf","ctx","TableComponent","OrganizationAccountsComponent_ng_container_0_Template","OrganizationAccountsComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","OrganizationAccountsComponent_ng_template_3_Template","accountUpdate_r21","LoginTypeEnum","toDescription","val","toDisplay","SSOTypeEnum","toDescription","val","toDisplay","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","changeLoginType","ɵɵelementEnd","ɵɵproperty","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate","model","loginType","_r3","openInfo","ɵɵelement","ssoType","ɵɵtemplate","OrganizationLoginsComponent_Conditional_0_Conditional_18_Conditional_3_Template","OrganizationLoginsComponent_Conditional_0_Conditional_18_Conditional_4_Template","OrganizationLoginsComponent_Conditional_0_Conditional_18_Conditional_5_Template","ɵɵconditional","ssoTypeEnum","canEdit","_r4","onSave","OrganizationLoginsComponent_Conditional_0_Conditional_16_Template","OrganizationLoginsComponent_Conditional_0_Conditional_17_Template","OrganizationLoginsComponent_Conditional_0_Conditional_18_Template","OrganizationLoginsComponent_Conditional_0_Conditional_19_Template","OrganizationLoginsComponent_Conditional_0_Conditional_21_Template","formGroup","showSsoType","_r5","closeInfo","faIconName","faXmark","ɵɵclassMap","isMobile","ɵɵsanitizeUrl","OrganizationLoginsComponent","sec","router","httpClient","ms","vm","EditOrganizationVm","Form","GetModel","infoOpened","constructor","onResize","GlobalService","setIsMobile","window","innerWidth","ngOnInit","bae","BusinessAreaEnum","pr","PermissionRole","hasModuleAccess","Admin","SecurityService","setMinRole","UserAdmin","newvm","patchValue","loginTypeEnum","LoginTypeEnum","SSO","Both","controls","value","SSOTypeEnum","MicrosoftEntraAD","post","getRawValue","subscribe","sm","__async","isSuccessful","setSystemMessage","message","messageClass","ɵɵdirectiveInject","Router","HttpClient","SystemMessageService","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","OrganizationLoginsComponent_Conditional_0_Template","OrganizationLoginsComponent_Conditional_1_Template","ɵɵelement","ɵɵproperty","ctx_r1","pr","UserAdmin","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","activateDeactivate","ɵɵresetView","model","isActive","ɵɵclassProp","ɵɵadvance","ɵɵtextInterpolate","ɵɵtemplate","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Conditional_19_Conditional_4_Template","ɵɵconditional","canEdit","organizationId","_r5","select_r4","ɵɵreference","addMedicalDirector","select","searchTerm","_r6","validateCountyId","id","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Conditional_1_Template","_r1","submitForms","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Conditional_3_Template","onSingleFacilityChange","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Conditional_19_Template","medDirectorChange","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_ng_template_24_Template","ɵɵtemplateRefExtractor","updateShippingInfo","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Conditional_69_Template","formGroup","facilityId","canDeactivate","missingMedicalDirector_r7","ɵɵtextInterpolate1","medicalDirectorLicense","medicalDirectorExpDate","canManualEntry","api","controls","countyName","value","shipAddressDisabled","shipOrganizationName","shipSmartyAddress","formattedAddress","isSingleFacility","faIconName","faBuilding","viewModel","businessArea","facilityIds","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_3_ng_template_1_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_3_ng_template_3_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_3_ng_template_5_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_3_ng_template_7_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_5_ng_template_1_Template","EditOrganizationComponent_Conditional_0_Conditional_3_ng_template_2_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_3_Template","EditOrganizationComponent_Conditional_0_Conditional_3_Conditional_5_Template","ɵɵpipeBind1","model$","canViewReports","ɵɵelementContainerStart","EditOrganizationComponent_Conditional_0_Conditional_3_Template","organizationName","isBPHP","ɵɵpureFunction1","_c5","faHouseMedical","modal_r9","_r8","$implicit","dismiss","saveNewMedicalDirector","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","mdFormGroup","ɵɵpipeBind2","expirationDate","medicalDirectorId","medicalDirectorFiles","ɵɵtwoWayProperty","EditOrganizationComponent","router","notification","route","httpClient","sec","activationService","isSameAddress","isShipAddressValidated","addNewMD","EditOrganizationVm","Form","GetModel","canAccess","oldShipSmartyAddress","oldShipOrganizationName","newMD","MedicalDirectorVm","subscriptions","Subscription","deleteClicked","hasFile","clearFileClick","modalService","inject","NgbModal","bae","BusinessAreaEnum","PermissionRole","constructor","title","setTitle","ngOnInit","setPermissionBools","getOrganization","hasModuleAccess","Admin","SecurityService","setMinRole","User","Manager","FormatHelperService","GetIsNully","SystemAdmin","paramMap","subscribe","map","parseInt","get","pipe","tap","vm","countyId","setValue","toggleShippingFormActivation","setBPHP","disable","canSetBPHP","getUser","email","includes","ActivationEnum","Organization","patchValue","smartyAddress","checked","enableShipOrganizationName","disableShipOrganizationName","updateValueAndValidity","valid","validateForm","disabled","hasDisabledShipOrganizationName","post","sm","isSuccessful","onMessageSuccess","onMessageError","reroute","Number","isNaN","navigate","CI","MetabolicFormula","enable","additionalData","licenseNumber","facilityIdentifier","addValidators","Validators","required","removeValidators","setSysMessage","showMessage","message","messageClass","goBack","window","history","back","navigateByUrl","skipLocationChange","then","name","fullName","ToTitleCase","trim","GetIsNullyOrWhitespace","licenseFileName","open","animation","add","getHttpObservable","msg","getData","dismissAll","ɵɵdirectiveInject","Router","NotificationService","ActivatedRoute","HttpClient","ActivationService","Title","selectors","viewQuery","rf","ctx","EditOrganizationComponent_Conditional_0_Template","EditOrganizationComponent_ng_template_1_Template","EditOrganizationsModule","CommonModule","TableModule","detailExpand","trigger","state","style","height","opacity","lineHeight","padding","border","transition","animate","tableEntry","notificationSlide","transform","top","bottom","OrganizationListVm","organizationId","organizationName","address","city","state","zip","county","countyId","isActive","canDelete","isParent","orgCount","facilityCount","isBPHP","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","OrganizationListVmFromFg","constructor","get","value","val","setValue","CollapsibleTableRowStateEnum","CollapsibleTableService","expandedRows","Set","constructor","toggleRow","row","expandedOrCollapsed","CollapsibleTableRowStateEnum","Expanded","setCollapsed","setExpanded","add","delete","toggleAllRows","length","size","clear","Array","keys","collapseAllRows","has","Collapsed","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","navigateToNewOrganization","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","collapsibleTableService","expandedOrCollapsed","i_r5","ɵɵpureFunction1","_c0","rowchild_r6","isBPHP","canEditOrganization","editOrganizationLink","organizationId","ɵɵtextInterpolate","organizationName","ɵɵtextInterpolate4","address","city","state","zip","facilityCount","_r4","index","toggleRow","ɵɵtemplate","OrganizationsListComponent_Conditional_10_ng_container_16_ng_container_12_Template","row_r7","orgCount","county","filterChildren","_r3","toggleAllRows","orgList","length","OrganizationsListComponent_Conditional_10_ng_container_16_Template","expandedRows","size","filterParents","columns","get","displayName","row_r10","row_r11","row_r12","row_r13","row_r14","isActive","row_r15","table_r9","row_r16","OrganizationsListComponent_Conditional_11_td_54_Conditional_1_Template","ɵɵconditional","canDelete","_r8","reloadTable","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","filters","ɵɵreference","ajaxReload","medicalDirectorId","facilityId","tableCallback","OrganizationsListComponent_Conditional_11_th_35_Template","OrganizationsListComponent_Conditional_11_td_36_Template","OrganizationsListComponent_Conditional_11_th_38_Template","OrganizationsListComponent_Conditional_11_td_39_Template","OrganizationsListComponent_Conditional_11_th_41_Template","OrganizationsListComponent_Conditional_11_td_42_Template","OrganizationsListComponent_Conditional_11_th_44_Template","OrganizationsListComponent_Conditional_11_td_45_Template","OrganizationsListComponent_Conditional_11_th_47_Template","OrganizationsListComponent_Conditional_11_td_48_Template","OrganizationsListComponent_Conditional_11_th_50_Template","OrganizationsListComponent_Conditional_11_td_51_Template","OrganizationsListComponent_Conditional_11_th_53_Template","OrganizationsListComponent_Conditional_11_td_54_Template","ɵɵtwoWayProperty","_c2","ɵɵpureFunction0","_c1","filterMap","initFilters","OrganizationsListComponent","formatHelper","btnFilterService","security","router","httpClient","table","businessArea","BusinessAreaEnum","Admin","header","groupByCounty","showByCounty","baseEditRoles","PermissionRole","UserAdmin","SecurityService","setMinRole","Manager","hasOrgs","tableReceiveCount","canAdd","hasData","OrganizationListVm","ColumnDefs","constructor","ngOnInit","hasModuleAccess","CI","MetabolicFormula","SystemAdmin","resetFilterData","subscribe","resetFilters","getGroupedByCountyList","lst","Object","assign","tableResult","recordsTotal","User","navigateByUrl","hideShowColumn","GetIsNully","filter","o","isParent","row","countyId","ɵɵdirectiveInject","FormatHelperService","ButtonFilterService","Router","HttpClient","CollapsibleTableService","selectors","viewQuery","rf","ctx","TableComponent","OrganizationsListComponent_Conditional_0_Template","OrganizationsListComponent_div_3_Template","OrganizationsListComponent_Conditional_10_Template","OrganizationsListComponent_Conditional_11_Template","detailExpand","SafePipe","sanitizer","constructor","transform","url","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","DomSanitizer","pure","standalone","UtcToLocalPipe","transform","utcTimeString","utcDate","Date","millisecondsPerMinute","minutes","getTimezoneOffset","getTime","pure","standalone","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","ctx_r2","parentStep","i_r2","ɵɵtextInterpolate","ɵɵtemplate","StepperComponent_ng_container_2_div_1_span_2_Template","StepperComponent_ng_container_2_div_1_span_3_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","index","ɵɵresetView","manualClick","ɵɵproperty","ɵɵpureFunction1","_c0","selectedIndex","isChild","ɵɵclassProp","step_r5","label","StepperComponent_ng_container_2_div_2_span_2_Template","StepperComponent_ng_container_2_div_2_span_3_Template","_r6","ɵɵtextInterpolate1","ɵɵelement","ɵɵelementContainerStart","StepperComponent_ng_container_2_div_1_Template","StepperComponent_ng_container_2_div_2_Template","StepperComponent_ng_container_2_hr_3_Template","currentStep","isLast_r7","ɵɵelementContainer","step_r9","content","$event","_r8","_animationDone","next","StepperComponent_div_5_ng_container_1_Template","ɵɵstyleProp","stepDisplay","i_r10","_getAnimationDirection","_getStepContentId","destroyOnHide","StepperComponent","CdkStepper","canMoveForward","disableSpecificStepClicks","animationDone","EventEmitter","current","stepperNumberManuallyClicked","Array","apply","_steps","length","map","o","i","lastIndex","Subject","selectStepByIndex","emit","includes","ngAfterContentInit","changes","pipe","takeUntil","_destroyed","subscribe","_stateChanged","distinctUntilChanged","x","y","fromState","toState","event","__ngFactoryType__","selectors","inputs","outputs","standalone","features","ɵɵProvidersFeature","provide","useExisting","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StepperComponent_ng_container_2_Template","StepperComponent_div_5_Template","steps","trigger","state","style","opacity","transition","animate","StepperModule","CommonModule","FormsModule","RouterModule","CdkStepperModule","FontAwesomeModule","ɵɵelement","ɵɵproperty","ctx_r0","faIconName","faInfoCircle","tooltip","tooltipPlacement","TooltipLabelComponent","labelText","labelFontSize","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","TooltipLabelComponent_fa_icon_6_Template","ɵɵadvance","ɵɵstyleProp","ɵɵtextInterpolate","ɵɵtextInterpolate1","TooltipModule","CommonModule","routes","path","component","AuditHistoryComponent","canActivate","AuthGuard","canLoad","SharedModule","CdkStepperModule","CdkTableModule","CommonModule","FontAwesomeModule","FormElementsModule","FormsModule","MaterialsModule","NavigationModule","NgbDatepickerModule","NgbModalModule","NgbNavModule","NgbTooltipModule","NgbTypeaheadModule","NgSelectModule","ReactiveFormsModule","RouterModule","forChild","StepperModule","TableModule","TooltipModule","UiSwitchModule","ImageSliderModule","DragDropModule","InventoriesModule","EditOrganizationsModule","CodeEditor","PrimeNgModule"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,59]}