{"version":3,"file":"js/app-legacy.fa099405.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/node module decorator","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\tid: moduleId,\n\t\tloaded: false,\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// Flag the module as loaded\n\tmodule.loaded = true;\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 + \"-legacy.\" + {\"478\":\"a3835135\",\"767\":\"1b307c0f\",\"986\":\"2eaa57f8\"}[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__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\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","buildTop","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","Vue","__decorate","Prop","default","Watch","component","WetPreFooter","buildPreFooter","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","Converter","simpleLineBreaks","tasklists","openLinksInNewWindow","setSurveyTheme","registerWidgets","Model","surveyLocalization","originalModel","setSurveyLocalizations","setSurveyProperties","getPropertyValue","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","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","displayErrorSummary","WidgetBase","iconName","el","activatedBy","AlertWidget","property","JsonObject","choices","getChoices","defaultValue","some","choice","setChoices","dependsOn","category","visibleIf","obj","renderAs","hasTitle","alert","alertType","htmlQuestion","widget","CustomWidgetCollection","SurveyPDFBase","commercial","htmlRenderAs","SurveyPDF","type","raw","fileName","save","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","isPreviewShowing","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","ApplicationUrl","loadSurveyFromJSON","onComplete","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","loaded","__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","nmd","paths","children","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}