{"version":3,"sources":["webpack:///./src/components/vIngredientsDisplayNames.vue?4903","webpack:///./src/components/vExportLabelButtons.vue?4261","webpack:///./src/components/vToggleSwitch.vue","webpack:///./src/components/vToggleSwitch.vue?985c","webpack:///./src/components/vToggleSwitch.vue?b29c","webpack:///./src/components/vToggleSwitch.vue?df0d","webpack:///./src/utils/API/GeneralRepository.ts","webpack:///./src/components/vExportLabel.vue?2d55","webpack:///./src/components/vToggleSwitch.vue?6289","webpack:///./src/components/vLabelPreviewImage.vue?862d","webpack:///./src/components/vExportLabel.vue?03c2","webpack:///./src/components/vBackOfPackageConfig.vue?25c5","webpack:///./src/components/vAccordion.vue?ecef","webpack:///./src/components/vExportLabel.vue","webpack:///./src/components/vIngredientsDisplayNames.vue","webpack:///./src/components/vIngredientsDisplayNames.vue?9de9","webpack:///./src/models/NutritionLabels/DietaryTypes.ts","webpack:///./src/components/vIngredientsDisplayNames.vue?d4ea","webpack:///./src/components/vIngredientsDisplayNames.vue?8469","webpack:///./src/services/ExportLabel.service.ts","webpack:///./src/models/NutritionLabels/ExportLabelState.ts","webpack:///./src/components/vUSContainsPercentOfForm.vue","webpack:///./src/components/vUSContainsPercentOfForm.vue?cc35","webpack:///./src/components/vUSContainsPercentOfForm.vue?267d","webpack:///./src/components/vUSContainsPercentOfForm.vue?2eac","webpack:///./src/components/vAccordion.vue","webpack:///./src/components/vAccordion.vue?7b33","webpack:///./src/components/vAccordion.vue?7a66","webpack:///./src/components/vAccordion.vue?33f6","webpack:///./src/components/vLabelPreviewImage.vue","webpack:///./src/components/vLabelPreviewImage.vue?9358","webpack:///./src/components/vLabelPreviewImage.vue?00ab","webpack:///./src/components/vLabelPreviewImage.vue?9246","webpack:///./src/components/vFrontOfPackageConfig.vue","webpack:///./src/components/vFrontOfPackageConfig.vue?7b92","webpack:///./src/components/vFrontOfPackageConfig.vue?49ed","webpack:///./src/components/vFrontOfPackageConfig.vue?ce1d","webpack:///./src/components/vBackOfPackageConfig.vue","webpack:///./src/components/vBackOfPackageConfig.vue?e1d4","webpack:///./src/components/vBackOfPackageConfig.vue?b69e","webpack:///./src/components/vBackOfPackageConfig.vue?399d","webpack:///./src/components/vExportLabelButtons.vue","webpack:///./src/components/vExportLabelButtons.vue?bed8","webpack:///./src/components/vExportLabelButtons.vue?3558","webpack:///./src/components/vExportLabelButtons.vue?789d","webpack:///./src/components/vExportLabel.vue?b021","webpack:///./src/components/vExportLabel.vue?3ca6","webpack:///./src/components/vExportLabel.vue?f953"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","attrs","domProps","value","on","changeHandler","staticRenderFns","vToggleSwitch","_Vue","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","$emit","Vue","__decorate","Prop","Component","component","resource","listCountries","Repository","post","ListRequest","page","pageSize","withCredentials","listIndustries","listLanguages","get","staticStyle","isFopDisplay","_e","recipe","nutritionCountries","packageLabelType","languages","subrecipeMeasurements","model","exportLabelState","callback","$$v","expression","id","highIn","debouncedFetchPreview","loading","nutritionCountry","nutritionLabel","primaryLanguage","labelPreview","fopLabelPreview","saveRecipeLabel","loadFOPLabelCreator","loadBOPLabelCreator","_l","sortedIngredientDisplays","ingredient","ingredientId","class","activeIngredientId","recipeId","isBranded","$event","preventDefault","setActiveIngredient","_v","_s","displayTextInPrimaryLanguage","translations","directives","name","rawName","target","composing","$set","country","displayTextInSecondaryLanguage","isAllergen","isArray","_i","$$a","$$el","$$c","checked","$$i","slice","vIngredientsDisplayNames","localizationState","ingredientDisplays","sort","firstDisplay","secondDisplay","weightInGrams","Watch","computed","_objectSpread","mapState","state","LocalizationModule","DietaryTypes","getSubrecipeWeightInGrams","subrecipe","measurement","find","x","recipeCompositionMeasurementId","subRecipeWeight","quantity","weightPerServing","toLowerCase","conversionCoeficient","getIngredientDisplays","ingredients","savedDisplays","quantityMultiplier","undefined","displays","map","ingr","savedDisplay","ingrWeight","push","components","subIngredients","getSubrecipeDisplayAsIngredients","_step","_iterator","_createForOfIteratorHelper","childRecipes","s","n","done","childRecipe","subrecipeWeight","subrecipeWeightAsServings","fetchedDisplays","err","e","f","getIngredientAndSubRecipeDisplays","subRecipeDisplays","renderExpandedSubrecipes","preprocessedDisplays","_step2","_iterator2","_step3","groupedDisplays","groupBy","toString","rv","_iterator3","keys","totalWeight","reduce","acc","display","structuredClone","ExportLabelState","allergens","isChecked","primaryLanguageName","secondaryLanguageName","dietary","mayContain","primaryLanguageAdditionalContent","secondaryLanguageAdditionalContent","cautionaryMessage","containsLessThanPercentOf","primaryLanguageContainsLessThanText","secondaryLanguageContainsLessThanText","primaryLanguagePercentOfText","secondaryLanguagePercentOfText","thresholdPercent","headerLabelTranslations","ingredientsPrimaryLanguageTranslation","ingredientsSecondaryLanguageTranslation","containsPrimaryLanguageTranslation","containsSecondaryLanguageTranslation","mayContainPrimaryLanguageTranslation","mayContainSecondaryLanguageTranslation","cautionaryMessagePrimaryLanguageTranslation","cautionaryMessageSecondaryLanguageTranslation","includeIngredients","disableDownload","freeTextPlaceholders","isIE","fopNutritionLabelId","labelTypes","LabelTypeMetadata","FrontOfPack","fopFormat","pdsSize","includeInDownload","secondaryLanguage","ingredientAndSubRecipeDisplaysModel","combinedSubRecipeList","expandedSubRecipeList","savedNutritionLabelId","savedSubRecipeDisplays","textPlaceholdersOfSavedLabel","filter","translationInstance","types","dt","isValueProperty","parseInt","includes","isBilingual","firstLevelSubRecipe","_subRecipeIngredients","join","forEach","secondLevelSubRecipe","thirdLevelChildRecipe","getSubRecipeDisplays","firstIngredient","secondIngredient","subRecipeIngredients","acceptableThresholds","vUSContainsPercentOfForm","Model","expandAccordion","active","isExpanded","accordionTitleTranslationKey","_t","vAccordion","isLoading","shouldDisplayLabel","labelPreviewBase64","vLabelPreviewImage","vPreLoader","labelFormatOptions","foPFormatReducer","fetchLabelFormats","scopedSlots","_u","fn","option","formatTranslationKey","selectedFormat","pdsSizeOptions","foPPDSReducer","fetchPreview","translationKey","selectedPDS","vFrontOfPackageConfig","loadLabelFormats","_this2","NutritionLabelRepository","getFrontOfPackageOptions","then","response","data","result","savedFormat","formatValue","updateFOPSelections","_this3","supportedPDS","fetchFOPLabel","fopData","pdsData","_this4","labelFormatValue","pdsSizeValue","labelType","highInMetadata","previewFOPNutritionLabel","content","selected","format","updatePDSSizes","fetchNutritionLabels","updateFilters","showSupplementFactsLabels","filteredNutritionLabels","fetchFreeTextFields","proxy","placeholder","displayText","toggleSubrecipeExpansion","ingredientAndSubRecipeDisplays","slot","dietaryTypes","type","toggleDietary","allergen","updateAllergenStatus","_regeneratorRuntime","t","r","Object","prototype","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","_defineProperties","_toPropertyKey","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","vBackOfPackageConfig","ingredientAndSubRecipeDisplaysInit","console","log","updateLabelTypeList","resetNutritionLabel","sortKey","SupplementFact","BackOfPack","nutritionLabels","width","label","document","getElementById","naturalWidth","height","naturalHeight","_fetchNutritionLabels","_callee","_context","listNutritionLabels","getFreeTextPlaceholdersForNutritionLabel","freeTextPlaceholder","$snotify","error","debounce","updateIngredientName","copyIngredientNamesOver","expandedItem","itemIndex","findIndex","_this5","splice","indexOf","_this6","previewNutritionLabelForRecipe","checkedAllergens","nutritionLabelId","ingredientsIncluded","additionalContent","containsLessThanPercentOfText","headerTranslations","nutritionLabelDownloadFileFormat","labelWidth","labelHeight","ingredientDisplayModels","default","accountStoreState","AccountModule","userDetails","nutritionLabelsLimit","labelsLimit","downloadedLabels","showLearnMoreModal","remainingLabelDownloads","$moment","nextResetDate","DATE_DISP_FORMAT","shouldShowSaveButton","downloadingMultipleLabels","shouldShowDownloadButtons","disabled","downloadLabel","vExportLabelButtons","dateDisplayFormat","labelsCount","fileType","$store","getters","getUserDetails","isTrial","info","$router","fileContentType","filename","split","getFileContentType","additionalLabelInformation","frontOfPackageNutritionLabelId","downloadNutritionLabelForRecipe","parseFloat","labelFormatType","pushDownloadToClient","headers","message","enc","TextDecoder","JSON","parse","decode","errorMessages","userVisibleMessage","chosenFileType","blobData","blob","Blob","getFileExtension","url","window","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","evt","createEvent","initMouseEvent","dispatchEvent","UserRepository","fetchUserInfo","commit","SET_USER_DETAILS","logged","vModal","vExportLabel","listNutritionCountries","fetchRecipeLabel","GeneralRepository","navigator","userAgent","ingredientsList","RecipesRepository","nutritionCountryId","additionalContents","containsLessThanPercentOfContent","ingredientOtherDisplayModel","subRecipeDisplayModels","success","getRecipeLabel","fillLabelData","labelData","fillAllergens","fillDietaryTypes","fillNutritionCountry","fillLanguages","fillFreeTextPlaceholders","fillContainsLessThanPercent","fillIngredientDisplays","fillSavedSubRecipeDisplays","fillAdditionalProperties","containsLessThanPercent","synchronizeIngredientData","synchronizeRecipeIngredientData","frontOfPackData","originalList","modifiedList","modifiedListMap","Map","set","updatedSubRecipeList","otherDisplay","delete","modifiedRecipeListMap","modifiedIngredientListMap","otherRecipeDisplay","otherIngredientDisplay","_this7"],"mappings":"oKAAA,W,oCCAA,W,oCCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,QAAQ,CAACG,YAAY,UAAU,CAACH,EAAG,QAAQ,CAACI,MAAM,CAAC,KAAO,YAAYC,SAAS,CAAC,QAAUP,EAAIQ,OAAOC,GAAG,CAAC,MAAQT,EAAIU,iBAAiBR,EAAG,OAAO,CAACG,YAAY,oBAE5PM,EAAkB,G,+lECEP,IAAMC,EAAa,SAAAC,GAAA,SAAAD,IAAA,IAAAE,EAAAC,EAAA,KAAAH,GAAA,QAAAI,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAAA,OAAAP,EAAAQ,EAAA,KAAAV,EAAA,GAAAW,OAAAJ,IAAAK,EAAAV,EAAA,gBAAAA,EAAA,OAAAW,EAAAb,EAAAC,GAAAa,EAAAd,EAAA,EAAAe,IAAA,gBAAAnB,MAIhC,WACEP,KAAK2B,MAAM,WAAY3B,KAAKO,WALE,CAASqB,QAEjCC,eAAA,CAAPC,kB,4BAFkBnB,EAAakB,eAAA,CADjCE,QACoBpB,WCJkX,I,wBCQnYqB,EAAY,eACd,EACAlC,EACAY,GACA,EACA,KACA,WACA,MAIa,OAAAsB,E,6FCnBf,4BAQMC,EAAW,WAEF,QACbC,cAAa,WACX,OAAOC,OAAWC,KAAK,GAADd,OAAIW,EAAQ,kBAAkB,IAAII,OAAY,CAACC,KAAM,EAAGC,SAAU,OAAQ,CAACC,iBAAiB,KAEpHC,eAAc,WACZ,OAAON,OAAWC,KAAK,GAADd,OAAIW,EAAQ,mBAAmB,IAAII,OAAY,CAACC,KAAM,EAAGC,SAAU,OAAQ,CAACC,iBAAiB,KAErHE,cAAa,WACX,OAAOP,OAAWQ,IAAG,GAAArB,OAA8BW,EAAQ,kBAAkB,CAACO,iBAAiB,O,oCClBnG,W,gFCAA,W,oCCAA,W,kCCAA,W,kCCAA,W,yDCAA,W,gECAA,IAAI1C,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,OAAO,CAACA,EAAG,MAAM,CAACG,YAAY,WAAWwC,YAAY,CAAC,OAAS,SAAS,CAAC3C,EAAG,MAAM,CAACG,YAAY,wBAAwBwC,YAAY,CAAC,SAAW,OAAO,gBAAgB,SAAS,CAAG7C,EAAI8C,aAAiW9C,EAAI+C,KAAvV7C,EAAG,uBAAuB,CAACI,MAAM,CAAC,OAASN,EAAIgD,OAAO,sBAAsBhD,EAAIiD,mBAAmB,qBAAqBjD,EAAIkD,iBAAiB,UAAYlD,EAAImD,UAAU,yBAAyBnD,EAAIoD,uBAAuBC,MAAM,CAAC7C,MAAOR,EAAIsD,iBAAkBC,SAAS,SAAUC,GAAMxD,EAAIsD,iBAAiBE,GAAKC,WAAW,sBAAgCzD,EAAI8C,aAAc5C,EAAG,wBAAwB,CAACI,MAAM,CAAC,YAAYN,EAAI0D,GAAG,qBAAqB1D,EAAIkD,iBAAiB,UAAUlD,EAAI2D,QAAQlD,GAAG,CAAC,0BAA0BT,EAAI4D,uBAAuBP,MAAM,CAAC7C,MAAOR,EAAIsD,iBAAkBC,SAAS,SAAUC,GAAMxD,EAAIsD,iBAAiBE,GAAKC,WAAW,sBAAsBzD,EAAI+C,MAAM,GAAG7C,EAAG,MAAM,CAACG,YAAY,4CAA4CwC,YAAY,CAAC,aAAa,SAAS,IAAM,SAAS,CAAC3C,EAAG,MAAM,CAACG,YAAY,cAAcwC,YAAY,CAAC,QAAU,OAAO,iBAAiB,SAAS,IAAM,OAAO,aAAa,WAAW,CAAG7C,EAAI8C,aAE5kC9C,EAAI+C,KAFslC7C,EAAG,qBAAqB,CAACI,MAAM,CAAC,aAAaN,EAAIsD,iBAAiBO,QAAQ,uBAAuB7D,EAAIsD,iBAAiBQ,kBAClxC,OAAxC9D,EAAIsD,iBAAiBS,gBACoB,OAAzC/D,EAAIsD,iBAAiBU,gBAAyB,uBAAuBhE,EAAIsD,iBAAiBW,gBAA0BjE,EAAI8C,aAAc5C,EAAG,qBAAqB,CAACI,MAAM,CAAC,aAAaN,EAAIsD,iBAAiBO,QAAQ,uBAAiE,OAA1C7D,EAAIsD,iBAAiBQ,kBACvN,OAAxC9D,EAAIsD,iBAAiBS,gBACoB,OAAzC/D,EAAIsD,iBAAiBU,iBACoB,KAAzChE,EAAIsD,iBAAiBY,gBAAuB,uBAAuBlE,EAAIsD,iBAAiBY,mBAAmBlE,EAAI+C,KAAK7C,EAAG,sBAAsB,CAACI,MAAM,CAAC,qBAAqBN,EAAIkD,iBAAiB,iBAAiBlD,EAAI8C,aAAa,OAAS9C,EAAIgD,OAAO,UAAUhD,EAAI2D,OAAO,yBAAyB3D,EAAIoD,uBAAuB3C,GAAG,CAAC,aAAaT,EAAImE,gBAAgB,yBAAyBnE,EAAIoE,oBAAoB,yBAAyBpE,EAAIqE,qBAAqBhB,MAAM,CAAC7C,MAAOR,EAAIsD,iBAAkBC,SAAS,SAAUC,GAAMxD,EAAIsD,iBAAiBE,GAAKC,WAAW,uBAAuB,UAEzkB9C,EAAkB,G,isBCPtB,IAAIZ,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,MAAM,CAACG,YAAY,+BAA+BL,EAAIsE,GAAItE,EAAIuE,0BAA0B,SAASC,GAAY,OAAOtE,EAAG,OAAO,CAACyB,IAAI,YAAc6C,EAAWC,eAAgBD,EAAoBnE,YAAY,YAAYqE,MAAM,CAAC,OAAW1E,EAAI2E,qBAAuB,KAAKH,EAAWC,cAAkBzE,EAAI2E,qBAAuB,KAAKH,EAAWI,SACnd,UAAaJ,EAAWK,WAAYpE,GAAG,CAAC,MAAQ,SAASqE,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAIgF,oBAAoBR,EAAWC,aAAe,KAAKD,EAAWC,aAAe,KAAKD,EAAWI,aAAa,CAAC5E,EAAIiF,GAAGjF,EAAIkF,GAAGV,EAAWW,oCAAmC,GAAGjF,EAAG,MAAM,CAACG,YAAY,UAAU,CAACL,EAAIsE,GAAItE,EAAIuE,0BAA0B,SAASC,GAAY,MAAO,CAAGxE,EAAI2E,qBAAuB,KAAKH,EAAWC,cAAkBzE,EAAI2E,qBAAuB,KAAKH,EAAWI,SAAW1E,EAAG,MAAM,CAACyB,IAAI,YAAc6C,EAAWC,eAAgBD,GAAqB,CAACtE,EAAG,MAAMA,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,WAAW,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOgE,EAAWW,6BAA8B1B,WAAW,4CAA4CpD,YAAY,eAAeC,MAAM,CAAC,KAAO,IAAI,KAAO,QAAQC,SAAS,CAAC,MAASiE,EAAWW,8BAA+B1E,GAAG,CAAC,MAAQ,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAKlB,EAAY,+BAAgCM,EAAOU,OAAOhF,aAAaN,EAAG,MAAM,CAACmF,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAS/E,OAAOR,EAAI2F,SAA8B,MAApB3F,EAAI2F,QAAQL,KAAqB7B,WAAW,0CAA0CpD,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,WAAW,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOgE,EAAWoB,+BAAgCnC,WAAW,8CAA8CpD,YAAY,eAAeC,MAAM,CAAC,KAAO,IAAI,KAAO,QAAQC,SAAS,CAAC,MAASiE,EAAWoB,gCAAiCnF,GAAG,CAAC,MAAQ,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAKlB,EAAY,iCAAkCM,EAAOU,OAAOhF,aAAaN,EAAG,MAAM,CAACmF,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAS/E,QAAOR,EAAI2F,SAA8B,MAApB3F,EAAI2F,QAAQL,KAAsB7B,WAAW,2CAA2CpD,YAAY,kDAAkD,CAACH,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOgE,EAAWqB,WAAYpC,WAAW,0BAA0BnD,MAAM,CAAC,GAAK,MAAQkE,EAAWC,aAAa,KAAO,YAAYlE,SAAQiB,EAAA,CAAE,QAAUgD,EAAWqB,YAAU,UAAWzE,MAAM0E,QAAQtB,EAAWqB,YAAY7F,EAAI+F,GAAGvB,EAAWqB,WAAW,OAAO,EAAGrB,EAAWqB,YAAapF,GAAG,CAAC,MAAQ,SAASqE,GAAQN,EAAWqB,YAAcrB,EAAWqB,YAAY,OAAS,SAASf,GAAQ,IAAIkB,EAAIxB,EAAWqB,WAAWI,EAAKnB,EAAOU,OAAOU,IAAID,EAAKE,QAAuB,GAAG/E,MAAM0E,QAAQE,GAAK,CAAC,IAAIxC,EAAI,KAAK4C,EAAIpG,EAAI+F,GAAGC,EAAIxC,GAAQyC,EAAKE,QAASC,EAAI,GAAIpG,EAAI0F,KAAKlB,EAAY,aAAcwB,EAAIzE,OAAO,CAACiC,KAAa4C,GAAK,GAAIpG,EAAI0F,KAAKlB,EAAY,aAAcwB,EAAIK,MAAM,EAAED,GAAK7E,OAAOyE,EAAIK,MAAMD,EAAI,UAAYpG,EAAI0F,KAAKlB,EAAY,aAAc0B,OAAUhG,EAAG,QAAQ,CAACG,YAAY,iBAAiBC,MAAM,CAAC,IAAM,MAAQkE,EAAWC,eAAe,CAACzE,EAAIiF,GAAG,gBAAgB/E,EAAG,SAAS,CAACG,YAAY,aAAaI,GAAG,CAAC,MAAQ,SAASqE,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAIgF,oBAAoB,QAAQ,CAAC9E,EAAG,IAAI,CAACG,YAAY,gBAAgBL,EAAIiF,GAAG,gBAAgBjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,SAAS,kBAAkB5C,EAAI+C,UAAS,MAE3pGpC,EAAkB,G,kpFCUP,IAAM2F,EAAwB,SAAAzF,GAAA,SAAAyF,IAAA,IAAAxF,EAAAC,EAAA,KAAAuF,GAAA,QAAAtF,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAYX,OAZWP,EAAAQ,EAAA,KAAAgF,EAAA,GAAA/E,OAAAJ,IAAAK,EAAAV,EAAA,4BAAAU,EAAAV,EAAA,6BAAAU,EAAAV,EAAA,kBAAAU,EAAAV,EAAA,qBAYd,KAAGA,EAAA,OAAAW,EAAA6E,EAAAzF,GAAAa,EAAA4E,EAAA,EAAA3E,IAAA,6BAAAnB,MAJhC,WACEP,KAAK2B,MAAM,YACZ,CAAAD,IAAA,sBAAAnB,MAID,SAAoBkD,GAClBzD,KAAK0E,mBAAqBjB,IAC3B,CAAA/B,IAAA,eAAAiB,IAED,WACE,OAAO3C,KAAKsG,kBAAkBnB,eAC/B,CAAAzD,IAAA,2BAAAiB,IAED,WACE,OAAO3C,KAAKuG,mBAAmBC,MAC7B,SAACC,EAAcC,GAAa,OAAKA,EAAcC,cAAgBF,EAAaE,qBAxBrC,CAAS/E,QAG5CC,eAAA,CAAPC,kB,yCACOD,eAAA,CAAPC,kB,8BAIDD,eAAA,CADC+E,eAAM,uB,+CAPYP,EAAwBxE,eAAA,CAP5CE,eAAU,CACT8E,SAAQC,EAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,0BAI1BZ,OCbTa,EDaSb,IEb6X,I,wBCQ9YrE,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,wkCCZT,SAAUmF,EAA0BC,EAAsBjE,GAC9D,IAAMkE,EAAclE,EAAsBmE,MACxC,SAACC,GAAC,OAAKA,EAAE9D,IAAM2D,EAAUI,kCAGvBC,EAAkBL,EAAUM,SAAWN,EAAUO,iBAMrD,OAJIN,GAA8D,YAA/CA,EAAYA,YAAYhC,KAAKuC,gBAC9CH,EAAkBL,EAAUM,SAAWL,EAAYA,YAAYQ,sBAG1DJ,EAGH,SAAUK,EACdC,EACAC,GAC8B,IAA9BC,EAAAjH,UAAAC,OAAA,QAAAiH,IAAAlH,UAAA,GAAAA,UAAA,GAA6B,EAIvBmH,EAAgC,GA6CtC,OA1CAJ,EAAYK,KAAI,SAACC,GAEf,IAAMC,EAAeN,EAAcV,MACjC,SAACC,GAAC,OAAKA,EAAE/C,cAAgB6D,EAAK9D,WAAWd,MAGrC8E,EAAaN,EAAqBI,EAAKX,SAAWW,EAAKhB,YAAYV,cAGzE,GAAI2B,EACFH,EAASK,KAAK,CACZhE,aAAc8D,EAAa9D,aAC3BU,6BAA8BoD,EAAapD,6BAC3CS,+BAAgC2C,EAAa3C,+BAC7CC,WAAY0C,EAAa1C,WACzBhB,UAAyC,MAA9ByD,EAAK9D,WAAWkE,WAC3B9B,cAAe4B,QAId,CACH,IAAIrD,EAA+BmD,EAAK9D,WAAWc,KAE/CgD,EAAK9D,WAAWmE,iBAClBxD,GAAgC,KAAJ5D,OAAS+G,EAAK9D,WAAWmE,eAAc,MAGjEL,EAAK9D,WAAWkE,aAClBvD,EAA+BmD,EAAK9D,WAAWkE,YAGjDN,EAASK,KAAK,CACZhE,aAAc6D,EAAK9D,WAAWd,GAC9ByB,6BAA8BA,EAC9BS,+BAAgC,GAChCC,YAAY,EACZhB,UAAyC,MAA9ByD,EAAK9D,WAAWkE,WAC3B9B,cAAe4B,QAKdJ,EAGT,SAASQ,EACPvB,EACAY,EACA7E,GAC8B,IASyByF,EATvDX,EAAAjH,UAAAC,OAAA,QAAAiH,IAAAlH,UAAA,GAAAA,UAAA,GAA6B,EAGzBmH,EAAgCL,EAClCV,EAAUrE,OAAOgF,YACjBC,EACAZ,EAAUM,SAAWO,GACrBY,EAAAC,EAEwB1B,EAAUrE,OAAOgG,cAAY,IAAvD,IAAAF,EAAAG,MAAAJ,EAAAC,EAAAI,KAAAC,MAAyD,KAA9CC,EAAWP,EAAArI,MACd6I,EAAkBjC,EAA0BgC,EAAahG,GACzDkG,EAA4BD,EAAkBD,EAAYxB,iBAE1D2B,EAAkBX,EACtBQ,EACAnB,EACA7E,EACAkG,EAA4BpB,GAG9BE,EAAWA,EAAS7G,OAAOgI,IAC5B,MAAAC,GAAAV,EAAAW,EAAAD,GAAA,QAAAV,EAAAY,IAED,OAAOtB,EAGH,SAAUuB,EACdnD,EACAxD,EACA4G,EACAxG,GACyC,IAAzCyG,EAAA5I,UAAAC,OAAA,QAAAiH,IAAAlH,UAAA,IAAAA,UAAA,GAEI6I,EAA4CtD,EAEhD,GAAIqD,EAA0B,CAC5B,IAC2CE,EAD3CC,EAAAjB,EACwB/F,EAAOgG,cAAY,IAA3C,IAAAgB,EAAAf,MAAAc,EAAAC,EAAAd,KAAAC,MAA6C,KAAlC9B,EAAS0C,EAAAvJ,MAIlBgG,EAAqBA,EAAmBjF,OACtCqH,EACEvB,EACAb,EACApD,EACA,KAKN,MAAAoG,GAAAQ,EAAAP,EAAAD,GAAA,QAAAQ,EAAAN,IACA,IAIwCO,EAJlCC,EAAkBC,eAAQ3D,GAAoB,SAACgB,GAAC,OAAKA,EAAE/C,aAAa2F,cACpEC,EAA0B,GAEhCC,EAAAvB,EACkBmB,EAAgBK,QAAM,IAAxC,IAAAD,EAAArB,MAAAgB,EAAAK,EAAApB,KAAAC,MAA0C,KAA/BxH,EAAGsI,EAAAzJ,MACNgG,EAA0C0D,EAAgBtH,IAAIjB,GAEpE,GAAI6E,EAAoB,CACtB,IAAMgE,EAAchE,EAAmBiE,QACrC,SAACC,EAAKlD,GAAC,OAAKkD,EAAMlD,EAAEZ,gBACpB,GAII+D,EAAUC,gBAAgBpE,EAAmB,IACnDmE,EAAQ/D,cAAgB4D,EACxBH,EAAG5B,KAAKkC,KAEX,MAAAnB,GAAAc,EAAAb,EAAAD,GAAA,QAAAc,EAAAZ,IAED,OAAOW,EAIP,OAAOP,EAAqBvI,OAAOqI,IH5JvC,SAAYzC,GACVA,IAAA,8BACAA,IAAA,oBACAA,IAAA,8BACAA,IAAA,wBACAA,IAAA,kCACAA,IAAA,4BACAA,IAAA,wBACAA,IAAA,wBACAA,IAAA,wBACAA,IAAA,8BACAA,IAAA,yBACAA,IAAA,yCACAA,IAAA,mCACAA,IAAA,mCACAA,IAAA,2BACAA,IAAA,oCAhBF,CAAYA,MAAY,K,0iCIiBjB,IAAM0D,GAAgB,WA2C3B,SAAAA,IAAA9J,EAAA,KAAA8J,GAAArJ,GAAA,yBAAAA,GAAA,uBAAAA,GAAA,0BAAAA,GAAA,iCAAAA,GAAA,yCAAAA,GAAA,uCAAAA,GAAA,4BAAAA,GAAA,+BAAAA,GAAA,kCAAAA,GAAA,wCAAAA,GAAA,uBAAAA,GAAA,+BAAAA,GAAA,oCAAAA,GAAA,oBAAAA,GAAA,mCAAAA,GAAA,0BAAAA,GAAA,gCAAAA,GAAA,8BAAAA,GAAA,+BAAAA,GAAA,iCAAAA,GAAA,mDAAAA,GAAA,6BAAAA,GAAA,qCAAAA,GAAA,sCAHAA,GAAA,4CAIEvB,KAAK6K,UAAY,CACf,CACEpH,GAAI,SACJqH,WAAW,EACXC,oBAAqB,SACrBC,sBAAuB,IAEzB,CACEvH,GAAI,QACJqH,WAAW,EACXC,oBAAqB,QACrBC,sBAAuB,IAEzB,CACEvH,GAAI,cACJqH,WAAW,EACXC,oBAAqB,cACrBC,sBAAuB,IAEzB,CACEvH,GAAI,QACJqH,WAAW,EACXC,oBAAqB,QACrBC,sBAAuB,IAEzB,CACEvH,GAAI,cACJqH,WAAW,EACXC,oBAAqB,cACrBC,sBAAuB,IAEzB,CACEvH,GAAI,OACJqH,WAAW,EACXC,oBAAqB,OACrBC,sBAAuB,IAEzB,CACEvH,GAAI,WACJqH,WAAW,EACXC,oBAAqB,WACrBC,sBAAuB,IAEzB,CACEvH,GAAI,MACJqH,WAAW,EACXC,oBAAqB,MACrBC,sBAAuB,IAEzB,CACEvH,GAAI,WACJqH,WAAW,EACXC,oBAAqB,WACrBC,sBAAuB,IAEzB,CACEvH,GAAI,MACJqH,WAAW,EACXC,oBAAqB,MACrBC,sBAAuB,IAEzB,CACEvH,GAAI,OACJqH,WAAW,EACXC,oBAAqB,OACrBC,sBAAuB,IAEzB,CACEvH,GAAI,UACJqH,WAAW,EACXC,oBAAqB,UACrBC,sBAAuB,IAEzB,CACEvH,GAAI,YACJqH,WAAW,EACXC,oBAAqB,YACrBC,sBAAuB,IAEzB,CACEvH,GAAI,SACJqH,WAAW,EACXC,oBAAqB,SACrBC,sBAAuB,IAEzB,CACEvH,GAAI,SACJqH,WAAW,EACXC,oBAAqB,SACrBC,sBAAuB,IAEzB,CACEvH,GAAI,YACJqH,WAAW,EACXC,oBAAqB,YACrBC,sBAAuB,KAG3BhL,KAAKiL,QAAU,GACfjL,KAAKkL,WAAa,CAChBC,iCAAkC,GAClCC,mCAAoC,IAEtCpL,KAAKqL,kBAAoB,CACvBF,iCAAkC,GAClCC,mCAAoC,IAEtCpL,KAAKsL,0BAA4B,CAC/BC,oCAAqC,qBACrCC,sCAAuC,GAEvCC,6BAA8B,aAC9BC,+BAAgC,GAEhCC,iBAAkB,GAEpB3L,KAAK4L,wBAA0B,CAC7BC,sCAAuC,cACvCC,wCAAyC,GAEzCC,mCAAoC,WACpCC,qCAAsC,GAEtCC,qCAAsC,cACtCC,uCAAwC,GAExCC,4CAA6C,UAC7CC,8CAA+C,IAEjDpM,KAAKgE,aAAe,GACpBhE,KAAKiE,gBAAkB,GACvBjE,KAAKqM,oBAAqB,EAC1BrM,KAAK4J,0BAA2B,EAChC5J,KAAK4D,SAAU,EACf5D,KAAKsM,iBAAkB,EACvBtM,KAAKuM,qBAAuB,GAC5BvM,KAAKwM,MAAO,EACZxM,KAAKyM,oBAAsB,EAC3BzM,KAAK0M,WAAUnL,GAAA,GACZoL,OAAkBC,YAAc,CAC/BC,UAAW,EACXC,QAAS,EACTC,mBAAmB,IAGvB/M,KAAK6D,iBAAmB,KACxB7D,KAAK8D,eAAiB,KACtB9D,KAAK+D,gBAAkB,KACvB/D,KAAKgN,kBAAoB,KACzBhN,KAAKiN,oCAAsC,CACzCC,sBAAuB,GACvBC,sBAAuB,IAEzBnN,KAAKgI,cAAgB,GACrBhI,KAAKoN,sBAAwB,KAC7BpN,KAAKqN,uBAAyB,GAE9BrN,KAAKsN,6BAA+B,KACrC,OAAA7L,GAAAmJ,EAAA,EAAAlJ,IAAA,mBAAAiB,IAED,WACE,OAAO3C,KAAK6K,UAAU0C,QAAO,SAAChG,GAAC,OAAoB,GAAfA,EAAEuD,eACvC,CAAApJ,IAAA,kBAAAnB,MAED,SAAgBiN,GACd,IAAIC,EAA+D,GACnE,IAAK,IAAIC,KAAMxG,EAAc,CAC3B,IAAIyG,EAA2BC,SAASF,EAAI,KAAO,EAC/CC,GACFF,EAAMjF,KAAK,CACTnD,KAAMmI,EAAoB7K,IAAI,YAADrB,OAAa4F,EAAawG,KACvDnN,MAAOqN,SAASF,GAChB5C,UAAW9K,KAAKiL,QAAQ4C,SAASD,SAASF,MAGhD,OAAOD,IACR,CAAA/L,IAAA,cAAAiB,IAED,WACE,OAAO3C,KAAK8D,gBAAkB9D,KAAK8D,eAAegK,cAGpD,CAAApM,IAAA,wBAAAnB,MAIA,SAAsBwC,GAEpB,OAAO+E,EAAsB/E,EAAOgF,aAAe,GAAI/H,KAAKgI,iBAG9D,CAAAtG,IAAA,uBAAAnB,MAIA,SACEwC,EACAI,GAAqD,IAAAtC,EAAA,KAI/CsH,EAAgC,GA2EtC,OAzEIpF,GAEFA,EAAOgG,aAAaX,KAAI,SAACrF,GAEvB,IAAMuF,EAAezH,EAAKwM,uBAAuB/F,MAC/C,SAACC,GAAC,OAAKA,EAAE5C,UAAY5B,EAAOA,OAAOU,MAG/BgE,EAAkBN,EAA0BpE,EAAQI,GAG1D,GAAImF,EACFH,EAASK,KAAK,CACZ7D,SAAU2D,EAAa3D,SACvBO,6BAA8BoD,EAAapD,6BAC3CS,+BAAgC2C,EAAa3C,+BAC7CC,YAAY,EACZhB,WAAW,EACX+B,cAAec,QAId,CAEH,IAAIvC,EAA+BnC,EAAOA,OAAOsC,KAEjD,GAAItC,EAAOA,OAAOgF,YAAY9G,OAAS,EAAG,CAExC,IAAM8M,EAAsBlN,EAAKmN,sBAC/BjL,EAAOA,OAAOgF,aAGhB7C,GAAgC,KAAO6I,EAAoBE,KAAK,MAIlElL,EAAOA,OAAOgG,aAAamF,SAAQ,SAAC/E,GAKlC,GAJAjE,IACGnC,EAAOA,OAAOgF,YAAY9G,OAAS,EAAI,KAAO,MAAQkI,EAAYpG,OAAOsC,KAGxE8D,EAAYpG,OAAOgF,YAAY9G,OAAS,EAAG,CAE7C,IAAMkN,EAAuBtN,EAAKmN,sBAChC7E,EAAYpG,OAAOgF,aAGrB7C,GAAgC,KAAOiJ,EAAqBF,KAAK,MAInE9E,EAAYpG,OAAOgG,aAAamF,SAAQ,SAACE,GACvClJ,IACGiE,EAAYpG,OAAOgF,YAAY9G,OAAS,EAAI,KAAO,MAAQmN,EAAsBrL,OAAOsC,QAI7FH,GAAgC,OAElCA,GAAgC,IAEhCiD,EAASK,KAAK,CACZ7D,SAAU5B,EAAOA,OAAOU,GACxByB,6BAA8BA,EAC9BS,+BAAgC,GAChCC,YAAY,EACZhB,WAAW,EACX+B,cAAec,QAMhBU,IAGT,CAAAzG,IAAA,oCAAAnB,MACA,SACEwC,EACAI,EACAyG,GAEA,IAAMzB,EAAWuB,EACf1J,KAAK8H,sBAAsB/E,GAC3BA,EACA/C,KAAKqO,qBAAqBtL,EAAQI,GAClCA,EACAyG,GAGF,OAAOzB,IAGT,CAAAzG,IAAA,wBAAAnB,MACA,SAAsBwH,GAEpBA,EAAYvB,MACV,SAAC8H,EAAiBC,GAAgB,OAC/BA,EAAiB7G,SAAW6G,EAAiBlH,YAAYV,cAAkB2H,EAAgB5G,SAAW4G,EAAgBjH,YAAYV,iBAGvI,IAAM6H,EAAiC,GAKvC,OAJAzG,EAAYmG,SAAQ,SAAC3J,GACnBiK,EAAqBhG,KAAKjE,EAAWA,WAAWc,SAG3CmJ,MAjWkB,GCjBzB1O,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,OAAO,cAAc,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,yCAAyC1C,EAAG,MAAMA,EAAG,MAAM,CAACG,YAAY,OAAO,CAACH,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMmI,oCAAqC/H,WAAW,8CAA8CpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASP,EAAIqD,MAAMmI,qCAAsC/K,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAO,sCAAuCyB,EAAOU,OAAOhF,QAAQ,SAASsE,GAAQ,OAAO9E,EAAI4B,MAAM,kBAAkB1B,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,MAAM,aAAa,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMoI,sCAAuChI,WAAW,gDAAgDpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASP,EAAIqD,MAAMoI,uCAAwChL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAO,wCAAyCyB,EAAOU,OAAOhF,QAAQ,SAASsE,GAAQ,OAAO9E,EAAI4B,MAAM,oBAAoB1B,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,QAAQ,CAACG,YAAY,mBAAmB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sCAAsC1C,EAAG,WAAW,CAACI,MAAM,CAAC,UAAW,EAAM,MAAQ,oBAAoB,QAAUN,EAAI0O,qBAAqB,WAAY,EAAM,YAAc,GAAKjO,GAAG,CAAC,MAAQ,SAASqE,GAAQ,OAAO9E,EAAI4B,MAAM,eAAeyB,MAAM,CAAC7C,MAAOR,EAAIqD,MAAMuI,iBAAkBrI,SAAS,SAAUC,GAAMxD,EAAI0F,KAAK1F,EAAIqD,MAAO,mBAAoBG,IAAMC,WAAW,6BAA6B,GAAGvD,EAAG,MAAM,CAACG,YAAY,SAAS,CAACH,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMqI,6BAA8BjI,WAAW,uCAAuCpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASP,EAAIqD,MAAMqI,8BAA+BjL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAO,+BAAgCyB,EAAOU,OAAOhF,QAAQ,SAASsE,GAAQ,OAAO9E,EAAI4B,MAAM,kBAAkB1B,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,MAAM,aAAa,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMsI,+BAAgClI,WAAW,yCAAyCpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASP,EAAIqD,MAAMsI,gCAAiClL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAO,iCAAkCyB,EAAOU,OAAOhF,QAAQ,SAASsE,GAAQ,OAAO9E,EAAI4B,MAAM,yBAEjxGjB,GAAkB,G,+qFCYP,IAAMgO,GAAwB,SAAA9N,GAAA,SAAA8N,IAAA,IAAA7N,EAAAC,GAAA,KAAA4N,GAAA,QAAA3N,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAMA,OANAP,EAAAQ,GAAA,KAAAqN,EAAA,GAAApN,OAAAJ,IAAAK,GAAAV,EAAA,gBAAAU,GAAAV,EAAA,4BAK3CU,GAAAV,EAAA,uBACuB,CAAC,GAAK,EAAK,IAAK,IAAIA,EAAA,OAAAW,GAAAkN,EAAA9N,GAAAa,GAAAiN,EAAA,EAAAhN,IAAA,eAAAiB,IAE3C,WACE,OAAO3C,KAAKsG,kBAAkBnB,iBATW,CAASvD,QAC3CC,eAAA,CAAR8M,kB,6BADkBD,GAAwB7M,eAAA,CAP5CE,eAAU,CACT8E,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,0BAI1ByH,cCd6X,MCO9Y,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX5O,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,0BAA0BI,GAAG,CAAC,MAAQT,EAAI6O,kBAAkB,CAAC3O,EAAG,IAAI,CAACG,YAAY,6BAA6BqE,MAAM,CAAEoK,OAAQ9O,EAAI+O,cAAe7O,EAAG,KAAK,CAAC2C,YAAY,CAAC,QAAU,eAAe,cAAc,SAAS,CAAC7C,EAAIiF,GAAG,WAAWjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI5C,EAAIgP,+BAA+B,cAAc9O,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,cAAc,CAACJ,EAAG,MAAM,CAACmF,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAS/E,MAAOR,EAAI+O,WAAYtL,WAAW,eAAepD,YAAY,0BAA0BwC,YAAY,CAAC,SAAW,WAAW,CAAC7C,EAAIiP,GAAG,sBAAsB,MAAM,IAE5sBtO,GAAkB,G,+qFCUP,IAAMuO,GAAU,SAAArO,GAAA,SAAAqO,IAAA,IAAApO,EAAAC,GAAA,KAAAmO,GAAA,QAAAlO,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAGX,OAHWP,EAAAQ,GAAA,KAAA4N,EAAA,GAAA3N,OAAAJ,IAAAK,GAAAV,EAAA,uCAAAU,GAAAV,EAAA,cAGhB,GAAKU,GAAAV,EAAA,4BAAAA,EAAA,OAAAW,GAAAyN,EAAArO,GAAAa,GAAAwN,EAAA,EAAAvN,IAAA,kBAAAnB,MAGlB,WACEP,KAAK8O,YAAc9O,KAAK8O,aACzB,CAAApN,IAAA,eAAAiB,IAED,WACE,OAAO3C,KAAKsG,kBAAkBnB,iBAXH,CAASvD,QAC9BC,eAAA,CAAPC,kB,oDADkBmN,GAAUpN,eAAA,CAP9BE,eAAU,CACT8E,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,0BAI1BgI,cCZ+W,MCQhY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBXnP,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAQJ,EAAImP,UAAWjP,EAAG,MAAM,CAACG,YAAY,yBAAyBwC,YAAY,CAAC,YAAY,MAAM,CAAC3C,EAAG,eAAe,GAAIF,EAAIoP,mBAAoBlP,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,eAAe,IAAK,yBAAAiB,OAA0BvB,EAAIqP,yBAA0BrP,EAAI+C,MAE5YpC,GAAkB,G,+qFCeP,IAAM2O,GAAkB,SAAAzO,GAAA,SAAAyO,IAAA,IAAAxO,EAAAC,GAAA,KAAAuO,GAAA,QAAAtO,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAAA,OAAAP,EAAAQ,GAAA,KAAAgO,EAAA,GAAA/N,OAAAJ,IAAAK,GAAAV,EAAA,oBAAAU,GAAAV,EAAA,6BAAAU,GAAAV,EAAA,6BAAAU,GAAAV,EAAA,4BAAAA,EAAA,OAAAW,GAAA6N,EAAAzO,GAAAa,GAAA4N,GAAA,CAASzN,QACtCC,eAAA,CAAPC,kB,iCACOD,eAAA,CAAPC,kB,0CACOD,eAAA,CAAPC,kB,0CAHkBuN,GAAkBxN,eAAA,CAVtCE,eAAU,CACT0G,WAAY,CACV6G,mBAEFzI,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,0BAI1BoI,cCjBuX,MCQxY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBXvP,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAAEF,EAAIqD,MAAMS,kBAAuD,UAAnC9D,EAAIqD,MAAMS,iBAAiBwB,MAAoBtF,EAAIkD,kBAAoBlD,EAAI4M,kBAAkBC,YAAa3M,EAAG,MAAM,CAACG,YAAY,6CAA6C,CAACH,EAAG,IAAI,CAACG,YAAY,oBAAoBC,MAAM,CAAC,MAAQ,gBAAgBN,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,gBAAgB,UAAU5C,EAAI+C,KAAK7C,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oBAAoB1C,EAAG,WAAW,CAACI,MAAM,CAAC,QAAUN,EAAIwP,mBAAmB,MAAQ,uBAAuB,OAASxP,EAAIyP,iBAAiB,WAAY,EAAM,UAAYzP,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,mBAAmBvM,GAAG,CAAC,MAAQT,EAAI0P,mBAAmBC,YAAY3P,EAAI4P,GAAG,CAAC,CAACjO,IAAI,SAASkO,GAAG,SAASC,GAAQ,MAAO,CAAC9P,EAAIiF,GAAG,iBAAiBjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAIkN,EAAOC,uBAAuB,mBAAmB,CAACpO,IAAI,kBAAkBkO,GAAG,SAASC,GAAQ,MAAO,CAAC9P,EAAIiF,GAAG,iBAAiBjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAIkN,EAAOC,uBAAuB,qBAAqB1M,MAAM,CAAC7C,MAAOR,EAAIgQ,eAAgBzM,SAAS,SAAUC,GAAMxD,EAAIgQ,eAAexM,GAAKC,WAAW,qBAAqB,KAAKvD,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,gBAAgB1C,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQ,iBAAiB,QAAUN,EAAIiQ,eAAe,UAAYjQ,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaC,YAAc9M,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,kBAAkB,OAAShN,EAAIkQ,cAAc,WAAY,GAAOzP,GAAG,CAAC,MAAQT,EAAImQ,cAAcR,YAAY3P,EAAI4P,GAAG,CAAC,CAACjO,IAAI,SAASkO,GAAG,SAASC,GAAQ,MAAO,CAAC9P,EAAIiF,GAAG,iBAAiBjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAIkN,EAAOM,iBAAiB,mBAAmB,CAACzO,IAAI,kBAAkBkO,GAAG,SAASC,GAAQ,MAAO,CAAC9P,EAAIiF,GAAG,iBAAiBjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAIkN,EAAOM,iBAAiB,qBAAqB/M,MAAM,CAAC7C,MAAOR,EAAIqQ,YAAa9M,SAAS,SAAUC,GAAMxD,EAAIqQ,YAAY7M,GAAKC,WAAW,kBAAkB,KAAKvD,EAAG,MAAM,CAACG,YAAY,gCAAgC,CAACH,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,kBAAmBvJ,WAAW,sEAAsEnD,MAAM,CAAC,GAAK,oBAAoB,KAAO,YAAYC,SAAS,CAAC,QAAUa,MAAM0E,QAAQ9F,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,mBAAmBhN,EAAI+F,GAAG/F,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,kBAAkB,OAAO,EAAGhN,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,mBAAoBvM,GAAG,CAAC,OAAS,SAASqE,GAAQ,IAAIkB,EAAIhG,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAaG,kBAAkB/G,EAAKnB,EAAOU,OAAOU,IAAID,EAAKE,QAAuB,GAAG/E,MAAM0E,QAAQE,GAAK,CAAC,IAAIxC,EAAI,KAAK4C,EAAIpG,EAAI+F,GAAGC,EAAIxC,GAAQyC,EAAKE,QAASC,EAAI,GAAIpG,EAAI0F,KAAK1F,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAc,oBAAqB7G,EAAIzE,OAAO,CAACiC,KAAa4C,GAAK,GAAIpG,EAAI0F,KAAK1F,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAc,oBAAqB7G,EAAIK,MAAM,EAAED,GAAK7E,OAAOyE,EAAIK,MAAMD,EAAI,UAAYpG,EAAI0F,KAAK1F,EAAIqD,MAAMsJ,WAAW3M,EAAI4M,kBAAkBC,aAAc,oBAAqB3G,OAAUhG,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAM,sBAAsB,CAACN,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sCAE15GjC,GAAkB,G,+qFCgBP,IAAM2P,GAAqB,SAAAzP,GAAA,SAAAyP,IAAA,IAAAxP,EAAAC,GAAA,KAAAuP,GAAA,QAAAtP,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAcR,OAdQP,EAAAQ,GAAA,KAAAgP,EAAA,GAAA/O,OAAAJ,IAAAK,GAAAV,EAAA,gBAAAU,GAAAV,EAAA,mBAAAU,GAAAV,EAAA,2BAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,iBAMP,IAAEU,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,qBAGQ,IAAEU,GAAAV,EAAA,oBAEzB8L,QAAiBpL,GAAAV,EAAA,iBAEA,MAAIU,GAAAV,EAAA,cACb,MAAIA,EAAA,OAAAW,GAAA6O,EAAAzP,GAAAa,GAAA4O,EAAA,EAAA3O,IAAA,eAAAiB,IAEhC,WACE,OAAO3C,KAAKsG,kBAAkBnB,eAC/B,CAAAzD,IAAA,UAAAnB,MAED,WACEP,KAAKsQ,qBACN,CAAA5O,IAAA,mBAAAnB,MAED,WAAgB,IAAAgQ,EAAA,KACVvQ,KAAKoD,MAAMS,kBAAwD,UAApC7D,KAAKoD,MAAMS,iBAAiBwB,MAC7DmL,OAAyBC,2BAA2BC,MAAK,SAACC,GACxDJ,EAAKhB,mBAAqBoB,EAASC,KAAKC,OACxC,IAAIC,EAAcP,EAAKhB,mBAAmBjI,MACxC,SAACC,GAAM,OAAKA,EAAEwJ,aAAeR,EAAKnN,MAAMsJ,WAAWC,OAAkBC,aAAaC,aAGpF0D,EAAKS,oBAAoBF,QAG9B,CAAApP,IAAA,sBAAAnB,MAED,SAAoBwP,GAAmC,IAAAkB,EAAA,KACrDjR,KAAKoQ,YAAcL,EAAemB,aAAa5J,MAC7C,SAACC,GAAM,OAAKA,EAAEhH,OAAS0Q,EAAK7N,MAAMsJ,WAAWC,OAAkBC,aAAaE,WAE9E9M,KAAK+P,eAAiBA,EAEtB/P,KAAKgQ,eAAiBD,EAAemB,aACrClR,KAAKmR,kBACN,CAAAzP,IAAA,mBAAAnB,MAED,SAAiB6Q,GACf,OAAOA,EAAQL,cAChB,CAAArP,IAAA,gBAAAnB,MAED,SAAc8Q,GACZ,OAAOA,EAAQlB,iBAGjB,CAAAzO,IAAA,gBAAAnB,MACA,WAAa,IAAA+Q,EAAA,KACLV,EAAO,CACXjM,SAAU3E,KAAK2E,SACf4M,iBAAkBvR,KAAKoD,MAAMsJ,WAAWC,OAAkBC,aAAaC,UACvE2E,aAAcxR,KAAKoD,MAAMsJ,WAAWC,OAAkBC,aAAaE,QACnE2E,UAAWzR,KAAKiD,iBAChByO,eAAgB1R,KAAK0D,QAEvB1D,KAAKoD,MAAMQ,SAAU,EACrB4M,OAAyBmB,yBAAyBf,GAC/CF,MAAK,SAACC,GACLW,EAAKlO,MAAMQ,SAAU,EACrB0N,EAAKlO,MAAMa,gBAAkB0M,EAASC,KAAKC,OAAOe,QAClDN,EAAKlO,MAAMqJ,oBAAsBkE,EAASC,KAAKC,OAAOpN,GACtD6N,EAAKlO,MAAMkJ,iBAAkB,OAElC,CAAA5K,IAAA,oBAAAnB,MAED,SAAkBwP,GAChB,IAAM8B,EAAW7R,KAAKuP,mBAAmBjI,MACvC,SAACwK,GAAM,OAAKA,EAAOf,cAAgBhB,EAAegB,eAGhDc,IACF7R,KAAK+P,eAAiB8B,EACtB7R,KAAKoD,MAAMsJ,WAAWC,OAAkBC,aAAaC,UAAYgF,EAASd,YAC1E/Q,KAAK+R,eAAeF,EAASX,iBAEhC,CAAAxP,IAAA,iBAAAnB,MAED,SAAe2Q,GACblR,KAAKgQ,eAAiBkB,EAEtBlR,KAAKoQ,YAAcpQ,KAAKgQ,eAAe,GACvChQ,KAAKoD,MAAMsJ,WAAWC,OAAkBC,aAAaE,QAAU9M,KAAKoQ,YAAY7P,MAChFP,KAAKmR,kBACN,CAAAzP,IAAA,eAAAnB,MAED,WACEP,KAAKoD,MAAMsJ,WAAWC,OAAkBC,aAAaE,QAAU9M,KAAKoQ,YAAY7P,MAChFP,KAAKmR,oBAhGiC,CAASvP,QACxCC,eAAA,CAAR8M,kB,6BACO9M,eAAA,CAAPC,kB,gCACOD,eAAA,CAAPC,kB,wCACOD,eAAA,CAAPC,kB,8BAJkBuO,GAAqBxO,eAAA,CAPzCE,eAAU,CACT8E,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,0BAI1BoJ,cClB0X,MCO3Y,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBXvQ,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAAEF,EAAIqD,MAAMS,kBACxE,WAApC9D,EAAIqD,MAAMS,iBAAiBwB,MAC3BtF,EAAIkD,kBAAoBlD,EAAI4M,kBAAkBC,YACjD3M,EAAG,MAAM,CAACG,YAAY,6CAA6C,CAACH,EAAG,IAAI,CAACG,YAAY,oBAAoBC,MAAM,CAAC,MAAQ,gBAAgBN,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,aAAa,UAAU5C,EAAI+C,KAAK7C,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sBAAsB1C,EAAG,WAAW,CAACI,MAAM,CAAC,QAAUN,EAAIiD,mBAAmB,MAAQ,QAAQxC,GAAG,CAAC,OAAST,EAAIiS,sBAAsB5O,MAAM,CAAC7C,MAAOR,EAAIqD,MAAMS,iBAAkBP,SAAS,SAAUC,GAAMxD,EAAI0F,KAAK1F,EAAIqD,MAAO,mBAAoBG,IAAMC,WAAW,6BAA6B,GAAIzD,EAAIqD,MAAMS,kBAAwD,OAApC9D,EAAIqD,MAAMS,iBAAiBwB,KAAepF,EAAG,MAAM,CAACG,YAAY,8EAA8EwC,YAAY,CAAC,aAAa,SAAS,CAAC3C,EAAG,QAAQ,CAACG,YAAY,uBAAuB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAG,sBAAsBhF,EAAG,gBAAgB,CAACO,GAAG,CAAC,QAAUT,EAAIkS,eAAe7O,MAAM,CAAC7C,MAAOR,EAAImS,0BAA2B5O,SAAS,SAAUC,GAAMxD,EAAImS,0BAA0B3O,GAAKC,WAAW,+BAA+BvD,EAAG,QAAQ,CAACG,YAAY,uBAAuB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAG,0BAA0B,GAAGlF,EAAI+C,OAAO7C,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACG,YAAY,SAASwC,YAAY,CAAC,IAAM,SAAS,CAAC7C,EAAIiF,GAAG,eAAejF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sBAAsB,gBAAgB1C,EAAG,WAAW,CAACI,MAAM,CAAC,QAAUN,EAAIoS,wBAAwB,MAAQ,OAAO,SAA0C,OAA/BpS,EAAIqD,MAAMS,kBAA2BrD,GAAG,CAAC,MAAQT,EAAIqS,qBAAqB1C,YAAY3P,EAAI4P,GAAG,CAAC,CAACjO,IAAI,cAAckO,GAAG,WAAW,MAAO,CAAC3P,EAAG,KAAK,CAAC2C,YAAY,CAAC,aAAa,WAAW,CAAC7C,EAAIiF,GAAG,4EAA4EqN,OAAM,KAAQjP,MAAM,CAAC7C,MAAOR,EAAIqD,MAAMU,eAAgBR,SAAS,SAAUC,GAAMxD,EAAI0F,KAAK1F,EAAIqD,MAAO,iBAAkBG,IAAMC,WAAW,2BAA2B,KAAKzD,EAAIsE,GAAItE,EAAIqD,MAAMmJ,sBAAsB,SAAS+F,GAAa,OAAOrS,EAAG,MAAM,CAACyB,IAAI,cAAgB4Q,EAAY7O,GAAGrD,YAAY,mBAAmB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGqN,EAAYC,gBAAgBtS,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAO+R,EAAYV,QAASpO,WAAW,wBAAwBpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASgS,EAAYV,SAAUpR,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK6M,EAAa,UAAWzN,EAAOU,OAAOhF,QAAQR,EAAI4D,iCAAgC1D,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,OAAO,CAACH,EAAG,MAAM,CAACG,YAAY,gCAAgC,CAACH,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOR,EAAIqD,MAAMiJ,mBAAoB7I,WAAW,6BAA6BnD,MAAM,CAAC,GAAK,qBAAqB,KAAO,YAAYC,SAAS,CAAC,QAAUa,MAAM0E,QAAQ9F,EAAIqD,MAAMiJ,oBAAoBtM,EAAI+F,GAAG/F,EAAIqD,MAAMiJ,mBAAmB,OAAO,EAAGtM,EAAIqD,MAAMiJ,oBAAqB7L,GAAG,CAAC,OAAS,CAAC,SAASqE,GAAQ,IAAIkB,EAAIhG,EAAIqD,MAAMiJ,mBAAmBrG,EAAKnB,EAAOU,OAAOU,IAAID,EAAKE,QAAuB,GAAG/E,MAAM0E,QAAQE,GAAK,CAAC,IAAIxC,EAAI,KAAK4C,EAAIpG,EAAI+F,GAAGC,EAAIxC,GAAQyC,EAAKE,QAASC,EAAI,GAAIpG,EAAI0F,KAAK1F,EAAIqD,MAAO,qBAAsB2C,EAAIzE,OAAO,CAACiC,KAAa4C,GAAK,GAAIpG,EAAI0F,KAAK1F,EAAIqD,MAAO,qBAAsB2C,EAAIK,MAAM,EAAED,GAAK7E,OAAOyE,EAAIK,MAAMD,EAAI,UAAYpG,EAAI0F,KAAK1F,EAAIqD,MAAO,qBAAsB6C,IAAOlG,EAAI4D,0BAA0B1D,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAM,uBAAuB,CAACN,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,+BAAgC5C,EAAIqD,MAAMiJ,oBAAsBtM,EAAI4J,kBAAkB1I,OAAS,EAAGhB,EAAG,MAAM,CAACG,YAAY,qDAAqD,CAACH,EAAG,QAAQ,CAACG,YAAY,uBAAuB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,gBAAgB,CAACO,GAAG,CAAC,QAAU,SAASqE,GAAQ,OAAO9E,EAAIyS,6BAA6BpP,MAAM,CAAC7C,MAAOR,EAAIqD,MAAMwG,yBAA0BtG,SAAS,SAAUC,GAAMxD,EAAI0F,KAAK1F,EAAIqD,MAAO,2BAA4BG,IAAMC,WAAW,oCAAoCvD,EAAG,QAAQ,CAACG,YAAY,uBAAuB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,mCAAmC,GAAG5C,EAAI+C,OAAO7C,EAAG,MAAM,CAACG,YAAY,aAAawC,YAAY,CAAC,aAAa,SAAS,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,OAAO,cAAc,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,4BAA4B1C,EAAG,MAAM,CAACG,YAAY,oBAAoBwC,YAAY,CAAC,cAAc,QAAQ,aAAa,QAAQ,QAAU,SAAS,CAAC3C,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC7qJR,EAAIqD,MAAMwI,wBACPC,sCACHrI,WAAW,wHAAwHpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAC5NP,EAAIqD,MAAMwI,wBACPC,uCACFrL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,wCAAyC/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA6B5D,EAAIqD,MAAMS,kBAAuD,MAAnC9D,EAAIqD,MAAMS,iBAAiBwB,KAAcpF,EAAG,MAAM,CAAC2C,YAAY,CAAC,cAAc,SAAS,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC7ZR,EAAIqD,MAAMwI,wBACPE,wCACHtI,WAAW,0HAA0HpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAC9NP,EAAIqD,MAAMwI,wBACPE,yCACFtL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,0CAA2C/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA4B5D,EAAI+C,OAAO7C,EAAG,2BAA2B,CAACmF,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAS/E,MAAOR,EAAIqD,MAAMiJ,mBAAoB7I,WAAW,6BAA6BnD,MAAM,CAAC,sBAAsBN,EAAI0S,+BAA+B,QAAU1S,EAAIqD,MAAMS,kBAAkBrD,GAAG,CAAC,OAAST,EAAImQ,gBAAiBnQ,EAAIqD,MAAMS,kBAAwD,QAApC9D,EAAIqD,MAAMS,iBAAiBwB,KAAgBpF,EAAG,2BAA2B,CAACO,GAAG,CAAC,YAAYT,EAAI4D,uBAAuBP,MAAM,CAAC7C,MAAOR,EAAIqD,MAAMkI,0BAA2BhI,SAAS,SAAUC,GAAMxD,EAAI0F,KAAK1F,EAAIqD,MAAO,4BAA6BG,IAAMC,WAAW,qCAAqCzD,EAAI+C,MAAM,IAAI,GAAG7C,EAAG,MAAMA,EAAG,aAAa,CAACI,MAAM,CAAC,kCAAkC,mBAAmB,CAACJ,EAAG,WAAW,CAACyS,KAAK,qBAAqB3S,EAAIsE,GAAItE,EAAI4S,cAAc,SAASC,GAAM,OAAO3S,EAAG,OAAO,CAACyB,IAAIkR,EAAKvN,KAAKjF,YAAY,QAAQ,CAAEL,EAAIqD,MAAMoJ,KAAMvM,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOqS,EAAK9H,UAAWtH,WAAW,mBAAmBnD,MAAM,CAAC,KAAO,YAAYC,SAAS,CAAC,QAAUa,MAAM0E,QAAQ+M,EAAK9H,WAAW/K,EAAI+F,GAAG8M,EAAK9H,UAAU,OAAO,EAAG8H,EAAK9H,WAAYtK,GAAG,CAAC,OAAS,CAAC,SAASqE,GAAQ,IAAIkB,EAAI6M,EAAK9H,UAAU9E,EAAKnB,EAAOU,OAAOU,IAAID,EAAKE,QAAuB,GAAG/E,MAAM0E,QAAQE,GAAK,CAAC,IAAIxC,EAAI,KAAK4C,EAAIpG,EAAI+F,GAAGC,EAAIxC,GAAQyC,EAAKE,QAASC,EAAI,GAAIpG,EAAI0F,KAAKmN,EAAM,YAAa7M,EAAIzE,OAAO,CAACiC,KAAa4C,GAAK,GAAIpG,EAAI0F,KAAKmN,EAAM,YAAa7M,EAAIK,MAAM,EAAED,GAAK7E,OAAOyE,EAAIK,MAAMD,EAAI,UAAYpG,EAAI0F,KAAKmN,EAAM,YAAa3M,IAAO,SAASpB,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAI8S,cAAcD,EAAKrS,YAAYN,EAAG,gBAAgB,CAACO,GAAG,CAAC,QAAU,SAASqE,GAAQ,OAAO9E,EAAI8S,cAAcD,EAAKrS,SAAS6C,MAAM,CAAC7C,MAAOqS,EAAK9H,UAAWxH,SAAS,SAAUC,GAAMxD,EAAI0F,KAAKmN,EAAM,YAAarP,IAAMC,WAAW,oBAAoBvD,EAAG,QAAQ,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAG2N,EAAKvN,UAAU,MAAK,IAAI,GAAGpF,EAAG,MAAMA,EAAG,aAAa,CAACI,MAAM,CAAC,kCAAkC,+BAA+B,CAACJ,EAAG,WAAW,CAACyS,KAAK,qBAAqB,CAACzS,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,QAAQ,CAACG,YAAY,gBAAgB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,mCAAmC1C,EAAG,MAAM,CAACG,YAAY,2CAA2C,CAACH,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACG,YAAY,mBAAmB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC95ER,EAAIqD,MAAMwI,wBACPO,4CACH3I,WAAW,8HAA8HpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAClOP,EAAIqD,MAAMwI,wBACPO,6CACF3L,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,8CAA+C/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA6B5D,EAAIqD,MAAMS,kBAAuD,MAAnC9D,EAAIqD,MAAMS,iBAAiBwB,KAAcpF,EAAG,MAAM,CAAC2C,YAAY,CAAC,cAAc,SAAS,CAAC3C,EAAG,QAAQ,CAACG,YAAY,mBAAmB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC3YR,EAAIqD,MAAMwI,wBACPQ,8CACH5I,WAAW,gIAAgIpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MACpOP,EAAIqD,MAAMwI,wBACPQ,+CACF5L,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,gDAAiD/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA4B5D,EAAI+C,OAAO7C,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,QAAQ,CAACG,YAAY,gBAAgB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sCAAsC1C,EAAG,MAAMA,EAAG,QAAQ,CAACG,YAAY,mBAAmB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MACxcR,EAAIqD,MAAMiI,kBAAkBF,iCAC5B3H,WAAW,uFAAuFpD,YAAY,eAAeC,MAAM,CAAC,KAAO,OAAO,UAAY,OAAOC,SAAS,CAAC,MAC/KP,EAAIqD,MAAMiI,kBAAkBF,kCAC3B3K,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMiI,kBAAmB,mCAAoCxG,EAAOU,OAAOhF,QAAQR,EAAI4D,0BAA2B5D,EAAIqD,MAAMS,kBAAuD,MAAnC9D,EAAIqD,MAAMS,iBAAiBwB,KAAcpF,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACG,YAAY,mBAAmB,CAACL,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC1bR,EAAIqD,MAAMiI,kBAAkBD,mCAC5B5H,WAAW,6FAA6FpD,YAAY,eAAeC,MAAM,CAAC,KAAO,OAAO,UAAY,OAAOC,SAAS,CAAC,MACrLP,EAAIqD,MAAMiI,kBAAkBD,oCAC3B5K,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMiI,kBAAmB,qCAAsCxG,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA4B5D,EAAI+C,UAAU,GAAG7C,EAAG,MAAOF,EAAIqD,MAAMS,kBAAuD,MAAnC9D,EAAIqD,MAAMS,iBAAiBwB,KAAcpF,EAAG,aAAa,CAACI,MAAM,CAAC,kCAAkC,qBAAqB,CAACJ,EAAG,WAAW,CAACyS,KAAK,qBAAqB,CAACzS,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,OAAO,cAAc,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,2BAA2B1C,EAAG,MAAM,CAACG,YAAY,oBAAoBwC,YAAY,CAAC,aAAa,QAAQ,QAAU,OAAO,gBAAgB,SAAS,CAAC3C,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MACz6BR,EAAIqD,MAAMwI,wBACPG,mCACHvI,WAAW,qHAAqHpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MACzNP,EAAIqD,MAAMwI,wBACPG,oCACFvL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,qCAAsC/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA4B1D,EAAG,MAAM,CAAC2C,YAAY,CAAC,cAAc,SAAS,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAClVR,EAAIqD,MAAMwI,wBACPI,qCACHxI,WAAW,uHAAuHpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAC3NP,EAAIqD,MAAMwI,wBACPI,sCACFxL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,uCAAwC/G,EAAOU,OAAOhF,QAAQR,EAAI4D,8BAA8B1D,EAAG,MAAM,CAACG,YAAY,2BAA2BL,EAAIsE,GAAItE,EAAIqD,MAAMyH,WAAW,SAASiI,GAAU,OAAO7S,EAAG,OAAO,CAACyB,IAAIoR,EAASrP,GAAGrD,YAAY,QAAQ,CAAEL,EAAIqD,MAAMoJ,KAAMvM,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOuS,EAAShI,UAAWtH,WAAW,uBAAuBnD,MAAM,CAAC,KAAO,YAAYC,SAAS,CAAC,QAAUa,MAAM0E,QAAQiN,EAAShI,WAAW/K,EAAI+F,GAAGgN,EAAShI,UAAU,OAAO,EAAGgI,EAAShI,WAAYtK,GAAG,CAAC,OAAS,SAASqE,GAAQ,IAAIkB,EAAI+M,EAAShI,UAAU9E,EAAKnB,EAAOU,OAAOU,IAAID,EAAKE,QAAuB,GAAG/E,MAAM0E,QAAQE,GAAK,CAAC,IAAIxC,EAAI,KAAK4C,EAAIpG,EAAI+F,GAAGC,EAAIxC,GAAQyC,EAAKE,QAASC,EAAI,GAAIpG,EAAI0F,KAAKqN,EAAU,YAAa/M,EAAIzE,OAAO,CAACiC,KAAa4C,GAAK,GAAIpG,EAAI0F,KAAKqN,EAAU,YAAa/M,EAAIK,MAAM,EAAED,GAAK7E,OAAOyE,EAAIK,MAAMD,EAAI,UAAYpG,EAAI0F,KAAKqN,EAAU,YAAa7M,OAAUhG,EAAG,gBAAgB,CAACO,GAAG,CAAC,QAAU,SAASqE,GAAQ,OAAO9E,EAAIgT,qBAAqBD,EAAUjO,KAAUzB,MAAM,CAAC7C,MAAOuS,EAAShI,UAAWxH,SAAS,SAAUC,GAAMxD,EAAI0F,KAAKqN,EAAU,YAAavP,IAAMC,WAAW,wBAAwBvD,EAAG,QAAQ,CAAC2C,YAAY,CAAC,cAAc,MAAM,cAAc,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAG6N,EAASrP,OAAOxD,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOuS,EAAS/H,oBAAqBvH,WAAW,iCAAiCpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASwS,EAAS/H,qBAAsBvK,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAKqN,EAAU,sBAAuBjO,EAAOU,OAAOhF,QAAQR,EAAI4D,0BAA0B1D,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAAOuS,EAAS9H,sBAAuBxH,WAAW,mCAAmCpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAASwS,EAAS9H,uBAAwBxK,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAKqN,EAAU,wBAAyBjO,EAAOU,OAAOhF,QAAQR,EAAI4D,6BAA6B,MAAK,GAAG1D,EAAG,MAAM,CAACG,YAAY,SAASwC,YAAY,CAAC,aAAa,SAAS,CAAC3C,EAAG,MAAM,CAACG,YAAY,aAAawC,YAAY,CAAC,gBAAgB,UAAU,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,gBAAgB,SAAS,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,8BAA8B1C,EAAG,MAAM,CAACG,YAAY,oBAAoBwC,YAAY,CAAC,aAAa,QAAQ,QAAU,SAAS,CAAC3C,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MACx4FR,EAAIqD,MAAMwI,wBACPK,qCACHzI,WAAW,uHAAuHpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAC3NP,EAAIqD,MAAMwI,wBACPK,sCACFzL,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,uCAAwC/G,EAAOU,OAAOhF,QAAQR,EAAI4D,4BAA4B1D,EAAG,MAAM,CAAC2C,YAAY,CAAC,cAAc,SAAS,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MACpVR,EAAIqD,MAAMwI,wBACPM,uCACH1I,WAAW,yHAAyHpD,YAAY,eAAewC,YAAY,CAAC,MAAQ,SAASvC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MAC7NP,EAAIqD,MAAMwI,wBACPM,wCACF1L,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAMwI,wBAChF,yCAA0C/G,EAAOU,OAAOhF,QAAQR,EAAI4D,8BAA8B1D,EAAG,MAAM,CAACG,YAAY,oBAAoBwC,YAAY,CAAC,aAAa,SAAS,CAAC3C,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,kCAAkC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MACvXR,EAAIqD,MAAM8H,WAAWC,iCACrB3H,WAAW,gFAAgFpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MACtJP,EAAIqD,MAAM8H,WAAWC,kCACpB3K,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAM8H,WAAY,mCAAoCrG,EAAOU,OAAOhF,QAAQR,EAAI4D,0BAA0B1D,EAAG,QAAQ,CAAC2C,YAAY,CAAC,YAAY,MAAM,gBAAgB,QAAQ,CAAC7C,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oCAAoC1C,EAAG,QAAQ,CAACmF,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAU/E,MAC3XR,EAAIqD,MAAM8H,WACPE,mCACH5H,WAAW,kGAAkGpD,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQC,SAAS,CAAC,MACxKP,EAAIqD,MAAM8H,WACPE,oCACF5K,GAAG,CAAC,MAAQ,CAAC,SAASqE,GAAWA,EAAOU,OAAOC,WAAiBzF,EAAI0F,KAAK1F,EAAIqD,MAAM8H,WAChF,qCAAsCrG,EAAOU,OAAOhF,QAAQR,EAAI4D,+BAA+B,GAAG5D,EAAI+C,MAAM,IAExHpC,GAAkB,G,+8BC/EtBsS,GAAA,kBAAAxJ,GAAA,IAAAyJ,EAAAzJ,EAAA,GAAA0J,EAAAC,OAAAC,UAAAnK,EAAAiK,EAAAG,eAAAC,EAAAH,OAAAI,gBAAA,SAAAN,EAAAzJ,EAAA0J,GAAAD,EAAAzJ,GAAA0J,EAAA3S,OAAAiT,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAf,EAAAzJ,EAAA0J,GAAA,OAAAC,OAAAI,eAAAN,EAAAzJ,EAAA,CAAAjJ,MAAA2S,EAAAe,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlB,EAAAzJ,GAAA,IAAAwK,EAAA,aAAAf,GAAAe,EAAA,SAAAf,EAAAzJ,EAAA0J,GAAA,OAAAD,EAAAzJ,GAAA0J,GAAA,SAAAkB,EAAAnB,EAAAzJ,EAAA0J,EAAAjK,GAAA,IAAAuK,EAAAhK,KAAA4J,qBAAAiB,EAAA7K,EAAA6K,EAAAX,EAAAP,OAAAmB,OAAAd,EAAAJ,WAAAQ,EAAA,IAAAW,EAAAtL,GAAA,WAAAqK,EAAAI,EAAA,WAAAnT,MAAAiU,EAAAvB,EAAAC,EAAAU,KAAAF,EAAA,SAAAe,EAAAxB,EAAAzJ,EAAA0J,GAAA,WAAAN,KAAA,SAAA8B,IAAAzB,EAAA0B,KAAAnL,EAAA0J,IAAA,MAAAD,GAAA,OAAAL,KAAA,QAAA8B,IAAAzB,IAAAzJ,EAAA4K,OAAA,IAAAQ,EAAA,iBAAAC,EAAA,iBAAApL,EAAA,YAAAT,EAAA,YAAA8L,EAAA,YAAAT,KAAA,SAAAU,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAjB,EAAAiB,EAAAvB,GAAA,8BAAAwB,EAAA/B,OAAAgC,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAAlC,GAAAjK,EAAA0L,KAAAS,EAAA1B,KAAAuB,EAAAG,GAAA,IAAAE,EAAAN,EAAA5B,UAAAiB,EAAAjB,UAAAD,OAAAmB,OAAAW,GAAA,SAAAM,EAAAtC,GAAA,0BAAA/E,SAAA,SAAA1E,GAAAwK,EAAAf,EAAAzJ,GAAA,SAAAyJ,GAAA,YAAAuC,QAAAhM,EAAAyJ,SAAA,SAAAwC,EAAAxC,EAAAzJ,GAAA,SAAAkM,EAAAxC,EAAAI,EAAAE,EAAAE,GAAA,IAAAE,EAAAa,EAAAxB,EAAAC,GAAAD,EAAAK,GAAA,aAAAM,EAAAhB,KAAA,KAAAkB,EAAAF,EAAAc,IAAAE,EAAAd,EAAAvT,MAAA,OAAAqU,GAAA,UAAAe,GAAAf,IAAA3L,EAAA0L,KAAAC,EAAA,WAAApL,EAAAoM,QAAAhB,EAAAiB,SAAAnF,MAAA,SAAAuC,GAAAyC,EAAA,OAAAzC,EAAAO,EAAAE,MAAA,SAAAT,GAAAyC,EAAA,QAAAzC,EAAAO,EAAAE,MAAAlK,EAAAoM,QAAAhB,GAAAlE,MAAA,SAAAuC,GAAAa,EAAAvT,MAAA0S,EAAAO,EAAAM,MAAA,SAAAb,GAAA,OAAAyC,EAAA,QAAAzC,EAAAO,EAAAE,QAAAE,EAAAc,KAAA,IAAAxB,EAAAI,EAAA,gBAAA/S,MAAA,SAAA0S,EAAAhK,GAAA,SAAA6M,IAAA,WAAAtM,GAAA,SAAAA,EAAA0J,GAAAwC,EAAAzC,EAAAhK,EAAAO,EAAA0J,MAAA,OAAAA,MAAAxC,KAAAoF,YAAA,SAAAtB,EAAAhL,EAAA0J,EAAAjK,GAAA,IAAAqK,EAAAsB,EAAA,gBAAApB,EAAAE,GAAA,GAAAJ,IAAA7J,EAAA,MAAAsM,MAAA,mCAAAzC,IAAAtK,EAAA,cAAAwK,EAAA,MAAAE,EAAA,OAAAnT,MAAA0S,EAAA/J,MAAA,OAAAD,EAAA+M,OAAAxC,EAAAvK,EAAAyL,IAAAhB,IAAA,KAAAE,EAAA3K,EAAAgN,SAAA,GAAArC,EAAA,KAAAE,EAAAoC,EAAAtC,EAAA3K,GAAA,GAAA6K,EAAA,IAAAA,IAAAgB,EAAA,gBAAAhB,GAAA,YAAA7K,EAAA+M,OAAA/M,EAAAkN,KAAAlN,EAAAmN,MAAAnN,EAAAyL,SAAA,aAAAzL,EAAA+M,OAAA,IAAA1C,IAAAsB,EAAA,MAAAtB,EAAAtK,EAAAC,EAAAyL,IAAAzL,EAAAoN,kBAAApN,EAAAyL,SAAA,WAAAzL,EAAA+M,QAAA/M,EAAAqN,OAAA,SAAArN,EAAAyL,KAAApB,EAAA7J,EAAA,IAAAwL,EAAAR,EAAAjL,EAAA0J,EAAAjK,GAAA,cAAAgM,EAAArC,KAAA,IAAAU,EAAArK,EAAAC,KAAAF,EAAA6L,EAAAI,EAAAP,MAAAI,EAAA,gBAAAvU,MAAA0U,EAAAP,IAAAxL,KAAAD,EAAAC,MAAA,UAAA+L,EAAArC,OAAAU,EAAAtK,EAAAC,EAAA+M,OAAA,QAAA/M,EAAAyL,IAAAO,EAAAP,OAAA,SAAAwB,EAAA1M,EAAA0J,GAAA,IAAAjK,EAAAiK,EAAA8C,OAAA1C,EAAA9J,EAAAmK,SAAA1K,GAAA,GAAAqK,IAAAL,EAAA,OAAAC,EAAA+C,SAAA,eAAAhN,GAAAO,EAAAmK,SAAA4C,SAAArD,EAAA8C,OAAA,SAAA9C,EAAAwB,IAAAzB,EAAAiD,EAAA1M,EAAA0J,GAAA,UAAAA,EAAA8C,SAAA,WAAA/M,IAAAiK,EAAA8C,OAAA,QAAA9C,EAAAwB,IAAA,IAAA8B,UAAA,oCAAAvN,EAAA,aAAA6L,EAAA,IAAAtB,EAAAiB,EAAAnB,EAAA9J,EAAAmK,SAAAT,EAAAwB,KAAA,aAAAlB,EAAAZ,KAAA,OAAAM,EAAA8C,OAAA,QAAA9C,EAAAwB,IAAAlB,EAAAkB,IAAAxB,EAAA+C,SAAA,KAAAnB,EAAA,IAAApB,EAAAF,EAAAkB,IAAA,OAAAhB,IAAAxK,MAAAgK,EAAA1J,EAAAiN,YAAA/C,EAAAnT,MAAA2S,EAAAwD,KAAAlN,EAAAmN,QAAA,WAAAzD,EAAA8C,SAAA9C,EAAA8C,OAAA,OAAA9C,EAAAwB,IAAAzB,GAAAC,EAAA+C,SAAA,KAAAnB,GAAApB,GAAAR,EAAA8C,OAAA,QAAA9C,EAAAwB,IAAA,IAAA8B,UAAA,oCAAAtD,EAAA+C,SAAA,KAAAnB,GAAA,SAAA8B,EAAA3D,GAAA,IAAAzJ,EAAA,CAAAqN,OAAA5D,EAAA,SAAAA,IAAAzJ,EAAAsN,SAAA7D,EAAA,SAAAA,IAAAzJ,EAAAuN,WAAA9D,EAAA,GAAAzJ,EAAAwN,SAAA/D,EAAA,SAAAgE,WAAAzO,KAAAgB,GAAA,SAAA0N,EAAAjE,GAAA,IAAAzJ,EAAAyJ,EAAAkE,YAAA,GAAA3N,EAAAoJ,KAAA,gBAAApJ,EAAAkL,IAAAzB,EAAAkE,WAAA3N,EAAA,SAAA+K,EAAAtB,GAAA,KAAAgE,WAAA,EAAAJ,OAAA,SAAA5D,EAAA/E,QAAA0I,EAAA,WAAAQ,OAAA,YAAA/B,EAAA7L,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAA0J,EAAA1J,EAAAkK,GAAA,GAAAR,EAAA,OAAAA,EAAAyB,KAAAnL,GAAA,sBAAAA,EAAAkN,KAAA,OAAAlN,EAAA,IAAA6N,MAAA7N,EAAAvI,QAAA,KAAAqS,GAAA,EAAAE,EAAA,SAAAkD,IAAA,OAAApD,EAAA9J,EAAAvI,QAAA,GAAAgI,EAAA0L,KAAAnL,EAAA8J,GAAA,OAAAoD,EAAAnW,MAAAiJ,EAAA8J,GAAAoD,EAAAxN,MAAA,EAAAwN,EAAA,OAAAA,EAAAnW,MAAA0S,EAAAyD,EAAAxN,MAAA,EAAAwN,GAAA,OAAAlD,EAAAkD,KAAAlD,GAAA,UAAAgD,UAAAb,GAAAnM,GAAA,2BAAAuL,EAAA3B,UAAA4B,EAAA1B,EAAAgC,EAAA,eAAA/U,MAAAyU,EAAAd,cAAA,IAAAZ,EAAA0B,EAAA,eAAAzU,MAAAwU,EAAAb,cAAA,IAAAa,EAAAuC,YAAAtD,EAAAgB,EAAAlB,EAAA,qBAAAtK,EAAA+N,oBAAA,SAAAtE,GAAA,IAAAzJ,EAAA,mBAAAyJ,KAAAuE,YAAA,QAAAhO,QAAAuL,GAAA,uBAAAvL,EAAA8N,aAAA9N,EAAAnE,QAAAmE,EAAAiO,KAAA,SAAAxE,GAAA,OAAAE,OAAAuE,eAAAvE,OAAAuE,eAAAzE,EAAA+B,IAAA/B,EAAA0E,UAAA3C,EAAAhB,EAAAf,EAAAa,EAAA,sBAAAb,EAAAG,UAAAD,OAAAmB,OAAAgB,GAAArC,GAAAzJ,EAAAoO,MAAA,SAAA3E,GAAA,OAAA4C,QAAA5C,IAAAsC,EAAAE,EAAArC,WAAAY,EAAAyB,EAAArC,UAAAQ,GAAA,0BAAApK,EAAAiM,gBAAAjM,EAAAqO,MAAA,SAAA5E,EAAAC,EAAAjK,EAAAqK,EAAAE,QAAA,IAAAA,MAAAsE,SAAA,IAAApE,EAAA,IAAA+B,EAAArB,EAAAnB,EAAAC,EAAAjK,EAAAqK,GAAAE,GAAA,OAAAhK,EAAA+N,oBAAArE,GAAAQ,IAAAgD,OAAAhG,MAAA,SAAAuC,GAAA,OAAAA,EAAA/J,KAAA+J,EAAA1S,MAAAmT,EAAAgD,WAAAnB,EAAAD,GAAAtB,EAAAsB,EAAAxB,EAAA,aAAAE,EAAAsB,EAAA5B,GAAA,0BAAAM,EAAAsB,EAAA,qDAAA9L,EAAAc,KAAA,SAAA2I,GAAA,IAAAzJ,EAAA2J,OAAAF,GAAAC,EAAA,WAAAjK,KAAAO,EAAA0J,EAAA1K,KAAAS,GAAA,OAAAiK,EAAA6E,UAAA,SAAArB,IAAA,KAAAxD,EAAAjS,QAAA,KAAAgS,EAAAC,EAAA8E,MAAA,GAAA/E,KAAAzJ,EAAA,OAAAkN,EAAAnW,MAAA0S,EAAAyD,EAAAxN,MAAA,EAAAwN,EAAA,OAAAA,EAAAxN,MAAA,EAAAwN,IAAAlN,EAAA6L,SAAAd,EAAAnB,UAAA,CAAAoE,YAAAjD,EAAA6C,MAAA,SAAA5N,GAAA,QAAAyO,KAAA,OAAAvB,KAAA,OAAAP,KAAA,KAAAC,MAAAnD,EAAA,KAAA/J,MAAA,OAAA+M,SAAA,UAAAD,OAAA,YAAAtB,IAAAzB,EAAA,KAAAgE,WAAA/I,QAAAgJ,IAAA1N,EAAA,QAAA0J,KAAA,WAAAA,EAAAgF,OAAA,IAAAjP,EAAA0L,KAAA,KAAAzB,KAAAmE,OAAAnE,EAAA9M,MAAA,WAAA8M,GAAAD,IAAAkF,KAAA,gBAAAjP,MAAA,MAAA+J,EAAA,KAAAgE,WAAA,GAAAE,WAAA,aAAAlE,EAAAL,KAAA,MAAAK,EAAAyB,IAAA,YAAA0D,MAAA/B,kBAAA,SAAA7M,GAAA,QAAAN,KAAA,MAAAM,EAAA,IAAA0J,EAAA,cAAAmF,EAAApP,EAAAqK,GAAA,OAAAI,EAAAd,KAAA,QAAAc,EAAAgB,IAAAlL,EAAA0J,EAAAwD,KAAAzN,EAAAqK,IAAAJ,EAAA8C,OAAA,OAAA9C,EAAAwB,IAAAzB,KAAAK,EAAA,QAAAA,EAAA,KAAA2D,WAAAhW,OAAA,EAAAqS,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAyD,WAAA3D,GAAAI,EAAAF,EAAA2D,WAAA,YAAA3D,EAAAqD,OAAA,OAAAwB,EAAA,UAAA7E,EAAAqD,QAAA,KAAAoB,KAAA,KAAArE,EAAA3K,EAAA0L,KAAAnB,EAAA,YAAAM,EAAA7K,EAAA0L,KAAAnB,EAAA,iBAAAI,GAAAE,EAAA,SAAAmE,KAAAzE,EAAAsD,SAAA,OAAAuB,EAAA7E,EAAAsD,UAAA,WAAAmB,KAAAzE,EAAAuD,WAAA,OAAAsB,EAAA7E,EAAAuD,iBAAA,GAAAnD,GAAA,QAAAqE,KAAAzE,EAAAsD,SAAA,OAAAuB,EAAA7E,EAAAsD,UAAA,YAAAhD,EAAA,MAAAiC,MAAA,kDAAAkC,KAAAzE,EAAAuD,WAAA,OAAAsB,EAAA7E,EAAAuD,gBAAAT,OAAA,SAAArD,EAAAzJ,GAAA,QAAA0J,EAAA,KAAA+D,WAAAhW,OAAA,EAAAiS,GAAA,IAAAA,EAAA,KAAAI,EAAA,KAAA2D,WAAA/D,GAAA,GAAAI,EAAAuD,QAAA,KAAAoB,MAAAhP,EAAA0L,KAAArB,EAAA,oBAAA2E,KAAA3E,EAAAyD,WAAA,KAAAvD,EAAAF,EAAA,OAAAE,IAAA,UAAAP,GAAA,aAAAA,IAAAO,EAAAqD,QAAArN,MAAAgK,EAAAuD,aAAAvD,EAAA,UAAAE,EAAAF,IAAA2D,WAAA,UAAAzD,EAAAd,KAAAK,EAAAS,EAAAgB,IAAAlL,EAAAgK,GAAA,KAAAwC,OAAA,YAAAU,KAAAlD,EAAAuD,WAAAjC,GAAA,KAAAwD,SAAA5E,IAAA4E,SAAA,SAAArF,EAAAzJ,GAAA,aAAAyJ,EAAAL,KAAA,MAAAK,EAAAyB,IAAA,gBAAAzB,EAAAL,MAAA,aAAAK,EAAAL,KAAA,KAAA8D,KAAAzD,EAAAyB,IAAA,WAAAzB,EAAAL,MAAA,KAAAwF,KAAA,KAAA1D,IAAAzB,EAAAyB,IAAA,KAAAsB,OAAA,cAAAU,KAAA,kBAAAzD,EAAAL,MAAApJ,IAAA,KAAAkN,KAAAlN,GAAAsL,GAAAyD,OAAA,SAAAtF,GAAA,QAAAzJ,EAAA,KAAAyN,WAAAhW,OAAA,EAAAuI,GAAA,IAAAA,EAAA,KAAA0J,EAAA,KAAA+D,WAAAzN,GAAA,GAAA0J,EAAA6D,aAAA9D,EAAA,YAAAqF,SAAApF,EAAAiE,WAAAjE,EAAA8D,UAAAE,EAAAhE,GAAA4B,IAAA0D,MAAA,SAAAvF,GAAA,QAAAzJ,EAAA,KAAAyN,WAAAhW,OAAA,EAAAuI,GAAA,IAAAA,EAAA,KAAA0J,EAAA,KAAA+D,WAAAzN,GAAA,GAAA0J,EAAA2D,SAAA5D,EAAA,KAAAhK,EAAAiK,EAAAiE,WAAA,aAAAlO,EAAA2J,KAAA,KAAAU,EAAArK,EAAAyL,IAAAwC,EAAAhE,GAAA,OAAAI,GAAA,MAAAyC,MAAA,0BAAA0C,cAAA,SAAAjP,EAAA0J,EAAAjK,GAAA,YAAAgN,SAAA,CAAAtC,SAAA0B,EAAA7L,GAAAiN,WAAAvD,EAAAyD,QAAA1N,GAAA,cAAA+M,SAAA,KAAAtB,IAAAzB,GAAA6B,IAAAtL,EAAA,SAAAkP,GAAAzP,EAAAgK,EAAAzJ,EAAA0J,EAAAI,EAAAI,EAAAE,GAAA,QAAAJ,EAAAvK,EAAAyK,GAAAE,GAAAE,EAAAN,EAAAjT,MAAA,MAAA0I,GAAA,YAAAO,EAAAP,GAAAuK,EAAAtK,KAAA+J,EAAAa,GAAAgE,QAAAlC,QAAA9B,GAAApD,KAAAwC,EAAAI,GAAA,SAAAqF,GAAA1P,GAAA,sBAAAgK,EAAA,KAAAzJ,EAAAxI,UAAA,WAAA8W,SAAA,SAAA5E,EAAAI,GAAA,IAAAI,EAAAzK,EAAA2P,MAAA3F,EAAAzJ,GAAA,SAAAqP,EAAA5P,GAAAyP,GAAAhF,EAAAR,EAAAI,EAAAuF,EAAAC,EAAA,OAAA7P,GAAA,SAAA6P,EAAA7P,GAAAyP,GAAAhF,EAAAR,EAAAI,EAAAuF,EAAAC,EAAA,QAAA7P,GAAA4P,OAAA,gBAAA/X,GAAA4S,EAAAzK,GAAA,KAAAyK,aAAAzK,GAAA,UAAAuN,UAAA,8CAAAuC,GAAAvP,EAAA0J,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAjS,OAAAgS,IAAA,KAAAK,EAAAJ,EAAAD,GAAAK,EAAAW,WAAAX,EAAAW,aAAA,EAAAX,EAAAY,cAAA,YAAAZ,MAAAa,UAAA,GAAAhB,OAAAI,eAAA/J,EAAAwP,GAAA1F,EAAA5R,KAAA4R,IAAA,SAAA7R,GAAA+H,EAAA0J,EAAAD,GAAA,OAAAC,GAAA6F,GAAAvP,EAAA4J,UAAAF,GAAAD,GAAA8F,GAAAvP,EAAAyJ,GAAAE,OAAAI,eAAA/J,EAAA,aAAA2K,UAAA,IAAA3K,EAAA,SAAAnI,GAAA4R,EAAAK,EAAA9J,GAAA,OAAA8J,EAAA2F,GAAA3F,GAAA4F,GAAAjG,EAAAkG,KAAAC,QAAAC,UAAA/F,EAAA9J,GAAA,GAAAyP,GAAAhG,GAAAuE,aAAAlE,EAAAsF,MAAA3F,EAAAzJ,IAAA,SAAA0P,GAAAjG,EAAAzJ,GAAA,GAAAA,IAAA,UAAAmM,GAAAnM,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgN,UAAA,mEAAA8C,GAAArG,GAAA,SAAAqG,GAAA9P,GAAA,YAAAA,EAAA,UAAA+P,eAAA,oEAAA/P,EAAA,SAAA2P,KAAA,QAAAlG,GAAAuG,QAAApG,UAAAqG,QAAA9E,KAAAyE,QAAAC,UAAAG,QAAA,0BAAAvG,IAAA,OAAAkG,GAAA,mBAAAlG,MAAA,SAAAgG,GAAAhG,GAAA,OAAAgG,GAAA9F,OAAAuE,eAAAvE,OAAAgC,eAAAuE,OAAA,SAAAzG,GAAA,OAAAA,EAAA0E,WAAAxE,OAAAgC,eAAAlC,IAAAgG,GAAAhG,GAAA,SAAAzR,GAAAyR,EAAAzJ,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgN,UAAA,sDAAAvD,EAAAG,UAAAD,OAAAmB,OAAA9K,KAAA4J,UAAA,CAAAoE,YAAA,CAAAjX,MAAA0S,EAAAkB,UAAA,EAAAD,cAAA,KAAAf,OAAAI,eAAAN,EAAA,aAAAkB,UAAA,IAAA3K,GAAAmQ,GAAA1G,EAAAzJ,GAAA,SAAAmQ,GAAA1G,EAAAzJ,GAAA,OAAAmQ,GAAAxG,OAAAuE,eAAAvE,OAAAuE,eAAAgC,OAAA,SAAAzG,EAAAzJ,GAAA,OAAAyJ,EAAA0E,UAAAnO,EAAAyJ,GAAA0G,GAAA1G,EAAAzJ,GAAA,SAAAjI,GAAAiI,EAAA0J,EAAAD,GAAA,OAAAC,EAAA8F,GAAA9F,MAAA1J,EAAA2J,OAAAI,eAAA/J,EAAA0J,EAAA,CAAA3S,MAAA0S,EAAAgB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA3K,EAAA0J,GAAAD,EAAAzJ,EAAA,SAAAwP,GAAA/F,GAAA,IAAAO,EAAAoG,GAAA3G,EAAA,0BAAA0C,GAAAnC,OAAA,YAAAoG,GAAA3G,EAAAC,GAAA,aAAAyC,GAAA1C,OAAA,OAAAA,EAAA,IAAAzJ,EAAAyJ,EAAAQ,OAAAoG,aAAA,YAAArQ,EAAA,KAAAgK,EAAAhK,EAAAmL,KAAA1B,EAAAC,GAAA,wBAAAyC,GAAAnC,GAAA,OAAAA,EAAA,UAAAgD,UAAA,kEAAAtD,EAAA4G,OAAAC,QAAA9G,GAkCe,IAAM+G,GAAoB,SAAApZ,GAAA,SAAAoZ,IAAA,IAAAnZ,EAAAC,GAAA,KAAAkZ,GAAA,QAAAjZ,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAkBG,OAlBHP,EAAAQ,GAAA,KAAA2Y,EAAA,GAAA1Y,OAAAJ,IAAAK,GAAAV,EAAA,oBACnB8L,QAAiBpL,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,gBAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,6BAAAU,GAAAV,EAAA,2BAAAU,GAAAV,EAAA,oBAAAU,GAAAV,EAAA,gCAAAU,GAAAV,EAAA,kBAcD,IAAEU,GAAAV,EAAA,0BACM,IAAEU,GAAAV,EAAA,oBACL,IAAEU,GAAAV,EAAA,6BACN,GAAKA,EAAA,OAAAW,GAAAwY,EAAApZ,GAAAa,GAAAuY,EAAA,EAAAtY,IAAA,UAAAnB,MAE1C,WACEP,KAAKia,uCACN,CAAAvY,IAAA,qCAAAnB,MAED,WACEP,KAAK2J,kBAAoB3J,KAAKoD,MAAMiL,qBAAqBrO,KAAK+C,OAAQ/C,KAAKmD,uBAEO,GAA/EnD,KAAKoD,MAAM6J,oCAAoCE,sBAAsBlM,SACtEjB,KAAKoD,MAAM6J,oCAAoCE,sBAAwBnN,KAAKoD,MAAMsG,kCAChF1J,KAAK+C,OACL/C,KAAKmD,uBACL,IAI8E,GAA/EnD,KAAKoD,MAAM6J,oCAAoCC,sBAAsBjM,SACtEjB,KAAKoD,MAAM6J,oCAAoCC,sBAAwBlN,KAAKoD,MAAMsG,kCAChF1J,KAAK+C,OACL/C,KAAKmD,uBACL,MAKN,CAAAzB,IAAA,gBAAAnB,MAGA,WACE2Z,QAAQC,IAAI,gBACZna,KAAKkS,2BAA6BlS,KAAKkS,0BACvClS,KAAKoa,sBACLpa,KAAKoS,sBACLpS,KAAKkQ,eAGLlQ,KAAKqa,wBACN,CAAA3Y,IAAA,sBAAAnB,MAED,WACE,IAAI+Z,EAAU,KAEZA,EADEta,KAAKkS,0BACG,SAAC3K,GAAiB,OAAKA,EAAEkK,YAAc9E,OAAkB4N,gBAIzD,SAAChT,GAAiB,OAAKA,EAAEkK,YAAc9E,OAAkB6N,YAGrExa,KAAKmS,wBAA0BnS,KAAKya,gBAAgBlN,OAAO+M,KAC5D,CAAA5Y,IAAA,sBAAAnB,MAED,WACEP,KAAKoD,MAAMU,eAAiB9D,KAAKmS,wBAAwB,KAC1D,CAAAzQ,IAAA,aAAAnB,MAED,WACE,IAAIma,EAAa,EACbC,EAA0BC,SAASC,eAAe,gBAEtD,OADAH,EAAQC,EAAMG,aACPJ,IACR,CAAAhZ,IAAA,cAAAnB,MAED,WACE,IAAIwa,EAAc,EAEdJ,EAA0BC,SAASC,eAAe,gBAGtD,OAFAE,EAASJ,EAAMK,cAERD,IACR,CAAArZ,IAAA,uBAAAnB,MAED,SAAqBuS,EAAehI,GAClCgI,EAAShI,UAAYA,EACrB9K,KAAKkQ,iBACN,CAAAxO,IAAA,uBAAAnB,MAAA,eAAA0a,EAAAtC,GAAA3F,KAAAyE,MAED,SAAAyD,IAAA,IAAAvK,EAAA7M,EAAAyM,EAAA,YAAAyC,KAAAoB,MAAA,SAAA+G,GAAA,eAAAA,EAAAlD,KAAAkD,EAAAzE,MAAA,OAGyC,GAAvC1W,KAAKkS,2BAA4B,GAE7BlS,KAAKoD,MAAMS,iBAAkB,CAAFsX,EAAAzE,KAAA,gBAAAyE,EAAAzE,KAAA,EACNlG,OAAyB4K,oBAC9Cpb,KAAKoD,MAAMS,iBAAiBJ,GAC5BkJ,OAAkB6N,WAAa7N,OAAkB4N,gBAClD,OAHK5J,EAAQwK,EAAAhF,KAKdnW,KAAKya,gBAAkB9J,EAASC,KAAKC,OAEjC7Q,KAAKoD,MAAMgK,sBAAwB,IACjCtJ,EAAiB9D,KAAKya,gBAAgBnT,MACxC,SAACC,GAAM,OAAKA,EAAE9D,IAAM8M,EAAKnN,MAAMgK,yBAEjCpN,KAAKoD,MAAMU,eAAiBA,GAAkC,MAO5D9D,KAAKkD,UAAUjC,SACjBjB,KAAKoD,MAAMW,gBAAkB/D,KAAKkD,UAAU,IAK9ClD,KAAKoS,sBACLpS,KAAKoa,sBAAsBe,EAAAzE,KAAA,iBAG3B1W,KAAKoD,MAAMU,eAAiB,KAAK,yBAAAqX,EAAAhD,UAAA+C,EAAA,UAEpC,SApCKlJ,IAAoB,OAAAiJ,EAAArC,MAAC,KAAD5X,WAAA,OAApBgR,EAFL,IAEyB,CAAAtQ,IAAA,sBAAAnB,MAsC1B,WAAmB,IAAA0Q,EAAA,KACbjR,KAAKoD,MAAMU,gBACb0M,OAAyB6K,yCACvBrb,KAAKoD,MAAMU,eAAiB9D,KAAKoD,MAAMU,eAAeL,GAAK,GAE1DiN,MAAK,SAACC,GACL,GAAIA,EAASC,KAAKC,OAAQ,CACxB,IAAItE,EAAuBoE,EAASC,KAAKC,OAAOzI,KAAI,SAACb,GACnD,IAAM+T,EAAsBrK,EAAK7N,MAAMmJ,qBAAqBjF,MAC1D,SAACwN,GAAM,OAAKA,EAAErR,IAAM8D,EAAE9D,MAExB,GAAI6X,EACF/T,EAAEqK,QAAU0J,EAAoB1J,aAE7B,GAA+C,MAA3CX,EAAK7N,MAAMkK,6BAAsC,CAMxD,IAAMgO,EAAsBrK,EAAK7N,MAAMkK,6BAA6BhG,MAClE,SAACwN,GAAM,OAAKA,EAAErR,IAAM8D,EAAE9D,MAEpB6X,IACF/T,EAAEqK,QAAU0J,EAAoB1J,SAGpC,OAAOrK,KAET0J,EAAK7N,MAAMmJ,qBAAuBA,EAClC0E,EAAKf,mBAGRsI,OAAM,WACLvH,EAAKsK,SAASC,MAAM,+BAG3B,CAAA9Z,IAAA,wBAAAnB,MAED,WACEkb,eAASzb,KAAKkQ,aAAc,IAAM,yCACnC,CAAAxO,IAAA,2BAAAnB,MAED,WACEP,KAAKoD,MAAMwG,0BAA4B5J,KAAKoD,MAAMwG,yBAE/C5J,KAAKoD,MAAMwG,yBACZ5J,KAAK0b,uBAGL1b,KAAK2b,0BAGP3b,KAAK2D,0BACN,CAAAjC,IAAA,0BAAAnB,MAED,WAAuB,IAAA+Q,EAAA,KACrBtR,KAAKoD,MAAM6J,oCAAoCE,sBAAsBe,SAAQ,SAAC0N,GAC5E,IAAMC,EAAYvK,EAAKlO,MAAM6J,oCAAoCC,sBAAsB4O,WAAU,SAACtI,GAAC,OAAKA,EAAEhP,eAAiBoX,EAAapX,iBAErH,IAAfqX,IACFvK,EAAKlO,MAAM6J,oCAAoCC,sBAAsB2O,GAAWlW,+BAAiCiW,EAAajW,+BAC9H2L,EAAKlO,MAAM6J,oCAAoCC,sBAAsB2O,GAAW3W,6BAA+B0W,EAAa1W,6BAC5HoM,EAAKlO,MAAM6J,oCAAoCC,sBAAsB2O,GAAWtJ,YAAcqJ,EAAarJ,kBAGhH,CAAA7Q,IAAA,uBAAAnB,MAED,WAAoB,IAAAwb,EAAA,KAClB/b,KAAKoD,MAAM6J,oCAAoCC,sBAAsBgB,SAAQ,SAAC0N,GAC5E,IAAMC,EAAYE,EAAK3Y,MAAM6J,oCAAoCE,sBAAsB2O,WAAU,SAACtI,GAAC,OAAKA,EAAEhP,eAAiBoX,EAAapX,iBAErH,IAAfqX,IACFE,EAAK3Y,MAAM6J,oCAAoCE,sBAAsB0O,GAAWlW,+BAAiCiW,EAAajW,+BAC9HoW,EAAK3Y,MAAM6J,oCAAoCE,sBAAsB0O,GAAW3W,6BAA+B0W,EAAa1W,6BAC5H6W,EAAK3Y,MAAM6J,oCAAoCE,sBAAsB0O,GAAWtJ,YAAcqJ,EAAarJ,kBAGhH,CAAA7Q,IAAA,gBAAAnB,MAGD,SAAcA,GACRP,KAAKoD,MAAM6H,QAAQ4C,SAAStN,GAC9BP,KAAKoD,MAAM6H,QAAQ+Q,OACjBhc,KAAKoD,MAAM6H,QAAQgR,QAAQ1b,GAC3B,GAIFP,KAAKoD,MAAM6H,QAAQzC,KAAKjI,GAG1BP,KAAKkQ,iBACN,CAAAxO,IAAA,eAAAnB,MAED,WAAY,IAAA2b,EAAA,KACNlc,KAAKoD,MAAMS,kBAAoB7D,KAAKoD,MAAMU,gBAAkB9D,KAAKoD,MAAMW,kBACjC,MAApC/D,KAAKoD,MAAMS,iBAAiBwB,OAC9BrF,KAAKoD,MAAMwI,wBAAwBE,wCACjC,GACF9L,KAAKoD,MAAM0E,sBAAsB9H,KAAK+C,QAAQqF,KAAI,SAAC7D,GACjDA,EAAWoB,+BAAiC,OAIhD3F,KAAKoD,MAAMkJ,iBAAkB,EAC7BtM,KAAKoD,MAAMQ,SAAU,EAErB4M,OAAyB2L,+BAA+B,CACtDxX,SAAU3E,KAAK+C,OAAOU,GACtBoH,UAAW7K,KAAKoc,iBAChBC,iBAAkBrc,KAAKoD,MAAMU,eAAiB9D,KAAKoD,MAAMU,eAAeL,GAAK,EAC7EM,gBAAiB/D,KAAKoD,MAAMW,gBAAkB/D,KAAKoD,MAAMW,gBAAgBxD,MAAQ,GACjFyM,kBAAmBhN,KAAKoD,MAAM4J,kBAAoBhN,KAAKoD,MAAM4J,kBAAkBzM,MAAQ,GACvFoS,aAAc3S,KAAKoD,MAAM6H,QACzBqR,oBAAqBtc,KAAKoD,MAAMiJ,mBAChCkQ,kBAAmBvc,KAAKoD,MAAM8H,WAC9BG,kBAAmBrL,KAAKoD,MAAMiI,kBAC9BmR,8BAA+Bxc,KAAKoD,MAAMkI,0BAC1CmR,mBAAoBzc,KAAKoD,MAAMwI,wBAC/B8Q,iCAAkC,EAClCC,WAAY,EACZC,YAAa,EACbrQ,qBAAsBvM,KAAKoD,MAAMmJ,qBACjCsQ,wBAAyB7c,KAAKoD,MAAMwG,yBAChC5J,KAAKoD,MAAM6J,oCAAoCE,sBAC/CnN,KAAKoD,MAAM6J,oCAAoCC,wBAElDwD,MAAK,SAACC,GACLuL,EAAK9Y,MAAMY,aAAe2M,EAASC,KAAKC,OACxCqL,EAAK9Y,MAAMQ,SAAU,EACrBsY,EAAK9Y,MAAMkJ,iBAAkB,QAGpC,CAAA5K,IAAA,iCAAAiB,IAED,WACE,OAAG3C,KAAKoD,MAAMwG,yBACL5J,KAAKoD,MAAM6J,oCAAoCE,sBAG/CnN,KAAKoD,MAAM6J,oCAAoCC,wBAEzD,CAAAxL,IAAA,mBAAAiB,IAED,WACE,OAAO3C,KAAKoD,MAAMyH,UAAU0C,QAAO,SAAChG,GAAC,OAAoB,GAAfA,EAAEuD,eAC7C,CAAApJ,IAAA,eAAAiB,IAED,WACE,IAAI8K,EAA+D,GACnE,IAAK,IAAIC,KAAMxG,EAAc,CAC3B,IAAIyG,EAA2BC,SAASF,EAAI,KAAO,EAC/CC,GACFF,EAAMjF,KAAK,CACTnD,KAAMrF,KAAKmF,aAAaxC,IAAI,YAADrB,OAAa4F,EAAawG,KACrDnN,MAAOqN,SAASF,GAChB5C,UAAW9K,KAAKoD,MAAM6H,QAAQ4C,SAASD,SAASF,MAGtD,OAAOD,IACR,CAAA/L,IAAA,cAAAiB,IAED,WACE,QAAI3C,KAAKoD,MAAMU,gBAAuB9D,KAAKoD,MAAMU,eAAegK,cAEjE,CAAApM,IAAA,eAAAiB,IAED,WACE,OAAO3C,KAAKsG,kBAAkBnB,iBA/SO,CAASvD,QAIvCC,eAAA,CAAR8M,kB,6BACO9M,eAAA,CAAPC,kB,8BACOD,eAAA,CAAPC,kB,0CACOD,eAAA,CAAPC,kB,wCACOD,eAAA,CAAPC,kB,iCAKED,eAAA,CAJFC,eAAK,CACJgb,QAAS,WACP,MAAO,O,6CAXQ9C,GAAoBnY,eAAA,CAdxCE,eAAU,CACT0G,WAAY,CACV9H,qBACA0F,2BACAqI,4BACAO,eAEFpI,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,oBACzC8V,kBAAmB,SAAC/V,GAAU,OAAKA,EAAMgW,qBAI1BhD,cCnCyX,MCQ1Y,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBXla,GAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OACrFJ,EAAIsD,iBAAiBQ,kBACqB,OAAxC9D,EAAIsD,iBAAiBS,gBACoB,OAAzC/D,EAAIsD,iBAAiBU,gBACvB9D,EAAG,MAAM,CAACG,YAAY,iCAAiCwC,YAAY,CAAC,SAAW,WAAW,OAAS,IAAI,MAAQ,OAAO,CAAwE,MAAtE7C,EAAIgd,kBAAkBE,YAAYC,qBAAqBC,YAAqBld,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,IAAI,CAACG,YAAY,OAAO,CAACL,EAAIiF,GAAG,WAAWjF,EAAIkF,GAAGlF,EAAIgd,kBAAkBE,YAAYC,qBAAqBE,kBAAkB,WAAWrd,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oBAAoB,WAAW5C,EAAIkF,GAAGlF,EAAIgd,kBAAkBE,YAAYC,qBAAqBC,aAAa,WAAWpd,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,sBAAsB,aAAa1C,EAAG,IAAI,CAACI,MAAM,CAAC,KAAO,aAAa,cAAc,SAASG,GAAG,CAAC,MAAQ,SAASqE,GAAQA,EAAOC,iBAAiB/E,EAAIsd,oBAAqB,KAAQ,CAACtd,EAAIiF,GAAG,aAAajF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,eAAe,gBAAgB1C,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,SAAS,CAACG,YAAY,mBAAmBC,MAAM,CAAC,cAAcN,EAAIoF,aAAaxC,IAAI,uBAAuB,KAAO5C,EAAIsd,mBAAmB,KAAO,KAAK7c,GAAG,CAAC,YAAc,SAASqE,GAAQ9E,EAAIsd,oBAAqB,KAAS,CAACpd,EAAG,IAAI,CAACF,EAAIiF,GAAG,eAAejF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oBAAoB,gBAAgB1C,EAAG,SAAS,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIud,4BAA4Bvd,EAAIiF,GAAG,eAAejF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,8BAA8B,gBAAgB1C,EAAG,SAAS,CAACF,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIwd,QAAQxd,EAAIgd,kBAAkBE,YAAYC,qBAAqBM,eAAe1L,OAAO/R,EAAI0d,sBAAsB1d,EAAIiF,GAAG,iBAAiB/E,EAAG,IAAI,CAACF,EAAIiF,GAAG,eAAejF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,qBAAqB,gBAAgB1C,EAAG,IAAI,CAACI,MAAM,CAAC,OAAS,SAAS,KAAO,sBAAsB,CAACN,EAAIiF,GAAGjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,iCAAiC,KAAK5C,EAAI+C,KAAM/C,EAAI8C,aAAc5C,EAAG,SAAS,CAACG,YAAY,kDAAkDI,GAAG,CAAC,MAAQ,SAASqE,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAI4B,MAAM,6BAA6B,CAAC1B,EAAG,IAAI,CAACG,YAAY,8BAA8BL,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,aAAa,UAAU5C,EAAI+C,KAAM/C,EAAI2d,uBAAwBzd,EAAG,SAAS,CAACG,YAAY,kDAAkDI,GAAG,CAAC,MAAQ,SAASqE,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAI4B,MAAM,iBAAiB,CAAC1B,EAAG,IAAI,CAACG,YAAY,eAAeL,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI5C,EAAI4d,0BAA4B,uBAAyB,gBAAgB,UAAU5d,EAAI+C,KAAM/C,EAAI6d,4BAA6B3d,EAAG,SAAS,CAACG,YAAY,kDAAkDqE,MAAM,CAAEoZ,SAAU9d,EAAIsD,iBAAiBiJ,iBAAkBjM,MAAM,CAAC,SAAWN,EAAIsD,iBAAiBiJ,iBAAiB9L,GAAG,CAAC,MAAQ,SAASqE,GAAQA,EAAOC,kBAAiB/E,EAAIsD,iBAAiBiJ,iBAAyBvM,EAAI+d,cAAc,MAAM,CAAC7d,EAAG,IAAI,CAACG,YAAY,qBAAqBL,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI5C,EAAI4d,0BAA4B,sBAAwB,wBAAwB,UAAU5d,EAAI+C,KAAM/C,EAAI6d,4BAA6B3d,EAAG,SAAS,CAACG,YAAY,qCAAqCqE,MAAM,CAAEoZ,SAAU9d,EAAIsD,iBAAiBiJ,iBAAkBjM,MAAM,CAAC,SAAWN,EAAIsD,iBAAiBiJ,iBAAiB9L,GAAG,CAAC,MAAQ,SAASqE,GAAQA,EAAOC,kBAAiB/E,EAAIsD,iBAAiBiJ,iBAAyBvM,EAAI+d,cAAc,MAAM,CAAC7d,EAAG,IAAI,CAACG,YAAY,uBAAuBL,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI5C,EAAI4d,0BAA4B,sBAAwB,wBAAwB,UAAU5d,EAAI+C,KACz3G/C,EAAIsD,iBAAiBQ,kBAC6B,IAA7C9D,EAAIsD,iBAAiBQ,iBAAiBJ,IACtC1D,EAAIkD,mBAAqBlD,EAAI4M,kBAAkBC,cAAgB7M,EAAI8C,aACxE5C,EAAG,SAAS,CAACG,YAAY,kDAAkDI,GAAG,CAAC,MAAQ,SAASqE,GAAgC,OAAxBA,EAAOC,iBAAwB/E,EAAI4B,MAAM,6BAA6B,CAAC1B,EAAG,IAAI,CAACG,YAAY,+BAA+BL,EAAIiF,GAAG,SAASjF,EAAIkF,GAAGlF,EAAIoF,aAAaxC,IAAI,oBAAoB,UAAU5C,EAAI+C,OAAO/C,EAAI+C,MAE7TpC,GAAkB,G,stFCiBP,IAAMqd,GAAmB,SAAAnd,GAAA,SAAAmd,IAAA,IAAAld,EAAAC,GAAA,KAAAid,GAAA,QAAAhd,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAaD,OAbCP,EAAAQ,GAAA,KAAA0c,EAAA,GAAAzc,OAAAJ,IAAAK,GAAAV,EAAA,2BAAAU,GAAAV,EAAA,2BAAAU,GAAAV,EAAA,uBAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,gCAAAU,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,sBAUjB,GAAKU,GAAAV,EAAA,mBACPmd,SAAiBzc,GAAAV,EAAA,oBAEhB8L,QAAiB9L,EAAA,OAAAW,GAAAuc,EAAAnd,GAAAa,GAAAsc,EAAA,EAAArc,IAAA,eAAAiB,IAErC,WACE,OAAO3C,KAAKsG,kBAAkBnB,eAC/B,CAAAzD,IAAA,4BAAAiB,IAED,WACE,OACE3C,KAAK6C,cACF7C,KAAKqD,iBAAiBqJ,WAAWC,OAAkBC,aAAaG,oBAEtE,CAAArL,IAAA,0BAAAiB,IAED,WACE,IAAIsb,EAAc,EAWlB,OAV2E,MAAvEje,KAAK+c,kBAAkBE,YAAYC,qBAAqBC,cAC1Dc,EACErQ,SAAS5N,KAAK+c,kBAAkBE,YAAYC,qBAAqBC,aACjEvP,SAAS5N,KAAK+c,kBAAkBE,YAAYC,qBAAqBE,mBAGjEa,EAAc,IAChBA,EAAc,GAGTA,IACR,CAAAvc,IAAA,uBAAAnB,MAED,WACE,OACEP,KAAKqD,iBAAiBQ,kBAC2B,IAA9C7D,KAAKqD,iBAAiBQ,iBAAiBJ,IAExCzD,KAAKqD,iBAAiBQ,kBAC2B,IAA9C7D,KAAKqD,iBAAiBQ,iBAAiBJ,KACtCzD,KAAKiD,mBAAqB0J,OAAkB6N,YAAcxa,KAAKiD,mBAAqB0J,OAAkBC,aAAe5M,KAAK6C,gBAEnI,CAAAnB,IAAA,4BAAAnB,MAED,WACE,OAC2C,OAAzCP,KAAKqD,iBAAiBS,gBAC2B,IAA9C9D,KAAKqD,iBAAiBQ,iBAAiBJ,IAExCzD,KAAKqD,iBAAiBQ,mBAEnB7D,KAAKiD,mBAAqB0J,OAAkBC,aAAe5M,KAAK6C,cAC7D7C,KAAKiD,mBAAqB0J,OAAkB6N,aAAexa,KAAK6C,gBAI3E,CAAAnB,IAAA,gBAAAnB,MAED,SAAc2d,GAAgB,IAAA3N,EAAA,KAC5B,GAAIvQ,KAAKme,OAAOC,QAAQC,eAAeC,QAGrC,OAFAte,KAAKub,SAASgD,KAAKve,KAAKmF,aAAaxC,IAAI,qCACzC3C,KAAKwe,QAAQhW,KAAK,CAAEnD,KAAM,iBAI5BrF,KAAKqD,iBAAiBiJ,iBAAkB,EAGxC,IACImS,EADAC,EAAW1e,KAAK+C,OAAOsC,KAAKsZ,MAAM,KAAK1Q,KAAK,KAKhD,GAFAwQ,EAAkBze,KAAK4e,mBAAmBV,GAEtCle,KAAKqD,iBAAiBQ,kBAAoB7D,KAAKqD,iBAAiBS,gBAAkB9D,KAAKqD,iBAAiBU,gBAAiB,CAC3H,IAAM8a,EAAyD,GAE3D7e,KAAKqD,iBAAiBqJ,WAAWC,OAAkBC,aAAaG,oBAClE8R,EAA2BlS,OAAkBC,aAAe,CAC1DkS,+BAAgC9e,KAAKqD,iBAAiBoJ,oBACtDiF,eAAgB1R,KAAK0D,SAGzB8M,OAAyBuO,gCACvB,CACEpa,SAAU3E,KAAK+C,OAAOU,GACtBoH,UAAW7K,KAAKqD,iBAAiB+Y,iBACjCC,iBAAkBrc,KAAKqD,iBAAiBS,eAAiB9D,KAAKqD,iBAAiBS,eAAeL,GAAK,EACnGM,gBAAiB/D,KAAKqD,iBAAiBU,gBAAkB/D,KAAKqD,iBAAiBU,gBAAgBxD,MAAQ,GACvGyM,kBAAmBhN,KAAKqD,iBAAiB2J,kBAAoBhN,KAAKqD,iBAAiB2J,kBAAkBzM,MAAQ,GAC7GoS,aAAc3S,KAAKqD,iBAAiB4H,QACpCqR,oBAAqBtc,KAAKqD,iBAAiBgJ,mBAC3CoQ,mBAAoBzc,KAAKqD,iBAAiBuI,wBAC1C2Q,kBAAmBvc,KAAKqD,iBAAiB6H,WACzCG,kBAAmBrL,KAAKqD,iBAAiBgI,kBACzCmR,8BAA+Bxc,KAAKqD,iBAAiBiI,0BACrDoR,iCAAkCwB,EAClCvB,WAAYqC,WAAWhf,KAAK2c,cAC5BC,YAAaoC,WAAWhf,KAAK4c,eAC7BrQ,qBAAsBvM,KAAKqD,iBAAiBkJ,qBAC5CsQ,wBAAyB7c,KAAKqD,iBAAiBuG,yBAC3C5J,KAAKqD,iBAAiB4J,oCAAoCE,sBAC1DnN,KAAKqD,iBAAiB4J,oCAAoCC,sBAC9D+R,gBAAiBjf,KAAKiD,iBACtB4b,6BACAhb,iBAAkB7D,KAAKqD,iBAAiBQ,iBAAiBJ,IAE3Dgb,GAEC/N,MAAK,SAACC,GACLJ,EAAK2O,qBAAqBvO,EAASC,KAAM8N,EAAU/N,EAASwO,QAAQ,oBAErE3G,OAAM,SAACgD,GACN,IAAI4D,EAAU,GACd,GAAI5D,EAAM7K,SAAU,CAClB,IAAI0O,EAAM,IAAIC,YAAY,SACtB1O,EAAO2O,KAAKC,MAAMH,EAAII,OAAOjE,EAAM7K,SAASC,OAChDwO,EAAUxO,EAAK8O,cAAc,GAAGC,wBAGhCP,EAAU7O,EAAKpL,aAAaxC,IAAI,iBAElC4N,EAAKgL,SAASC,MAAM4D,SAG3B,CAAA1d,IAAA,aAAAnB,MAED,WACE,IAAIma,EAAa,EACbC,EAA0BC,SAASC,eAAe,gBAEtD,OADAH,EAAQC,EAAMG,aACPJ,IACR,CAAAhZ,IAAA,cAAAnB,MAED,WACE,IAAIwa,EAAc,EAEdJ,EAA0BC,SAASC,eAAe,gBAGtD,OAFAE,EAASJ,EAAMK,cAERD,IACR,CAAArZ,IAAA,qBAAAnB,MAED,SAAmBqf,GACjB,OAAI5f,KAAKiD,kBAAoBjD,KAAKiD,mBAAqB0J,OAAkBC,YAChE,kBAGiB,IAAnBgT,EAAuB,kBAAoB,eACnD,CAAAle,IAAA,mBAAAnB,MAED,SAAiBqf,GACf,MAAuB,oBAAnBA,EACK,OAGiB,oBAAnBA,EAAuC,OAAS,SACxD,CAAAle,IAAA,uBAAAnB,MAED,SAAqBsf,EAAoBnB,EAAkBD,GAAuB,IAAAxN,EAAA,KAE5E6O,EAAO,IAAIC,KAAK,CAACF,GAAW,CAC9BjN,KAAM,SAAW6L,IAGnBC,GAAY1e,KAAKggB,iBAAiBvB,GAClC,IAAMwB,EAAMC,OAAOC,IAAIC,gBAAgBN,GACjCO,EAAOzF,SAAS0F,cAAc,KACpCD,EAAKE,KAAON,EAEZI,EAAKG,aAAa,WAAY9B,GAC9B2B,EAAKG,aAAa,SAAU,UAC5B5F,SAAS6F,KAAKC,YAAYL,GAE1B,IAAIM,EAAM/F,SAASgG,YAAY,eAC/BD,EAAIE,eACF,SACA,GACA,EACAX,OACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,MAEFG,EAAKS,cAAcH,GAEnB3gB,KAAKqD,iBAAiBiJ,iBAAkB,EACxCyU,QAAeC,gBAAgBtQ,MAAK,SAACC,GACnCM,EAAKkN,OAAO8C,OAAOC,QAAkB,CACnCjE,YAAatM,EAASC,KAAKC,OAC3BsQ,QAAQ,WA7MwB,CAASvf,QACtCC,eAAA,CAAR8M,kB,wCACO9M,eAAA,CAAPC,kB,wCACOD,eAAA,CAAPC,kB,oCACOD,eAAA,CAAPC,kB,8BACOD,eAAA,CAAPC,kB,8BACOD,eAAA,CAAPC,kB,6CANkBic,GAAmBlc,eAAA,CAXvCE,eAAU,CACT0G,WAAY,CACV2Y,eAEFva,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,oBACzC8V,kBAAmB,SAAC/V,GAAU,OAAKA,EAAMgW,qBAI1Be,cC3BwX,MCQzY,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,OAIa,M,urFCgCA,IAAMsD,GAAY,SAAAzgB,GAAA,SAAAygB,IAAA,IAAAxgB,EAAAC,GAAA,KAAAugB,GAAA,QAAAtgB,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAQ4B,OAR5BP,EAAAQ,GAAA,KAAAggB,EAAA,GAAA/f,OAAAJ,IAAAK,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,4BAAAU,GAAAV,EAAA,qBAKU,IAAEU,GAAAV,EAAA,YACnB,IAAEU,GAAAV,EAAA,gBACF,GAAKU,GAAAV,EAAA,mBACQ,IAAI+J,IAAkBrJ,GAAAV,EAAA,aAAAU,GAAAV,EAAA,eAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,2BAAAU,GAAAV,EAAA,iBAAAU,GAAAV,EAAA,gCAAAA,EAAA,OAAAW,GAAA6f,EAAAzgB,GAAAa,GAAA4f,EAAA,EAAA3f,IAAA,UAAAnB,MAa3D,WAAO,IAAAgQ,EAAA,KACLC,OAAyB8Q,yBAAyB5Q,MAAK,SAACC,GACtDJ,EAAKvN,mBAAqB2N,EAASC,KAAKC,OACxCN,EAAKgR,sBAGPC,OAAkB9e,gBAAgBgO,MAAK,SAACC,GACtCJ,EAAKrN,UAAYyN,EAASC,KAAKC,UAKjC7Q,KAAKqD,iBAAiBmJ,KACpBiV,UAAUC,UAAUzF,QAAQ,UAAY,GACxCwF,UAAUC,UAAUzF,QAAQ,aAAe,GAC3CwF,UAAUC,UAAUzF,QAAQ,SAAW,IAI3C,CAAAva,IAAA,qBAAAiB,IAIA,WAEE,IAAIgf,EAAkB,GAOtB,OALI3hB,KAAK+C,OAAOsQ,eAAe,iBAG7BsO,EAAkB3hB,KAAK+C,OAAOgF,aAEzBD,EAAsB6Z,EAAiB3hB,KAAKqD,iBAAiB2E,iBACrE,CAAAtG,IAAA,kBAAAnB,MAED,WAAe,IAAA0Q,EAAA,KACb2Q,OAAkB1d,gBAAgB,CAChCS,SAAU3E,KAAKyD,GACfoH,UAAW7K,KAAKqD,iBAAiBwH,UACjCgX,mBAAoB7hB,KAAKqD,iBAAiBQ,iBACtC7D,KAAKqD,iBAAiBQ,iBAAiBJ,GACvC,EACJ4Y,iBAAkBrc,KAAKqD,iBAAiBS,eAAiB9D,KAAKqD,iBAAiBS,eAAeL,GAAK,EACnGM,gBAAiB/D,KAAKqD,iBAAiBU,gBAAkB/D,KAAKqD,iBAAiBU,gBAAgBxD,MAAQ,GACvGyM,kBAAmBhN,KAAKqD,iBAAiB2J,kBACrChN,KAAKqD,iBAAiB2J,kBAAkBzM,MACxC,GACJoS,aAAc3S,KAAKqD,iBAAiB4H,QACpCqR,oBAAqBtc,KAAKqD,iBAAiBgJ,mBAC3CyV,mBAAoB9hB,KAAKqD,iBAAiB6H,WAC1CG,kBAAmBrL,KAAKqD,iBAAiBgI,kBACzCO,wBAAyB5L,KAAKqD,iBAAiBuI,wBAC/CW,qBAAsBvM,KAAKqD,iBAAiBkJ,qBAC5CwV,iCAAkC/hB,KAAKqD,iBAAiBiI,0BACxDuR,wBAAyB7c,KAAKqD,iBAAiBuG,yBAC3C5J,KAAKqD,iBAAiB4J,oCAAoCE,sBAC1DnN,KAAKqD,iBAAiB4J,oCAAoCC,sBAC9D8U,4BAA8BhiB,KAAKqD,iBAAiBuG,yBAEhD5J,KAAKqD,iBAAiB4J,oCAAoCC,sBAD1DlN,KAAKqD,iBAAiB4J,oCAAoCE,sBAE9D8U,uBAAwBjiB,KAAKqD,iBAAiBgL,qBAAqBrO,KAAK+C,OAAQ/C,KAAKmD,uBACrFyG,yBAA0B5J,KAAKqD,iBAAiBuG,yBAChD8C,WAAY1M,KAAKqD,iBAAiBqJ,aACjCgE,MAAK,WACNO,EAAK5N,iBAAiBiK,6BACpB2D,EAAK5N,iBAAiBkJ,qBACxB0E,EAAKsK,SAAS2G,QAAQjR,EAAK9L,aAAaxC,IAAI,6BAE/C,CAAAjB,IAAA,mBAAAnB,MAED,WAAgB,IAAA+Q,EAAA,KACdsQ,OAAkBO,eAAe,CAAExd,SAAU3E,KAAKyD,KAC/CiN,MAAK,SAACC,GAAa,OAAKW,EAAK8Q,cAAczR,EAASC,KAAKC,WACzD2H,OAAM,iBAEV,CAAA9W,IAAA,gBAAAnB,MAED,SAAc8hB,GACZriB,KAAKsiB,cAAcD,EAAUxX,WAC7B7K,KAAKuiB,iBAAiBF,EAAU1P,cAChC3S,KAAKwiB,qBAAqBH,EAAUR,mBAAoBQ,EAAUhG,kBAClErc,KAAKyiB,cAAcJ,EAAUte,gBAAiBse,EAAUrV,mBACxDhN,KAAK0iB,yBAAyBL,EAAU9V,sBACxCvM,KAAK2iB,4BAA4BN,EAAUN,kCAC3C/hB,KAAK4iB,uBAAuBP,EAAUxF,wBAAyBwF,EAAUL,4BAA6BK,EAAUzY,0BAChH5J,KAAK6iB,2BAA2BR,EAAUJ,wBAC1CjiB,KAAK8iB,yBAAyBT,KAGhC,CAAA3gB,IAAA,gBAAAnB,MACQ,SAAcsK,GAAgB,IAAAkR,EAAA,KAChClR,GAAaA,EAAU5J,OAAS,GAClC4J,EAAUqD,SAAQ,SAAC3G,GACjB,IAAImM,EAAIqI,EAAK1Y,iBAAiBwH,UAAUvD,MAAK,SAACwN,GAAC,OAAKA,EAAErR,KAAO8D,EAAE9D,MAC3DiQ,IACFA,EAAE5I,UAAYvD,EAAEuD,UAChB4I,EAAE3I,oBAAsBxD,EAAEwD,oBAC1B2I,EAAE1I,sBAAwBzD,EAAEyD,4BAMpC,CAAAtJ,IAAA,mBAAAnB,MACQ,SAAiBoS,GACnBA,IACF3S,KAAKqD,iBAAiB4H,QAAU0H,KAIpC,CAAAjR,IAAA,uBAAAnB,MACQ,SAAqBshB,EAA4BxF,GACvD,IAAMxY,EAAmB7D,KAAKgD,mBAAmBsE,MAAK,SAACC,GAAM,OAAKA,EAAE9D,KAAOoe,KACvEhe,IACF7D,KAAKqD,iBAAiBQ,iBAAmBA,EACzC7D,KAAKqD,iBAAiB+J,sBAAwBiP,KAKlD,CAAA3a,IAAA,gBAAAnB,MACQ,SAAcwD,EAAyBiJ,GACzChN,KAAKqD,iBAAiBU,kBACxB/D,KAAKqD,iBAAiBU,gBAAgBxD,MAAQwD,GAE5C/D,KAAKqD,iBAAiB2J,oBACxBhN,KAAKqD,iBAAiB2J,kBAAkBzM,MAAQyM,KAIpD,CAAAtL,IAAA,2BAAAnB,MACQ,SAAyBgM,GAC3BA,IACFvM,KAAKqD,iBAAiBkJ,qBAAuBA,EAC7CvM,KAAKqD,iBAAiBiK,6BAA+Bf,KAExD,CAAA7K,IAAA,8BAAAnB,MAEO,SAA4BwiB,GAC9BA,IACF/iB,KAAKqD,iBAAiBiI,0BAA4ByX,KAItD,CAAArhB,IAAA,yBAAAnB,MACQ,SAAuBsc,EAA8BmF,EAAkCpY,GACzFiT,IACF7c,KAAKqD,iBAAiB2E,cAAgB6U,GAGpCjT,GACF5J,KAAKqD,iBAAiB4J,oCAAoCE,sBAAwBnN,KAAKgjB,0BACrFhjB,KAAKqD,iBAAiB4J,oCAAoCE,sBAC1D0P,GACEmF,IACFhiB,KAAKqD,iBAAiB4J,oCAAoCC,sBAAwBlN,KAAKijB,gCACrFjjB,KAAKqD,iBAAiB4J,oCAAoCC,sBAC1D8U,MAIJhiB,KAAKqD,iBAAiB4J,oCAAoCC,sBAAwBlN,KAAKijB,gCACrFjjB,KAAKqD,iBAAiB4J,oCAAoCC,sBAC1D2P,GACEmF,IACFhiB,KAAKqD,iBAAiB4J,oCAAoCE,sBAAwBnN,KAAKgjB,0BACrFhjB,KAAKqD,iBAAiB4J,oCAAoCE,sBAC1D6U,OAKR,CAAAtgB,IAAA,6BAAAnB,MACQ,SAA2B0hB,GAC7BA,IACFjiB,KAAKqD,iBAAiBgK,uBAAyB4U,KAInD,CAAAvgB,IAAA,2BAAAnB,MACQ,SAAyB8hB,GAC/BriB,KAAKqD,iBAAiBgJ,mBAAqBgW,EAAU/F,oBACrDtc,KAAKqD,iBAAiB6H,WAAamX,EAAUP,mBAC7C9hB,KAAKqD,iBAAiBuG,yBAA2ByY,EAAUzY,yBAEvDyY,EAAUzW,0BACZ5L,KAAKqD,iBAAiBuI,wBAA0ByW,EAAUzW,yBAGxDyW,EAAUhX,oBACZrL,KAAKqD,iBAAiBgI,kBAAoBgX,EAAUhX,mBAKtD,IAAIhG,EAAO,CAACsH,EAAkBA,YAAkBC,cAAc,GAC9DvH,EAAOA,EAAK,GAAGuC,cAAgBvC,EAAKe,MAAM,GAC1C,IAAM8c,EAAkBb,EAAU3V,WAAWrH,GAE7CrF,KAAKqD,iBAAiBqJ,WAAUnL,GAAA,GAC7BoL,OAAkBC,YAAc,CAC/BC,UAAWqW,EAAgBrW,WAAa,EACxCC,QAASoW,EAAgBpW,SAAW,EACpCC,kBAAmBmW,EAAgBnW,oBAAqB,MAG7D,CAAArL,IAAA,4BAAAnB,MAEO,SAA0B4iB,EAAkCC,GAClE,IAAMC,EAAkB,IAAIC,IAE5BF,EAAalV,SAAQ,SAACxD,QACSxC,IAAzBwC,EAAQlG,cACV6e,EAAgBE,IAAI7Y,EAAQlG,aAAckG,MAI9C,IAAM8Y,EAA4C,GAYlD,OAXAL,EAAajV,SAAQ,SAACxD,GACpB,IAAM+Y,EAAeJ,EAAgB1gB,IAAI+H,EAAQlG,cAC7Cif,GACFA,EAAa9c,cAAgB+D,EAAQ/D,cACrC6c,EAAqBhb,KAAKib,GAC1BJ,EAAgBK,OAAOhZ,EAAQlG,eAG/Bgf,EAAqBhb,KAAKkC,MAGvB8Y,IACR,CAAA9hB,IAAA,kCAAAnB,MAEO,SAAgC4iB,EAAkCC,GACxE,IAAMO,EAAwB,IAAIL,IAC5BM,EAA4B,IAAIN,IAEtCF,EAAalV,SAAQ,SAACxD,QACKxC,IAArBwC,EAAQ/F,UACVgf,EAAsBJ,IAAI7Y,EAAQ/F,SAAU+F,MAIhD0Y,EAAalV,SAAQ,SAACxD,QACSxC,IAAzBwC,EAAQlG,cACVof,EAA0BL,IAAI7Y,EAAQlG,aAAckG,MAIxD,IAAM8Y,EAA4C,GAmBlD,OAlBAL,EAAajV,SAAQ,SAACxD,GACpB,IAAMmZ,EAAqBF,EAAsBhhB,IAAI+H,EAAQ/F,UACvDmf,EAAyBF,EAA0BjhB,IAAI+H,EAAQlG,cAEjEqf,GAAqD,GAA/BA,EAAmBlf,UAC3Ckf,EAAmBld,cAAgB+D,EAAQ/D,cAC3C6c,EAAqBhb,KAAKqb,GAC1BF,EAAsBD,OAAOhZ,EAAQ/F,WAE/Bmf,GAAiE,GAAvCA,EAAuBtf,cACvDsf,EAAuBnd,cAAgB+D,EAAQ/D,cAC/C6c,EAAqBhb,KAAKsb,GAC1BF,EAA0BF,OAAOhZ,EAAQ/F,WAGzC6e,EAAqBhb,KAAKkC,MAGvB8Y,IACR,CAAA9hB,IAAA,eAAAnB,MAED,WAAY,IAAA2b,EAAA,KACNlc,KAAKqD,iBAAiBQ,kBAAoB7D,KAAKqD,iBAAiBS,gBAAkB9D,KAAKqD,iBAAiBU,kBACvD,MAA/C/D,KAAKqD,iBAAiBQ,iBAAiBwB,OACzCrF,KAAKqD,iBAAiBuI,wBAAwBE,wCAC5C,GACF9L,KAAKuG,mBAAmB6B,KAAI,SAAC7D,GAC3BA,EAAWoB,+BAAiC,OAIhD3F,KAAKqD,iBAAiBiJ,iBAAkB,EACxCtM,KAAKqD,iBAAiBO,SAAU,EAChC4M,OAAyB2L,+BAA+B,CACtDxX,SAAU3E,KAAKyD,GACfoH,UAAW7K,KAAKqD,iBAAiB+Y,iBACjCC,iBAAkBrc,KAAKqD,iBAAiBS,eAAiB9D,KAAKqD,iBAAiBS,eAAeL,GAAK,EACnGM,gBAAiB/D,KAAKqD,iBAAiBU,gBAAkB/D,KAAKqD,iBAAiBU,gBAAgBxD,MAAQ,GACvGyM,kBAAmBhN,KAAKqD,iBAAiB2J,kBAAoBhN,KAAKqD,iBAAiB2J,kBAAkBzM,MAAQ,GAC7GoS,aAAc3S,KAAKqD,iBAAiB4H,QACpCqR,oBAAqBtc,KAAKqD,iBAAiBgJ,mBAC3CkQ,kBAAmBvc,KAAKqD,iBAAiB6H,WACzCG,kBAAmBrL,KAAKqD,iBAAiBgI,kBACzCmR,8BAA+Bxc,KAAKqD,iBAAiBiI,0BACrDmR,mBAAoBzc,KAAKqD,iBAAiBuI,wBAC1C8Q,iCAAkC,EAClCC,WAAY,EACZC,YAAa,EACbrQ,qBAAsBvM,KAAKqD,iBAAiBkJ,qBAC5CsQ,wBAAyB7c,KAAKqD,iBAAiBuG,yBAC3C5J,KAAKqD,iBAAiB4J,oCAAoCE,sBAC1DnN,KAAKqD,iBAAiB4J,oCAAoCC,wBAE7DwD,MAAK,SAACC,GACLuL,EAAK7Y,iBAAiBW,aAAe2M,EAASC,KAAKC,OACnDqL,EAAK7Y,iBAAiBO,SAAU,EAChCsY,EAAK7Y,iBAAiBiJ,iBAAkB,QAG/C,CAAA5K,IAAA,sBAAAnB,MAED,WACEP,KAAK6C,cAAe,IACrB,CAAAnB,IAAA,sBAAAnB,MAED,WACEP,KAAK6C,cAAe,IACrB,CAAAnB,IAAA,sBAAAnB,MAED,WAAmB,IAAAwjB,EAAA,KACb/jB,KAAKqD,iBAAiBS,gBACxB0M,OAAyB6K,yCACvBrb,KAAKqD,iBAAiBS,eAAiB9D,KAAKqD,iBAAiBS,eAAeL,GAAK,GAEhFiN,MAAK,SAACC,GACL,GAAIA,EAASC,KAAKC,OAAQ,CACxB,IAAItE,EAAuBoE,EAASC,KAAKC,OAAOzI,KAAI,SAACb,GACnD,IAAM+T,EAAsByI,EAAK1gB,iBAAiBkJ,qBAAqBjF,MACrE,SAACwN,GAAM,OAAKA,EAAErR,IAAM8D,EAAE9D,MAExB,GAAI6X,EACF/T,EAAEqK,QAAU0J,EAAoB1J,aAE7B,GAA0D,MAAtDmS,EAAK1gB,iBAAiBiK,6BAAsC,CAMnE,IAAMgO,EAAsByI,EAAK1gB,iBAAiBiK,6BAA6BhG,MAC7E,SAACwN,GAAM,OAAKA,EAAErR,IAAM8D,EAAE9D,MAEpB6X,IACF/T,EAAEqK,QAAU0J,EAAoB1J,SAGpC,OAAOrK,KAETwc,EAAK1gB,iBAAiBkJ,qBAAuBA,EAC7CwX,EAAK7T,mBAGRsI,OAAM,WACLuL,EAAKxI,SAASC,MAAM,+BAG3B,CAAA9Z,IAAA,wBAAAnB,MAED,WACEkb,eAASzb,KAAKkQ,aAAc,IAAM,gCACnC,CAAAxO,IAAA,eAAAiB,IAGD,WACE,OAAO3C,KAAKsG,kBAAkBnB,iBAhYD,CAASvD,QAUhCC,eAAA,CAAPC,kB,0BACOD,eAAA,CAAPC,kB,4BACOD,eAAA,CAAPC,kB,8BACOD,eAAA,CAAPC,kB,wCACOD,eAAA,CAAPC,kB,8BAKED,eAAA,CAJFC,eAAK,CACJgb,QAAS,WACP,MAAO,O,6CAjBQuE,GAAYxf,eAAA,CApBhCE,eAAU,CACT0G,WAAY,CACV9H,qBACA2O,kBACAjJ,2BACA+a,cACA1S,4BACAO,cACAI,sBACAgB,yBACA2J,wBACA+D,wBAEFlX,SAAQC,GAAA,GACHC,eAAS,CACVT,kBAAmB,SAACU,GAAU,OAAKA,EAAMC,oBACzC8V,kBAAmB,SAAC/V,GAAU,OAAKA,EAAMgW,qBAI1BqE,cCnDiX,MCSlY,I,oBAAY,eACd,GACAvhB,EACAY,GACA,EACA,KACA,WACA,OAIa,gB","file":"js/chunk-52b2c7b4.588fe281.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientsDisplayNames.vue?vue&type=style&index=0&id=e5f43f54&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabelButtons.vue?vue&type=style&index=0&id=2d7c2650&prod&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('label',{staticClass:\"switch\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.value},on:{\"input\":_vm.changeHandler}}),_c('span',{staticClass:\"slider round\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class vToggleSwitch extends Vue {\r\n\r\n @Prop() value!: boolean;\r\n\r\n changeHandler() {\r\n this.$emit('toggled', !this.value);\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vToggleSwitch.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vToggleSwitch.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vToggleSwitch.vue?vue&type=template&id=090fbb25&scoped=true\"\nimport script from \"./vToggleSwitch.vue?vue&type=script&lang=ts\"\nexport * from \"./vToggleSwitch.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vToggleSwitch.vue?vue&type=style&index=0&id=090fbb25&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"090fbb25\",\n null\n \n)\n\nexport default component.exports","import Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport {Translation} from \"@/models/Localization/Translation\";\r\nimport {MethodResult} from \"@/utils/API/ResultTypes/MethodResult\";\r\nimport {AxiosResponse} from \"axios\";\r\nimport Language from \"@/models/Language\";\r\n\r\n\r\nconst resource = '/general';\r\n\r\nexport default {\r\n listCountries() {\r\n return Repository.post(`${resource}/ListCountries`, new ListRequest({page: 1, pageSize: 9999}), {withCredentials: true});\r\n },\r\n listIndustries() {\r\n return Repository.post(`${resource}/ListIndustries`, new ListRequest({page: 1, pageSize: 9999}), {withCredentials: true});\r\n },\r\n listLanguages(): Promise<AxiosResponse<MethodResult<Language[]>>> {\r\n return Repository.get<MethodResult<Language[]>>(`${resource}/ListLanguages`, {withCredentials: true});\r\n },\r\n};\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabel.vue?vue&type=style&index=1&id=254f0454&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vToggleSwitch.vue?vue&type=style&index=0&id=090fbb25&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vLabelPreviewImage.vue?vue&type=style&index=0&id=60a6ab82&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabel.vue?vue&type=style&index=0&id=254f0454&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vBackOfPackageConfig.vue?vue&type=style&index=0&id=3ae74e41&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vAccordion.vue?vue&type=style&index=0&id=707962e4&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',[_c('div',{staticClass:\"form-row\",staticStyle:{\"height\":\"83vh\"}},[_c('div',{staticClass:\"col-md-6 col-12 h-100\",staticStyle:{\"overflow\":\"auto\",\"padding-right\":\"1rem\"}},[(!_vm.isFopDisplay)?_c('vBackOfPackageConfig',{attrs:{\"recipe\":_vm.recipe,\"nutrition-countries\":_vm.nutritionCountries,\"package-label-type\":_vm.packageLabelType,\"languages\":_vm.languages,\"subrecipe-measurements\":_vm.subrecipeMeasurements},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}}):_vm._e(),(_vm.isFopDisplay)?_c('vFrontOfPackageConfig',{attrs:{\"recipe-id\":_vm.id,\"package-label-type\":_vm.packageLabelType,\"high-in\":_vm.highIn},on:{\"debounced-fetch-preview\":_vm.debouncedFetchPreview},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}}):_vm._e()],1),_c('div',{staticClass:\"col-md-6 col-12 h-100 btn-group-container\",staticStyle:{\"text-align\":\"center\",\"gap\":\"15px\"}},[_c('div',{staticClass:\"h-100 w-100\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"gap\":\"15px\",\"text-align\":\"center\"}},[(!_vm.isFopDisplay)?_c('vLabelPreviewImage',{attrs:{\"is-loading\":_vm.exportLabelState.loading,\"should-display-label\":_vm.exportLabelState.nutritionCountry\n && _vm.exportLabelState.nutritionLabel !== null\n && _vm.exportLabelState.primaryLanguage !== null,\"label-preview-base64\":_vm.exportLabelState.labelPreview}}):_vm._e(),(_vm.isFopDisplay)?_c('vLabelPreviewImage',{attrs:{\"is-loading\":_vm.exportLabelState.loading,\"should-display-label\":_vm.exportLabelState.nutritionCountry !== null &&\n _vm.exportLabelState.nutritionLabel !== null &&\n _vm.exportLabelState.primaryLanguage !== null &&\n _vm.exportLabelState.fopLabelPreview !== '',\"label-preview-base64\":_vm.exportLabelState.fopLabelPreview}}):_vm._e(),_c('vExportLabelButtons',{attrs:{\"package-label-type\":_vm.packageLabelType,\"is-fop-display\":_vm.isFopDisplay,\"recipe\":_vm.recipe,\"high-in\":_vm.highIn,\"subrecipe-measurements\":_vm.subrecipeMeasurements},on:{\"save-label\":_vm.saveRecipeLabel,\"load-fop-label-creator\":_vm.loadFOPLabelCreator,\"load-bop-label-creator\":_vm.loadBOPLabelCreator},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"row ingr-container\"},[_c('div',{staticClass:\"col-12 ingr-names-container\"},_vm._l((_vm.sortedIngredientDisplays),function(ingredient){return _c('span',{key:'ingrForm_' + ingredient.ingredientId || ingredient.recipeId,staticClass:\"ingr-link\",class:{'active': (_vm.activeIngredientId === 'i_'+ingredient.ingredientId) || (_vm.activeIngredientId === 'r_'+ingredient.recipeId),\n 'isBranded': ingredient.isBranded },on:{\"click\":function($event){$event.preventDefault();return _vm.setActiveIngredient(ingredient.ingredientId ? 'i_'+ingredient.ingredientId : 'r_'+ingredient.recipeId)}}},[_vm._v(_vm._s(ingredient.displayTextInPrimaryLanguage))])}),0),_c('div',{staticClass:\"col-12\"},[_vm._l((_vm.sortedIngredientDisplays),function(ingredient){return [((_vm.activeIngredientId === 'i_'+ingredient.ingredientId) || (_vm.activeIngredientId === 'r_'+ingredient.recipeId))?_c('div',{key:'ingrForm_' + ingredient.ingredientId || ingredient.recipeId},[_c('hr'),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get('label_export_primary_label')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.displayTextInPrimaryLanguage),expression:\"ingredient.displayTextInPrimaryLanguage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"5\",\"type\":\"text\"},domProps:{\"value\":(ingredient.displayTextInPrimaryLanguage)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingredient, \"displayTextInPrimaryLanguage\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.country ? _vm.country.name != 'UK' : true),expression:\"country ? country.name != 'UK' : true\"}],staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get('label_export_secondary_label')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.displayTextInSecondaryLanguage),expression:\"ingredient.displayTextInSecondaryLanguage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"5\",\"type\":\"text\"},domProps:{\"value\":(ingredient.displayTextInSecondaryLanguage)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingredient, \"displayTextInSecondaryLanguage\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.country ? _vm.country.name == 'UK' : false),expression:\"country ? country.name == 'UK' : false\"}],staticClass:\"ingr-allergen-container checkbox check-primary\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.isAllergen),expression:\"ingredient.isAllergen\"}],attrs:{\"id\":'src' + ingredient.ingredientId,\"type\":\"checkbox\"},domProps:{\"checked\":ingredient.isAllergen,\"checked\":Array.isArray(ingredient.isAllergen)?_vm._i(ingredient.isAllergen,null)>-1:(ingredient.isAllergen)},on:{\"input\":function($event){ingredient.isAllergen = !ingredient.isAllergen},\"change\":function($event){var $$a=ingredient.isAllergen,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(ingredient, \"isAllergen\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(ingredient, \"isAllergen\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(ingredient, \"isAllergen\", $$c)}}}}),_c('label',{staticClass:\"allergen-label\",attrs:{\"for\":'src' + ingredient.ingredientId}},[_vm._v(\"Allergen\")])]),_c('button',{staticClass:\"ingr-close\",on:{\"click\":function($event){$event.preventDefault();return _vm.setActiveIngredient('0')}}},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\"\\n  \"+_vm._s(_vm.translations.get('done'))+\"\\n \")])]):_vm._e()]})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\r\nimport { mapState } from \"vuex\";\r\n\r\n@Component({\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class vIngredientsDisplayNames extends Vue {\r\n localizationState: any;\r\n\r\n @Prop() ingredientDisplays!: IngredientDisplay[];\r\n @Prop() country!: NutritionCountry;\r\n\r\n // everytime we update name, tell the parent\r\n @Watch(\"activeIngredientId\")\r\n onChangeActiveIngredientId() {\r\n this.$emit(\"update\");\r\n }\r\n\r\n activeIngredientId: string = \"0\";\r\n\r\n setActiveIngredient(id: string) {\r\n this.activeIngredientId = id;\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n get sortedIngredientDisplays(): IngredientDisplay[] {\r\n return this.ingredientDisplays.sort(\r\n (firstDisplay, secondDisplay) => secondDisplay.weightInGrams - firstDisplay.weightInGrams\r\n );\r\n }\r\n}\r\n","export enum DietaryTypes {\r\n GlutenFree,\r\n Vegan,\r\n Vegetarian,\r\n Organic,\r\n TransFatFree,\r\n DairyFree,\r\n GmoFree,\r\n SoyFree,\r\n NutFree,\r\n PeanutFree,\r\n EggFree,\r\n CholesterolFree,\r\n NitratesFree,\r\n NoSugarAdded,\r\n CornFree,\r\n AllergenFree\r\n};","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vIngredientsDisplayNames.vue?vue&type=template&id=e5f43f54&scoped=true\"\nimport script from \"./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"\nexport * from \"./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vIngredientsDisplayNames.vue?vue&type=style&index=0&id=e5f43f54&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e5f43f54\",\n null\n \n)\n\nexport default component.exports","import IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { RecipeIngredient } from \"@/models/Recipes/RecipeIngredient\";\r\nimport { Subrecipe } from \"@/models/Recipes/Subrecipe\";\r\nimport { groupBy } from \"@/utils/Helpers\";\r\n\r\nexport function getSubrecipeWeightInGrams(subrecipe: Subrecipe, subrecipeMeasurements: RecipeCompositionMeasurement[]) {\r\n const measurement = subrecipeMeasurements.find(\r\n (x) => x.id == subrecipe.recipeCompositionMeasurementId\r\n );\r\n\r\n let subRecipeWeight = subrecipe.quantity * subrecipe.weightPerServing;\r\n\r\n if (measurement && measurement.measurement.name.toLowerCase() !== \"serving\") {\r\n subRecipeWeight = subrecipe.quantity * measurement.measurement.conversionCoeficient;\r\n }\r\n\r\n return subRecipeWeight;\r\n}\r\n\r\nexport function getIngredientDisplays(\r\n ingredients: RecipeIngredient[],\r\n savedDisplays: IngredientDisplay[],\r\n quantityMultiplier: number = 1\r\n): IngredientDisplay[] {\r\n // check if there is a recipe\r\n // if not, will return empty aRRAY\r\n const displays: IngredientDisplay[] = [];\r\n\r\n // map the ingredients\r\n ingredients.map((ingr) => {\r\n // See if you can find savedDisplay in savedDisplays for the ingredient Id\r\n const savedDisplay = savedDisplays.find(\r\n (x) => x.ingredientId == ingr.ingredient.id\r\n );\r\n\r\n const ingrWeight = quantityMultiplier * ingr.quantity * ingr.measurement.weightInGrams;\r\n\r\n // If found, push that one\r\n if (savedDisplay) {\r\n displays.push({\r\n ingredientId: savedDisplay.ingredientId,\r\n displayTextInPrimaryLanguage: savedDisplay.displayTextInPrimaryLanguage,\r\n displayTextInSecondaryLanguage: savedDisplay.displayTextInSecondaryLanguage,\r\n isAllergen: savedDisplay.isAllergen,\r\n isBranded: ingr.ingredient.components != null,\r\n weightInGrams: ingrWeight,\r\n });\r\n }\r\n\r\n else {\r\n let displayTextInPrimaryLanguage = ingr.ingredient.name;\r\n // If custom ingredient has sub ingredients, concat them to the name\r\n if (ingr.ingredient.subIngredients) {\r\n displayTextInPrimaryLanguage += ` (${ingr.ingredient.subIngredients})`;\r\n }\r\n\r\n if (ingr.ingredient.components) {\r\n displayTextInPrimaryLanguage = ingr.ingredient.components;\r\n }\r\n\r\n displays.push({\r\n ingredientId: ingr.ingredient.id,\r\n displayTextInPrimaryLanguage: displayTextInPrimaryLanguage,\r\n displayTextInSecondaryLanguage: \"\",\r\n isAllergen: false,\r\n isBranded: ingr.ingredient.components != null,\r\n weightInGrams: ingrWeight,\r\n });\r\n }\r\n });\r\n\r\n return displays;\r\n}\r\n\r\nfunction getSubrecipeDisplayAsIngredients(\r\n subrecipe: Subrecipe,\r\n savedDisplays: IngredientDisplay[],\r\n subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n quantityMultiplier: number = 1\r\n) {\r\n\r\n let displays: IngredientDisplay[] = getIngredientDisplays(\r\n subrecipe.recipe.ingredients,\r\n savedDisplays,\r\n subrecipe.quantity * quantityMultiplier\r\n );\r\n\r\n for (const childRecipe of subrecipe.recipe.childRecipes) {\r\n const subrecipeWeight = getSubrecipeWeightInGrams(childRecipe, subrecipeMeasurements);\r\n const subrecipeWeightAsServings = subrecipeWeight / childRecipe.weightPerServing;\r\n\r\n const fetchedDisplays = getSubrecipeDisplayAsIngredients(\r\n childRecipe,\r\n savedDisplays,\r\n subrecipeMeasurements,\r\n subrecipeWeightAsServings * quantityMultiplier\r\n );\r\n\r\n displays = displays.concat(fetchedDisplays);\r\n }\r\n\r\n return displays;\r\n}\r\n\r\nexport function getIngredientAndSubRecipeDisplays(\r\n ingredientDisplays: IngredientDisplay[],\r\n recipe: Recipe,\r\n subRecipeDisplays: IngredientDisplay[],\r\n subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n renderExpandedSubrecipes: boolean = false\r\n): IngredientDisplay[] {\r\n let preprocessedDisplays: IngredientDisplay[] = ingredientDisplays;\r\n\r\n if (renderExpandedSubrecipes) {\r\n // Prep the subrecipes to be displayed as ingredients\r\n for (const subrecipe of recipe.childRecipes) {\r\n //const subrecipeWeight = getSubrecipeWeightInGrams(subrecipe, subrecipeMeasurements);\r\n //const subrecipeWeightAsServings = subrecipeWeight / subrecipe.weightPerServing;\r\n\r\n ingredientDisplays = ingredientDisplays.concat(\r\n getSubrecipeDisplayAsIngredients(\r\n subrecipe,\r\n ingredientDisplays,\r\n subrecipeMeasurements,\r\n 1\r\n )\r\n );\r\n }\r\n\r\n // Group the displays by ingredientId so that we can sum the weights\r\n const groupedDisplays = groupBy(ingredientDisplays, (x) => x.ingredientId.toString());\r\n const rv: IngredientDisplay[] = [];\r\n\r\n // Sum the weights of the grouped displays\r\n for (const key of groupedDisplays.keys()) {\r\n const ingredientDisplays: IngredientDisplay[] = groupedDisplays.get(key);\r\n\r\n if (ingredientDisplays) {\r\n const totalWeight = ingredientDisplays.reduce(\r\n (acc, x) => acc + x.weightInGrams,\r\n 0\r\n );\r\n\r\n // Clone the first display of the group to not accumulate the weight over multiple displays\r\n const display = structuredClone(ingredientDisplays[0]);\r\n display.weightInGrams = totalWeight;\r\n rv.push(display);\r\n }\r\n }\r\n\r\n return rv;\r\n }\r\n\r\n else {\r\n return preprocessedDisplays.concat(subRecipeDisplays);\r\n }\r\n}\r\n","import { getIngredientAndSubRecipeDisplays, getIngredientDisplays, getSubrecipeWeightInGrams } from \"@/services/ExportLabel.service\";\r\nimport IngredientDisplay from \"../Ingredient/IngredientDisplay\";\r\nimport Language from \"../Language\";\r\nimport Translations from \"../Localization/Translations\";\r\nimport { Recipe } from \"../Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"../Recipes/RecipeCompositionMeasurement\";\r\nimport { AdditionalContent } from \"./AdditionalContent\";\r\nimport { ContainsLessThanPercentOfContent } from \"./ContainsLessThanPercentOfContent\";\r\nimport { DietaryTypes } from \"./DietaryTypes\";\r\nimport FreeTextPlaceholder from \"./FreeTextPlaceholder\";\r\nimport { HeaderLanguageTranslations } from \"./HeaderLanguageTranslations\";\r\nimport { LabelTypeMetadata } from \"./LabelTypeMetadata\";\r\nimport { NutritionCountry } from \"./NutritionCountry\";\r\nimport { NutritionLabel } from \"./NutritionLabel\";\r\nimport { RecipeIngredient } from \"../Recipes/RecipeIngredient\";\r\nimport {Dish} from \"@/models/Dishes/Dish\";\r\n\r\nexport class ExportLabelState {\r\n allergens: {\r\n id: string;\r\n isChecked: boolean;\r\n primaryLanguageName: string;\r\n secondaryLanguageName: string;\r\n }[];\r\n dietary: number[];\r\n mayContain: AdditionalContent;\r\n cautionaryMessage: AdditionalContent;\r\n containsLessThanPercentOf: ContainsLessThanPercentOfContent;\r\n headerLabelTranslations: HeaderLanguageTranslations;\r\n labelPreview: string;\r\n fopLabelPreview: string;\r\n includeIngredients: boolean;\r\n renderExpandedSubrecipes: boolean;\r\n loading: boolean;\r\n disableDownload: boolean;\r\n freeTextPlaceholders: FreeTextPlaceholder[];\r\n isIE: boolean;\r\n fopNutritionLabelId: number;\r\n labelTypes: {\r\n [LabelTypeMetadata.FrontOfPack]: {\r\n fopFormat: number;\r\n pdsSize: number;\r\n includeInDownload: boolean;\r\n };\r\n };\r\n nutritionCountry: NutritionCountry | null;\r\n nutritionLabel: NutritionLabel | null;\r\n primaryLanguage: Language | null;\r\n secondaryLanguage: Language | null;\r\n ingredientAndSubRecipeDisplaysModel : {\r\n combinedSubRecipeList : IngredientDisplay[];\r\n expandedSubRecipeList : IngredientDisplay[];\r\n };\r\n savedDisplays: IngredientDisplay[];\r\n savedNutritionLabelId: number;\r\n savedSubRecipeDisplays: IngredientDisplay[];\r\n\r\n // Used to store value of placeholders of saved label\r\n textPlaceholdersOfSavedLabel: FreeTextPlaceholder[] | null;\r\n\r\n constructor() {\r\n this.allergens = [\r\n {\r\n id: \"Celery\",\r\n isChecked: false,\r\n primaryLanguageName: \"Celery\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Lupin\",\r\n isChecked: false,\r\n primaryLanguageName: \"Lupin\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Sesame Seed\",\r\n isChecked: false,\r\n primaryLanguageName: \"Sesame Seed\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Wheat\",\r\n isChecked: false,\r\n primaryLanguageName: \"Wheat\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Crustaceans\",\r\n isChecked: false,\r\n primaryLanguageName: \"Crustaceans\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Milk\",\r\n isChecked: false,\r\n primaryLanguageName: \"Milk\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Shelfish\",\r\n isChecked: false,\r\n primaryLanguageName: \"Shelfish\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Egg\",\r\n isChecked: false,\r\n primaryLanguageName: \"Egg\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Molluscs\",\r\n isChecked: false,\r\n primaryLanguageName: \"Molluscs\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Soy\",\r\n isChecked: false,\r\n primaryLanguageName: \"Soy\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Fish\",\r\n isChecked: false,\r\n primaryLanguageName: \"Fish\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Mustard\",\r\n isChecked: false,\r\n primaryLanguageName: \"Mustard\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Sulphites\",\r\n isChecked: false,\r\n primaryLanguageName: \"Sulphites\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Gluten\",\r\n isChecked: false,\r\n primaryLanguageName: \"Gluten\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Peanut\",\r\n isChecked: false,\r\n primaryLanguageName: \"Peanut\",\r\n secondaryLanguageName: \"\",\r\n },\r\n {\r\n id: \"Tree Nuts\",\r\n isChecked: false,\r\n primaryLanguageName: \"Tree Nuts\",\r\n secondaryLanguageName: \"\",\r\n },\r\n ];\r\n this.dietary = [];\r\n this.mayContain = {\r\n primaryLanguageAdditionalContent: \"\",\r\n secondaryLanguageAdditionalContent: \"\",\r\n };\r\n this.cautionaryMessage = {\r\n primaryLanguageAdditionalContent: \"\",\r\n secondaryLanguageAdditionalContent: \"\",\r\n };\r\n this.containsLessThanPercentOf = {\r\n primaryLanguageContainsLessThanText: \"Contains less than\",\r\n secondaryLanguageContainsLessThanText: \"\",\r\n\r\n primaryLanguagePercentOfText: \"percent of\",\r\n secondaryLanguagePercentOfText: \"\",\r\n\r\n thresholdPercent: 2.0\r\n };\r\n this.headerLabelTranslations = {\r\n ingredientsPrimaryLanguageTranslation: \"Ingredients\",\r\n ingredientsSecondaryLanguageTranslation: \"\",\r\n\r\n containsPrimaryLanguageTranslation: \"Contains\",\r\n containsSecondaryLanguageTranslation: \"\",\r\n\r\n mayContainPrimaryLanguageTranslation: \"May contain\",\r\n mayContainSecondaryLanguageTranslation: \"\",\r\n\r\n cautionaryMessagePrimaryLanguageTranslation: \"Caution\",\r\n cautionaryMessageSecondaryLanguageTranslation: \"\",\r\n };\r\n this.labelPreview = \"\";\r\n this.fopLabelPreview = \"\";\r\n this.includeIngredients = true;\r\n this.renderExpandedSubrecipes = false;\r\n this.loading = false;\r\n this.disableDownload = true;\r\n this.freeTextPlaceholders = [];\r\n this.isIE = false;\r\n this.fopNutritionLabelId = 0;\r\n this.labelTypes = {\r\n [LabelTypeMetadata.FrontOfPack]: {\r\n fopFormat: 1,\r\n pdsSize: 1,\r\n includeInDownload: true\r\n }\r\n };\r\n this.nutritionCountry = null;\r\n this.nutritionLabel = null;\r\n this.primaryLanguage = null;\r\n this.secondaryLanguage = null;\r\n this.ingredientAndSubRecipeDisplaysModel = {\r\n combinedSubRecipeList: [],\r\n expandedSubRecipeList: []\r\n };\r\n this.savedDisplays = [];\r\n this.savedNutritionLabelId = null;\r\n this.savedSubRecipeDisplays = [];\r\n\r\n this.textPlaceholdersOfSavedLabel = null;\r\n };\r\n\r\n get checkedAllergens() {\r\n return this.allergens.filter((x) => x.isChecked == true);\r\n }\r\n\r\n getDietaryTypes(translationInstance: Translations) {\r\n let types: { name: string; value: number; isChecked: boolean }[] = [];\r\n for (let dt in DietaryTypes) {\r\n let isValueProperty: boolean = parseInt(dt, 10) >= 0;\r\n if (isValueProperty)\r\n types.push({\r\n name: translationInstance.get(`labels_d_${DietaryTypes[dt]}`),\r\n value: parseInt(dt),\r\n isChecked: this.dietary.includes(parseInt(dt)),\r\n });\r\n }\r\n return types;\r\n }\r\n\r\n get isBilingual() {\r\n return this.nutritionLabel && this.nutritionLabel.isBilingual;\r\n }\r\n\r\n /**\r\n * Gets a formatted list of ingredient displays\r\n * NOTE: This is for Recipes only\r\n */\r\n getIngredientDisplays(recipe: Recipe): IngredientDisplay[] {\r\n // If we're in a dish recipe, ingredients will be undefined, so we use an empty array\r\n return getIngredientDisplays(recipe.ingredients || [], this.savedDisplays);\r\n }\r\n\r\n /**\r\n * Gets a formatted list of sub-recipe displays\r\n * These take the format of Subrecipe (ingredient1, ingredient2, ingredient3, ...)\r\n */\r\n getSubRecipeDisplays(\r\n recipe: Dish,\r\n subrecipeMeasurements: RecipeCompositionMeasurement[]\r\n ): IngredientDisplay[] {\r\n // check if there is a recipe\r\n // if not, will return empty aRRAY\r\n const displays: IngredientDisplay[] = [];\r\n\r\n if (recipe) {\r\n // map the ingredients\r\n recipe.childRecipes.map((recipe) => {\r\n // See if you can find savedDisplay in savedDisplays for the recipe Id\r\n const savedDisplay = this.savedSubRecipeDisplays.find(\r\n (x) => x.recipeId == recipe.recipe.id\r\n );\r\n\r\n const subRecipeWeight = getSubrecipeWeightInGrams(recipe, subrecipeMeasurements);\r\n\r\n // If found, push that one\r\n if (savedDisplay) {\r\n displays.push({\r\n recipeId: savedDisplay.recipeId,\r\n displayTextInPrimaryLanguage: savedDisplay.displayTextInPrimaryLanguage,\r\n displayTextInSecondaryLanguage: savedDisplay.displayTextInSecondaryLanguage,\r\n isAllergen: false,\r\n isBranded: false,\r\n weightInGrams: subRecipeWeight,\r\n });\r\n }\r\n\r\n else {\r\n // First level\r\n let displayTextInPrimaryLanguage = recipe.recipe.name;\r\n\r\n if (recipe.recipe.ingredients.length > 0) {\r\n // Concat the subRecipe's ingredients\r\n const firstLevelSubRecipe = this._subRecipeIngredients(\r\n recipe.recipe.ingredients\r\n );\r\n\r\n displayTextInPrimaryLanguage += \" (\" + firstLevelSubRecipe.join(\", \");\r\n }\r\n\r\n // Second level\r\n recipe.recipe.childRecipes.forEach((childRecipe) => {\r\n displayTextInPrimaryLanguage += (\r\n (recipe.recipe.ingredients.length > 0 ? \", \" : \" (\") + childRecipe.recipe.name\r\n );\r\n\r\n if (childRecipe.recipe.ingredients.length > 0) {\r\n // Concat the subRecipe's child ingredients\r\n const secondLevelSubRecipe = this._subRecipeIngredients(\r\n childRecipe.recipe.ingredients\r\n );\r\n\r\n displayTextInPrimaryLanguage += \" (\" + secondLevelSubRecipe.join(\", \");\r\n }\r\n\r\n // Third level: Concat the subRecipe's child -> child recipes only by name\r\n childRecipe.recipe.childRecipes.forEach((thirdLevelChildRecipe) => {\r\n displayTextInPrimaryLanguage += (\r\n (childRecipe.recipe.ingredients.length > 0 ? \", \" : \" (\") + thirdLevelChildRecipe.recipe.name\r\n );\r\n });\r\n\r\n displayTextInPrimaryLanguage += \")\";\r\n });\r\n displayTextInPrimaryLanguage += \")\";\r\n\r\n displays.push({\r\n recipeId: recipe.recipe.id,\r\n displayTextInPrimaryLanguage: displayTextInPrimaryLanguage,\r\n displayTextInSecondaryLanguage: \"\",\r\n isAllergen: false,\r\n isBranded: false,\r\n weightInGrams: subRecipeWeight,\r\n });\r\n }\r\n });\r\n }\r\n\r\n return displays;\r\n }\r\n\r\n // Merge ingredientDisplay and subRecipeDisplay\r\n getIngredientAndSubRecipeDisplays(\r\n recipe: Recipe,\r\n subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n renderExpandedSubrecipes : boolean\r\n ): IngredientDisplay[] {\r\n const displays = getIngredientAndSubRecipeDisplays(\r\n this.getIngredientDisplays(recipe),\r\n recipe,\r\n this.getSubRecipeDisplays(recipe, subrecipeMeasurements),\r\n subrecipeMeasurements,\r\n renderExpandedSubrecipes\r\n );\r\n\r\n return displays;\r\n }\r\n\r\n // Create list of subRecipe's ingredients\r\n _subRecipeIngredients(ingredients: RecipeIngredient[]): string[] {\r\n // Sort ingredients by their quantity contribution in the subRecipe\r\n ingredients.sort(\r\n (firstIngredient, secondIngredient) =>\r\n (secondIngredient.quantity * secondIngredient.measurement.weightInGrams) - (firstIngredient.quantity * firstIngredient.measurement.weightInGrams)\r\n );\r\n\r\n const subRecipeIngredients: string[] = [];\r\n ingredients.forEach((ingredient) => {\r\n subRecipeIngredients.push(ingredient.ingredient.name);\r\n });\r\n\r\n return subRecipeIngredients;\r\n }\r\n\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_less_than_percent_of\")))]),_c('br'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.primaryLanguageContainsLessThanText),expression:\"model.primaryLanguageContainsLessThanText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.primaryLanguageContainsLessThanText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"primaryLanguageContainsLessThanText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\",\"margin-top\":\"10px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.secondaryLanguageContainsLessThanText),expression:\"model.secondaryLanguageContainsLessThanText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.secondaryLanguageContainsLessThanText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"secondaryLanguageContainsLessThanText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}})]),_c('div',{staticClass:\"col-2 my-auto\"},[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_threshold_percent\")))]),_c('v-select',{attrs:{\"multiple\":false,\"label\":'threshold percent',\"options\":_vm.acceptableThresholds,\"clearable\":false,\"placeholder\":2.0},on:{\"input\":function($event){return _vm.$emit('all-input')}},model:{value:(_vm.model.thresholdPercent),callback:function ($$v) {_vm.$set(_vm.model, \"thresholdPercent\", $$v)},expression:\"model.thresholdPercent\"}})],1),_c('div',{staticClass:\"col-5\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.primaryLanguagePercentOfText),expression:\"model.primaryLanguagePercentOfText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.primaryLanguagePercentOfText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"primaryLanguagePercentOfText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\",\"margin-top\":\"10px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.secondaryLanguagePercentOfText),expression:\"model.secondaryLanguagePercentOfText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.secondaryLanguagePercentOfText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"secondaryLanguagePercentOfText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Model, Vue } from \"vue-property-decorator\";\r\nimport { mapState } from \"vuex\";\r\nimport { ContainsLessThanPercentOfContent } from \"@/models/NutritionLabels/ContainsLessThanPercentOfContent\";\r\nimport Translations from \"@/models/Localization/Translations\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\n\r\n@Component({\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class vUSContainsPercentOfForm extends Vue {\r\n @Model() model!: ContainsLessThanPercentOfContent;\r\n\r\n private localizationState!: LocalizationState;\r\n\r\n // Values as specified by CR82\r\n acceptableThresholds = [0.5, 1.0, 1.5, 2.0];\r\n\r\n get translations(): Translations {\r\n return this.localizationState.translations;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vUSContainsPercentOfForm.vue?vue&type=template&id=2aa2a9f2\"\nimport script from \"./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"\nexport * from \"./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-12 accordion-header\",on:{\"click\":_vm.expandAccordion}},[_c('i',{staticClass:\"fa fa-chevron-down chevron\",class:{ active: _vm.isExpanded }}),_c('h4',{staticStyle:{\"display\":\"inline-block\",\"margin-left\":\"20px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(_vm.accordionTitleTranslationKey))+\"\\n \")])]),_c('transition',{attrs:{\"name\":\"accordion\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExpanded),expression:\"isExpanded\"}],staticClass:\"col-12 toggle-container\",staticStyle:{\"overflow\":\"hidden\"}},[_vm._t(\"accordion-content\")],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\n\r\n@Component({\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class vAccordion extends Vue {\r\n @Prop() accordionTitleTranslationKey!: string;\r\n\r\n isExpanded = false;\r\n localizationState: LocalizationState;\r\n\r\n expandAccordion() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vAccordion.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vAccordion.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vAccordion.vue?vue&type=template&id=707962e4&scoped=true\"\nimport script from \"./vAccordion.vue?vue&type=script&lang=ts\"\nexport * from \"./vAccordion.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vAccordion.vue?vue&type=style&index=0&id=707962e4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"707962e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isLoading)?_c('div',{staticClass:\"label-wrapper centered\",staticStyle:{\"flex-grow\":\"1\"}},[_c('vPreLoader')],1):(_vm.shouldDisplayLabel)?_c('div',{staticClass:\"centered\"},[_c('img',{staticClass:\"image-label\",attrs:{\"id\":\"labelPreview\",\"src\":`data:image/png;base64,${_vm.labelPreviewBase64}`}})]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport vPreLoader from \"./vPreLoader.vue\";\r\n\r\n@Component({\r\n components: {\r\n vPreLoader\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class vLabelPreviewImage extends Vue {\r\n @Prop() isLoading!: boolean;\r\n @Prop() shouldDisplayLabel!: boolean;\r\n @Prop() labelPreviewBase64!: string;\r\n\r\n localizationState: LocalizationState;\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vLabelPreviewImage.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vLabelPreviewImage.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vLabelPreviewImage.vue?vue&type=template&id=60a6ab82&scoped=true\"\nimport script from \"./vLabelPreviewImage.vue?vue&type=script&lang=ts\"\nexport * from \"./vLabelPreviewImage.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vLabelPreviewImage.vue?vue&type=style&index=0&id=60a6ab82&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60a6ab82\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name == 'Canada' && _vm.packageLabelType == _vm.LabelTypeMetadata.FrontOfPack)?_c('div',{staticClass:\"alert alert-warning border border-warning\"},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"title\":\"exemptions\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"fop_warning\"))+\"\\n \")]):_vm._e(),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-12 col-md-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"label_format\")))]),_c('v-select',{attrs:{\"options\":_vm.labelFormatOptions,\"label\":\"formatTranslationKey\",\"reduce\":_vm.foPFormatReducer,\"clearable\":false,\"disabled\":!_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload},on:{\"input\":_vm.fetchLabelFormats},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_vm._v(\"\\n \"+_vm._s(_vm.translations.get(option.formatTranslationKey))+\"\\n \")]}},{key:\"selected-option\",fn:function(option){return [_vm._v(\"\\n \"+_vm._s(_vm.translations.get(option.formatTranslationKey))+\"\\n \")]}}]),model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"pds_size\")))]),_c('v-select',{attrs:{\"label\":\"translationKey\",\"options\":_vm.pdsSizeOptions,\"disabled\":!_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].fopFormat || !_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,\"reduce\":_vm.foPPDSReducer,\"clearable\":false},on:{\"input\":_vm.fetchPreview},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_vm._v(\"\\n \"+_vm._s(_vm.translations.get(option.translationKey))+\"\\n \")]}},{key:\"selected-option\",fn:function(option){return [_vm._v(\"\\n \"+_vm._s(_vm.translations.get(option.translationKey))+\"\\n \")]}}]),model:{value:(_vm.selectedPDS),callback:function ($$v) {_vm.selectedPDS=$$v},expression:\"selectedPDS\"}})],1)]),_c('div',{staticClass:\"checkbox check-primary col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload),expression:\"model.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload\"}],attrs:{\"id\":\"includeInDownload\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload)?_vm._i(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,null)>-1:(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload)},on:{\"change\":function($event){var $$a=_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$c)}}}}),_c('label',{attrs:{\"for\":\"includeInDownload\"}},[_vm._v(_vm._s(_vm.translations.get(\"fop_include_in_download\")))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Model, Prop, Vue } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\nimport { FOPLabelFormatData } from \"@/models/NutritionLabels/FOPLabelFormatData\";\r\nimport { SupportedPDS } from \"@/models/NutritionLabels/SupportedPDS\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\n\r\n@Component({\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class vFrontOfPackageConfig extends Vue {\r\n @Model() model!: ExportLabelState;\r\n @Prop() recipeId!: number;\r\n @Prop() packageLabelType!: LabelTypeMetadata;\r\n @Prop() highIn!: CanadaFOPHighInMetadata;\r\n\r\n pdsSizeOptions: SupportedPDS[] = [];\r\n\r\n private localizationState!: LocalizationState;\r\n labelFormatOptions: FOPLabelFormatData[] = [];\r\n\r\n LabelTypeMetadata = LabelTypeMetadata;\r\n\r\n selectedFormat: FOPLabelFormatData = null;\r\n selectedPDS: SupportedPDS = null;\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n created() {\r\n this.loadLabelFormats();\r\n }\r\n\r\n loadLabelFormats() {\r\n if (this.model.nutritionCountry && this.model.nutritionCountry.name == \"Canada\") {\r\n NutritionLabelRepository.getFrontOfPackageOptions().then((response) => {\r\n this.labelFormatOptions = response.data.result;\r\n let savedFormat = this.labelFormatOptions.find(\r\n (x: any) => x.formatValue == this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat\r\n );\r\n\r\n this.updateFOPSelections(savedFormat);\r\n });\r\n }\r\n }\r\n\r\n updateFOPSelections(selectedFormat : FOPLabelFormatData){\r\n this.selectedPDS = selectedFormat.supportedPDS.find(\r\n (x: any) => x.value == this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize\r\n );\r\n this.selectedFormat = selectedFormat;\r\n\r\n this.pdsSizeOptions = selectedFormat.supportedPDS;\r\n this.fetchFOPLabel();\r\n }\r\n\r\n foPFormatReducer(fopData: FOPLabelFormatData) {\r\n return fopData.formatValue;\r\n }\r\n\r\n foPPDSReducer(pdsData: SupportedPDS) {\r\n return pdsData.translationKey;\r\n }\r\n\r\n //Load FOP Label\r\n fetchFOPLabel(){\r\n const data = {\r\n recipeId: this.recipeId,\r\n labelFormatValue: this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat,\r\n pdsSizeValue: this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize,\r\n labelType: this.packageLabelType,\r\n highInMetadata: this.highIn\r\n };\r\n this.model.loading = true;\r\n NutritionLabelRepository.previewFOPNutritionLabel(data)\r\n .then((response) => {\r\n this.model.loading = false;\r\n this.model.fopLabelPreview = response.data.result.content;\r\n this.model.fopNutritionLabelId = response.data.result.id;\r\n this.model.disableDownload = false;\r\n });\r\n }\r\n\r\n fetchLabelFormats(selectedFormat : FOPLabelFormatData) {\r\n const selected = this.labelFormatOptions.find(\r\n (format) => format.formatValue === selectedFormat.formatValue\r\n );\r\n\r\n if (selected) {\r\n this.selectedFormat = selected;\r\n this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat = selected.formatValue;\r\n this.updatePDSSizes(selected.supportedPDS);\r\n }\r\n }\r\n\r\n updatePDSSizes(supportedPDS : SupportedPDS[]) {\r\n this.pdsSizeOptions = supportedPDS;\r\n\r\n this.selectedPDS = this.pdsSizeOptions[0];\r\n this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize = this.selectedPDS.value;\r\n this.fetchFOPLabel();\r\n }\r\n\r\n fetchPreview() {\r\n this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize = this.selectedPDS.value;\r\n this.fetchFOPLabel();\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vFrontOfPackageConfig.vue?vue&type=template&id=3ea41e98\"\nimport script from \"./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(_vm.model.nutritionCountry\n && _vm.model.nutritionCountry.name === 'Canada'\n && _vm.packageLabelType == _vm.LabelTypeMetadata.FrontOfPack\n )?_c('div',{staticClass:\"alert alert-warning border border-warning\"},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"title\":\"exemptions\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"fop_info\"))+\"\\n \")]):_vm._e(),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"row col-12\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"labels_country\")))]),_c('v-select',{attrs:{\"options\":_vm.nutritionCountries,\"label\":\"name\"},on:{\"change\":_vm.fetchNutritionLabels},model:{value:(_vm.model.nutritionCountry),callback:function ($$v) {_vm.$set(_vm.model, \"nutritionCountry\", $$v)},expression:\"model.nutritionCountry\"}})],1),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name !== 'UK')?_c('div',{staticClass:\"toggle-container toggle-container-two-label col-md-6 justify-content-center\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(\"Nutrition Facts\"))]),_c('vToggleSwitch',{on:{\"toggled\":_vm.updateFilters},model:{value:(_vm.showSupplementFactsLabels),callback:function ($$v) {_vm.showSupplementFactsLabels=$$v},expression:\"showSupplementFactsLabels\"}}),_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(\"Supplemented Facts\"))])],1):_vm._e()]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"d-flex\",staticStyle:{\"gap\":\"1rem\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"labels_label_type\"))+\"\\n \")]),_c('v-select',{attrs:{\"options\":_vm.filteredNutritionLabels,\"label\":\"name\",\"disabled\":_vm.model.nutritionCountry === null},on:{\"input\":_vm.fetchFreeTextFields},scopedSlots:_vm._u([{key:\"list-footer\",fn:function(){return [_c('li',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Not what you're looking for? Contact support for specialized labels.\")])]},proxy:true}]),model:{value:(_vm.model.nutritionLabel),callback:function ($$v) {_vm.$set(_vm.model, \"nutritionLabel\", $$v)},expression:\"model.nutritionLabel\"}})],1)]),_vm._l((_vm.model.freeTextPlaceholders),function(placeholder){return _c('div',{key:'placeholder' + placeholder.id,staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(placeholder.displayText))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(placeholder.content),expression:\"placeholder.content\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(placeholder.content)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(placeholder, \"content\", $event.target.value)},_vm.debouncedFetchPreview]}})])])}),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"checkbox check-primary col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.includeIngredients),expression:\"model.includeIngredients\"}],attrs:{\"id\":\"includeIngredients\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.model.includeIngredients)?_vm._i(_vm.model.includeIngredients,null)>-1:(_vm.model.includeIngredients)},on:{\"change\":[function($event){var $$a=_vm.model.includeIngredients,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.model, \"includeIngredients\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.model, \"includeIngredients\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.model, \"includeIngredients\", $$c)}},_vm.debouncedFetchPreview]}}),_c('label',{attrs:{\"for\":\"includeIngredients\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_include_ingred\")))])]),(_vm.model.includeIngredients && _vm.subRecipeDisplays.length > 0)?_c('div',{staticClass:\"toggle-container toggle-container-two-label col-6\"},[_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_subrecipes_combined\")))]),_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.toggleSubrecipeExpansion()}},model:{value:(_vm.model.renderExpandedSubrecipes),callback:function ($$v) {_vm.$set(_vm.model, \"renderExpandedSubrecipes\", $$v)},expression:\"model.renderExpandedSubrecipes\"}}),_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_subrecipes_expanded\")))])],1):_vm._e()]),_c('div',{staticClass:\"form-group\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_ingredients\")))])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-left\":\"-14px\",\"margin-top\":\"-13px\",\"display\":\"flex\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .ingredientsPrimaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .ingredientsPrimaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .ingredientsPrimaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"ingredientsPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .ingredientsSecondaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .ingredientsSecondaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .ingredientsSecondaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"ingredientsSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()]),_c('vIngredientsDisplayNames',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.model.includeIngredients),expression:\"model.includeIngredients\"}],attrs:{\"ingredient-displays\":_vm.ingredientAndSubRecipeDisplays,\"country\":_vm.model.nutritionCountry},on:{\"update\":_vm.fetchPreview}}),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name === 'USA')?_c('vUSContainsPercentOfForm',{on:{\"all-input\":_vm.debouncedFetchPreview},model:{value:(_vm.model.containsLessThanPercentOf),callback:function ($$v) {_vm.$set(_vm.model, \"containsLessThanPercentOf\", $$v)},expression:\"model.containsLessThanPercentOf\"}}):_vm._e()],1)],2),_c('hr'),_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_dietary\"}},[_c('template',{slot:\"accordion-content\"},_vm._l((_vm.dietaryTypes),function(type){return _c('span',{key:type.name,staticClass:\"item\"},[(_vm.model.isIE)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(type.isChecked),expression:\"type.isChecked\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(type.isChecked)?_vm._i(type.isChecked,null)>-1:(type.isChecked)},on:{\"change\":[function($event){var $$a=type.isChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(type, \"isChecked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(type, \"isChecked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(type, \"isChecked\", $$c)}},function($event){$event.preventDefault();return _vm.toggleDietary(type.value)}]}}):_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.toggleDietary(type.value)}},model:{value:(type.isChecked),callback:function ($$v) {_vm.$set(type, \"isChecked\", $$v)},expression:\"type.isChecked\"}}),_c('label',[_vm._v(_vm._s(type.name))])],1)}),0)],2),_c('hr'),_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_cautionary_messages\"}},[_c('template',{slot:\"accordion-content\"},[_c('div',{staticClass:\"col-12 form-group\"},[_c('label',{staticClass:\"label-header\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_cautionary_message\")))])]),_c('div',{staticClass:\"row col-12 form-group accordion-content\"},[_c('div',[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .cautionaryMessagePrimaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .cautionaryMessagePrimaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .cautionaryMessagePrimaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"cautionaryMessagePrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .cautionaryMessageSecondaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .cautionaryMessageSecondaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .cautionaryMessageSecondaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"cautionaryMessageSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()]),_c('div',{staticClass:\"col-12 form-group\"},[_c('label',{staticClass:\"label-header\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_cautionary_message_body\")))]),_c('br'),_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.cautionaryMessage.primaryLanguageAdditionalContent\n ),expression:\"\\n model.cautionaryMessage.primaryLanguageAdditionalContent\\n \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"maxlength\":\"250\"},domProps:{\"value\":(\n _vm.model.cautionaryMessage.primaryLanguageAdditionalContent\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.cautionaryMessage, \"primaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}}),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.cautionaryMessage.secondaryLanguageAdditionalContent\n ),expression:\"\\n model.cautionaryMessage.secondaryLanguageAdditionalContent\\n \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"maxlength\":\"250\"},domProps:{\"value\":(\n _vm.model.cautionaryMessage.secondaryLanguageAdditionalContent\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.cautionaryMessage, \"secondaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()])])],2),_c('hr'),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_allergies\"}},[_c('template',{slot:\"accordion-content\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_contains\")))])])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"-13px\",\"display\":\"flex\",\"margin-bottom\":\"28px\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .containsPrimaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .containsPrimaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .containsPrimaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"containsPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .containsSecondaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .containsSecondaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .containsSecondaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"containsSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})])]),_c('div',{staticClass:\"col-12 toggle-container\"},_vm._l((_vm.model.allergens),function(allergen){return _c('span',{key:allergen.id,staticClass:\"item\"},[(_vm.model.isIE)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.isChecked),expression:\"allergen.isChecked\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(allergen.isChecked)?_vm._i(allergen.isChecked,null)>-1:(allergen.isChecked)},on:{\"change\":function($event){var $$a=allergen.isChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(allergen, \"isChecked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(allergen, \"isChecked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(allergen, \"isChecked\", $$c)}}}}):_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.updateAllergenStatus(allergen, $event)}},model:{value:(allergen.isChecked),callback:function ($$v) {_vm.$set(allergen, \"isChecked\", $$v)},expression:\"allergen.isChecked\"}}),_c('label',{staticStyle:{\"margin-left\":\"6px\",\"font-weight\":\"700\"}},[_vm._v(_vm._s(allergen.id))]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.primaryLanguageName),expression:\"allergen.primaryLanguageName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(allergen.primaryLanguageName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(allergen, \"primaryLanguageName\", $event.target.value)},_vm.debouncedFetchPreview]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.secondaryLanguageName),expression:\"allergen.secondaryLanguageName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(allergen.secondaryLanguageName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(allergen, \"secondaryLanguageName\", $event.target.value)},_vm.debouncedFetchPreview]}})])],1)}),0),_c('div',{staticClass:\"col-12\",staticStyle:{\"margin-top\":\"28px\"}},[_c('div',{staticClass:\"form-group\",staticStyle:{\"margin-bottom\":\"-16px\"}},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\",\"margin-bottom\":\"20px\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_may_contain\")))])])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"-13px\",\"display\":\"flex\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .mayContainPrimaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .mayContainPrimaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .mayContainPrimaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"mayContainPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.headerLabelTranslations\n .mayContainSecondaryLanguageTranslation\n ),expression:\"\\n model.headerLabelTranslations\\n .mayContainSecondaryLanguageTranslation\\n \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.headerLabelTranslations\n .mayContainSecondaryLanguageTranslation\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n , \"mayContainSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.mayContain.primaryLanguageAdditionalContent\n ),expression:\"\\n model.mayContain.primaryLanguageAdditionalContent\\n \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.mayContain.primaryLanguageAdditionalContent\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.mayContain, \"primaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n _vm.model.mayContain\n .secondaryLanguageAdditionalContent\n ),expression:\"\\n model.mayContain\\n .secondaryLanguageAdditionalContent\\n \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(\n _vm.model.mayContain\n .secondaryLanguageAdditionalContent\n )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.mayContain\n , \"secondaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}})])])],2):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Model } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport vToggleSwitch from \"./vToggleSwitch.vue\";\r\nimport vIngredientsDisplayNames from \"./vIngredientsDisplayNames.vue\";\r\nimport vUSContainsPercentOfForm from \"./vUSContainsPercentOfForm.vue\";\r\nimport vAccordion from \"./vAccordion.vue\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { NutritionLabel } from \"@/models/NutritionLabels/NutritionLabel\";\r\nimport Language from \"@/models/Language\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { debounce } from \"@/utils/Helpers\";\r\nimport { DietaryTypes } from \"@/models/NutritionLabels/DietaryTypes\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\n\r\n@Component({\r\n components: {\r\n vToggleSwitch,\r\n vIngredientsDisplayNames,\r\n vUSContainsPercentOfForm,\r\n vAccordion\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n accountStoreState: (state: any) => state.AccountModule,\r\n }),\r\n },\r\n})\r\nexport default class vBackOfPackageConfig extends Vue {\r\n LabelTypeMetadata = LabelTypeMetadata;\r\n localizationState: LocalizationState;\r\n\r\n @Model() model!: ExportLabelState;\r\n @Prop() recipe!: Recipe;\r\n @Prop() nutritionCountries!: NutritionCountry[];\r\n @Prop() packageLabelType!: LabelTypeMetadata;\r\n @Prop() languages!: Language[];\r\n @Prop({\r\n default: (): RecipeCompositionMeasurement[] => {\r\n return [];\r\n }\r\n }) subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n nutritionLabels: NutritionLabel[] = [];\r\n filteredNutritionLabels: NutritionLabel[] = [];\r\n subRecipeDisplays: IngredientDisplay[] = [];\r\n showSupplementFactsLabels: boolean = false;\r\n\r\n created(){\r\n this.ingredientAndSubRecipeDisplaysInit();\r\n }\r\n\r\n ingredientAndSubRecipeDisplaysInit() {\r\n this.subRecipeDisplays = this.model.getSubRecipeDisplays(this.recipe, this.subrecipeMeasurements);\r\n\r\n if(this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.length == 0){\r\n this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.model.getIngredientAndSubRecipeDisplays(\r\n this.recipe,\r\n this.subrecipeMeasurements,\r\n true\r\n );\r\n }\r\n\r\n if(this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.length == 0){\r\n this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.model.getIngredientAndSubRecipeDisplays(\r\n this.recipe,\r\n this.subrecipeMeasurements,\r\n false\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Runs when the user toggles the switch between nutrition facts and supplemented facts\r\n */\r\n updateFilters() {\r\n console.log(\"toggle event\");\r\n this.showSupplementFactsLabels = !this.showSupplementFactsLabels;\r\n this.updateLabelTypeList();\r\n this.fetchFreeTextFields();\r\n this.fetchPreview();\r\n\r\n // We do this to ensure the selected item is one of the selected label types\r\n this.resetNutritionLabel();\r\n }\r\n\r\n updateLabelTypeList() {\r\n let sortKey = null;\r\n if (this.showSupplementFactsLabels) {\r\n sortKey = (x: NutritionLabel) => x.labelType === LabelTypeMetadata.SupplementFact;\r\n }\r\n\r\n else {\r\n sortKey = (x: NutritionLabel) => x.labelType === LabelTypeMetadata.BackOfPack;\r\n }\r\n\r\n this.filteredNutritionLabels = this.nutritionLabels.filter(sortKey);\r\n }\r\n\r\n resetNutritionLabel(){\r\n this.model.nutritionLabel = this.filteredNutritionLabels[0];\r\n }\r\n\r\n labelWidth() {\r\n let width: any = 0;\r\n let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n width = label.naturalWidth;\r\n return width;\r\n }\r\n\r\n labelHeight() {\r\n let height: any = 0;\r\n\r\n let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n height = label.naturalHeight;\r\n\r\n return height;\r\n }\r\n\r\n updateAllergenStatus(allergen: any, isChecked: boolean) {\r\n allergen.isChecked = isChecked;\r\n this.fetchPreview();\r\n }\r\n\r\n async fetchNutritionLabels() {\r\n // TEMP: While we only have supplement facts labels for Canada, we always reset the toggle when changing countries\r\n // This should be changed once we approach US labels\r\n this.showSupplementFactsLabels = false;\r\n\r\n if (this.model.nutritionCountry) {\r\n const response = await NutritionLabelRepository.listNutritionLabels(\r\n this.model.nutritionCountry.id,\r\n LabelTypeMetadata.BackOfPack | LabelTypeMetadata.SupplementFact\r\n );\r\n\r\n this.nutritionLabels = response.data.result;\r\n\r\n if (this.model.savedNutritionLabelId > 0) {\r\n let nutritionLabel = this.nutritionLabels.find(\r\n (x: any) => x.id == this.model.savedNutritionLabelId\r\n );\r\n this.model.nutritionLabel = nutritionLabel ? nutritionLabel : null;\r\n }\r\n\r\n // else {\r\n // this.model.nutritionLabel = this.nutritionLabels[0];\r\n // }\r\n\r\n if (this.languages.length) {\r\n this.model.primaryLanguage = this.languages[0];\r\n }\r\n\r\n //this.filteredNutritionLabels = this.nutritionLabels;\r\n\r\n this.fetchFreeTextFields();\r\n this.updateLabelTypeList();\r\n }\r\n else {\r\n this.model.nutritionLabel = null;\r\n }\r\n }\r\n\r\n fetchFreeTextFields() {\r\n if (this.model.nutritionLabel) {\r\n NutritionLabelRepository.getFreeTextPlaceholdersForNutritionLabel(\r\n this.model.nutritionLabel ? this.model.nutritionLabel.id : 0\r\n )\r\n .then((response) => {\r\n if (response.data.result) {\r\n let freeTextPlaceholders = response.data.result.map((x: any) => {\r\n const freeTextPlaceholder = this.model.freeTextPlaceholders.find(\r\n (y: any) => y.id == x.id\r\n );\r\n if (freeTextPlaceholder) {\r\n x.content = freeTextPlaceholder.content;\r\n }\r\n else if (this.model.textPlaceholdersOfSavedLabel != null) {\r\n /*\r\n Check to see if the prevouosly saved label has a placeholder content,\r\n then populate the content of the placeholder with its value.\r\n Covers the scenario when the user has a saved label but shuffels through other ones.\r\n */\r\n const freeTextPlaceholder = this.model.textPlaceholdersOfSavedLabel.find(\r\n (y: any) => y.id == x.id\r\n );\r\n if (freeTextPlaceholder) {\r\n x.content = freeTextPlaceholder.content;\r\n }\r\n }\r\n return x;\r\n });\r\n this.model.freeTextPlaceholders = freeTextPlaceholders;\r\n this.fetchPreview();\r\n }\r\n })\r\n .catch(() => {\r\n this.$snotify.error(\"Something happened! :(\");\r\n });\r\n }\r\n }\r\n\r\n debouncedFetchPreview() {\r\n debounce(this.fetchPreview, 1000, \"back-of-package-config-label-update\");\r\n }\r\n\r\n toggleSubrecipeExpansion() {\r\n this.model.renderExpandedSubrecipes = !this.model.renderExpandedSubrecipes;\r\n\r\n if(this.model.renderExpandedSubrecipes){\r\n this.updateIngredientName();\r\n }\r\n else{\r\n this.copyIngredientNamesOver();\r\n }\r\n\r\n this.debouncedFetchPreview();\r\n }\r\n\r\n copyIngredientNamesOver(){\r\n this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.forEach((expandedItem) => {\r\n const itemIndex = this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.findIndex((i) => i.ingredientId === expandedItem.ingredientId);\r\n\r\n if (itemIndex !== -1) {\r\n this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayTextInSecondaryLanguage = expandedItem.displayTextInSecondaryLanguage;\r\n this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayTextInPrimaryLanguage = expandedItem.displayTextInPrimaryLanguage;\r\n this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayText = expandedItem.displayText;\r\n }\r\n });\r\n }\r\n\r\n updateIngredientName(){\r\n this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.forEach((expandedItem) => {\r\n const itemIndex = this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.findIndex((i) => i.ingredientId === expandedItem.ingredientId);\r\n\r\n if (itemIndex !== -1) {\r\n this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayTextInSecondaryLanguage = expandedItem.displayTextInSecondaryLanguage;\r\n this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayTextInPrimaryLanguage = expandedItem.displayTextInPrimaryLanguage;\r\n this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayText = expandedItem.displayText;\r\n }\r\n });\r\n }\r\n\r\n\r\n toggleDietary(value: number) {\r\n if (this.model.dietary.includes(value)) {\r\n this.model.dietary.splice(\r\n this.model.dietary.indexOf(value),\r\n 1\r\n );\r\n }\r\n else {\r\n this.model.dietary.push(value);\r\n }\r\n\r\n this.fetchPreview();\r\n }\r\n\r\n fetchPreview() {\r\n if (this.model.nutritionCountry && this.model.nutritionLabel && this.model.primaryLanguage) {\r\n if (this.model.nutritionCountry.name == \"UK\") {\r\n this.model.headerLabelTranslations.ingredientsSecondaryLanguageTranslation =\r\n \"\";\r\n this.model.getIngredientDisplays(this.recipe).map((ingredient) => {\r\n ingredient.displayTextInSecondaryLanguage = \"\";\r\n });\r\n }\r\n\r\n this.model.disableDownload = true;\r\n this.model.loading = true;\r\n\r\n NutritionLabelRepository.previewNutritionLabelForRecipe({\r\n recipeId: this.recipe.id,\r\n allergens: this.checkedAllergens,\r\n nutritionLabelId: this.model.nutritionLabel ? this.model.nutritionLabel.id : 0,\r\n primaryLanguage: this.model.primaryLanguage ? this.model.primaryLanguage.value : \"\",\r\n secondaryLanguage: this.model.secondaryLanguage ? this.model.secondaryLanguage.value : \"\",\r\n dietaryTypes: this.model.dietary,\r\n ingredientsIncluded: this.model.includeIngredients,\r\n additionalContent: this.model.mayContain,\r\n cautionaryMessage: this.model.cautionaryMessage,\r\n containsLessThanPercentOfText: this.model.containsLessThanPercentOf,\r\n headerTranslations: this.model.headerLabelTranslations,\r\n nutritionLabelDownloadFileFormat: 0,\r\n labelWidth: 0,\r\n labelHeight: 0,\r\n freeTextPlaceholders: this.model.freeTextPlaceholders,\r\n ingredientDisplayModels: this.model.renderExpandedSubrecipes\r\n ? this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n : this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n })\r\n .then((response) => {\r\n this.model.labelPreview = response.data.result;\r\n this.model.loading = false;\r\n this.model.disableDownload = false;\r\n });\r\n }\r\n }\r\n\r\n get ingredientAndSubRecipeDisplays(){\r\n if(this.model.renderExpandedSubrecipes) {\r\n return this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList;\r\n }\r\n else{\r\n return this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList;\r\n }\r\n }\r\n\r\n get checkedAllergens() {\r\n return this.model.allergens.filter((x) => x.isChecked == true);\r\n }\r\n\r\n get dietaryTypes() {\r\n let types: { name: string; value: number; isChecked: boolean }[] = [];\r\n for (let dt in DietaryTypes) {\r\n let isValueProperty: boolean = parseInt(dt, 10) >= 0;\r\n if (isValueProperty)\r\n types.push({\r\n name: this.translations.get(`labels_d_${DietaryTypes[dt]}`),\r\n value: parseInt(dt),\r\n isChecked: this.model.dietary.includes(parseInt(dt)),\r\n });\r\n }\r\n return types;\r\n }\r\n\r\n get isBilingual() {\r\n if (this.model.nutritionLabel) return this.model.nutritionLabel.isBilingual;\r\n return false;\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vBackOfPackageConfig.vue?vue&type=template&id=3ae74e41&scoped=true\"\nimport script from \"./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vBackOfPackageConfig.vue?vue&type=style&index=0&id=3ae74e41&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ae74e41\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (\n _vm.exportLabelState.nutritionCountry &&\n _vm.exportLabelState.nutritionLabel !== null &&\n _vm.exportLabelState.primaryLanguage !== null\n )?_c('div',{staticClass:\"text-right btn-group-container\",staticStyle:{\"position\":\"absolute\",\"bottom\":\"0\",\"right\":\"1%\"}},[(_vm.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit != null)?_c('div',{staticClass:\"col-md-12\"},[_c('p',{staticClass:\"m-0\"},[_vm._v(\"\\n \"+_vm._s(_vm.accountStoreState.userDetails.nutritionLabelsLimit.downloadedLabels)+\"\\n \"+_vm._s(_vm.translations.get(\"table_footer_of\"))+\"\\n \"+_vm._s(_vm.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit)+\"\\n \"+_vm._s(_vm.translations.get(\"downloaded-labels\"))+\".\\n \"),_c('a',{attrs:{\"href\":\"#learnMore\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){$event.preventDefault();_vm.showLearnMoreModal = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"learn-more\"))+\"\\n \")])]),_c('div',{staticClass:\"learn-more-container\"},[_c('vModal',{staticClass:\"learn-more-modal\",attrs:{\"modal-title\":_vm.translations.get('downloads-remaining'),\"show\":_vm.showLearnMoreModal,\"size\":'s'},on:{\"cancelModal\":function($event){_vm.showLearnMoreModal = false}}},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"common-you-have\"))+\"\\n \"),_c('strong',[_vm._v(_vm._s(_vm.remainingLabelDownloads))]),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"downloads-remaining-until\"))+\"\\n \"),_c('strong',[_vm._v(_vm._s(_vm.$moment(_vm.accountStoreState.userDetails.nutritionLabelsLimit.nextResetDate).format(_vm.DATE_DISP_FORMAT)))]),_vm._v(\".\\n \")]),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"if-labels-needed\"))+\"\\n \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"../#/subscription\"}},[_vm._v(_vm._s(_vm.translations.get(\"upgrade-your-package\")))])])])],1)]):_vm._e(),(_vm.isFopDisplay)?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('load-bop-label-creator')}}},[_c('i',{staticClass:\"fa fa-chevron-circle-left\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"previous\"))+\"\\n \")]):_vm._e(),(_vm.shouldShowSaveButton())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('save-label')}}},[_c('i',{staticClass:\"fa fa-save\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"labels_save_multiple\" : \"labels_save\"))+\"\\n \")]):_vm._e(),(_vm.shouldShowDownloadButtons())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",class:{ disabled: _vm.exportLabelState.disableDownload },attrs:{\"disabled\":_vm.exportLabelState.disableDownload},on:{\"click\":function($event){$event.preventDefault();_vm.exportLabelState.disableDownload ? null : _vm.downloadLabel(0)}}},[_c('i',{staticClass:\"fa fa-file-pdf-o\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"download_labels_pdf\" : \"labels_download_pdf\"))+\"\\n \")]):_vm._e(),(_vm.shouldShowDownloadButtons())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small\",class:{ disabled: _vm.exportLabelState.disableDownload },attrs:{\"disabled\":_vm.exportLabelState.disableDownload},on:{\"click\":function($event){$event.preventDefault();_vm.exportLabelState.disableDownload ? null : _vm.downloadLabel(1)}}},[_c('i',{staticClass:\"fa fa-file-image-o\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"download_labels_jpg\" : \"labels_download_jpg\"))+\"\\n \")]):_vm._e(),(\n _vm.exportLabelState.nutritionCountry\n && _vm.exportLabelState.nutritionCountry.id === 0\n && _vm.packageLabelType === _vm.LabelTypeMetadata.FrontOfPack && !_vm.isFopDisplay\n )?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('load-fop-label-creator')}}},[_c('i',{staticClass:\"fa fa-chevron-circle-right\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"common_continue\"))+\"\\n \")]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport vModal from \"@/components/vModal.vue\";\r\nimport { Vue, Component, Prop, Model } from \"vue-property-decorator\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport { mapState } from \"vuex\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { DownloadNutritionLabelContentTypes } from \"@/utils/API/RequestContentTypes\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport UserRepository from \"@/utils/API/UserRepository\";\r\nimport { SET_USER_DETAILS } from \"@/store/MutationTypes\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { dateDisplayFormat } from \"@/utils/Defaults\";\r\nimport { AdditionalLabelInformation } from \"@/models/NutritionLabels/AdditionalLabelInformation\";\r\n\r\n@Component({\r\n components: {\r\n vModal,\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n accountStoreState: (state: any) => state.AccountModule,\r\n }),\r\n },\r\n})\r\nexport default class vExportLabelButtons extends Vue {\r\n @Model() exportLabelState!: ExportLabelState;\r\n @Prop() packageLabelType!: LabelTypeMetadata;\r\n @Prop() isFopDisplay!: boolean;\r\n @Prop() recipe!: Recipe;\r\n @Prop() highIn!: CanadaFOPHighInMetadata;\r\n @Prop() subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n accountStoreState: any;\r\n localizationState: any;\r\n showLearnMoreModal = false;\r\n DATE_DISP_FORMAT = dateDisplayFormat;\r\n\r\n LabelTypeMetadata = LabelTypeMetadata;\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n get downloadingMultipleLabels() {\r\n return (\r\n this.isFopDisplay\r\n && this.exportLabelState.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload\r\n );\r\n }\r\n\r\n get remainingLabelDownloads() {\r\n let labelsCount = 0;\r\n if (this.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit != null) {\r\n labelsCount =\r\n parseInt(this.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit) -\r\n parseInt(this.accountStoreState.userDetails.nutritionLabelsLimit.downloadedLabels);\r\n }\r\n\r\n if (labelsCount < 0) {\r\n labelsCount = 0;\r\n }\r\n\r\n return labelsCount;\r\n }\r\n\r\n shouldShowSaveButton() {\r\n return (\r\n this.exportLabelState.nutritionCountry\r\n && this.exportLabelState.nutritionCountry.id !== 0)\r\n || (\r\n this.exportLabelState.nutritionCountry\r\n && this.exportLabelState.nutritionCountry.id === 0\r\n && (this.packageLabelType === LabelTypeMetadata.BackOfPack || this.packageLabelType === LabelTypeMetadata.FrontOfPack && this.isFopDisplay)\r\n );\r\n }\r\n\r\n shouldShowDownloadButtons() {\r\n return (\r\n this.exportLabelState.nutritionLabel !== null\r\n && this.exportLabelState.nutritionCountry.id !== 0\r\n || (\r\n this.exportLabelState.nutritionCountry\r\n && (\r\n (this.packageLabelType === LabelTypeMetadata.FrontOfPack && this.isFopDisplay)\r\n || (this.packageLabelType === LabelTypeMetadata.BackOfPack && !this.isFopDisplay)\r\n )\r\n )\r\n );\r\n }\r\n\r\n downloadLabel(fileType: number) {\r\n if (this.$store.getters.getUserDetails.isTrial) {\r\n this.$snotify.info(this.translations.get(\"toastr_download_label_trial\"));\r\n this.$router.push({ name: \"subscription\" });\r\n return;\r\n }\r\n\r\n this.exportLabelState.disableDownload = true;\r\n\r\n // get the filename\r\n let filename = this.recipe.name.split(\" \").join(\"_\");\r\n let fileContentType: DownloadNutritionLabelContentTypes;\r\n\r\n fileContentType = this.getFileContentType(fileType);\r\n\r\n if (this.exportLabelState.nutritionCountry && this.exportLabelState.nutritionLabel && this.exportLabelState.primaryLanguage) {\r\n const additionalLabelInformation: AdditionalLabelInformation = {};\r\n\r\n if (this.exportLabelState.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload) {\r\n additionalLabelInformation[LabelTypeMetadata.FrontOfPack] = {\r\n frontOfPackageNutritionLabelId: this.exportLabelState.fopNutritionLabelId,\r\n highInMetadata: this.highIn,\r\n };\r\n }\r\n NutritionLabelRepository.downloadNutritionLabelForRecipe(\r\n {\r\n recipeId: this.recipe.id,\r\n allergens: this.exportLabelState.checkedAllergens,\r\n nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n secondaryLanguage: this.exportLabelState.secondaryLanguage ? this.exportLabelState.secondaryLanguage.value : \"\",\r\n dietaryTypes: this.exportLabelState.dietary,\r\n ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n headerTranslations: this.exportLabelState.headerLabelTranslations,\r\n additionalContent: this.exportLabelState.mayContain,\r\n cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n containsLessThanPercentOfText: this.exportLabelState.containsLessThanPercentOf,\r\n nutritionLabelDownloadFileFormat: fileType,\r\n labelWidth: parseFloat(this.labelWidth()),\r\n labelHeight: parseFloat(this.labelHeight()),\r\n freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n labelFormatType: this.packageLabelType,\r\n additionalLabelInformation,\r\n nutritionCountry: this.exportLabelState.nutritionCountry.id,\r\n },\r\n fileContentType\r\n )\r\n .then((response) => {\r\n this.pushDownloadToClient(response.data, filename, response.headers[\"content-type\"]);\r\n })\r\n .catch((error) => {\r\n let message = \"\";\r\n if (error.response) {\r\n let enc = new TextDecoder(\"utf-8\");\r\n let data = JSON.parse(enc.decode(error.response.data));\r\n message = data.errorMessages[0].userVisibleMessage;\r\n }\r\n else {\r\n message = this.translations.get(\"network_error\");\r\n }\r\n this.$snotify.error(message);\r\n });\r\n }\r\n }\r\n\r\n labelWidth() {\r\n let width: any = 0;\r\n let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n width = label.naturalWidth;\r\n return width;\r\n }\r\n\r\n labelHeight() {\r\n let height: any = 0;\r\n\r\n let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n height = label.naturalHeight;\r\n\r\n return height;\r\n }\r\n\r\n getFileContentType(chosenFileType: number): DownloadNutritionLabelContentTypes {\r\n if (this.packageLabelType && this.packageLabelType === LabelTypeMetadata.FrontOfPack) {\r\n return \"application/zip\";\r\n }\r\n\r\n return chosenFileType === 0 ? \"application/pdf\" : \"image/jpeg\";\r\n }\r\n\r\n getFileExtension(chosenFileType: DownloadNutritionLabelContentTypes) {\r\n if (chosenFileType === \"application/zip\") {\r\n return \".zip\";\r\n }\r\n\r\n return chosenFileType === \"application/pdf\" ? '.pdf' : '.jpg';\r\n }\r\n\r\n pushDownloadToClient(blobData: BlobPart, filename: string, fileContentType: string) {\r\n // get the blob\r\n let blob = new Blob([blobData], {\r\n type: \"type: \" + fileContentType,\r\n });\r\n\r\n filename += this.getFileExtension(fileContentType as DownloadNutritionLabelContentTypes);\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n\r\n link.setAttribute(\"download\", filename);\r\n link.setAttribute(\"target\", \"_blank\");\r\n document.body.appendChild(link);\r\n\r\n let evt = document.createEvent(\"MouseEvents\");\r\n evt.initMouseEvent(\r\n \"click\",\r\n true,\r\n true,\r\n window,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n false,\r\n false,\r\n false,\r\n false,\r\n 0,\r\n null\r\n );\r\n link.dispatchEvent(evt);\r\n\r\n this.exportLabelState.disableDownload = false;\r\n UserRepository.fetchUserInfo().then((response) => {\r\n this.$store.commit(SET_USER_DETAILS, {\r\n userDetails: response.data.result,\r\n logged: true,\r\n });\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabelButtons.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabelButtons.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vExportLabelButtons.vue?vue&type=template&id=2d7c2650\"\nimport script from \"./vExportLabelButtons.vue?vue&type=script&lang=ts\"\nexport * from \"./vExportLabelButtons.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vExportLabelButtons.vue?vue&type=style&index=0&id=2d7c2650&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/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","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport vToggleSwitch from \"@/components/vToggleSwitch.vue\";\r\nimport vIngredientsDisplayNames from \"@/components/vIngredientsDisplayNames.vue\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport GeneralRepository from \"@/utils/API/GeneralRepository\";\r\nimport Language from \"@/models/Language\";\r\nimport vPreLoader from \"@/components/vPreLoader.vue\";\r\nimport vModal from \"@/components/vModal.vue\";\r\n\r\nimport { debounce } from \"@/utils/Helpers\";\r\nimport { mapState } from \"vuex\";\r\nimport IngredientDisplay from \"../models/Ingredient/IngredientDisplay\";\r\nimport { Recipe } from \"../models/Recipes/Recipe\";\r\nimport RecipesRepository from \"../utils/API/RecipesRepository\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport vUSContainsPercentOfForm from \"./vUSContainsPercentOfForm.vue\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { getIngredientDisplays } from \"@/services/ExportLabel.service\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport vAccordion from \"./vAccordion.vue\";\r\nimport vLabelPreviewImage from \"./vLabelPreviewImage.vue\";\r\nimport vFrontOfPackageConfig from \"./vFrontOfPackageConfig.vue\";\r\nimport vBackOfPackageConfig from \"./vBackOfPackageConfig.vue\";\r\nimport vExportLabelButtons from \"./vExportLabelButtons.vue\";\r\nimport FreeTextPlaceholder from \"@/models/NutritionLabels/FreeTextPlaceholder\";\r\nimport {Dish} from \"@/models/Dishes/Dish\";\r\nimport {ContainsLessThanPercentOfContent} from \"@/models/NutritionLabels/ContainsLessThanPercentOfContent\";\r\n\r\n@Component({\r\n components: {\r\n vToggleSwitch,\r\n vPreLoader,\r\n vIngredientsDisplayNames,\r\n vModal,\r\n vUSContainsPercentOfForm,\r\n vAccordion,\r\n vLabelPreviewImage,\r\n vFrontOfPackageConfig,\r\n vBackOfPackageConfig,\r\n vExportLabelButtons,\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n accountStoreState: (state: any) => state.AccountModule,\r\n }),\r\n },\r\n})\r\nexport default class vExportLabel extends Vue {\r\n localizationState: any;\r\n accountStoreState: any;\r\n\r\n\r\n nutritionCountries: NutritionCountry[] = [];\r\n languages: Language[] = [];\r\n isFopDisplay: boolean = false;\r\n exportLabelState: ExportLabelState = new ExportLabelState();\r\n\r\n @Prop() id!: number;\r\n @Prop() name!: string;\r\n @Prop() recipe?: Recipe | Dish;\r\n @Prop() packageLabelType?: LabelTypeMetadata | LabelTypeMetadata.BackOfPack;\r\n @Prop() highIn?: CanadaFOPHighInMetadata | CanadaFOPHighInMetadata.None;\r\n @Prop({\r\n default: (): RecipeCompositionMeasurement[] => {\r\n return [];\r\n }\r\n }) subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n created() {\r\n NutritionLabelRepository.listNutritionCountries().then((response) => {\r\n this.nutritionCountries = response.data.result;\r\n this.fetchRecipeLabel();\r\n });\r\n\r\n GeneralRepository.listLanguages().then((response) => {\r\n this.languages = response.data.result;\r\n });\r\n\r\n // set IE mode\r\n /* MSIE used to detect old browsers and Trident used to newer ones*/\r\n this.exportLabelState.isIE = (\r\n navigator.userAgent.indexOf(\"MSIE \") > -1 ||\r\n navigator.userAgent.indexOf(\"Trident/\") > -1 ||\r\n navigator.userAgent.indexOf(\"Edge\") > -1\r\n );\r\n }\r\n\r\n /**\r\n * Gets a formatted list of ingredient displays\r\n * NOTE: This is for Recipes only\r\n */\r\n get ingredientDisplays(): IngredientDisplay[] {\r\n // If we're in a dish recipe, ingredients will be undefined, so we use an empty array\r\n let ingredientsList = [];\r\n\r\n if (this.recipe.hasOwnProperty('ingredients')) {\r\n // Since this is checked, we know recipe has an ingredients property\r\n // @ts-ignore\r\n ingredientsList = this.recipe.ingredients;\r\n }\r\n return getIngredientDisplays(ingredientsList, this.exportLabelState.savedDisplays);\r\n }\r\n\r\n saveRecipeLabel() {\r\n RecipesRepository.saveRecipeLabel({\r\n recipeId: this.id,\r\n allergens: this.exportLabelState.allergens,\r\n nutritionCountryId: this.exportLabelState.nutritionCountry\r\n ? this.exportLabelState.nutritionCountry.id\r\n : 0,\r\n nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n secondaryLanguage: this.exportLabelState.secondaryLanguage\r\n ? this.exportLabelState.secondaryLanguage.value\r\n : \"\",\r\n dietaryTypes: this.exportLabelState.dietary,\r\n ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n additionalContents: this.exportLabelState.mayContain,\r\n cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n headerLabelTranslations: this.exportLabelState.headerLabelTranslations,\r\n freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n containsLessThanPercentOfContent: this.exportLabelState.containsLessThanPercentOf,\r\n ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n ingredientOtherDisplayModel: !this.exportLabelState.renderExpandedSubrecipes\r\n ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n subRecipeDisplayModels: this.exportLabelState.getSubRecipeDisplays(this.recipe, this.subrecipeMeasurements),\r\n renderExpandedSubrecipes: this.exportLabelState.renderExpandedSubrecipes,\r\n labelTypes: this.exportLabelState.labelTypes\r\n }).then(() => {\r\n this.exportLabelState.textPlaceholdersOfSavedLabel =\r\n this.exportLabelState.freeTextPlaceholders; // Change to newly saved label\r\n this.$snotify.success(this.translations.get(\"labels_save_success\"));\r\n });\r\n }\r\n\r\n fetchRecipeLabel() {\r\n RecipesRepository.getRecipeLabel({ recipeId: this.id })\r\n .then((response: any) => this.fillLabelData(response.data.result))\r\n .catch(() => {});\r\n\r\n }\r\n\r\n fillLabelData(labelData: any) {\r\n this.fillAllergens(labelData.allergens);\r\n this.fillDietaryTypes(labelData.dietaryTypes);\r\n this.fillNutritionCountry(labelData.nutritionCountryId, labelData.nutritionLabelId);\r\n this.fillLanguages(labelData.primaryLanguage, labelData.secondaryLanguage);\r\n this.fillFreeTextPlaceholders(labelData.freeTextPlaceholders);\r\n this.fillContainsLessThanPercent(labelData.containsLessThanPercentOfContent);\r\n this.fillIngredientDisplays(labelData.ingredientDisplayModels, labelData.ingredientOtherDisplayModel, labelData.renderExpandedSubrecipes);\r\n this.fillSavedSubRecipeDisplays(labelData.subRecipeDisplayModels);\r\n this.fillAdditionalProperties(labelData);\r\n }\r\n\r\n //Function to handle allergens.\r\n private fillAllergens(allergens: any[]) {\r\n if (allergens && allergens.length > 0) {\r\n allergens.forEach((x: any) => {\r\n let a = this.exportLabelState.allergens.find((y) => y.id === x.id);\r\n if (a) {\r\n a.isChecked = x.isChecked;\r\n a.primaryLanguageName = x.primaryLanguageName;\r\n a.secondaryLanguageName = x.secondaryLanguageName;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //Function to handle dietary types.\r\n private fillDietaryTypes(dietaryTypes: number[]) {\r\n if (dietaryTypes) {\r\n this.exportLabelState.dietary = dietaryTypes;\r\n }\r\n }\r\n\r\n // Function to handle nutrition country and label ID.\r\n private fillNutritionCountry(nutritionCountryId: number, nutritionLabelId: number) {\r\n const nutritionCountry = this.nutritionCountries.find((x: any) => x.id === nutritionCountryId);\r\n if (nutritionCountry) {\r\n this.exportLabelState.nutritionCountry = nutritionCountry;\r\n this.exportLabelState.savedNutritionLabelId = nutritionLabelId;\r\n }\r\n }\r\n\r\n\r\n // Function to handle primary and secondary languages.\r\n private fillLanguages(primaryLanguage: string, secondaryLanguage: string) {\r\n if (this.exportLabelState.primaryLanguage) {\r\n this.exportLabelState.primaryLanguage.value = primaryLanguage;\r\n }\r\n if (this.exportLabelState.secondaryLanguage) {\r\n this.exportLabelState.secondaryLanguage.value = secondaryLanguage;\r\n }\r\n }\r\n\r\n //Function to handle free text placeholders.\r\n private fillFreeTextPlaceholders(freeTextPlaceholders: FreeTextPlaceholder[]) {\r\n if (freeTextPlaceholders) {\r\n this.exportLabelState.freeTextPlaceholders = freeTextPlaceholders;\r\n this.exportLabelState.textPlaceholdersOfSavedLabel = freeTextPlaceholders;\r\n }\r\n }\r\n\r\n private fillContainsLessThanPercent(containsLessThanPercent: ContainsLessThanPercentOfContent) {\r\n if (containsLessThanPercent) {\r\n this.exportLabelState.containsLessThanPercentOf = containsLessThanPercent;\r\n }\r\n }\r\n\r\n // Function to handle ingredient displays and subrecipes.\r\n private fillIngredientDisplays(ingredientDisplayModels: any, ingredientOtherDisplayModel: any, renderExpandedSubrecipes: boolean) {\r\n if (ingredientDisplayModels) {\r\n this.exportLabelState.savedDisplays = ingredientDisplayModels;\r\n }\r\n\r\n if (renderExpandedSubrecipes) {\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.synchronizeIngredientData(\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList,\r\n ingredientDisplayModels);\r\n if (ingredientOtherDisplayModel) {\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.synchronizeRecipeIngredientData(\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n ingredientOtherDisplayModel);\r\n }\r\n }\r\n else {\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.synchronizeRecipeIngredientData(\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n ingredientDisplayModels);\r\n if (ingredientOtherDisplayModel) {\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.synchronizeIngredientData(\r\n this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList,\r\n ingredientOtherDisplayModel);\r\n }\r\n }\r\n }\r\n\r\n //Function to handle saved subrecipe displays.\r\n private fillSavedSubRecipeDisplays(subRecipeDisplayModels: any[]) {\r\n if (subRecipeDisplayModels) {\r\n this.exportLabelState.savedSubRecipeDisplays = subRecipeDisplayModels;\r\n }\r\n }\r\n\r\n //Function to handle additional properties.\r\n private fillAdditionalProperties(labelData: any) {\r\n this.exportLabelState.includeIngredients = labelData.ingredientsIncluded;\r\n this.exportLabelState.mayContain = labelData.additionalContents;\r\n this.exportLabelState.renderExpandedSubrecipes = labelData.renderExpandedSubrecipes;\r\n\r\n if (labelData.headerLabelTranslations) {\r\n this.exportLabelState.headerLabelTranslations = labelData.headerLabelTranslations;\r\n }\r\n\r\n if (labelData.cautionaryMessage) {\r\n this.exportLabelState.cautionaryMessage = labelData.cautionaryMessage;\r\n }\r\n\r\n // NOTE: This is done because during serialization, the enum from C# is cast to a string\r\n // as such to get the value, we need to convert it back to an enum.\r\n let name = [LabelTypeMetadata[LabelTypeMetadata.FrontOfPack]][0];\r\n name = name[0].toLowerCase() + name.slice(1);\r\n const frontOfPackData = labelData.labelTypes[name];\r\n\r\n this.exportLabelState.labelTypes = {\r\n [LabelTypeMetadata.FrontOfPack]: {\r\n fopFormat: frontOfPackData.fopFormat || 1,// Fallback to 1 as the default value if these aren't present while loading a saved label.\r\n pdsSize: frontOfPackData.pdsSize || 1,\r\n includeInDownload: frontOfPackData.includeInDownload || true,\r\n }\r\n };\r\n }\r\n\r\n private synchronizeIngredientData(originalList:IngredientDisplay[], modifiedList:IngredientDisplay[]){\r\n const modifiedListMap = new Map<number, IngredientDisplay>();\r\n\r\n modifiedList.forEach((display) => {\r\n if (display.ingredientId !== undefined) {\r\n modifiedListMap.set(display.ingredientId, display);\r\n }\r\n });\r\n\r\n const updatedSubRecipeList: IngredientDisplay[] = [];\r\n originalList.forEach((display) => {\r\n const otherDisplay = modifiedListMap.get(display.ingredientId);\r\n if (otherDisplay) {\r\n otherDisplay.weightInGrams = display.weightInGrams;\r\n updatedSubRecipeList.push(otherDisplay);\r\n modifiedListMap.delete(display.ingredientId);\r\n }\r\n else {\r\n updatedSubRecipeList.push(display);\r\n }\r\n });\r\n return updatedSubRecipeList;\r\n }\r\n\r\n private synchronizeRecipeIngredientData(originalList:IngredientDisplay[], modifiedList:IngredientDisplay[]){\r\n const modifiedRecipeListMap = new Map<number, IngredientDisplay>();\r\n const modifiedIngredientListMap = new Map<number, IngredientDisplay>();\r\n\r\n modifiedList.forEach((display) => {\r\n if (display.recipeId !== undefined) {\r\n modifiedRecipeListMap.set(display.recipeId, display);\r\n }\r\n });\r\n\r\n modifiedList.forEach((display) => {\r\n if (display.ingredientId !== undefined) {\r\n modifiedIngredientListMap.set(display.ingredientId, display);\r\n }\r\n });\r\n\r\n const updatedSubRecipeList: IngredientDisplay[] = [];\r\n originalList.forEach((display) => {\r\n const otherRecipeDisplay = modifiedRecipeListMap.get(display.recipeId);\r\n const otherIngredientDisplay = modifiedIngredientListMap.get(display.ingredientId);\r\n\r\n if (otherRecipeDisplay && otherRecipeDisplay.recipeId != 0) {\r\n otherRecipeDisplay.weightInGrams = display.weightInGrams;\r\n updatedSubRecipeList.push(otherRecipeDisplay);\r\n modifiedRecipeListMap.delete(display.recipeId);\r\n }\r\n else if(otherIngredientDisplay && otherIngredientDisplay.ingredientId != 0) {\r\n otherIngredientDisplay.weightInGrams = display.weightInGrams;\r\n updatedSubRecipeList.push(otherIngredientDisplay);\r\n modifiedIngredientListMap.delete(display.recipeId);\r\n }\r\n else {\r\n updatedSubRecipeList.push(display);\r\n }\r\n });\r\n return updatedSubRecipeList;\r\n }\r\n\r\n fetchPreview() {\r\n if (this.exportLabelState.nutritionCountry && this.exportLabelState.nutritionLabel && this.exportLabelState.primaryLanguage) {\r\n if (this.exportLabelState.nutritionCountry.name == \"UK\") {\r\n this.exportLabelState.headerLabelTranslations.ingredientsSecondaryLanguageTranslation =\r\n \"\";\r\n this.ingredientDisplays.map((ingredient) => {\r\n ingredient.displayTextInSecondaryLanguage = \"\";\r\n });\r\n }\r\n\r\n this.exportLabelState.disableDownload = true;\r\n this.exportLabelState.loading = true;\r\n NutritionLabelRepository.previewNutritionLabelForRecipe({\r\n recipeId: this.id,\r\n allergens: this.exportLabelState.checkedAllergens,\r\n nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n secondaryLanguage: this.exportLabelState.secondaryLanguage ? this.exportLabelState.secondaryLanguage.value : \"\",\r\n dietaryTypes: this.exportLabelState.dietary,\r\n ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n additionalContent: this.exportLabelState.mayContain,\r\n cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n containsLessThanPercentOfText: this.exportLabelState.containsLessThanPercentOf,\r\n headerTranslations: this.exportLabelState.headerLabelTranslations,\r\n nutritionLabelDownloadFileFormat: 0,\r\n labelWidth: 0,\r\n labelHeight: 0,\r\n freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n })\r\n .then((response) => {\r\n this.exportLabelState.labelPreview = response.data.result;\r\n this.exportLabelState.loading = false;\r\n this.exportLabelState.disableDownload = false;\r\n });\r\n }\r\n }\r\n\r\n loadFOPLabelCreator(){\r\n this.isFopDisplay = true;\r\n }\r\n\r\n loadBOPLabelCreator(){\r\n this.isFopDisplay = false;\r\n }\r\n\r\n fetchFreeTextFields() {\r\n if (this.exportLabelState.nutritionLabel) {\r\n NutritionLabelRepository.getFreeTextPlaceholdersForNutritionLabel(\r\n this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0\r\n )\r\n .then((response) => {\r\n if (response.data.result) {\r\n let freeTextPlaceholders = response.data.result.map((x: any) => {\r\n const freeTextPlaceholder = this.exportLabelState.freeTextPlaceholders.find(\r\n (y: any) => y.id == x.id\r\n );\r\n if (freeTextPlaceholder) {\r\n x.content = freeTextPlaceholder.content;\r\n }\r\n else if (this.exportLabelState.textPlaceholdersOfSavedLabel != null) {\r\n /*\r\n Check to see if the prevouosly saved label has a placeholder content,\r\n then populate the content of the placeholder with its value.\r\n Covers the scenario when the user has a saved label but shuffels through other ones.\r\n */\r\n const freeTextPlaceholder = this.exportLabelState.textPlaceholdersOfSavedLabel.find(\r\n (y: any) => y.id == x.id\r\n );\r\n if (freeTextPlaceholder) {\r\n x.content = freeTextPlaceholder.content;\r\n }\r\n }\r\n return x;\r\n });\r\n this.exportLabelState.freeTextPlaceholders = freeTextPlaceholders;\r\n this.fetchPreview();\r\n }\r\n })\r\n .catch(() => {\r\n this.$snotify.error(\"Something happened! :(\");\r\n });\r\n }\r\n }\r\n\r\n debouncedFetchPreview() {\r\n debounce(this.fetchPreview, 1000, \"export-label-fetch-preview\");\r\n }\r\n\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabel.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vExportLabel.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vExportLabel.vue?vue&type=template&id=254f0454&scoped=true\"\nimport script from \"./vExportLabel.vue?vue&type=script&lang=ts\"\nexport * from \"./vExportLabel.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vExportLabel.vue?vue&type=style&index=0&id=254f0454&prod&scoped=true&lang=css\"\nimport style1 from \"./vExportLabel.vue?vue&type=style&index=1&id=254f0454&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"254f0454\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}