{"version":3,"sources":["webpack:///./src/assets/Customer/assets/img/rec-cost.png","webpack:///./src/views/User/CreateRecipeCost.vue?5194","webpack:///./src/models/ListRequest.ts","webpack:///./src/utils/API/MeasurementRepository.ts","webpack:///./src/views/User/CreateRecipeCost.vue?b2a1","webpack:///./src/components/vAutocomplete.vue","webpack:///./src/components/vAutocomplete.vue?0e29","webpack:///./src/components/vAutocomplete.vue?e25f","webpack:///./src/components/vAutocomplete.vue?fd13","webpack:///./src/utils/API/RecipeCostRepository.ts","webpack:///./src/views/User/CreateRecipeCost.vue","webpack:///./src/views/User/CreateRecipeCost.vue?4cd4","webpack:///./src/views/User/CreateRecipeCost.vue?747a","webpack:///./src/views/User/CreateRecipeCost.vue?7c27","webpack:///./src/utils/API/RecipesRepository.ts","webpack:///./src/components/vAutocomplete.vue?1ad9","webpack:///./src/models/Measurement/MeasurementCategory.ts","webpack:///./src/utils/API/IngredientCostRepository.ts","webpack:///./src/models/Recipes/CaloriesCalculationMethod.ts","webpack:///./src/models/Recipes/Recipe.ts"],"names":["module","exports","OrderType","ListRequest","_createClass","listRequestOptions","restaurantId","_classCallCheck","_defineProperty","this","queryOptions","resource","listServingSizeMeasurements","Repository","get","concat","withCredentials","listMeasurementsForCategory","category","post","render","_vm","_c","_self","_setupProxy","staticClass","class","isOpen","staticStyle","directives","name","rawName","value","searchTerm","expression","attrs","placeholder","domProps","on","$event","type","indexOf","_k","keyCode","key","itemChosen","apply","arguments","down","up","esc","target","composing","change","onLeave","onEnter","_l","filteredItems","item","index","isActive","itemClicked","_v","_s","displayItem","staticRenderFns","vAutocomplete","_Vue","_this","_len","length","args","Array","_key","_callSuper","_inherits","_this2","matchingItem","items","find","x","valueProp","displayProp","fallbackDisplayProp","valueChanged","_this3","currentIndex","_this4","setTimeout","_this5","toLowerCase","$emit","selectedItem","bag","_this6","filter","sort","a","b","maxItems","slice","Vue","__decorate","Prop","Watch","Component","component","listRecipeCosts","listRequest","searchRecipesWithCosts","deleteRecipeCost","id","createRecipeCost","recipeCost","getRecipeCostDetails","recipeCostId","updateRecipeCost","listRecipeCostsForSubrecipes","recipeId","$store","getters","getUserDetails","require","translations","recipe","Math","round","servings","toFixed","preventDefault","openAddIngredientCostModal","recipeIngredientCosts","recipeIngredientCost","ingredient","quantity","measurement","ingredientCostVendorId","$$selectedVal","prototype","call","options","o","selected","map","val","_value","$set","multiple","vendors","vendor","ingredientCostId","getIngredientCostsForVendor","itemSelected","formatNumber","calculateCostForRecipeIngredientCost","weightInGrams","costPerGram","subRecipeCosts","subRecipeCost","recipeName","totalCost","totalRecipeCost","costPerYield","$router","push","params","$route","saveRecipeCost","addingIngredientCostModal","errors","has","ingredientCost","first","_e","vendorId","openAddVendorModal","chosenMeasurementName","ingredientCostMeasurements","openAddMeasurementModal","cost","saveIngredientCost","addingVendorModal","addingVendorName","saveIngredientCostVendor","addingMeasurementModal","newMeasurements","weight","removeMeasurementRow","addNewMeasurementRow","addNewMeasurement","vSelect2","RecipeCostComponent","Recipe","ingrCostIndex","allIngredientCosts","ingredientCostName","measurementWeightInGram","ingrCostPerGram","recIngrCost","number","$validator","validateAll","then","result","$snotify","async","Promise","success","reject","IngredientCostRepository","createIngredientCosts","loadAllIngredientCosts","body","catch","error","getErrorMessage","closeOnClick","timeout","splice","getEmptyIngredientCost","reqData","page","pageSize","filters","orders","listIngredientCost","res","data","loadMeasurementsForIngredientCost","measurements","response","shift","getEmptyMeasurment","ingrCost","measurementNames","includes","_this7","createIngredientCostVendor","loadIngredientCostVendors","_this8","listIngredientCostVendors","valid","i","_this9","allIngredinsValid","recipeIngrCosts","recipeIngredientId","RecipeCostRepository","date","notification","massMeasurements","_toConsumableArray","_this10","RecipesRepository","getRecipeDetails","parseInt","nutritionAnalysis","mapNutritions","ingredients","_this11","subrecipeId","recipeCostServings","searchable","searchString","sortable","total","parseFloat","totalPerYield","localizationState","_this12","dispatch","TRANSLATIONS_FETCH","collections","document","title","errorMessages","userVisibleMessage","MeasurementRepository","MeasurementCategory","Mass","conversionCoeficient","components","vBreadcrumbs","vModal","computed","_objectSpread","mapState","state","LocalizationModule","createRecipeCategory","listRecipeCategories","deleteRecipeCategory","listRecipes","createRecipe","deleteRecipe","udateRecipe","updateRecipe","searchSubRecipes","searchRecipes","renameCategory","updateCategory","moveRecipesToCategory","filterRecipesNames","recipesSearchTerm","recipeSearchTerm","calculate","recCalc","copyRecipe","saveRecipeLabel","getRecipeLabel","deleteRecipes","listRestaurantRecipesAsLookups","listCookingMethods","listFoodGroupClasses","listFoodGroupSubClasses","updateRecipeFoodClassifications","updateRecipeServingSize","updateCaloriesCalculationMethod","hasRecipeWithIngredientsFromSpecificDatabase","nutrientSource","listRecipesThatUseIngredient","ingredientId","getRecipeCompositionMeasurements","ingredientCosts","updateIngredientCost","deleteIngredientCost","uploadIngredientCosts","formData","CaloriesCalculationMethod","undefined","RecipeServingType","Servings","item1","item2","Nutritions","Summation","DailyValueCalculationMethod","Rounded"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B,6B,6DCA3C,W,kjCCCO,IAAKC,E,oEAAZ,SAAYA,GACRA,IAAA,gBAAKA,IAAA,kBADT,CAAYA,MAAS,KAEpB,IAqBoBC,EAAWC,GAI9B,SAAAD,EAAYE,EAAwCC,GAAqBC,EAAA,KAAAJ,GAAAK,EAAA,4BAAAA,EAAA,4BACvEC,KAAKC,aAAeL,EACpBI,KAAKH,aAAeA,M,kCC9BxB,gBAGMK,EAAW,gBAEF,QACXC,4BAA2B,WACvB,OAAOC,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,gCAAgC,CAAEK,iBAAiB,KAExFC,4BAA2B,SAACC,GACxB,OAAOL,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,gCAAgC,CAAEO,SAAUA,GAAY,CAAEF,iBAAiB,O,oCCVrH,W,kCCAA,IAAII,EAAS,WAAkB,IAAIC,EAAIZ,KAAKa,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAOL,EAAIM,QAAQC,YAAY,CAAC,SAAW,aAAa,CAACN,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIY,WAAYC,WAAW,eAAeT,YAAY,eAAeU,MAAM,CAAC,KAAO,OAAO,YAAcd,EAAIe,aAAaC,SAAS,CAAC,MAAShB,EAAIY,YAAaK,GAAG,CAAC,QAAU,CAAC,SAASC,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQpB,EAAIqB,GAAGH,EAAOI,QAAQ,QAAQ,GAAGJ,EAAOK,IAAI,SAAgB,KAAYvB,EAAIwB,WAAWC,MAAM,KAAMC,YAAY,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQpB,EAAIqB,GAAGH,EAAOI,QAAQ,OAAO,GAAGJ,EAAOK,IAAI,CAAC,OAAO,cAAqB,KAAYvB,EAAI2B,KAAKF,MAAM,KAAMC,YAAY,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQpB,EAAIqB,GAAGH,EAAOI,QAAQ,KAAK,GAAGJ,EAAOK,IAAI,CAAC,KAAK,YAAmB,KAAYvB,EAAI4B,GAAGH,MAAM,KAAMC,YAAY,SAASR,GAAQ,OAAIA,EAAOC,KAAKC,QAAQ,QAAQpB,EAAIqB,GAAGH,EAAOI,QAAQ,MAAM,GAAGJ,EAAOK,IAAI,CAAC,MAAM,WAAkB,KAAYvB,EAAI6B,IAAIJ,MAAM,KAAMC,aAAa,MAAQ,CAAC,SAASR,GAAWA,EAAOY,OAAOC,YAAiB/B,EAAIY,WAAWM,EAAOY,OAAOnB,QAAOX,EAAIgC,QAAQ,KAAOhC,EAAIiC,QAAQ,MAAQjC,EAAIkC,WAAWjC,EAAG,KAAK,CAACG,YAAY,gBAAgBG,YAAY,CAAC,MAAQ,OAAO,aAAa,UAAUP,EAAImC,GAAInC,EAAIoC,eAAe,SAASC,EAAKC,GAAO,OAAOrC,EAAG,KAAK,CAACsB,IAAIe,EAAMjC,MAAM,CAAC,OAAUL,EAAIuC,SAASD,IAAQrB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlB,EAAIwC,YAAYF,MAAU,CAACrC,EAAG,IAAI,CAACM,YAAY,CAAC,OAAS,YAAY,CAACP,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAI2C,YAAYN,YAAc,MAEriDO,EAAkB,G,+lECEP,IAAMC,EAAa,SAAAC,GAAA,SAAAD,IAAA,IAAAE,EAAA7D,EAAA,KAAA2D,GAAA,QAAAG,EAAAtB,UAAAuB,OAAAC,EAAA,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAAF,EAAAE,GAAA1B,UAAA0B,GAaT,OAbSL,EAAAM,EAAA,KAAAR,EAAA,GAAAnD,OAAAwD,IAAA/D,EAAA4D,EAAA,gBAAA5D,EAAA4D,EAAA,gBAAA5D,EAAA4D,EAAA,sBAAA5D,EAAA4D,EAAA,8BAAA5D,EAAA4D,EAAA,oBAAA5D,EAAA4D,EAAA,cAAA5D,EAAA4D,EAAA,sBAAA5D,EAAA4D,EAAA,mBAAA5D,EAAA4D,EAAA,eAUT,GAAC5D,EAAA4D,EAAA,UAEN,GAAK5D,EAAA4D,EAAA,aACF,IAAEA,EAAA,OAAAO,EAAAT,EAAAC,GAAA/D,EAAA8D,EAAA,EAAAtB,IAAA,eAAAZ,MAGvB,WAAY,IAAA4C,EAAA,KACV,GAAInE,KAAKuB,MAAO,CACd,IAAI6C,EAAepE,KAAKqE,MAAMC,MAE5B,SAACC,GAAC,OAAKA,EAAEJ,EAAKK,aAAeL,EAAK5C,SAGlCvB,KAAKwB,WADH4C,EACgBA,EAAapE,KAAKyE,aAGlB,QAIhBzE,KAAK0E,oBACP1E,KAAKwB,WAAaxB,KAAK0E,oBAGvB1E,KAAKwB,WAAa,KAGvB,CAAAW,IAAA,eAAAZ,MAGD,WACEvB,KAAK2E,iBACN,CAAAxC,IAAA,UAAAZ,MAED,WACEvB,KAAK2E,iBACN,CAAAxC,IAAA,eAAAZ,MAED,WAAY,IAAAqD,EAAA,KAEV,OAAO5E,KAAKqE,MAAMC,MAAK,SAACC,GAAC,OAAKA,EAAEK,EAAKJ,aAAeI,EAAKrD,WAC1D,CAAAY,IAAA,SAAAZ,MAED,WACqB,GAAfvB,KAAKkB,SACPlB,KAAKkB,QAAS,EACdlB,KAAK6E,aAAe,KAEvB,CAAA1C,IAAA,KAAAZ,MAED,WACEvB,KAAK6E,eACD7E,KAAK6E,aAAe,IACtB7E,KAAK6E,aAAe,KAEvB,CAAA1C,IAAA,OAAAZ,MAED,WACEvB,KAAK6E,eACD7E,KAAK6E,aAAe7E,KAAKgD,cAAca,OAAS,IAClD7D,KAAK6E,aAAe7E,KAAKgD,cAAca,OAAS,KAEnD,CAAA1B,IAAA,MAAAZ,MAED,WACEvB,KAAKkB,QAAS,IACf,CAAAiB,IAAA,UAAAZ,MAED,WAAO,IAAAuD,EAAA,KACLC,YAAW,WACLD,EAAK9B,cAAca,OAAS,IAC9BiB,EAAK5D,QAAS,KAEf,OACJ,CAAAiB,IAAA,UAAAZ,MAED,WAAO,IAAAyD,EAAA,KACLD,YAAW,WACT,IAAIX,EAAeY,EAAKX,MAAMC,MAE5B,SAACC,GAAC,OAAKA,EAAES,EAAKP,aAAaQ,gBAAkBD,EAAKxD,WAAWyD,iBAG3Db,EAEAA,EAAaY,EAAKP,aAAaQ,gBAC/BD,EAAKxD,WAAWyD,eAEhBD,EAAKE,MAAM,eAAgBd,EAAaY,EAAKR,aAI/CQ,EAAKE,MAAM,eAAgB,MACvBF,EAAKN,oBACPM,EAAKxD,WAAawD,EAAKN,oBAGvBM,EAAKxD,WAAa,IAItBwD,EAAK9D,QAAS,IAEb,OACJ,CAAAiB,IAAA,aAAAZ,MAED,WACE,GAAIvB,KAAKgD,cAAca,OAAS,EAAG,CACjC,IAAIO,EAAepE,KAAKgD,cAAchD,KAAK6E,cACvCT,GACFpE,KAAKwB,WAAa4C,EAAapE,KAAKyE,aACpCzE,KAAKkF,MAAM,eAAgBd,EAAapE,KAAKwE,cAGzCxE,KAAK0E,oBACP1E,KAAKwB,WAAaxB,KAAK0E,oBAGvB1E,KAAKwB,WAAa,GAEpBxB,KAAKkF,MAAM,eAAgB,YAI7BlF,KAAKwB,WAAa,GAClBxB,KAAKkF,MAAM,eAAgB,MAG7BlF,KAAKkF,MAAM,eAAgBlF,KAAKmF,eAAgBnF,KAAKoF,KACrDpF,KAAKkB,QAAS,IACf,CAAAiB,IAAA,cAAAZ,MAED,SAAY2B,GACVlD,KAAK6E,aAAe3B,EACpBlD,KAAKoC,eACN,CAAAD,IAAA,WAAAZ,MAED,SAAS2B,GACP,OAAOA,IAAUlD,KAAK6E,eACvB,CAAA1C,IAAA,cAAAZ,MAED,SAAY0B,GACV,OAAOA,EAAKjD,KAAKyE,eAClB,CAAAtC,IAAA,gBAAA9B,IAED,WAAiB,IAAAgF,EAAA,KAEXrC,EAAgBhD,KAAKqE,MAAMiB,QAAO,SAACf,GACrC,OACEA,EAAEc,EAAKZ,aACJQ,cACAjD,QAAQqD,EAAK7D,WAAWyD,gBAAkB,KAajD,OATAjC,EAAgBA,EAAcuC,MAAK,SAACC,EAAGC,GACrC,OAAID,EAAEnE,KAAOoE,EAAEpE,MACL,EAENmE,EAAEnE,KAAOoE,EAAEpE,KACN,EAEF,KAEe,MAAjBrB,KAAK0F,SACR1C,EAAc2C,MAAM,EAAG3F,KAAK0F,UAC5B1C,MAhL0B,CAAS4C,QACjCC,eAAA,CAAPC,kB,4BACOD,eAAA,CAAPC,kB,4BACOD,eAAA,CAAPC,kB,kCACOD,eAAA,CAAPC,kB,0CACOD,eAAA,CAAPC,kB,gCACOD,eAAA,CAAPC,kB,0BACOD,eAAA,CAAPC,kB,kCACOD,eAAA,CAAPC,kB,+BAQDD,eAAA,CADCE,eAAM,U,iCAyBPF,eAAA,CADCE,eAAM,U,iCAvCYtC,EAAaoC,eAAA,CADjCG,QACoBvC,WCJkX,I,wBCQnYwC,EAAY,eACd,EACAtF,EACA6C,GACA,EACA,KACA,KACA,MAIa,OAAAyC,E,6CClBf,gBAKM/F,EAAW,eAEF,QACbgG,gBAAe,SAACC,GACd,OAAO/F,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,oBAAoBiG,EAAa,CAAE5F,iBAAiB,KAExF6F,uBAAsB,SAAC5E,GACrB,OAAOpB,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,2BAA2B,CAAEsB,cAAc,CAAEjB,iBAAiB,KAElG8F,iBAAgB,SAACC,GACf,OAAOlG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,qBAAqB,CAAEoG,GAAIA,GAAM,CAAE/F,iBAAiB,KAExFgG,iBAAgB,SAACC,GACf,OAAOpG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,qBAAqBsG,EAAY,CAAEjG,iBAAiB,KAExFkG,qBAAoB,SAACC,GACnB,OAAOtG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyB,CAAEwG,gBAAgB,CAAEnG,iBAAiB,KAElGoG,iBAAgB,SAACH,GACf,OAAOpG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,qBAAqBsG,EAAY,CAAEjG,iBAAiB,KAExFqG,6BAA4B,SAACC,GAC3B,OAAOzG,OAAWC,IAAG,GAAAC,OAAoDJ,EAAQ,qCAAAI,OAAoCuG,GAAY,CAAEtG,iBAAiB,O,yCC5BxJ,IAAII,EAAS,WAAkB,IAAIC,EAAIZ,KAAKa,EAAGD,EAAIE,MAAMD,GAAUD,EAAIE,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,eAAe,CAACa,MAAM,CAAC,eAAed,EAAIkG,OAAOC,QAAQC,kBAAkBnG,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAACH,EAAG,MAAM,CAACG,YAAY,OAAO,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,2BAA2BG,YAAY,CAAC,MAAQ,QAAQO,MAAM,CAAC,IAAMuF,EAAQ,QAAiD,IAAM,8BAA8BrG,EAAIyC,GAAG,iBAAiBzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,8BAA8B,mBAAmBQ,EAAG,QAAQ,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,+CAA+CQ,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAACH,EAAG,MAAM,CAACG,YAAY,qCAAqC,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,IAAI,CAACG,YAAY,aAAaG,YAAY,CAAC,YAAY,OAAO,gBAAgB,QAAQ,CAACN,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,SAAS,CAACP,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,wBAAwB,OAAOQ,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,SAAS,CAACP,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIuG,OAAO9F,WAAWR,EAAG,IAAI,CAACG,YAAY,aAAaG,YAAY,CAAC,cAAc,QAAQ,YAAY,OAAO,gBAAgB,QAAQ,CAACN,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,SAAS,CAACP,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,0BAA0B,OAAOQ,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,SAAS,CAACP,EAAIyC,GAAGzC,EAAI0C,IAAI8D,KAAKC,MAA4B,IAAtBzG,EAAIuG,OAAOG,UAAkB,KAAKC,QAAQ,eAAe1G,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAACH,EAAG,MAAM,CAACG,YAAY,qCAAqC,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,KAAK,CAACG,YAAY,cAAc,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,sBAAsBQ,EAAG,IAAI,CAACG,YAAY,aAAaG,YAAY,CAAC,eAAe,OAAO,OAAS,UAAU,aAAa,QAAQ,gBAAgB,QAAQ,MAAQ,qBAAqB,QAAU,KAAKU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAI6G,2BAA2BpF,MAAM,KAAMC,cAAc,CAAC1B,EAAIyC,GAAG,KAAKzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,+BAA+BQ,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,OAAO,CAACH,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,QAAQ,CAACG,YAAY,SAAS,CAACH,EAAG,QAAQ,CAACM,YAAY,CAAC,mBAAmB,YAAY,CAACN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACD,EAAIyC,GAAG,2BAA2BzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,6BAA6B,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAG,2BAA2BzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,gCAAgC,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAG,2BAA2BzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,8BAA8B,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,8BAA8BQ,EAAG,KAAK,CAACD,EAAIyC,GAAG,2BAA2BzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,+BAA+B,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,gCAAgCQ,EAAG,QAAQ,CAACD,EAAImC,GAAInC,EAAI8G,uBAAuB,SAASC,GAAsB,OAAO9G,EAAG,KAAK,CAACsB,IAAI,aAAewF,EAAqBC,WAAWtB,IAAI,CAACzF,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAGqE,EAAqBE,aAAahH,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAGqE,EAAqBG,YAAYzG,SAASR,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAGqE,EAAqBC,WAAWvG,SAASR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOoG,EAAqBI,uBAAwBtG,WAAW,gDAAgDT,YAAY,eAAeG,YAAY,CAAC,MAAQ,MAAM,QAAU,gBAAgBU,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIkG,EAAgBjE,MAAMkE,UAAU3C,OAAO4C,KAAKpG,EAAOY,OAAOyF,SAAQ,SAASC,GAAG,OAAOA,EAAEC,YAAWC,KAAI,SAASF,GAAG,IAAIG,EAAM,WAAYH,EAAIA,EAAEI,OAASJ,EAAE7G,MAAM,OAAOgH,KAAO3H,EAAI6H,KAAKd,EAAsB,yBAA0B7F,EAAOY,OAAOgG,SAAWV,EAAgBA,EAAc,OAAOpH,EAAImC,GAAInC,EAAI+H,SAAS,SAASC,GAAQ,OAAO/H,EAAG,SAAS,CAACsB,IAAI,SAAWyG,EAAOtC,GAAG1E,SAAS,CAAC,MAAQgH,EAAOtC,KAAK,CAAC1F,EAAIyC,GAAG,+BAA+BzC,EAAI0C,GAAGsF,EAAOvH,MAAM,mCAAkC,KAAKR,EAAG,KAAK,CAACA,EAAG,gBAAgB,CAACa,MAAM,CAAC,MAAQiG,EAAqBkB,iBAAiB,YAAc,kCAAkC,eAAe,OAAO,aAAa,KAAK,IAAMlB,EAAqB,MAAQ/G,EAAIkI,4BACjyInB,EAAqBI,yBACpBlG,GAAG,CAAC,eAAe,SAASC,GAAQ,OAAOlB,EAAI6H,KAAKd,EAAsB,mBAAoB7F,IAAS,aAAelB,EAAImI,iBAAiB,GAAGlI,EAAG,KAAK,CAACA,EAAG,OAAO,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoI,aACvLpI,EAAIqI,qCACFtB,EAAqBE,SACrBF,EAAqBG,YAAYoB,cACjCvB,EAAqBwB,yBAEbvI,EAAImC,GAAInC,EAAIwI,gBAAgB,SAASC,GAAe,OAAOxI,EAAG,KAAK,CAACsB,IAAI,aAAekH,EAAc/C,IAAI,CAACzF,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG+F,EAAc/B,aAAazG,EAAG,KAAK,CAACM,YAAY,CAAC,iBAAiB,cAAc,CAACP,EAAIyC,GAAG,2BAA2BzC,EAAI0C,GAAG+F,EAAc/B,SAAW,EAC5R1G,EAAIsG,aAAa7G,IAAI,gBACrBO,EAAIsG,aAAa7G,IAAI,gBAAgB,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG+F,EAAcC,eAAezI,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACJ,EAAIyC,GAAG,6BAA6BzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,cAAc,gCAAgCQ,EAAG,MAAMA,EAAG,KAAK,CAACA,EAAG,OAAO,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG+F,EAAcE,UAAUhC,QAAQ,eAAc,WAAW1G,EAAG,MAAM,CAACG,YAAY,MAAMG,YAAY,CAAC,eAAe,OAAO,cAAc,OAAO,aAAa,QAAQ,WAAa,YAAY,CAACN,EAAG,MAAM,CAACG,YAAY,MAAMG,YAAY,CAAC,aAAa,QAAQ,eAAe,SAAS,CAACN,EAAG,IAAI,CAACM,YAAY,CAAC,YAAY,OAAO,eAAe,OAAO,aAAa,SAAS,CAACP,EAAIyC,GAAG,mBAAmBzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,wBAAwB,qBAAqBQ,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,QAAQS,SAAS,CAAC,UAAYhB,EAAI0C,GAAG1C,EAAI4I,wBAAwB3I,EAAG,IAAI,CAACM,YAAY,CAAC,YAAY,OAAO,eAAe,SAAS,CAACP,EAAIyC,GAAG,mBAAmBzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,yBAAyB,qBAAqBQ,EAAG,OAAO,CAACM,YAAY,CAAC,cAAc,QAAQS,SAAS,CAAC,UAAYhB,EAAI0C,GAAG1C,EAAI6I,uBAAuB5I,EAAG,MAAMA,EAAG,MAAM,CAACG,YAAY,OAAO,CAACH,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,IAAI,CAACM,YAAY,CAAC,aAAa,OAAO,MAAQ,UAAU,OAAS,UAAU,cAAc,QAAQU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAI8I,QAAQC,KAAK,CAC14CtI,KAAM,cACNuI,OAAQ,CAAEtD,GAAI,GAAFhG,OAAKM,EAAIiJ,OAAOD,OAAOtD,UAC/B,CAACzF,EAAG,IAAI,CAACG,YAAY,qBAAqBJ,EAAIyC,GAAG,mBAAmBzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,uBAAuB,sBAAsBQ,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,OAAO,CAACG,YAAY,gCAAgCG,YAAY,CAAC,gBAAgB,SAAS,CAACN,EAAG,SAAS,CAACG,YAAY,kBAAkBG,YAAY,CAAC,eAAe,QAAQU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAIkJ,eAAezH,MAAM,KAAMC,cAAc,CAAC1B,EAAIyC,GAAG,qBAAqBzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,2BAA2B,gCAAgCQ,EAAG,SAAS,CAACa,MAAM,CAAC,KAAOd,EAAImJ,0BAA0B7I,OAAO,cAAcN,EAAIsG,aAAa7G,IAAI,6BAA6B,KAAO,KAAKwB,GAAG,CAAC,YAAc,SAASC,GAAQlB,EAAImJ,0BAA0B7I,QAAS,KAAS,CAACL,EAAG,OAAO,CAACa,MAAM,CAAC,gBAAgB,mBAAmB,CAACb,EAAG,QAAQ,CAACG,YAAY,SAAS,CAACH,EAAG,QAAQ,CAACM,YAAY,CAAC,mBAAmB,UAAU,aAAa,SAAS,CAACN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,4BAA4BQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,8BAA8BQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,gCAAgCQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,mCAAmCQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,gCAAgCQ,EAAG,QAAQ,CAACM,YAAY,CAAC,aAAa,SAAS,CAACN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CACj9C,YAAaL,EAAIoJ,OAAOC,IACtB,uCAED,CAACpJ,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIsJ,eAAe7I,KAAMI,WAAW,uBAAuB,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,WAAYE,WAAW,eAAeT,YAAY,eAAeU,MAAM,CAAC,YAAcd,EAAIsG,aAAa7G,IAAI,wBAAwB,KAAO,qBAAqB,aAAaO,EAAIsG,aAAa7G,IAAI,yBAAyBuB,SAAS,CAAC,MAAShB,EAAIsJ,eAAe7I,MAAOQ,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,WAAiB/B,EAAI6H,KAAK7H,EAAIsJ,eAAgB,OAAQpI,EAAOY,OAAOnB,WAAYX,EAAIoJ,OAAOC,IAAI,qCAAsCpJ,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,yCAAyCvJ,EAAIwJ,SAASvJ,EAAG,KAAK,CAACA,EAAG,SAAS,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIsJ,eAAeG,SAAU5I,WAAW,4BAA4BT,YAAY,eAAeG,YAAY,CAAC,QAAU,gBAAgBU,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIkG,EAAgBjE,MAAMkE,UAAU3C,OAAO4C,KAAKpG,EAAOY,OAAOyF,SAAQ,SAASC,GAAG,OAAOA,EAAEC,YAAWC,KAAI,SAASF,GAAG,IAAIG,EAAM,WAAYH,EAAIA,EAAEI,OAASJ,EAAE7G,MAAM,OAAOgH,KAAO3H,EAAI6H,KAAK7H,EAAIsJ,eAAgB,WAAYpI,EAAOY,OAAOgG,SAAWV,EAAgBA,EAAc,OAAOpH,EAAImC,GAAInC,EAAI+H,SAAS,SAASC,GAAQ,OAAO/H,EAAG,SAAS,CAACsB,IAAI,SAAWyG,EAAOtC,GAAG1E,SAAS,CAAC,MAAQgH,EAAOtC,KAAK,CAAC1F,EAAIyC,GAAG,yBAAyBzC,EAAI0C,GAAGsF,EAAOvH,MAAM,6BAA4B,GAAGR,EAAG,IAAI,CAACM,YAAY,CAAC,SAAW,WAAW,aAAa,OAAO,cAAc,OAAOO,MAAM,CAAC,MAAQ,gBAAgBG,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAI0J,mBAAmBjI,MAAM,KAAMC,cAAc,CAACzB,EAAG,IAAI,CAACG,YAAY,aAAaG,YAAY,CAAC,MAAQ,UAAU,YAAY,cAAcN,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CACnzD,YAAaL,EAAIoJ,OAAOC,IACtB,2CAED,CAACpJ,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIsJ,eAAerC,SAAUpG,WAAW,2BAA2B,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,mBAAoBE,WAAW,uBAAuBT,YAAY,eAAeU,MAAM,CAAC,YAAcd,EAAIsG,aAAa7G,IAAI,4BAA4B,KAAO,yBAAyB,aAAaO,EAAIsG,aAAa7G,IAAI,6BAA6BuB,SAAS,CAAC,MAAShB,EAAIsJ,eAAerC,UAAWhG,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,WAAiB/B,EAAI6H,KAAK7H,EAAIsJ,eAAgB,WAAYpI,EAAOY,OAAOnB,WAAYX,EAAIoJ,OAAOC,IAAI,yCAA0CpJ,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,6CAA6CvJ,EAAIwJ,SAASvJ,EAAG,KAAK,CAACA,EAAG,SAAS,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIsJ,eAAeK,sBAAuB9I,WAAW,yCAAyCT,YAAY,eAAeG,YAAY,CAAC,MAAQ,MAAM,QAAU,gBAAgBU,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIkG,EAAgBjE,MAAMkE,UAAU3C,OAAO4C,KAAKpG,EAAOY,OAAOyF,SAAQ,SAASC,GAAG,OAAOA,EAAEC,YAAWC,KAAI,SAASF,GAAG,IAAIG,EAAM,WAAYH,EAAIA,EAAEI,OAASJ,EAAE7G,MAAM,OAAOgH,KAAO3H,EAAI6H,KAAK7H,EAAIsJ,eAAgB,wBAAyBpI,EAAOY,OAAOgG,SAAWV,EAAgBA,EAAc,OAAOpH,EAAImC,GAAInC,EAAIsJ,eAAeM,4BAA4B,SAAS1C,GAAa,OAAOjH,EAAG,SAAS,CAACsB,IAAI,cAAgB2F,EAAYxB,GAAG1E,SAAS,CAAC,MAAQkG,EAAYzG,OAAO,CAACT,EAAIyC,GAAG,yBAAyBzC,EAAI0C,GAAGwE,EAAYzG,MAAM,6BAA4B,GAAGR,EAAG,IAAI,CAACM,YAAY,CAAC,SAAW,WAAW,aAAa,OAAO,cAAc,OAAOO,MAAM,CAAC,MAAQ,mBAAmBG,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAI6J,wBAAwBpI,MAAM,KAAMC,cAAc,CAACzB,EAAG,IAAI,CAACG,YAAY,aAAaG,YAAY,CAAC,MAAQ,UAAU,YAAY,cAAcN,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CACj+D,YAAaL,EAAIoJ,OAAOC,IACtB,uCAED,CAACpJ,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIsJ,eAAeQ,KAAMjJ,WAAW,uBAAuB,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,mBAAoBE,WAAW,uBAAuBT,YAAY,eAAeU,MAAM,CAAC,YAAcd,EAAIsG,aAAa7G,IAAI,wBAAwB,KAAO,qBAAqB,aAAaO,EAAIsG,aAAa7G,IAAI,yBAAyBuB,SAAS,CAAC,MAAShB,EAAIsJ,eAAeQ,MAAO7I,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,WAAiB/B,EAAI6H,KAAK7H,EAAIsJ,eAAgB,OAAQpI,EAAOY,OAAOnB,WAAYX,EAAIoJ,OAAOC,IAAI,qCAAsCpJ,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,yCAAyCvJ,EAAIwJ,iBAAiBvJ,EAAG,SAAS,CAACG,YAAY,6BAA6BG,YAAY,CAAC,aAAa,QAAQU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAI+J,mBAAmBtI,MAAM,KAAMC,cAAc,CAAC1B,EAAIyC,GAAG,aAAazC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,6BAA6B,gBAAgBQ,EAAG,SAAS,CAACa,MAAM,CAAC,KAAOd,EAAIgK,kBAAkB1J,OAAO,cAAcN,EAAIsG,aAAa7G,IAAI,oCAAoC,KAAO,KAAKwB,GAAG,CAAC,YAAc,SAASC,GAAQlB,EAAIgK,kBAAkB1J,QAAS,KAAS,CAACL,EAAG,OAAO,CAACa,MAAM,CAAC,gBAAgB,WAAW,CAACb,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CAAE,YAAaL,EAAIoJ,OAAOC,IAAI,uBAAwB,CAACpJ,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOX,EAAIiK,iBAAkBpJ,WAAW,oBAAoB,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,WAAYE,WAAW,eAAeT,YAAY,eAAeU,MAAM,CAAC,KAAO,aAAa,YAAcd,EAAIsG,aAAa7G,IAAI,0BAA0B,aAAaO,EAAIsG,aAAa7G,IAAI,2BAA2BuB,SAAS,CAAC,MAAShB,EAAIiK,kBAAmBhJ,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,YAAiB/B,EAAIiK,iBAAiB/I,EAAOY,OAAOnB,WAAWX,EAAIoJ,OAAOC,IAAI,qBAAsBpJ,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,yBAAyBvJ,EAAIwJ,SAASvJ,EAAG,SAAS,CAACG,YAAY,6BAA6BG,YAAY,CAAC,aAAa,QAAQU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAIkK,yBAAyBzI,MAAM,KAAMC,cAAc,CAAC1B,EAAIyC,GAAG,aAAazC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,oCAAoC,gBAAgBQ,EAAG,SAAS,CAACa,MAAM,CAAC,KAAOd,EAAImK,uBAAuB7J,OAAO,cAAcN,EAAIsG,aAAa7G,IAAI,qCAAqC,KAAO,KAAKwB,GAAG,CAAC,YAAc,SAASC,GAAQlB,EAAImK,uBAAuB7J,QAAS,KAAS,CAACL,EAAG,OAAO,CAACM,YAAY,CAAC,aAAa,QAAQ,SAAW,QAAQO,MAAM,CAAC,gBAAgB,gBAAgB,CAACb,EAAG,QAAQ,CAACG,YAAY,SAAS,CAACH,EAAG,QAAQ,CAACM,YAAY,CAAC,mBAAmB,UAAU,aAAa,SAAS,CAACN,EAAG,KAAK,CAACA,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,mCAAmCQ,EAAG,KAAK,CAACD,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,8BAA8BQ,EAAG,MAAMA,EAAG,UAAUA,EAAG,QAAQ,CAACM,YAAY,CAAC,aAAa,WAAWP,EAAImC,GAAInC,EAAImK,uBAAuBC,iBAAiB,SAASlD,EAAY5E,GAAO,OAAOrC,EAAG,KAAK,CAACsB,IAAI,mBAAqBe,GAAO,CAACrC,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CAC7tG,YAAaL,EAAIoJ,OAAOC,IACtB,8BAAgC/G,KAEjC,CAACrC,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOuG,EAAYzG,KAAMI,WAAW,oBAAoB,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,WAAYE,WAAW,eAAeT,YAAY,eAAeU,MAAM,CAAC,YAAcd,EAAIsG,aAAa7G,IAAI,+BAA+B,KAAO,kBAAoB6C,EAAM,aAAatC,EAAIsG,aAAa7G,IAAI,gCAAgCuB,SAAS,CAAC,MAASkG,EAAYzG,MAAOQ,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,WAAiB/B,EAAI6H,KAAKX,EAAa,OAAQhG,EAAOY,OAAOnB,WAAYX,EAAIoJ,OAAOC,IAAI,8BAAgC/G,GAAQrC,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,8BAAgCjH,OAAWtC,EAAIwJ,SAASvJ,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,yCAAyCC,MAAM,CAC7yB,YAAaL,EAAIoJ,OAAOC,IACtB,gCAAkC/G,KAEnC,CAACrC,EAAG,QAAQ,CAACO,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOuG,EAAYmD,OAAQxJ,WAAW,sBAAsB,CAACJ,KAAK,WAAWC,QAAQ,aAAaC,MAAO,mBAAoBE,WAAW,uBAAuBT,YAAY,eAAeU,MAAM,CAAC,KAAO,oBAAsBwB,EAAM,aAAatC,EAAIsG,aAAa7G,IAAI,2BAA2BuB,SAAS,CAAC,MAASkG,EAAYmD,QAASpJ,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOY,OAAOC,WAAiB/B,EAAI6H,KAAKX,EAAa,SAAUhG,EAAOY,OAAOnB,WAAYX,EAAIoJ,OAAOC,IAAI,gCAAkC/G,GAAQrC,EAAG,OAAO,CAACG,YAAY,gBAAgB,CAACJ,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIoJ,OAAOG,MAAM,gCAAkCjH,OAAWtC,EAAIwJ,SAASvJ,EAAG,KAAK,CAACA,EAAG,IAAI,CAACa,MAAM,CAAC,KAAO,IAAI,MAAQ,sBAAsBG,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAIsK,qBAAqBhI,MAAU,CAACrC,EAAG,IAAI,CAACG,YAAY,cAAcG,YAAY,CAAC,MAAQ,UAAU,YAAY,OAAO,aAAa,aAC17B+B,IAAUtC,EAAImK,uBAAuBC,gBAAgBnH,OAAS,EAC9DhD,EAAG,KAAK,CAACA,EAAG,IAAI,CAACa,MAAM,CAAC,KAAO,IAAI,MAAQ,eAAeG,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAIuK,qBAAqB9I,MAAM,KAAMC,cAAc,CAACzB,EAAG,IAAI,CAACG,YAAY,oBAAoBG,YAAY,CAAC,MAAQ,UAAU,YAAY,OAAO,aAAa,aAAaP,EAAIwJ,UAAS,OAAOvJ,EAAG,SAAS,CAACG,YAAY,6BAA6BG,YAAY,CAAC,aAAa,QAAQU,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAO0F,iBAAwB5G,EAAIwK,kBAAkB/I,MAAM,KAAMC,cAAc,CAAC1B,EAAIyC,GAAG,aAAazC,EAAI0C,GAAG1C,EAAIsG,aAAa7G,IAAI,mCAAmC,iBAAiB,MAEzmBmD,EAAkB,G,oiHCpBtB,IAAM6H,EAAW,WAAH,OAAS,iDAsBjBC,EAAmB,SAAA5H,GAAA,SAAA4H,IAAA,IAAA3H,EAAA7D,EAAA,KAAAwL,GAAA,QAAA1H,EAAAtB,UAAAuB,OAAAC,EAAA,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAAF,EAAAE,GAAA1B,UAAA0B,GA4BtB,OA5BsBL,EAAAM,EAAA,KAAAqH,EAAA,GAAAhL,OAAAwD,IAAA/D,EAAA4D,EAAA,4BAAA5D,EAAA4D,EAAA,SAGN,IAAI4H,QAAQxL,EAAA4D,EAAA,wBACE,IAAE5D,EAAA4D,EAAA,iBACT,IAAE5D,EAAA4D,EAAA,kBAEU,IAAE5D,EAAA4D,EAAA,iBAChB,IAAE5D,EAAA4D,EAAA,qBACI,IAAE5D,EAAA4D,EAAA,4BAAA5D,EAAA4D,EAAA,mBAEJ,IAAE5D,EAAA4D,EAAA,UACX,IAAE5D,EAAA4D,EAAA,mBACQ,IAAE5D,EAAA4D,EAAA,4BAED,CAC1BzC,QAAQ,IACTnB,EAAA4D,EAAA,oBAEmB,CAClBzC,QAAQ,IACTnB,EAAA4D,EAAA,yBAEkD,CACjDkF,iBAAkB,KAClB3H,QAAQ,EACR8J,gBAAiB,GACjBQ,eAAgB,IACjB7H,EAAA,OAAAO,EAAAoH,EAAA5H,GAAA/D,EAAA2L,EAAA,EAAAnJ,IAAA,eAAAZ,MAED,SAAa2I,EAAqBvC,GAC5BA,EAAqBkB,mBACvBqB,EAAiBlK,KAAKyL,mBAAmBnH,MACvC,SAACC,GAAC,OAAKA,EAAE+B,IAAMqB,EAAqBkB,oBAElCqB,GACFvC,EAAqB+D,mBAAqBxB,EAAe7I,KACzDsG,EAAqBwB,YAAce,EAAef,cAGlDxB,EAAqB+D,mBAAqB,GAC1C/D,EAAqBwB,YAAc,MAKzC,CAAAhH,IAAA,uCAAAZ,MACA,SACEsG,EACA8D,EACAC,GAEA,OAAO/D,EAAW8D,EAA0BC,IAC7C,CAAAzJ,IAAA,uCAAAZ,MAED,SAAqCsK,GACJ7L,KAAK8I,4BAClC+C,EAAY9D,wBAEd8D,EAAYhD,iBAAmB,KAC/BgD,EAAY1C,YAAc,IAC3B,CAAAhH,IAAA,eAAAZ,MAED,SAAauK,GACX,OAAQ1E,KAAKC,MAAe,IAATyE,GAAgB,KAAKvE,QAAQ,KAGlD,CAAApF,IAAA,qBAAAZ,MACA,WAAkB,IAAA4C,EAAA,KAChBnE,KAAK+L,WAAWC,YAAY,kBAAkBC,MAAK,SAACC,GAC9CA,GAEF/H,EAAKgI,SAASC,MACZjI,EAAK+C,aAAa7G,IAAI,sBACtB,kBACE,IAAIgM,SAAQ,SAACC,EAASC,GACpBC,OAAyBC,sBAAsB,CAC7CtI,EAAK+F,iBAEJ+B,MAAK,WACJ9H,EAAK4F,0BAA0B7I,QAAS,EACxCiD,EAAKuI,yBACLJ,EAAQ,CACNK,KAAMxI,EAAK+C,aAAa7G,IAAI,+BAG/BuM,OAAM,SAACC,GACNN,EAAO,CACLI,KAAMG,eAAgBD,EAAO1I,EAAK+C,wBAI5C,CAAE6F,cAAc,EAAMC,QAAS,YAMvC,CAAA7K,IAAA,uBAAAZ,MACA,SAAqB2B,GAAU,IAAA0B,EAAA,KAC7B5E,KAAK+K,uBAAuBC,gBAAgBiC,OAAO/J,EAAO,GAC1D6B,YAAW,WACTH,EAAKmH,WAAWC,YAAY,iBAC3B,OAGL,CAAA7J,IAAA,6BAAAZ,MACA,WACEvB,KAAKkK,eAAiBlK,KAAKkN,yBAC3BlN,KAAK+J,0BAA0B7I,QAAS,IACzC,CAAAiB,IAAA,yBAAAZ,MAED,WAAsB,IAAAuD,EAAA,KAChBqI,EAAU,IAAIzN,OAAY,CAC5B0N,KAAM,EACNC,SAAU,KACVC,QAAS,GACTC,OAAQ,KAEVf,OAAyBgB,mBAAmBL,GAASlB,MACnD,SAACwB,GACC3I,EAAK2G,mBAAqBgC,EAAIC,KAAKxB,UAErC,iBAIJ,CAAA/J,IAAA,0BAAAZ,MACA,WAAuB,IAAAyD,EAAA,KACrBhF,KAAK+K,uBAAuBC,gBAAgBnH,OAAS,EACrD7D,KAAK+K,uBAAuB7J,QAAS,EAErClB,KAAKmM,SAASC,MACZpM,KAAKkH,aAAa7G,IAAI,sBACtB,kBACE,IAAIgM,SAAQ,SAACC,EAASC,GACpBC,OAAyBmB,kCAAkC,CACzDrH,GAAI,KACJjF,KAAM2D,EAAKkF,eAAe7I,KAC1BuM,aAAc5I,EAAKkF,eAAeM,6BAEjCyB,MAAK,SAAC4B,GACDA,EAASH,KAAKxB,QAAU2B,EAASH,KAAKxB,OAAOrI,OAAS,GACxDmB,EAAK+F,uBAAuBC,gBAAgB8C,QAG9CD,EAASH,KAAKxB,OAAO5D,KAAI,SAAC/D,GACxBS,EAAK+F,uBAAuBC,gBAAgBrB,KAAK,CAE/CtI,KAAMkD,EAAElD,KAER4J,QAAS7D,KAAKC,MAAwB,IAAlB9C,EAAE2E,eAAuB,KAAK3B,QAAQ,QAG9D+E,EAAQ,CACNK,KAAM3H,EAAKkC,aAAa7G,IAAI,+BAG/BuM,OAAM,SAACC,GACNN,EAAO,CACLI,KAAMG,eAAgBD,EAAO7H,EAAKkC,wBAI5C,CACE8F,QAAS,IACTD,cAAc,IAKlB/M,KAAK+K,uBAAuBC,gBAAgBrB,KAAK3J,KAAK+N,wBAGxD,CAAA5L,IAAA,qBAAAZ,MACA,WACEvB,KAAK4K,kBAAkB1J,QAAS,IAGlC,CAAAiB,IAAA,oBAAAZ,MACA,WAAiB,IAAA8D,EAAA,KACfrF,KAAK+L,WAAWC,YAAY,eAAeC,MAAK,SAACC,GAC/C,GAAIA,EAAQ,CAEV,IAAI8B,EAAW3I,EAAK6E,eAEhB+D,EAAmBD,EAASxD,2BAA2BlC,KAEzD,SAAC/D,GAAC,OAAKA,EAAElD,QAEXgE,EAAK0F,uBAAuBC,gBAAgB1C,KAAI,SAAC/D,GAU/C,OARK0J,EAAiBC,SAAS3J,EAAElD,OAC/B2M,EAASxD,2BAA2Bb,KAAK,CAEvCtI,KAAMkD,EAAElD,KAER6H,cAAe3E,EAAE0G,SAGd1G,KAETc,EAAK0F,uBAAuB7J,QAAS,QAK3C,CAAAiB,IAAA,2BAAAZ,MACA,WAAwB,IAAA4M,EAAA,KACtBnO,KAAK+L,WAAWC,YAAY,UAAUC,MAAK,SAACC,GACtCA,GAEFiC,EAAKhC,SAASC,MACZ+B,EAAKjH,aAAa7G,IAAI,sBACtB,kBACE,IAAIgM,SAAQ,SAACC,EAASC,GACpBC,OAAyB4B,2BACvBD,EAAKtD,kBAEJoB,MAAK,WACJkC,EAAKvD,kBAAkB1J,QAAS,EAChCiN,EAAKE,4BACLF,EAAKtD,iBAAmB,GACxByB,EAAQ,CACNK,KAAMwB,EAAKjH,aAAa7G,IAAI,iCAG/BuM,OAAM,SAACC,GACNN,EAAO,CACLI,KAAMG,eAAgBD,EAAOsB,EAAKjH,wBAI5C,CACE8F,QAAS,KACTD,cAAc,SAOxB,CAAA5K,IAAA,uBAAAZ,MACA,WAEEvB,KAAK+K,uBAAuBC,gBAAgBrB,KAAK3J,KAAK+N,wBAGxD,CAAA5L,IAAA,4BAAAZ,MACA,WAAyB,IAAA+M,EAAA,KACvB9B,OAAyB+B,4BACtBtC,MAAK,SAAC4B,GACL,IAAIlF,EAAUkF,EAASH,KAAKxB,OAAO5D,KAAI,SAAC/D,GACtC,MAAO,CACL+B,GAAI/B,EAAE+B,GACNjF,KAAMkD,EAAElD,SAGZiN,EAAK3F,QAAUA,KAEhBiE,OAAM,SAACC,GACNyB,EAAKnC,SAASU,MAAMC,eAAgBD,EAAOyB,EAAKpH,oBAErD,CAAA/E,IAAA,oBAAAZ,MAED,WAEE,IADA,IAAIiN,GAAQ,EACHC,EAAI,EAAGA,EAAIzO,KAAK0H,sBAAsB7D,OAAQ4K,IACC,MAAlDzO,KAAK0H,sBAAsB+G,GAAG5F,mBAChC2F,GAAQ,GAGZ,OAAOA,IAGT,CAAArM,IAAA,iBAAAZ,MACA,WAAc,IAAAmN,EAAA,KACP1O,KAAK2O,oBAQV3O,KAAKmM,SAASC,MACZpM,KAAKkH,aAAa7G,IAAI,sBACtB,kBACE,IAAIgM,SAAQ,SAACC,EAASC,GACpB,IAAIqC,EAAkBF,EAAKhH,sBAAsBY,KAAI,SAAC/D,GACpD,MAAO,CACLsE,iBAAkBtE,EAAEsE,iBACpBgG,mBAAoBtK,EAAEsK,uBAG1BC,OAAqBvI,iBAAiB,CAEpCM,SAAU6H,EAAKvH,OAAOb,GACtBoB,sBAAuBkH,IAGtB3C,MAAK,SAAC4B,GACLa,EAAKhF,QAAQC,KAAK,CAChBtI,KAAM,mBACNuI,OAAQ,CAAEtD,GAAIuH,EAASH,KAAKxB,UAE9BI,EAAQ,CACNK,KAAM+B,EAAKxH,aAAa7G,IAAI,8BAI/BuM,OAAM,SAACC,GACNN,EAAO,CACLI,KAAMG,eAAgBD,EAAO6B,EAAKxH,wBAI5C,CAAE6F,cAAc,EAAMC,QAAS,OAvC/BhN,KAAKmM,SAASU,MACZ7M,KAAKkH,aAAa7G,IAAI,uCA0C5B,CAAA8B,IAAA,qBAAAZ,MACA,WACE,MAAO,CACLF,KAAM,GACNqJ,KAAM,EACNqE,KAAM,GACNC,aAAc,MAIlB,CAAA7M,IAAA,qBAAAZ,MACA,WACE,MAAO,CACLF,KAAM,GACN4J,OAAQ,QAIZ,CAAA9I,IAAA,yBAAAZ,MACA,WACE,MAAO,CACLF,KAAM,GACNgJ,SAAUrK,KAAK2I,QAAQ9E,OAAS,EAAI7D,KAAK2I,QAAQ,GAAGrC,GAAK,KACzDuB,SAAU,EACV0C,sBACEvK,KAAKiP,iBAAiBpL,OAAS,EAAI7D,KAAKiP,iBAAiB,GAAG5N,KAAO,KACrEmJ,2BAA0B0E,EAAMlP,KAAKiP,kBACrCvE,KAAM,KAIV,CAAAvI,IAAA,mBAAAZ,MACA,WAAgB,IAAA4N,EAAA,KACdC,OAAkBC,iBAAiBC,SAAStP,KAAK6J,OAAOD,OAAOtD,KAC5D2F,MAAK,SAAC4B,GACLsB,EAAKhI,OAAS0G,EAASH,KAAKxB,OAC5BiD,EAAKhI,OAAOoI,kBAAoBC,eAC9BL,EAAKhI,OAAOoI,mBAEdJ,EAAKzH,sBAAwByH,EAAKhI,OAAOsI,YAAYnH,KAAI,SAAC/D,GAExD,IAAIwD,EACFoH,EAAKxG,QAAQ9E,OAAS,EAAIsL,EAAKxG,QAAQ,GAAGrC,GAAK,KACjD,MAAO,CACLuI,mBAAoBtK,EAAE+B,GACtBuC,iBAAkB,KAClB6C,mBAAoB,GACpB3D,uBAAwBA,EACxBoB,YAAa,EACbvB,WAAYrD,EAAEqD,WACdE,YAAavD,EAAEuD,YACfD,SAAUtD,EAAEsD,aAIhBsH,EAAKvI,kCAENgG,OAAM,SAACC,GACNsC,EAAKhD,SAASU,MAAMC,eAAgBD,EAAOsC,EAAKjI,oBAItD,CAAA/E,IAAA,+BAAAZ,MACA,WAA4B,IAAAmO,EAAA,KAC1BZ,OAAqBlI,6BACnB0I,SAAStP,KAAK6J,OAAOD,OAAOtD,KAE3B2F,MAAK,SAAC4B,GACDA,EAASH,KAAKxB,OAAOrI,OAAS,IAChC6L,EAAKtG,eAAiByE,EAASH,KAAKxB,OAAO5D,KAAI,SAAC/D,GAC9C,MAAO,CACL+B,GAAI/B,EAAEoL,YACNrG,WAAY/E,EAAE+E,WACdhC,SAAU/C,EAAEqL,mBACZrG,UAAWhF,EAAEgF,kBAKpBqD,OAAM,SAACC,GACN6C,EAAKvD,SAASU,MAAMC,eAAgBD,EAAO6C,EAAKxI,oBAErD,CAAA/E,IAAA,8BAAAZ,MAED,SAA4B8I,GAC1B,OAAOrK,KAAKyL,mBAAmBnG,QAAO,SAACf,GAAC,OAAKA,EAAE8F,UAAYA,OAG7D,CAAAlI,IAAA,eAAA9B,IACA,WACE,MAAO,CACL,CACEgB,KAAMrB,KAAKkH,aAAa7G,IAAI,4BAC5B8B,IAAK,WACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,GAEZ,CACE1O,KAAMrB,KAAKkH,aAAa7G,IAAI,+BAC5B8B,IAAK,cACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,GAEZ,CACE1O,KAAMrB,KAAKkH,aAAa7G,IAAI,uBAC5B8B,IAAK,aACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,GAEZ,CACE1O,KAAMrB,KAAKkH,aAAa7G,IAAI,0BAC5B8B,IAAK,SACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,GAEZ,CACE1O,KAAMrB,KAAKkH,aAAa7G,IAAI,8BAC5B8B,IAAK,mBACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,GAEZ,CACE1O,KAAMrB,KAAKkH,aAAa7G,IAAI,wBAC5B8B,IAAK,OACL0N,YAAY,EACZC,aAAc,GACdC,UAAU,MAGf,CAAA5N,IAAA,kBAAAZ,MAED,WAEE,IADA,IAAIyO,EAAQ,EACHvB,EAAI,EAAGA,EAAIzO,KAAK0H,sBAAsB7D,OAAQ4K,IACrDuB,GAAShQ,KAAKiJ,qCACZjJ,KAAK0H,sBAAsB+G,GAAG5G,SAC9B7H,KAAK0H,sBAAsB+G,GAAG3G,YAAYoB,cAC1ClJ,KAAK0H,sBAAsB+G,GAAGtF,aAGlC,IAAK,IAAIsF,EAAI,EAAGA,EAAIzO,KAAKoJ,eAAevF,OAAQ4K,IAC9CuB,GAAShQ,KAAKoJ,eAAeqF,GAAGlF,UAElC,OAAQnC,KAAKC,MAAc,IAAR2I,GAAe,KAAKzI,QAAQ,KAChD,CAAApF,IAAA,eAAA9B,IAED,WACE,IAAI2P,EAAQC,WAAWjQ,KAAKwJ,mBACxB0G,EAAgBF,EAAQhQ,KAAKmH,OAAOG,SACxC,OAAO4I,EAAc3I,QAAQ,KAC9B,CAAApF,IAAA,eAAA9B,IAED,WACE,OAAOL,KAAKmQ,kBAAkBjJ,eAC/B,CAAA/E,IAAA,UAAAZ,MAED,WAAO,IAAA6O,EAAA,KACLpQ,KAAK8G,OACFuJ,SAASC,OAAoB,CAC5B7P,SAAU,QACV8P,YAAa,CACX,SACA,cACA,kBACA,oBAGHtE,MAAK,WACJuE,SAASC,MACPL,EAAKlJ,aAAa7G,IAAI,mBACtB,IACA+P,EAAKlJ,aAAa7G,IAAI,yBAEzBuM,OAAM,SAACC,GACFA,EAAMgB,SACRuC,EAAKjE,SAASU,MACZA,EAAMgB,SAASH,KAAKgD,cAAc,GAAGC,oBAIvCP,EAAKjE,SAASU,MAAMuD,EAAKlJ,aAAa7G,IAAI,4BAGhDL,KAAK0M,yBACL1M,KAAKqO,4BACLrO,KAAKqP,mBAELuB,OAAsBpQ,4BAA4BqQ,OAAoBC,MACnE7E,MAAK,SAAC4B,GACL,IAAID,EAAeC,EAASH,KAAKxB,OAAO5D,KAAI,SAAC/D,GAC3C,MAAO,CACL+B,GAAI/B,EAAE+B,GACNjF,KAAMkD,EAAElD,KACR6H,cAAe3E,EAAEwM,yBAGrBX,EAAKnB,iBAAmBrB,KAEzBhB,OAAM,SAACC,GACNuD,EAAKjE,SAASU,MAAMC,eAAgBD,EAAOuD,EAAKlJ,sBA7gB/B,CAAStB,QAA5B0F,EAAmBzF,eAAA,CAbxBG,eAAU,CACTgL,WAAY,CACVC,oBACAC,cACA7F,WACA5H,sBAEF0N,SAAQC,EAAA,GACHC,eAAS,CACVlB,kBAAmB,SAACmB,GAAU,OAAKA,EAAMC,0BAIzCjG,GAihBSA,QCxjB6Y,I,kCCSxZrF,EAAY,eACd,EACAtF,EACA6C,GACA,EACA,KACA,WACA,MAIa,aAAAyC,E,2CCpBf,gBAiBM/F,EAAW,WAEF,QACXsR,qBAAoB,SAACA,GACjB,OAAOpR,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyBsR,EAAsB,CAAEjR,iBAAiB,KAExGkR,qBAAoB,WAChB,OAAOrR,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,yBAAyB,CAAEK,iBAAiB,KAEjFmR,qBAAoB,SAACA,GACjB,OAAOtR,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyBwR,EAAsB,CAAEnR,iBAAiB,KAExGoR,YAAW,SAACxL,GACR,OAAO/F,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,gBAAgBiG,EAAa,CAAE5F,iBAAiB,KAEtF8O,iBAAgB,SAAC/I,GACf,OAAOlG,OAAWM,KAAI,GAAAJ,OACjBJ,EAAQ,qBACX,CAAE2G,SAAUP,GACZ,CAAE/F,iBAAiB,KAGvBqR,aAAY,SAACA,GACT,OAAOxR,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,iBAAiB0R,EAAc,CAAErR,iBAAiB,KAExFsR,aAAY,SAACvL,GACT,OAAOlG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,iBAAiB,CAAE2G,SAAUP,GAAM,CAAE/F,iBAAiB,KAE5FuR,YAAW,SAACC,GACR,OAAO3R,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,iBAAiB6R,EAAc,CAAExR,iBAAiB,KAExFyR,iBAAgB,SAACA,GACb,OAAO5R,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,qBAAqB8R,EAAkB,CAAEzR,iBAAiB,KAEhG0R,cAAa,SAACA,GACV,OAAO7R,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,kBAAkB+R,EAAe,CAAE1R,iBAAiB,KAK1F2R,eAAc,SAACC,GACX,OAAO/R,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyBiS,EAAgB,CAAE5R,iBAAiB,KAElG6R,sBAAqB,SAACA,GAClB,OAAOhS,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,gCAAgCkS,EAAuB,CAAE7R,iBAAiB,KAEhH8R,mBAAkB,SAACC,GACf,OAAOlS,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,uBAAuB,CAAEqS,iBAAkBD,GAAqB,CAAE/R,iBAAiB,KAEzHiS,UAAS,SAACC,GACN,OAAOrS,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,8BAA8BuS,EAAS,CAAElS,iBAAiB,KAEhGmS,WAAU,SAAChF,GACP,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,eAAewN,EAAM,CAAEnN,iBAAiB,KAE9EoS,gBAAe,SAACjF,GACZ,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,oBAAoBwN,EAAM,CAAEnN,iBAAiB,KAEnFqS,eAAc,SAAClF,GACX,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,mBAAmBwN,EAAM,CAAEnN,iBAAiB,KAElFsS,cAAa,SAACnF,GACV,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,kBAAkBwN,EAAM,CAAEnN,iBAAiB,KAEjFuS,+BAA8B,SAACjT,GAC3B,OAAOO,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,iDAAAI,OAAgDT,GAAgB,CAAEU,iBAAiB,KAExHwS,mBAAkB,WACd,OAAO3S,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,uBAAuB,CAAEK,iBAAiB,KAE/EyS,qBAAoB,WAChB,OAAO5S,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,yBAAyB,CAAEK,iBAAiB,KAEjF0S,wBAAuB,SAACvF,GACpB,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,4BAA4BwN,EAAM,CAAEnN,iBAAiB,KAE3F2S,gCAA+B,SAACxF,GAC5B,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,oCAAoCwN,EAAM,CAAEnN,iBAAiB,KAEnG4S,wBAAuB,SAACzF,GACpB,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,4BAA4BwN,EAAM,CAAEnN,iBAAiB,KAE3F6S,gCAA+B,SAAC1F,GAC5B,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,6BAA6BwN,EAAM,CAAEnN,iBAAiB,KAE5F8S,6CAA4C,SAACC,GACzC,OAAOlT,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,iDAAiD,CAAEoT,eAAgBA,GAAkB,CAAE/S,iBAAiB,KAE9IgT,6BAA4B,SAACC,GACzB,OAAOpT,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,+CAAAI,OAA8CkT,GAAgB,CAAEjT,iBAAiB,KAEtHkT,iCAAgC,WAC5B,OAAOrT,OAAWC,IAAG,GAAAC,OAChBJ,EAAQ,qCACX,CAAEK,iBAAiB,O,kCC/G7B,W,kCCAO,IAAKsQ,EAAZ,2CAAYA,GACVA,IAAA,kBACAA,IAAA,0BACAA,IAAA,sBACAA,IAAA,qBAJF,CAAYA,MAAmB,M,yDCA/B,gBAIM3Q,EAAW,mBAEF,QACXsN,mBAAkB,SAACrH,GACf,OAAO/F,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,wBAAwBiG,EAAa,CAAE5F,iBAAiB,KAE9FgO,0BAAyB,WACrB,OAAOnO,OAAWC,IAAI,GAADC,OAAIJ,EAAQ,8BAA8B,CAAEK,iBAAiB,KAEtFkM,sBAAqB,SAACiH,GAClB,OAAOtT,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,0BAA0B,CAAEwT,gBAAiBA,GAAmB,CAAEnT,iBAAiB,KAEzH6N,2BAA0B,SAAC/M,GACvB,OAAOjB,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,+BAA+B,CAAEmB,KAAMA,GAAQ,CAAEd,iBAAiB,KAExGoT,qBAAoB,SAACzJ,GACjB,OAAO9J,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyBgK,EAAgB,CAAE3J,iBAAiB,KAElGqT,qBAAoB,SAACtN,GACjB,OAAOlG,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,yBAAyB,CAAEoG,GAAIA,GAAM,CAAE/F,iBAAiB,KAE9FsT,sBAAqB,SAACC,GAClB,OAAO1T,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,0BAA0B4T,EAAU,CAAEvT,iBAAiB,KAE7FoN,kCAAiC,SAACD,GAC9B,OAAOtN,OAAWM,KAAK,GAADJ,OAAIJ,EAAQ,sCAAsCwN,EAAM,CAAEnN,iBAAiB,O,+FC7B7FwT,E,yBAAZ,SAAYA,GACVA,IAAA,4BACAA,IAAA,6BAFF,CAAYA,MAAyB,K,giCCU9B,IAAMxI,EAAM5L,GAAA,SAAA4L,IAAAzL,EAAA,KAAAyL,GAAAxL,EAAA,UACJ,GAACA,EAAA,YACC,IAAEA,EAAA,mBACK,IAAEA,EAAA,oBACD,IAAEA,EAAA,uBACQ,MAAIA,EAAA,sBACG,CACtCuG,QAAI0N,EACJ3S,UAAM2S,IACPjU,EAAA,gCAEyC,MAAIA,EAAA,mBAEZ,IAAEA,EAAA,oBACR,IAAEA,EAAA,yBAESkU,OAAkBC,UAAQnU,EAAA,oBACnC,GAACA,EAAA,kDAAAA,EAAA,wCAAAA,EAAA,gBAGZ,GAACA,EAAA,+BAAAA,EAAA,6BAAAA,EAAA,gBAKM,MAAIA,EAAA,kBACA,MAAIA,EAAA,mBACZ,GAACA,EAAA,cAEN,GAACA,EAAA,wBACS,GAACA,EAAA,iBACR,GAACA,EAAA,2BACS,GAACA,EAAA,yBAAAA,EAAA,sBAAAA,EAAA,mCAAAA,EAAA,gCAAAA,EAAA,6CAOqD,CAClFoU,MAAO,IACPC,MAAO,MACRrU,EAAA,yBAEwC,IAAIsU,QAAYtU,EAAA,iCAEFgU,EAA0BO,WAASvU,EAAA,mCAC/BwU,OAA4BC,SAAOzU,EAAA,iBAErE,MAAIA,EAAA,iBACJ,MAAIA,EAAA,uBACI,MAAIA,EAAA,uBACJ","file":"js/chunk-76be4e58.6e96fe2c.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/rec-cost.ca5431c9.png\";","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!./CreateRecipeCost.vue?vue&type=style&index=1&id=46f91dec&prod&lang=css\"","\r\nexport enum OrderType {\r\n Asc, Desc,\r\n}\r\n\r\nexport interface Ordering {\r\n field: string;\r\n orderType: OrderType;\r\n}\r\n\r\nexport interface Filter {\r\n name: string;\r\n value: string;\r\n}\r\n\r\nexport interface ListRequestOptions {\r\n page?: number;\r\n pageSize?: number;\r\n filters?: Filter[];\r\n orders?: Ordering[];\r\n searchTerm?: string;\r\n\r\n}\r\n\r\nexport default class ListRequest {\r\n public queryOptions: ListRequestOptions;\r\n public restaurantId?: number;\r\n\r\n constructor(listRequestOptions: ListRequestOptions, restaurantId?: number) {\r\n this.queryOptions = listRequestOptions;\r\n this.restaurantId = restaurantId;\r\n }\r\n}\r\n","import Repository from './Repository';\r\nimport { MeasurementCategory } from '@/models/Measurement/MeasurementCategory';\r\n\r\nconst resource = '/Measurements';\r\n\r\nexport default {\r\n listServingSizeMeasurements() {\r\n return Repository.get(`${resource}/ListServingSizeMeasurements`, { withCredentials: true });\r\n },\r\n listMeasurementsForCategory(category: MeasurementCategory) {\r\n return Repository.post(`${resource}/ListMeasurementsForCategory`, { category: category }, { 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!./CreateRecipeCost.vue?vue&type=style&index=0&id=46f91dec&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"autocomplete\",class:{'open':_vm.isOpen},staticStyle:{\"position\":\"relative\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.searchTerm)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.itemChosen.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;return _vm.down.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;return _vm.up.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.esc.apply(null, arguments)}],\"input\":[function($event){if($event.target.composing)return;_vm.searchTerm=$event.target.value},_vm.change],\"blur\":_vm.onLeave,\"focus\":_vm.onEnter}}),_c('ul',{staticClass:\"dropdown-menu\",staticStyle:{\"width\":\"100%\",\"max-height\":\"280px\"}},_vm._l((_vm.filteredItems),function(item,index){return _c('li',{key:index,class:{'active': _vm.isActive(index)},on:{\"click\":function($event){return _vm.itemClicked(index)}}},[_c('a',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(_vm._s(_vm.displayItem(item)))])])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class vAutocomplete extends Vue {\r\n @Prop() value: any;\r\n @Prop() items: any;\r\n @Prop() displayProp: any;\r\n @Prop() fallbackDisplayProp: any;\r\n @Prop() valueProp: any;\r\n @Prop() bag: any;\r\n @Prop() placeholder!: string;\r\n @Prop() maxItems!: number;\r\n\r\n currentIndex: number = 0;\r\n\r\n isOpen: boolean = false;\r\n searchTerm: string = \"\";\r\n\r\n @Watch(\"value\")\r\n valueChanged() {\r\n if (this.value) {\r\n let matchingItem = this.items.find(\r\n // @ts-ignore\r\n (x) => x[this.valueProp] === this.value\r\n );\r\n if (matchingItem) {\r\n this.searchTerm = matchingItem[this.displayProp];\r\n }\r\n else {\r\n this.searchTerm = \"\";\r\n }\r\n }\r\n else {\r\n if (this.fallbackDisplayProp) {\r\n this.searchTerm = this.fallbackDisplayProp;\r\n }\r\n else {\r\n this.searchTerm = \"\";\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"items\")\r\n itemsChanged() {\r\n this.valueChanged();\r\n }\r\n\r\n created() {\r\n this.valueChanged();\r\n }\r\n\r\n selectedItem() {\r\n // @ts-ignore\r\n return this.items.find((x) => x[this.valueProp] === this.value);\r\n }\r\n\r\n change() {\r\n if (this.isOpen == false) {\r\n this.isOpen = true;\r\n this.currentIndex = 0;\r\n }\r\n }\r\n\r\n up() {\r\n this.currentIndex--;\r\n if (this.currentIndex < 0) {\r\n this.currentIndex = 0;\r\n }\r\n }\r\n\r\n down() {\r\n this.currentIndex++;\r\n if (this.currentIndex > this.filteredItems.length - 1) {\r\n this.currentIndex = this.filteredItems.length - 1;\r\n }\r\n }\r\n\r\n esc() {\r\n this.isOpen = false;\r\n }\r\n\r\n onEnter() {\r\n setTimeout(() => {\r\n if (this.filteredItems.length > 0) {\r\n this.isOpen = true;\r\n }\r\n }, 550);\r\n }\r\n\r\n onLeave() {\r\n setTimeout(() => {\r\n let matchingItem = this.items.find(\r\n // @ts-ignore\r\n (x) => x[this.displayProp].toLowerCase() === this.searchTerm.toLowerCase()\r\n );\r\n\r\n if (matchingItem) {\r\n if (\r\n matchingItem[this.displayProp].toLowerCase() !==\r\n this.searchTerm.toLowerCase()\r\n ) {\r\n this.$emit(\"update:value\", matchingItem[this.valueProp]);\r\n }\r\n }\r\n else {\r\n this.$emit(\"update:value\", null);\r\n if (this.fallbackDisplayProp) {\r\n this.searchTerm = this.fallbackDisplayProp;\r\n }\r\n else {\r\n this.searchTerm = \"\";\r\n }\r\n }\r\n\r\n this.isOpen = false;\r\n //this.$emit(\"itemSelected\", this.selectedItem(), this.bag);\r\n }, 500);\r\n }\r\n\r\n itemChosen() {\r\n if (this.filteredItems.length > 0) {\r\n let matchingItem = this.filteredItems[this.currentIndex];\r\n if (matchingItem) {\r\n this.searchTerm = matchingItem[this.displayProp];\r\n this.$emit(\"update:value\", matchingItem[this.valueProp]);\r\n }\r\n else {\r\n if (this.fallbackDisplayProp) {\r\n this.searchTerm = this.fallbackDisplayProp;\r\n }\r\n else {\r\n this.searchTerm = \"\";\r\n }\r\n this.$emit(\"update:value\", null);\r\n }\r\n }\r\n else {\r\n this.searchTerm = \"\";\r\n this.$emit(\"update:value\", null);\r\n }\r\n\r\n this.$emit(\"itemSelected\", this.selectedItem(), this.bag);\r\n this.isOpen = false;\r\n }\r\n\r\n itemClicked(index: number) {\r\n this.currentIndex = index;\r\n this.itemChosen();\r\n }\r\n\r\n isActive(index: number) {\r\n return index === this.currentIndex;\r\n }\r\n\r\n displayItem(item: any) {\r\n return item[this.displayProp];\r\n }\r\n\r\n get filteredItems() {\r\n // @ts-ignore\r\n let filteredItems = this.items.filter((x) => {\r\n return (\r\n x[this.displayProp]\r\n .toLowerCase()\r\n .indexOf(this.searchTerm.toLowerCase()) >= 0\r\n );\r\n });\r\n // @ts-ignore\r\n filteredItems = filteredItems.sort((a, b) => {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n return this.maxItems != null\r\n ? filteredItems.slice(0, this.maxItems)\r\n : filteredItems;\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!./vAutocomplete.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!./vAutocomplete.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vAutocomplete.vue?vue&type=template&id=64e79060\"\nimport script from \"./vAutocomplete.vue?vue&type=script&lang=ts\"\nexport * from \"./vAutocomplete.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vAutocomplete.vue?vue&type=style&index=0&id=64e79060&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","import { AxiosResponse } from 'axios';\r\nimport Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport { ListResult } from './ResultTypes/ListResult';\r\nimport { SubrecipeCost } from '@/models/RecipeCost/SubrecipeCost';\r\n\r\nconst resource = '/recipeCosts';\r\n\r\nexport default {\r\n listRecipeCosts(listRequest: ListRequest) {\r\n return Repository.post(`${resource}/ListRecipeCosts`, listRequest, { withCredentials: true });\r\n },\r\n searchRecipesWithCosts(searchTerm: string) {\r\n return Repository.post(`${resource}/SearchRecipesWithCosts`, { searchTerm }, { withCredentials: true });\r\n },\r\n deleteRecipeCost(id: number) {\r\n return Repository.post(`${resource}/DeleteRecipeCost`, { id: id }, { withCredentials: true });\r\n },\r\n createRecipeCost(recipeCost: any) {\r\n return Repository.post(`${resource}/CreateRecipeCost`, recipeCost, { withCredentials: true });\r\n },\r\n getRecipeCostDetails(recipeCostId: number) {\r\n return Repository.post(`${resource}/GetRecipeCostDetails`, { recipeCostId }, { withCredentials: true });\r\n },\r\n updateRecipeCost(recipeCost: any) {\r\n return Repository.post(`${resource}/UpdateRecipeCost`, recipeCost, { withCredentials: true });\r\n },\r\n listRecipeCostsForSubrecipes(recipeId: number) {\r\n return Repository.get>>(`${resource}/ListRecipeCostsForSubrecipes?id=${recipeId}`, { withCredentials: true });\r\n },\r\n};","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"page-content-wrapper\"},[_c('div',{staticClass:\"content\"},[_c('vBreadcrumbs',{attrs:{\"user-details\":_vm.$store.getters.getUserDetails}}),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h2',[_c('img',{staticClass:\"img-thumbnail img-circle\",staticStyle:{\"width\":\"75px\"},attrs:{\"src\":require(\"../../assets/Customer/assets/img/rec-cost.png\"),\"alt\":\"Recipe Costing Thumbnail\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-calculate-header\"))+\":\\n \"),_c('small',[_vm._v(_vm._s(_vm.translations.get(\"rec-cost-create-recipe-subtitle\")))])])])])]),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"card card-default brown lighten-5\"},[_c('div',{staticClass:\"card-header\"},[_c('p',{staticClass:\"card-title\",staticStyle:{\"font-size\":\"12px\",\"margin-bottom\":\"8px\"}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"rec-cost-table-name\"))+\":\")]),_c('span',{staticStyle:{\"margin-left\":\"10px\"}},[_vm._v(_vm._s(_vm.recipe.name))])]),_c('p',{staticClass:\"card-title\",staticStyle:{\"margin-left\":\"150px\",\"font-size\":\"12px\",\"margin-bottom\":\"8px\"}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"rec-cost-serving-size\"))+\":\")]),_c('span',{staticStyle:{\"margin-left\":\"10px\"}},[_vm._v(_vm._s((Math.round(_vm.recipe.servings * 100) / 100).toFixed(2)))])])])])]),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"card card-default brown lighten-5\"},[_c('div',{staticClass:\"card-header\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.translations.get(\"recipe-costing\")))]),_c('a',{staticClass:\"pull-right\",staticStyle:{\"margin-right\":\"21px\",\"cursor\":\"pointer\",\"margin-top\":\"-12px\",\"margin-bottom\":\"-10px\",\"color\":\"#0288d1 !important\",\"opacity\":\"1\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddIngredientCostModal.apply(null, arguments)}}},[_vm._v(\"+ \"+_vm._s(_vm.translations.get(\"rec-cost-add-ingr-btn\")))])]),_c('div',{staticClass:\"card-body no-pad-top\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\"}},[_c('tr',[_c('th',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-table-quantity\"))+\"\\n \")]),_c('th',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\"))+\"\\n \")]),_c('th',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-table-ingredient\"))+\"\\n \")]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-vendor\")))]),_c('th',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-table-search-ingr\"))+\"\\n \")]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-cost\")))])])]),_c('tbody',[_vm._l((_vm.recipeIngredientCosts),function(recipeIngredientCost){return _c('tr',{key:'ingredient' + recipeIngredientCost.ingredient.id},[_c('td',[_vm._v(_vm._s(recipeIngredientCost.quantity))]),_c('td',[_vm._v(_vm._s(recipeIngredientCost.measurement.name))]),_c('td',[_vm._v(_vm._s(recipeIngredientCost.ingredient.name))]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(recipeIngredientCost.ingredientCostVendorId),expression:\"recipeIngredientCost.ingredientCostVendorId\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"70%\",\"display\":\"inline-block\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(recipeIngredientCost, \"ingredientCostVendorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.vendors),function(vendor){return _c('option',{key:'vendor' + vendor.id,domProps:{\"value\":vendor.id}},[_vm._v(\"\\n \"+_vm._s(vendor.name)+\"\\n \")])}),0)]),_c('td',[_c('vAutocomplete',{attrs:{\"value\":recipeIngredientCost.ingredientCostId,\"placeholder\":'Enter ingredient search term...',\"display-prop\":'name',\"value-prop\":'id',\"bag\":recipeIngredientCost,\"items\":_vm.getIngredientCostsForVendor(\n recipeIngredientCost.ingredientCostVendorId\n )},on:{\"update:value\":function($event){return _vm.$set(recipeIngredientCost, \"ingredientCostId\", $event)},\"itemSelected\":_vm.itemSelected}})],1),_c('td',[_c('span',[_vm._v(_vm._s(_vm.formatNumber(\n _vm.calculateCostForRecipeIngredientCost(\n recipeIngredientCost.quantity,\n recipeIngredientCost.measurement.weightInGrams,\n recipeIngredientCost.costPerGram\n )\n )))])])])}),_vm._l((_vm.subRecipeCosts),function(subRecipeCost){return _c('tr',{key:'sub-recipe' + subRecipeCost.id},[_c('td',[_vm._v(_vm._s(subRecipeCost.servings))]),_c('td',{staticStyle:{\"text-transform\":\"lowercase\"}},[_vm._v(\"\\n \"+_vm._s(subRecipeCost.servings > 1\n ? _vm.translations.get(\"rec_servings\")\n : _vm.translations.get(\"rec_serving\"))+\"\\n \")]),_c('td',[_vm._v(_vm._s(subRecipeCost.recipeName))]),_c('td',[_c('div',{staticClass:\"recipe-db-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec_title\"))+\"\\n \")])]),_c('td'),_c('td',[_c('span',[_vm._v(_vm._s(subRecipeCost.totalCost.toFixed(2)))])])])})],2)])])])]),_c('div',{staticClass:\"row\",staticStyle:{\"margin-right\":\"20px\",\"margin-left\":\"20px\",\"margin-top\":\"-20px\",\"background\":\"#f5f5f5\"}},[_c('div',{staticClass:\"col\",staticStyle:{\"text-align\":\"right\",\"margin-right\":\"24px\"}},[_c('p',{staticStyle:{\"font-size\":\"16px\",\"margin-right\":\"24px\",\"margin-top\":\"12px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-total-cost\"))+\":\\n \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"},domProps:{\"innerHTML\":_vm._s(_vm.totalRecipeCost())}})]),_c('p',{staticStyle:{\"font-size\":\"16px\",\"margin-right\":\"24px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-total-yield\"))+\":\\n \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"},domProps:{\"innerHTML\":_vm._s(_vm.costPerYield)}})])])]),_c('br'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4\"},[_c('a',{staticStyle:{\"text-align\":\"left\",\"color\":\"#0288d1\",\"cursor\":\"pointer\",\"margin-left\":\"25px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$router.push({\n name: 'recipesEdit',\n params: { id: `${_vm.$route.params.id}` },\n })}}},[_c('i',{staticClass:\"fa fa-arrow-left\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-back-page\"))+\"\\n \")])]),_c('div',{staticClass:\"col-md-8 col-12\"},[_c('form',{staticClass:\"form-inline pull-right export\",staticStyle:{\"margin-bottom\":\"10px\"}},[_c('button',{staticClass:\"btn btn-primary\",staticStyle:{\"margin-right\":\"20px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.saveRecipeCost.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"rec-cost-calc-save-btn\"))+\"\\n \")])])])])])]),_c('vModal',{attrs:{\"show\":_vm.addingIngredientCostModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-add-modal-title'),\"size\":'l'},on:{\"cancelModal\":function($event){_vm.addingIngredientCostModal.isOpen = false}}},[_c('form',{attrs:{\"data-vv-scope\":\"ingredientCost\"}},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\",\"text-align\":\"left\"}},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-name\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-vendor\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-quantity\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-cost\")))])])]),_c('tbody',{staticStyle:{\"text-align\":\"left\"}},[_c('tr',[_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostName'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredientCost.name),expression:\"ingredientCost.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-name'),\"name\":'ingredientCostName',\"data-vv-as\":_vm.translations.get('ingr-cost-table-name')},domProps:{\"value\":(_vm.ingredientCost.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredientCost, \"name\", $event.target.value)}}}),(_vm.errors.has('ingredientCost.ingredientCostName'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"ingredientCost.ingredientCostName\")))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredientCost.vendorId),expression:\"ingredientCost.vendorId\"}],staticClass:\"form-control\",staticStyle:{\"display\":\"inline-block\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.ingredientCost, \"vendorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.vendors),function(vendor){return _c('option',{key:'vendor' + vendor.id,domProps:{\"value\":vendor.id}},[_vm._v(\"\\n \"+_vm._s(vendor.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Supplier\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddVendorModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostQuantity'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredientCost.quantity),expression:\"ingredientCost.quantity\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-quantity'),\"name\":'ingredientCostQuantity',\"data-vv-as\":_vm.translations.get('ingr-cost-table-quantity')},domProps:{\"value\":(_vm.ingredientCost.quantity)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredientCost, \"quantity\", $event.target.value)}}}),(_vm.errors.has('ingredientCost.ingredientCostQuantity'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"ingredientCost.ingredientCostQuantity\")))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredientCost.chosenMeasurementName),expression:\"ingredientCost.chosenMeasurementName\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"50%\",\"display\":\"inline-block\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.ingredientCost, \"chosenMeasurementName\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.ingredientCost.ingredientCostMeasurements),function(measurement){return _c('option',{key:'measurement' + measurement.id,domProps:{\"value\":measurement.name}},[_vm._v(\"\\n \"+_vm._s(measurement.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Measurement\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddMeasurementModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostCost'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredientCost.cost),expression:\"ingredientCost.cost\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-cost'),\"name\":'ingredientCostCost',\"data-vv-as\":_vm.translations.get('ingr-cost-table-cost')},domProps:{\"value\":(_vm.ingredientCost.cost)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredientCost, \"cost\", $event.target.value)}}}),(_vm.errors.has('ingredientCost.ingredientCostCost'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"ingredientCost.ingredientCostCost\")))]):_vm._e()])])])])])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.saveIngredientCost.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-save-modal-btn\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.addingVendorModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-add-vendor-modal-title'),\"size\":'s'},on:{\"cancelModal\":function($event){_vm.addingVendorModal.isOpen = false}}},[_c('form',{attrs:{\"data-vv-scope\":\"vendor\"}},[_c('div',{staticClass:\"form-group form-group-default required\",class:{ 'has-error': _vm.errors.has('vendor.vendorName') }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.addingVendorName),expression:\"addingVendorName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"name\":\"vendorName\",\"placeholder\":_vm.translations.get('ingr-cost-table-vendor'),\"data-vv-as\":_vm.translations.get('ingr-cost-table-vendor')},domProps:{\"value\":(_vm.addingVendorName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.addingVendorName=$event.target.value}}}),(_vm.errors.has('vendor.vendorName'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"vendor.vendorName\")))]):_vm._e()])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.saveIngredientCostVendor.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-save-vendor-modal-btn\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.addingMeasurementModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-measurement-modal-title'),\"size\":'m'},on:{\"cancelModal\":function($event){_vm.addingMeasurementModal.isOpen = false}}},[_c('form',{staticStyle:{\"max-height\":\"400px\",\"overflow\":\"auto\"},attrs:{\"data-vv-scope\":\"measurement\"}},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\",\"text-align\":\"left\"}},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-weight-grams\")))]),_c('th'),_c('th')])]),_c('tbody',{staticStyle:{\"text-align\":\"center\"}},_vm._l((_vm.addingMeasurementModal.newMeasurements),function(measurement,index){return _c('tr',{key:'new-measurement-' + index},[_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'measurement.measurementName' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(measurement.name),expression:\"measurement.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-measurement'),\"name\":'measurementName' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-table-measurement')},domProps:{\"value\":(measurement.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"name\", $event.target.value)}}}),(_vm.errors.has('measurement.measurementName' + index))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"measurement.measurementName\" + index)))]):_vm._e()])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'measurement.measurementWeight' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(measurement.weight),expression:\"measurement.weight\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"name\":'measurementWeight' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-weight-grams')},domProps:{\"value\":(measurement.weight)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"weight\", $event.target.value)}}}),(_vm.errors.has('measurement.measurementWeight' + index))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"measurement.measurementWeight\" + index)))]):_vm._e()])]),_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Delete Measurement\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeMeasurementRow(index)}}},[_c('i',{staticClass:\"fa fa-trash\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"20px\",\"margin-top\":\"6px\"}})])]),(\n index === _vm.addingMeasurementModal.newMeasurements.length - 1\n )?_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Add New Row\"},on:{\"click\":function($event){$event.preventDefault();return _vm.addNewMeasurementRow.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus-circle\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"20px\",\"margin-top\":\"6px\"}})])]):_vm._e()])}),0)])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.addNewMeasurement.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-add-measurement-save\"))+\"\\n \")])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport vBreadcrumbs from \"@/components/vBreadcrumbs.vue\";\r\nimport vModal from \"@/components/vModal.vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { TRANSLATIONS_FETCH } from \"@/store/ActionTypes\";\r\nimport ListRequest from \"@/models/ListRequest\";\r\nimport { getErrorMessage, mapNutritions } from \"@/utils/Helpers\";\r\nimport { IngredientCost } from \"@/models/IngredientCost/IngredientCost\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport RecipeCostRepository from \"@/utils/API/RecipeCostRepository\";\r\nimport { MeasurementCategory } from \"@/models/Measurement/MeasurementCategory\";\r\nimport IngredientCostRepository from \"@/utils/API/IngredientCostRepository\";\r\nimport MeasurementRepository from \"../../utils/API/MeasurementRepository\";\r\nimport RecipesRepository from \"@/utils/API/RecipesRepository\";\r\nimport vAutocomplete from \"@/components/vAutocomplete.vue\";\r\n\r\nconst vSelect2 = () => import(\"@/components/vSelect2.vue\");\r\n\r\ntype AddMeasurementModalModel = {\r\n ingredientCostId: number | null;\r\n isOpen: boolean;\r\n newMeasurements: any[];\r\n ingrCostIndex: number;\r\n};\r\n\r\n@Component({\r\n components: {\r\n vBreadcrumbs,\r\n vModal,\r\n vSelect2,\r\n vAutocomplete,\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nclass RecipeCostComponent extends Vue {\r\n localizationState: any;\r\n\r\n recipe: Recipe = new Recipe();\r\n recipeIngredientCosts: any[] = [];\r\n subRecipeCosts: any[] = [];\r\n\r\n ingredientCosts: IngredientCost[] = [];\r\n ingredientCost: any = {};\r\n allIngredientCosts: any[] = [];\r\n newIngredientCost: any;\r\n massMeasurements: any[] = [];\r\n vendors: any[] = [];\r\n addingVendorName: string = \"\";\r\n\r\n addingIngredientCostModal = {\r\n isOpen: false,\r\n };\r\n\r\n addingVendorModal = {\r\n isOpen: false,\r\n };\r\n\r\n addingMeasurementModal: AddMeasurementModalModel = {\r\n ingredientCostId: null,\r\n isOpen: false,\r\n newMeasurements: [],\r\n ingrCostIndex: -1,\r\n };\r\n\r\n itemSelected(ingredientCost: any, recipeIngredientCost: any) {\r\n if (recipeIngredientCost.ingredientCostId) {\r\n ingredientCost = this.allIngredientCosts.find(\r\n (x) => x.id == recipeIngredientCost.ingredientCostId\r\n );\r\n if (ingredientCost) {\r\n recipeIngredientCost.ingredientCostName = ingredientCost.name;\r\n recipeIngredientCost.costPerGram = ingredientCost.costPerGram;\r\n }\r\n else {\r\n recipeIngredientCost.ingredientCostName = \"\";\r\n recipeIngredientCost.costPerGram = 0;\r\n }\r\n }\r\n }\r\n\r\n // Calculate cost for recipe ingredient cost\r\n calculateCostForRecipeIngredientCost(\r\n quantity: number,\r\n measurementWeightInGram: number,\r\n ingrCostPerGram: number\r\n ) {\r\n return quantity * measurementWeightInGram * ingrCostPerGram;\r\n }\r\n\r\n vendorForRecipeIngredientCostChanged(recIngrCost: any) {\r\n let ingredientCostsForVendor = this.getIngredientCostsForVendor(\r\n recIngrCost.ingredientCostVendorId\r\n );\r\n recIngrCost.ingredientCostId = null;\r\n recIngrCost.costPerGram = 0;\r\n }\r\n\r\n formatNumber(number: number) {\r\n return (Math.round(number * 100) / 100).toFixed(2);\r\n }\r\n\r\n // Save ingredient cost button modal\r\n saveIngredientCost() {\r\n this.$validator.validateAll(\"ingredientCost\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.createIngredientCosts([\r\n this.ingredientCost,\r\n ])\r\n .then(() => {\r\n this.addingIngredientCostModal.isOpen = false;\r\n this.loadAllIngredientCosts();\r\n success({\r\n body: this.translations.get(\"ingr-cost-save-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n { closeOnClick: true, timeout: 3500 }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // Remove measurement row\r\n removeMeasurementRow(index: any) {\r\n this.addingMeasurementModal.newMeasurements.splice(index, 1);\r\n setTimeout(() => {\r\n this.$validator.validateAll(\"measurement\");\r\n }, 300);\r\n }\r\n\r\n // Open Add ingredient cost modal\r\n openAddIngredientCostModal() {\r\n this.ingredientCost = this.getEmptyIngredientCost();\r\n this.addingIngredientCostModal.isOpen = true;\r\n }\r\n\r\n loadAllIngredientCosts() {\r\n let reqData = new ListRequest({\r\n page: 1,\r\n pageSize: 9999,\r\n filters: [],\r\n orders: [],\r\n });\r\n IngredientCostRepository.listIngredientCost(reqData).then(\r\n (res) => {\r\n this.allIngredientCosts = res.data.result;\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n // Open Add measurement modal\r\n openAddMeasurementModal() {\r\n this.addingMeasurementModal.newMeasurements.length = 0;\r\n this.addingMeasurementModal.isOpen = true;\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.loadMeasurementsForIngredientCost({\r\n id: null,\r\n name: this.ingredientCost.name,\r\n measurements: this.ingredientCost.ingredientCostMeasurements,\r\n })\r\n .then((response) => {\r\n if (response.data.result && response.data.result.length > 0) {\r\n this.addingMeasurementModal.newMeasurements.shift();\r\n }\r\n // @ts-ignore\r\n response.data.result.map((x) => {\r\n this.addingMeasurementModal.newMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weight: (Math.round(x.weightInGrams * 100) / 100).toFixed(2),\r\n });\r\n });\r\n success({\r\n body: this.translations.get(\"ingr-cost-save-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 1000,\r\n closeOnClick: true,\r\n }\r\n );\r\n\r\n // @ts-ignore\r\n this.addingMeasurementModal.newMeasurements.push(this.getEmptyMeasurment());\r\n }\r\n\r\n // Open Add vendor modal\r\n openAddVendorModal() {\r\n this.addingVendorModal.isOpen = true;\r\n }\r\n\r\n // Add new measurement\r\n addNewMeasurement() {\r\n this.$validator.validateAll(\"measurement\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n let ingrCost = this.ingredientCost;\r\n // @ts-ignore\r\n let measurementNames = ingrCost.ingredientCostMeasurements.map(\r\n // @ts-ignore\r\n (x) => x.name\r\n );\r\n this.addingMeasurementModal.newMeasurements.map((x) => {\r\n // @ts-ignore\r\n if (!measurementNames.includes(x.name)) {\r\n ingrCost.ingredientCostMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weightInGrams: x.weight,\r\n });\r\n }\r\n return x;\r\n });\r\n this.addingMeasurementModal.isOpen = false;\r\n }\r\n });\r\n }\r\n\r\n // Add new vendor\r\n saveIngredientCostVendor() {\r\n this.$validator.validateAll(\"vendor\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.createIngredientCostVendor(\r\n this.addingVendorName\r\n )\r\n .then(() => {\r\n this.addingVendorModal.isOpen = false;\r\n this.loadIngredientCostVendors();\r\n this.addingVendorName = \"\";\r\n success({\r\n body: this.translations.get(\"ingr-cost-vendor-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 3500,\r\n closeOnClick: true,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // Add new row in new ingredien costs modal\r\n addNewMeasurementRow() {\r\n // @ts-ignore\r\n this.addingMeasurementModal.newMeasurements.push(this.getEmptyMeasurment());\r\n }\r\n\r\n // Load list of ingredient cost Vendors\r\n loadIngredientCostVendors() {\r\n IngredientCostRepository.listIngredientCostVendors()\r\n .then((response) => {\r\n let vendors = response.data.result.map((x: any) => {\r\n return {\r\n id: x.id,\r\n name: x.name,\r\n };\r\n });\r\n this.vendors = vendors;\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n allIngredinsValid() {\r\n let valid = true;\r\n for (let i = 0; i < this.recipeIngredientCosts.length; i++) {\r\n if (this.recipeIngredientCosts[i].ingredientCostId == null) {\r\n valid = false;\r\n }\r\n }\r\n return valid;\r\n }\r\n\r\n // Save recipe cost button\r\n saveRecipeCost() {\r\n if (!this.allIngredinsValid()) {\r\n this.$snotify.error(\r\n this.translations.get(\"rec-cost-valid-recipe-ingr-costs\")\r\n );\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n let recipeIngrCosts = this.recipeIngredientCosts.map((x) => {\r\n return {\r\n ingredientCostId: x.ingredientCostId,\r\n recipeIngredientId: x.recipeIngredientId,\r\n };\r\n });\r\n RecipeCostRepository.createRecipeCost({\r\n // @ts-ignore\r\n recipeId: this.recipe.id,\r\n recipeIngredientCosts: recipeIngrCosts,\r\n })\r\n // @ts-ignore\r\n .then((response) => {\r\n this.$router.push({\r\n name: \"updateRecipeCost\",\r\n params: { id: response.data.result },\r\n });\r\n success({\r\n body: this.translations.get(\"rec-cost-save-success\"),\r\n });\r\n })\r\n // @ts-ignore\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n { closeOnClick: true, timeout: 3500 }\r\n );\r\n }\r\n\r\n // Empty ingredient cost json\r\n getEmptyRecipeCost() {\r\n return {\r\n name: \"\",\r\n cost: 0,\r\n date: \"\",\r\n notification: \"\",\r\n };\r\n }\r\n\r\n // Empty measurement json\r\n getEmptyMeasurment(): { name: string; weight: number } {\r\n return {\r\n name: \"\",\r\n weight: null,\r\n };\r\n }\r\n\r\n // Empty ingredient cost json\r\n getEmptyIngredientCost() {\r\n return {\r\n name: \"\",\r\n vendorId: this.vendors.length > 0 ? this.vendors[0].id : null,\r\n quantity: 0,\r\n chosenMeasurementName:\r\n this.massMeasurements.length > 0 ? this.massMeasurements[0].name : null,\r\n ingredientCostMeasurements: [...this.massMeasurements],\r\n cost: 0,\r\n };\r\n }\r\n\r\n // Get Recipe details\r\n getRecipeDetails() {\r\n RecipesRepository.getRecipeDetails(parseInt(this.$route.params.id))\r\n .then((response) => {\r\n this.recipe = response.data.result;\r\n this.recipe.nutritionAnalysis = mapNutritions(\r\n this.recipe.nutritionAnalysis\r\n );\r\n this.recipeIngredientCosts = this.recipe.ingredients.map((x) => {\r\n // Select the vendor for the recipe ingredient cost\r\n let ingredientCostVendorId =\r\n this.vendors.length > 0 ? this.vendors[0].id : null;\r\n return {\r\n recipeIngredientId: x.id,\r\n ingredientCostId: null,\r\n ingredientCostName: \"\",\r\n ingredientCostVendorId: ingredientCostVendorId,\r\n costPerGram: 0,\r\n ingredient: x.ingredient,\r\n measurement: x.measurement,\r\n quantity: x.quantity,\r\n };\r\n });\r\n\r\n this.listRecipeCostsForSubrecipes();\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n // Get Recipe costs for subrecipes\r\n listRecipeCostsForSubrecipes() {\r\n RecipeCostRepository.listRecipeCostsForSubrecipes(\r\n parseInt(this.$route.params.id)\r\n )\r\n .then((response) => {\r\n if (response.data.result.length > 0) {\r\n this.subRecipeCosts = response.data.result.map((x) => {\r\n return {\r\n id: x.subrecipeId,\r\n recipeName: x.recipeName,\r\n servings: x.recipeCostServings,\r\n totalCost: x.totalCost,\r\n };\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n getIngredientCostsForVendor(vendorId: number) {\r\n return this.allIngredientCosts.filter((x) => x.vendorId == vendorId);\r\n }\r\n\r\n // Table headers\r\n get tableHeaders() {\r\n return [\r\n {\r\n name: this.translations.get(\"ingr-cost-table-quantity\"),\r\n key: \"Quantity\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-measurement\"),\r\n key: \"Measurement\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"rec-cost-table-ingr\"),\r\n key: \"Ingredient\",\r\n searchable: true,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-vendor\"),\r\n key: \"Vendor\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"rec-cost-table-search-ingr\"),\r\n key: \"SearchIngredient\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-cost\"),\r\n key: \"Cost\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n ];\r\n }\r\n\r\n totalRecipeCost() {\r\n let total = 0;\r\n for (let i = 0; i < this.recipeIngredientCosts.length; i++) {\r\n total += this.calculateCostForRecipeIngredientCost(\r\n this.recipeIngredientCosts[i].quantity,\r\n this.recipeIngredientCosts[i].measurement.weightInGrams,\r\n this.recipeIngredientCosts[i].costPerGram\r\n );\r\n }\r\n for (let i = 0; i < this.subRecipeCosts.length; i++) {\r\n total += this.subRecipeCosts[i].totalCost;\r\n }\r\n return (Math.round(total * 100) / 100).toFixed(2);\r\n }\r\n\r\n get costPerYield() {\r\n let total = parseFloat(this.totalRecipeCost());\r\n let totalPerYield = total / this.recipe.servings;\r\n return totalPerYield.toFixed(2);\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n created() {\r\n this.$store\r\n .dispatch(TRANSLATIONS_FETCH, {\r\n category: \"pages\",\r\n collections: [\r\n \"common\",\r\n \"ingredients\",\r\n \"ingredient cost\",\r\n \"recipe costing\",\r\n ],\r\n })\r\n .then(() => {\r\n document.title =\r\n this.translations.get(\"ingr-cost-title\") +\r\n \" \" +\r\n this.translations.get(\"meta_title_postfix\");\r\n })\r\n .catch((error) => {\r\n if (error.response) {\r\n this.$snotify.error(\r\n error.response.data.errorMessages[0].userVisibleMessage\r\n );\r\n }\r\n else\r\n this.$snotify.error(this.translations.get(\"toastr_network_error\"));\r\n });\r\n\r\n this.loadAllIngredientCosts();\r\n this.loadIngredientCostVendors();\r\n this.getRecipeDetails();\r\n\r\n MeasurementRepository.listMeasurementsForCategory(MeasurementCategory.Mass)\r\n .then((response) => {\r\n let measurements = response.data.result.map((x: any) => {\r\n return {\r\n id: x.id,\r\n name: x.name,\r\n weightInGrams: x.conversionCoeficient,\r\n };\r\n });\r\n this.massMeasurements = measurements;\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n}\r\nexport default RecipeCostComponent;\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!./CreateRecipeCost.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!./CreateRecipeCost.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CreateRecipeCost.vue?vue&type=template&id=46f91dec&scoped=true\"\nimport script from \"./CreateRecipeCost.vue?vue&type=script&lang=ts\"\nexport * from \"./CreateRecipeCost.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CreateRecipeCost.vue?vue&type=style&index=0&id=46f91dec&prod&scoped=true&lang=css\"\nimport style1 from \"./CreateRecipeCost.vue?vue&type=style&index=1&id=46f91dec&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 \"46f91dec\",\n null\n \n)\n\nexport default component.exports","import Repository from './Repository';\r\nimport { CreateRecipeCategory } from '@/models/Recipes/CreateRecipeCategory';\r\nimport { DeleteRecipeCategory } from '@/models/Recipes/DeleteRecipeCategory';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport { CreateRecipe } from '@/models/Recipes/CreateRecipe';\r\nimport { UpdateRecipe } from '@/models/Recipes/UpdateRecipe';\r\nimport { SearchSubRecipes } from '@/models/Recipes/SearchSubRecipes';\r\nimport { SearchRecipes } from '@/models/Recipes/SearchRecipes';\r\nimport { UpdateRecipeCategory } from '@/models/Recipes/UpdateRecipeCategory';\r\nimport { RecipeCalculate } from '@/models/Recipes/RecipeCalculate';\r\nimport { Recipe } from '@/models/Recipes/Recipe';\r\nimport { RecipeCompositionMeasurement } from '@/models/Recipes/RecipeCompositionMeasurement';\r\nimport { ListResult } from './ResultTypes/ListResult';\r\nimport { MethodResult } from './ResultTypes/MethodResult';\r\nimport { AxiosResponse } from 'axios';\r\n\r\n\r\nconst resource = '/recipes';\r\n\r\nexport default {\r\n createRecipeCategory(createRecipeCategory: CreateRecipeCategory) {\r\n return Repository.post(`${resource}/CreateRecipeCategory`, createRecipeCategory, { withCredentials: true });\r\n },\r\n listRecipeCategories() {\r\n return Repository.get(`${resource}/ListRecipeCategories`, { withCredentials: true });\r\n },\r\n deleteRecipeCategory(deleteRecipeCategory: DeleteRecipeCategory) {\r\n return Repository.post(`${resource}/DeleteRecipeCategory`, deleteRecipeCategory, { withCredentials: true });\r\n },\r\n listRecipes(listRequest: ListRequest) {\r\n return Repository.post(`${resource}/ListRecipes`, listRequest, { withCredentials: true });\r\n },\r\n getRecipeDetails(id: number) {\r\n return Repository.post<{recipeId: number}, AxiosResponse>>(\r\n `${resource}/GetRecipeDetails`,\r\n { recipeId: id },\r\n { withCredentials: true }\r\n );\r\n },\r\n createRecipe(createRecipe: CreateRecipe) {\r\n return Repository.post(`${resource}/CreateRecipe`, createRecipe, { withCredentials: true });\r\n },\r\n deleteRecipe(id: number) {\r\n return Repository.post(`${resource}/DeleteRecipe`, { recipeId: id }, { withCredentials: true });\r\n },\r\n udateRecipe(updateRecipe: UpdateRecipe) {\r\n return Repository.post(`${resource}/UpdateRecipe`, updateRecipe, { withCredentials: true });\r\n },\r\n searchSubRecipes(searchSubRecipes: SearchSubRecipes) {\r\n return Repository.post(`${resource}/SearchSubRecipes`, searchSubRecipes, { withCredentials: true });\r\n },\r\n searchRecipes(searchRecipes: SearchRecipes) {\r\n return Repository.post(`${resource}/SearchRecipes`, searchRecipes, { withCredentials: true });\r\n },\r\n // deleteRecipes(recipeIds: number[]) {\r\n // return Repository.post(`${resource}/DeleteRecipes`, { recipeIds }, { withCredentials: true });\r\n // },\r\n renameCategory(updateCategory: any) {\r\n return Repository.post(`${resource}/RenameRecipeCategory`, updateCategory, { withCredentials: true });\r\n },\r\n moveRecipesToCategory(moveRecipesToCategory: any) {\r\n return Repository.post(`${resource}/MoveRecipesToRecipeCategory`, moveRecipesToCategory, { withCredentials: true });\r\n },\r\n filterRecipesNames(recipesSearchTerm: any) {\r\n return Repository.post(`${resource}/filterRecipesNames`, { recipeSearchTerm: recipesSearchTerm }, { withCredentials: true });\r\n },\r\n calculate(recCalc: RecipeCalculate) {\r\n return Repository.post(`${resource}/CalculateRecipeNutritions`, recCalc, { withCredentials: true });\r\n },\r\n copyRecipe(data: any) {\r\n return Repository.post(`${resource}/CopyRecipe`, data, { withCredentials: true });\r\n },\r\n saveRecipeLabel(data: any) {\r\n return Repository.post(`${resource}/SaveRecipeLabel`, data, { withCredentials: true });\r\n },\r\n getRecipeLabel(data: any) {\r\n return Repository.post(`${resource}/GetRecipeLabel`, data, { withCredentials: true });\r\n },\r\n deleteRecipes(data: any) {\r\n return Repository.post(`${resource}/DeleteRecipes`, data, { withCredentials: true });\r\n },\r\n listRestaurantRecipesAsLookups(restaurantId: number) {\r\n return Repository.get(`${resource}/ListRestaurantRecipesAsLookups?restaurantId=${restaurantId}`, { withCredentials: true });\r\n },\r\n listCookingMethods() {\r\n return Repository.get(`${resource}/ListCookingMethods`, { withCredentials: true });\r\n },\r\n listFoodGroupClasses() {\r\n return Repository.get(`${resource}/ListFoodGroupClasses`, { withCredentials: true });\r\n },\r\n listFoodGroupSubClasses(data: any) {\r\n return Repository.post(`${resource}/ListFoodGroupSubClasses`, data, { withCredentials: true });\r\n },\r\n updateRecipeFoodClassifications(data: any) {\r\n return Repository.post(`${resource}/UpdateRecipeFoodClassifications`, data, { withCredentials: true });\r\n },\r\n updateRecipeServingSize(data: any) {\r\n return Repository.post(`${resource}/UpdateRecipeServingSize`, data, { withCredentials: true });\r\n },\r\n updateCaloriesCalculationMethod(data: any) {\r\n return Repository.post(`${resource}/UpdateCalculationMethods`, data, { withCredentials: true });\r\n },\r\n hasRecipeWithIngredientsFromSpecificDatabase(nutrientSource: any) {\r\n return Repository.post(`${resource}/HasRecipeWithIngredientsFromSpecificDatabase`, { nutrientSource: nutrientSource }, { withCredentials: true })\r\n },\r\n listRecipesThatUseIngredient(ingredientId: number) {\r\n return Repository.get(`${resource}/ListRecipesThatUseIngredient?IngredientId=${ingredientId}`, { withCredentials: true });\r\n },\r\n getRecipeCompositionMeasurements() {\r\n return Repository.get>(\r\n `${resource}/GetRecipeCompositionMeasurements`,\r\n { withCredentials: true }\r\n );\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!./vAutocomplete.vue?vue&type=style&index=0&id=64e79060&prod&lang=css\"","export enum MeasurementCategory {\r\n Mass = 0,\r\n Distance = 1,\r\n Volume = 2,\r\n Other = 10\r\n}","import Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport { IngredientCost } from '@/models/IngredientCost/IngredientCost';\r\n\r\nconst resource = '/ingredientCosts';\r\n\r\nexport default {\r\n listIngredientCost(listRequest: ListRequest) {\r\n return Repository.post(`${resource}/ListIngredientCosts`, listRequest, { withCredentials: true });\r\n },\r\n listIngredientCostVendors() {\r\n return Repository.get(`${resource}/ListIngredientCostVendors`, { withCredentials: true });\r\n },\r\n createIngredientCosts(ingredientCosts: IngredientCost[]) {\r\n return Repository.post(`${resource}/CreateIngredientCosts`, { ingredientCosts: ingredientCosts }, { withCredentials: true });\r\n },\r\n createIngredientCostVendor(name: string) {\r\n return Repository.post(`${resource}/CreateIngredientCostVendor`, { name: name }, { withCredentials: true });\r\n },\r\n updateIngredientCost(ingredientCost: IngredientCost) {\r\n return Repository.post(`${resource}/UpdateIngredientCost`, ingredientCost, { withCredentials: true });\r\n },\r\n deleteIngredientCost(id: number) {\r\n return Repository.post(`${resource}/DeleteIngredientCost`, { id: id }, { withCredentials: true });\r\n },\r\n uploadIngredientCosts(formData: FormData) {\r\n return Repository.post(`${resource}/UploadIngredientCosts`, formData, { withCredentials: true });\r\n },\r\n loadMeasurementsForIngredientCost(data: any) {\r\n return Repository.post(`${resource}/LoadMeasurementsForIngredientCost`, data, { withCredentials: true });\r\n }\r\n}\r\n","export enum CaloriesCalculationMethod {\r\n Summation = 0,\r\n Method449 = 1,\r\n}","import { RecipeCategory } from './RecipeCategory';\r\nimport { RecipeIngredient } from './RecipeIngredient';\r\nimport { Nutritions } from \"./Nutritions\";\r\nimport type { Subrecipe } from './Subrecipe';\r\nimport { CookingMethod } from './CookingMethod';\r\nimport { RecipeServingType } from './RecipeServingType';\r\nimport { LossType } from './LossType';\r\nimport { CaloriesCalculationMethod } from './CaloriesCalculationMethod';\r\nimport { DailyValueCalculationMethod } from './DailyValueCalculationMethod';\r\n\r\nexport class Recipe {\r\n id: number = 0;\r\n name: string = \"\";\r\n description: string = \"\";\r\n instructions: string = \"\";\r\n dishRecipeCount: number | null = null;\r\n recipeCategory: RecipeCategory | null = {\r\n id: undefined,\r\n name: undefined\r\n };\r\n\r\n adjustedAddedSugarsValue: number | null = null;\r\n\r\n ingredients: RecipeIngredient[] = [];\r\n childRecipes: Subrecipe[] = [];\r\n\r\n recipeServingType: RecipeServingType = RecipeServingType.Servings;\r\n servingCount: number | null = 1;\r\n servingQuantityInUnitOfMeasurement: number | null;\r\n servingUnitOfMeasurement: string | null;\r\n servings: number = 1;\r\n\r\n cookingMethodId?: number | null;\r\n cookingMethod?: CookingMethod | null;\r\n\r\n lossType: number | null = null;\r\n lossAmount: LossType | null = null;\r\n yieldFactor: number = 1;\r\n\r\n weight: number = 0;\r\n weightPerServing: number = 0;\r\n rawWeight: number = 0;\r\n rawWeightPerServing: number = 0;\r\n\r\n rawVolume: number | null;\r\n volume: number | null;\r\n rawVolumePerServing: number | null;\r\n volumePerServing: number | null;\r\n\r\n quantityPerServingInUnitOfMeasurement: QuantityPerServingInUnitOfMeasurementTuple = {\r\n item1: 100, // quantity\r\n item2: 'g', // unit of measurement\r\n };\r\n\r\n nutritionAnalysis: Partial = new Nutritions();\r\n\r\n caloriesCalculationMethod: CaloriesCalculationMethod = CaloriesCalculationMethod.Summation;\r\n dailyValueCalculationMethod: DailyValueCalculationMethod = DailyValueCalculationMethod.Rounded;\r\n\r\n createdOn: Date | null = null;\r\n updatedOn: Date | null = null;\r\n createdUserName: string | null = null;\r\n updatedUserName: string | null = null;\r\n}\r\n\r\ntype QuantityPerServingInUnitOfMeasurementTuple = {\r\n item1: number; // quantity\r\n item2: string; // unit of measurement\r\n};"],"sourceRoot":""}