{"version":3,"sources":["webpack:///./src/components/Banners/WithoutVarieties.vue?d468","webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/pages/cultivares/FilterModal.vue?9c2d","webpack:///./src/pages/cultivares/VarietyInfo.vue","webpack:///src/pages/cultivares/VarietyInfo.vue","webpack:///./src/pages/cultivares/VarietyInfo.vue?6f73","webpack:///./src/pages/cultivares/VarietyInfo.vue?aa59","webpack:///./src/components/Program/TotalSprayingsInfo.vue","webpack:///src/components/Program/TotalSprayingsInfo.vue","webpack:///./src/components/Program/TotalSprayingsInfo.vue?715a","webpack:///./src/components/Program/TotalSprayingsInfo.vue?afcd","webpack:///./src/modules/home/components/headers/HeaderNoFarms.vue","webpack:///src/modules/home/components/headers/HeaderNoFarms.vue","webpack:///./src/modules/home/components/headers/HeaderNoFarms.vue?aa4f","webpack:///./src/modules/home/components/headers/HeaderNoFarms.vue?1df7","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///../../../src/components/VSubheader/index.ts","webpack:///./src/pages/programas/ListItem.vue?11f3","webpack:///./src/components/TutorialVideoModal.vue","webpack:///src/components/TutorialVideoModal.vue","webpack:///./src/components/TutorialVideoModal.vue?09c7","webpack:///./src/components/TutorialVideoModal.vue?8852","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///../../../src/components/VDatePicker/VDatePickerTitle.ts","webpack:///../../../src/mixins/localable/index.ts","webpack:///../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts","webpack:///../../../../src/components/VDatePicker/util/monthChange.ts","webpack:///../../../src/components/VDatePicker/VDatePickerHeader.ts","webpack:///../../../../src/components/VDatePicker/util/eventHelpers.ts","webpack:///../../../../src/components/VDatePicker/util/sanitizeDateString.ts","webpack:///../../../../src/components/VDatePicker/util/isDateAllowed.ts","webpack:///../../../../src/components/VDatePicker/mixins/date-picker-table.ts","webpack:///../../src/util/dateTimeUtils.ts","webpack:///../../../src/components/VDatePicker/VDatePickerDateTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerMonthTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerYears.ts","webpack:///../../../../src/components/VCalendar/util/timestamp.ts","webpack:///../../../src/components/VDatePicker/VDatePicker.ts","webpack:///./src/pages/programas/DiseaseHome.vue","webpack:///./src/pages/programas/DiseaseHeader.vue","webpack:///src/pages/programas/DiseaseHeader.vue","webpack:///./src/pages/programas/DiseaseHeader.vue?d0bb","webpack:///./src/pages/programas/DiseaseHeader.vue?4625","webpack:///./src/pages/programas/ProgramHeader.vue","webpack:///./src/pages/cultivares/VarietyInfoModal.vue","webpack:///src/pages/cultivares/VarietyInfoModal.vue","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?5290","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?6f1b","webpack:///src/pages/programas/ProgramHeader.vue","webpack:///./src/pages/programas/ProgramHeader.vue?651b","webpack:///./src/pages/programas/ProgramHeader.vue?975d","webpack:///./src/pages/programas/ProgramsList.vue","webpack:///./src/pages/programas/ListItem.vue","webpack:///./src/pages/programas/ModalPrograma.vue","webpack:///src/pages/programas/ModalPrograma.vue","webpack:///./src/pages/programas/ModalPrograma.vue?0dd9","webpack:///./src/pages/programas/ModalPrograma.vue?9105","webpack:///./src/pages/programas/ModalReplicacao.vue","webpack:///src/pages/programas/ModalReplicacao.vue","webpack:///./src/pages/programas/ModalReplicacao.vue?1fb6","webpack:///./src/pages/programas/ModalReplicacao.vue?9ea3","webpack:///src/pages/programas/ListItem.vue","webpack:///./src/pages/programas/ListItem.vue?ef05","webpack:///./src/pages/programas/ListItem.vue?55f3","webpack:///src/pages/programas/ProgramsList.vue","webpack:///./src/pages/programas/ProgramsList.vue?6c7c","webpack:///./src/pages/programas/ProgramsList.vue?a7e8","webpack:///./src/components/Banners/WithoutVarieties.vue","webpack:///src/components/Banners/WithoutVarieties.vue","webpack:///./src/components/Banners/WithoutVarieties.vue?11a4","webpack:///./src/components/Banners/WithoutVarieties.vue?2047","webpack:///src/pages/programas/DiseaseHome.vue","webpack:///./src/pages/programas/DiseaseHome.vue?2250","webpack:///./src/pages/programas/DiseaseHome.vue?cced","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VChip/index.ts","webpack:///./src/pages/programas/ProgramHeader.vue?76ae","webpack:///./src/pages/cultivares/SortAndFilter.vue?a37c","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/components/VPicker/VPicker.ts","webpack:///../../../src/components/VPicker/index.ts","webpack:///../../../src/mixins/picker/index.ts","webpack:///./src/components/ChartBarsHorizontalWithMax.js","webpack:///./src/components/Spraying/DiseasesNames.vue","webpack:///src/components/Spraying/DiseasesNames.vue","webpack:///./src/components/Spraying/DiseasesNames.vue?be05","webpack:///./src/components/Spraying/DiseasesNames.vue?7262","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?c0db","webpack:///./src/components/Form/DRadioField.vue","webpack:///./src/components/Form/fieldProperties.js","webpack:///src/components/Form/DRadioField.vue","webpack:///./src/components/Form/DRadioField.vue?54ae","webpack:///./src/components/Form/DRadioField.vue?cee5","webpack:///./src/mixins/ProductOptionsMixin.vue","webpack:///../../../src/components/VChipGroup/VChipGroup.ts","webpack:///./src/components/Spraying/SprayingModal.vue","webpack:///./src/components/Spraying/DosisTooltip.vue","webpack:///src/components/Spraying/DosisTooltip.vue","webpack:///./src/components/Spraying/DosisTooltip.vue?d45b","webpack:///./src/components/Spraying/DosisTooltip.vue?1443","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue","webpack:///./src/components/ProductOptions/ProductOptionsList.vue","webpack:///src/components/ProductOptions/ProductOptionsList.vue","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?4842","webpack:///./src/components/ProductOptions/ProductOptionsList.vue?5825","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue","webpack:///src/components/ProductOptions/ProductOptionsDescription.vue","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?d63b","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?6700","webpack:///src/components/ProductOptions/ProductOptionsContainer.vue","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue?ff21","webpack:///./src/components/ProductOptions/ProductOptionsContainer.vue?6dc6","webpack:///src/mixins/ProductOptionsMixin.vue","webpack:///./src/mixins/ProductOptionsMixin.vue?8ae1","webpack:///./src/services/storage/productPriceStorage.js","webpack:///./src/mixins/WhiteMoldMixin.vue","webpack:///src/mixins/WhiteMoldMixin.vue","webpack:///./src/mixins/WhiteMoldMixin.vue?e4d9","webpack:///src/components/Spraying/SprayingModal.vue","webpack:///./src/components/Spraying/SprayingModal.vue?66ad","webpack:///./src/components/Spraying/SprayingModal.vue?73a1","webpack:///../../../../src/components/VDatePicker/util/pad.ts","webpack:///./src/utils/formatters.js","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VStepper/VStepperStep.ts","webpack:///../../../src/components/VRangeSlider/VRangeSlider.ts","webpack:///./node_modules/lodash.defaultsdeep/index.js","webpack:///./src/components/ProductOptions/ProductOptionsDescription.vue?dc23","webpack:///./src/pages/cultivares/NoAvailableVariety.vue","webpack:///src/pages/cultivares/NoAvailableVariety.vue","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?0b37","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?e464","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/components/Crops/CropTabs.vue","webpack:///src/components/Crops/CropTabs.vue","webpack:///./src/components/Crops/CropTabs.vue?d6cf","webpack:///./src/components/Crops/CropTabs.vue?58fc","webpack:///./src/pages/programas/DiseaseHeader.vue?eaf7","webpack:///./src/components/Crops/CropTabs.vue?1c51","webpack:///./src/pages/execucao/TooltipEfficacy.vue","webpack:///src/pages/execucao/TooltipEfficacy.vue","webpack:///./src/pages/execucao/TooltipEfficacy.vue?49a5","webpack:///./src/pages/execucao/TooltipEfficacy.vue?b24d","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VStepper/VStepper.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///./src/pages/cultivares/VarietyList.vue?2598","webpack:///./src/pages/cultivares/VarietyItem.vue?ff37","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?fade","webpack:///../../../src/components/VSlider/index.ts","webpack:///../../../src/components/VStepper/index.ts","webpack:///./src/assets/icons sync ^\\.\\/ic\\-.*\\.svg$","webpack:///../../../src/components/VSlideGroup/VSlideItem.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///./src/pages/cultivares/VarietyHome.vue?fcc9","webpack:///./src/pages/cultivares/VarietyHome.vue","webpack:///./src/pages/cultivares/SortAndFilter.vue","webpack:///./src/pages/cultivares/FilterModal.vue","webpack:///src/pages/cultivares/FilterModal.vue","webpack:///./src/pages/cultivares/FilterModal.vue?da0c","webpack:///./src/pages/cultivares/FilterModal.vue?3191","webpack:///./src/utils/string.js","webpack:///src/pages/cultivares/SortAndFilter.vue","webpack:///./src/pages/cultivares/SortAndFilter.vue?1839","webpack:///./src/pages/cultivares/SortAndFilter.vue?cc18","webpack:///./src/pages/cultivares/VarietyHeader.vue","webpack:///src/pages/cultivares/VarietyHeader.vue","webpack:///./src/pages/cultivares/VarietyHeader.vue?0380","webpack:///./src/pages/cultivares/VarietyHeader.vue?6c5d","webpack:///./src/pages/cultivares/VarietyList.vue","webpack:///./src/pages/cultivares/VarietyItem.vue","webpack:///src/pages/cultivares/VarietyItem.vue","webpack:///./src/pages/cultivares/VarietyItem.vue?e08e","webpack:///./src/pages/cultivares/VarietyItem.vue?23ec","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue","webpack:///src/pages/cultivares/RequestNotCatalogedVariety.vue","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?1854","webpack:///./src/pages/cultivares/RequestNotCatalogedVariety.vue?d0c6","webpack:///src/pages/cultivares/VarietyList.vue","webpack:///./src/pages/cultivares/VarietyList.vue?5ecd","webpack:///./src/pages/cultivares/VarietyList.vue?cc77","webpack:///src/pages/cultivares/VarietyHome.vue","webpack:///./src/pages/cultivares/VarietyHome.vue?830e","webpack:///./src/pages/cultivares/VarietyHome.vue?c2b4","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./src/components/Spraying/DiseasesNames.vue?d18b","webpack:///./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.js","webpack:///./src/components/Banners/FarmDisabled.vue","webpack:///src/components/Banners/FarmDisabled.vue","webpack:///./src/components/Banners/FarmDisabled.vue?cdc7","webpack:///./src/components/Banners/FarmDisabled.vue?9fa3","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///./src/pages/cultivares/VarietyInfo.vue?bed6","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/components/VDivider/index.ts","webpack:///./src/pages/programas/ProgramsList.vue?bc83","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VSlider/VSlider.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///./src/mixins/CropDiseasesMixin.vue","webpack:///src/mixins/CropDiseasesMixin.vue","webpack:///./src/mixins/CropDiseasesMixin.vue?87e3","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?c45f","webpack:///../../../src/components/VItemGroup/VItem.ts","webpack:///../../../src/mixins/picker-button/index.ts","webpack:///./src/pages/programas/DiseaseHome.vue?5b1d","webpack:///./src/components/Efficacies/index.vue","webpack:///src/components/Efficacies/index.vue","webpack:///./src/components/Efficacies/index.vue?cd27","webpack:///./src/components/Efficacies/index.vue?d9c3","webpack:///./src/pages/cultivares/NoAvailableVariety.vue?d7a1","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///./src/modules/home/components/headers/HeaderNoFarms.vue?2dd2","webpack:///../../../src/components/VStepper/VStepperContent.ts","webpack:///./src/components/Program/TotalSprayingsInfo.vue?a09b","webpack:///./src/components/Banners/FarmDisabled.vue?83e6","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue","webpack:///src/components/SeasonsCrops/SelectorSeasonsCrops.vue","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?2332","webpack:///./src/components/SeasonsCrops/SelectorSeasonsCrops.vue?00f2","webpack:///../../../src/mixins/selectable/index.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts","webpack:///./src/pages/cultivares/VarietyInfoModal.vue?5108"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","_objectSpread","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","mixins","VSheet","Toggleable","Transitionable","border","type","String","validator","val","includes","closeLabel","default","coloredBorder","dense","dismissible","closeIcon","icon","outlined","prominent","text","__cachedBorder","data","staticClass","class","_defineProperty","concat","setBackgroundColor","computedColor","$createElement","__cachedDismissible","_this","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","VIcon","__cachedIcon","computedIcon","hasColoredIcon","hasText","undefined","isDark","Themeable","genWrapper","children","getSlot","genContent","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","transition","origin","mode","_c","cropIcon","alt","_v","_vm","isRegisteredVariety","path","planningRoutePath","fazenda_id","cultivar_id","staticRenderFns","variety","Object","required","loading","diseaseProgram","mapGetters","_this$variety","added","cropName","currentCrop","toLowerCase","src","require","plantingTimeStart","semeadura_ini","formatDate","$t","plantingTimeEnd","semeadura_fim","cicleStart","parseInt","ciclo_dias","process","cicleEnd","mapActions","addVariety","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$_this$createVa","cultivarId","wrap","_context","prev","next","createVariety","seedId","semente_id","farmId","currentFarmId","sent","$root","$emit","$router","push","query","t0","console","error","finish","stop","component","_self","program","whiteMoldSprayingText","totalSprayings","white_mold_total_sprayings","AddFarmModal","PermissionMixin","components","dialogModalFarm","closeFarmModal","createFarm","redirectToFieldview","reloadFarmsList","hasNoFarms","firstFarmLoad","fetchFarms","generateChart","chartId","chartType","createElement","cssClasses","id","width","height","ref","Number","plugins","_chart","_plugins","addPlugin","plugin","$data","generateLegend","renderChart","destroy","$refs","canvas","Error","getContext","beforeDestroy","HorizontalBar","Line","VSubheader","openTutorialModal","_s","isTutorialModalOpened","closeTutorialModal","scopedSlots","_u","key","fn","urlVideo","proxy","_e","DfButton","DfModal","$","sign","target","stat","PickerButton","date","selectingYear","year","yearIcon","isReversing","computedTransition","watch","genYearIcon","dark","getYearBtn","genPickerButton","genTitleText","domProps","innerHTML","genTitleDate","Vue","locale","currentLocale","current","createNativeLocaleFormatter","substrOptions","arguments","start","makeIsoString","dateString","_dateString$trim$spli","trim","split","_dateString$trim$spli2","_slicedToArray","month","pad","join","intlFormatter","Intl","DateTimeFormat","format","Date","e","substr","_value$split$map","map","_value$split$map2","Colorable","Localable","Function","min","max","nextAriaLabel","nextIcon","prevAriaLabel","prevIcon","formatter","timeZone","newVal","oldVal","genBtn","change","ariaLabelId","ariaLabel","calculateChange","light","stopPropagation","rtl","_String$split$map","_String$split$map2","monthChange","genHeader","_this2","header","themeClasses","createItemTypeNativeListeners","instance","itemTypeSuffix","keys","$listeners","reduce","eventName","endsWith","slice","event","createItemTypeListeners","_dateString$split","_dateString$split2","_dateString$split2$","_dateString$split2$2","isDateAllowed","allowedFn","Touch","allowedDates","events","eventColor","range","scrollable","tableDate","wheelThrottle","displayedMonth","displayedYear","mounted","throttle","wheel","genButtonClasses","isAllowed","isFloating","isSelected","isCurrent","isFirst","isLast","genButtonEvents","mouseEventType","mergeListeners","genButton","isOtherMonth","genEvents","getEventColors","eventData","arrayize","v","eventColors","filter","isValidScroll","calculateTableDate","sanitizeType","sanitizeDateString","deltaY","touch","genTable","_this3","touchDirective","left","offsetX","right","preventDefault","_sort","_toConsumableArray","sort","_sort2","from","to","indexOf","createUTCDate","day","UTC","isFinite","getUTCFullYear","setUTCFullYear","firstWeekOffset","firstDayOfWeek","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","getUTCDay","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","weekNumber","localeFirstDayOfYear","week","Math","ceil","DatePickerTable","showAdjacentMonths","showWeek","weekdayFormat","weekdayFormatter","weekday","weekDays","first","createRange","i","delta","genTHead","days","unshift","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","weekDay","getWeekNumber","dayInMonth","genWeekNumber","padStart","genTBody","daysInMonth","getDate","rows","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","cols","fill","_loop","row","tds","_","col","defaultColor","setTimeout","activeItem","$el","getElementsByClassName","scrollTop","offsetTop","offsetHeight","scrollHeight","genYearItem","formatted","active","genYearItems","selectedYear","getFullYear","maxYear","minYear","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","Picker","activePicker","dayFormat","headerDateFormat","monthFormat","multiple","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevMonthAriaLabel","prevYearAriaLabel","reactive","showCurrent","selectedItemsText","titleDateFormat","yearFormat","now","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","multipleValue","wrapInArray","getMonth","isMultiple","lastValue","selectedMonths","inputDate","tableMonth","tableYear","minMonth","maxMonth","formatters","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","titleFormats","titleDateFormatter","landscapeFormatter","replace","match","nonDigit","digit","landscape","immediate","handler","newValue","oldValue","checkMultipleProp","setInputDate","output","emitInput","newInput","x","valueType","constructor","expected","consoleWarn","yearClick","monthClick","_value$split","_value$split2","dateClick","_value$split3","_value$split4","genPickerTitle","VDatePickerTitle","slot","genTableHeader","_this4","VDatePickerHeader","input","genDateTable","_this5","VDatePickerDateTable","genMonthTable","_this6","VDatePickerMonthTable","genYears","VDatePickerYears","genPickerBody","array","genPicker","currentFarm","enabled","rawName","cultivaresLoading","loadingChangeFarm","expression","varietiesLoaded","cultivares","changeVariety","farms","cultivar","loadingVariety","programas","fetchPrograms","SelectorSeasonsCrops","DfPageHeader","staticStyle","_ref","dialog","callback","LayoutMixin","VarietyInfo","VarietyInfoModal","$on","resetVariety","_this$cultivar$id","_this$cultivar","_this$varietiesByCrop","varietyId","$route","varietiesByCrop","find","c","newVariety","translatedCrops","enabledCrops","crop","crop_id","varietiesAndCropHeaders","acc","currentCropId","hasCrop","some","_ref2","getCropNameById","varietyStartCycle","varietyEndCycle","changeCrop","cropId","setCurrentCrop","$off","isActivatedComparison","tutorialToggle","listaProgramas","breakpoint","calculaMaxAplicacoes","model","cloningProcess","programa","canAddProgram","planning","_ref3","_ref4","duplicateProgram","sugestao_pulverizacoes","planejamento","data_aplicacao_planejada","_ref6","$event","planejamento_defensivos","parseFloat","produto","dose","toFixedNotRounded","defensivo","unidade_medida","_ref7","semRegistro","_ref8","allowNovaAplicacao","hasPermission","salvarPlanejamento","currentStep","$$v","nomeMaxChar","saving","nome","isRecommendedDate","formatDateISO","dataSemeadura","notRecommendedDates","prevStep","severidade","white_mold_enabled","salvar","DRadioField","moment","toDate","toISOString","severidades","doencasSugeridas","minDate","maxDate","valid","nomeRules","isEditing","vPrograma","totalSteps","getLocale","_this$currentSeasonCr","_this$currentSeasonCr2","tolerancia","isSoybean","currentSeasonCrop","start_period","end_period","subtract","setWheatSowingTime","data_prevista","severidade_id","doencas_sugeridas","_this$currentSeasonCr3","_this$currentSeasonCr4","nextStep","isBetween","isFarmFromUSA","recommended","moment_semeadura_ini","moment_semeadura_fim","isNotInRecommendedInterval","validate","form","resetAll","atualizaProgramaParaSalvar","apiRequest","updateOrCreateRequest","then","response","catch","_error$response","_error$response$data","message","$api","update","create","fazenda","cultivaresSelecionadas","desmarcarFazenda","fazendas","marcarTodas","getCultivares","f","flatten","acumulador","desmarcarTodas","fazendaId","fechar","checkCropType","semente","cultivaresIds","clonarParaCultivares","err","_err$response","_err$response$data","allWithCultivares","_err$response2","_err$response2$data","CropDiseasesMixin","ModalPrograma","SprayingModal","ModalReplicacao","Efficacies","TotalSprayingsInfo","bagPrice","_this$currentFarm","_this$currentFarm$bag","_bag$price","bag","bag_price","price","custoTotalSc","custoTotal","toFixed","novoPlanejamentoIndex","planejamentos","showDefensiveMenu","$p","defensive","edit","delete","comparisonRoute","_this$currentFarm2","_this$program","programa_id","_this$program2","_this$program2$planej","maxSpraying","isUSA","maxSprayingsByCurrentCrop","eficacias","_this2$ignoredDisease","sem_registro","ignoredDiseases","alvo_id","aplicacaoDataRange","dateFormat","currentLanguage","LANG","EN","dataMin","dataMax","add","precoFloat","d","preco","pegaPrecos","p","precos","somaTudo","preco1","preco2","custoPlanejamento","custoPlanejamentoSc","salvarPrograma","clonarPrograma","excluirPrograma","excluirPlanejamento","canDeleteSpray","isLastSpray","specificWhiteMoldSpraying","doenca_prioritaria_id","handleButtonClick","logEvent","programs","clickedButton_addSpraying","DiseasesNames","ListItem","Loader","TutorialVideoModal","urlAjuda","checkNavBtnStatus","checkIfHasCreatePermission","programsObserver","firstId","values","verifyProgramsWithWhiteMold","fetchDefensivesLastData","_programs$","fetchDefensives","programId","totais_aplicacoes","_programa$planejament","apply","firstProgram","_this$programas","_this$programas$","enabledFarm","previousButton","document","querySelector","nextButton","clickLeft","clickRight","finally","DiseaseHeader","FarmDisabled","HeaderNoFarms","ProgramasHeader","ProgramasList","WithoutVarieties","changeCurrentVariety","_callee2","_this2$currentSeasonC","_this2$currentSeasonC2","_context2","findByCultivar","global","factory","module","exports","createCommonjsModule","getCjsExportFromNamespace","n","colorName","conversions","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","defineProperty","comparativeDistance","y","pow","s","l","r","g","b","rdif","gdif","bdif","diff","diffc","w","m","k","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","z","a","t1","t2","t3","sv","smin","lmin","hi","floor","q","sl","vmin","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","round","ansi","mult","rem","integer","string","toString","substring","colorString","char","grayscale","hue","chroma","pure","mg","buildGraph","graph","models","len","parent","deriveBFS","fromModel","queue","pop","adjacents","adjacent","node","link","wrapConversion","toModel","cur","conversion","route","wrapRaw","wrappedFn","prototype","wrapRounded","result","forEach","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","abbr","rgba","per","hexAlpha","scale","alpha","isNaN","hsla","vals","hexDouble","reverseNames","num","str","Color","obj","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","yiq","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","toJSON","clone","source","prop","spaces","maxes","getValues","space","charAt","capped","chans","sname","svalues","window","chartjsColor","isValidKey","helpers","noop","uid","isNullOrUndef","isObject","valueOrDefault","defaultValue","valueAtIndexOrDefault","thisArg","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","sources","merger","assign","dst","inherits","extensions","me","ChartElement","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","chart","ctx","clearRect","roundedRect","radius","top","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","size","cornerRadius","rad","save","translate","drawImage","restore","beginPath","lineTo","SQRT1_2","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","resolve","inputs","context","info","cacheable","exports$2","_factorize","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","math","interpolate","view","ease","actual","c0","c1","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","tooltipPosition","hasValue","isNumber","core_element","exports$3","numSteps","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","enumerable","method","base","res","object","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","_data","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","borderAlign","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","percent","end","offset","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","position","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","list","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","maxWidth","maxHeight","opts","ratioX","ratioY","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","params","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","__proto__","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","throttled","ticking","createDiv","cls","el","className","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","onScroll","bind","watchForRender","expando","renderProxy","animationName","reflow","offsetParent","classList","unwatchForRender","remove","addResizeListener","container","maintainAspectRatio","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","rootNode","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","targetNode","host","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","core_plugins","_cacheId","register","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","onHover","animationDuration","responsive","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","types","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","ch","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","parse","startOf","endOf","_create","override","members","_date","core_adapters","core_ticks","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","logarithmic","remain","valueOrDefault$a","sample","arr","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","valueAt","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","factor","evenMajorSpacing","spacing","getMajorIndices","skipMajors","tick","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","unit","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","minute","hour","quarter","UNITS","sorter","arrayUnique","hash","out","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","VMenu","VChip","baseMixins","VInput","radioGroup","column","genDefaultSlot","computedId","genInputSlot","genLabel","for","tag","vnode","_b","attrs$","Elevatable","noTitle","computedTitleColor","defaultTitleColor","genTitle","genBodyTransition","genBody","convertToUnit","genActions","elevationClasses","$slots","actions","VPicker","headerColor","genPickerActionsSlot","cancel","elevation","extends","chartdata","hideLabels","mobile","focus","mountChartStructure","computedOptions","deep","ChartDataLabels","diseases","_this$cropDiseasesFil","cropDiseasesFiltered","disease","code","whiteMoldIndex","_this$cropDiseasesFil2","diseasesHideLabels","_this$cropDiseasesFil3","efficacy","applyMaxAndMinValue","hasEfficacy","maxEfficacy","withoutRegister","datalabels","_diseases","formatDecimal","getRealEfficacyBars","getPotencialEfficacyBars","getDiseasesLabels","shouldHideLabels","withoutEfficacyLabel","colorByLevel","anchor","formattedValue","eficaciaAjustada","normalizeEfficacy","potencialGreaterThanReal","_l","Bootable","RegistrableInject","parentIsActive","expansionPanel","isBooted","$nextTick","registerContent","unregisterContent","VExpandTransition","showLazyContent","open","BindsAttrs","RegistrableProvide","inheritAttrs","lazyValidation","watchers","errorBag","errors","watchInput","watcher","$watch","$set","_uid","shouldValidate","resetErrorBag","resetValidation","found","unwatch","$delete","novalidate","submit","withTestLabel","description","option","internalValue","internalOptions","newInternalValue","BaseSlideGroup","chipGroup","scrollOffset","genData","isValidForm","priorityDiseasesIndexes","selectProduct","openSuggestionsBtn","doses","targetsAndDoses","_Object$entries$filte","_this$produto","entries","diseaseData","target_id","selectSecondary","selectedItem","selectItem","selectedItemId","loadingSecondaryList","secondaryItems","secondaryItem","selectedSecondaryItemId","selectSecondaryItem","premiumItems","loadingPremiumList","selectedSecondaryItem","filterItems","shouldSelectNewItem","highlight","highlightSecondary","chartData","choose","ChartEfficacy","TooltipEfficacy","isSingle","tagColor","_this$item$efficacy","_this$item","_this$item$diseasesWi","_this$item2","diseasesWithNoRegister","hasDiseaseWithNoRegister","_this$item3","_this$item3$diseasesW","ProductOptionsList","ProductOptionsDescription","diseasesData","premiumProductSelected","secondaryProductSelected","missingSecondaryTargets","showMissingTargetsMessage","showErrorMessage","mixes","primary","secondary","clearAllData","initializeProductsOptions","fetchSecondaryList","reloadKey","primaryTarget","secondaryTarget","formatPrimary","formatOptions","formatSecondary","selectedProductInfoToShow","_this$secondaryProduc","_this$secondaryProduc2","_this$secondaryProduc3","_this$secondaryProduc4","_this$secondaryProduc5","_this$secondaryProduc6","_this$premiumProductS","_this$premiumProductS2","_this$premiumProductS3","_this$premiumProductS4","_this$premiumProductS5","_this$premiumProductS6","formatMixName","unitType","_this$diseasesData","fetchPremiumList","selectPremium","addMixToApplication","formatActiveIngredients","activeIngredient","capitalize","formatEfficaciesAndRegisters","efficacies","no_register_for_disease","potencial","defensives","_formatEfficaciesAndR","chosenDefensive","active_ingredients","_yield$_this2$$api$de","transformedData","defensiveOptions","ignoreSomeProductDiseases","productoptions","disease_id","_callee3","_this4$currentSeasonC","_yield$_this4$$api$de","_context3","mainDefensiveId","ProductOptionsContainer","openSuggestions","_this$currentFarm$loc","_this$currentFarm$loc2","_this$currentCrop","sprayingNumber","num_aplicacao","doencaPrioritariaId","doencaSecundaria1Id","countryId","location","country","short_title","toggleSuggestions","_ref$secondary","suggestedProducts","unidade","tipo","selectedProducts","updateSelectedProducts","ProductPriceStorage","products","storageKey","productType","productId","setProducts","newProducts","formatProducts","finalProducts","product","normalizeCurrency","F","A","storage","recover","stored","productsByType","storedValues","mergedProducts","defaultsDeep","WHITE_MOLD_ID","isWhiteMoldOnlySpraying","prioritaryTargetIsWhiteMold","hasWhiteMold","whiteMoldDefensives","is_white_mold","disableTargetsSelectionByRules","targetId","setWhiteMoldOnlySpraying","prioritaryTargetId","secondaryTargetId","ProductOptionsMixin","WhiteMoldMixin","DosisTooltip","planningProgram","aplicacao","doencaSecundaria2Id","autocompleteRules","doseRules","removeMask","precoRules","maskConfig","thousands","suffix","masked","loadingDoencasPrioridades","savedProducts","_this$sprayingsDefens","sprayingsDefensives","_p$defensivo","_p$defensivo$unidade_","JSON","stringify","setPrioritariesTargets","selectedSpray","doenca_secundaria_1_id","filteredDefensives","updatePriorityDiseaseIndexForTabs","resetProdutos","refreshTargetsSuggestion","selectedDefensives","_defensive$doses","_defensive$doses$soyb","special_targets","soybean_white_mold","has_register","acronym","sprayings","_this$planningProgram","_this$planningProgram2","execucoes","_this$selectedSpray$p","_this$selectedSpray","_this$selectedSpray2","execucao_defensivos","API","api","numberOfTargets","showProductOptions","$toggle","removeAccents","normalize","customDefensiveFilter","queryText","searchText","include","doencas","sugerir","prioritaria_id","secundaria_1_id","selectedDiseasesIds","diseaseId","_this4$cropDiseasesFi","changePriorityDisease","prioritizedDiseasesIndex","_prioritizedDiseasesI","_this5$cropDiseasesFi","_prioritizedDiseasesI2","_prioritizedDiseasesI3","_prioritizedDiseasesI4","doencaChipColor","doenca","novoFungicida","excluirProduto","getProductDataFromList","foundDefensive","completeProduct","lastPrice","lastDose","savedProduct","valor","_yield$_this6$API","notifications","abrupt","mountSprayingData","loadPrograma","productPriceStorage","clickedButton_createdSpraying","_this7","adjuvantes","foliares","defensivos","defensivo_id","unitLabel","_produto$unidade","$unitMeasures","$currentLanguage","priceLabel","_produto$unidade2","targetLength","padString","repeat","rest","cents","restOnlyDigits","formattedCents","RegExp","test","normalizeCoordinatesKML","coordinates","coordinatesValid","replaceAll","utc","dateTimeFormats","timezone","formatDayOfMonth","i18n","formatDayDayOfMonth","formatHour","ripple","genRipple","inject","complete","completeIcon","editable","editIcon","errorIcon","rules","step","isInactive","hasError","stepper","stepClick","genIcon","genStep","genStepContent","keyboardClick","keyCode","keyCodes","tabindex","keydown","VSlider","activeThumb","lazyValue","roundValue","minValue","maxValue","toFocus","deepEqual","inputWidth","getTrackStyle","startLength","endLength","startPadding","endPadding","startDir","endDir","trackTransition","getIndexOfClosestValue","genInput","genTrackContainer","isDisabled","sections","computedTrackColor","computedTrackFillColor","section","genChildren","genSteps","onFocus","isFocused","onBlur","valueWidth","genThumbContainer","reevaluateSelected","refName","thumbRef","onSliderMouseDown","parseMouseMove","_a","thumbPressed","domRect","startOffset","clearTimeout","mouseTimeout","mouseUpOptions","passiveSupported","capture","mouseMoveOptions","isTouchEvent","onMouseMove","app","addOnceEventListener","onSliderMouseUp","onSliderClick","noClick","setInternalValue","onKeyDown","parseKeyDown","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","self","freeExports","nodeType","freeModule","moduleExports","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","func","baseTimes","iteratee","baseUnary","overArg","transform","arg","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","exec","IE_PROTO","nativeObjectToString","objectCtorString","reIsNative","Buffer","Symbol","Uint8Array","allocUnsafe","getPrototype","getPrototypeOf","objectCreate","propertyIsEnumerable","symToStringTag","toStringTag","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","Map","nativeCreate","baseCreate","proto","Hash","entry","hashClear","__data__","hashDelete","has","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","lastIndex","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","isIndex","assignMergeValue","eq","baseAssignValue","assignValue","objValue","baseFor","createBaseFor","baseGetTag","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","isMasked","pattern","isFunction","toSource","baseIsTypedArray","isLength","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","srcValue","baseMergeDeep","safeGet","keysIn","mergeFunc","isCommon","isTyped","isArrayLikeObject","copyArray","cloneBuffer","cloneTypedArray","isPlainObject","toPlainObject","initCloneObject","baseRest","setToString","overRest","identity","baseSetToString","constant","buffer","isDeep","copy","cloneArrayBuffer","arrayBuffer","byteLength","typedArray","byteOffset","copyObject","isNew","createAssigner","assigner","guard","isIterateeCall","fromRight","keysFunc","iterable","customDefaultsMerge","isKeyable","isOwn","unmasked","isArrayLike","Ctor","otherArgs","shortOut","lastCalled","stamp","remaining","other","stubFalse","mergeWith","Rippleable","GroupableFactory","offIcon","onIcon","groupClasses","Selectable","hasLabel","hasState","isReadonly","computedName","rippleState","validationState","VLabel","prevent","focused","genRadio","_this$attrs$","radioAttrs","_objectWithoutProperties","_excluded","onChange","onKeydown","tab","disableCrops","enabledsCrops","cropChanged","cropIndex","textInfo","isProductOption","Routable","tabValue","proxyClass","href","append","detail","blur","tabsBar","mandatory","_this$generateRouteLi","generateRouteLink","enter","Proxyable","altLabels","nonLinear","content","isReverse","internalLazyValue","updateView","$options","bias","calculateUpdatedOffset","selectedElement","currentScrollOffset","wrapper","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","Mobile","Resize","activeClass","centerActive","showArrows","isOverflowing","resizeTimeout","isSwipingHorizontal","isSwiping","canTouch","__cachedNext","genTransition","__cachedPrev","hasAffixes","isMobile","hasNext","_this$widths","hasPrev","scroll","ResizeObserver","obs","observe","disconnect","itemsLength","setWidths","onFocusin","_step","_iterator","_createForOfIteratorHelper","composedPath","done","_step2","_iterator2","genNext","onAffixClick","focusin","upperLocation","hasAffix","genPrev","VFadeTransition","overflowCheck","onTouchStart","move","onTouchMove","onTouchEnd","calculateNewOffset","newAbosluteOffset","scrollTo","_isDestroyed","touchstartX","diffX","touchmoveX","diffY","touchmoveY","touchstartY","documentElement","overflowY","_this$$refs","maxScrollOffset","removeProperty","scrollIntoView","lastItemPosition","wrapperPosition","selectedIndex","_this5$$refs","slideGroup","VStepperHeader","createSimpleFunctional","VStepperItems","VStepper","VStepperContent","VStepperStep","webpackContext","req","webpackContextResolve","__webpack_require__","o","BaseItem","functional","Ripple","indeterminate","indeterminateIcon","def","mergeData","mobileVarietyInfoDialog","closeMobile","seedName","activeFilter","GMRActiveFilter","owner","company","panel","$$a","$$el","$$c","ownerList","GMR","varieties","clickedFunction_Order","clickedFunction_Filter","removeSpecialCharacters","FilterModal","sortedAndFilteredVarieties","sortedVarieties","sortItems","sortBy","CROP","SOYBEAN","WHEAT","filteredVarieties","filterReset","showing_created","timeout","applyFilter","populateOwner","applySort","clickedFunction_Search_name","seedNameSort","GMRSort","ownerSort","recommendedSort","updateVarietiesList","addedVarietiesSort","filterUpdate","resetFilter","clickedFunction_Filter_clean","recomendado","localeCompare","asset_owner_name","grupo","prepareString","isWheat","hideCreated","showCreated","varietiesRender","selectedVariety","removeVariety","selectVariety","showInfo","notRecommended","varietyAdded","selectInfo","excluirCultivar","modalSolicitacao","msg","VarietyItem","RequestNotCatalogedVariety","renderAmount","checkScroll","renderVarieties","onscroll","scrollY","varietyObject","CropTabs","NoAvailableVariety","SortAndFilter","VarietyHeader","VarietyList","loadingVarieties","loadVarieties","sementes","isFarmAvailableForCrop","selectedVarietyInfo","getSeedsBySelectedCrop","newObj","VGrid","startsWith","Grid","fluid","screen","deviceXDPI","logicalXDPI","utils","toTextLines","parseFont","bound","arrayDiff","updates","rasterize","orient","x0","y0","dx","dy","ln","aligned","vx","vy","R_INSIDE","R_LEFT","R_RIGHT","R_BOTTOM","R_TOP","region","clipped","segment","r0","r1","compute","clamp","rx","ry","sx","sy","fallback","th","tw","tx","ty","frame","getScaleOrigin","getPositioner","drawFrame","bgColor","borderRadius","textGeometry","drawTextLine","shadow","shadowBlur","stroked","strokeText","filled","drawText","strokeColor","textStrokeColor","strokeWidth","textStrokeWidth","textShadowBlur","shadowColor","textShadowColor","Label","_rects","_ctx","_el","_modelize","positioner","geometry","helpers$2","rotated","projected","dp","toAxis","HitBox","_rotation","_rect","vs","collide","collider","s0","s1","$layout","_visible","_box","intersects","compute$1","state","h0","_hidable","h1","contains","pr0","pr1","_points","axes","prepare","sa","sb","dirty","helpers$3","helpers$4","DEFAULT_KEY","configs","_key","dispatchEvent","$context","groups","$groups","_dirty","dispatchMoveEvents","leave","handleMoveEvents","_labels","_hovered","handleClickEvents","handlers","invalidate","_actives","_listened","_datasets","afterDatasetUpdate","afterDatasetsDraw","beforeEvent","actives","VWindow","rootIsDark","VDivider","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","selectedItems","parsedItems","tileActiveClass","staticNoDataTile","mousedown","VListItem","genTileContent","genAction","inputValue","VListItemAction","VSimpleCheckbox","genDivider","genFilteredText","_this$getMaskedCharac","getMaskedCharacters","middle","genHighlight","toLocaleLowerCase","genTile","_ref$disabled","_ref$value","hasItem","getDisabled","scopedSlot","needsTile","VListItemContent","VListItemTitle","getText","componentOptions","getPropertyFromItem","divider","VList","defaultMenuProps","closeOnClick","closeOnContentClick","disableKeys","openOnClick","VTextField","Comparable","Dependent","Filterable","ClickOutside","appendIcon","attach","cacheItems","chips","clearable","deletableChips","disableLookup","eager","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","hasChips","computedItems","computedOwns","computedCounterValue","counterValue","closeConditional","getOpenDependentElements","dynamicHeight","hasSlot","selection","isDirty","listData","scopeId","$vnode","_scopeId","virtualizedItems","select","staticList","consoleError","VSelectList","$_menuProps","auto","menuCanShow","normalisedProps","nudgeBottom","initialValue","setSelectedItems","menu","updateDimensions","onMenuActiveChange","setMenuIndex","activateMenu","isInteractive","clearableCallback","setValue","getContent","uniqueValues","findExistingIndex","valueComparator","genChipSelection","onChipInput","genCommaSelection","selections","genSelections","genFieldset","genAffix","genClearIcon","genIconSlot","genHiddenInput","genMenu","genProgress","cb","extraData","getObjectValueByPath","autocomplete","placeholder","persistentPlaceholder","keypress","onKeyPress","genList","genListWithSlot","_this8","slots","slotName","_this9","activator","genSelection","genSlotSelection","_this10","selected","getMenuIndex","listIndex","isAppendInner","onEscDown","_this11","ctrlKey","metaKey","altKey","KEYBOARD_LOOKUP_THRESHOLD","performance","getTiles","_this12","up","down","home","changeListIndex","onUpDown","esc","onTabDown","onSpaceDown","tiles","onMouseUp","_this13","hasMouseDown","which","_this14","showMoreItems","activeTile","_this15","hasClickableTiles","prevTile","nextTile","firstTile","lastTile","_this16","_this17","appendInner","Loadable","inverseLabel","thumbColor","thumbLabel","thumbSize","tickLabels","tickSize","trackColor","trackFillColor","showTicks","stepNumeric","trackFillStyles","valueDir","trackStyles","showThumbLabel","computedThumbColor","parsed","slider","genSlider","offsetDirection","genThumb","thumbLabelContent","genThumbLabelContent","genThumbLabel","getThumbContainerStyles","VScaleTransition","thumb","_this$$refs$track$get","track","trackStart","trackLength","clickOffset","clickPos","pageup","pagedown","increase","multiplier","shiftKey","trimmedStep","decimals","VSelectMenuProps","offsetOverflow","VSelect","autoSelectFirst","hideNoData","lazySearch","filteredItems","selectedValues","hasDisplayedItems","currentRange","isSearching","internalSearch","isAnyValueAllowed","searchIsDirty","contentClass","onCopy","updateSelf","setSearch","destroyed","onFilteredItemsChanged","preSelectedItem","onInternalSearchChanged","updateMenuDimensions","changeSelectedIndex","backspace","deleteCurrentItem","curIndex","curItem","nextIndex","onInput","badInput","validity","currentItemText","clipboardData","setData","disableIconRotate","expandIcon","hideActions","hasMousedown","registerHeader","unregisterHeader","mouseup","Sizeable","ToggleableFactory","draggable","filterIcon","pill","isClickable","isLink","hasClose","sizeableClasses","breakingProps","replacement","genFilter","VExpandXTransition","genClose","hasCropDiseases","hasProgramWithWhiteMold","_this$seasonCropsDise","_this$seasonCropsDise2","seasonCropsDiseases","kebabCase","focusStructure","spraying","isPlanning","efficaciesWithoutWhiteMold","_this$ignoredDiseases","eficacia_ajustada","eficacia_real","eficacia_potencial","heightByDiseases","firstFocus","secondFocus","isVerticalProvided","VTabReverseTransition","VTabTransition","onTransition","propertyName","contentData","wrapperData","windowGroup","continuous","showArrowsOnHover","touchless","changedByDelimiters","internalHeight","transitionHeight","transitionCount","internalReverse","hasActiveItems","internalIndex","updateReverse","genContainer","genControlIcons","large","icons","getNextIndex","getPrevIndex","prevIndex","season_name","selectedCurrentSeason","seasonCropsList","setSelectedSeasonCrop","setCurrentSeasonCrop","seasonsCropsStorage","fetchDiseases","fetchSeasonCropVarieties","getStoredSeasonCrop","storedSeasonCrop","savedSeasonCropFound","seasonCrop","getLastSeasonCrop","seasonsCrops","_this2$currentCrop","falseValue","trueValue","hasColor","appIsDark","checked","SSRBootable","callSlider","onRouteChange","newPath","oldPath","hasNew","hasOld","alignWithTitle","centered","fixedTabs","grow","hideSlider","iconsAndText","mobileBreakpoint","optional","sliderColor","sliderSize","transitionTime","isReversed","sliderStyles","activeTab","offsetWidth","scrollWidth","genBar","VTabsBar","genItems","VTabsItems","VTabsSlider","parseNodes","_this$parseNodes","modifiers","quiet"],"mappings":"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","file":"js/planning-module.3a3e8b09.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=style&index=0&id=4db6abae&prod&scoped=true&lang=css\"","// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n getSlot(this, 'prepend') || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n getSlot(this, 'append'),\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, getSlot(this))\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=style&index=0&id=1f23a8a2&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"variety\"},[_c('div',{staticClass:\"variety-info-container\"},[_c('div',{staticClass:\"attribute\"},[_c('div',[_c('div',{staticClass:\"type crop\"},[_c('v-img',{attrs:{\"width\":\"14\",\"alt\":_vm.cropIcon.alt,\"src\":_vm.cropIcon.src}}),_vm._v(\" \"+_vm._s(_vm.$t(_vm.currentCrop.messageKey).toUpperCase())+\" \")],1)]),_c('div',{staticClass:\"data seed\"},[_vm._v(\" \"+_vm._s(_vm.variety.cultivar)+\" \")])]),_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.owner'))+\" \")],1),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.asset_owner_name)+\" \")])]),(_vm.variety.grupo)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-poll\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.gmr'))+\" \")],1),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.grupo)+\" \")])]):_vm._e(),(_vm.variety.habito && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.habito_crescimento'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.growth_habit.' + _vm.variety.habito.toLowerCase()))+\" \")])]):_vm._e(),(_vm.variety.ciclo_dias)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.ciclo'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.cicleStart)+\" \"+_vm._s(_vm.$t('until'))+\" \"+_vm._s(_vm.cicleEnd)+\" \"+_vm._s(_vm.$t('days'))+\" \")])]):_vm._e(),(_vm.variety.populacao_min && _vm.variety.populacao_max && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.populacao'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.populacao_entre', [ _vm.variety.populacao_min, _vm.variety.populacao_max, ]))+\" \")])]):_vm._e(),(_vm.variety.semeadura_ini && _vm.variety.semeadura_fim && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.epoca_semeadura'))+\" \")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [_vm.plantingTimeStart, _vm.plantingTimeEnd]))+\" \")])]):_vm._e(),(_vm.variety.ogm && !_vm.isUSA)?_c('div',{staticClass:\"attribute\"},[_c('div',{staticClass:\"type\"},[_vm._v(\"OGM\")]),_c('div',{staticClass:\"data\"},[_vm._v(\" \"+_vm._s(_vm.variety.ogm)+\" \")])]):_vm._e()]),_c('div',{staticClass:\"variety-info-actions\"},[(_vm.isRegisteredVariety)?_c('v-btn',{staticClass:\"planning-btn text-none\",attrs:{\"data-id\":\"disease-control\",\"to\":{\n path: _vm.planningRoutePath,\n query: {\n fazenda_id: _vm.currentFarmId,\n cultivar_id: _vm.variety.cultivar_id,\n },\n }}},[_vm._v(_vm._s(_vm.$t('cultivar.go_to_planning'))+\" \")]):_c('v-btn',{staticClass:\"planning-btn text-none\",attrs:{\"data-id\":\"add-variety-button\"},on:{\"click\":_vm.addVariety}},[(_vm.loading)?_c('v-progress-circular',{attrs:{\"size\":\"18\",\"indeterminate\":\"\"}}):_c('div',{staticClass:\"planning-icon\"},[_vm._v(\" \"+_vm._s(_vm.$t('cultivar.create_variety'))+\" \"),_c('v-icon',{staticClass:\"ml-3\",attrs:{\"size\":\"18\"}},[_vm._v(\"mdi-plus\")])],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfo.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyInfo.vue?vue&type=template&id=71d97519&scoped=true\"\nimport script from \"./VarietyInfo.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyInfo.vue?vue&type=style&index=0&id=71d97519&prod&lang=scss&scoped=true\"\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 \"71d97519\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.program.total_aplicacoes_sugeridas)?_c('v-alert',{staticClass:\"body-2 text-center\",attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"blue\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.numero_aplicacoes_sugeridas'))+\": \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('_to_', [ _vm.program.total_aplicacoes_sugeridas - 1, _vm.program.total_aplicacoes_sugeridas, ]))+\" \")]):_vm._e(),(_vm.program.white_mold_total_sprayings > 0)?_c('v-alert',{staticClass:\"body-2 text-center warning-alert\",attrs:{\"dense\":\"\",\"text\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.whiteMoldSprayingText)+\" \"+_vm._s(_vm.$t('programa.white_mold_total_sprayings'))+\" \"),_c('br')]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TotalSprayingsInfo.vue?vue&type=template&id=51358fec&scoped=true\"\nimport script from \"./TotalSprayingsInfo.vue?vue&type=script&lang=js\"\nexport * from \"./TotalSprayingsInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./TotalSprayingsInfo.vue?vue&type=style&index=0&id=51358fec&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51358fec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-no-farms\"},[_c('div',{staticClass:\"header__image\"},[_c('img',{staticClass:\"image\",attrs:{\"alt\":\"no-farm\",\"src\":\"/img/backgrounds/img-header-home-no-farms-1920.webp\",\"srcset\":\"/img/backgrounds/img-header-home-no-farms-768.webp\" + \" 768w, \" + \"/img/backgrounds/img-header-home-no-farms-1264.webp\" + \" 1264w, \" + \"/img/backgrounds/img-header-home-no-farms-1920.webp\" + \" 1920w\",\"sizes\":\"\\n (max-width: 768px) 768px,\\n (max-width: 1264px) 1264px,\\n (max-width: 1920px) 1920px,\\n 1920px\\n \"}}),_c('div',{staticClass:\"df-flex-m df-flex-col align-center image__title\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Home.header.hello_user', [_vm.currentUser.name]))+\" Digifarmz, \")]),_c('h2',[_vm._v(_vm._s(_vm.$t('Home.header_no_farms.welcome_no_farms')))])])]),_c('div',{staticClass:\"df-flex-xxl justify-center header__content\"},[_c('div',{staticClass:\"df-flex-xl df-flex-col align-center content__add-farm\",on:{\"click\":_vm.createFarm}},[_c('v-img',{attrs:{\"alt\":\"tractor\",\"max-width\":\"90px\",\"src\":\"/icons/ic-tractor-icon.svg\"}}),_c('div',{staticClass:\"df-flex-sm df-flex-col align-center add-farm__text\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Home.header_no_farms.create_farm'))+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Home.header_no_farms.manual_create_farm'))+\" \")])])],1),(false)?_c('div',{staticClass:\"df-flex-xl df-flex-col align-center content__fieldview\",on:{\"click\":_vm.redirectToFieldview}},[_c('v-img',{attrs:{\"alt\":\"fieldview\",\"max-width\":\"90px\",\"src\":\"/img/logos/logo-fieldview.svg\"}}),_c('div',{staticClass:\"df-flex-sm df-flex-col align-center fieldview__text\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Home.header.fieldview_import'))+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('Home.header.conditional_import_farms_and_plots'))+\" \")])])],1):_vm._e()]),(_vm.dialogModalFarm)?_c('add-farm-modal',{on:{\"close\":_vm.closeFarmModal,\"reload-farms\":_vm.reloadFarmsList}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNoFarms.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNoFarms.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HeaderNoFarms.vue?vue&type=template&id=6aa35028&scoped=true\"\nimport script from \"./HeaderNoFarms.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderNoFarms.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderNoFarms.vue?vue&type=style&index=0&id=6aa35028&prod&lang=scss&scoped=true\"\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 \"6aa35028\",\n null\n \n)\n\nexport default component.exports","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n if (!this.$refs.canvas) throw new Error('Please remove the tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components');\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=style&index=0&id=7ddc70a7&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('df-button',{attrs:{\"icon\":\"video\",\"variant\":\"text-blue\"},on:{\"click\":_vm.openTutorialModal}},[_vm._v(\" \"+_vm._s(_vm.$t('tutorial'))+\" \")]),(_vm.isTutorialModalOpened)?_c('df-modal',{attrs:{\"width\":\"668px\",\"title\":_vm.$t('tutorial')},on:{\"close\":_vm.closeTutorialModal},scopedSlots:_vm._u([{key:\"card-content\",fn:function(){return [_c('iframe',{attrs:{\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\"allowfullscreen\":\"\",\"frameborder\":\"0\",\"height\":\"384px\",\"width\":\"100%\",\"src\":_vm.urlVideo}})]},proxy:true}],null,false,2908427868)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TutorialVideoModal.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TutorialVideoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TutorialVideoModal.vue?vue&type=template&id=835f219a\"\nimport script from \"./TutorialVideoModal.vue?vue&type=script&lang=js\"\nexport * from \"./TutorialVideoModal.vue?vue&type=script&lang=js\"\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","'use strict';\nvar $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","import './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return this.$createElement(VIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || ' ' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-date-picker-title',\n class: {\n 'v-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'localable',\n\n props: {\n locale: String,\n },\n\n computed: {\n currentLocale (): string {\n return this.locale || this.$vuetify.lang.current\n },\n },\n})\n","import pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n","import pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n","import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, getSlot(this) || [this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport function createItemTypeNativeListeners (instance: Vue, itemTypeSuffix: string, value: any) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = (event: Event) => instance.$emit(eventName, value, event)\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n\nexport function createItemTypeListeners (instance: Vue, itemTypeSuffix: string) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName] = instance.$listeners[eventName]\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n","// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (dateString: string, type: 'date' | 'month' | 'year'): string => {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n","import { DatePickerAllowedDatesFunction } from 'vuetify/types'\n\nexport default function isDateAllowed (date: string, min: string, max: string, allowedFn: DatePickerAllowedDatesFunction | undefined) {\n return (!allowedFn || allowedFn(date)) &&\n (!min || date >= min.substr(0, 10)) &&\n (!max || date <= max)\n}\n","import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType,\n current: String,\n disabled: Boolean,\n format: Function as PropType,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'v-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'v-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n","function createUTCDate (year: number, month = 0, day = 1) {\n let date\n if (year < 100 && year >= 0) {\n date = new Date(Date.UTC(year, month, day))\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(year)\n }\n } else {\n date = new Date(Date.UTC(year, month, day))\n }\n\n return date\n}\n\nfunction firstWeekOffset (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear\n const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7\n\n return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1\n}\n\nfunction dayOfYear (year: number, month: number, day: number, firstDayOfWeek: number) {\n let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month]\n if (month > 1 && isLeapYear(year)) {\n dayOfYear++\n }\n\n return dayOfYear + day\n}\n\nfunction weeksInYear (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear)\n const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear)\n const daysInYear = isLeapYear(year) ? 366 : 365\n\n return (daysInYear - weekOffset + weekOffsetNext) / 7\n}\n\nexport function weekNumber (year: number, month: number, day: number, firstDayOfWeek: number, localeFirstDayOfYear: number): number {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, localeFirstDayOfYear)\n const week = Math.ceil((dayOfYear(year, month, day, firstDayOfWeek) - weekOffset) / 7)\n\n if (week < 1) {\n return week + weeksInYear(year - 1, firstDayOfWeek, localeFirstDayOfYear)\n } else if (week > weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)) {\n return week - weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)\n } else {\n return week\n }\n}\n\nexport function isLeapYear (year: number): boolean {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)\n}\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport { pad, createNativeLocaleFormatter, monthChange } from './util'\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-date-table',\n\n props: {\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n weekdayFormat: Function as PropType,\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { day: 'numeric', timeZone: 'UTC' }, { start: 8, length: 2 })\n },\n weekdayFormatter (): DatePickerFormatter | undefined {\n return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, { weekday: 'narrow', timeZone: 'UTC' })\n },\n weekDays (): string[] {\n const first = parseInt(this.firstDayOfWeek, 10)\n\n return this.weekdayFormatter\n ? createRange(7).map(i => this.weekdayFormatter!(`2017-01-${first + i + 15}`)) // 2017-01-15 is Sunday\n : createRange(7).map(i => ['S', 'M', 'T', 'W', 'T', 'F', 'S'][(i + first) % 7])\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return monthChange(this.tableDate, Math.sign(delta || 1))\n },\n genTHead () {\n const days = this.weekDays.map(day => this.$createElement('th', day))\n if (this.showWeek) {\n days.unshift(this.$createElement('th'))\n }\n\n return this.$createElement('thead', this.genTR(days))\n },\n // Returns number of the days from the firstDayOfWeek to the first day of the current month\n weekDaysBeforeFirstDayOfTheMonth () {\n const firstDayOfTheMonth = new Date(`${this.displayedYear}-${pad(this.displayedMonth + 1)}-01T00:00:00+00:00`)\n const weekDay = firstDayOfTheMonth.getUTCDay()\n\n return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7\n },\n getWeekNumber (dayInMonth: number) {\n return weekNumber(\n this.displayedYear,\n this.displayedMonth,\n dayInMonth,\n parseInt(this.firstDayOfWeek),\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('td', [\n this.$createElement('small', {\n staticClass: 'v-date-picker-table--date__week',\n }, String(weekNumber).padStart(2, '0')),\n ])\n },\n // eslint-disable-next-line max-statements\n genTBody () {\n const children = []\n const daysInMonth = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate()\n let rows = []\n let day = this.weekDaysBeforeFirstDayOfTheMonth()\n\n if (this.showWeek) {\n rows.push(this.genWeekNumber(this.getWeekNumber(1)))\n }\n\n const prevMonthYear = this.displayedMonth ? this.displayedYear : this.displayedYear - 1\n const prevMonth = (this.displayedMonth + 11) % 12\n const firstDayFromPreviousMonth = new Date(this.displayedYear, this.displayedMonth, 0).getDate()\n const cellsInRow = this.showWeek ? 8 : 7\n\n while (day--) {\n const date = `${prevMonthYear}-${pad(prevMonth + 1)}-${pad(firstDayFromPreviousMonth - day)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n for (day = 1; day <= daysInMonth; day++) {\n const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`\n\n rows.push(this.$createElement('td', [\n this.genButton(date, true, 'date', this.formatter),\n ]))\n\n if (rows.length % cellsInRow === 0) {\n children.push(this.genTR(rows))\n rows = []\n if (this.showWeek && (day < daysInMonth || this.showAdjacentMonths)) {\n rows.push(this.genWeekNumber(this.getWeekNumber(day + 7)))\n }\n }\n }\n\n const nextMonthYear = this.displayedMonth === 11 ? this.displayedYear + 1 : this.displayedYear\n const nextMonth = (this.displayedMonth + 1) % 12\n let nextMonthDay = 1\n\n while (rows.length < cellsInRow) {\n const date = `${nextMonthYear}-${pad(nextMonth + 1)}-${pad(nextMonthDay++)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n if (rows.length) {\n children.push(this.genTR(rows))\n }\n\n return this.$createElement('tbody', children)\n },\n genTR (children: VNodeChildren) {\n return [this.$createElement('tr', children)]\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--date', [\n this.genTHead(),\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return this.$createElement('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(this.$createElement('tr', {\n key: row,\n }, tds))\n }\n\n return this.$createElement('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface options extends Vue {\n $el: HTMLElement\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropType,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return this.$createElement('ul', {\n staticClass: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n","import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n","// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType,\n allowedDates: Function as PropType,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator,\n value: [Array, String] as PropType,\n weekdayFormat: Function as PropType,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',
')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasNoFarms)?_c('header-no-farms'):_c('div',[_c('disease-header'),_c('div',{staticClass:\"df-flex-l df-flex-col disease-home\"},[(_vm.currentFarm && !_vm.currentFarm.enabled)?_c('farm-disabled'):_vm._e(),_c('df-skeleton-loader',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cultivaresLoading || _vm.loadingChangeFarm),expression:\"cultivaresLoading || loadingChangeFarm\"}],attrs:{\"height\":\"72px\"}}),_c('programas-header',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.cultivaresLoading && !_vm.loadingChangeFarm && _vm.varietiesLoaded),expression:\"!cultivaresLoading && !loadingChangeFarm && varietiesLoaded\"}],attrs:{\"cultivares\":_vm.cultivares},on:{\"change-variety\":_vm.changeVariety}}),(\n _vm.farms.length && !_vm.cultivaresLoading && (!_vm.cultivar || !_vm.varietiesLoaded)\n )?_c('without-varieties'):_vm._e(),(_vm.varietiesLoaded && _vm.cultivar)?_c('programas-list',{attrs:{\"loading\":_vm.cultivaresLoading || _vm.loadingChangeFarm || _vm.loadingVariety,\"programas\":_vm.programas,\"cultivar\":_vm.cultivar},on:{\"alterou\":_vm.fetchPrograms}}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('df-page-header',{staticClass:\"disease-header\",attrs:{\"title\":_vm.$t('menu.diseases'),\"subtitle\":_vm.$t('menu.planejamento')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('selector-seasons-crops',{staticClass:\"header-actions\"})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseaseHeader.vue?vue&type=template&id=36df9199&scoped=true\"\nimport script from \"./DiseaseHeader.vue?vue&type=script&lang=js\"\nexport * from \"./DiseaseHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseaseHeader.vue?vue&type=style&index=0&id=36df9199&prod&lang=scss&scoped=true\"\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 \"36df9199\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"program-header\"},[_c('v-card',{staticClass:\"card crop\"},[_c('v-select',{staticClass:\"crop-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"value\":_vm.currentCrop,\"items\":_vm.translatedCrops,\"item-value\":\"id\",\"item-text\":\"name\",\"single-line\":\"\",\"outlined\":\"\",\"color\":\"#39af49\",\"label\":_vm.$t('disease_control.select_crop')},on:{\"change\":_vm.changeCrop}})],1),_c('v-card',{staticClass:\"card variety\"},[_c('v-select',{staticClass:\"season-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"items\":_vm.varietiesAndCropHeaders,\"item-value\":\"id\",\"item-text\":\"cultivar\",\"single-line\":\"\",\"outlined\":\"\",\"color\":\"#39af49\",\"label\":_vm.$t('disease_control.select_variety'),\"return-object\":\"\"},scopedSlots:_vm._u([{key:\"append-item\",fn:function(){return [_c('div',{staticClass:\"px-2\"},[_c('v-btn',{staticClass:\"create-variety\",on:{\"click\":_vm.createVariety}},[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.create_variety'))+\" \"),_c('font-awesome-icon',{staticClass:\"ml-1\",attrs:{\"icon\":\"leaf\",\"color\":\"#39AF49\"}})],1)],1)]},proxy:true}]),model:{value:(_vm.cultivar),callback:function ($$v) {_vm.cultivar=$$v},expression:\"cultivar\"}})],1),_c('v-card',{staticClass:\"card data\"},[_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.owner'))+\" \")],1),(_vm.cultivar)?_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.cultivar.titular)+\" \")]):_vm._e()]),(\n _vm.cultivar && _vm.cultivar.semeadura_ini && _vm.cultivar.semeadura_fim && !_vm.isUSA\n )?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-calendar\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.epoca_semeadura'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [_vm.plantingTimeStart, _vm.plantingTimeEnd]))+\" \")])]):_vm._e(),(_vm.cultivar && _vm.cultivar.habito && !_vm.isUSA)?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\" mdi-chart-areaspline-variant \")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.habito_crescimento'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(_vm._s(_vm.cultivar.habito))])]):_vm._e(),(_vm.cultivar && _vm.cultivar.ciclo_dias)?_c('div',[_c('div',{staticClass:\"type\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\" mdi-chart-areaspline-variant \")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.ciclo'))+\" \")],1),_c('div',{staticClass:\"variety-info\"},[_vm._v(\" \"+_vm._s(_vm.varietyStartCycle)+\" \"+_vm._s(_vm.$t('until'))+\" \"+_vm._s(_vm.varietyEndCycle)+\" \"+_vm._s(_vm.$t('days'))+\" \")])]):_vm._e(),_c('div',[_c('variety-info-modal',{attrs:{\"variety\":_vm.cultivar}})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"fullscreen\":_vm.isMobile},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',[_c('v-list-item-title',_vm._g(_vm._b({},'v-list-item-title',attrs,false),on),[_c('button',{staticClass:\"open-dialog\",attrs:{\"disabled\":!_vm.variety}},[_c('v-icon',{attrs:{\"color\":\"#39AF49\",\"size\":\"24\"}},[_vm._v(\"mdi-information-symbol\")])],1)])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('variety.variety_info'))+\" \")]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('variety-info',{attrs:{\"variety\":_vm.variety}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfoModal.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfoModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyInfoModal.vue?vue&type=template&id=e9f5a2f2&scoped=true\"\nimport script from \"./VarietyInfoModal.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyInfoModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyInfoModal.vue?vue&type=style&index=0&id=e9f5a2f2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e9f5a2f2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramHeader.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgramHeader.vue?vue&type=template&id=5e45e1ea&scoped=true\"\nimport script from \"./ProgramHeader.vue?vue&type=script&lang=js\"\nexport * from \"./ProgramHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgramHeader.vue?vue&type=style&index=0&id=5e45e1ea&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e45e1ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.isMobile)?_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"title py-1\",attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.programas'))+\" \")]),(_vm.enabledFarm)?_c('v-col',{staticClass:\"pa-1 text-left\",attrs:{\"cols\":\"4\"}},[(_vm.isActivatedComparison)?_c('v-btn',{attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.comparisonRoute}},[_c('v-icon',[_vm._v(\"mdi-compare-horizontal\")]),_vm._v(\"   \"+_vm._s(_vm.$t('Comparison.title'))+\" \")],1):_vm._e()],1):_vm._e(),(_vm.tutorialToggle)?_c('v-col',{staticClass:\"pa-1 text-right\",attrs:{\"cols\":\"3\"}},[_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda}})],1):_vm._e()],1):_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('div',{staticClass:\"list-header\"},[_c('div',{staticClass:\"list-header-title\"},[_c('div',[_vm._v(_vm._s(_vm.$t('programa.programas')))]),(_vm.tutorialToggle)?_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda,\"event\":\"tutorial_programa\",\"name\":\"list_programa\"}}):_vm._e(),_c('v-col',{staticClass:\"pa-1 d-md-none\",attrs:{\"cols\":\"6\"}},[(_vm.tutorialToggle)?_c('tutorial-video-modal',{attrs:{\"url-video\":_vm.urlAjuda,\"event\":\"tutorial_programa\",\"name\":\"list_programa\"}}):_vm._e()],1)],1),(_vm.isActivatedComparison)?_c('v-btn',{staticClass:\"btn-compare\",on:{\"click\":_vm.comparisonRoute}},[_vm._v(\" \"+_vm._s(_vm.$t('Comparison.title'))+\" \"),_c('v-icon',{attrs:{\"color\":\"#39AF49\"}},[_vm._v(\"mdi-compare-horizontal\")])],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-1 d-flex d-md-none\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.programas'))+\" \")]),_c('v-col',{staticClass:\"pa-1 text-right d-md-none\",attrs:{\"cols\":\"8\"}},[_c('modal-programa',{attrs:{\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.listaProgramas},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"white--text\",attrs:{\"depressed\":\"\",\"color\":\"#8BC34A\",\"x-small\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.$t('adicionar'))+\" \"+_vm._s(_vm.$t('programa.programa'))+\" \")])]}}])})],1)],1),_c('v-row',{staticClass:\"d-sm-none\"},[_c('v-col',{staticClass:\"text-left\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 mr-2\",\"height\":\"40px\",\"width\":\"40px\"},on:{\"click\":_vm.clickLeft}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1),_c('v-col',{staticClass:\"text-right\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 ml-2\",\"height\":\"40px\",\"width\":\"40px\"},on:{\"click\":_vm.clickRight}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)],1),_c('v-slide-group',{staticClass:\"mt-4\",attrs:{\"mobile-breakpoint\":\"xs\"},scopedSlots:_vm._u([{key:\"prev\",fn:function(){return [_c('v-row',{staticStyle:{\"height\":\"100%\"},attrs:{\"align\":\"start\"}},[_c('v-row',{staticStyle:{\"height\":\"500px\"},attrs:{\"align\":\"center\",\"justify\":\"end\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 mr-2\",\"height\":\"40px\",\"width\":\"40px\"}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1)],1)],1)]},proxy:true},{key:\"next\",fn:function(){return [_c('v-row',{staticClass:\"align-start\",staticStyle:{\"height\":\"100%\"}},[_c('v-row',{staticStyle:{\"height\":\"500px\"},attrs:{\"align\":\"center\",\"justify\":\"end\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3 ml-2\",\"height\":\"40px\",\"width\":\"40px\"}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)],1)]},proxy:true}])},[(!_vm.$vuetify.breakpoint.xs)?_c('v-slide-item',{staticClass:\"qa-program-first-column\"},[_c('div',{staticStyle:{\"max-width\":\"100px\",\"float\":\"right\"}},[_c('div',{staticStyle:{\"height\":\"150px\"}}),_vm._l((_vm.calculaMaxAplicacoes),function(i){return _c('div',{key:i},[_c('v-card',{staticClass:\"grey darken-3 white--text mt-15 text-center\",attrs:{\"tile\":\"\",\"elevation\":\"0\",\"height\":\"156px\"}},[_c('v-card-text',{staticClass:\"float-center text-center white--text pa-2\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"title\",staticStyle:{\"line-height\":\"130px\"}},[_vm._v(_vm._s(i)+\"ª\")])])],1),_c('div',{staticStyle:{\"height\":\"294px\",\"padding-top\":\"50px\"}},[_c('diseases-names',{staticClass:\"program-diseases\"})],1)],1)})],2)]):_vm._e(),_c('v-dialog',{attrs:{\"width\":\"auto\",\"persistent\":\"\"},model:{value:(_vm.cloningProcess),callback:function ($$v) {_vm.cloningProcess=$$v},expression:\"cloningProcess\"}},[_c('v-card',{attrs:{\"width\":\"340\"}},[_c('Loader',{staticStyle:{\"display\":\"contents\"}})],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"df-flex-l\"},_vm._l((3),function(_,index){return _c('df-skeleton-loader',{key:index,attrs:{\"height\":\"822px\",\"width\":\"260px\"}})}),1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],staticClass:\"df-flex-l\"},[_vm._l((_vm.programas),function(programa){return _c('v-slide-item',{key:programa.id,staticClass:\"v-slide-item--custom\"},[_c('list-item',{attrs:{\"cloning-process\":_vm.cloningProcess,\"program\":programa,\"cultivar\":_vm.cultivar},on:{\"alterou\":_vm.listaProgramas,\"duplicate\":_vm.duplicateProgram}})],1)}),(_vm.canAddProgram && _vm.enabledFarm)?_c('v-slide-item',{staticClass:\"mx-2 v-slide-item--custom\"},[_c('v-row',{staticClass:\"d-inline-flex ma-2\",staticStyle:{\"height\":\"150px\"},attrs:{\"align\":\"center\"}},[_c('modal-programa',{attrs:{\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.listaProgramas},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"data-id\":\"add-button\",\"fab\":\"\",\"dark\":\"\",\"color\":\"blue-grey darken-3\",\"height\":\"50px\",\"width\":\"50px\"}},on),[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-plus\")])],1),_c('div',[_c('p',{staticClass:\"text--secondary caption ma-2 text-left\"},[_vm._v(\" \"+_vm._s(_vm.$t('adicionar'))),_c('br'),_vm._v(_vm._s(_vm.$t('programa.programa'))+\" \")])])]}}],null,false,2327448787)})],1)],1):_vm._e()],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-slide-item',{scopedSlots:_vm._u([{key:\"default\",fn:function({ toggle }){return [_c('div',[_c('v-card',{staticClass:\"grey darken-1 center white--text mb-4\",attrs:{\"tile\":\"\",\"elevation\":\"0\",\"height\":\"150px\"},on:{\"click\":toggle}},[_c('v-card-title',{staticClass:\"pa-2\"},[_c('v-spacer'),(_vm.enabledFarm)?_c('v-menu',{attrs:{\"bottom\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"dark\":\"\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('v-list',[(_vm.hasPermission(_vm.$p.planning.edit) && _vm.enabledFarm)?_c('modal-programa',{attrs:{\"programa\":_vm.program,\"cultivar\":_vm.cultivar},on:{\"salva\":_vm.salvarPrograma},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-pencil\")]),_vm._v(\" \"+_vm._s(_vm.$t('editar'))+\" \")],1)],1)]}}],null,true)}):_vm._e(),(_vm.hasPermission(_vm.$p.planning.create) && _vm.enabledFarm)?_c('modal-replicacao',{attrs:{\"programa\":_vm.program,\"cultivar\":_vm.cultivar},on:{\"clonou\":_vm.clonarPrograma},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-content-copy\")]),_vm._v(\"  \"+_vm._s(_vm.$t('copiar_para'))+\" \")],1)],1)]}}],null,true)}):_vm._e(),_c('v-list-item',{attrs:{\"disabled\":_vm.cloningProcess},on:{\"click\":_vm.duplicateProgram}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-content-duplicate\")]),_vm._v(\"   \"+_vm._s(_vm.$t('programa.duplicate.label')))],1)],1),_c('v-list-item',{attrs:{\"to\":_vm.comparisonRoute}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-compare-horizontal\")]),_vm._v(\"   \"+_vm._s(_vm.$t('Comparison.title'))+\" \")],1)],1),_c('v-list-item',{attrs:{\"href\":`#/reports/programa?id=${_vm.program.id}`,\"target\":\"_blank\"}},[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-printer\")]),_vm._v(\"   \"+_vm._s(_vm.$t('print')))],1)],1),(_vm.hasPermission(_vm.$p.planning.delete) && _vm.enabledFarm)?_c('v-divider'):_vm._e(),(_vm.hasPermission(_vm.$p.planning.delete) && _vm.enabledFarm)?_c('v-list-item',{on:{\"click\":_vm.excluirPrograma}},[_c('v-list-item-title',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-delete\")]),_vm._v(\"   \"+_vm._s(_vm.$t('excluir')))],1)],1):_vm._e()],1)],1):_vm._e()],1),_c('v-card-text',{staticClass:\"float-center text-center d-block white--text pa-2 mt-n12\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.program.nome))]),_c('div',{staticClass:\"text--secundary\"},[_vm._v(\" \"+_vm._s(_vm.$t('semeadura_em', [_vm.program.data_prevista.formatDate()]))+\" \")]),_c('div',{staticClass:\"d-flex justify-center align-end\"},[(_vm.program.severidade_id == 1)?_c('v-chip',{staticClass:\"ma-2 caption white--text\",attrs:{\"small\":\"\",\"color\":\"red darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.alta'))+\" \")],1):(_vm.program.severidade_id == 2)?_c('v-chip',{staticClass:\"ma-2 caption\",attrs:{\"small\":\"\",\"color\":\"orange darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.media'))+\" \")],1):(_vm.program.severidade_id == 3)?_c('v-chip',{staticClass:\"ma-2 caption\",attrs:{\"small\":\"\",\"color\":\"yellow darken-1\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-weather-rainy\")]),_vm._v(\" \"+_vm._s(_vm.$t('severidade.baixa'))+\" \")],1):_vm._e(),(_vm.program.white_mold_enabled)?_c('v-chip',{staticClass:\"spraying-list__white-mold-label ml-3\",attrs:{\"color\":\"#305082\",\"x-small\":\"\"}},[_vm._v(\"+ \"+_vm._s(_vm.$t('spraying.specific_white_mold_label')))]):_vm._e()],1),(_vm.program.sugestao_pulverizacoes)?_c('div',{staticClass:\"text--secundary\"},[_c('span',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('pulverizacao.sugestao'))+\": \"+_vm._s(_vm.program.sugestao_pulverizacoes)+\" \")])]):_vm._e(),_c('div',{staticClass:\"text--secundary\"},[_c('span',{staticClass:\"title font-weight-bold pr-2\"},[_vm._v(\" \"+_vm._s(_vm.$currency(_vm.custoTotal()))+\" \")]),_c('span',{staticClass:\"body-2\"},[_vm._v(\" \"+_vm._s(_vm.custoTotalSc)+\" \"+_vm._s(_vm.$unitMeasures['weight'][_vm.$currentLanguage()]))])])])],1),_vm._l((_vm.program.planejamentos),function(planejamento,idx){return _c('div',{key:planejamento.id},[_c('v-card',{staticClass:\"grey darken-3 white--text mb-3 text-center d-sm-none\",attrs:{\"tile\":\"\",\"elevation\":\"0\"}},[_c('v-card-text',{staticClass:\"float-center text-center white--text pa-2\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(idx + 1)+\"ª \"+_vm._s(_vm.$t('aplicacao.aplicacao'))+\" \")])])],1),_c('v-card',{staticClass:\"grey lighten-3 center white--text\",attrs:{\"height\":\"200px\"},on:{\"click\":toggle}},[_c('v-card-title',{staticClass:\"pa-2 blue-grey\"},[(planejamento.data_aplicacao_planejada)?_c('div',{staticClass:\"body-2 ml-2\"},[_vm._v(\" \"+_vm._s(_vm.aplicacaoDataRange(planejamento))+\" \")]):_vm._e(),_c('v-spacer'),(_vm.showDefensiveMenu && _vm.enabledFarm)?_c('v-menu',{attrs:{\"bottom\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"dark\":\"\",\"icon\":\"\",\"small\":\"\"}},on),[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"white\"}},[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,true)},[_c('v-list',[(_vm.hasPermission(_vm.$p.defensive.edit) && _vm.enabledFarm)?_c('spraying-modal',{attrs:{\"aplicacao\":planejamento.aplicacao,\"planning-program\":_vm.program},on:{\"alterou\":_vm.salvarPlanejamento},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-pencil\")]),_vm._v(\"   \"+_vm._s(_vm.$t('editar')))],1)],1)]}}],null,true)}):_vm._e(),(_vm.canDeleteSpray(idx) && _vm.enabledFarm)?_c('v-divider'):_vm._e(),(_vm.canDeleteSpray(idx))?_c('v-list-item',{on:{\"click\":function($event){return _vm.excluirPlanejamento(planejamento)}}},[_c('v-list-item-title',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-delete\")]),_vm._v(\"   \"+_vm._s(_vm.$t('excluir')))],1)],1):_vm._e()],1)],1):_vm._e()],1),_c('v-card-text',{staticClass:\"float-center text-center d-block gray--text text--darken-2\"},[_c('v-row',{staticClass:\"pl-2 pr-6\",attrs:{\"align\":\"center\"}},[_vm._l((planejamento.planejamento_defensivos.slice(\n 0,\n 3\n )),function(produto){return _c('v-col',{key:produto.id,attrs:{\"cols\":\"6\"}},[_c('div',[(produto.defensivo)?_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(produto.defensivo.nome)+\" \")]):_vm._e(),(produto.defensivo)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(parseFloat(produto.dose).toFixedNotRounded(2))+\" \"+_vm._s(produto.defensivo.unidade_medida.replace('_', ' '))+\" \")]):_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('desconhecido'))+\" \")])])])}),(planejamento.planejamento_defensivos.length > 4)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"title font-weight-bold\"},on),[_vm._v(\" + \"+_vm._s(planejamento.planejamento_defensivos.length - 3)+\" \")])]}}],null,true)},_vm._l((planejamento.planejamento_defensivos.slice(\n 3\n )),function(produto){return _c('div',{key:'tooltip_' + produto.id},[_vm._v(\" \"+_vm._s(produto.defensivo.nome)+\" ( \"+_vm._s(parseFloat(produto.dose).toFixedNotRounded(2))+_vm._s(produto.defensivo.unidade_medida.replace('_', ' '))+\" ) \")])}),0)],1):(planejamento.planejamento_defensivos.length === 4)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(planejamento.planejamento_defensivos[3].defensivo.nome)+\" \")]),_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(parseFloat( planejamento.planejamento_defensivos[3].dose ).toFixedNotRounded(2))+\" \"+_vm._s(planejamento.planejamento_defensivos[3].defensivo.unidade_medida.replace( '_', ' ' ))+\" \")])]):_vm._e()],2),(_vm.specificWhiteMoldSpraying(planejamento))?_c('v-chip',{staticClass:\"spraying-list__white-mold-label -absolute\",attrs:{\"color\":\"#305082\",\"x-small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('spraying.specific_white_mold_label'))+\" \")]):_vm._e()],1)],1),_c('v-row',{staticClass:\"mt-4\",attrs:{\"justify\":\"center\",\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}}),_c('v-col',{staticClass:\"body-1 font-weight-bold text-right pr-1\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$currency(_vm.custoPlanejamento(planejamento)))+\" \")]),_c('v-col',{staticClass:\"body-2 text-left\",attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.custoPlanejamentoSc(planejamento))+\" \"+_vm._s(_vm.$unitMeasures['weight'][_vm.$currentLanguage()])+\" \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[(_vm.semRegistro(planejamento.eficacias) && _vm.isBrazil)?_c('v-tooltip',{attrs:{\"top\":\"\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"red--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-alert-circle\")])],1)]}}],null,true)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.sem_registro_ajuda'))+\" \")])]):_vm._e()],1)],1),(planejamento.eficacias)?_c('v-row',{staticStyle:{\"height\":\"270px\"},attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',[_c('efficacies',{attrs:{\"spraying\":planejamento,\"mobile\":_vm.$vuetify.breakpoint.xs,\"is-planning\":\"\",\"hide-labels\":\"\"}})],1)],1):_vm._e()],1)}),_c('div',{staticStyle:{\"width\":\"260px\",\"white-space\":\"initial !important\"}},[_c('total-sprayings-info',{attrs:{\"program\":_vm.program}})],1),(_vm.allowNovaAplicacao)?_c('v-row',{key:`novoPlanejamento_${_vm.program.planejamentos.length + 1}`,attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\"},[(_vm.hasPermission(_vm.$p.defensive.create) && _vm.enabledFarm)?_c('spraying-modal',{attrs:{\"aplicacao\":_vm.novoPlanejamentoIndex,\"planning-program\":_vm.program},on:{\"alterou\":_vm.salvarPlanejamento},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"mx-2\",attrs:{\"fab\":\"\",\"dark\":\"\",\"color\":\"green darken-1\",\"height\":\"50px\",\"width\":\"50px\"},on:{\"click\":_vm.handleButtonClick}},on),[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-plus\")])],1),_c('p',{staticClass:\"text--secondary caption mt-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.adicionar_aplicacao'))+\" \")])]}}],null,true)}):_vm._e()],1)],1):_vm._e()],2)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"800\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[(_vm.vPrograma)?_c('v-card',[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-toolbar',{staticClass:\"headline blue-grey darken-2 white--text\"},[_c('span',[_vm._v(_vm._s(_vm.$t('programa.novo_programa')))]),_c('v-spacer'),_c('v-tooltip',{staticClass:\"pr-1\",attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}],null,false,3332802445)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.ajuda'))+\" \")])]),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"right\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-stepper',{attrs:{\"vertical\":false,\"non-linear\":\"\",\"alt-labels\":\"\"},model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-header',[_c('v-stepper-step',{attrs:{\"step\":\"1\",\"complete\":_vm.currentStep > 1}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('nome')))])]),_c('v-divider'),_c('v-stepper-step',{attrs:{\"step\":\"2\",\"complete\":_vm.currentStep > 2}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('eficacia.data_prevista_semeadura')))])]),_c('v-divider'),_c('v-stepper-step',{attrs:{\"step\":\"3\",\"complete\":_vm.currentStep > 3}},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.$t('eficacia.severidade_esperada')))])])],1),_c('v-stepper-items',[_c('v-stepper-content',{key:\"name-content\",attrs:{\"step\":\"1\"}},[_c('v-card-text',[_c('v-text-field',{attrs:{\"counter\":_vm.nomeMaxChar,\"rules\":_vm.nomeRules,\"label\":_vm.$t('programa.nome_programa'),\"required\":\"\"},model:{value:(_vm.nome),callback:function ($$v) {_vm.nome=$$v},expression:\"nome\"}})],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"loading\":_vm.saving},on:{\"click\":function($event){!!_vm.nome && _vm.nextStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('next'))+\" \")])],1)],1),_c('v-stepper-content',{key:\"data-prevista-content\",attrs:{\"step\":\"2\"}},[_c('v-container',{staticClass:\"pr-0 pl-0 pl-sm-3 pr-sm-3\"},[_c('v-row',[_c('v-col',{staticClass:\"subtitle text-center text-sm-left\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.escolha_data_prevista'))+\" \")]),_c('v-col',{attrs:{\"col\":\"12\"}},[(!this.isRecommendedDate)?_c('v-alert',{attrs:{\"type\":\"warning\",\"dense\":\"\",\"text\":\"\",\"prominent\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('eficacia.data_prevista_semeadura_nao_recomendada'))+\" \")]):_vm._e()],1),_c('v-col',{staticClass:\"pr-0 pl-0 pl-sm-3 pr-sm-3\",attrs:{\"cols\":\"12\"}},[(_vm.$vuetify.breakpoint.xs)?_c('v-date-picker',{attrs:{\"show-current\":\"\",\"landscape\":\"\",\"color\":_vm.isRecommendedDate ? 'primary' : 'orange darken-2',\"header-color\":\"primary\",\"locale\":_vm.getLocale,\"allowed-dates\":_vm.allowedDates,\"events\":_vm.notRecommendedDates,\"min\":_vm.formatDateISO(_vm.minDate),\"max\":_vm.formatDateISO(_vm.maxDate),\"required\":\"\",\"no-title\":\"\",\"full-width\":\"\"},model:{value:(_vm.dataSemeadura),callback:function ($$v) {_vm.dataSemeadura=$$v},expression:\"dataSemeadura\"}}):_c('v-date-picker',{attrs:{\"show-current\":\"\",\"landscape\":\"\",\"color\":_vm.isRecommendedDate ? 'primary' : 'orange darken-2',\"header-color\":\"primary\",\"locale\":_vm.getLocale,\"allowed-dates\":_vm.allowedDates,\"events\":_vm.notRecommendedDates,\"min\":_vm.formatDateISO(_vm.minDate),\"max\":_vm.formatDateISO(_vm.maxDate),\"required\":\"\"},model:{value:(_vm.dataSemeadura),callback:function ($$v) {_vm.dataSemeadura=$$v},expression:\"dataSemeadura\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.prevStep}},[_vm._v(\" \"+_vm._s(_vm.$t('anterior'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"loading\":_vm.saving},on:{\"click\":function($event){!!_vm.dataSemeadura && _vm.allowedDates(_vm.dataSemeadura) && _vm.nextStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('next'))+\" \")])],1)],1),_c('v-stepper-content',{key:\"severidade-content\",attrs:{\"step\":\"3\"}},[_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('v-radio-group',{attrs:{\"column\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('eficacia.escolha_severidade_esperada'))+\" \")]},proxy:true}],null,false,3718680346),model:{value:(_vm.severidade),callback:function ($$v) {_vm.severidade=$$v},expression:\"severidade\"}},_vm._l((_vm.severidades),function(sev,i){return _c('v-radio',{key:`sev_${i + 1}`,attrs:{\"label\":sev,\"color\":\"red\",\"value\":i + 1}})}),1)],1),(_vm.$toggle('white_mold_enabled') && _vm.isSoybean)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('d-radio-field',{attrs:{\"title\":_vm.$t('programa.white_mold_control_title') + '?',\"description\":_vm.$t('programa.white_mold_control_description'),\"disabled\":_vm.isEditing,\"row\":\"\"},model:{value:(_vm.white_mold_enabled),callback:function ($$v) {_vm.white_mold_enabled=$$v},expression:\"white_mold_enabled\"}})],1):_vm._e()],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.prevStep}},[_vm._v(\" \"+_vm._s(_vm.$t('anterior'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('salvar'))+\" \")])],1)],1)],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPrograma.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPrograma.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalPrograma.vue?vue&type=template&id=66308c82\"\nimport script from \"./ModalPrograma.vue?vue&type=script&lang=js\"\nexport * from \"./ModalPrograma.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline blue-grey darken-2 white--text\",attrs:{\"primary-title\":\"\"}},[_c('v-icon',{staticClass:\"white--text pa-2\"},[_vm._v(\"mdi-content-copy\")]),_c('span',[_vm._v(_vm._s(_vm.$t('programa.copiar_para.titulo')))]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}])},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.help'))+\" \")])])],1),_c('v-card-text',[_c('v-row',[_c('v-col',[_c('span',{staticClass:\"pr-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.instrucao'))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.programa.nome))])])])],1),_vm._l((_vm.fazendas),function(fazenda){return _c('v-row',{key:'fazenda_' + fazenda.id,attrs:{\"justify\":\"center\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col'),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(fazenda.nome))])]),_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"center\"}},[_c('v-select',{attrs:{\"items\":fazenda.cultivares.filter(_vm.checkCropType),\"item-text\":\"semente.cultivar\",\"item-value\":\"id\",\"label\":_vm.$t('programa.copiar_para.selecione_cultivares'),\"disabled\":_vm.saving,\"multiple\":\"\",\"chips\":\"\",\"return-object\":\"\"},model:{value:(_vm.cultivaresSelecionadas),callback:function ($$v) {_vm.cultivaresSelecionadas=$$v},expression:\"cultivaresSelecionadas\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"color\":\"red\",\"fab\":\"\",\"x-small\":\"\",\"dark\":\"\",\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.desmarcarFazenda(fazenda.id)}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-col')],1)})],2),_c('v-divider'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.marcarTodas}},[_vm._v(\" \"+_vm._s(_vm.$t('programa.copiar_para.marcar_todas'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.desmarcarTodas}},[_vm._v(\" \"+_vm._s(_vm.$t('limpar'))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.fechar}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('copiar'))+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalReplicacao.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalReplicacao.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalReplicacao.vue?vue&type=template&id=2841aef2\"\nimport script from \"./ModalReplicacao.vue?vue&type=script&lang=js\"\nexport * from \"./ModalReplicacao.vue?vue&type=script&lang=js\"\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","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ListItem.vue?vue&type=template&id=7ddc70a7&scoped=true\"\nimport script from \"./ListItem.vue?vue&type=script&lang=js\"\nexport * from \"./ListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./ListItem.vue?vue&type=style&index=0&id=7ddc70a7&prod&scoped=true&lang=scss\"\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 \"7ddc70a7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProgramsList.vue?vue&type=template&id=29f51386&scoped=true\"\nimport script from \"./ProgramsList.vue?vue&type=script&lang=js\"\nexport * from \"./ProgramsList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProgramsList.vue?vue&type=style&index=0&id=29f51386&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29f51386\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('div',{staticClass:\"content\"},[_c('div',[_c('v-card-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_title_subtitle'))+\" \")]),_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_title'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.no_created_variety_text'))+\" \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"text-none button-register\",attrs:{\"outlined\":\"\",\"text\":\"\"},on:{\"click\":_vm.createVariety}},[_vm._v(\" \"+_vm._s(_vm.$t('disease_control.create_variety'))+\" \")])],1)],1),_c('div',[_c('v-img',{attrs:{\"alt\":\"hand-plant\",\"src\":\"/icons/ic-hand-plant.svg\",\"width\":\"170px\"}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WithoutVarieties.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WithoutVarieties.vue?vue&type=template&id=4db6abae&scoped=true\"\nimport script from \"./WithoutVarieties.vue?vue&type=script&lang=js\"\nexport * from \"./WithoutVarieties.vue?vue&type=script&lang=js\"\nimport style0 from \"./WithoutVarieties.vue?vue&type=style&index=0&id=4db6abae&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4db6abae\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseaseHome.vue?vue&type=template&id=b244c248&scoped=true\"\nimport script from \"./DiseaseHome.vue?vue&type=script&lang=js\"\nexport * from \"./DiseaseHome.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseaseHome.vue?vue&type=style&index=0&id=b244c248&prod&lang=scss&scoped=true\"\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 \"b244c248\",\n null\n \n)\n\nexport default component.exports","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the \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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiseasesNames.vue?vue&type=template&id=0a3a51d9&scoped=true\"\nimport script from \"./DiseasesNames.vue?vue&type=script&lang=js\"\nexport * from \"./DiseasesNames.vue?vue&type=script&lang=js\"\nimport style0 from \"./DiseasesNames.vue?vue&type=style&index=0&id=0a3a51d9&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a3a51d9\",\n null\n \n)\n\nexport default component.exports","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this, 'default', { open: this.isActive })),\n ]),\n ]))\n },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, getSlot(this))\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=style&index=0&id=e7a06360&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-radio-group',{attrs:{\"disabled\":_vm.disabled,\"required\":_vm.required,\"error-messages\":_vm.errors,\"row\":_vm.row},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}),(_vm.withTestLabel)?_c('v-chip',{staticStyle:{\"text-transform\":\"uppercase\",\"margin-left\":\"10px\"},attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('test')))]):_vm._e()],1)]},proxy:true}]),model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[(!!_vm.description)?_c('span',{staticClass:\"grey--text text--darken-1 my-3\"},[_vm._v(_vm._s(_vm.description))]):_vm._e(),_vm._l((_vm.internalOptions),function(option,index){return _c('v-radio',{key:index,attrs:{\"value\":option.value,\"color\":\"success\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(option.label)+\" \")]},proxy:true}],null,true)})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const required = {\n type: Boolean,\n default: false,\n}\n\nexport const errors = {\n type: Array,\n default: () => [],\n}\n\nexport const disabled = {\n type: Boolean,\n default: false,\n}\n","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DRadioField.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DRadioField.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DRadioField.vue?vue&type=template&id=6adce39a\"\nimport script from \"./DRadioField.vue?vue&type=script&lang=js\"\nexport * from \"./DRadioField.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./ProductOptionsMixin.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsMixin.vue?vue&type=script&lang=js\"\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","// Styles\nimport './VChipGroup.sass'\n\n// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n BaseSlideGroup,\n Colorable\n).extend({\n name: 'v-chip-group',\n\n provide () {\n return {\n chipGroup: this,\n }\n },\n\n props: {\n column: Boolean,\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-chip-group': true,\n 'v-chip-group--column': this.column,\n }\n },\n },\n\n watch: {\n column (val) {\n if (val) this.scrollOffset = 0\n\n this.$nextTick(this.onResize)\n },\n },\n\n methods: {\n genData () {\n return this.setTextColor(this.color, {\n ...BaseSlideGroup.options.methods.genData.call(this),\n })\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.saving,\"width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_vm._t(\"activator\",null,{\"on\":on})]}}],null,true),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"headline blue-grey darken-2 white--text\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.isEditing ? '' : _vm.$t('aplicacao.nova_aplicacao'))+\" \")]),_c('v-spacer'),_c('v-tooltip',{staticClass:\"pr-1\",attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"white--text\"},[_vm._v(\"mdi-help-circle-outline\")])],1)]}}])},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.atualiza_eficacia'))+\" \")])]),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"right\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center title\"},[_vm._v(\" \"+_vm._s(_vm.num_aplicacao)+\"ª \"+_vm._s(_vm.$t('aplicacao.aplicacao').toLowerCase())+\" \")])],1),_c('v-divider'),(_vm.isWhiteMoldOnlySpraying)?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('diseases.alert.white_mold_specific_spraying'))}})]):_vm._e(),(_vm.hasWhiteMold)?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('diseases.alert.white_mold_mix_spraying'))}})]):_vm._e(),_c('v-form',{ref:\"form\",model:{value:(_vm.isValidForm),callback:function ($$v) {_vm.isValidForm=$$v},expression:\"isValidForm\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-sm-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.doencas_prioridade.select_label'))+\" \")]),_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"text\",\"loading\":_vm.loadingDoencasPrioridades}},[_c('v-chip-group',{ref:\"doencasChipGroup\",staticClass:\"d-inline-flex justify-sm-center\",attrs:{\"max\":_vm.numberOfTargets,\"multiple\":\"\",\"column\":\"\"},on:{\"change\":_vm.changePriorityDisease},model:{value:(_vm.priorityDiseasesIndexes),callback:function ($$v) {_vm.priorityDiseasesIndexes=$$v},expression:\"priorityDiseasesIndexes\"}},_vm._l((_vm.cropDiseasesFiltered),function(disease){return _c('v-chip',{key:disease.id,attrs:{\"active-class\":_vm.doencaChipColor(disease),\"small\":\"\",\"disabled\":_vm.disableTargetsSelectionByRules(disease.id)}},[_vm._v(\" \"+_vm._s(_vm.$t(`diseases.${disease.code}`))+\" \")])}),1),_c('div',{staticClass:\"caption text-left text-sm-center\"},[_c('v-chip',{attrs:{\"x-small\":\"\",\"color\":\"red\"}},[_vm._v(\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('priority'))+\" \"),_c('v-chip',{staticClass:\"ml-2\",attrs:{\"x-small\":\"\",\"color\":\"amber\"}},[_vm._v(\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('secondary'))+\" \")],1)],1)],1)],1),_vm._l((_vm.selectedProducts),function(produto,i){return _c('v-row',{key:`${produto.nome}-${i}`,attrs:{\"dense\":\"\",\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"d-none d-sm-inline-block\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('dosis-tooltip',{attrs:{\"produto\":produto}})],1),_c('v-col',{attrs:{\"cols\":\"10\",\"sm\":\"4\"}},[_c('v-autocomplete',{attrs:{\"color\":\"white\",\"item-text\":\"nome\",\"item-value\":\"id\",\"required\":\"\",\"filter\":_vm.customDefensiveFilter,\"items\":_vm.filteredDefensives,\"label\":_vm.$t('pesticide.pesticide'),\"rules\":_vm.autocompleteRules},on:{\"change\":function($event){return _vm.selectProduct(produto, i)}},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"d-flex justify-space-between\"},[_c('span',[_vm._v(_vm._s(data.item.nome))]),(_vm.hasWhiteMold || _vm.prioritaryTargetIsWhiteMold)?_vm._l((data.item.special_targets),function(acronym){return _c('v-chip',{key:acronym,staticClass:\"blue-grey darken-2\",attrs:{\"text-color\":\"white\",\"x-small\":\"\"}},[_c('b',[_vm._v(_vm._s(acronym))])])}):_vm._e()],2)],1)]}}],null,true),model:{value:(produto.id),callback:function ($$v) {_vm.$set(produto, \"id\", $$v)},expression:\"produto.id\"}})],1),_c('v-col',{staticClass:\"d-block d-sm-none text-center\",attrs:{\"cols\":\"2\"}},[_c('dosis-tooltip',{attrs:{\"produto\":produto}})],1),_c('v-col',{attrs:{\"cols\":\"5\",\"sm\":\"3\",\"align\":\"center\"}},[_c('v-text-field',{directives:[{name:\"money\",rawName:\"v-money\",value:(_vm.maskConfig),expression:\"maskConfig\"}],attrs:{\"label\":_vm.unitLabel(produto),\"rules\":_vm.doseRules,\"required\":\"\"},model:{value:(produto.dose),callback:function ($$v) {_vm.$set(produto, \"dose\", $$v)},expression:\"produto.dose\"}})],1),_c('v-col',{attrs:{\"cols\":\"5\",\"sm\":\"3\",\"align\":\"center\"}},[_c('v-text-field',{directives:[{name:\"money\",rawName:\"v-money\",value:(_vm.maskConfig),expression:\"maskConfig\"}],attrs:{\"rules\":_vm.precoRules,\"label\":_vm.priceLabel(produto),\"required\":\"\"},model:{value:(produto.preco),callback:function ($$v) {_vm.$set(produto, \"preco\", $$v)},expression:\"produto.preco\"}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"red\",\"small\":\"\"},on:{\"click\":function($event){return _vm.excluirProduto(i)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)],1)})],2),_c('v-row',[_c('v-col',{staticClass:\"text-center text-sm-right\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":_vm.novoFungicida}},[_vm._v(\" + \"+_vm._s(_vm.$t('fungicida.fungicida'))+\" \")])],1),(_vm.showProductOptions)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[(_vm.$vuetify.breakpoint.xs)?_c('v-btn',{staticClass:\"text-caption text-sm-body-2\",attrs:{\"text\":\"\",\"small\":\"\"},on:{\"click\":_vm.toggleSuggestions}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.short_title)+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.icon)+\" \")])],1):_c('v-btn',{staticClass:\"text-caption text-sm-body-2\",attrs:{\"text\":\"\",\"small\":\"\"},on:{\"click\":_vm.toggleSuggestions}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.title)+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.openSuggestionsBtn.icon)+\" \")])],1)],1):_vm._e()],1)],1),(_vm.showProductOptions)?_c('product-options-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.openSuggestions),expression:\"openSuggestions\"}],attrs:{\"diseases-data\":_vm.diseasesData},on:{\"choosing\":_vm.addMixToApplication}}):_vm._e(),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"grey darken-1\",\"text\":\"\",\"disabled\":_vm.saving},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.$t('cancelar'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.saving,\"disabled\":_vm.loadingDoencasPrioridades || !_vm.doencaPrioritariaId || !_vm.isValidForm},on:{\"click\":_vm.salvar}},[_vm._v(\" \"+_vm._s(_vm.$t('salvar'))+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"tooltip__operation-dosis text-center\"},on),[_c('v-icon',[_vm._v(\"mdi-beaker-outline\")])],1),_c('div',{staticClass:\"text-center justify-center caption d-none d-sm-flex\"},[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.doses'))+\" \")])]}}])},[(!_vm.produto.doses)?_c('div',{staticClass:\"tooltip__choose-product\"},[_vm._v(\" \"+_vm._s(_vm.$t('aplicacao.choose_product'))+\" \")]):_c('div',[_c('table',[_c('thead',{staticClass:\"tooltip__operation-dosis-header\"},[_c('tr',[_c('td'),_c('td',[_vm._v(_vm._s(_vm.$t('fungicida.doses_recomendadas')))])])]),_c('tbody',{staticClass:\"tooltip__targets-list\"},_vm._l((_vm.targetsAndDoses),function([target_code, dose],index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(_vm.$t(`diseases.${target_code}`)))]),(dose.dose_recomendada == 999999.0)?_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('fungicida.sem_registro'))+\" \")]):_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('_to_', [dose.dose_recomendada, dose.dose_recomendada_max]))+\" \"+_vm._s(_vm.produto.unidade)+\"/\"+_vm._s(_vm.$unitMeasures['area'][_vm.$currentLanguage()])+\" \")])])}),0)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DosisTooltip.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DosisTooltip.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DosisTooltip.vue?vue&type=template&id=7f338dec\"\nimport script from \"./DosisTooltip.vue?vue&type=script&lang=js\"\nexport * from \"./DosisTooltip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.reloadKey,staticClass:\"px-6\"},[_c('v-divider'),(_vm.showMissingTargetsMessage)?_c('v-row',[_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.missing_targets'))+\" \")])],1):(_vm.showErrorMessage)?_c('v-row',[_c('v-alert',{staticClass:\"mt-4\",attrs:{\"icon\":\"mdi-information\",\"prominent\":\"\",\"text\":\"\",\"type\":\"warning\",\"width\":\"100%\"}},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.error.loading'))+\" \")])],1):_c('v-row',[_c('v-col',{attrs:{\"md\":\"5\"}},[_c('product-options-list',{attrs:{\"premium-items\":_vm.formatPrimary,\"secondary-items\":_vm.formatSecondary,\"loading-premium-list\":_vm.loadingPremiumList,\"loading-secondary-list\":_vm.loadingSecondaryList},on:{\"premium-selected\":_vm.selectPremium,\"secondary-selected\":_vm.selectSecondary}})],1),_c('v-col',{attrs:{\"md\":\"7\"}},[(_vm.selectedProductInfoToShow)?_c('product-options-description',{attrs:{\"item\":_vm.selectedProductInfoToShow,\"is-single\":_vm.isSingle},on:{\"choosing\":_vm.addMixToApplication}}):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"350\",\"tile\":\"\"}},[(_vm.loadingPremiumList)?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"list-item, divider, list-item, divider, list-item, divider,list-item, divider, list-item, divider, list-item, divider\"}}):_c('v-list',{class:[!_vm.selectedItem ? 'product-options-list' : ''],attrs:{\"max-height\":\"380\"}},[_c('v-subheader',[_vm._v(_vm._s(_vm.$t('products_options.list.title')))]),_vm._l((_vm.filterItems),function(item){return _c('v-list-item-group',{key:item.id,class:['product-options-premium-item', _vm.highlight(item.id)],attrs:{\"max\":1,\"value\":_vm.selectedItemId}},[_c('v-list-item',{class:[\n _vm.selectedItemId === item.id ? 'v-list-item--active' : '',\n 'qa-product-options__premium-item',\n ],on:{\"click\":function($event){return _vm.selectItem(item)}}},[_c('v-list-item-title',[(_vm.selectedItemId === item.id)?_c('v-chip',{staticClass:\"single-color\"},[_vm._v(\" 1 \")]):_vm._e(),_vm._v(\" \"+_vm._s(item.title)+\" \")],1),(_vm.selectedItemId === item.id)?_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1):_vm._e()],1)],1)})],2),(_vm.selectedItem && _vm.loadingSecondaryList)?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"list-item, divider, list-item, divider, list-item, divider,list-item, divider, list-item, divider, list-item, divider\"}}):_vm._e(),(!_vm.loadingSecondaryList && _vm.selectedItem)?_c('v-list',{staticClass:\"product-options-list\",attrs:{\"dense\":\"\",\"max-height\":\"267\"}},_vm._l((_vm.secondaryItems),function(secondaryItem){return _c('v-list-item-group',{key:secondaryItem.id,class:[\n 'product-options-premium-item',\n _vm.highlightSecondary(secondaryItem.id),\n ],attrs:{\"dense\":\"\",\"max\":1,\"value\":_vm.selectedSecondaryItemId}},[_c('v-list-item',{class:[\n _vm.selectedSecondaryItemId === secondaryItem.id\n ? 'v-list-item--active'\n : '',\n 'qa-product-options__secondary-item',\n ],on:{\"click\":function($event){return _vm.selectSecondaryItem(secondaryItem)}}},[_c('v-list-item-title',[(_vm.selectedSecondaryItemId === secondaryItem.id)?_c('v-chip',{staticClass:\"mix-color\",attrs:{\"small\":\"\"}},[_vm._v(\" 2 \")]):_vm._e(),_vm._v(\" \"+_vm._s(secondaryItem.title)+\" \")],1)],1)],1)}),1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsList.vue?vue&type=template&id=e7a06360&scoped=true\"\nimport script from \"./ProductOptionsList.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductOptionsList.vue?vue&type=style&index=0&id=e7a06360&prod&lang=scss&scoped=true\"\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 \"e7a06360\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{staticClass:\"mx-auto\"},[_c('v-chip',{staticClass:\"ma-2\",class:_vm.tagColor,attrs:{\"small\":\"\",\"label\":\"\",\"text-color\":\"white\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\",\"color\":\"white\"}},[_vm._v(\" mdi-label \")]),_vm._v(\" \"+_vm._s(_vm.isSingle ? _vm.$t('products_options.single') : _vm.$t('products_options.mix'))+\" \")],1),_c('span',{staticClass:\"subtitle-2 text--primary\"},[_vm._v(\" \"+_vm._s(_vm.item.name)+\" \")]),_c('v-divider'),_c('v-card-text',{staticClass:\"pt-2 pb-0 d-flex justify-space-between align-center\"},[_c('div',{staticClass:\"text--primary mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.description.potencial_efficacy'))+\" \")]),_c('div',{staticClass:\"mb-1\"},[_c('tooltip-efficacy',{attrs:{\"without-register\":_vm.hasDiseaseWithNoRegister,\"is-product-option\":\"\"}})],1)]),(_vm.item.efficacy.length)?_c('chart-efficacy',{attrs:{\"chartdata\":_vm.chartData,\"styles\":_vm.styles}}):_vm._e(),_c('v-divider'),_c('v-card-text',{staticClass:\"pb-0\"},[_c('p',{staticClass:\"text--primary\"},[_vm._v(\" \"+_vm._s(_vm.$t('products_options.description.active_ingredients'))+\" \")]),_c('div',[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"text--primary\"},[_vm._v(_vm._s(_vm.item.primary.title))]),_vm._v(\" \"+_vm._s(_vm.item.primary.description)+\" \")]),(!_vm.isSingle)?_c('div',[_c('div',{staticClass:\"text--primary\"},[_vm._v(_vm._s(_vm.item.secondary.title))]),_vm._v(\" \"+_vm._s(_vm.item.secondary.description)+\" \")]):_vm._e()])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"right\":\"\",\"small\":\"\",\"dark\":\"\",\"color\":\"green darken-1\"},on:{\"click\":function($event){return _vm.choose(_vm.item)}}},[_vm._v(_vm._s(_vm.$t('select')))])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsDescription.vue?vue&type=template&id=692765ea&scoped=true\"\nimport script from \"./ProductOptionsDescription.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsDescription.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProductOptionsDescription.vue?vue&type=style&index=0&id=692765ea&prod&lang=scss&scoped=true\"\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 \"692765ea\",\n null\n \n)\n\nexport default component.exports","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsContainer.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsContainer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProductOptionsContainer.vue?vue&type=template&id=6bb12288\"\nimport script from \"./ProductOptionsContainer.vue?vue&type=script&lang=js\"\nexport * from \"./ProductOptionsContainer.vue?vue&type=script&lang=js\"\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","\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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsMixin.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsMixin.vue?vue&type=script&lang=js\"","import defaultsDeep from 'lodash.defaultsdeep'\nimport { normalizeCurrency } from '@/utils/formatters'\nimport storage from './storage'\n\nfunction ProductPriceStorage(products) {\n this.storageKey = 'last-product-price'\n this.productType = null\n this.productId = null\n this.products = products\n\n this.setProducts = function (newProducts) {\n this.products = newProducts\n }\n\n this.formatProducts = function () {\n return this.products.reduce(\n (finalProducts, product) => {\n finalProducts[product.tipo] = {\n ...finalProducts[product.tipo],\n [product.id]: normalizeCurrency(product.preco),\n }\n return finalProducts\n },\n { F: null, A: null }\n )\n }\n\n this.type = function (type) {\n this.productType = type\n return this\n }\n\n this.id = function (id) {\n this.productId = id\n return this\n }\n\n this.getAll = function () {\n return storage(this.storageKey).recover()\n }\n\n this.get = function () {\n if (!this.productType)\n throw Error('ProductPriceStorage:get miss \"productType\" property.')\n\n if (!this.productId)\n throw Error('ProductPriceStorage:get miss \"productId\" property.')\n\n const stored = storage(this.storageKey).recover()\n if (stored) {\n const productsByType = stored[this.productType]\n\n if (productsByType) {\n return productsByType[this.productId] || ''\n }\n }\n\n return ''\n }\n\n this.clear = function () {\n storage(this.storageKey).clear()\n }\n\n this.save = function () {\n const storedValues = this.getAll()\n\n const mergedProducts = storedValues\n ? defaultsDeep(this.formatProducts(), this.getAll())\n : this.formatProducts()\n\n return storage(this.storageKey).save(mergedProducts)\n }\n}\n\nexport default (products) => new ProductPriceStorage(products)\n","var render, staticRenderFns\nimport script from \"./WhiteMoldMixin.vue?vue&type=script&lang=js\"\nexport * from \"./WhiteMoldMixin.vue?vue&type=script&lang=js\"\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","\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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WhiteMoldMixin.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WhiteMoldMixin.vue?vue&type=script&lang=js\"","\n \n \n \n \n \n \n \n \n \n \n \n \n \n mdi-delete\n \n \n \n \n \n \n \n + {{ $t('fungicida.fungicida') }}\n \n \n \n \n {{ openSuggestionsBtn.short_title }}\n {{ openSuggestionsBtn.icon }} \n \n \n {{ openSuggestionsBtn.title }}\n {{ openSuggestionsBtn.icon }} \n \n \n \n \n \n \n \n \n \n {{ $t('cancelar') }}\n \n \n {{ $t('salvar') }}\n \n \n \n \n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SprayingModal.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SprayingModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SprayingModal.vue?vue&type=template&id=36d79a30\"\nimport script from \"./SprayingModal.vue?vue&type=script&lang=js\"\nexport * from \"./SprayingModal.vue?vue&type=script&lang=js\"\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","const padStart = (string: number | string, targetLength: number, padString: string) => {\n targetLength = targetLength >> 0\n string = String(string)\n padString = String(padString)\n if (string.length > targetLength) {\n return String(string)\n }\n\n targetLength = targetLength - string.length\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length)\n }\n return padString.slice(0, targetLength) + String(string)\n}\n\nexport default (n: string | number, length = 2) => padStart(n, length, '0')\n","import moment from 'moment-timezone'\nimport i18n, { currentLanguage } from '@/language'\nimport dateTimeFormats from '@/language/date'\n\nexport function normalizeCurrency(value) {\n if (!value) return 0\n const rest = value.substring(0, value.length - 3)\n const cents = value.substring(value.length - 3)\n const restOnlyDigits = rest.replace(/[^\\d]/g, '')\n const formattedCents = new RegExp(/,\\d{1,2}/).test(cents)\n ? cents.replace(/,/g, '.')\n : cents\n return Number(`${restOnlyDigits}${formattedCents}`)\n}\n\nexport function normalizeCoordinatesKML(coordinates) {\n const coordinatesValid = coordinates\n .replaceAll(/\\d*\\.*\\d* /g, '')\n .replaceAll(/\\d*\\n/g, '')\n .replaceAll('\\t', '')\n .replaceAll('\\n', '')\n .split(',')\n .filter((val) => Boolean(Number(val)))\n\n if (coordinatesValid.length % 2 !== 0) {\n coordinatesValid.pop()\n }\n\n return coordinatesValid\n}\n\nconst datetime = (date) =>\n moment.utc(date).tz(dateTimeFormats[currentLanguage()].timezone)\n\nexport function formatDayOfMonth(date) {\n return i18n.d(datetime(date), 'day_month')\n}\n\nexport function formatDayDayOfMonth(date) {\n return i18n.d(datetime(date), 'weekday_day_month')\n}\n\nexport function formatHour(date) {\n return i18n.d(datetime(date), 'time')\n}\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return this.$createElement(VIcon, icon)\n },\n genLabel () {\n return this.$createElement('div', {\n staticClass: 'v-stepper__label',\n }, getSlot(this))\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (h): VNode {\n return h('div', {\n attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = defaultsDeep;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductOptionsDescription.vue?vue&type=style&index=0&id=692765ea&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"no-available-variety\"},[_c('div',{staticClass:\"nav__content df-flex-xxl flex-nowrap\"},[_c('img',{staticClass:\"nc__farmer-img\",attrs:{\"alt\":\"farmer-sowing\",\"src\":\"/icons/ic-farmer-sowing.svg\"}}),_c('div',{staticClass:\"df-flex-m df-flex-col justify-center\"},[_c('div',{staticClass:\"df-flex-xs df-flex-col flex-grow-0\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_create'))+\" \")]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_wheat_region_title', [_vm.crop]))+\" \")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('variety.unavailable_wheat_region_complement', [_vm.crop]))+\" \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NoAvailableVariety.vue?vue&type=template&id=5725d545&scoped=true\"\nimport script from \"./NoAvailableVariety.vue?vue&type=script&lang=js\"\nexport * from \"./NoAvailableVariety.vue?vue&type=script&lang=js\"\nimport style0 from \"./NoAvailableVariety.vue?vue&type=style&index=0&id=5725d545&prod&lang=scss&scoped=true\"\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 \"5725d545\",\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: {\n type: Boolean,\n default: null,\n },\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-tabs',{staticClass:\"crop-tabs\",attrs:{\"grow\":\"\"},on:{\"change\":_vm.cropChanged},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.enabledsCrops),function(crop,index){return _c('v-tab',{key:crop.id},[(_vm.tab === index)?_c('img',{staticClass:\"mr-2\",attrs:{\"loading\":\"lazy\",\"max-width\":\"15px\",\"alt\":_vm.cropIcon(crop.name, '-green').alt,\"src\":_vm.cropIcon(crop.name, '-green').src}}):_c('img',{staticClass:\"mr-2\",attrs:{\"loading\":\"lazy\",\"max-width\":\"15px\",\"alt\":_vm.cropIcon(crop.name).alt,\"src\":_vm.cropIcon(crop.name).src}}),_c('span',{staticClass:\"title-tab\"},[_vm._v(\" \"+_vm._s(_vm.$t(`crop.${crop.name.toLowerCase()}`))+\" \")])])}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CropTabs.vue?vue&type=template&id=88f3c052&scoped=true\"\nimport script from \"./CropTabs.vue?vue&type=script&lang=js\"\nexport * from \"./CropTabs.vue?vue&type=script&lang=js\"\nimport style0 from \"./CropTabs.vue?vue&type=style&index=0&id=88f3c052&prod&lang=scss&scoped=true\"\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 \"88f3c052\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHeader.vue?vue&type=style&index=0&id=36df9199&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropTabs.vue?vue&type=style&index=0&id=88f3c052&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.withoutRegister && _vm.isBrazil)?_c('v-tooltip',{attrs:{\"top\":\"\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-icon',{staticClass:\"red--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-alert-circle\")])],1)]}}],null,false,1347587960)},[_c('div',[_vm._v(\" \"+_vm._s(_vm.textInfo)+\" \")])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEfficacy.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipEfficacy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TooltipEfficacy.vue?vue&type=template&id=0386e49b\"\nimport script from \"./TooltipEfficacy.vue?vue&type=script&lang=js\"\nexport * from \"./TooltipEfficacy.vue?vue&type=script&lang=js\"\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","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, getSlot(this))\n },\n})\n","// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType\ntype VStepperContentInstance = InstanceType\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n data () {\n const data: Dictionary = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.options.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-stepper',\n class: this.classes,\n style: this.styles,\n }, getSlot(this))\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=style&index=0&id=190ab2ef&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=style&index=0&id=e597d454&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=style&index=0&id=19c42136&prod&scoped=true&lang=css\"","import VSlider from './VSlider'\n\nexport { VSlider }\nexport default VSlider\n","import { createSimpleFunctional } from '../../util/helpers'\nimport VStepper from './VStepper'\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\nconst VStepperHeader = createSimpleFunctional('v-stepper__header')\nconst VStepperItems = createSimpleFunctional('v-stepper__items')\n\nexport {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VStepper,\n VStepperContent,\n VStepperStep,\n VStepperHeader,\n VStepperItems,\n },\n}\n","var map = {\n\t\"./ic-cloud.svg\": \"482d\",\n\t\"./ic-flag-brazil.svg\": \"e730\",\n\t\"./ic-flag-paraguay.svg\": \"4da6\",\n\t\"./ic-flag-usa.svg\": \"5f28\",\n\t\"./ic-rain.svg\": \"dacb\",\n\t\"./ic-soybean-green.svg\": \"5d79\",\n\t\"./ic-soybean.svg\": \"716d\",\n\t\"./ic-sun.svg\": \"9b3c\",\n\t\"./ic-wheat-green.svg\": \"3e56\",\n\t\"./ic-wheat.svg\": \"a6d5\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9c64\";","// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n","import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n Ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data, listeners }): VNode {\n const children = []\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n def: Ripple,\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n return h('div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }), [\n h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n ])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=style&index=0&id=25ad0b57&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasNoFarms)?_c('header-no-farms'):_c('div',[_c('variety-header'),_c('div',{staticClass:\"df-flex-l df-flex-col variety-home\"},[(_vm.currentFarm && !_vm.currentFarm.enabled)?_c('farm-disabled'):_c('div',[_c('div',{staticClass:\"df-flex-l df-flex-col\"},[_c('crop-tabs'),(\n _vm.isFarmAvailableForCrop &&\n !_vm.loadingSeeds &&\n !_vm.loadingChangeFarm &&\n !_vm.loadingVarieties\n )?_c('div',{staticClass:\"df-flex-l\"},[_c('div',{staticClass:\"df-col-7 df-col-12-m df-col-12-t\"},[_c('sort-and-filter',{attrs:{\"varieties\":_vm.varieties},on:{\"updateVarietiesList\":_vm.updateVarietiesList}}),_c('variety-list',{staticClass:\"variety-list__height\",attrs:{\"varieties\":_vm.sortedAndFilteredVarieties,\"selected-variety\":_vm.selectedVariety},on:{\"selectVariety\":_vm.selectVariety,\"removeVariety\":_vm.removeVariety,\"addVariety\":_vm.addVariety}})],1),(_vm.isDSMobile || _vm.isDSTablet)?_c('div',[_c('v-dialog',{attrs:{\"fullscreen\":\"\"},model:{value:(_vm.mobileVarietyInfoDialog),callback:function ($$v) {_vm.mobileVarietyInfoDialog=$$v},expression:\"mobileVarietyInfoDialog\"}},[_c('v-card',[_c('v-card-title',[_c('button',{on:{\"click\":_vm.closeMobile}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('variety-info',{attrs:{\"variety\":_vm.selectedVarietyInfo}})],1)],1)],1)],1):_c('div',{staticClass:\"df-col-5 home__variety-info\"},[(_vm.selectedVariety != 0)?_c('variety-info',{attrs:{\"variety\":_vm.selectedVarietyInfo}}):_c('div',{staticClass:\"home__no-variety\"},[_c('v-img',{attrs:{\"alt\":\"warning\",\"max-height\":\"90\",\"src\":\"/icons/ic-warning-green.svg\",\"width\":\"90\"}}),_c('p',[_vm._v(_vm._s(_vm.$t('variety.select_variety')))])],1)],1)]):(\n !_vm.isFarmAvailableForCrop &&\n !_vm.loadingSeeds &&\n !_vm.loadingChangeFarm &&\n !_vm.loadingVarieties\n )?_c('no-available-variety',{attrs:{\"crop\":_vm.$t(_vm.currentCrop.messageKey)}}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loadingChangeFarm || _vm.loadingSeeds || _vm.loadingVarieties),expression:\"loadingChangeFarm || loadingSeeds || loadingVarieties\"}],staticClass:\"df-flex-l\"},[_c('div',{staticClass:\"df-col-7 df-col-12-m df-col-12-t df-flex-l df-flex-col\"},[_c('df-skeleton-loader',{attrs:{\"height\":\"102px\"}}),_c('df-skeleton-loader',{attrs:{\"height\":\"384px\"}})],1),_c('div',{staticClass:\"df-col-5\"},[_c('df-skeleton-loader',{attrs:{\"height\":\"100%\"}})],1)])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"header\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seedName),expression:\"seedName\"}],staticClass:\"name\",attrs:{\"placeholder\":_vm.$t('variety.seed_name')},domProps:{\"value\":(_vm.seedName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.seedName=$event.target.value}}}),_c('v-icon',{staticClass:\"inside\",attrs:{\"size\":\"18\",\"color\":\"#5B6459\"}},[_vm._v(\"mdi-magnify\")])],1),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sort),expression:\"sort\"}],staticClass:\"sort\",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.sort=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.sortItems.filter((item) =>\n item.crop.includes(_vm.currentCrop.id)\n )),function(item){return _c('option',{key:item.id,domProps:{\"value\":item.id}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0),_c('v-icon',{staticClass:\"inside\",attrs:{\"size\":\"18\",\"color\":\"#5B6459\"}},[_vm._v(\"mdi-chevron-down\")])],1),_c('filter-modal',{attrs:{\"owner-list\":_vm.ownerList,\"reset\":_vm.filterReset},on:{\"filterUpdate\":_vm.filterUpdate}})],1),(_vm.activeFilter)?_c('div',{staticClass:\"active-filter\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('results_for')))]),(_vm.seedName.length)?_c('div',{staticClass:\"d-inline\"},[_c('span',[_vm._v(\" \\\"\"+_vm._s(_vm.seedName)+\"\\\"\")])]):_vm._e(),(_vm.GMRActiveFilter)?_c('div',{staticClass:\"d-inline-block\"},[(_vm.seedName.length)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('b',[_vm._v(\" GMR \")]),_c('span',[_vm._v(\"\\\"\"+_vm._s(_vm.$t('_to_', _vm.GMR))+\"\\\"\")])]):_vm._e(),(_vm.owner.length)?_c('div',{staticClass:\"d-inline\"},[(_vm.seedName.length || _vm.GMRActiveFilter)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('b',{staticClass:\"uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('variety.owner')))]),_vm._l((_vm.owner),function(company,idx){return _c('div',{key:company,staticClass:\"d-inline\"},[(_vm.owner.length > 1 && idx != 0)?_c('span',[_vm._v(\",\")]):_vm._e(),_c('span',[_vm._v(\" \\\"\"+_vm._s(company)+\"\\\"\")])])})],2):_vm._e()]),_c('div',[_c('button',{staticClass:\"resetFilter\",on:{\"click\":_vm.resetFilter}},[_vm._v(\" \"+_vm._s(_vm.$t('clean_filter'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)])]):_c('div',{staticClass:\"active-filter\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('variety.list')))])]),_c('div',[(_vm.showing_created)?_c('button',{staticClass:\"hideCreated\",on:{\"click\":_vm.hideCreated}},[_vm._v(\" \"+_vm._s(_vm.$t('variety.hide_created'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-eye-off\")])],1):_c('button',{staticClass:\"hideCreated\",on:{\"click\":_vm.showCreated}},[_vm._v(\" \"+_vm._s(_vm.$t('variety.show_created'))+\" \"),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-eye\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('button',_vm._g(_vm._b({staticClass:\"open\"},'button',attrs,false),on),[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#39AF49\"}},[_vm._v(\"mdi-filter\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('v-expansion-panels',{attrs:{\"accordion\":\"\",\"flat\":\"\",\"multiple\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.isSoybean)?_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\"GMR\")]),_c('v-expansion-panel-content',[_c('v-range-slider',{attrs:{\"step\":\"1\",\"track-color\":\"#C3D1E9\",\"track-fill-color\":\"#1A2B46\",\"thumb-color\":\"#1A2B46\",\"thumb-label\":\"always\",\"min\":\"0\",\"max\":\"10\"},model:{value:(_vm.GMR),callback:function ($$v) {_vm.GMR=$$v},expression:\"GMR\"}})],1)],1):_vm._e(),_c('v-expansion-panel',{staticClass:\"owner\"},[_c('v-expansion-panel-header',[_vm._v(_vm._s(_vm.$t('variety.owner')))]),_c('v-expansion-panel-content',_vm._l((_vm.ownerList),function(company){return _c('div',{key:company,staticClass:\"ownerList\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.owner),expression:\"owner\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"value\":company,\"checked\":Array.isArray(_vm.owner)?_vm._i(_vm.owner,company)>-1:(_vm.owner)},on:{\"change\":function($event){var $$a=_vm.owner,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=company,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.owner=$$a.concat([$$v]))}else{$$i>-1&&(_vm.owner=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.owner=$$c}}}}),_vm._v(\" \"+_vm._s(company)+\" \")])}),0)],1)],1)],1),_c('v-card-actions',[_c('button',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('u',[_vm._v(_vm._s(_vm.$t('cancelar')))])]),_c('button',{staticClass:\"apply\",on:{\"click\":_vm.apply}},[_c('p',[_vm._v(_vm._s(_vm.$t('filter')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#FFFFFF\"}},[_vm._v(\"mdi-check-bold\")])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FilterModal.vue?vue&type=template&id=1f23a8a2&scoped=true\"\nimport script from \"./FilterModal.vue?vue&type=script&lang=js\"\nexport * from \"./FilterModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./FilterModal.vue?vue&type=style&index=0&id=1f23a8a2&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f23a8a2\",\n null\n \n)\n\nexport default component.exports","export const removeSpecialCharacters = (string) => {\n return string\n .replace('Á', 'A')\n .replace('Â', 'A')\n .replace('Ã', 'A')\n .replace('À', 'A')\n .replace('É', 'E')\n .replace('Ê', 'E')\n .replace('Í', 'I')\n .replace('Ó', 'O')\n .replace('Ô', 'O')\n .replace('Õ', 'O')\n .replace('Ú', 'U')\n .replace('Ç', 'C')\n}\n\nexport const isString = (word) => {\n return typeof word === 'string' || word instanceof String\n}\n","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortAndFilter.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortAndFilter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SortAndFilter.vue?vue&type=template&id=c04c5594&scoped=true\"\nimport script from \"./SortAndFilter.vue?vue&type=script&lang=js\"\nexport * from \"./SortAndFilter.vue?vue&type=script&lang=js\"\nimport style0 from \"./SortAndFilter.vue?vue&type=style&index=0&id=c04c5594&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c04c5594\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('df-page-header',{attrs:{\"title\":_vm.$t('menu.cultivares'),\"subtitle\":_vm.$t('menu.planejamento')}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHeader.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyHeader.vue?vue&type=template&id=f496cf62\"\nimport script from \"./VarietyHeader.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyHeader.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"df-flex-sm df-flex-col variety-list\"},[_vm._l((_vm.varietiesRender),function(variety,index){return _c('variety-item',{key:index,staticClass:\"df-col-12\",attrs:{\"variety\":variety,\"selected-variety\":_vm.selectedVariety},on:{\"removeVariety\":_vm.removeVariety,\"addVariety\":_vm.addVariety,\"selectVariety\":_vm.selectVariety}})}),(_vm.varieties.length == 0)?_c('div',{staticClass:\"no-result\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('variety.no_result_title')))]),_c('p',[_vm._v(_vm._s(_vm.$t('variety.no_result')))])]):_vm._e(),_c('request-not-cataloged-variety')],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{class:{ active: _vm.selectInfo },on:{\"click\":_vm.showInfo}},[_c('div',{staticClass:\"variety\"},[_c('div',{staticClass:\"crop\"},[_c('div',[_c('v-img',{attrs:{\"width\":\"13px\",\"alt\":_vm.cropIcon.alt,\"src\":_vm.cropIcon.src}})],1),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.currentCrop.messageKey).toUpperCase())+\" \")])]),_c('div',{staticClass:\"seed\"},[_vm._v(\" \"+_vm._s(_vm.variety.cultivar)+\" \")])]),_c('div',{staticClass:\"right-align\"},[_c('div',{staticClass:\"not-recommended\"},[(_vm.notRecommended)?_c('div',{staticClass:\"chip\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#F23528\"}},[_vm._v(\"mdi-thumb-down\")]),_vm._v(\" \"+_vm._s(_vm.$t('variety.not_recommended').toUpperCase())+\" \")],1):_vm._e()]),_c('div',{staticClass:\"owner\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-office-building-outline\")]),_vm._v(\" \"+_vm._s(_vm.variety.asset_owner_name)+\" \")],1),(_vm.isSoybean)?_c('div',{staticClass:\"gmr\"},[_c('v-icon',{attrs:{\"size\":\"14\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-poll\")]),_vm._v(\" \"+_vm._s(_vm.$t('cultivar.gmr'))+\": \"+_vm._s(_vm.variety.grupo)+\" \")],1):_vm._e()]),(!_vm.disabled)?_c('div',{staticClass:\"options\"},[(_vm.varietyAdded)?_c('v-btn',{staticClass:\"remove\",attrs:{\"depressed\":\"\",\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove()}}},[_c('v-icon',{attrs:{\"color\":\"#788476\",\"size\":\"18\"}},[_vm._v(\" mdi-delete \")])],1):_c('v-btn',{staticClass:\"add\",attrs:{\"depressed\":\"\",\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.add()}}},[_c('v-icon',{attrs:{\"color\":\"#39AF49\",\"size\":\"18\"}},[_vm._v(\" mdi-plus \")])],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyItem.vue?vue&type=template&id=e597d454&scoped=true\"\nimport script from \"./VarietyItem.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyItem.vue?vue&type=style&index=0&id=e597d454&prod&lang=scss&scoped=true\"\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 \"e597d454\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('button',_vm._g(_vm._b({staticClass:\"notCataloged\"},'button',attrs,false),on),[_c('p',[_vm._v(_vm._s(_vm.$t('variety.request_not_catologed_variety')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#39AF49\"}},[_vm._v(\"mdi-send\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('p',[_vm._v(_vm._s(_vm.$t('variety.request_variety')))]),_c('button',{on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#AAB2A9\"}},[_vm._v(\"mdi-close\")])],1)]),_c('v-card-text',[_c('v-text-field',{attrs:{\"loading\":_vm.loading,\"label\":_vm.$t('variety.not_cataloged_variety')},model:{value:(_vm.variety),callback:function ($$v) {_vm.variety=$$v},expression:\"variety\"}})],1),_c('v-card-actions',[_c('button',{staticClass:\"close\",on:{\"click\":_vm.close}},[_c('u',[_vm._v(_vm._s(_vm.$t('cancelar')))])]),_c('button',{staticClass:\"submit\",on:{\"click\":_vm.submit}},[_c('p',[_vm._v(_vm._s(_vm.$t('enviar')))]),_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"#FFFFFF\"}},[_vm._v(\"mdi-check-bold\")])],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RequestNotCatalogedVariety.vue?vue&type=template&id=19c42136&scoped=true\"\nimport script from \"./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"\nexport * from \"./RequestNotCatalogedVariety.vue?vue&type=script&lang=js\"\nimport style0 from \"./RequestNotCatalogedVariety.vue?vue&type=style&index=0&id=19c42136&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19c42136\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyList.vue?vue&type=template&id=190ab2ef&scoped=true\"\nimport script from \"./VarietyList.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyList.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyList.vue?vue&type=style&index=0&id=190ab2ef&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"190ab2ef\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyHome.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VarietyHome.vue?vue&type=template&id=25ad0b57&scoped=true\"\nimport script from \"./VarietyHome.vue?vue&type=script&lang=js\"\nexport * from \"./VarietyHome.vue?vue&type=script&lang=js\"\nimport style0 from \"./VarietyHome.vue?vue&type=style&index=0&id=25ad0b57&prod&lang=scss&scoped=true\"\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 \"25ad0b57\",\n null\n \n)\n\nexport default component.exports","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseasesNames.vue?vue&type=style&index=0&id=0a3a51d9&prod&scoped=true&lang=css\"","/*!\n * chartjs-plugin-datalabels v0.7.0\n * https://chartjs-plugin-datalabels.netlify.com\n * (c) 2019 Chart.js Contributors\n * Released under the MIT license\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :\ntypeof define === 'function' && define.amd ? define(['chart.js'], factory) :\n(global = global || self, global.ChartDataLabels = factory(global.Chart));\n}(this, function (Chart) { 'use strict';\n\nChart = Chart && Chart.hasOwnProperty('default') ? Chart['default'] : Chart;\n\nvar helpers = Chart.helpers;\n\nvar devicePixelRatio = (function() {\n\tif (typeof window !== 'undefined') {\n\t\tif (window.devicePixelRatio) {\n\t\t\treturn window.devicePixelRatio;\n\t\t}\n\n\t\t// devicePixelRatio is undefined on IE10\n\t\t// https://stackoverflow.com/a/20204180/8837887\n\t\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n\t\tvar screen = window.screen;\n\t\tif (screen) {\n\t\t\treturn (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n\t\t}\n\t}\n\n\treturn 1;\n}());\n\nvar utils = {\n\t// @todo move this in Chart.helpers.toTextLines\n\ttoTextLines: function(inputs) {\n\t\tvar lines = [];\n\t\tvar input;\n\n\t\tinputs = [].concat(inputs);\n\t\twhile (inputs.length) {\n\t\t\tinput = inputs.pop();\n\t\t\tif (typeof input === 'string') {\n\t\t\t\tlines.unshift.apply(lines, input.split('\\n'));\n\t\t\t} else if (Array.isArray(input)) {\n\t\t\t\tinputs.push.apply(inputs, input);\n\t\t\t} else if (!helpers.isNullOrUndef(inputs)) {\n\t\t\t\tlines.unshift('' + input);\n\t\t\t}\n\t\t}\n\n\t\treturn lines;\n\t},\n\n\t// @todo move this method in Chart.helpers.canvas.toFont (deprecates helpers.fontString)\n\t// @see https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\ttoFontString: function(font) {\n\t\tif (!font || helpers.isNullOrUndef(font.size) || helpers.isNullOrUndef(font.family)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (font.style ? font.style + ' ' : '')\n\t\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t\t+ font.size + 'px '\n\t\t\t+ font.family;\n\t},\n\n\t// @todo move this in Chart.helpers.canvas.textSize\n\t// @todo cache calls of measureText if font doesn't change?!\n\ttextSize: function(ctx, lines, font) {\n\t\tvar items = [].concat(lines);\n\t\tvar ilen = items.length;\n\t\tvar prev = ctx.font;\n\t\tvar width = 0;\n\t\tvar i;\n\n\t\tctx.font = font.string;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\twidth = Math.max(ctx.measureText(items[i]).width, width);\n\t\t}\n\n\t\tctx.font = prev;\n\n\t\treturn {\n\t\t\theight: ilen * font.lineHeight,\n\t\t\twidth: width\n\t\t};\n\t},\n\n\t// @todo move this method in Chart.helpers.options.toFont\n\tparseFont: function(value) {\n\t\tvar global = Chart.defaults.global;\n\t\tvar size = helpers.valueOrDefault(value.size, global.defaultFontSize);\n\t\tvar font = {\n\t\t\tfamily: helpers.valueOrDefault(value.family, global.defaultFontFamily),\n\t\t\tlineHeight: helpers.options.toLineHeight(value.lineHeight, size),\n\t\t\tsize: size,\n\t\t\tstyle: helpers.valueOrDefault(value.style, global.defaultFontStyle),\n\t\t\tweight: helpers.valueOrDefault(value.weight, null),\n\t\t\tstring: ''\n\t\t};\n\n\t\tfont.string = utils.toFontString(font);\n\t\treturn font;\n\t},\n\n\t/**\n\t * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n\t * @todo move this method in Chart.helpers.bound\n\t * https://doc.qt.io/qt-5/qtglobal.html#qBound\n\t */\n\tbound: function(min, value, max) {\n\t\treturn Math.max(min, Math.min(value, max));\n\t},\n\n\t/**\n\t * Returns an array of pair [value, state] where state is:\n\t * * -1: value is only in a0 (removed)\n\t * * 1: value is only in a1 (added)\n\t */\n\tarrayDiff: function(a0, a1) {\n\t\tvar prev = a0.slice();\n\t\tvar updates = [];\n\t\tvar i, j, ilen, v;\n\n\t\tfor (i = 0, ilen = a1.length; i < ilen; ++i) {\n\t\t\tv = a1[i];\n\t\t\tj = prev.indexOf(v);\n\n\t\t\tif (j === -1) {\n\t\t\t\tupdates.push([v, 1]);\n\t\t\t} else {\n\t\t\t\tprev.splice(j, 1);\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, ilen = prev.length; i < ilen; ++i) {\n\t\t\tupdates.push([prev[i], -1]);\n\t\t}\n\n\t\treturn updates;\n\t},\n\n\t/**\n\t * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n\t */\n\trasterize: function(v) {\n\t\treturn Math.round(v * devicePixelRatio) / devicePixelRatio;\n\t}\n};\n\nfunction orient(point, origin) {\n\tvar x0 = origin.x;\n\tvar y0 = origin.y;\n\n\tif (x0 === null) {\n\t\treturn {x: 0, y: -1};\n\t}\n\tif (y0 === null) {\n\t\treturn {x: 1, y: 0};\n\t}\n\n\tvar dx = point.x - x0;\n\tvar dy = point.y - y0;\n\tvar ln = Math.sqrt(dx * dx + dy * dy);\n\n\treturn {\n\t\tx: ln ? dx / ln : 0,\n\t\ty: ln ? dy / ln : -1\n\t};\n}\n\nfunction aligned(x, y, vx, vy, align) {\n\tswitch (align) {\n\tcase 'center':\n\t\tvx = vy = 0;\n\t\tbreak;\n\tcase 'bottom':\n\t\tvx = 0;\n\t\tvy = 1;\n\t\tbreak;\n\tcase 'right':\n\t\tvx = 1;\n\t\tvy = 0;\n\t\tbreak;\n\tcase 'left':\n\t\tvx = -1;\n\t\tvy = 0;\n\t\tbreak;\n\tcase 'top':\n\t\tvx = 0;\n\t\tvy = -1;\n\t\tbreak;\n\tcase 'start':\n\t\tvx = -vx;\n\t\tvy = -vy;\n\t\tbreak;\n\tcase 'end':\n\t\t// keep natural orientation\n\t\tbreak;\n\tdefault:\n\t\t// clockwise rotation (in degree)\n\t\talign *= (Math.PI / 180);\n\t\tvx = Math.cos(align);\n\t\tvy = Math.sin(align);\n\t\tbreak;\n\t}\n\n\treturn {\n\t\tx: x,\n\t\ty: y,\n\t\tvx: vx,\n\t\tvy: vy\n\t};\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n\tvar res = R_INSIDE;\n\n\tif (x < rect.left) {\n\t\tres |= R_LEFT;\n\t} else if (x > rect.right) {\n\t\tres |= R_RIGHT;\n\t}\n\tif (y < rect.top) {\n\t\tres |= R_TOP;\n\t} else if (y > rect.bottom) {\n\t\tres |= R_BOTTOM;\n\t}\n\n\treturn res;\n}\n\nfunction clipped(segment, area) {\n\tvar x0 = segment.x0;\n\tvar y0 = segment.y0;\n\tvar x1 = segment.x1;\n\tvar y1 = segment.y1;\n\tvar r0 = region(x0, y0, area);\n\tvar r1 = region(x1, y1, area);\n\tvar r, x, y;\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tif (!(r0 | r1) || (r0 & r1)) {\n\t\t\t// both points inside or on the same side: no clipping\n\t\t\tbreak;\n\t\t}\n\n\t\t// at least one point is outside\n\t\tr = r0 || r1;\n\n\t\tif (r & R_TOP) {\n\t\t\tx = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n\t\t\ty = area.top;\n\t\t} else if (r & R_BOTTOM) {\n\t\t\tx = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n\t\t\ty = area.bottom;\n\t\t} else if (r & R_RIGHT) {\n\t\t\ty = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n\t\t\tx = area.right;\n\t\t} else if (r & R_LEFT) {\n\t\t\ty = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n\t\t\tx = area.left;\n\t\t}\n\n\t\tif (r === r0) {\n\t\t\tx0 = x;\n\t\t\ty0 = y;\n\t\t\tr0 = region(x0, y0, area);\n\t\t} else {\n\t\t\tx1 = x;\n\t\t\ty1 = y;\n\t\t\tr1 = region(x1, y1, area);\n\t\t}\n\t}\n\n\treturn {\n\t\tx0: x0,\n\t\tx1: x1,\n\t\ty0: y0,\n\t\ty1: y1\n\t};\n}\n\nfunction compute(range, config) {\n\tvar anchor = config.anchor;\n\tvar segment = range;\n\tvar x, y;\n\n\tif (config.clamp) {\n\t\tsegment = clipped(segment, config.area);\n\t}\n\n\tif (anchor === 'start') {\n\t\tx = segment.x0;\n\t\ty = segment.y0;\n\t} else if (anchor === 'end') {\n\t\tx = segment.x1;\n\t\ty = segment.y1;\n\t} else {\n\t\tx = (segment.x0 + segment.x1) / 2;\n\t\ty = (segment.y0 + segment.y1) / 2;\n\t}\n\n\treturn aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n\tarc: function(vm, config) {\n\t\tvar angle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar vx = Math.cos(angle);\n\t\tvar vy = Math.sin(angle);\n\t\tvar r0 = vm.innerRadius;\n\t\tvar r1 = vm.outerRadius;\n\n\t\treturn compute({\n\t\t\tx0: vm.x + vx * r0,\n\t\t\ty0: vm.y + vy * r0,\n\t\t\tx1: vm.x + vx * r1,\n\t\t\ty1: vm.y + vy * r1,\n\t\t\tvx: vx,\n\t\t\tvy: vy\n\t\t}, config);\n\t},\n\n\tpoint: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\t\tvar rx = v.x * vm.radius;\n\t\tvar ry = v.y * vm.radius;\n\n\t\treturn compute({\n\t\t\tx0: vm.x - rx,\n\t\t\ty0: vm.y - ry,\n\t\t\tx1: vm.x + rx,\n\t\t\ty1: vm.y + ry,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t},\n\n\trect: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar sx = 0;\n\t\tvar sy = 0;\n\n\t\tif (vm.horizontal) {\n\t\t\tx = Math.min(vm.x, vm.base);\n\t\t\tsx = Math.abs(vm.base - vm.x);\n\t\t} else {\n\t\t\ty = Math.min(vm.y, vm.base);\n\t\t\tsy = Math.abs(vm.base - vm.y);\n\t\t}\n\n\t\treturn compute({\n\t\t\tx0: x,\n\t\t\ty0: y + sy,\n\t\t\tx1: x + sx,\n\t\t\ty1: y,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t},\n\n\tfallback: function(vm, config) {\n\t\tvar v = orient(vm, config.origin);\n\n\t\treturn compute({\n\t\t\tx0: vm.x,\n\t\t\ty0: vm.y,\n\t\t\tx1: vm.x,\n\t\t\ty1: vm.y,\n\t\t\tvx: v.x,\n\t\t\tvy: v.y\n\t\t}, config);\n\t}\n};\n\nvar helpers$1 = Chart.helpers;\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n\tvar borderWidth = model.borderWidth || 0;\n\tvar padding = model.padding;\n\tvar th = model.size.height;\n\tvar tw = model.size.width;\n\tvar tx = -tw / 2;\n\tvar ty = -th / 2;\n\n\treturn {\n\t\tframe: {\n\t\t\tx: tx - padding.left - borderWidth,\n\t\t\ty: ty - padding.top - borderWidth,\n\t\t\tw: tw + padding.width + borderWidth * 2,\n\t\t\th: th + padding.height + borderWidth * 2\n\t\t},\n\t\ttext: {\n\t\t\tx: tx,\n\t\t\ty: ty,\n\t\t\tw: tw,\n\t\t\th: th\n\t\t}\n\t};\n}\n\nfunction getScaleOrigin(el) {\n\tvar horizontal = el._model.horizontal;\n\tvar scale = el._scale || (horizontal && el._xScale) || el._yScale;\n\n\tif (!scale) {\n\t\treturn null;\n\t}\n\n\tif (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n\t\treturn {x: scale.xCenter, y: scale.yCenter};\n\t}\n\n\tvar pixel = scale.getBasePixel();\n\treturn horizontal ?\n\t\t{x: pixel, y: null} :\n\t\t{x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n\tif (el instanceof Chart.elements.Arc) {\n\t\treturn positioners.arc;\n\t}\n\tif (el instanceof Chart.elements.Point) {\n\t\treturn positioners.point;\n\t}\n\tif (el instanceof Chart.elements.Rectangle) {\n\t\treturn positioners.rect;\n\t}\n\treturn positioners.fallback;\n}\n\nfunction drawFrame(ctx, rect, model) {\n\tvar bgColor = model.backgroundColor;\n\tvar borderColor = model.borderColor;\n\tvar borderWidth = model.borderWidth;\n\n\tif (!bgColor && (!borderColor || !borderWidth)) {\n\t\treturn;\n\t}\n\n\tctx.beginPath();\n\n\thelpers$1.canvas.roundedRect(\n\t\tctx,\n\t\trasterize(rect.x) + borderWidth / 2,\n\t\trasterize(rect.y) + borderWidth / 2,\n\t\trasterize(rect.w) - borderWidth,\n\t\trasterize(rect.h) - borderWidth,\n\t\tmodel.borderRadius);\n\n\tctx.closePath();\n\n\tif (bgColor) {\n\t\tctx.fillStyle = bgColor;\n\t\tctx.fill();\n\t}\n\n\tif (borderColor && borderWidth) {\n\t\tctx.strokeStyle = borderColor;\n\t\tctx.lineWidth = borderWidth;\n\t\tctx.lineJoin = 'miter';\n\t\tctx.stroke();\n\t}\n}\n\nfunction textGeometry(rect, align, font) {\n\tvar h = font.lineHeight;\n\tvar w = rect.w;\n\tvar x = rect.x;\n\tvar y = rect.y + h / 2;\n\n\tif (align === 'center') {\n\t\tx += w / 2;\n\t} else if (align === 'end' || align === 'right') {\n\t\tx += w;\n\t}\n\n\treturn {\n\t\th: h,\n\t\tw: w,\n\t\tx: x,\n\t\ty: y\n\t};\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n\tvar shadow = ctx.shadowBlur;\n\tvar stroked = cfg.stroked;\n\tvar x = rasterize(cfg.x);\n\tvar y = rasterize(cfg.y);\n\tvar w = rasterize(cfg.w);\n\n\tif (stroked) {\n\t\tctx.strokeText(text, x, y, w);\n\t}\n\n\tif (cfg.filled) {\n\t\tif (shadow && stroked) {\n\t\t\t// Prevent drawing shadow on both the text stroke and fill, so\n\t\t\t// if the text is stroked, remove the shadow for the text fill.\n\t\t\tctx.shadowBlur = 0;\n\t\t}\n\n\t\tctx.fillText(text, x, y, w);\n\n\t\tif (shadow && stroked) {\n\t\t\tctx.shadowBlur = shadow;\n\t\t}\n\t}\n}\n\nfunction drawText(ctx, lines, rect, model) {\n\tvar align = model.textAlign;\n\tvar color = model.color;\n\tvar filled = !!color;\n\tvar font = model.font;\n\tvar ilen = lines.length;\n\tvar strokeColor = model.textStrokeColor;\n\tvar strokeWidth = model.textStrokeWidth;\n\tvar stroked = strokeColor && strokeWidth;\n\tvar i;\n\n\tif (!ilen || (!filled && !stroked)) {\n\t\treturn;\n\t}\n\n\t// Adjust coordinates based on text alignment and line height\n\trect = textGeometry(rect, align, font);\n\n\tctx.font = font.string;\n\tctx.textAlign = align;\n\tctx.textBaseline = 'middle';\n\tctx.shadowBlur = model.textShadowBlur;\n\tctx.shadowColor = model.textShadowColor;\n\n\tif (filled) {\n\t\tctx.fillStyle = color;\n\t}\n\tif (stroked) {\n\t\tctx.lineJoin = 'round';\n\t\tctx.lineWidth = strokeWidth;\n\t\tctx.strokeStyle = strokeColor;\n\t}\n\n\tfor (i = 0, ilen = lines.length; i < ilen; ++i) {\n\t\tdrawTextLine(ctx, lines[i], {\n\t\t\tstroked: stroked,\n\t\t\tfilled: filled,\n\t\t\tw: rect.w,\n\t\t\tx: rect.x,\n\t\t\ty: rect.y + rect.h * i\n\t\t});\n\t}\n}\n\nvar Label = function(config, ctx, el, index) {\n\tvar me = this;\n\n\tme._config = config;\n\tme._index = index;\n\tme._model = null;\n\tme._rects = null;\n\tme._ctx = ctx;\n\tme._el = el;\n};\n\nhelpers$1.extend(Label.prototype, {\n\t/**\n\t * @private\n\t */\n\t_modelize: function(display, lines, config, context) {\n\t\tvar me = this;\n\t\tvar index = me._index;\n\t\tvar resolve = helpers$1.options.resolve;\n\t\tvar font = utils.parseFont(resolve([config.font, {}], context, index));\n\t\tvar color = resolve([config.color, Chart.defaults.global.defaultFontColor], context, index);\n\n\t\treturn {\n\t\t\talign: resolve([config.align, 'center'], context, index),\n\t\t\tanchor: resolve([config.anchor, 'center'], context, index),\n\t\t\tarea: context.chart.chartArea,\n\t\t\tbackgroundColor: resolve([config.backgroundColor, null], context, index),\n\t\t\tborderColor: resolve([config.borderColor, null], context, index),\n\t\t\tborderRadius: resolve([config.borderRadius, 0], context, index),\n\t\t\tborderWidth: resolve([config.borderWidth, 0], context, index),\n\t\t\tclamp: resolve([config.clamp, false], context, index),\n\t\t\tclip: resolve([config.clip, false], context, index),\n\t\t\tcolor: color,\n\t\t\tdisplay: display,\n\t\t\tfont: font,\n\t\t\tlines: lines,\n\t\t\toffset: resolve([config.offset, 0], context, index),\n\t\t\topacity: resolve([config.opacity, 1], context, index),\n\t\t\torigin: getScaleOrigin(me._el),\n\t\t\tpadding: helpers$1.options.toPadding(resolve([config.padding, 0], context, index)),\n\t\t\tpositioner: getPositioner(me._el),\n\t\t\trotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n\t\t\tsize: utils.textSize(me._ctx, lines, font),\n\t\t\ttextAlign: resolve([config.textAlign, 'start'], context, index),\n\t\t\ttextShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n\t\t\ttextShadowColor: resolve([config.textShadowColor, color], context, index),\n\t\t\ttextStrokeColor: resolve([config.textStrokeColor, color], context, index),\n\t\t\ttextStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n\t\t};\n\t},\n\n\tupdate: function(context) {\n\t\tvar me = this;\n\t\tvar model = null;\n\t\tvar rects = null;\n\t\tvar index = me._index;\n\t\tvar config = me._config;\n\t\tvar value, label, lines;\n\n\t\t// We first resolve the display option (separately) to avoid computing\n\t\t// other options in case the label is hidden (i.e. display: false).\n\t\tvar display = helpers$1.options.resolve([config.display, true], context, index);\n\n\t\tif (display) {\n\t\t\tvalue = context.dataset.data[index];\n\t\t\tlabel = helpers$1.valueOrDefault(helpers$1.callback(config.formatter, [value, context]), value);\n\t\t\tlines = helpers$1.isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n\t\t\tif (lines.length) {\n\t\t\t\tmodel = me._modelize(display, lines, config, context);\n\t\t\t\trects = boundingRects(model);\n\t\t\t}\n\t\t}\n\n\t\tme._model = model;\n\t\tme._rects = rects;\n\t},\n\n\tgeometry: function() {\n\t\treturn this._rects ? this._rects.frame : {};\n\t},\n\n\trotation: function() {\n\t\treturn this._model ? this._model.rotation : 0;\n\t},\n\n\tvisible: function() {\n\t\treturn this._model && this._model.opacity;\n\t},\n\n\tmodel: function() {\n\t\treturn this._model;\n\t},\n\n\tdraw: function(chart, center) {\n\t\tvar me = this;\n\t\tvar ctx = chart.ctx;\n\t\tvar model = me._model;\n\t\tvar rects = me._rects;\n\t\tvar area;\n\n\t\tif (!this.visible()) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\n\t\tif (model.clip) {\n\t\t\tarea = model.area;\n\t\t\tctx.beginPath();\n\t\t\tctx.rect(\n\t\t\t\tarea.left,\n\t\t\t\tarea.top,\n\t\t\t\tarea.right - area.left,\n\t\t\t\tarea.bottom - area.top);\n\t\t\tctx.clip();\n\t\t}\n\n\t\tctx.globalAlpha = utils.bound(0, model.opacity, 1);\n\t\tctx.translate(rasterize(center.x), rasterize(center.y));\n\t\tctx.rotate(model.rotation);\n\n\t\tdrawFrame(ctx, rects.frame, model);\n\t\tdrawText(ctx, model.lines, rects.text, model);\n\n\t\tctx.restore();\n\t}\n});\n\nvar helpers$2 = Chart.helpers;\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n\tvar cos = Math.cos(angle);\n\tvar sin = Math.sin(angle);\n\tvar cx = center.x;\n\tvar cy = center.y;\n\n\treturn {\n\t\tx: cx + cos * (point.x - cx) - sin * (point.y - cy),\n\t\ty: cy + sin * (point.x - cx) + cos * (point.y - cy)\n\t};\n}\n\nfunction projected(points, axis) {\n\tvar min = MAX_INTEGER;\n\tvar max = MIN_INTEGER;\n\tvar origin = axis.origin;\n\tvar i, pt, vx, vy, dp;\n\n\tfor (i = 0; i < points.length; ++i) {\n\t\tpt = points[i];\n\t\tvx = pt.x - origin.x;\n\t\tvy = pt.y - origin.y;\n\t\tdp = axis.vx * vx + axis.vy * vy;\n\t\tmin = Math.min(min, dp);\n\t\tmax = Math.max(max, dp);\n\t}\n\n\treturn {\n\t\tmin: min,\n\t\tmax: max\n\t};\n}\n\nfunction toAxis(p0, p1) {\n\tvar vx = p1.x - p0.x;\n\tvar vy = p1.y - p0.y;\n\tvar ln = Math.sqrt(vx * vx + vy * vy);\n\n\treturn {\n\t\tvx: (p1.x - p0.x) / ln,\n\t\tvy: (p1.y - p0.y) / ln,\n\t\torigin: p0,\n\t\tln: ln\n\t};\n}\n\nvar HitBox = function() {\n\tthis._rotation = 0;\n\tthis._rect = {\n\t\tx: 0,\n\t\ty: 0,\n\t\tw: 0,\n\t\th: 0\n\t};\n};\n\nhelpers$2.extend(HitBox.prototype, {\n\tcenter: function() {\n\t\tvar r = this._rect;\n\t\treturn {\n\t\t\tx: r.x + r.w / 2,\n\t\t\ty: r.y + r.h / 2\n\t\t};\n\t},\n\n\tupdate: function(center, rect, rotation) {\n\t\tthis._rotation = rotation;\n\t\tthis._rect = {\n\t\t\tx: rect.x + center.x,\n\t\t\ty: rect.y + center.y,\n\t\t\tw: rect.w,\n\t\t\th: rect.h\n\t\t};\n\t},\n\n\tcontains: function(point) {\n\t\tvar me = this;\n\t\tvar margin = 1;\n\t\tvar rect = me._rect;\n\n\t\tpoint = rotated(point, me.center(), -me._rotation);\n\n\t\treturn !(point.x < rect.x - margin\n\t\t\t|| point.y < rect.y - margin\n\t\t\t|| point.x > rect.x + rect.w + margin * 2\n\t\t\t|| point.y > rect.y + rect.h + margin * 2);\n\t},\n\n\t// Separating Axis Theorem\n\t// https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n\tintersects: function(other) {\n\t\tvar r0 = this._points();\n\t\tvar r1 = other._points();\n\t\tvar axes = [\n\t\t\ttoAxis(r0[0], r0[1]),\n\t\t\ttoAxis(r0[0], r0[3])\n\t\t];\n\t\tvar i, pr0, pr1;\n\n\t\tif (this._rotation !== other._rotation) {\n\t\t\t// Only separate with r1 axis if the rotation is different,\n\t\t\t// else it's enough to separate r0 and r1 with r0 axis only!\n\t\t\taxes.push(\n\t\t\t\ttoAxis(r1[0], r1[1]),\n\t\t\t\ttoAxis(r1[0], r1[3])\n\t\t\t);\n\t\t}\n\n\t\tfor (i = 0; i < axes.length; ++i) {\n\t\t\tpr0 = projected(r0, axes[i]);\n\t\t\tpr1 = projected(r1, axes[i]);\n\n\t\t\tif (pr0.max < pr1.min || pr1.max < pr0.min) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_points: function() {\n\t\tvar me = this;\n\t\tvar rect = me._rect;\n\t\tvar angle = me._rotation;\n\t\tvar center = me.center();\n\n\t\treturn [\n\t\t\trotated({x: rect.x, y: rect.y}, center, angle),\n\t\t\trotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n\t\t\trotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n\t\t\trotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n\t\t];\n\t}\n});\n\nfunction coordinates(view, model, geometry) {\n\tvar point = model.positioner(view, model);\n\tvar vx = point.vx;\n\tvar vy = point.vy;\n\n\tif (!vx && !vy) {\n\t\t// if aligned center, we don't want to offset the center point\n\t\treturn {x: point.x, y: point.y};\n\t}\n\n\tvar w = geometry.w;\n\tvar h = geometry.h;\n\n\t// take in account the label rotation\n\tvar rotation = model.rotation;\n\tvar dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n\tvar dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n\t// scale the unit vector (vx, vy) to get at least dx or dy equal to\n\t// w or h respectively (else we would calculate the distance to the\n\t// ellipse inscribed in the bounding rect)\n\tvar vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n\tdx *= vx * vs;\n\tdy *= vy * vs;\n\n\t// finally, include the explicit offset\n\tdx += model.offset * vx;\n\tdy += model.offset * vy;\n\n\treturn {\n\t\tx: point.x + dx,\n\t\ty: point.y + dy\n\t};\n}\n\nfunction collide(labels, collider) {\n\tvar i, j, s0, s1;\n\n\t// IMPORTANT Iterate in the reverse order since items at the end of the\n\t// list have an higher weight/priority and thus should be less impacted\n\t// by the overlapping strategy.\n\n\tfor (i = labels.length - 1; i >= 0; --i) {\n\t\ts0 = labels[i].$layout;\n\n\t\tfor (j = i - 1; j >= 0 && s0._visible; --j) {\n\t\t\ts1 = labels[j].$layout;\n\n\t\t\tif (s1._visible && s0._box.intersects(s1._box)) {\n\t\t\t\tcollider(s0, s1);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn labels;\n}\n\nfunction compute$1(labels) {\n\tvar i, ilen, label, state, geometry, center;\n\n\t// Initialize labels for overlap detection\n\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\tlabel = labels[i];\n\t\tstate = label.$layout;\n\n\t\tif (state._visible) {\n\t\t\tgeometry = label.geometry();\n\t\t\tcenter = coordinates(label._el._model, label.model(), geometry);\n\t\t\tstate._box.update(center, geometry, label.rotation());\n\t\t}\n\t}\n\n\t// Auto hide overlapping labels\n\treturn collide(labels, function(s0, s1) {\n\t\tvar h0 = s0._hidable;\n\t\tvar h1 = s1._hidable;\n\n\t\tif ((h0 && h1) || h1) {\n\t\t\ts1._visible = false;\n\t\t} else if (h0) {\n\t\t\ts0._visible = false;\n\t\t}\n\t});\n}\n\nvar layout = {\n\tprepare: function(datasets) {\n\t\tvar labels = [];\n\t\tvar i, j, ilen, jlen, label;\n\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\n\t\t\tfor (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n\t\t\t\tlabel = datasets[i][j];\n\t\t\t\tlabels.push(label);\n\t\t\t\tlabel.$layout = {\n\t\t\t\t\t_box: new HitBox(),\n\t\t\t\t\t_hidable: false,\n\t\t\t\t\t_visible: true,\n\t\t\t\t\t_set: i,\n\t\t\t\t\t_idx: j\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// TODO New `z` option: labels with a higher z-index are drawn\n\t\t// of top of the ones with a lower index. Lowest z-index labels\n\t\t// are also discarded first when hiding overlapping labels.\n\t\tlabels.sort(function(a, b) {\n\t\t\tvar sa = a.$layout;\n\t\t\tvar sb = b.$layout;\n\n\t\t\treturn sa._idx === sb._idx\n\t\t\t\t? sb._set - sa._set\n\t\t\t\t: sb._idx - sa._idx;\n\t\t});\n\n\t\tthis.update(labels);\n\n\t\treturn labels;\n\t},\n\n\tupdate: function(labels) {\n\t\tvar dirty = false;\n\t\tvar i, ilen, label, model, state;\n\n\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\tmodel = label.model();\n\t\t\tstate = label.$layout;\n\t\t\tstate._hidable = model && model.display === 'auto';\n\t\t\tstate._visible = label.visible();\n\t\t\tdirty |= state._hidable;\n\t\t}\n\n\t\tif (dirty) {\n\t\t\tcompute$1(labels);\n\t\t}\n\t},\n\n\tlookup: function(labels, point) {\n\t\tvar i, state;\n\n\t\t// IMPORTANT Iterate in the reverse order since items at the end of\n\t\t// the list have an higher z-index, thus should be picked first.\n\n\t\tfor (i = labels.length - 1; i >= 0; --i) {\n\t\t\tstate = labels[i].$layout;\n\n\t\t\tif (state && state._visible && state._box.contains(point)) {\n\t\t\t\treturn labels[i];\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t},\n\n\tdraw: function(chart, labels) {\n\t\tvar i, ilen, label, state, geometry, center;\n\n\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\tstate = label.$layout;\n\n\t\t\tif (state._visible) {\n\t\t\t\tgeometry = label.geometry();\n\t\t\t\tcenter = coordinates(label._el._view, label.model(), geometry);\n\t\t\t\tstate._box.update(center, geometry, label.rotation());\n\t\t\t\tlabel.draw(chart, center);\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar helpers$3 = Chart.helpers;\n\nvar formatter = function(value) {\n\tif (helpers$3.isNullOrUndef(value)) {\n\t\treturn null;\n\t}\n\n\tvar label = value;\n\tvar keys, klen, k;\n\tif (helpers$3.isObject(value)) {\n\t\tif (!helpers$3.isNullOrUndef(value.label)) {\n\t\t\tlabel = value.label;\n\t\t} else if (!helpers$3.isNullOrUndef(value.r)) {\n\t\t\tlabel = value.r;\n\t\t} else {\n\t\t\tlabel = '';\n\t\t\tkeys = Object.keys(value);\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\n\t\t\t\tlabel += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n\talign: 'center',\n\tanchor: 'center',\n\tbackgroundColor: null,\n\tborderColor: null,\n\tborderRadius: 0,\n\tborderWidth: 0,\n\tclamp: false,\n\tclip: false,\n\tcolor: undefined,\n\tdisplay: true,\n\tfont: {\n\t\tfamily: undefined,\n\t\tlineHeight: 1.2,\n\t\tsize: undefined,\n\t\tstyle: undefined,\n\t\tweight: null\n\t},\n\tformatter: formatter,\n\tlabels: undefined,\n\tlisteners: {},\n\toffset: 4,\n\topacity: 1,\n\tpadding: {\n\t\ttop: 4,\n\t\tright: 4,\n\t\tbottom: 4,\n\t\tleft: 4\n\t},\n\trotation: 0,\n\ttextAlign: 'start',\n\ttextStrokeColor: undefined,\n\ttextStrokeWidth: 0,\n\ttextShadowBlur: 0,\n\ttextShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar helpers$4 = Chart.helpers;\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n\tvar override = dataset.datalabels;\n\tvar listeners = {};\n\tvar configs = [];\n\tvar labels, keys;\n\n\tif (override === false) {\n\t\treturn null;\n\t}\n\tif (override === true) {\n\t\toverride = {};\n\t}\n\n\toptions = helpers$4.merge({}, [options, override]);\n\tlabels = options.labels || {};\n\tkeys = Object.keys(labels);\n\tdelete options.labels;\n\n\tif (keys.length) {\n\t\tkeys.forEach(function(key) {\n\t\t\tif (labels[key]) {\n\t\t\t\tconfigs.push(helpers$4.merge({}, [\n\t\t\t\t\toptions,\n\t\t\t\t\tlabels[key],\n\t\t\t\t\t{_key: key}\n\t\t\t\t]));\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// Default label if no \"named\" label defined.\n\t\tconfigs.push(options);\n\t}\n\n\t// listeners: {: {: }}\n\tlisteners = configs.reduce(function(target, config) {\n\t\thelpers$4.each(config.listeners || {}, function(fn, event) {\n\t\t\ttarget[event] = target[event] || {};\n\t\t\ttarget[event][config._key || DEFAULT_KEY] = fn;\n\t\t});\n\n\t\tdelete config.listeners;\n\t\treturn target;\n\t}, {});\n\n\treturn {\n\t\tlabels: configs,\n\t\tlisteners: listeners\n\t};\n}\n\nfunction dispatchEvent(chart, listeners, label) {\n\tif (!listeners) {\n\t\treturn;\n\t}\n\n\tvar context = label.$context;\n\tvar groups = label.$groups;\n\tvar callback;\n\n\tif (!listeners[groups._set]) {\n\t\treturn;\n\t}\n\n\tcallback = listeners[groups._set][groups._key];\n\tif (!callback) {\n\t\treturn;\n\t}\n\n\tif (helpers$4.callback(callback, [context]) === true) {\n\t\t// Users are allowed to tweak the given context by injecting values that can be\n\t\t// used in scriptable options to display labels differently based on the current\n\t\t// event (e.g. highlight an hovered label). That's why we update the label with\n\t\t// the output context and schedule a new chart render by setting it dirty.\n\t\tchart[EXPANDO_KEY]._dirty = true;\n\t\tlabel.update(context);\n\t}\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label) {\n\tvar enter, leave;\n\n\tif (!previous && !label) {\n\t\treturn;\n\t}\n\n\tif (!previous) {\n\t\tenter = true;\n\t} else if (!label) {\n\t\tleave = true;\n\t} else if (previous !== label) {\n\t\tleave = enter = true;\n\t}\n\n\tif (leave) {\n\t\tdispatchEvent(chart, listeners.leave, previous);\n\t}\n\tif (enter) {\n\t\tdispatchEvent(chart, listeners.enter, label);\n\t}\n}\n\nfunction handleMoveEvents(chart, event) {\n\tvar expando = chart[EXPANDO_KEY];\n\tvar listeners = expando._listeners;\n\tvar previous, label;\n\n\tif (!listeners.enter && !listeners.leave) {\n\t\treturn;\n\t}\n\n\tif (event.type === 'mousemove') {\n\t\tlabel = layout.lookup(expando._labels, event);\n\t} else if (event.type !== 'mouseout') {\n\t\treturn;\n\t}\n\n\tprevious = expando._hovered;\n\texpando._hovered = label;\n\tdispatchMoveEvents(chart, listeners, previous, label);\n}\n\nfunction handleClickEvents(chart, event) {\n\tvar expando = chart[EXPANDO_KEY];\n\tvar handlers = expando._listeners.click;\n\tvar label = handlers && layout.lookup(expando._labels, event);\n\tif (label) {\n\t\tdispatchEvent(chart, handlers, label);\n\t}\n}\n\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/108\nfunction invalidate(chart) {\n\tif (chart.animating) {\n\t\treturn;\n\t}\n\n\t// `chart.animating` can be `false` even if there is animation in progress,\n\t// so let's iterate all animations to find if there is one for the `chart`.\n\tvar animations = Chart.animationService.animations;\n\tfor (var i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\tif (animations[i].chart === chart) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// No render scheduled: trigger a \"lazy\" render that can be canceled in case\n\t// of hover interactions. The 1ms duration is a workaround to make sure an\n\t// animation is created so the controller can stop it before any transition.\n\tchart.render({duration: 1, lazy: true});\n}\n\nChart.defaults.global.plugins.datalabels = defaults;\n\nvar plugin = {\n\tid: 'datalabels',\n\n\tbeforeInit: function(chart) {\n\t\tchart[EXPANDO_KEY] = {\n\t\t\t_actives: []\n\t\t};\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\texpando._listened = false;\n\t\texpando._listeners = {}; // {: {: {: }}}\n\t\texpando._datasets = []; // per dataset labels: [Label[]]\n\t\texpando._labels = []; // layouted labels: Label[]\n\t},\n\n\tafterDatasetUpdate: function(chart, args, options) {\n\t\tvar datasetIndex = args.index;\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\tvar labels = expando._datasets[datasetIndex] = [];\n\t\tvar visible = chart.isDatasetVisible(datasetIndex);\n\t\tvar dataset = chart.data.datasets[datasetIndex];\n\t\tvar config = configure(dataset, options);\n\t\tvar elements = args.meta.data || [];\n\t\tvar ctx = chart.ctx;\n\t\tvar i, j, ilen, jlen, cfg, key, el, label;\n\n\t\tctx.save();\n\n\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\n\t\t\tel = elements[i];\n\t\t\tel[EXPANDO_KEY] = [];\n\n\t\t\tif (visible && el && !el.hidden && !el._model.skip) {\n\t\t\t\tfor (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n\t\t\t\t\tcfg = config.labels[j];\n\t\t\t\t\tkey = cfg._key;\n\n\t\t\t\t\tlabel = new Label(cfg, ctx, el, i);\n\t\t\t\t\tlabel.$groups = {\n\t\t\t\t\t\t_set: datasetIndex,\n\t\t\t\t\t\t_key: key || DEFAULT_KEY\n\t\t\t\t\t};\n\t\t\t\t\tlabel.$context = {\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t\tchart: chart,\n\t\t\t\t\t\tdataIndex: i,\n\t\t\t\t\t\tdataset: dataset,\n\t\t\t\t\t\tdatasetIndex: datasetIndex\n\t\t\t\t\t};\n\n\t\t\t\t\tlabel.update(label.$context);\n\t\t\t\t\tel[EXPANDO_KEY].push(label);\n\t\t\t\t\tlabels.push(label);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tctx.restore();\n\n\t\t// Store listeners at the chart level and per event type to optimize\n\t\t// cases where no listeners are registered for a specific event.\n\t\thelpers$4.merge(expando._listeners, config.listeners, {\n\t\t\tmerger: function(event, target, source) {\n\t\t\t\ttarget[event] = target[event] || {};\n\t\t\t\ttarget[event][args.index] = source[event];\n\t\t\t\texpando._listened = true;\n\t\t\t}\n\t\t});\n\t},\n\n\tafterUpdate: function(chart, options) {\n\t\tchart[EXPANDO_KEY]._labels = layout.prepare(\n\t\t\tchart[EXPANDO_KEY]._datasets,\n\t\t\toptions);\n\t},\n\n\t// Draw labels on top of all dataset elements\n\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n\t// https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n\tafterDatasetsDraw: function(chart) {\n\t\tlayout.draw(chart, chart[EXPANDO_KEY]._labels);\n\t},\n\n\tbeforeEvent: function(chart, event) {\n\t\t// If there is no listener registered for this chart, `listened` will be false,\n\t\t// meaning we can immediately ignore the incoming event and avoid useless extra\n\t\t// computation for users who don't implement label interactions.\n\t\tif (chart[EXPANDO_KEY]._listened) {\n\t\t\tswitch (event.type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseout':\n\t\t\t\thandleMoveEvents(chart, event);\n\t\t\t\tbreak;\n\t\t\tcase 'click':\n\t\t\t\thandleClickEvents(chart, event);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t},\n\n\tafterEvent: function(chart) {\n\t\tvar expando = chart[EXPANDO_KEY];\n\t\tvar previous = expando._actives;\n\t\tvar actives = expando._actives = chart.lastActive || []; // public API?!\n\t\tvar updates = utils.arrayDiff(previous, actives);\n\t\tvar i, ilen, j, jlen, update, label, labels;\n\n\t\tfor (i = 0, ilen = updates.length; i < ilen; ++i) {\n\t\t\tupdate = updates[i];\n\t\t\tif (update[1]) {\n\t\t\t\tlabels = update[0][EXPANDO_KEY] || [];\n\t\t\t\tfor (j = 0, jlen = labels.length; j < jlen; ++j) {\n\t\t\t\t\tlabel = labels[j];\n\t\t\t\t\tlabel.$context.active = (update[1] === 1);\n\t\t\t\t\tlabel.update(label.$context);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (expando._dirty || updates.length) {\n\t\t\tlayout.update(expando._labels);\n\t\t\tinvalidate(chart);\n\t\t}\n\n\t\tdelete expando._dirty;\n\t}\n};\n\n// TODO Remove at version 1, we shouldn't automatically register plugins.\n// https://github.com/chartjs/chartjs-plugin-datalabels/issues/42\nChart.plugins.register(plugin);\n\nreturn plugin;\n\n}));\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"farm-disabled\"},[_c('div',{staticClass:\"df-flex-l df-flex-col justify-center content__wrapper\"},[_c('div',{staticClass:\"df-flex-xl align-center farm__content\"},[_c('div',{staticClass:\"df-flex-sm df-flex-col justify-center\"},[_c('h2',{staticClass:\"content__subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled'))+\" \")]),_c('h1',{staticClass:\"content__title\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled_message_banner_text1'))+\" \")]),_c('p',{staticClass:\"content__description\"},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.farm_disabled_message_banner_text2'))+\" \")])]),_c('img',{staticClass:\"content__image\",attrs:{\"alt\":\"disabled-farm\",\"src\":\"/icons/ic-farm-disabled.svg\"}})]),_c('div',{staticClass:\"farm__actions\"},[_c('df-button',{attrs:{\"to\":\"/farms\"}},[_vm._v(\" \"+_vm._s(_vm.$t('FarmDisabled.manager_farms'))+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FarmDisabled.vue?vue&type=template&id=37516420&scoped=true\"\nimport script from \"./FarmDisabled.vue?vue&type=script&lang=js\"\nexport * from \"./FarmDisabled.vue?vue&type=script&lang=js\"\nimport style0 from \"./FarmDisabled.vue?vue&type=style&index=0&id=37516420&prod&lang=scss&scoped=true\"\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 \"37516420\",\n null\n \n)\n\nexport default component.exports","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfo.vue?vue&type=style&index=0&id=71d97519&prod&lang=scss&scoped=true\"","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgramsList.vue?vue&type=style&index=0&id=29f51386&prod&scoped=true&lang=css\"","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { getPropertyFromItem } from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return text\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return [start, this.genHighlight(middle), end]\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string) {\n return this.$createElement('span', { staticClass: 'v-list-item__mask' }, text)\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: text, middle: '', end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n return this.$createElement(VListItemContent, [\n this.$createElement(VListItemTitle, [\n this.genFilteredText(this.getText(item)),\n ]),\n ])\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n on: {\n mousedown: (e: Event) => {\n e.preventDefault()\n },\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n ticks: {\n type: [Boolean, String] as PropType,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n immediate: true,\n },\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n getSlot(this),\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","var render, staticRenderFns\nimport script from \"./CropDiseasesMixin.vue?vue&type=script&lang=js\"\nexport * from \"./CropDiseasesMixin.vue?vue&type=script&lang=js\"\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","\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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropDiseasesMixin.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CropDiseasesMixin.vue?vue&type=script&lang=js\"","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=style&index=0&id=22779338&prod&scoped=true&lang=css\"","// Styles\nimport './VItem.sass'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n disabled: Boolean,\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: {\n [this.activeClass]: this.isActive,\n 'v-item--disabled': this.disabled,\n },\n })\n\n if (this.disabled) {\n element.data.attrs = { ...element.data.attrs, tabindex: -1 }\n }\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","// Mixins\nimport Colorable from '../colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { kebabCase } from '../../util/helpers'\n\n// Types\nimport { VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable\n).extend({\n methods: {\n genPickerButton (\n prop: string,\n value: any,\n content: VNodeChildren,\n readonly = false,\n staticClass = ''\n ) {\n const active = (this as any)[prop] === value\n const click = (event: Event) => {\n event.stopPropagation()\n this.$emit(`update:${kebabCase(prop)}`, value)\n }\n\n return this.$createElement('div', {\n staticClass: `v-picker__title__btn ${staticClass}`.trim(),\n class: {\n 'v-picker__title__btn--active': active,\n 'v-picker__title__btn--readonly': readonly,\n },\n on: (active || readonly) ? undefined : { click },\n }, Array.isArray(content) ? content : [content])\n },\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiseaseHome.vue?vue&type=style&index=0&id=b244c248&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.efficacies.length && _vm.hasCropDiseases)?_c('chart-efficacy',_vm._b({attrs:{\"styles\":_vm.styles,\"chartdata\":_vm.efficacies,\"hide-labels\":_vm.hideLabels,\"focus\":_vm.focusStructure}},'chart-efficacy',_vm.$attrs,false)):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=081ab92c\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoAvailableVariety.vue?vue&type=style&index=0&id=5725d545&prod&lang=scss&scoped=true\"","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, getSlot(this))\n },\n})\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderNoFarms.vue?vue&type=style&index=0&id=6aa35028&prod&lang=scss&scoped=true\"","// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (h): VNode {\n const contentData = {\n staticClass: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n staticClass: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [{\n name: 'show',\n value: this.isActive,\n }]\n }\n\n const wrapper = h('div', wrapperData, getSlot(this))\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalSprayingsInfo.vue?vue&type=style&index=0&id=51358fec&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FarmDisabled.vue?vue&type=style&index=0&id=37516420&prod&lang=scss&scoped=true\"","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-select',{staticClass:\"d-season-crop-selector\",staticStyle:{\"background\":\"white\"},attrs:{\"items\":_vm.seasonCropsList,\"item-value\":\"id\",\"item-text\":(item) => item.season_name,\"single-line\":\"\",\"label\":_vm.$t('safra.safra'),\"target\":\"_blank\",\"color\":\"#39af49\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"return-object\":\"\"},model:{value:(_vm.selectedCurrentSeason),callback:function ($$v) {_vm.selectedCurrentSeason=$$v},expression:\"selectedCurrentSeason\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"; 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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectorSeasonsCrops.vue?vue&type=template&id=22779338&scoped=true\"\nimport script from \"./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"\nexport * from \"./SelectorSeasonsCrops.vue?vue&type=script&lang=js\"\nimport style0 from \"./SelectorSeasonsCrops.vue?vue&type=style&index=0&id=22779338&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22779338\",\n null\n \n)\n\nexport default component.exports","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VarietyInfoModal.vue?vue&type=style&index=0&id=e9f5a2f2&prod&scoped=true&lang=css\""],"sourceRoot":""}