{"version":3,"file":"js/app.416b126a.js","mappings":"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","sources":["webpack://inforequest-vue/./src/App.vue?0387","webpack://inforequest-vue/./src/components/InfoRequest.vue?a6ae","webpack://inforequest-vue/./src/components/MainContent.vue?ca10","webpack://inforequest-vue/./src/components/layout/WetTop.vue?3175","webpack://inforequest-vue/./src/App.vue?23e1","webpack://inforequest-vue/./src/components/layout/WetTop.vue?e165","webpack://inforequest-vue/./src/components/layout/WetTop.vue","webpack://inforequest-vue/./src/components/layout/WetTop.vue?200c","webpack://inforequest-vue/./src/components/layout/WetTop.vue?e3dc","webpack://inforequest-vue/./src/components/layout/WetPreFooter.vue?458a","webpack://inforequest-vue/./src/components/layout/WetPreFooter.vue","webpack://inforequest-vue/./src/components/layout/WetPreFooter.vue?2a0c","webpack://inforequest-vue/./src/components/layout/WetFooter.vue?4391","webpack://inforequest-vue/./src/components/layout/WetFooter.vue","webpack://inforequest-vue/./src/components/layout/WetFooter.vue?09a1","webpack://inforequest-vue/./src/App.vue?38a5","webpack://inforequest-vue/./src/App.vue?a37c","webpack://inforequest-vue/./src/App.vue?b495","webpack://inforequest-vue/./src/App.vue","webpack://inforequest-vue/./src/views/InfoRequestView.vue?41af","webpack://inforequest-vue/./src/components/InfoRequest.vue?a4c8","webpack://inforequest-vue/./src/surveys/survey-base.ts","webpack://inforequest-vue/./src/surveys/widgets/widget-base.ts","webpack://inforequest-vue/./src/surveys/widgets/alert-widget.ts","webpack://inforequest-vue/./src/surveys/survey-pdf-base.ts","webpack://inforequest-vue/./src/surveys/widgets/download-widget.ts","webpack://inforequest-vue/./src/surveys/inforequest-survey.ts","webpack://inforequest-vue/./src/i18n.ts","webpack://inforequest-vue/./src/surveys/inforequest-survey-pdf.ts","webpack://inforequest-vue/./src/components/InfoRequest.vue?2386","webpack://inforequest-vue/./src/components/InfoRequest.vue?50bb","webpack://inforequest-vue/./src/components/InfoRequest.vue?1ec4","webpack://inforequest-vue/./src/components/InfoRequest.vue","webpack://inforequest-vue/./src/components/MainContent.vue?1beb","webpack://inforequest-vue/./src/components/MainContent.vue?e2ed","webpack://inforequest-vue/./src/components/MainContent.vue?7524","webpack://inforequest-vue/./src/components/MainContent.vue?9c1e","webpack://inforequest-vue/./src/components/MainContent.vue","webpack://inforequest-vue/src/views/InfoRequestView.vue","webpack://inforequest-vue/./src/views/InfoRequestView.vue?c516","webpack://inforequest-vue/./src/views/InfoRequestView.vue","webpack://inforequest-vue/./src/router/index.ts","webpack://inforequest-vue/./src/main.ts","webpack://inforequest-vue/./src/locales|sync|/[A-Za-z0-9-_,/s]+/.json$/i","webpack://inforequest-vue/external var \"jQuery\"","webpack://inforequest-vue/webpack/bootstrap","webpack://inforequest-vue/webpack/runtime/chunk loaded","webpack://inforequest-vue/webpack/runtime/compat get default export","webpack://inforequest-vue/webpack/runtime/create fake namespace object","webpack://inforequest-vue/webpack/runtime/define property getters","webpack://inforequest-vue/webpack/runtime/ensure chunk","webpack://inforequest-vue/webpack/runtime/get javascript chunk filename","webpack://inforequest-vue/webpack/runtime/get mini-css chunk filename","webpack://inforequest-vue/webpack/runtime/global","webpack://inforequest-vue/webpack/runtime/hasOwnProperty shorthand","webpack://inforequest-vue/webpack/runtime/load script","webpack://inforequest-vue/webpack/runtime/make namespace object","webpack://inforequest-vue/webpack/runtime/publicPath","webpack://inforequest-vue/webpack/runtime/jsonp chunk loading","webpack://inforequest-vue/webpack/startup"],"sourcesContent":["module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"browserNotSupportedTitle\":\"Browser not supported\",\"browserNotSupportedDescription\":\"This website is not compatible with Internet Explorer and older versions of Microsoft Edge. Please use a {0}.\",\"supportedBrowser\":\"supported browser\",\"supportedBrowserUrl\":\"https://www.priv.gc.ca/en/browser-not-supported/\"},\"fr\":{\"browserNotSupportedTitle\":\"Navigateur non pris en charge\",\"browserNotSupportedDescription\":\"Le navigateur Internet Explorer et les versions antérieures de Microsoft Edge ne sont pas pris en charge par le présent site Web. Veuillez utiliser un des {0}.\",\"supportedBrowser\":\"navigateurs compatible\",\"supportedBrowserUrl\":\"https://www.priv.gc.ca/fr/navigateur-non-pris-en-charge/\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"title\":\"Information Request Form - Completed\",\"completedMsg\":\"Thank you for sending us your question. Please note that we may take longer than usual to answer your question due to a high volume of information requests.\",\"referenceNumberMsg\":\"Your reference number is {0}.\",\"linksMsg\":\"If you are looking for information about a particular privacy topic, try browsing our {0} page or using our {1}.\",\"privacyTopicsText\":\"Privacy Topics\",\"privacyTopicsUrl\":\"https://www.priv.gc.ca/en/privacy-topics/privacy-laws-in-canada/the-personal-information-protection-and-electronic-documents-act-pipeda\",\"searchToolText\":\"Search tool\",\"searchToolUrl\":\"https://www.priv.gc.ca/en/search\",\"downloadASummaryOfYourInfoRequest\":\"Download a summary of your information request\",\"youCanDownloadASummary\":\"You can download a summary to save or print\",\"formSummary\":\"informationrequest_summary\",\"invalidRequestMessage\":\"An invalid request was made. Please try again.\"},\"fr\":{\"title\":\"Formulaire de demande d\\u0027information - Complété\",\"completedMsg\":\"Merci de nous avoir fait parvenir votre question. Veuillez noter qu’en raison d’un volume élevé de demandes d’information, nous pourrions prendre plus de temps que d’habitude pour répondre à votre question.\",\"referenceNumberMsg\":\"Votre numéro de référence est le {0}.\",\"linksMsg\":\"Si vous cherchez des renseignements sur un sujet lié à la protection de la vie privée en particulier, essayez de naviguer sur notre page {0} ou utilisez notre {1}\",\"privacyTopicsText\":\"Sujets liés à la protection de la vie privée\",\"privacyTopicsUrl\":\"https://www.priv.gc.ca/fr/sujets-lies-a-la-protection-de-la-vie-privee/lois-sur-la-protection-des-renseignements-personnels-au-canada/la-loi-sur-la-protection-des-renseignements-personnels-et-les-documents-electroniques-lprpde\",\"searchToolText\":\"Outil de recherche\",\"searchToolUrl\":\"https://www.priv.gc.ca/fr/recherche\",\"downloadASummaryOfYourInfoRequest\":\"Téléchargez un résumé de votre demande d\\u0027information\",\"youCanDownloadASummary\":\"Vous pouvez télécharger un résumé pour l’enregistrer ou l’imprimer\",\"formSummary\":\"sommaire_demandeinformation\",\"invalidRequestMessage\":\"Une requête invalide a été effectuée. Veuillez essayer de nouveau.\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"mainContent\":\"Main content\"},\"fr\":{\"mainContent\":\"Contenu principal\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"lang\":\"fr\",\"text\":\"Français\"},\"fr\":{\"lang\":\"en\",\"text\":\"English\"}}')\n delete Component.options._Ctor\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",attrs:{\"id\":\"app\"}},[(!_vm.isBrowserSupported)?_c('section',{staticClass:\"alert alert-warning\"},[_c('p',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$t(\"browserNotSupportedTitle\")))]),_c('i18n',{attrs:{\"path\":\"browserNotSupportedDescription\",\"tag\":\"p\"}},[_c('a',{attrs:{\"href\":_vm.$t('supportedBrowserUrl'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"supportedBrowser\")))])])],1):_vm._e(),_c('WetTop'),_c('router-view'),_c('WetPreFooter',{attrs:{\"pageDetails\":true,\"dateModified\":'2024-07-24',\"showFeedback\":_vm.feedbackApi,\"showShare\":true}}),_c('WetFooter')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetTop extends Vue {\n @Prop({ default: true }) readonly search!: boolean;\n @Prop({ default: true }) readonly siteMenu!: boolean;\n @Prop({ default: true }) readonly showPreContent!: boolean;\n @Prop({ default: true }) readonly topSecMenu!: boolean;\n\n created() {\n this.buildTop();\n }\n\n @Watch(\"$route\")\n onRouteChanged() {\n this.buildTop();\n }\n\n buildTop(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const lngLink = this.resolveLanguageLink(this.$route.meta?.lngRoute);\n const defTop = document.getElementById(\"def-top\");\n if (defTop) {\n defTop.innerHTML = wet.builder.top({\n cdnEnv: \"prod\",\n search: this.search,\n siteMenu: this.siteMenu,\n lngLinks: [\n {\n href: lngLink,\n lang: this.$t(\"lang\"),\n text: this.$t(\"text\"),\n },\n ],\n showPreContent: this.showPreContent,\n breadcrumbs: this.$route.meta?.breadcrumbs,\n topSecMenu: this.topSecMenu,\n });\n }\n }\n\n resolveLanguageLink(route: string): string {\n const lang = this.$i18n.t(\"lang\").toString();\n return this.$router.resolve({\n name: route,\n params: { lang: lang },\n }).href;\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetTop.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetTop.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetPreFooter extends Vue {\n @Prop() readonly dateModified?: string;\n @Prop({ default: false }) readonly showPostContent!: boolean;\n @Prop({ default: false }) readonly showShare!: boolean;\n @Prop() readonly showFeedback?: string;\n @Prop() readonly versionIdentifier?: string;\n @Prop() readonly screenIdentifier?: string;\n @Prop({ default: false }) readonly pageDetails!: boolean;\n @Prop({ default: null }) readonly isContainer!: boolean;\n\n created() {\n this.buildPreFooter();\n }\n\n @Watch(\"$i18n.locale\")\n onLocaleChanged() {\n this.buildPreFooter();\n }\n\n buildPreFooter(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const defPreFooter = document.getElementById(\"def-preFooter\");\n if (defPreFooter) {\n defPreFooter.innerHTML = wet.builder.preFooter({\n cdnEnv: \"prod\",\n dateModified: this.dateModified,\n showPostContent: this.showPostContent,\n showFeedback: this.showFeedback,\n showShare: this.showShare,\n versionIdentifier: this.versionIdentifier,\n screenIdentifier: this.screenIdentifier,\n pageDetails: this.pageDetails,\n isContainer: this.isContainer,\n });\n }\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetPreFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetPreFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetPreFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetPreFooter.vue?vue&type=script&lang=ts&\"","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetFooter extends Vue {\n @Prop({ default: true }) readonly showFooter!: boolean;\n\n created() {\n this.buildFooter();\n }\n\n @Watch(\"$i18n.locale\")\n onLocaleChanged() {\n this.buildFooter();\n }\n\n buildFooter(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const defFooter = document.getElementById(\"def-footer\");\n if (defFooter) {\n defFooter.innerHTML = wet.builder.footer({\n cdnEnv: \"prod\",\n showFooter: this.showFooter,\n });\n }\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetFooter.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport WetTop from \"@/components/layout/WetTop.vue\";\nimport WetPreFooter from \"@/components/layout/WetPreFooter.vue\";\nimport WetFooter from \"@/components/layout/WetFooter.vue\";\nimport i18n from \"@/i18n\";\n\n@Component({\n components: {\n WetTop,\n WetPreFooter,\n WetFooter,\n },\n})\nexport default class App extends Vue {\n // Internet Explorer and the non chromium based Edge browsers are not supported\n private isBrowserSupported = !/MSIE|Trident|Edge/.test(\n window.navigator?.userAgent\n );\n\n feedbackApi = \"\";\n\n created() {\n this.feedbackApi = process.env.VUE_APP_FEEDBACK_API;\n }\n}\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import mod from \"-!../node_modules/@intlify/vue-i18n-loader/lib/index.js!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../node_modules/@intlify/vue-i18n-loader/lib/index.js!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2eb750b1&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./App.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inforequest\"},[_c('MainContent',[_c('InfoRequest')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"info-request\"},[_c('vue-loading-overlay',{attrs:{\"active\":_vm.isLoading,\"can-cancel\":false,\"is-full-page\":false,\"loader\":\"dots\"},on:{\"update:active\":function($event){_vm.isLoading=$event}}}),(_vm.isLoading)?_c('div',[_c('div',[_vm._v(\"...\")])]):_vm._e(),_c('survey',{attrs:{\"survey\":_vm.survey.model}}),(_vm.submitted === true)?_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t(\"title\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"completedMsg\")))]),_c('i18n',{attrs:{\"path\":\"referenceNumberMsg\",\"tag\":\"p\"}},[_c('strong',[_vm._v(_vm._s(_vm.referenceNumber))])]),_c('i18n',{attrs:{\"path\":\"linksMsg\",\"tag\":\"p\"}},[_c('a',{attrs:{\"href\":_vm.$t('privacyTopicsUrl'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"privacyTopicsText\")))]),_c('a',{attrs:{\"href\":_vm.$t('searchToolUrl'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"searchToolText\")))])]),_c('h2',[_vm._v(_vm._s(_vm.$t(\"downloadASummaryOfYourInfoRequest\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"youCanDownloadASummary\")))]),_c('button',{staticClass:\"btn btn-primary piwik_download\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.downloadPdf}},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadASummaryOfYourInfoRequest\"))+\" \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Converter } from \"showdown\";\nimport {\n defaultActionBarCss,\n defaultBootstrapCss,\n settings,\n surveyLocalization,\n Action,\n ActionContainer,\n MatrixDropdownRowModelBase,\n MatrixRowModel,\n Model,\n PageModel,\n Question,\n QuestionMatrixDropdownModelBase,\n QuestionMatrixModel,\n StylesManager,\n SurveyError,\n} from \"survey-vue\";\n\nexport class SurveyBase {\n private static locale: \"en\" | \"fr\";\n\n readonly model: Model;\n\n // Used in cases the real model changes, this keeps a copy of a fresh model, which may contain relevant information\n readonly originalModel: Model;\n\n private readonly converter = new Converter({\n simpleLineBreaks: true,\n tasklists: true,\n openLinksInNewWindow: true,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public constructor() {\n // Theme changes need to be applied before the model is initialized\n this.setSurveyTheme();\n this.registerWidgets();\n\n this.model = new Model();\n this.model.locale = SurveyBase.locale as string;\n surveyLocalization.currentLocale = this.model.locale;\n\n this.originalModel = new Model();\n this.originalModel.locale = SurveyBase.locale as string;\n\n this.setSurveyLocalizations();\n this.setSurveyProperties();\n }\n\n public get isPreviewShowing(): boolean {\n return this.model.getPropertyValue(\"isShowingPreview\", false);\n }\n\n public displayErrorSummary(\n questionErrors: Map\n ): void {\n const summaryId = \"errors\";\n\n // If there's already an error summary, remove it\n let summary = document.getElementById(summaryId);\n if (summary) {\n summary.remove();\n }\n\n // If there aren't any errors, exit\n if (questionErrors.size === 0) {\n return;\n }\n\n const errorText = this.model.getLocalizationString(\"errorText\");\n\n // Create and populate the error summary\n summary = document.createElement(\"section\");\n summary.id = summaryId;\n summary.className = \"alert alert-danger\";\n\n let index = 1;\n const list = document.createElement(\"ul\");\n questionErrors.forEach((errors: SurveyError[], question: Question) => {\n const title = document.createElement(\"div\");\n title.innerHTML = question.processedTitle;\n\n const inputId = this.getInputId(question);\n for (const error of errors) {\n const item = document.createElement(\"li\");\n const link = document.createElement(\"a\");\n link.href = `#${inputId}`;\n link.innerText = `${errorText} ${index++}: ${\n title.innerText\n } - ${error.getText()}`;\n item.appendChild(link);\n list.appendChild(item);\n }\n });\n\n const errorCount = index - 1;\n const localizationKey =\n errorCount > 1 ? \"validationErrors\" : \"validationError\";\n const validationError = this.model.getLocalizationFormatString(\n localizationKey,\n errorCount\n );\n\n // Set the error summary's title\n const header = document.createElement(\"h2\");\n header.innerText = validationError;\n\n summary.appendChild(header);\n summary.appendChild(list);\n\n // Insert the error summary after the page's heading\n const heading = document.querySelector(\".sv_page_title\");\n if (heading) {\n heading.parentNode?.insertBefore(summary, heading.nextSibling);\n heading.scrollIntoView();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public loadSurveyFromJSON(json: any, data?: any) {\n // Preset data\n if (data) {\n this.model.data = data;\n }\n\n // Load survey model from JSON\n this.model.fromJSON(json);\n this.originalModel.fromJSON(json);\n\n this.registerCustomProperties();\n this.registerEventHandlers();\n this.registerFunctions();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerWidgets(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerFunctions(): void {}\n\n protected registerEventHandlers(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onAfterRenderQuestion.add((sender: Model, options: any) => {\n this.handleOnAfterRenderQuestion(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onCurrentPageChanged.add((sender: Model, options: any) => {\n this.handleOnCurrentPageChanged(sender, options);\n });\n\n this.model.onLocaleChangedEvent.add((sender: Model, locale: string) => {\n this.handleOnLocaleChanged(sender, locale);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onPageAdded.add((sender: Model, options: any) => {\n this.handleOnPageAdded(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onTextMarkdown.add((sender: Model, options: any) => {\n this.handleOnTextMarkdown(sender, options);\n });\n\n this.model.onValidatedErrorsOnCurrentPage.add(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sender: Model, options: any) => {\n this.handleOnValidatedErrorsOnCurrentPage(sender, options);\n }\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerCustomProperties(): void {}\n\n private getInputId(question: Question): string {\n let inputId = question.inputId;\n const questionType = question.getType();\n\n if (questionType === \"radiogroup\" || questionType === \"checkbox\") {\n inputId = `${inputId}_0`;\n } else if (questionType === \"matrix\") {\n const matrixQuestion = question as QuestionMatrixModel;\n const firstRow = matrixQuestion.visibleRows[0] as MatrixRowModel;\n inputId = `${inputId}_${firstRow.name}_0`;\n } else if (\n questionType === \"matrixdynamic\" ||\n questionType === \"matrixdropdown\"\n ) {\n const matrixQuestion = question as QuestionMatrixDropdownModelBase;\n const firstRow = matrixQuestion\n .visibleRows[0] as MatrixDropdownRowModelBase;\n const firstQuestion = firstRow.questions[0];\n inputId = this.getInputId(firstQuestion);\n }\n\n return inputId;\n }\n\n protected setSurveyLocalizations(): void {\n // Override surveyjs strings\n surveyLocalization.locales[\"en\"].otherItemText = \"Other\";\n surveyLocalization.locales[\"en\"].requiredError = \"This field is required\";\n\n surveyLocalization.locales[\"fr\"].addPanel = \"Ajouter une nouvelle ligne\";\n surveyLocalization.locales[\"fr\"].chooseFile = \"Ajouter le(s) fichier(s)...\";\n surveyLocalization.locales[\"fr\"].chooseFileCaption =\n \"Sélectionner un fichier\";\n surveyLocalization.locales[\"fr\"].clearCaption = \"Effacer\";\n surveyLocalization.locales[\"fr\"].completingSurveyBefore =\n \"Nos dossiers indiquent que vous avez déjà rempli ce questionnaire.\";\n surveyLocalization.locales[\"fr\"].emptyRowsText = \"Il n'y a aucune ligne.\";\n surveyLocalization.locales[\"fr\"].exceedMaxSize =\n \"La taille du fichier ne doit pas dépasser {0}\";\n surveyLocalization.locales[\"fr\"].invalidEmail =\n \"Entrez une adresse de courriel valide.\";\n surveyLocalization.locales[\"fr\"].invalidExpression =\n \"L'expression : {0} doit donner la valeur 'true'.\";\n surveyLocalization.locales[\"fr\"].loadingFile = \"Téléchargement...\";\n surveyLocalization.locales[\"fr\"].maxError =\n \"Le nombre ne doit pas être supérieur à {0}\";\n surveyLocalization.locales[\"fr\"].maxSelectError =\n \"Sélectionnez pas plus de {0} réponse(s).\";\n surveyLocalization.locales[\"fr\"].minError =\n \"Le nombre ne doit pas être inférieur à {0}\";\n surveyLocalization.locales[\"fr\"].minSelectError =\n \"Sélectionnez au moins {0} réponse(s).\";\n surveyLocalization.locales[\"fr\"].modalApplyButtonText = \"Appliquer\";\n surveyLocalization.locales[\"fr\"].modalCancelButtonText = \"Annuler\";\n surveyLocalization.locales[\"fr\"].multipletext_itemname = \"texte\";\n surveyLocalization.locales[\"fr\"].noFileChosen = \"Aucun fichier sélectionné\";\n surveyLocalization.locales[\"fr\"].otherItemText = \"Autre\";\n surveyLocalization.locales[\"fr\"].panelDynamicProgressText =\n \"Enregistrement {0} de {1}\";\n surveyLocalization.locales[\"fr\"].progressText = \"Page {0} de {1}\";\n surveyLocalization.locales[\"fr\"].removeFileCaption = \"Supprimer ce fichier\";\n surveyLocalization.locales[\"fr\"].requiredError =\n \"Ce champ est obligatoire.\";\n surveyLocalization.locales[\"fr\"].requiredInAllRowsError =\n \"Ces champs sont obligatoires.\";\n surveyLocalization.locales[\"fr\"].savingDataError =\n \"Une erreur s'est produite et a empêché la sauvegarde des résultats.\";\n surveyLocalization.locales[\"fr\"].selectAllItemText = \"Sélectionner tout\";\n surveyLocalization.locales[\"fr\"].signaturePlaceHolder = \"Signer ici\";\n surveyLocalization.locales[\"fr\"].uploadingFile =\n \"Votre fichier est en cours de téléchargement. Merci de patienter quelques secondes et de réessayer.\";\n surveyLocalization.locales[\"fr\"].urlGetChoicesError =\n \"La requête indique un champ de données vide ou la propriété 'path' est incorrecte\";\n surveyLocalization.locales[\"fr\"].urlRequestError =\n \"La requête a généré une erreur '{0}'. {1}\";\n\n // Define custom localizable strings\n surveyLocalization.locales[\"en\"].errorText = \"Error\";\n surveyLocalization.locales[\"en\"].requiredText = \"(required)\";\n surveyLocalization.locales[\"en\"].validationError =\n \"The form could not be submitted because {0} error was found.\";\n surveyLocalization.locales[\"en\"].validationErrors =\n \"The form could not be submitted because {0} errors were found.\";\n\n surveyLocalization.locales[\"fr\"].errorText = \"Erreur\";\n surveyLocalization.locales[\"fr\"].requiredText = \"(obligatoire)\";\n surveyLocalization.locales[\"fr\"].validationError =\n \"Le formulaire n'a pu être soumis car {0} erreur a été trouvée.\";\n surveyLocalization.locales[\"fr\"].validationErrors =\n \"Le formulaire n'a pu être soumis car {0} erreurs ont été trouvées.\";\n }\n\n private setSurveyProperties(): void {\n settings.titleTags.page = \"h1\";\n settings.titleTags.panel = \"label\";\n settings.titleTags.question = \"label\";\n\n // Apply button group class to actions in the navigation bar.\n const container = this.model.navigationBarValue as ActionContainer;\n const actions = container.actions as Array;\n actions.forEach((x) => {\n x.css = \"btn-group\";\n });\n\n this.model.clearInvisibleValues = \"onHiddenContainer\"; // Clear the question value when it or its parent (page or panel) becomes invisible. If a question has value and it was invisible initially then survey clears the value on completing.\n this.model.focusOnFirstError = false;\n this.model.questionErrorLocation = \"top\";\n this.model.showCompletedPage = true;\n this.model.showPreviewBeforeComplete = \"showAllQuestions\"; // Allow respondents to preview answers before submitting the survey results.\n this.model.showProgressBar = \"bottom\";\n this.model.showQuestionNumbers = \"off\";\n this.model.storeOthersAsComment = false; // Gets or sets whether the \"Others\" option text is stored as question comment.\n this.model.questionTitlePattern = \"numTitle\"; // Remove the required text from question titles since we'll handle it manually.\n }\n\n private setSurveyTheme(): void {\n // Override the main-color to match the theme\n StylesManager.ThemeColors[\"bootstrap\"][\"$main-color\"] = \"#00627e\";\n\n // Override the font-family of the sv-list to match the style\n const listStyle = StylesManager.Styles[\".sv-list\"];\n if (listStyle) {\n const pattern = /font-family:.+?;/gi;\n StylesManager.Styles[\".sv-list\"] = listStyle.replace(pattern, \"\");\n }\n\n // Edit button color\n StylesManager.Styles[\".sv_main .sv-action-bar-item\"] =\n \"background-color: #00627e\";\n StylesManager.Styles[\".sv-action-bar-item:hover\"] =\n \"background-color: #00536b !important;\";\n StylesManager.Styles[\".sv-action-bar-item__title\"] = \"color: white;\";\n\n // Set Theme\n StylesManager.applyTheme(\"bootstrap\");\n\n // Override defaultActionBarCss Properties\n defaultActionBarCss.root = \"btn-toolbar\";\n\n // Override defaultBootstrapCss Properties\n defaultBootstrapCss.error.icon = \"\";\n defaultBootstrapCss.error.item = \"label label-danger\";\n defaultBootstrapCss.error.root = \"\";\n defaultBootstrapCss.matrixdynamic.buttonAdd = \"btn btn-default\";\n defaultBootstrapCss.matrixdynamic.buttonRemove = \"btn btn-danger\";\n defaultBootstrapCss.navigationButton = \"btn\";\n defaultBootstrapCss.navigation.complete = \"btn-primary\";\n defaultBootstrapCss.navigation.edit = \"btn-primary\";\n defaultBootstrapCss.navigation.next = \"btn-primary\";\n defaultBootstrapCss.navigation.prev = \"btn-default\";\n defaultBootstrapCss.navigation.preview = \"btn-primary\";\n defaultBootstrapCss.navigation.start = \"btn-primary\";\n defaultBootstrapCss.page.title = \"sv_page_title\";\n defaultBootstrapCss.panel.container = \"sv_p_container well\";\n defaultBootstrapCss.paneldynamic.buttonAdd = \"btn btn-default\";\n defaultBootstrapCss.paneldynamic.buttonRemove = \"btn btn-danger\";\n defaultBootstrapCss.progressTextInBar = \"\";\n defaultBootstrapCss.question.description = \"\";\n defaultBootstrapCss.question.mainRoot = \"sv_qstn form-group\";\n defaultBootstrapCss.question.title = \"sv_q_title\";\n defaultBootstrapCss.question.titleRequired = \"required\";\n defaultBootstrapCss.question.requiredText = \"required\";\n defaultBootstrapCss.radiogroup.root = \"form-inline\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n private handleOnCurrentPageChanged(sender: Model, options: any): void {\n // Scroll page back to top on page changed\n // sender.scrollToTopOnPageChange();\n\n // scrollToTopOnPageChange doesn't seem to work so using this workaround for now.\n document.querySelector(\"main[role='main']\")?.scrollIntoView();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnAfterRenderQuestion(sender: Model, options: any): void {\n const question = options.question as Question;\n\n const html = options.htmlElement as HTMLElement;\n const heading = html?.querySelector(\".sv_q_title\");\n\n // Added spacing to radio label\n if (question.getType() === \"radiogroup\") {\n html\n .querySelectorAll(\"fieldset span.sv-string-viewer\")\n .forEach((value) => {\n value.innerText = ` ${value.innerText}`;\n });\n }\n\n // Check for the presence of a heading\n if (!heading) {\n return;\n }\n\n // Unwrap the divs contained within the heading to fix alignment with required field asterisk\n let div = heading.querySelector(\"div\");\n while (div) {\n div.outerHTML = div.innerHTML;\n div = heading.querySelector(\"div\");\n }\n\n const appendRequiredText = function () {\n const required = document.createElement(\"strong\");\n required.className = defaultBootstrapCss.question.requiredText;\n required.innerText = sender.getLocalizationString(\"requiredText\");\n heading.appendChild(required);\n };\n\n // Appends the required text to the heading\n if (question.isRequired) {\n appendRequiredText();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n question.onPropertyChanged.add((question: Question, options: any) => {\n if (options.name !== \"isRequired\") {\n return;\n }\n\n // Update the required text in the heading\n const isRequired = options.newValue as boolean;\n if (isRequired) {\n appendRequiredText();\n } else {\n const required = heading.querySelector(\n `strong.${defaultBootstrapCss.question.requiredText}`\n );\n required?.remove();\n }\n });\n }\n\n private handleOnLocaleChanged(sender: Model, locale: string): void {\n this.model.requiredText = this.model.getLocalizationString(\"requiredText\");\n this.model.completeText =\n this.model.getLocalizationString(\"completeButtonText\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnPageAdded(sender: Model, options: any): void {\n const page = options.page as PageModel;\n\n // Check if the added page is the preview page\n if (page.name !== \"all\") {\n return;\n }\n\n // Set the page title otherwise, it won't be rendered\n page.title = sender.previewText;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnTextMarkdown(sender: Model, options: any): void {\n // convert the markdown text to html\n let str = this.converter.makeHtml(options.text);\n\n // remove root paragraphs

\n if (options.name !== \"description\") {\n str = str.substring(str.indexOf(\">\") + 1);\n str = str.substring(0, str.lastIndexOf(\"<\"));\n }\n\n // set html\n options.html = str;\n }\n\n private handleOnValidatedErrorsOnCurrentPage(\n sender: Model,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any\n ): void {\n const questions = options.questions as Question[];\n\n const questionErrors = new Map();\n for (const question of questions) {\n questionErrors.set(question, question.errors);\n }\n\n this.displayErrorSummary(questionErrors);\n }\n}\n","import { Question } from \"survey-vue\";\n\nexport abstract class WidgetBase {\n /**\n * The widget name. It should be unique and written in lowcase.\n */\n protected readonly name: string;\n\n /**\n * The widget title. It is how it will appear on the toolbox of the SurveyJS Editor/Builder.\n */\n protected readonly title: string;\n\n /**\n * The name of the icon on the toolbox. We will leave it empty to use the standard one.\n */\n protected readonly iconName: string;\n\n /**\n * You should use it if your set the isDefaultRender to false.\n */\n protected htmlTemplate = \"\";\n\n /**\n * If you want to use the default question rendering then set this property to true. We do not need any default rendering, we will use our our htmlTemplate\n */\n protected isDefaultRender = true;\n\n /**\n * The type used to render the widget in the PDF.\n */\n protected pdfQuestionType = \"\";\n\n protected activatedBy = \"property\";\n\n /**\n * @param name the widget name. It should be unique and written in lowcase.\n * @param title the widget title. It is how it will appear on the toolbox of the SurveyJS Editor/Builder.\n * @param iconName the name of the icon on the toolbox. We will leave it empty to use the standard one.\n */\n constructor(name: string, title: string, iconName = \"\") {\n this.name = name;\n this.title = title;\n this.iconName = iconName;\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n afterRender(question: Question, el: HTMLElement): void {}\n\n /**\n * Gets called after the widget has been added to the CustomWidgetCollection.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init(): void {}\n\n /**\n * Use it to destroy the widget. It is typically needed by jQuery widgets.\n *\n * @param question\n * @param el\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n willUnmount(question: Question, el: HTMLElement): void {}\n\n /**\n * If the widgets depends on third-party library(s) then here you may check if this library(s) is loaded.\n */\n widgetIsLoaded(): boolean {\n return true;\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n this.activatedBy = activatedBy;\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n abstract isFit(question: Question): boolean;\n}\n","import { WidgetBase } from \"./widget-base\";\nimport {\n CustomWidgetCollection,\n JsonObject,\n Question,\n QuestionHtmlModel,\n} from \"survey-vue\";\n\nexport class AlertWidget extends WidgetBase {\n isDefaultRender = false;\n\n constructor() {\n super(\n \"alert\",\n \"Provide contextual feedback messages for typical user actions\"\n );\n }\n\n static register(): void {\n const widget: AlertWidget = new AlertWidget();\n\n // If activatedBy isn't passed, it will default to property.\n CustomWidgetCollection.Instance.addCustomWidget(widget, widget.activatedBy);\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n super.activatedByChanged(activatedBy);\n\n if (activatedBy === \"property\") {\n const property = JsonObject.metaData.findProperty(\"html\", \"renderAs\");\n const choices = property.getChoices(null) ?? [property.defaultValue];\n\n if (!choices.some((choice) => choice === this.name)) {\n choices.push(this.name);\n property.setChoices(choices);\n }\n\n JsonObject.metaData.addProperty(\"html\", {\n dependsOn: \"renderAs\",\n name: \"alertType:string\",\n category: \"general\",\n default: \"alert-info\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n visibleIf: function (obj: any) {\n return obj.renderAs == this.name;\n },\n });\n }\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n afterRender(question: Question, el: HTMLElement): void {\n const hasTitle = question.title !== question.name;\n\n const alert = hasTitle\n ? document.createElement(\"section\")\n : document.createElement(\"div\");\n\n const alertType = question.getPropertyValue(\"alertType\");\n alert.className = `alert ${alertType}`;\n\n if (hasTitle) {\n const heading = document.createElement(\"h3\");\n heading.innerText = question.title;\n alert.appendChild(heading);\n }\n\n const htmlQuestion = question as QuestionHtmlModel;\n alert.innerHTML += htmlQuestion.html;\n\n el.appendChild(alert);\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n isFit(question: Question): boolean {\n if (this.activatedBy === \"property\") {\n return question.renderAs === this.name && question.getType() === \"html\";\n }\n return false;\n }\n}\n","import { Converter } from \"showdown\";\nimport { ChoicesRestful, Model, QuestionFileModel } from \"survey-core\";\nimport { IDocOptions, SurveyPDF } from \"survey-pdf\";\n\nexport class SurveyPDFBase {\n protected options: IDocOptions = {\n commercial: true,\n htmlRenderAs: \"standard\",\n };\n\n protected readonly model: SurveyPDF;\n\n private readonly converter = new Converter({\n simpleLineBreaks: true,\n tasklists: true,\n openLinksInNewWindow: true,\n });\n\n private requiredText = \"\";\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public constructor(json: any, data: any) {\n this.model = new SurveyPDF({}, this.options);\n\n this.setSurveyLocalizations();\n\n this.registerWidgets();\n\n this.registerCustomProperties();\n this.registerEventHandlers();\n\n this.model.data = data;\n this.model.fromJSON(json);\n\n this.setSurveyProperties();\n }\n\n public raw(type?: string): Promise {\n return this.model.raw(type);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public save(fileName?: string): Promise {\n return this.model.save(fileName);\n }\n\n protected registerEventHandlers(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onGetQuestionTitle.add((sender: Model, options: any) =>\n this.handleOnGetQuestionTitle(sender, options)\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onProcessHtml.add((sender: Model, options: any) => {\n this.handleOnProcessHtml(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onTextMarkdown.add((sender: Model, options: any) => {\n this.handleOnTextMarkdown(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onQuestionAdded.add((sender: Model, options: any) => {\n this.handleOnQuestionAdded(sender, options);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerCustomProperties(): void {\n ChoicesRestful.EncodeParameters = false;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerWidgets(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private setSurveyLocalizations(): void {}\n\n private setSurveyProperties(): void {\n this.model.mode = \"display\";\n\n // Remove the required text as we'll be concatenating it with the title to remove a formatting bug\n this.requiredText = this.model.requiredText;\n this.model.requiredText = \"\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnGetQuestionTitle(sender: Model, options: any): void {\n if (options.question.isRequired && this.requiredText) {\n options.title += ` ${this.requiredText}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnProcessHtml(sender: Model, options: any): void {\n // Replaces HTML entities with their textual representation\n options.html = this.decodeEntities(options.html);\n\n // Replaces Unicode characters with their ASCII representation\n options.html = this.replaceUnicode(options.html);\n\n // Removes hyperlink tags and only keep the text\n options.html = options.html.replace(/|<\\/a>/g, \"\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnTextMarkdown(sender: Model, options: any): void {\n // convert the markdown text to html\n let str = this.converter.makeHtml(options.text);\n\n // remove root paragraphs

\n if (options.name !== \"description\") {\n str = str.substring(str.indexOf(\">\") + 1);\n str = str.substring(0, str.lastIndexOf(\"<\"));\n }\n\n // Replaces HTML entities with their textual representation\n str = this.decodeEntities(str);\n\n // Replaces Unicode characters with their ASCII representation\n str = this.replaceUnicode(str);\n\n // set html\n options.html = str;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnQuestionAdded(sender: Model, options: any): void {\n const question = options.question;\n\n if (question.getType() !== \"file\") {\n return;\n }\n\n const fileQuestion = question as QuestionFileModel;\n\n // Remove the content to avoid the file being stored in the rendered PDF\n fileQuestion.previewValue = fileQuestion.previewValue.map(\n (item: { name: string; type: string; content: string }) => ({\n name: item.name,\n type: item.type,\n content: \"\",\n })\n );\n }\n\n private decodeEntities(input: string): string {\n const element = document.createElement(\"div\");\n return input.replace(/(&\\w+;)/g, (match) => {\n element.innerHTML = match;\n return element.innerText;\n });\n }\n\n private replaceUnicode(input: string): string {\n let output = input;\n output = output.replace(/[\\u2018\\u2019]/g, \"'\"); // single quote\n output = output.replace(/[\\u201C\\u201D]/g, '\"'); // double quote\n output = output.replace(/[\\u2013]/g, \"-\"); // dash\n return output;\n }\n}\n","import { WidgetBase } from \"./widget-base\";\nimport {\n CustomWidgetCollection,\n JsonObject,\n Question,\n Serializer,\n Model,\n PageModel,\n} from \"survey-vue\";\nimport { SurveyPDFBase } from \"@/surveys/survey-pdf-base\";\n\nexport class DownloadWidget extends WidgetBase {\n private readonly defaultFileName = \"summary.pdf\";\n\n isDefaultRender = false;\n htmlTemplate = \"\";\n\n constructor() {\n super(\"download\", \"Button to download survey results to PDF\");\n }\n\n static register(): void {\n const widget: DownloadWidget = new DownloadWidget();\n\n // If activatedBy isn't passed, it will default to property.\n CustomWidgetCollection.Instance.addCustomWidget(widget, widget.activatedBy);\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n super.activatedByChanged(activatedBy);\n\n if (activatedBy === \"property\") {\n const property = JsonObject.metaData.findProperty(\"html\", \"renderAs\");\n const choices = property.getChoices(null) ?? [property.defaultValue];\n\n if (!choices.some((choice) => choice === this.name)) {\n choices.push(this.name);\n property.setChoices(choices);\n }\n\n Serializer.addProperty(\"html\", {\n dependsOn: \"renderAs\",\n name: \"fileName:text\",\n serializationProperty: \"locFileName\",\n category: \"general\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n visibleIf: function (obj: any) {\n return obj.renderAs == this.name;\n },\n });\n }\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n afterRender(question: Question, el: HTMLElement): void {\n const survey = question.survey as Model;\n const button = el.querySelector(\"button\");\n\n if (button === null) {\n return;\n }\n\n button.innerText = question.title;\n\n button.addEventListener(\"click\", () => {\n const model = survey.toJSON();\n\n // If the survey is running in preview mode, we need to send the runningPages\n if (survey.runningPages) {\n model.pages = survey.runningPages.map((p: PageModel) => p.toJSON());\n }\n\n const fileName = question.getLocalizableStringText(\n \"fileName\",\n this.defaultFileName\n );\n const surveyPDF = new SurveyPDFBase(model, survey.data);\n surveyPDF.save(fileName);\n });\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n isFit(question: Question): boolean {\n if (this.activatedBy === \"property\") {\n return question.renderAs === this.name && question.getType() === \"html\";\n }\n return false;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios from \"axios\";\nimport \"jquery-ui/themes/base/theme.css\";\nimport \"jquery-ui/themes/base/datepicker.css\";\nimport \"select2\";\nimport \"select2/dist/css/select2.min.css\";\nimport \"@ttskch/select2-bootstrap4-theme/dist/select2-bootstrap4.min.css\";\nimport { ChoicesRestful, Model, surveyLocalization } from \"survey-vue\";\nimport * as Survey from \"survey-vue\";\nimport * as widgets from \"surveyjs-widgets\";\nimport { SurveyBase } from \"@/surveys/survey-base\";\nimport { AlertWidget } from \"@/surveys/widgets/alert-widget\";\nimport { DownloadWidget } from \"@/surveys/widgets/download-widget\";\nimport { isPossiblePhoneNumber } from \"libphonenumber-js\";\n\nexport class InfoRequestSurvey extends SurveyBase {\n public constructor() {\n super();\n\n // Disable encoding of parameters so that we can use a variable to set the URL endpoint\n ChoicesRestful.EncodeParameters = false;\n\n Survey.JsonObject.metaData.addProperties(\"page\", [\n {\n name: \"pdfTitle\",\n type: \"string\",\n default: false,\n },\n {\n name: \"hideOnPDF\",\n type: \"boolean\",\n default: false,\n },\n {\n name: \"hideOnPreview\",\n type: \"boolean\",\n default: false,\n },\n ]);\n\n Survey.JsonObject.metaData.addProperty(\"panel\", {\n name: \"hideOnPreview\",\n type: \"boolean\",\n default: false,\n });\n\n Survey.JsonObject.metaData.addProperty(\"question\", {\n name: \"hideOnPDF\",\n type: \"boolean\",\n default: false,\n });\n }\n\n protected registerWidgets(): void {\n // SurveyJS Widgets\n widgets.select2(Survey);\n\n // Custom Widgets\n AlertWidget.register();\n DownloadWidget.register();\n }\n\n protected registerEventHandlers(): void {\n super.registerEventHandlers();\n\n this.model.onServerValidateQuestions.add((sender: Model, options: any) => {\n const promises = [\n this.handleOnServerValidateQuestionsValidation(sender, options),\n ];\n\n Promise.all(promises)\n .then(() => {\n options.complete();\n })\n .catch((err) => {\n console.error(err);\n });\n });\n\n this.model.onUpdatePanelCssClasses.add((sender: Model, options: any) => {\n const classes = options.cssClasses;\n\n if (sender.isDisplayMode == true && options.panel.hideOnPreview == true) {\n // This is to hide pages we don't want to show on preview.\n classes.panel.container = \"sv-hidden\";\n }\n });\n\n this.model.onAfterRenderQuestion.add((sender: Model, options: any) => {\n if (options.question.name == \"Topics\" && sender.state === \"preview\") {\n let containsTopic = false;\n\n options.htmlElement\n .querySelectorAll('input[type=\"checkbox\"]')\n .forEach((el: any) => {\n if (!el?.checked) {\n el.closest(\"div.checkbox\").remove(); // Remove the checkbox div if unchecked\n } else {\n containsTopic = true;\n }\n });\n\n if (!containsTopic) {\n options.htmlElement.querySelector(\n \"fieldset\"\n ).innerHTML = `

${sender.getLocalizationString(\"noTopic\")}

`;\n }\n }\n });\n }\n\n protected registerFunctions(): void {\n Survey.FunctionFactory.Instance.register(\n \"ValidatePhoneNumber\",\n this.ValidatePhoneNumber\n );\n }\n\n // Validate local Canadian and international numbers\n private ValidatePhoneNumber(phoneNumberParam: any[]): boolean {\n // Checks whether the phone number is optional\n const optionalValue = phoneNumberParam[1] === true;\n\n // Checks whether the phone number is empty/non-existent, validation depends on whether it is optional or not\n if (!phoneNumberParam[0]) return optionalValue;\n\n const phoneNumber = String(phoneNumberParam[0]);\n\n return (\n isPossiblePhoneNumber(phoneNumber) ||\n isPossiblePhoneNumber(phoneNumber, \"CA\")\n );\n }\n\n private handleOnServerValidateQuestionsValidation(\n sender: Model,\n options: any\n ): Promise {\n if (!this.isPreviewShowing) {\n return Promise.resolve();\n }\n\n return axios\n .post(\n `${process.env.VUE_APP_QUESTIONS_API}/validation/validateanonymous/`,\n sender.data,\n {\n params: {\n type: \"info-request\",\n },\n }\n )\n .then((resp) => {\n Object.keys(resp.data.errors).forEach((q) => {\n // options.errors in only able to set one error per question\n options.errors[q] = resp.data.errors[q][0];\n });\n })\n .catch((err) => {\n return Promise.reject(err);\n });\n }\n\n protected setSurveyLocalizations(): void {\n super.setSurveyLocalizations();\n\n surveyLocalization.locales[\"en\"].completeText = \"Submit\";\n surveyLocalization.locales[\"fr\"].completeText = \"Soumettre\";\n surveyLocalization.locales[\"en\"].noTopic = \"No topic selected\";\n surveyLocalization.locales[\"fr\"].noTopic = \"Aucun sujet sélectionné\";\n }\n}\n","import Vue from \"vue\";\nimport VueI18n, { LocaleMessages } from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context(\n \"@/locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n );\n const messages: LocaleMessages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","import { SurveyPDFBase } from \"./survey-pdf-base\";\nimport { Question } from \"survey-core\";\nimport * as SurveyCore from \"survey-core\";\nimport {\n SurveyPDF,\n AdornersOptions,\n IPdfBrick,\n SurveyHelper,\n TextBrick,\n ISize,\n} from \"survey-pdf\";\nimport {\n ItemValue,\n QuestionCheckboxModel,\n QuestionDropdownModel,\n surveyLocalization,\n} from \"survey-vue\";\nimport i18n from \"@/i18n\";\n\nexport class InfoRequestSurveyPdf extends SurveyPDFBase {\n public constructor(json: any, data: any) {\n super(json, data);\n\n SurveyHelper.TEXT_COLOR = \"black\";\n }\n\n protected registerEventHandlers(): void {\n super.registerEventHandlers();\n\n this.model.onRenderQuestion.add(\n (survey: SurveyPDF, options: AdornersOptions) =>\n this.handleOnRenderQuestion(survey, options)\n );\n }\n\n // For this particular tagbox question, we only want the chosen options to be shown in the PDF,\n // if not there would be much too many options rendered in the PDF.\n protected handleOnRenderQuestion(\n survey: SurveyPDF,\n options: AdornersOptions\n ): Promise | void {\n if (options.question.name !== \"Topics\") return;\n\n // Initiliaze the question we're building\n const checkboxQuestion = SurveyCore.QuestionFactory.Instance.createQuestion(\n \"checkbox\",\n options.question.name + \"_checkbox\"\n ) as unknown as QuestionCheckboxModel;\n checkboxQuestion.titleLocation = \"hidden\";\n\n // Set only the questions that were checked by the user\n const selectedChoices: string[] = [];\n const question = options.question as unknown as QuestionDropdownModel;\n question.visibleChoices.forEach(function (choice: ItemValue) {\n if (question.isItemSelected(choice)) {\n selectedChoices.push(choice.text);\n }\n });\n checkboxQuestion.choices = selectedChoices;\n checkboxQuestion.selectAll();\n\n // More building of the question\n const flatCheckbox = options.repository.create(\n survey,\n checkboxQuestion as unknown as Question,\n options.controller,\n \"checkbox\"\n );\n const titleBrick = options.bricks[0].unfold() as unknown as IPdfBrick[];\n titleBrick.pop();\n const checkboxBrick = titleBrick.pop();\n\n // Add text if no choices are selected\n if (selectedChoices.length === 0) {\n const point = options.module.SurveyHelper.createPoint(\n titleBrick,\n true,\n false\n );\n\n // Place the next brick where the first checkbox should have been\n point.yTop = checkboxBrick?.yTop;\n point.xLeft = checkboxBrick?.xLeft;\n\n const size: ISize = options.controller.measureText(\n surveyLocalization.getString(\"noTopic\", i18n.locale)\n );\n\n const textBrick = new TextBrick(\n options.question,\n options.controller,\n SurveyHelper.createRect(point, size.width, size.height),\n surveyLocalization.getString(\"noTopic\", i18n.locale)\n );\n\n titleBrick.push(textBrick);\n }\n\n const compositeTitleBrick = new options.module.CompositeBrick(\n ...titleBrick\n ) as IPdfBrick;\n const point = options.module.SurveyHelper.createPoint(\n compositeTitleBrick,\n true,\n false\n );\n point.yTop += options.controller.unitHeight / 2.0;\n\n return new Promise(function (resolve) {\n flatCheckbox.generateFlats(point).then(function (checkboxBricks) {\n options.bricks = [compositeTitleBrick];\n options.bricks = options.bricks.concat(checkboxBricks);\n resolve();\n });\n });\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios from \"axios\";\nimport { Model, PageModel, SurveyModel, IElement, IPanel } from \"survey-vue\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { InfoRequestSurvey } from \"@/surveys/inforequest-survey\";\nimport { InfoRequestSurveyPdf } from \"@/surveys/inforequest-survey-pdf\";\n\n@Component\nexport default class InfoRequest extends Vue {\n survey = new InfoRequestSurvey();\n isLoading = false;\n referenceNumber = \"\";\n submitted = false;\n\n downloadPdf() {\n const pdfModel = this.createPdfModel();\n const surveyPDF = new InfoRequestSurveyPdf(\n pdfModel,\n this.survey.model.data\n );\n surveyPDF.save(`${this.$t(\"formSummary\")} - ${this.referenceNumber}`);\n }\n\n private createPdfModel(): SurveyModel {\n const surveyModel = this.survey.model.toJSON() as SurveyModel;\n\n try {\n // Change the title at the top of the document to the same as the completed survey\n surveyModel.pages[0].title = this.referenceNumber\n ? `${this.$t(\"title\")} - ${this.referenceNumber}`\n : this.$t(\"title\");\n\n this.survey.originalModel.pages.forEach((p: PageModel) => {\n const pageModel = p.toJSON();\n\n // Change pages title to pdfTitle\n surveyModel.pages[0].elements.forEach(\n (panel: IElement, index: number) => {\n if (panel.name === pageModel.name) {\n if (pageModel[\"pdfTitle\"]) {\n let title = {\n en: pageModel[\"pdfTitle\"].en,\n fr: pageModel[\"pdfTitle\"].fr,\n };\n\n (surveyModel.pages[0].elements[index] as any).title = title;\n }\n }\n }\n );\n\n // Remove pages that need to be hidden\n if (pageModel[\"hideOnPDF\"]) {\n surveyModel.pages[0].elements.forEach(\n (panel: IElement, index: number) => {\n if (panel.name === pageModel.name) {\n surveyModel.pages[0].elements.splice(index, 1);\n }\n }\n );\n }\n\n // Remove questions/elements that need to be hidden (in our case we are hiding the html elements to simplify the PDF)\n surveyModel.pages[0].elements.forEach(\n (panel: IPanel, pageIndex: number) => {\n panel.elements.forEach(\n (panelElement: any, elementIndex: number) => {\n if (panelElement[\"hideOnPDF\"]) {\n surveyModel.pages[0].elements[pageIndex].elements.splice(\n elementIndex,\n 1\n );\n }\n }\n );\n }\n );\n });\n } catch (err) {\n console.error(\n \"Error changing pages titles, removing hidden pages or removing questions from model for PDF generation.\",\n err\n );\n }\n return surveyModel;\n }\n\n mounted() {\n this.isLoading = true;\n axios\n .get(`${process.env.VUE_APP_QUESTIONS_API}/questions/GetAnonymous`, {\n params: {\n type: \"info-request\",\n },\n })\n .then((resp) => {\n const json = resp.data;\n const data = {\n ApplicationUrl: process.env.VUE_APP_PBR_API,\n };\n\n this.survey.loadSurveyFromJSON(json, data);\n this.survey.model.locale = this.$i18n.locale;\n\n this.survey.model.onComplete.add(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async (sender: Model, options: any) => {\n sender.showCompletedPage = false;\n this.isLoading = true;\n\n // Reset the Application URL since it was cleared by the survey\n sender.setValue(\"ApplicationUrl\", process.env.VUE_APP_PBR_API);\n\n const model = sender.toJSON();\n\n // If the survey is running in preview mode, we need to send the runningPages\n if (sender.runningPages) {\n model.pages = sender.runningPages.map((p: PageModel) =>\n p.toJSON()\n );\n }\n\n const pdfModel = this.createPdfModel();\n const surveyPDF = new InfoRequestSurveyPdf(pdfModel, sender.data);\n const dataUrl = await surveyPDF.raw(\"dataurlstring\");\n\n const file = {\n name: \"informationrequest_summary.pdf\",\n type: \"application/pdf\",\n content: dataUrl,\n };\n\n // Set the survey summary\n sender.setValue(\"PDFSummary\", file);\n sender.setValue(\"Locale\", this.$i18n.locale);\n\n const url = `${process.env.VUE_APP_PBR_API}/inforequest`;\n axios\n .post(url, sender.data)\n .then((resp) => {\n this.submitted = true;\n\n if (resp.data) {\n this.referenceNumber = resp.data.referenceNumber;\n }\n\n sender.showCompletedPage = true;\n })\n .catch((err) => {\n options.showDataSavingError(err?.message);\n })\n .finally(() => {\n sender.showCompletedPage = true;\n this.isLoading = false;\n });\n }\n );\n })\n .catch((err) => {\n let message = err.message;\n if (err.response.status === 400) {\n message = this.$t(\"invalidRequestMessage\");\n }\n this.$router.push({\n name: `${this.$i18n.locale}`,\n params: {\n alertType: \"alert-warning\",\n alertMessage: message,\n },\n });\n })\n .finally(() => {\n this.isLoading = false;\n });\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequest.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequest.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequest.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequest.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./InfoRequest.vue?vue&type=template&id=f584e672&\"\nimport script from \"./InfoRequest.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoRequest.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./InfoRequest.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"col-md-12\",attrs:{\"aria-label\":_vm.$t('mainContent')}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class MainContent extends Vue {}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./MainContent.vue?vue&type=template&id=55956272&\"\nimport script from \"./MainContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainContent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequestView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InfoRequestView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoRequestView.vue?vue&type=template&id=4c32a870&\"\nimport script from \"./InfoRequestView.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoRequestView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from \"axios\";\nimport Vue from \"vue\";\nimport VueRouter, { RouteConfig } from \"vue-router\";\nimport InfoRequestView from \"@/views/InfoRequestView.vue\";\nimport i18n from \"@/i18n\";\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n path: \"\",\n redirect: \"/en/request\",\n },\n {\n path: \"/en\",\n redirect: \"/en/request\",\n },\n {\n path: \"/fr\",\n redirect: \"/fr/demande\",\n },\n {\n path: \"/:lang/request\",\n name: \"en-request\",\n component: InfoRequestView,\n meta: {\n lngRoute: \"fr-demande\",\n },\n },\n {\n path: \"/:lang/demande\",\n name: \"fr-demande\",\n component: InfoRequestView,\n meta: {\n lngRoute: \"en-request\",\n },\n },\n {\n path: \"*\",\n beforeEnter() {\n window.location.href = \"https://www.priv.gc.ca/404\";\n },\n },\n];\n\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes,\n});\n\nrouter.beforeEach((to, from, next) => {\n const lang = to.params.lang ?? process.env.VUE_APP_I18N_LOCALE;\n\n i18n.locale = lang;\n axios.defaults.headers.common[\"Accept-Language\"] = lang;\n document.querySelector(\"html\")?.setAttribute(\"lang\", lang);\n next();\n});\n\nexport default router;\n","import axios from \"axios\";\nimport Loading from \"vue-loading-overlay\";\nimport \"vue-loading-overlay/dist/vue-loading.css\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport Vue from \"vue\";\nimport VuePromiseBtn from \"vue-promise-btn\";\nimport \"vue-promise-btn/dist/vue-promise-btn.css\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport i18n from \"./i18n\";\nimport VueMatomo from \"vue-matomo\";\n\n// Before an HTTP request is made, start nprogress but end it when encountering an error\naxios.interceptors.request.use(\n (config) => {\n NProgress.start();\n return config;\n },\n (error) => {\n NProgress.done();\n return Promise.reject(error);\n }\n);\n\n// Before an HTTP response is returned, stop nprogress (even on error)\naxios.interceptors.response.use(\n (response) => {\n NProgress.done();\n return response;\n },\n (error) => {\n NProgress.done();\n return Promise.reject(error);\n }\n);\n\nVue.use(Loading);\nVue.component(\"vue-loading-overlay\", Loading);\n\nVue.use(VueMatomo, {\n host: process.env.VUE_APP_MATOMO_HOST,\n siteId: process.env.VUE_APP_MATOMO_SITEID,\n trackerFileName: process.env.VUE_APP_MATOMO_TRACKERFILEPATH,\n // Enables automatically registering pageviews on the router\n router: router,\n // Domains prevents any links within the list to not be tracked as external\n domains: process.env.VUE_APP_MATOMO_DOMAINS, // TODO: Test if this works\n});\n\nVue.use(VuePromiseBtn);\n\nnew Vue({\n router,\n i18n,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","var map = {\n\t\"./en.json\": 790,\n\t\"./fr.json\": 844\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"478\":\"2f0bb509\",\"823\":\"22c7b642\",\"986\":\"dab5fd56\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"inforequest-vue:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/demande-information-request/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkinforequest_vue\"] = self[\"webpackChunkinforequest_vue\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(5595); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["module","exports","Component","options","__i18n","push","_Ctor","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isBrowserSupported","_e","_v","_s","$t","feedbackApi","staticRenderFns","WetTop","Vue","created","buildTop","onRouteChanged","wet","$i18n","locale","wetFr","wetEn","lngLink","resolveLanguageLink","$route","meta","lngRoute","defTop","document","getElementById","innerHTML","builder","top","cdnEnv","search","siteMenu","lngLinks","href","lang","text","showPreContent","breadcrumbs","topSecMenu","route","t","toString","$router","resolve","name","params","__decorate","Prop","default","Watch","component","WetPreFooter","buildPreFooter","onLocaleChanged","defPreFooter","preFooter","dateModified","showPostContent","showFeedback","showShare","versionIdentifier","screenIdentifier","pageDetails","isContainer","WetFooter","buildFooter","defFooter","footer","showFooter","App","test","window","navigator","userAgent","process","components","isLoading","on","$event","survey","model","submitted","referenceNumber","downloadPdf","SurveyBase","constructor","Converter","simpleLineBreaks","tasklists","openLinksInNewWindow","setSurveyTheme","registerWidgets","Model","surveyLocalization","originalModel","setSurveyLocalizations","setSurveyProperties","isPreviewShowing","getPropertyValue","displayErrorSummary","questionErrors","summaryId","summary","remove","size","errorText","getLocalizationString","createElement","id","className","index","list","forEach","errors","question","title","processedTitle","inputId","getInputId","error","item","link","innerText","getText","appendChild","errorCount","localizationKey","validationError","getLocalizationFormatString","header","heading","querySelector","parentNode","insertBefore","nextSibling","scrollIntoView","loadSurveyFromJSON","json","data","fromJSON","registerCustomProperties","registerEventHandlers","registerFunctions","onAfterRenderQuestion","add","sender","handleOnAfterRenderQuestion","onCurrentPageChanged","handleOnCurrentPageChanged","onLocaleChangedEvent","handleOnLocaleChanged","onPageAdded","handleOnPageAdded","onTextMarkdown","handleOnTextMarkdown","onValidatedErrorsOnCurrentPage","handleOnValidatedErrorsOnCurrentPage","questionType","getType","matrixQuestion","firstRow","visibleRows","firstQuestion","questions","settings","container","navigationBarValue","actions","x","css","clearInvisibleValues","focusOnFirstError","questionErrorLocation","showCompletedPage","showPreviewBeforeComplete","showProgressBar","showQuestionNumbers","storeOthersAsComment","questionTitlePattern","StylesManager","listStyle","pattern","replace","defaultActionBarCss","defaultBootstrapCss","html","htmlElement","querySelectorAll","value","div","outerHTML","appendRequiredText","required","isRequired","onPropertyChanged","newValue","requiredText","completeText","page","previewText","str","converter","makeHtml","substring","indexOf","lastIndexOf","Map","set","WidgetBase","iconName","afterRender","el","init","willUnmount","widgetIsLoaded","activatedByChanged","activatedBy","AlertWidget","super","widget","CustomWidgetCollection","property","JsonObject","choices","getChoices","defaultValue","some","choice","setChoices","dependsOn","category","visibleIf","obj","renderAs","hasTitle","alert","alertType","htmlQuestion","isFit","SurveyPDFBase","commercial","htmlRenderAs","SurveyPDF","raw","type","save","fileName","onGetQuestionTitle","handleOnGetQuestionTitle","onProcessHtml","handleOnProcessHtml","onQuestionAdded","handleOnQuestionAdded","ChoicesRestful","mode","decodeEntities","replaceUnicode","fileQuestion","previewValue","map","content","input","element","match","output","DownloadWidget","Serializer","serializationProperty","button","addEventListener","toJSON","runningPages","pages","p","getLocalizableStringText","defaultFileName","surveyPDF","InfoRequestSurvey","Survey","widgets","register","onServerValidateQuestions","promises","handleOnServerValidateQuestionsValidation","Promise","all","then","complete","catch","err","console","onUpdatePanelCssClasses","classes","cssClasses","isDisplayMode","panel","hideOnPreview","state","containsTopic","checked","closest","ValidatePhoneNumber","phoneNumberParam","optionalValue","phoneNumber","String","isPossiblePhoneNumber","axios","resp","Object","keys","q","reject","loadLocaleMessages","locales","require","messages","key","matched","length","VueI18n","fallbackLocale","InfoRequestSurveyPdf","SurveyHelper","onRenderQuestion","handleOnRenderQuestion","checkboxQuestion","SurveyCore","titleLocation","selectedChoices","visibleChoices","isItemSelected","selectAll","flatCheckbox","repository","create","controller","titleBrick","bricks","unfold","pop","checkboxBrick","point","createPoint","yTop","xLeft","measureText","i18n","textBrick","TextBrick","width","height","compositeTitleBrick","CompositeBrick","unitHeight","generateFlats","checkboxBricks","concat","InfoRequest","pdfModel","createPdfModel","surveyModel","pageModel","elements","en","fr","splice","pageIndex","panelElement","elementIndex","mounted","ApplicationUrl","onComplete","async","setValue","dataUrl","file","url","showDataSavingError","message","finally","response","status","alertMessage","_t","MainContent","InfoRequestView","VueRouter","routes","path","redirect","beforeEnter","location","router","base","beforeEach","to","from","next","setAttribute","config","NProgress","Loading","VueMatomo","host","siteId","trackerFileName","domains","VuePromiseBtn","h","$mount","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","jQuery","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","n","getter","__esModule","d","a","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","reduce","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","removeChild","setTimeout","bind","target","head","Symbol","toStringTag","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}